view test/testaudioinfo.c @ 3803:3decf9cdeb63 SDL-ryan-multiple-audio-device

Removed ESD cruft from the core...now the driver will use esound if there's an ESPEAKER variable set for a remote host, or the daemon is already running on the local host, but it won't spawn it. Hopefully this works out okay.
author Ryan C. Gordon <icculus@icculus.org>
date Wed, 04 Oct 2006 22:10:09 +0000
parents 589bc3d060cd
children 7dc7327cd626
line wrap: on
line source

#include "SDL.h"

static void print_devices(int iscapture)
{
    const char *typestr = ((iscapture) ? "capture" : "output");
    int n = SDL_GetNumAudioDevices(iscapture);

    printf("%s devices:\n", typestr);

    if (n == -1)
        printf("  Driver can't detect specific devices.\n\n", typestr);
    else if (n == 0)
        printf("  No %s devices found.\n\n", typestr);
    else
    {
        int i;
        for (i = 0; i < n; i++) {
            printf("  %s\n", SDL_GetAudioDeviceName(i, iscapture));
        }
        printf("\n");
    }
}

int main(int argc, char **argv)
{
    /* Print available audio drivers */
    int n = SDL_GetNumAudioDrivers();
    if (n == 0) {
        printf("No built-in audio drivers\n\n");
    } else {
        printf("Built-in audio drivers:\n");
        int i;
        for (i = 0; i < n; ++i) {
            printf("  %s\n", SDL_GetAudioDriver(i));
        }
        printf("\n");
    }

    /* Load the SDL library */
    if (SDL_Init(SDL_INIT_AUDIO) < 0) {
        fprintf(stderr, "Couldn't initialize SDL: %s\n", SDL_GetError());
        return (1);
    }

    printf("Using audio driver: %s\n\n", SDL_GetCurrentAudioDriver());

    print_devices(0);
    print_devices(1);

    SDL_Quit();
    return 0;
}