|
|
@@ -91,6 +91,17 @@ Controller_Module::handle_chain_name_changed() |
|
|
|
// change_osc_path( generate_osc_path() ); |
|
|
|
} |
|
|
|
|
|
|
|
void |
|
|
|
Controller_Module::disconnect ( void ) |
|
|
|
{ |
|
|
|
for ( std::vector<Module::Port>::iterator i = control_output.begin(); |
|
|
|
i != control_output.end(); |
|
|
|
++i ) |
|
|
|
{ |
|
|
|
(*i).disconnect(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void |
|
|
@@ -99,11 +110,21 @@ Controller_Module::get ( Log_Entry &e ) const |
|
|
|
Module::get( e ); |
|
|
|
|
|
|
|
Port *p = control_output[0].connected_port(); |
|
|
|
Module *m = p->module(); |
|
|
|
|
|
|
|
e.add( ":module", m ); |
|
|
|
e.add( ":port", m->control_input_port_index( p ) ); |
|
|
|
e.add( ":mode", mode() ); |
|
|
|
if ( !p ) |
|
|
|
{ |
|
|
|
e.add( ":module", "" ); |
|
|
|
e.add( ":port", "" ); |
|
|
|
e.add( ":mode", "" ); |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
Module *m = p->module(); |
|
|
|
|
|
|
|
e.add( ":module", m ); |
|
|
|
e.add( ":port", m->control_input_port_index( p ) ); |
|
|
|
e.add( ":mode", mode() ); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
void |
|
|
@@ -485,6 +506,8 @@ Controller_Module::menu_cb ( const Fl_Menu_ *m ) |
|
|
|
mode( GUI ); |
|
|
|
else if ( ! strcmp( picked, "Mode/Control Voltage (JACK)" ) ) |
|
|
|
mode( CV ); |
|
|
|
else if ( ! strcmp( picked, "/Remove" ) ) |
|
|
|
command_remove(); |
|
|
|
} |
|
|
|
|
|
|
|
/** build the context menu for this control */ |
|
|
@@ -498,7 +521,8 @@ Controller_Module::menu ( void ) |
|
|
|
{ "Mode", 0, 0, 0, FL_SUBMENU }, |
|
|
|
{ "GUI + OSC", 0, 0, 0, FL_MENU_RADIO | ( mode() == GUI ? FL_MENU_VALUE : 0 ) }, |
|
|
|
{ "Control Voltage (JACK)", 0, 0, 0, FL_MENU_RADIO | ( mode() == CV ? FL_MENU_VALUE : 0 ) }, |
|
|
|
{ 0 }, |
|
|
|
{ 0 }, |
|
|
|
{ "Remove", 0, 0, 0, 0 }, |
|
|
|
{ 0 }, |
|
|
|
}; |
|
|
|
|
|
|
@@ -569,6 +593,18 @@ Controller_Module::handle_control_changed ( Port *p ) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
void |
|
|
|
Controller_Module::command_remove ( void ) |
|
|
|
{ |
|
|
|
if ( is_default() ) |
|
|
|
fl_alert( "Default modules may not be deleted." ); |
|
|
|
else |
|
|
|
{ |
|
|
|
chain()->remove( this ); |
|
|
|
Fl::delete_widget( this ); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
/**********/ |
|
|
|
/* Engine */ |
|
|
|
/**********/ |
|
|
|