#ifdef WIN32
audioControl( DirectX );
optionWidgets.append( DirectXControl );
+ CONFIG_GENERIC2( "directx-audio-device", IntegerList,
+ DirectXLabel, DirectXDevice );
#else
- audioControl( alsa );
- optionWidgets.append( alsaControl );
- audioControl2( OSS );
- optionWidgets.append( OSSControl );
+ if( module_Exists( p_intf, "alsa" ) )
+ {
+ audioControl( alsa );
+ optionWidgets.append( alsaControl );
+
+ CONFIG_GENERIC2( "alsadev" , StringList , alsaLabel,
+ alsaDevice );
+ }
+ else
+ optionWidgets.append( NULL );
+ if( module_Exists( p_intf, "oss" ) )
+ {
+ audioControl2( OSS );
+ optionWidgets.append( OSSControl );
+ CONFIG_GENERIC_FILE( "dspdev" , File , OSSLabel, OSSDevice,
+ OSSBrowse );
+ }
+ else
+ optionWidgets.append( NULL );
#endif
/* General Audio Options */
CONNECT( ui.outputModule, currentIndexChanged( int ),
this, updateAudioOptions( int ) );
- /* platform specifics */
-#ifdef WIN32
- CONFIG_GENERIC2( "directx-audio-device", IntegerList,
- DirectXLabel, DirectXDevice );
-#else
- if( module_Exists( p_intf, "alsa" ) )
- {
- CONFIG_GENERIC2( "alsadev" , StringList , alsaLabel,
- alsaDevice );
- }
- if( module_Exists( p_intf, "oss" ) )
- {
- CONFIG_GENERIC_FILE( "dspdev" , File , OSSLabel, OSSDevice,
- OSSBrowse );
- }
-#endif
- // File exists everywhere
+ // File exists everywhere
CONFIG_GENERIC_FILE( "audiofile-file" , File , ui.fileLabel,
ui.fileName, ui.fileBrowseButton );
#ifdef WIN32
optionWidgets[directxW]->setVisible( ( value == "directx" ) );
#else
- optionWidgets[ossW]->setVisible( ( value == "oss" ) );
- optionWidgets[alsaW]->setVisible( ( value == "alsa" ) );
+ /* optionWidgets[ossW] can be NULL */
+ if( optionWidgets[ossW] )
+ optionWidgets[ossW]->setVisible( ( value == "oss" ) );
+ /* optionWidgets[alsaW] can be NULL */
+ if( optionWidgets[alsaW] )
+ optionWidgets[alsaW]->setVisible( ( value == "alsa" ) );
#endif
optionWidgets[fileW]->setVisible( ( value == "aout_file" ) );
}