Browse Source

Mixer: Improve display of strip 'control' tab.

tags/non-daw-v1.2.0
Jonathan Moore Liles 11 years ago
parent
commit
ea0c2839c1
7 changed files with 57 additions and 32 deletions
  1. +2
    -1
      FL/Fl_Labelpad_Group.H
  2. +3
    -5
      mixer/src/Chain.C
  3. +1
    -1
      mixer/src/Chain.H
  4. +47
    -24
      mixer/src/Controller_Module.C
  5. +2
    -0
      mixer/src/Controller_Module.H
  6. +1
    -0
      mixer/src/Mixer_Strip.C
  7. +1
    -1
      mixer/src/Module_Parameter_Editor.C

+ 2
- 1
FL/Fl_Labelpad_Group.H View File

@@ -67,7 +67,8 @@ public:
{ {
/* TODO: other alignments */ /* TODO: other alignments */
} }
resizable(o);
init_sizes(); init_sizes();
} }




+ 3
- 5
mixer/src/Chain.C View File

@@ -144,11 +144,9 @@ Chain::Chain ( ) : Fl_Group( 0, 0, 100, 100, "")
o->color( FL_BACKGROUND_COLOR ); o->color( FL_BACKGROUND_COLOR );
o->box( FL_NO_BOX ); o->box( FL_NO_BOX );
o->type( Fl_Scroll::VERTICAL ); o->type( Fl_Scroll::VERTICAL );
{ Fl_Flowpack *o = controls_pack = new Fl_Flowpack( X, Y, W, H );
o->type( FL_VERTICAL );
o->hspacing( 10 );
o->vspacing( 10 );
o->box( FL_NO_BOX );
{ Fl_Pack *o = controls_pack = new Fl_Pack( X, Y, W, H );
o->type( Fl_Pack::VERTICAL );
o->spacing( 5 );
// o->color( FL_RED ); // o->color( FL_RED );
o->end(); o->end();
Fl_Group::current()->resizable( o ); Fl_Group::current()->resizable( o );


+ 1
- 1
mixer/src/Chain.H View File

@@ -38,7 +38,7 @@ class Controller_Module;
class Chain : public Fl_Group, public Loggable { class Chain : public Fl_Group, public Loggable {


Fl_Flip_Button *tab_button; Fl_Flip_Button *tab_button;
Fl_Flowpack *controls_pack;
Fl_Pack *controls_pack;
Fl_Group *chain_tab; Fl_Group *chain_tab;
Fl_Group *control_tab; Fl_Group *control_tab;
Fl_Pack *modules_pack; Fl_Pack *modules_pack;


+ 47
- 24
mixer/src/Controller_Module.C View File

@@ -57,6 +57,7 @@ Controller_Module::Controller_Module ( bool is_default ) : Module( is_default, 5
// label( "" ); // label( "" );
box( FL_NO_BOX ); box( FL_NO_BOX );


_horizontal = true;
_pad = true; _pad = true;
control = 0; control = 0;
control_value =0.0f; control_value =0.0f;
@@ -426,50 +427,70 @@ Controller_Module::connect_to ( Port *p )


o->value( p->control_value() ); o->value( p->control_value() );
} }
else if ( p->hints.type == Module::Port::Hints::LOGARITHMIC )
// else if ( p->hints.type == Module::Port::Hints::LOGARITHMIC )
else
{ {
Fl_Value_SliderX *o = new Fl_Value_SliderX(0, 0, 30, 250, p->name() ); Fl_Value_SliderX *o = new Fl_Value_SliderX(0, 0, 30, 250, p->name() );
control = o; control = o;
w = o; w = o;


o->type(4);
if ( ! _horizontal )
{
o->size( 30, 250 );
o->type(FL_VERT_NICE_SLIDER);
}
else
{
o->size(250,20);
o->type(FL_HOR_NICE_SLIDER);
}

// o->type(4);
o->color( FL_BACKGROUND2_COLOR ); o->color( FL_BACKGROUND2_COLOR );
o->selection_color( fl_color_average( FL_GRAY, FL_CYAN, 0.5 ) ); o->selection_color( fl_color_average( FL_GRAY, FL_CYAN, 0.5 ) );
o->minimum(1.5); o->minimum(1.5);
o->maximum(0); o->maximum(0);
o->value(1); o->value(1);
o->textsize(9);
// o->textsize(9);


if ( p->hints.ranged ) if ( p->hints.ranged )
{ {
o->minimum( p->hints.maximum );
o->maximum( p->hints.minimum );
if ( ! _horizontal )
{
o->minimum( p->hints.maximum );
o->maximum( p->hints.minimum );
}
else
{
o->minimum( p->hints.minimum );
o->maximum( p->hints.maximum );
}
} }


o->value( p->control_value() ); o->value( p->control_value() );


_type = SLIDER; _type = SLIDER;
} }
else
{
{ Fl_DialX *o = new Fl_DialX( 0, 0, 50, 50, p->name() );
w = o;
control = o;
if ( p->hints.ranged )
{
DMESSAGE( "Min: %f, max: %f", p->hints.minimum, p->hints.maximum );
o->minimum( p->hints.minimum );
o->maximum( p->hints.maximum );
}
/* else */
/* { */
/* { Fl_DialX *o = new Fl_DialX( 0, 0, 50, 50, p->name() ); */
/* w = o; */
/* control = o; */
/* if ( p->hints.ranged ) */
/* { */
/* DMESSAGE( "Min: %f, max: %f", p->hints.minimum, p->hints.maximum ); */
/* o->minimum( p->hints.minimum ); */
/* o->maximum( p->hints.maximum ); */
/* } */
o->color( fl_darker( FL_GRAY ) );
o->selection_color( FL_WHITE );
o->value( p->control_value() );
}
/* o->color( fl_darker( FL_GRAY ) ); */
/* o->selection_color( FL_WHITE ); */
/* o->value( p->control_value() ); */
/* } */


_type = KNOB;
}
/* _type = KNOB; */
/* } */


control_value = p->control_value(); control_value = p->control_value();


@@ -485,6 +506,8 @@ Controller_Module::connect_to ( Port *p )
size( flg->w(), flg->h() ); size( flg->w(), flg->h() );
flg->position( x(), y() ); flg->position( x(), y() );
add( flg ); add( flg );
resizable(flg);
// init_sizes();
} }
else else
{ {
@@ -500,7 +523,7 @@ Controller_Module::connect_to ( Port *p )
w->resize( x(), y(), this->w(), h() ); w->resize( x(), y(), this->w(), h() );
add( w ); add( w );
resizable( w ); resizable( w );
// init_sizes();
init_sizes();
} }
} }




+ 2
- 0
mixer/src/Controller_Module.H View File

@@ -33,6 +33,7 @@ class Controller_Module : public Module
{ {


bool _pad; bool _pad;
bool _horizontal;


volatile float control_value; volatile float control_value;


@@ -65,6 +66,7 @@ public:
Mode mode ( void ) const { return _mode; } Mode mode ( void ) const { return _mode; }
void mode ( Mode v ); void mode ( Mode v );


void horizontal ( bool v ) { _horizontal = v; }
Type type ( void ) const { return _type; } Type type ( void ) const { return _type; }


Controller_Module ( bool is_default = false ); Controller_Module ( bool is_default = false );


+ 1
- 0
mixer/src/Mixer_Strip.C View File

@@ -649,6 +649,7 @@ Mixer_Strip::init ( )
o->spacing( 20 ); o->spacing( 20 );
o->type( Fl_Scalepack::HORIZONTAL ); o->type( Fl_Scalepack::HORIZONTAL );
{ Controller_Module *o = gain_controller = new Controller_Module( true ); { Controller_Module *o = gain_controller = new Controller_Module( true );
o->horizontal(false);
o->pad( false ); o->pad( false );
o->size( 33, 100 ); o->size( 33, 100 );
} }


+ 1
- 1
mixer/src/Module_Parameter_Editor.C View File

@@ -432,7 +432,7 @@ Module_Parameter_Editor::bind_control ( int i )
Controller_Module *o = new Controller_Module(); Controller_Module *o = new Controller_Module();
o->label( p->name() ); o->label( p->name() );
o->chain( _module->chain() ); o->chain( _module->chain() );
o->horizontal( true );
o->connect_to( p ); o->connect_to( p );


_module->chain()->add_control( o ); _module->chain()->add_control( o );


Loading…
Cancel
Save