Changeset 4812:01f1c4b328b6 in roaraudio for roard/driver.c
- Timestamp:
- 03/27/11 13:50:45 (13 years ago)
- Branch:
- default
- Phase:
- public
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
roard/driver.c
r4811 r4812 27 27 28 28 struct roar_driver g_driver[] = { 29 { "null", "null audio driver", "/dev/null", DRV_FLAG_NONE, ROAR_SUBSYS_WAVEFORM,29 { "null", "null audio driver", NULL, STREAM_DIR_OUT, DRV_FLAG_NONE, ROAR_SUBSYS_WAVEFORM, 30 30 NULL, NULL, NULL}, 31 31 #ifdef ROAR_HAVE_ESD 32 { "esd", "EsounD audio driver", "localhost, remote.host.dom", DRV_FLAG_NONE, ROAR_SUBSYS_WAVEFORM,32 { "esd", "EsounD audio driver", "localhost, remote.host.dom", STREAM_DIR_OUT, DRV_FLAG_NONE, ROAR_SUBSYS_WAVEFORM, 33 33 NULL, NULL, driver_esd_open_vio}, 34 34 #endif 35 { "roar", "RoarAudio driver", "localhost, remote.host.dom", DRV_FLAG_NONE,35 { "roar", "RoarAudio driver", "localhost, remote.host.dom", STREAM_DIR_OUT, DRV_FLAG_NONE, 36 36 ROAR_SUBSYS_WAVEFORM|ROAR_SUBSYS_MIDI|ROAR_SUBSYS_LIGHT|ROAR_SUBSYS_COMPLEX, 37 37 NULL, NULL, driver_roar_open_vio}, 38 38 #ifdef ROAR_HAVE_IO_POSIX 39 { "raw", "RAW driver", "/some/file", DRV_FLAG_FHSEC,39 { "raw", "RAW driver", "/some/file", STREAM_DIR_OUT, DRV_FLAG_FHSEC, 40 40 ROAR_SUBSYS_WAVEFORM|ROAR_SUBSYS_MIDI|ROAR_SUBSYS_LIGHT|ROAR_SUBSYS_RAW|ROAR_SUBSYS_COMPLEX, 41 41 NULL, NULL, driver_raw_open_vio}, 42 42 #endif 43 43 #ifndef ROAR_WITHOUT_VIO_DSTR 44 { "dstr", "VIO DSTR driver", "/some/file", DRV_FLAG_FHSEC,44 { "dstr", "VIO DSTR driver", "/some/file", STREAM_DIR_OUT, DRV_FLAG_FHSEC, 45 45 ROAR_SUBSYS_WAVEFORM|ROAR_SUBSYS_MIDI|ROAR_SUBSYS_LIGHT|ROAR_SUBSYS_RAW|ROAR_SUBSYS_COMPLEX, 46 46 NULL, NULL, driver_dstr_open_vio}, … … 50 50 #define ROAR_DEFAULT_OSS_DEV "no default device" 51 51 #endif 52 { "oss", "Open Sound System", ROAR_DEFAULT_OSS_DEV, DRV_FLAG_FHSEC, ROAR_SUBSYS_WAVEFORM,52 { "oss", "Open Sound System", ROAR_DEFAULT_OSS_DEV, STREAM_DIR_OUT, DRV_FLAG_FHSEC, ROAR_SUBSYS_WAVEFORM, 53 53 NULL, NULL, driver_oss_open}, 54 54 #endif 55 55 #ifdef ROAR_HAVE_LIBAO 56 { "ao", "libao audio driver", "DRIVER", DRV_FLAG_NONE, ROAR_SUBSYS_WAVEFORM,56 { "ao", "libao audio driver", "DRIVER", STREAM_DIR_OUT, DRV_FLAG_NONE, ROAR_SUBSYS_WAVEFORM, 57 57 NULL, NULL, driver_ao_open_vio}, 58 58 #endif 59 59 #ifdef ROAR_HAVE_LIBSHOUT 60 {"shout", "libshout streaming", "http://user:pw@host:port/mount.ogg", DRV_FLAG_NONE, ROAR_SUBSYS_WAVEFORM,60 {"shout", "libshout streaming", "http://user:pw@host:port/mount.ogg", STREAM_DIR_OUT, DRV_FLAG_NONE, ROAR_SUBSYS_WAVEFORM, 61 61 NULL, NULL, driver_shout_open_vio}, 62 62 #endif 63 63 #ifdef ROAR_HAVE_LIBSNDIO 64 {"sndio", "OpenBSD sndio", "/dev/audio, /tmp/aucat-<uid>/default", DRV_FLAG_NONE, ROAR_SUBSYS_WAVEFORM|ROAR_SUBSYS_MIDI,64 {"sndio", "OpenBSD sndio", "/dev/audio, /tmp/aucat-<uid>/default", STREAM_DIR_OUT, DRV_FLAG_NONE, ROAR_SUBSYS_WAVEFORM|ROAR_SUBSYS_MIDI, 65 65 NULL, NULL, driver_sndio_open}, 66 66 #endif 67 67 #ifdef ROAR_HAVE_LIBRSOUND 68 {"rsound", "RSound", "servername", DRV_FLAG_NONE, ROAR_SUBSYS_WAVEFORM,68 {"rsound", "RSound", "servername", STREAM_DIR_OUT, DRV_FLAG_NONE, ROAR_SUBSYS_WAVEFORM, 69 69 NULL, NULL, driver_rsound_open}, 70 70 #endif 71 71 #ifdef _DRIVER_PORTAUDIO_CAN_OPERATE 72 {"portaudio", "PortAudio", "(none)", DRV_FLAG_NONE, ROAR_SUBSYS_WAVEFORM,72 {"portaudio", "PortAudio", NULL, STREAM_DIR_OUT, DRV_FLAG_NONE, ROAR_SUBSYS_WAVEFORM, 73 73 NULL, NULL, driver_portaudio_open}, 74 74 #endif 75 75 #ifdef ROAR_HAVE_LIBASOUND 76 {"alsa", "ALSA", "???", DRV_FLAG_NONE, ROAR_SUBSYS_WAVEFORM, NULL, NULL, driver_alsa_open_vio},76 {"alsa", "ALSA", "???", STREAM_DIR_OUT, DRV_FLAG_NONE, ROAR_SUBSYS_WAVEFORM, NULL, NULL, driver_alsa_open_vio}, 77 77 #endif 78 78 #ifdef ROAR_HAVE_LIBWINMM 79 {"wmm", "Win32 MM", "???", DRV_FLAG_NONE, ROAR_SUBSYS_WAVEFORM, NULL, NULL, driver_wmm_open_vio},79 {"wmm", "Win32 MM", "???", STREAM_DIR_OUT, DRV_FLAG_NONE, ROAR_SUBSYS_WAVEFORM, NULL, NULL, driver_wmm_open_vio}, 80 80 #endif 81 81 #ifndef ROAR_WITHOUT_DCOMP_DMX 82 {"dmx", "DMX512 driver", "/dev/dmx", DRV_FLAG_FHSEC, ROAR_SUBSYS_LIGHT,82 {"dmx", "DMX512 driver", "/dev/dmx", STREAM_DIR_OUT, DRV_FLAG_FHSEC, ROAR_SUBSYS_LIGHT, 83 83 NULL, NULL, driver_dmx_open_vio}, 84 84 #endif 85 85 #if !defined(ROAR_WITHOUT_DCOMP_PWMLED) && !defined(ROAR_WITHOUT_VIO_DSTR) 86 {"pwmled", "PWM LED driver", "/dev/ttyS0", DRV_FLAG_FHSEC, ROAR_SUBSYS_LIGHT,86 {"pwmled", "PWM LED driver", "/dev/ttyS0", STREAM_DIR_OUT, DRV_FLAG_FHSEC, ROAR_SUBSYS_LIGHT, 87 87 NULL, NULL, driver_pwmled_open_vio}, 88 88 #endif 89 89 #ifdef ROAR_HAVE_DRIVER_SYSCLOCK 90 {"sysclock", "System Clock Clock Source", "(none)", DRV_FLAG_NONE, ROAR_SUBSYS_WAVEFORM,90 {"sysclock", "System Clock Clock Source", NULL, STREAM_DIR_OUT, DRV_FLAG_NONE, ROAR_SUBSYS_WAVEFORM, 91 91 NULL, NULL, driver_sysclock_open_vio}, 92 92 #endif 93 93 #ifndef ROAR_WITHOUT_DCOMP_CDRIVER 94 {"cdriver", "RoarAudio Client driver", "driver#device", DRV_FLAG_NONE, ROAR_SUBSYS_WAVEFORM,94 {"cdriver", "RoarAudio Client driver", "driver#device", STREAM_DIR_OUT, DRV_FLAG_NONE, ROAR_SUBSYS_WAVEFORM, 95 95 NULL, NULL, driver_cdriver_open}, 96 96 #endif 97 97 #ifdef ROAR_HAVE_LIBPULSE 98 {"pulsesimple", "PulseAudio Simple", "server", DRV_FLAG_NONE, ROAR_SUBSYS_WAVEFORM,98 {"pulsesimple", "PulseAudio Simple", "server", STREAM_DIR_OUT, DRV_FLAG_NONE, ROAR_SUBSYS_WAVEFORM, 99 99 NULL, NULL, driver_pulsesimple_open}, 100 100 #endif … … 102 102 #if 0 103 103 // this is currently just a driver stub. 104 {"jack", "JACK", "???", DRV_FLAG_NONE, ROAR_SUBSYS_WAVEFORM,104 {"jack", "JACK", "???", STREAM_DIR_OUT, DRV_FLAG_NONE, ROAR_SUBSYS_WAVEFORM, 105 105 NULL, NULL, driver_jack_open_vio}, 106 106 #endif 107 107 #endif 108 108 #ifdef ROAR_HAVE_LIBARTSC 109 {"artsc", "aRts plain C API", "(none)", DRV_FLAG_NONE, ROAR_SUBSYS_WAVEFORM,109 {"artsc", "aRts plain C API", NULL, STREAM_DIR_OUT, DRV_FLAG_NONE, ROAR_SUBSYS_WAVEFORM, 110 110 NULL, NULL, driver_artsc_open_vio}, 111 111 #endif 112 {NULL, NULL, NULL, DRV_FLAG_NONE, 0, NULL, NULL, NULL} // end of list112 {NULL, NULL, NULL, STREAM_DIR_NONE, DRV_FLAG_NONE, 0, NULL, NULL, NULL} // end of list 113 113 }; 114 114 … … 116 116 int i; 117 117 char subsys[7] = " "; 118 119 printf(" Driver Flag Subsys - Description (devices)\n"); 120 printf("---------------------------------------------------------\n"); 118 char mode[5] = " "; 119 120 printf(" Driver Mode Flag Subsys - Description (devices)\n"); 121 printf("---------------------------------------------------------------\n"); 121 122 122 123 for (i = 0; g_driver[i].name != NULL; i++) { 123 124 strncpy(subsys, " ", 6); 125 strncpy(mode, " ", 4); 126 127 if ( g_driver[i].mode & STREAM_DIR_IN ) 128 mode[0] = 'r'; 129 if ( g_driver[i].mode & STREAM_DIR_OUT ) 130 mode[1] = 'w'; 124 131 125 132 if ( g_driver[i].subsystems & ROAR_SUBSYS_WAVEFORM ) … … 136 143 subsys[5] = 'X'; 137 144 138 printf(" %-12s %c%c%c %6s - %s (devices: %s)\n", g_driver[i].name, 139 g_driver[i].flags & DRV_FLAG_FHSEC ? 's' : ' ', 140 g_driver[i].open != NULL || (g_driver[i].open == NULL && g_driver[i].vio_init == NULL) ? 'S' : ' ', 141 g_driver[i].vio_init != NULL || (g_driver[i].open == NULL && g_driver[i].vio_init == NULL) ? 'V' : ' ', 142 subsys, 143 g_driver[i].desc, g_driver[i].devices); 145 if ( g_driver[i].devices != NULL ) { 146 printf(" %-12s %4s %c%c%c%c %6s - %s (devices: %s)\n", g_driver[i].name, 147 mode, 148 ' ', /* unused Flag */ 149 g_driver[i].flags & DRV_FLAG_FHSEC ? 's' : ' ', 150 g_driver[i].open != NULL || (g_driver[i].open == NULL && g_driver[i].vio_init == NULL) ? 'S' : ' ', 151 g_driver[i].vio_init != NULL || (g_driver[i].open == NULL && g_driver[i].vio_init == NULL) ? 'V' : ' ', 152 subsys, 153 g_driver[i].desc, g_driver[i].devices); 154 } else { 155 printf(" %-12s %4s %c%c%c%c %6s - %s\n", g_driver[i].name, 156 mode, 157 ' ', /* unused Flag */ 158 g_driver[i].flags & DRV_FLAG_FHSEC ? 's' : ' ', 159 g_driver[i].open != NULL || (g_driver[i].open == NULL && g_driver[i].vio_init == NULL) ? 'S' : ' ', 160 g_driver[i].vio_init != NULL || (g_driver[i].open == NULL && g_driver[i].vio_init == NULL) ? 'V' : ' ', 161 subsys, 162 g_driver[i].desc); 163 } 144 164 } 145 165 }
Note: See TracChangeset
for help on using the changeset viewer.