printf( " from configuration file\n" );
}
+static int collect_all( void )
+{
+ int idx, err;
+ unsigned int card_mask;
+
+ card_mask = snd_cards_mask();
+ if ( !card_mask ) {
+ error( "No soundcards found..." );
+ return 1;
+ }
+ soundcard_setup_init();
+ for ( idx = 0; idx < 32; idx++ ) {
+ if ( card_mask & (1 << idx) ) { /* find each installed soundcards */
+ if ( (err = soundcard_setup_collect( idx )) ) {
+ soundcard_setup_done();
+ return err;
+ }
+ }
+ }
+ return 0;
+}
+
static int store_setup( const char *cardname )
{
int err;
error( "Cannot find soundcard '%s'...", cardname );
return 1;
}
- soundcard_setup_init();
+ if ( (err = collect_all()) )
+ return err;
if ( (err = soundcard_setup_load( cfgfile )) )
return err;
if ( (err = soundcard_setup_collect( cardno )) ) {
static int restore_setup( const char *cardname )
{
- int err, idx, cardno = -1;
- unsigned int card_mask;
+ int err, cardno = -1;
if ( cardname ) {
cardno = snd_card_name( cardname );
return 1;
}
}
- card_mask = snd_cards_mask();
- if ( !card_mask ) {
- error( "No soundcards found..." );
- return 1;
- }
- soundcard_setup_init();
- for ( idx = 0; idx < 32; idx++ ) {
- if ( card_mask & (1 << idx) ) { /* find each installed soundcards */
- if ( (err = soundcard_setup_collect( idx )) ) {
- soundcard_setup_done();
- return err;
- }
- }
- }
+ if ( (err = collect_all()) )
+ return err;
if ( (err = soundcard_setup_load( cfgfile )) )
return err;
err = soundcard_setup_process( cardno );