Mixer: Don't lose panner settings when toggling Spatializer Advanced Options.
This commit is contained in:
parent
b3a9d0be1d
commit
cf5c557c2f
|
@ -166,7 +166,11 @@ public:
|
||||||
|
|
||||||
if ( _flow )
|
if ( _flow )
|
||||||
{
|
{
|
||||||
Y += LH + _vspacing;
|
if ( _flowdown )
|
||||||
|
Y += LH + _vspacing;
|
||||||
|
else
|
||||||
|
Y += RH + _vspacing;
|
||||||
|
|
||||||
X += LW + _hspacing;
|
X += LW + _hspacing;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
@ -107,6 +107,8 @@ Module_Parameter_Editor::Module_Parameter_Editor ( Module *module ) : Fl_Double_
|
||||||
{ Fl_Flowpack *o = control_pack = new Fl_Flowpack( 50, 0, w() - 100, h() );
|
{ Fl_Flowpack *o = control_pack = new Fl_Flowpack( 50, 0, w() - 100, h() );
|
||||||
/* o->box( FL_ROUNDED_BOX ); */
|
/* o->box( FL_ROUNDED_BOX ); */
|
||||||
/* o->color( FL_GRAY ); */
|
/* o->color( FL_GRAY ); */
|
||||||
|
o->type( FL_HORIZONTAL );
|
||||||
|
o->flow( true );
|
||||||
o->vspacing( 10 );
|
o->vspacing( 10 );
|
||||||
o->hspacing( 10 );
|
o->hspacing( 10 );
|
||||||
o->end();
|
o->end();
|
||||||
|
@ -159,8 +161,8 @@ Module_Parameter_Editor::make_controls ( void )
|
||||||
|
|
||||||
Module::Port *p = &module->control_input[i];
|
Module::Port *p = &module->control_input[i];
|
||||||
|
|
||||||
if ( !p->hints.visible )
|
/* if ( !p->hints.visible ) */
|
||||||
continue;
|
/* continue; */
|
||||||
|
|
||||||
if ( !strcasecmp( "Azimuth", p->name() ) &&
|
if ( !strcasecmp( "Azimuth", p->name() ) &&
|
||||||
180.0f == p->hints.maximum &&
|
180.0f == p->hints.maximum &&
|
||||||
|
@ -309,6 +311,10 @@ Module_Parameter_Editor::make_controls ( void )
|
||||||
o->size( flg->w(), flg->h() + bound->h() );
|
o->size( flg->w(), flg->h() + bound->h() );
|
||||||
o->init_sizes();
|
o->init_sizes();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (! p->hints.visible )
|
||||||
|
o->hide();
|
||||||
|
|
||||||
control_pack->add( o );
|
control_pack->add( o );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -326,8 +332,6 @@ Module_Parameter_Editor::make_controls ( void )
|
||||||
o->align(FL_ALIGN_TOP);
|
o->align(FL_ALIGN_TOP);
|
||||||
o->when(FL_WHEN_CHANGED);
|
o->when(FL_WHEN_CHANGED);
|
||||||
o->label( "Spatialization" );
|
o->label( "Spatialization" );
|
||||||
|
|
||||||
o->align(FL_ALIGN_TOP);
|
|
||||||
o->labelsize( 10 );
|
o->labelsize( 10 );
|
||||||
|
|
||||||
_callback_data.push_back( callback_data( this, azimuth_port_number, elevation_port_number, radius_port_number ) );
|
_callback_data.push_back( callback_data( this, azimuth_port_number, elevation_port_number, radius_port_number ) );
|
||||||
|
@ -351,6 +355,7 @@ Module_Parameter_Editor::make_controls ( void )
|
||||||
controls_by_port[radius_port_number] = o;
|
controls_by_port[radius_port_number] = o;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
update_control_visibility();
|
||||||
|
|
||||||
int width = control_pack->max_width() + 100;
|
int width = control_pack->max_width() + 100;
|
||||||
int height = control_pack->h() + 50;
|
int height = control_pack->h() + 50;
|
||||||
|
@ -363,6 +368,20 @@ Module_Parameter_Editor::make_controls ( void )
|
||||||
size_range( width, height, width, height );
|
size_range( width, height, width, height );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
Module_Parameter_Editor::update_control_visibility ( void )
|
||||||
|
{
|
||||||
|
for ( unsigned int i = 0; i < _module->control_input.size(); ++i )
|
||||||
|
{
|
||||||
|
const Module::Port *p = &_module->control_input[i];
|
||||||
|
|
||||||
|
if ( p->hints.visible )
|
||||||
|
controls_by_port[i]->parent()->parent()->show();
|
||||||
|
else
|
||||||
|
controls_by_port[i]->parent()->parent()->hide();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
Module_Parameter_Editor::cb_value_handle ( Fl_Widget *w, void *v )
|
Module_Parameter_Editor::cb_value_handle ( Fl_Widget *w, void *v )
|
||||||
{
|
{
|
||||||
|
@ -472,7 +491,8 @@ Module_Parameter_Editor::handle_control_changed ( Module::Port *p )
|
||||||
void
|
void
|
||||||
Module_Parameter_Editor::reload ( void )
|
Module_Parameter_Editor::reload ( void )
|
||||||
{
|
{
|
||||||
make_controls();
|
// make_controls();
|
||||||
|
update_control_visibility();
|
||||||
redraw();
|
redraw();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -66,6 +66,7 @@ class Module_Parameter_Editor : public Fl_Double_Window
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
void update_control_visibility ( void );
|
||||||
static void cb_button_handle ( Fl_Widget *w, void *v );
|
static void cb_button_handle ( Fl_Widget *w, void *v );
|
||||||
static void cb_value_handle ( Fl_Widget *w, void *v );
|
static void cb_value_handle ( Fl_Widget *w, void *v );
|
||||||
static void cb_panner_value_handle ( Fl_Widget *w, void *v );
|
static void cb_panner_value_handle ( Fl_Widget *w, void *v );
|
||||||
|
|
Loading…
Reference in New Issue