Commit 180ad0df authored by Monty Montgomery's avatar Monty Montgomery

Remove now-superfluous deverber timing control



git-svn-id: https://svn.xiph.org/trunk/postfish@7773 0101bb08-14d6-0310-b084-bc0e0c8e3800
parent 0a2e3e3c
...@@ -6,11 +6,11 @@ ...@@ -6,11 +6,11 @@
# Use the below line to build for PowerPC # Use the below line to build for PowerPC
# The PPC build *must* use -maltivec, even if the target is a non-altivec machine # The PPC build *must* use -maltivec, even if the target is a non-altivec machine
#ADD_DEF= -DUGLY_IEEE754_FLOAT32_HACK=1 -maltivec ADD_DEF= -DUGLY_IEEE754_FLOAT32_HACK=1 -maltivec -mcpu=7400
# use the below for x86 and most other platforms where 'float' is 32 bit IEEE754 # use the below for x86 and most other platforms where 'float' is 32 bit IEEE754
ADD_DEF= -DUGLY_IEEE754_FLOAT32_HACK=1 #ADD_DEF= -DUGLY_IEEE754_FLOAT32_HACK=1
# use the below for anything without IEE754 floats (eg, VAX) # use the below for anything without IEE754 floats (eg, VAX)
......
...@@ -49,11 +49,9 @@ typedef struct { ...@@ -49,11 +49,9 @@ typedef struct {
subband_state ss; subband_state ss;
iir_filter smooth; iir_filter smooth;
iir_filter trigger;
iir_filter release; iir_filter release;
iir_state *iirS[suppress_freqs]; iir_state *iirS[suppress_freqs];
iir_state *iirT[suppress_freqs];
iir_state *iirR[suppress_freqs]; iir_state *iirR[suppress_freqs];
float prevratio[suppress_freqs]; float prevratio[suppress_freqs];
...@@ -72,7 +70,6 @@ void suppress_reset(){ ...@@ -72,7 +70,6 @@ void suppress_reset(){
for(i=0;i<suppress_freqs;i++){ for(i=0;i<suppress_freqs;i++){
for(j=0;j<input_ch;j++){ for(j=0;j<input_ch;j++){
memset(&channel_state.iirS[i][j],0,sizeof(iir_state)); memset(&channel_state.iirS[i][j],0,sizeof(iir_state));
memset(&channel_state.iirT[i][j],0,sizeof(iir_state));
memset(&channel_state.iirR[i][j],0,sizeof(iir_state)); memset(&channel_state.iirR[i][j],0,sizeof(iir_state));
} }
} }
...@@ -111,7 +108,6 @@ int suppress_load(void){ ...@@ -111,7 +108,6 @@ int suppress_load(void){
for(i=0;i<suppress_freqs;i++){ for(i=0;i<suppress_freqs;i++){
channel_state.iirS[i]=calloc(input_ch,sizeof(iir_state)); channel_state.iirS[i]=calloc(input_ch,sizeof(iir_state));
channel_state.iirT[i]=calloc(input_ch,sizeof(iir_state));
channel_state.iirR[i]=calloc(input_ch,sizeof(iir_state)); channel_state.iirR[i]=calloc(input_ch,sizeof(iir_state));
} }
return 0; return 0;
...@@ -122,15 +118,12 @@ static void suppress_work_helper(void *vs, suppress_settings *sset){ ...@@ -122,15 +118,12 @@ static void suppress_work_helper(void *vs, suppress_settings *sset){
subband_state *ss=&sss->ss; subband_state *ss=&sss->ss;
int i,j,k,l; int i,j,k,l;
float smoothms=sset->smooth*.1; float smoothms=sset->smooth*.1;
float triggerms=sset->trigger*.1;
float releasems=sset->release*.1; float releasems=sset->release*.1;
iir_filter *trigger=&sss->trigger;
iir_filter *smooth=&sss->smooth; iir_filter *smooth=&sss->smooth;
iir_filter *release=&sss->release; iir_filter *release=&sss->release;
int ahead; int ahead;
if(smoothms!=smooth->ms)filter_set(ss,smoothms,smooth,1,2); if(smoothms!=smooth->ms)filter_set(ss,smoothms,smooth,1,2);
if(triggerms!=trigger->ms)filter_set(ss,triggerms,trigger,0,2);
if(releasems!=release->ms)filter_set(ss,releasems,release,0,2); if(releasems!=release->ms)filter_set(ss,releasems,release,0,2);
ahead=impulse_ahead2(smooth->alpha); ahead=impulse_ahead2(smooth->alpha);
...@@ -174,8 +167,8 @@ static void suppress_work_helper(void *vs, suppress_settings *sset){ ...@@ -174,8 +167,8 @@ static void suppress_work_helper(void *vs, suppress_settings *sset){
memcpy(slow,fast,sizeof(slow)); memcpy(slow,fast,sizeof(slow));
compute_iir_fast_attack2(fast, input_size, &sss->iirT[i][j], compute_iir_symmetric2(fast, input_size, &sss->iirS[i][j],
smooth,trigger); smooth);
compute_iir_fast_attack2(slow, input_size, &sss->iirR[i][j], compute_iir_fast_attack2(slow, input_size, &sss->iirR[i][j],
smooth,release); smooth,release);
...@@ -205,7 +198,6 @@ static void suppress_work_helper(void *vs, suppress_settings *sset){ ...@@ -205,7 +198,6 @@ static void suppress_work_helper(void *vs, suppress_settings *sset){
for(l=0;l<input_ch;l++){ for(l=0;l<input_ch;l++){
if(l!=j){ if(l!=j){
memcpy(&sss->iirS[i][l],&sss->iirS[i][j],sizeof(iir_state)); memcpy(&sss->iirS[i][l],&sss->iirS[i][j],sizeof(iir_state));
memcpy(&sss->iirT[i][l],&sss->iirT[i][j],sizeof(iir_state));
memcpy(&sss->iirR[i][l],&sss->iirR[i][j],sizeof(iir_state)); memcpy(&sss->iirR[i][l],&sss->iirR[i][j],sizeof(iir_state));
} }
} }
...@@ -224,7 +216,6 @@ static void suppress_work_helper(void *vs, suppress_settings *sset){ ...@@ -224,7 +216,6 @@ static void suppress_work_helper(void *vs, suppress_settings *sset){
}else{ }else{
/* reset filters to sane inactive default */ /* reset filters to sane inactive default */
memset(&sss->iirS[i][j],0,sizeof(iir_state)); memset(&sss->iirS[i][j],0,sizeof(iir_state));
memset(&sss->iirT[i][j],0,sizeof(iir_state));
memset(&sss->iirR[i][j],0,sizeof(iir_state)); memset(&sss->iirR[i][j],0,sizeof(iir_state));
} }
} }
......
...@@ -45,17 +45,15 @@ typedef struct{ ...@@ -45,17 +45,15 @@ typedef struct{
Multibar *s; Multibar *s;
Readout *r0; Readout *r0;
Readout *r1; Readout *r1;
Readout *r2;
sig_atomic_t *v0; sig_atomic_t *v0;
sig_atomic_t *v1; sig_atomic_t *v1;
sig_atomic_t *v2; } callback_arg_rv2;
} callback_arg_rv3;
typedef struct suppress_panel_state{ typedef struct suppress_panel_state{
subpanel_generic *panel; subpanel_generic *panel;
GtkWidget *link; GtkWidget *link;
callback_arg_rv3 timing; callback_arg_rv2 timing;
tbar bars[suppress_freqs]; tbar bars[suppress_freqs];
} suppress_panel_state; } suppress_panel_state;
...@@ -66,7 +64,6 @@ void suppresspanel_state_to_config(int bank){ ...@@ -66,7 +64,6 @@ void suppresspanel_state_to_config(int bank){
config_set_vector("suppresspanel_ratio",bank,0,0,0,suppress_freqs,suppress_channel_set.ratio); config_set_vector("suppresspanel_ratio",bank,0,0,0,suppress_freqs,suppress_channel_set.ratio);
config_set_integer("suppresspanel_set",bank,0,0,0,0,suppress_channel_set.linkp); config_set_integer("suppresspanel_set",bank,0,0,0,0,suppress_channel_set.linkp);
config_set_integer("suppresspanel_set",bank,0,0,0,1,suppress_channel_set.smooth); config_set_integer("suppresspanel_set",bank,0,0,0,1,suppress_channel_set.smooth);
config_set_integer("suppresspanel_set",bank,0,0,0,2,suppress_channel_set.trigger);
config_set_integer("suppresspanel_set",bank,0,0,0,3,suppress_channel_set.release); config_set_integer("suppresspanel_set",bank,0,0,0,3,suppress_channel_set.release);
} }
...@@ -89,11 +86,8 @@ void suppresspanel_state_from_config(int bank){ ...@@ -89,11 +86,8 @@ void suppresspanel_state_from_config(int bank){
config_get_sigat("suppresspanel_set",bank,0,0,0,1,&suppress_channel_set.smooth); config_get_sigat("suppresspanel_set",bank,0,0,0,1,&suppress_channel_set.smooth);
multibar_thumb_set(MULTIBAR(channel_panel->timing.s),suppress_channel_set.smooth*.1,0); multibar_thumb_set(MULTIBAR(channel_panel->timing.s),suppress_channel_set.smooth*.1,0);
config_get_sigat("suppresspanel_set",bank,0,0,0,2,&suppress_channel_set.trigger);
multibar_thumb_set(MULTIBAR(channel_panel->timing.s),suppress_channel_set.trigger*.1,1);
config_get_sigat("suppresspanel_set",bank,0,0,0,3,&suppress_channel_set.release); config_get_sigat("suppresspanel_set",bank,0,0,0,3,&suppress_channel_set.release);
multibar_thumb_set(MULTIBAR(channel_panel->timing.s),suppress_channel_set.release*.1,2); multibar_thumb_set(MULTIBAR(channel_panel->timing.s),suppress_channel_set.release*.1,1);
} }
static void compand_change(GtkWidget *w,gpointer in){ static void compand_change(GtkWidget *w,gpointer in){
...@@ -112,11 +106,10 @@ static void compand_change(GtkWidget *w,gpointer in){ ...@@ -112,11 +106,10 @@ static void compand_change(GtkWidget *w,gpointer in){
} }
static void timing_change(GtkWidget *w,gpointer in){ static void timing_change(GtkWidget *w,gpointer in){
callback_arg_rv3 *ca=(callback_arg_rv3 *)in; callback_arg_rv2 *ca=(callback_arg_rv2 *)in;
char buffer[80]; char buffer[80];
float smooth=multibar_get_value(MULTIBAR(w),0); float smooth=multibar_get_value(MULTIBAR(w),0);
float trigger=multibar_get_value(MULTIBAR(w),1); float release=multibar_get_value(MULTIBAR(w),1);
float release=multibar_get_value(MULTIBAR(w),2);
if(smooth<100){ if(smooth<100){
sprintf(buffer,"%4.1fms",smooth); sprintf(buffer,"%4.1fms",smooth);
...@@ -129,17 +122,6 @@ static void timing_change(GtkWidget *w,gpointer in){ ...@@ -129,17 +122,6 @@ static void timing_change(GtkWidget *w,gpointer in){
} }
readout_set(ca->r0,buffer); readout_set(ca->r0,buffer);
if(trigger<100){
sprintf(buffer,"%4.1fms",trigger);
}else if (trigger<1000){
sprintf(buffer,"%4.0fms",trigger);
}else if (trigger<10000){
sprintf(buffer," %4.2fs",trigger/1000.);
}else{
sprintf(buffer," %4.1fs",trigger/1000.);
}
readout_set(ca->r1,buffer);
if(release<100){ if(release<100){
sprintf(buffer,"%4.1fms",release); sprintf(buffer,"%4.1fms",release);
}else if (release<1000){ }else if (release<1000){
...@@ -149,11 +131,10 @@ static void timing_change(GtkWidget *w,gpointer in){ ...@@ -149,11 +131,10 @@ static void timing_change(GtkWidget *w,gpointer in){
}else{ }else{
sprintf(buffer," %4.1fs",release/1000.); sprintf(buffer," %4.1fs",release/1000.);
} }
readout_set(ca->r2,buffer); readout_set(ca->r1,buffer);
*ca->v0=rint(smooth*10.); *ca->v0=rint(smooth*10.);
*ca->v1=rint(trigger*10.); *ca->v1=rint(release*10.);
*ca->v2=rint(release*10.);
} }
static void suppress_link(GtkToggleButton *b,gpointer in){ static void suppress_link(GtkToggleButton *b,gpointer in){
...@@ -171,11 +152,10 @@ static suppress_panel_state *suppresspanel_create_helper(postfish_mainpanel *mp, ...@@ -171,11 +152,10 @@ static suppress_panel_state *suppresspanel_create_helper(postfish_mainpanel *mp,
float timing_levels[5]={1, 10, 100, 1000, 10000}; float timing_levels[5]={1, 10, 100, 1000, 10000};
char *timing_labels[5]={"","10ms"," 100ms","1s","10s"}; char *timing_labels[5]={"","10ms"," 100ms","1s","10s"};
GtkWidget *table=gtk_table_new(suppress_freqs+4,5,0); GtkWidget *table=gtk_table_new(suppress_freqs+4,4,0);
GtkWidget *timinglabel=gtk_label_new("suppressor filter timing"); GtkWidget *timinglabel=gtk_label_new("suppressor filter timing");
GtkWidget *releaselabel=gtk_label_new("release"); GtkWidget *releaselabel=gtk_label_new("release");
GtkWidget *smoothlabel=gtk_label_new("smooth"); GtkWidget *smoothlabel=gtk_label_new("smooth");
GtkWidget *triggerlabel=gtk_label_new("trigger");
GtkWidget *compandlabel=gtk_label_new("suppression depth"); GtkWidget *compandlabel=gtk_label_new("suppression depth");
GtkWidget *linkbutton= GtkWidget *linkbutton=
...@@ -197,20 +177,16 @@ static suppress_panel_state *suppresspanel_create_helper(postfish_mainpanel *mp, ...@@ -197,20 +177,16 @@ static suppress_panel_state *suppresspanel_create_helper(postfish_mainpanel *mp,
GTK_EXPAND|GTK_FILL, GTK_EXPAND|GTK_FILL,
GTK_EXPAND|GTK_FILL, GTK_EXPAND|GTK_FILL,
0,0); 0,0);
gtk_table_attach(GTK_TABLE(table),triggerlabel,3,4,0,1, gtk_table_attach(GTK_TABLE(table),releaselabel,3,4,0,1,
GTK_EXPAND|GTK_FILL, GTK_EXPAND|GTK_FILL,
GTK_EXPAND|GTK_FILL, GTK_EXPAND|GTK_FILL,
0,0); 0,0);
gtk_table_attach(GTK_TABLE(table),releaselabel,4,5,0,1, gtk_table_attach(GTK_TABLE(table),compandlabel,0,3,2,3,
GTK_EXPAND|GTK_FILL,
GTK_EXPAND|GTK_FILL,
0,0);
gtk_table_attach(GTK_TABLE(table),compandlabel,0,4,2,3,
GTK_EXPAND|GTK_FILL, GTK_EXPAND|GTK_FILL,
GTK_EXPAND|GTK_FILL, GTK_EXPAND|GTK_FILL,
0,5); 0,5);
if(input_ch>1) if(input_ch>1)
gtk_table_attach(GTK_TABLE(table),linkbox,0,5,suppress_freqs+3, gtk_table_attach(GTK_TABLE(table),linkbox,0,4,suppress_freqs+3,
suppress_freqs+4,GTK_FILL|GTK_EXPAND,0,0,10); suppress_freqs+4,GTK_FILL|GTK_EXPAND,0,0,10);
gtk_table_set_row_spacing(GTK_TABLE(table),1,5); gtk_table_set_row_spacing(GTK_TABLE(table),1,5);
...@@ -219,8 +195,6 @@ static suppress_panel_state *suppresspanel_create_helper(postfish_mainpanel *mp, ...@@ -219,8 +195,6 @@ static suppress_panel_state *suppresspanel_create_helper(postfish_mainpanel *mp,
gtk_widget_set_name(timinglabel,"framelabel"); gtk_widget_set_name(timinglabel,"framelabel");
gtk_misc_set_alignment(GTK_MISC(smoothlabel),.5,1.); gtk_misc_set_alignment(GTK_MISC(smoothlabel),.5,1.);
gtk_widget_set_name(smoothlabel,"scalemarker"); gtk_widget_set_name(smoothlabel,"scalemarker");
gtk_misc_set_alignment(GTK_MISC(triggerlabel),.5,1.);
gtk_widget_set_name(triggerlabel,"scalemarker");
gtk_misc_set_alignment(GTK_MISC(releaselabel),.5,1.); gtk_misc_set_alignment(GTK_MISC(releaselabel),.5,1.);
gtk_widget_set_name(releaselabel,"scalemarker"); gtk_widget_set_name(releaselabel,"scalemarker");
gtk_misc_set_alignment(GTK_MISC(compandlabel),0,1.); gtk_misc_set_alignment(GTK_MISC(compandlabel),0,1.);
...@@ -233,23 +207,20 @@ static suppress_panel_state *suppresspanel_create_helper(postfish_mainpanel *mp, ...@@ -233,23 +207,20 @@ static suppress_panel_state *suppresspanel_create_helper(postfish_mainpanel *mp,
/* timing controls */ /* timing controls */
{ {
GtkWidget *slider=multibar_slider_new(5,timing_labels,timing_levels,3); GtkWidget *slider=multibar_slider_new(5,timing_labels,timing_levels,2);
ps->timing.s=MULTIBAR(slider); ps->timing.s=MULTIBAR(slider);
ps->timing.r0=READOUT(readout_new("10.0ms")); ps->timing.r0=READOUT(readout_new("10.0ms"));
ps->timing.r1=READOUT(readout_new("10.0ms")); ps->timing.r1=READOUT(readout_new("10.0ms"));
ps->timing.r2=READOUT(readout_new("10.0ms"));
ps->timing.v0=&sset->smooth; ps->timing.v0=&sset->smooth;
ps->timing.v1=&sset->trigger; ps->timing.v1=&sset->release;
ps->timing.v2=&sset->release;
multibar_callback(MULTIBAR(slider),timing_change,&ps->timing); multibar_callback(MULTIBAR(slider),timing_change,&ps->timing);
multibar_thumb_set(MULTIBAR(slider),80,0); multibar_thumb_set(MULTIBAR(slider),80,0);
multibar_thumb_set(MULTIBAR(slider),100,1); multibar_thumb_set(MULTIBAR(slider),400,2);
multibar_thumb_set(MULTIBAR(slider),2000,2);
gtk_table_attach(GTK_TABLE(table),slider,1,2,1,2, gtk_table_attach(GTK_TABLE(table),slider,1,2,1,2,
GTK_FILL|GTK_EXPAND,GTK_EXPAND,5,0); GTK_FILL|GTK_EXPAND,GTK_EXPAND,5,0);
...@@ -257,8 +228,6 @@ static suppress_panel_state *suppresspanel_create_helper(postfish_mainpanel *mp, ...@@ -257,8 +228,6 @@ static suppress_panel_state *suppresspanel_create_helper(postfish_mainpanel *mp,
0,0,0,0); 0,0,0,0);
gtk_table_attach(GTK_TABLE(table),GTK_WIDGET(ps->timing.r1),3,4,1,2, gtk_table_attach(GTK_TABLE(table),GTK_WIDGET(ps->timing.r1),3,4,1,2,
0,0,0,0); 0,0,0,0);
gtk_table_attach(GTK_TABLE(table),GTK_WIDGET(ps->timing.r2),4,5,1,2,
0,0,0,0);
} }
/* threshold controls */ /* threshold controls */
...@@ -281,9 +250,9 @@ static suppress_panel_state *suppresspanel_create_helper(postfish_mainpanel *mp, ...@@ -281,9 +250,9 @@ static suppress_panel_state *suppresspanel_create_helper(postfish_mainpanel *mp,
gtk_table_attach(GTK_TABLE(table),label,0,1,i+3,i+4, gtk_table_attach(GTK_TABLE(table),label,0,1,i+3,i+4,
GTK_FILL,0,0,0); GTK_FILL,0,0,0);
gtk_table_attach(GTK_TABLE(table),ps->bars[i].cslider,1,4,i+3,i+4, gtk_table_attach(GTK_TABLE(table),ps->bars[i].cslider,1,3,i+3,i+4,
GTK_FILL|GTK_EXPAND,GTK_EXPAND,5,0); GTK_FILL|GTK_EXPAND,GTK_EXPAND,5,0);
gtk_table_attach(GTK_TABLE(table),GTK_WIDGET(ps->bars[i].readoutc),4,5, gtk_table_attach(GTK_TABLE(table),GTK_WIDGET(ps->bars[i].readoutc),3,4,
i+3,i+4,0,0,0,0); i+3,i+4,0,0,0,0);
} }
subpanel_show_all_but_toplevel(panel); subpanel_show_all_but_toplevel(panel);
......
#define VERSION "$Id$ " #define VERSION "$Id$ "
/* DO NOT EDIT: Automated versioning hack [Mon Jun 28 22:53:51 EDT 2004] */ /* DO NOT EDIT: Automated versioning hack [Thu Sep 16 00:53:42 EDT 2004] */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment