@@ -138,18 +138,28 @@ static void usage()
138138	 " Output selection:\n " 
139139	 "   -e, --emulator=EMULATOR    specify emulator to use\n " 
140140	 "   -O, --output=OUTPUT        specify output mechanism\n\n " 
141+ #ifdef  DRIVER_OSS
141142	 " OSS driver (oss) specific:\n " 
142143	 "   -d, --device=FILE          set sound device file to FILE\n " 
143144	 "   -b, --buffer=SIZE          set output buffer size to SIZE\n\n " 
145+ #endif 
146+ #ifdef  DRIVER_DISK
144147	 " Disk writer (disk) specific:\n " 
145148	 "   -d, --device=FILE          output to FILE ('-' is stdout)\n\n " 
149+ #endif 
150+ #ifdef  DRIVER_ESOUND
146151	 " EsounD driver (esound) specific:\n " 
147152	 "   -d, --device=URL           URL to EsounD server host (hostname:port)\n\n " 
153+ #endif 
154+ #ifdef  DRIVER_SDL
148155	 " SDL driver (sdl) specific:\n " 
149156	 "   -b, --buffer=SIZE          set output buffer size to SIZE\n\n " 
157+ #endif 
158+ #ifdef  DRIVER_ALSA
150159	 " ALSA driver (alsa) specific:\n " 
151160	 "   -d, --device=DEVICE        set sound device to DEVICE\n " 
152161	 "   -b, --buffer=SIZE          set output buffer size to SIZE\n\n " 
162+ #endif 
153163	 " Playback quality:\n " 
154164	 "   -8, --8bit                 8-bit sample quality\n " 
155165	 "       --16bit                16-bit sample quality\n " 
@@ -263,18 +273,42 @@ static int decode_switches(int argc, char **argv)
263273	  message (MSG_WARN, " could not open database -- %s"  , optarg);
264274	break ;
265275      case  ' O'  :
276+ #ifdef  DRIVER_OSS
266277	if (!strcmp (optarg," oss"  )) cfg.output  = oss;
267- 	else  if (!strcmp (optarg," null"  )) cfg.output  = null;
268- 	else  if (!strcmp (optarg," disk"  )) {
278+ 	else 
279+ #endif 
280+ #ifdef  DRIVER_NULL
281+ 	if (!strcmp (optarg," null"  )) cfg.output  = null;
282+ 	else 
283+ #endif 
284+ #ifdef  DRIVER_DISK
285+ 	if (!strcmp (optarg," disk"  )) {
269286	  cfg.output  = disk;
270287	  cfg.endless  = false ; //  endless output is almost never desired here
271288	}
272- 	else  if (!strcmp (optarg," esound"  )) cfg.output  = esound;
273- 	else  if (!strcmp (optarg," qsa"  )) cfg.output  = qsa;
274- 	else  if (!strcmp (optarg," alsa"  )) cfg.output  = alsa;
275- 	else  if (!strcmp (optarg," sdl"  )) cfg.output  = sdl;
276- 	else  if (!strcmp (optarg," ao"  )) cfg.output  = ao;
277- 	else  {
289+ 	else 
290+ #endif 
291+ #ifdef  DRIVER_ESOUND
292+ 	if (!strcmp (optarg," esound"  )) cfg.output  = esound;
293+ 	else 
294+ #endif 
295+ #ifdef  DRIVER_QSA
296+ 	if (!strcmp (optarg," qsa"  )) cfg.output  = qsa;
297+ 	else 
298+ #endif 
299+ #ifdef  DRIVER_ALSA
300+ 	if (!strcmp (optarg," alsa"  )) cfg.output  = alsa;
301+ 	else 
302+ #endif 
303+ #ifdef  DRIVER_SDL
304+ 	if (!strcmp (optarg," sdl"  )) cfg.output  = sdl;
305+ 	else 
306+ #endif 
307+ #ifdef  DRIVER_AO
308+ 	if (!strcmp (optarg," ao"  )) cfg.output  = ao;
309+ 	else 
310+ #endif 
311+ 	{
278312	  message (MSG_ERROR, " unknown output method -- %s"  , optarg);
279313	  exit (EXIT_FAILURE);
280314	}
@@ -545,7 +579,6 @@ int main(int argc, char **argv)
545579    player = new  AOPlayer (opl, cfg.device , cfg.bits , cfg.channels , cfg.freq , cfg.buf_size );
546580    break ;
547581#endif 
548- #
549582#ifdef  DRIVER_SDL
550583  case  sdl:
551584    player = new  SDLPlayer (opl, cfg.bits , cfg.channels , cfg.freq , cfg.buf_size );
0 commit comments