Skip to content

Commit

Permalink
Make fmmod panel look better + fix a bug where both audio levels show…
Browse files Browse the repository at this point in the history
…ed the left channel
  • Loading branch information
mickflemm committed Aug 13, 2017
1 parent d080299 commit d62ff90
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 12 deletions.
4 changes: 1 addition & 3 deletions fmmod.c
Expand Up @@ -441,9 +441,6 @@ fmmod_process(jack_nframes_t nframes, void *arg)
mpx_out = fmmod->sock_outbuf;
mpx_out_len = fmmod->sock_outbuf_len;
}
ctl->peak_audio_in_l = 0;
ctl->peak_audio_in_r = 0;
ctl->peak_mpx_out = 0;

/* No frames received */
if (!nframes)
Expand Down Expand Up @@ -510,6 +507,7 @@ fmmod_process(jack_nframes_t nframes, void *arg)
return FMMOD_ERR_RESAMPLER_ERR;

/* Update mpx output peak gain */
ctl->peak_mpx_out = 0;
for (i = 0; i < frames_generated; i++) {
if (mpx_out[i] > ctl->peak_mpx_out)
ctl->peak_mpx_out = mpx_out[i];
Expand Down
25 changes: 18 additions & 7 deletions gui/jmrg_fmmod_panel.c
Expand Up @@ -150,8 +150,8 @@ jmrg_fmmodp_fmdc_init(struct fmmod_control *ctl)
ret = -3;
goto cleanup;
}
gtk_container_add(GTK_CONTAINER(container), vbox);
gtk_box_set_homogeneous(GTK_BOX(vbox), TRUE);
gtk_container_add(GTK_CONTAINER(container), vbox);


/* Initialize radio button group */
Expand Down Expand Up @@ -291,6 +291,7 @@ jmrg_fmmodp_audio_filter_ctls_init(struct fmmod_control *ctl)
ret = -6;
goto cleanup;
}
gtk_box_set_homogeneous(GTK_BOX(pe_vbox), TRUE);
gtk_container_add(GTK_CONTAINER(pe_frame), pe_vbox);

/* Initialize radio button group */
Expand Down Expand Up @@ -361,29 +362,32 @@ jmrg_fmmodp_audio_gain_ctls_init(struct fmmod_control *ctl)
gtk_frame_set_label_align(GTK_FRAME(container), 0.5, 0.6);
gtk_frame_set_shadow_type(GTK_FRAME(container),
GTK_SHADOW_ETCHED_IN);
gtk_widget_set_margin_bottom(container, 6);

/* Create sub-container */
hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
if(!hbox)
goto cleanup;
gtk_box_set_homogeneous(GTK_BOX(hbox), TRUE);
gtk_container_add(GTK_CONTAINER(container), hbox);

/* Create Level bars for audio and audio gain control */
audl_lvl = jmrg_level_bar_init("L", &ctl->peak_audio_in_l);
if(!audl_lvl)
goto cleanup;
gtk_box_pack_start(GTK_BOX(hbox), audl_lvl, 1, 1, 6);
gtk_widget_set_margin_bottom(audl_lvl, 6);

augain_ctl = jmrg_vscale_init(NULL, &ctl->audio_gain, (gdouble) 100.0);
if(!augain_ctl)
goto cleanup;
gtk_box_set_center_widget(GTK_BOX(hbox), augain_ctl);

audr_lvl = jmrg_level_bar_init("R", &ctl->peak_audio_in_l);
audr_lvl = jmrg_level_bar_init("R", &ctl->peak_audio_in_r);
if(!audr_lvl)
goto cleanup;
gtk_box_pack_end(GTK_BOX(hbox), audr_lvl, 1, 1, 6);

gtk_container_add(GTK_CONTAINER(container), hbox);
gtk_widget_set_margin_bottom(audr_lvl, 6);

return container;
cleanup:
Expand Down Expand Up @@ -412,11 +416,13 @@ jmrg_fmmodp_subcarrier_gain_ctls_init(struct fmmod_control *ctl)
gtk_frame_set_label_align(GTK_FRAME(container), 0.5, 0.6);
gtk_frame_set_shadow_type(GTK_FRAME(container),
GTK_SHADOW_ETCHED_IN);
gtk_widget_set_margin_bottom(container, 6);

/* Create sub-container */
hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
if(!hbox)
goto cleanup;
gtk_box_set_homogeneous(GTK_BOX(hbox), TRUE);
gtk_container_add(GTK_CONTAINER(container), hbox);

/* Create sub-carrier gain controls */
Expand Down Expand Up @@ -457,11 +463,14 @@ jmrg_fmmodp_mpx_gain_ctl_init(struct fmmod_control *ctl)
gtk_frame_set_label_align(GTK_FRAME(container), 0.5, 0.6);
gtk_frame_set_shadow_type(GTK_FRAME(container),
GTK_SHADOW_ETCHED_IN);
gtk_widget_set_margin_bottom(container, 6);

/* Create sub-container */
hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
if(!hbox)
goto cleanup;
gtk_box_set_homogeneous(GTK_BOX(hbox), TRUE);
gtk_container_add(GTK_CONTAINER(container), hbox);

/* A scale and a level bar for the whole MPX signal */
mpxgain_ctl = jmrg_vscale_init(NULL, &ctl->mpx_gain,
Expand All @@ -473,9 +482,8 @@ jmrg_fmmodp_mpx_gain_ctl_init(struct fmmod_control *ctl)
mpx_lvl = jmrg_level_bar_init(NULL, &ctl->peak_mpx_out);
if(!mpx_lvl)
goto cleanup;
gtk_box_pack_end(GTK_BOX(hbox), mpx_lvl, 1, 1, 1);

gtk_container_add(GTK_CONTAINER(container), hbox);
gtk_widget_set_margin_bottom(mpx_lvl, 6);
gtk_box_pack_end(GTK_BOX(hbox), mpx_lvl, 1, 1, 6);

return container;
cleanup:
Expand Down Expand Up @@ -533,6 +541,7 @@ jmrg_fmmodp_mpxgc_init(struct fmmod_control *ctl)
ret = -4;
goto cleanup;
}
gtk_widget_set_margin_bottom(pgain_ctl, 6);
gtk_box_pack_start(GTK_BOX(hbox), pgain_ctl, 1, 1, 6);

/* Subcarrier gain control */
Expand Down Expand Up @@ -620,6 +629,7 @@ jmrg_fmmod_panel_init(struct control_page *ctl_page)
ret = -4;
goto cleanup;
}
gtk_widget_set_size_request(mpxp, 560, 366);
gtk_box_pack_start(GTK_BOX(lvbox), mpxp, TRUE, TRUE, 2);

/* Initialize mpx gain controls */
Expand All @@ -628,6 +638,7 @@ jmrg_fmmod_panel_init(struct control_page *ctl_page)
ret = -5;
goto cleanup;
}
gtk_widget_set_size_request(mpxgc, 560, 300);
gtk_box_pack_start(GTK_BOX(lvbox), mpxgc, FALSE, FALSE, 2);


Expand Down
3 changes: 1 addition & 2 deletions gui/jmrg_level_bar.c
Expand Up @@ -127,7 +127,6 @@ jmrg_level_bar_init(const char* label, float* val_ptr)
context = gtk_widget_get_style_context(level_bar);
gtk_style_context_add_class(context,"gain_bar");


/* Initialize value_map */
vmap = malloc(sizeof(struct value_map));
if(!vmap)
Expand All @@ -148,7 +147,7 @@ jmrg_level_bar_init(const char* label, float* val_ptr)
vmap);

/* Only need the top level container */
return container;
return container;
cleanup:
if(level_bar)
gtk_widget_destroy(level_bar);
Expand Down

0 comments on commit d62ff90

Please sign in to comment.