]> git.alsa-project.org Git - alsa-tools.git/commitdiff
Tidy up DMX6fire eeprom checks
authorAlan Horstmann <gineera@aspect135.co.uk>
Thu, 8 Dec 2005 16:36:12 +0000 (16:36 +0000)
committerTakashi Iwai <tiwai@suse.de>
Thu, 8 Dec 2005 16:36:12 +0000 (16:36 +0000)
Multiple instances of DMX6FIRE eeprom checks in envy24control replaced with a
variable.

Signed-off-by: Alan Horstmann <gineera@aspect135.co.uk>
envy24control/envy24control.c

index fbdf50b52aedb0dc8a8e07445b535f481ef525ca..812d72fb858d4999f913ee130d9e15d4ff4355b6 100644 (file)
@@ -27,6 +27,7 @@
 #include <getopt.h>
 
 int input_channels, output_channels, pcm_output_channels, spdif_channels, view_spdif_playback, card_number;
+int card_is_dmx6fire = FALSE;
 char *profiles_file_name, *default_profile;
 
 ice1712_eeprom_t card_eeprom;
@@ -147,22 +148,18 @@ static void create_mixer_frame(GtkWidget *box, int stream)
                sprintf(str, "PCM Out %i", stream);
        } else if (stream <= (MAX_PCM_OUTPUT_CHANNELS + MAX_SPDIF_CHANNELS)) {
                sprintf(str, "S/PDIF Out %s", stream & 1 ? "L": "R");
-       } else if ((card_eeprom.subvendor == ICE1712_SUBDEVICE_DMX6FIRE) && (stream == 11)) {
-               sprintf(str, "CD In L");
-       } else if ((card_eeprom.subvendor == ICE1712_SUBDEVICE_DMX6FIRE) && (stream == 12)) {
-               sprintf(str, "CD In R");
-       } else if ((card_eeprom.subvendor == ICE1712_SUBDEVICE_DMX6FIRE) && (stream == 13)) {
-               sprintf(str, "Line In L");
-       } else if ((card_eeprom.subvendor == ICE1712_SUBDEVICE_DMX6FIRE) && (stream == 14)) {
-               sprintf(str, "Line In R");
-       } else if ((card_eeprom.subvendor == ICE1712_SUBDEVICE_DMX6FIRE) && (stream == 15)) {
-               sprintf(str, "Phono/Mic L");
-       } else if ((card_eeprom.subvendor == ICE1712_SUBDEVICE_DMX6FIRE) && (stream == 16)) {
-               sprintf(str, "Phono/Mic R");
-       } else if ((card_eeprom.subvendor == ICE1712_SUBDEVICE_DMX6FIRE) && (stream == 19)) {
-               sprintf(str, "Digital In L");
-       } else if ((card_eeprom.subvendor == ICE1712_SUBDEVICE_DMX6FIRE) && (stream == 20)) {
-               sprintf(str, "Digital In R");
+       } else if (card_is_dmx6fire) {
+               switch (stream) {
+               case 11: sprintf(str, "CD In L");break;
+               case 12: sprintf(str, "CD In R");break;
+               case 13: sprintf(str, "Line In L");break;
+               case 14: sprintf(str, "Line In R");break;
+               case 15: sprintf(str, "Phono/Mic L");break;
+               case 16: sprintf(str, "Phono/Mic R");break;
+               case 19: sprintf(str, "Digital In L");break;
+               case 20: sprintf(str, "Digital In R");break;
+               default : sprintf(str, "????");break;
+               }
        } else if (stream <= (MAX_PCM_OUTPUT_CHANNELS + MAX_SPDIF_CHANNELS + MAX_INPUT_CHANNELS)) {
                sprintf(str, "H/W In %i", stream - (MAX_PCM_OUTPUT_CHANNELS + MAX_SPDIF_CHANNELS));
        } else if (stream <= (MAX_PCM_OUTPUT_CHANNELS + MAX_SPDIF_CHANNELS + MAX_INPUT_CHANNELS + MAX_SPDIF_CHANNELS)) {
@@ -418,7 +415,7 @@ static void create_router_frame(GtkWidget *box, int stream, int pos)
                "H/W In 8"
        };
 
-       if (card_eeprom.subvendor == ICE1712_SUBDEVICE_DMX6FIRE)
+       if (card_is_dmx6fire)
        {
                 table[0] = "Digital In L";
                 table[1] = "Digital In R";
@@ -433,13 +430,13 @@ static void create_router_frame(GtkWidget *box, int stream, int pos)
        if (stream <= MAX_OUTPUT_CHANNELS) {
                sprintf(str, "H/W Out %i (%s)", stream, stream & 1 ? "L" : "R");
        } else if (stream == (MAX_OUTPUT_CHANNELS + 1)) {
-               if (card_eeprom.subvendor == ICE1712_SUBDEVICE_DMX6FIRE) {
+               if (card_is_dmx6fire) {
                                strcpy(str, "Digital Out (L)");
                        } else {
                                strcpy(str, "S/PDIF Out (L)");
                                }
        } else if (stream == (MAX_OUTPUT_CHANNELS + 2)) {
-               if (card_eeprom.subvendor == ICE1712_SUBDEVICE_DMX6FIRE) {
+               if (card_is_dmx6fire) {
                                strcpy(str, "Digital Out (R)");
                        } else {
                                strcpy(str, "S/PDIF Out (R)");
@@ -1176,7 +1173,7 @@ static void create_spdif_input_select(GtkWidget *box)
        GSList *group = NULL;
        int hide = 1;
 
-       if((card_eeprom.subvendor == ICE1712_SUBDEVICE_DELTADIO2496) || (card_eeprom.subvendor == ICE1712_SUBDEVICE_DMX6FIRE))
+       if((card_eeprom.subvendor == ICE1712_SUBDEVICE_DELTADIO2496) || (card_is_dmx6fire))
                hide = 0;
 
        frame = gtk_frame_new("Digital Input");
@@ -1210,7 +1207,7 @@ static void create_spdif_input_select(GtkWidget *box)
         radiobutton = gtk_radio_button_new_with_label(group, "Internal CD");
         hw_spdif_switch_off_radio = radiobutton;
         group = gtk_radio_button_group(GTK_RADIO_BUTTON(radiobutton));
-       if(card_eeprom.subvendor == ICE1712_SUBDEVICE_DMX6FIRE)
+       if(card_is_dmx6fire)
                gtk_widget_show(radiobutton);
         gtk_box_pack_start(GTK_BOX(vbox), radiobutton, FALSE, FALSE, 0);
         gtk_signal_connect(GTK_OBJECT(radiobutton), "toggled",
@@ -1230,7 +1227,7 @@ static void create_phono_input(GtkWidget *box)
         GSList *group = NULL;
         int hide = 1;
 
-        if( card_eeprom.subvendor == ICE1712_SUBDEVICE_DMX6FIRE)
+        if(card_is_dmx6fire)
                 hide = 0;
 
         frame = gtk_frame_new("Phono Input Switch");
@@ -1273,7 +1270,7 @@ static void create_input_interface(GtkWidget *box)
         GSList *group = NULL;
         int hide = 1;
 
-        if( card_eeprom.subvendor == ICE1712_SUBDEVICE_DMX6FIRE)
+        if (card_is_dmx6fire)
                 hide = 0;
 
         frame = gtk_frame_new("Line In Selector");
@@ -1473,7 +1470,7 @@ static void create_analog_volume(GtkWidget *main, GtkWidget *notebook, int page)
                gtk_container_set_border_width(GTK_CONTAINER(vbox), 6);
 
                /* Add friendly labels for DMX 6Fires */
-               if((card_eeprom.subvendor == ICE1712_SUBDEVICE_DMX6FIRE) && (i < 6)){
+               if(card_is_dmx6fire && (i < 6)){
                        label = gtk_label_new(dmx6fire_outputs[i]);
                        gtk_widget_show(label);
                        gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, TRUE, 6);
@@ -1529,7 +1526,7 @@ static void create_analog_volume(GtkWidget *main, GtkWidget *notebook, int page)
                gtk_container_set_border_width(GTK_CONTAINER(vbox), 6);
 
                /* Add friendly labels for DMX 6Fires */
-               if((card_eeprom.subvendor == ICE1712_SUBDEVICE_DMX6FIRE) && (i < 6)){
+               if(card_is_dmx6fire && (i < 6)){
                        label = gtk_label_new(dmx6fire_inputs[i]);
                        gtk_widget_show(label);
                        gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, TRUE, 6);
@@ -1585,7 +1582,7 @@ static void create_analog_volume(GtkWidget *main, GtkWidget *notebook, int page)
                gtk_container_set_border_width(GTK_CONTAINER(vbox), 6);
 
                /* Add friendly labels for DMX 6Fires */
-               if((card_eeprom.subvendor == ICE1712_SUBDEVICE_DMX6FIRE) && (i < 6)){
+               if(card_is_dmx6fire && (i < 6)){
                        label = gtk_label_new(dmx6fire_inputs[i]);
                        gtk_widget_show(label);
                        gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, TRUE, 6);
@@ -2046,21 +2043,24 @@ int main(int argc, char **argv)
        }
        memcpy(&card_eeprom, snd_ctl_elem_value_get_bytes(val), 32);
 
+       if(card_eeprom.subvendor == ICE1712_SUBDEVICE_DMX6FIRE)
+               card_is_dmx6fire = TRUE;
+
        /* Set a better default for input_channels and output_channels */
        if(!input_channels_set) {
-               if(card_eeprom.subvendor == ICE1712_SUBDEVICE_DMX6FIRE) {
+               if(card_is_dmx6fire) {
                        input_channels = 6;
                }
        }
 
        if(!output_channels_set) {
-               if(card_eeprom.subvendor == ICE1712_SUBDEVICE_DMX6FIRE) {
+               if(card_is_dmx6fire) {
                        output_channels = 6;
                }
        }
 
        if(!pcm_output_channels_set) {
-               if(card_eeprom.subvendor == ICE1712_SUBDEVICE_DMX6FIRE) {
+               if(card_is_dmx6fire) {
                        pcm_output_channels = 6; /* PCMs 7&8 can be used -set using option -p8 */
                }
        }