From 3a82b2f23691cab79d1e1406bb9d099230fb3050 Mon Sep 17 00:00:00 2001 From: John Melton - G0ORX/N6LYT Date: Sat, 10 Dec 2016 09:47:25 +0000 Subject: [PATCH] CHanged Audio menu to remove line in and boost when local microphone selected. Changes to VOX for local microphone in old and new protocols. --- audio_menu.c | 21 +++++++++++++++++---- new_protocol.c | 13 +++++++------ old_protocol.c | 44 +++++++++++++++++++++----------------------- radio.c | 6 +++++- vox.c | 2 ++ vox_menu.c | 3 ++- 6 files changed, 54 insertions(+), 35 deletions(-) diff --git a/audio_menu.c b/audio_menu.c index cfea7e2..bda85d3 100644 --- a/audio_menu.c +++ b/audio_menu.c @@ -33,6 +33,9 @@ static GtkWidget *menu_b=NULL; static GtkWidget *dialog=NULL; +GtkWidget *linein_b; +GtkWidget *micboost_b; + static gboolean close_cb (GtkWidget *widget, GdkEventButton *event, gpointer data) { if(dialog!=NULL) { gtk_widget_destroy(dialog); @@ -82,14 +85,20 @@ fprintf(stderr,"local_microphone_cb: %d\n",local_microphone); if(gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget))) { if(audio_open_input()==0) { local_microphone=1; + gtk_widget_hide(linein_b); + gtk_widget_hide(micboost_b); } else { local_microphone=0; gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), FALSE); + gtk_widget_show(linein_b); + gtk_widget_show(micboost_b); } } else { if(local_microphone) { local_microphone=0; audio_close_input(); + gtk_widget_show(linein_b); + gtk_widget_show(micboost_b); } } } @@ -138,20 +147,20 @@ void audio_menu(GtkWidget *parent) { int row=0; if(protocol==ORIGINAL_PROTOCOL || protocol==NEW_PROTOCOL) { - GtkWidget *linein_b=gtk_check_button_new_with_label("Mic Line In (ACC connector)"); + linein_b=gtk_check_button_new_with_label("Mic Line In (ACC connector)"); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (linein_b), mic_linein); - gtk_widget_show(linein_b); gtk_grid_attach(GTK_GRID(grid),linein_b,0,++row,1,1); g_signal_connect(linein_b,"toggled",G_CALLBACK(linein_cb),NULL); - GtkWidget *micboost_b=gtk_check_button_new_with_label("Mic Boost (radio only)"); + micboost_b=gtk_check_button_new_with_label("Mic Boost (radio only)"); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (micboost_b), mic_boost); - gtk_widget_show(micboost_b); gtk_grid_attach(GTK_GRID(grid),micboost_b,0,++row,1,1); g_signal_connect(micboost_b,"toggled",G_CALLBACK(micboost_cb),NULL); + } + if(n_input_devices>0) { GtkWidget *local_microphone_b=gtk_check_button_new_with_label("Local Microphone Input"); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (local_microphone_b), local_microphone); @@ -206,5 +215,9 @@ void audio_menu(GtkWidget *parent) { gtk_widget_show_all(dialog); + if(local_microphone && (protocol==ORIGINAL_PROTOCOL || protocol==NEW_PROTOCOL)) { + gtk_widget_hide(linein_b); + gtk_widget_hide(micboost_b); + } } diff --git a/new_protocol.c b/new_protocol.c index d324175..e4c4f01 100644 --- a/new_protocol.c +++ b/new_protocol.c @@ -56,6 +56,7 @@ #ifdef FREEDV #include "freedv.h" #endif +#include "vox.h" #define min(x,y) (xthreshold) { if(previous_vox) { g_source_remove(vox_timeout); diff --git a/vox_menu.c b/vox_menu.c index 464d529..65bee6a 100644 --- a/vox_menu.c +++ b/vox_menu.c @@ -158,6 +158,7 @@ void vox_menu(GtkWidget *parent) { gtk_grid_attach(GTK_GRID(grid),vox_scale,1,2,1,1); g_signal_connect(G_OBJECT(vox_scale),"value_changed",G_CALLBACK(vox_value_changed_cb),NULL); +/* GtkWidget *gain_label=gtk_label_new("VOX Gain:"); gtk_misc_set_alignment (GTK_MISC(gain_label), 0, 0); gtk_widget_show(gain_label); @@ -168,7 +169,7 @@ void vox_menu(GtkWidget *parent) { gtk_widget_show(gain_scale); gtk_grid_attach(GTK_GRID(grid),gain_scale,1,3,1,1); g_signal_connect(G_OBJECT(gain_scale),"value_changed",G_CALLBACK(vox_gain_value_changed_cb),NULL); - +*/ GtkWidget *hang_label=gtk_label_new("VOX Hang (ms):"); gtk_misc_set_alignment (GTK_MISC(hang_label), 0, 0); gtk_widget_show(hang_label); -- 2.45.2