From d9ae4c6cc9f64af1abe2b8fbf2956a180a4c0f45 Mon Sep 17 00:00:00 2001 From: Giuliano Pochini Date: Tue, 5 Apr 2005 17:27:26 +0000 Subject: [PATCH] echomixer cleanup This patch: - Cleans up the mess about nominal level switches. - Removes some old unused code. Signed-off-by: Giuliano Pochini --- echomixer/echomixer.c | 133 +++++++++++++++++------------------------- 1 file changed, 52 insertions(+), 81 deletions(-) diff --git a/echomixer/echomixer.c b/echomixer/echomixer.c index 329e09b..f5ffe8f 100644 --- a/echomixer/echomixer.c +++ b/echomixer/echomixer.c @@ -92,7 +92,6 @@ char card[64], cardId[16]; char dmodeName[DIGITAL_MODES][64], clocksrcName[DIGITAL_MODES][64], spdifmodeName[DIGITAL_MODES][64]; -char NominalIn[ECHO_MAXAUDIOINPUTS], NominalOut[ECHO_MAXAUDIOOUTPUTS]; int nLOut, nIn, fdIn, fdOut, nPOut, ClockMask; int ndmodes, nclocksrc, nspdifmodes; int GMixerRow, GMixerColumn, Gang, AutoClock; @@ -176,7 +175,7 @@ struct mixerControl_s { #endif -struct VolumeControl { +struct VolumeControl_s { int input, output; // Currently selected channels int inputs, outputs; int id; @@ -187,7 +186,13 @@ struct VolumeControl { int Gain[ECHO_MAXAUDIOOUTPUTS]; } lineinControl, lineoutControl, pcmoutControl; -GtkWidget *p4dbuOut[ECHO_MAXAUDIOOUTPUTS], *p4dbuIn[ECHO_MAXAUDIOINPUTS]; // +4dBu/-10dBV toggles +struct NominalLevelControl_s { + int id; + int Channels; + char Level[ECHO_MAXAUDIOINPUTS]; + GtkWidget *Button[ECHO_MAXAUDIOINPUTS]; +} NominalIn, NominalOut; + GtkWidget *clocksrc_menuitem[ECHO_CLOCKS]; GtkWidget *dmodeOpt, *clocksrcOpt, *spdifmodeOpt, *phantomChkbutton, *autoclockChkbutton; GtkWidget *window, *Mainwindow, *Miscwindow, *LVwindow, *VUwindow, *GMwindow; @@ -478,22 +483,20 @@ void ReadControl(int *vol, int channels, int volId) { -void ReadNominalLevels(char *NominalLevel, int numid) { +void ReadNominalLevels(struct NominalLevelControl_s *NominalLevel) { snd_ctl_elem_id_t *id; snd_ctl_elem_value_t *control; - int err, i, n; + int err, i; snd_ctl_elem_id_alloca(&id); snd_ctl_elem_value_alloca(&control); - snd_ctl_elem_id_set_interface(id, SND_CTL_ELEM_IFACE_MIXER); - n=(numid==p4InId) ? fdIn : fdOut; - snd_ctl_elem_id_set_numid(id, numid); + snd_ctl_elem_id_set_numid(id, NominalLevel->id); snd_ctl_elem_value_set_id(control, id); if ((err=snd_ctl_elem_read(ctlhandle, control))<0) printf("Control %s element read error: %s\n", card, snd_strerror(err)); - for (i=0; iChannels; i++) + NominalLevel->Level[i]=snd_ctl_elem_value_get_integer(control, i); } @@ -1120,7 +1123,7 @@ void PCM_volume_changed(GtkWidget *widget, gpointer ch) { snd_ctl_elem_value_t *control; char str[16]; int err, channel, val, rval; - struct VolumeControl *vol; + struct VolumeControl_s *vol; snd_ctl_elem_id_alloca(&id); snd_ctl_elem_value_alloca(&control); @@ -1345,26 +1348,24 @@ void Vmixer_vchannel_selector_clicked(GtkWidget *widget, gpointer ch) { void Nominal_level_toggled(GtkWidget *widget, gpointer ch) { snd_ctl_elem_id_t *id; snd_ctl_elem_value_t *control; - GtkWidget **button; int err, val, channel; + struct NominalLevelControl_s *NominalLevel; snd_ctl_elem_id_alloca(&id); snd_ctl_elem_value_alloca(&control); + snd_ctl_elem_id_set_interface(id, SND_CTL_ELEM_IFACE_MIXER); val=gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)); - - snd_ctl_elem_id_set_interface(id, SND_CTL_ELEM_IFACE_MIXER); if ((int)chLevel[channel]=!val; + + snd_ctl_elem_id_set_numid(id, NominalLevel->id); snd_ctl_elem_value_set_id(control, id); if ((err=snd_ctl_elem_read(ctlhandle, control))<0) printf("Control %s element read error: %s\n", card, snd_strerror(err)); @@ -1372,7 +1373,7 @@ void Nominal_level_toggled(GtkWidget *widget, gpointer ch) { if ((err=snd_ctl_elem_write(ctlhandle, control))<0) printf("Control %s element write error: %s\n", card, snd_strerror(err)); if (Gang) - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button[channel^1]), val); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(NominalLevel->Button[channel^1]), val); } @@ -1680,39 +1681,7 @@ void ToggleWindow(GtkWidget *widget, gpointer window) { -/* -int LockControls(snd_ctl_elem_id_t *id, int first_id, int num) { - int i, err; - - for (i=0; i=0 && o=0 && i=0 && o=0 && i \n"); for (i=0; i \n"); for (o=0; o \n"); -- 2.47.1