cscg22-gearboy

CSCG 2022 Challenge 'Gearboy'
git clone https://git.sinitax.com/sinitax/cscg22-gearboy
Log | Files | Refs | sfeed.txt

testaudioinfo.c (1841B)


      1/*
      2  Copyright (C) 1997-2014 Sam Lantinga <slouken@libsdl.org>
      3
      4  This software is provided 'as-is', without any express or implied
      5  warranty.  In no event will the authors be held liable for any damages
      6  arising from the use of this software.
      7
      8  Permission is granted to anyone to use this software for any purpose,
      9  including commercial applications, and to alter it and redistribute it
     10  freely.
     11*/
     12#include <stdio.h>
     13#include "SDL.h"
     14
     15static void
     16print_devices(int iscapture)
     17{
     18    const char *typestr = ((iscapture) ? "capture" : "output");
     19    int n = SDL_GetNumAudioDevices(iscapture);
     20
     21    SDL_Log("%s devices:\n", typestr);
     22
     23    if (n == -1)
     24        SDL_Log("  Driver can't detect specific %s devices.\n\n", typestr);
     25    else if (n == 0)
     26        SDL_Log("  No %s devices found.\n\n", typestr);
     27    else {
     28        int i;
     29        for (i = 0; i < n; i++) {
     30            SDL_Log("  %s\n", SDL_GetAudioDeviceName(i, iscapture));
     31        }
     32        SDL_Log("\n");
     33    }
     34}
     35
     36int
     37main(int argc, char **argv)
     38{
     39    int n;
     40
     41    /* Enable standard application logging */
     42    SDL_LogSetPriority(SDL_LOG_CATEGORY_APPLICATION, SDL_LOG_PRIORITY_INFO);
     43
     44    /* Load the SDL library */
     45    if (SDL_Init(SDL_INIT_AUDIO) < 0) {
     46        SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Couldn't initialize SDL: %s\n", SDL_GetError());
     47        return (1);
     48    }
     49
     50    /* Print available audio drivers */
     51    n = SDL_GetNumAudioDrivers();
     52    if (n == 0) {
     53        SDL_Log("No built-in audio drivers\n\n");
     54    } else {
     55        int i;
     56        SDL_Log("Built-in audio drivers:\n");
     57        for (i = 0; i < n; ++i) {
     58            SDL_Log("  %s\n", SDL_GetAudioDriver(i));
     59        }
     60        SDL_Log("\n");
     61    }
     62
     63    SDL_Log("Using audio driver: %s\n\n", SDL_GetCurrentAudioDriver());
     64
     65    print_devices(0);
     66    print_devices(1);
     67
     68    SDL_Quit();
     69    return 0;
     70}