Fl_Menu_Button & Control_Sequence::menu ( void ) { static Fl_Menu_Button _menu( 0, 0, 0, 0, "Control Sequence" ); _menu.clear(); if ( mode() == OSC ) { add_osc_peers_to_menu( &_menu, "Connect To" ); } _menu.add( "Interpolation/None", 0, 0, 0, FL_MENU_RADIO | ( interpolation() == None ? FL_MENU_VALUE : 0 ) ); _menu.add( "Interpolation/Linear", 0, 0, 0, FL_MENU_RADIO | ( interpolation() == Linear ? FL_MENU_VALUE : 0 ) ); _menu.add( "Mode/Control Voltage (JACK)", 0, 0, 0 ,FL_MENU_RADIO | ( mode() == CV ? FL_MENU_VALUE : 0 ) ); _menu.add( "Mode/Control Signal (OSC)", 0, 0, 0 , FL_MENU_RADIO | ( mode() == OSC ? FL_MENU_VALUE : 0 ) ); _menu.add( "Rename", 0, 0, 0 ); _menu.add( "Color", 0, 0, 0 ); _menu.add( "Remove", 0, 0, 0 ); _menu.callback( &Control_Sequence::menu_cb, (void*)this); return _menu; }
/** build the context menu for this control */ Fl_Menu_Button & Controller_Module::menu ( void ) { static Fl_Menu_Button m( 0, 0, 0, 0, "Controller" ); m.clear(); if ( mode() == GUI ) { add_osc_peers_to_menu( &m, "Connect To" ); add_osc_connections_to_menu( &m, "Disconnect From" ); } m.add( "Mode/GUI + OSC", 0, 0, 0, FL_MENU_RADIO | ( mode() == GUI ? FL_MENU_VALUE : 0 )); m.add( "Mode/Control Voltage (JACK)", 0, 0, 0, FL_MENU_RADIO | ( mode() == CV ? FL_MENU_VALUE : 0 )); m.add( "Remove", 0, 0, 0, is_default() ? FL_MENU_INACTIVE : 0 ); // menu_set_callback( m.items(), &Controller_Module::menu_cb, (void*)this ); m.callback( &Controller_Module::menu_cb, (void*)this ); // m.copy( items, (void*)this ); return m; }
/** build the context menu */ Fl_Menu_Button & Module::menu ( void ) const { static Fl_Menu_Button m( 0, 0, 0, 0, "Module" ); static Fl_Menu_Button *insert_menu = NULL; if ( ! insert_menu ) { insert_menu = new Fl_Menu_Button( 0, 0, 0, 0 ); insert_menu->add( "Gain", 0, 0 ); insert_menu->add( "Meter", 0, 0 ); insert_menu->add( "Mono Pan", 0, 0 ); insert_menu->add( "Aux", 0, 0 ); insert_menu->add( "Spatializer", 0, 0 ); insert_menu->add( "Plugin", 0, 0 ); insert_menu->callback( &Module::insert_menu_cb, (void*)this ); } m.clear(); m.add( "Insert", 0, &Module::menu_cb, (void*)this, 0); m.add( "Insert", 0, &Module::menu_cb, const_cast< Fl_Menu_Item *>( insert_menu->menu() ), FL_SUBMENU_POINTER ); m.add( "Edit Parameters", ' ', &Module::menu_cb, (void*)this, 0 ); m.add( "Show Analysis", 's', &Module::menu_cb, (void*)this, 0); m.add( "Bypass", 'b', &Module::menu_cb, (void*)this, FL_MENU_TOGGLE | ( bypass() ? FL_MENU_VALUE : 0 ) ); m.add( "Cut", FL_CTRL + 'x', &Module::menu_cb, (void*)this, is_default() ? FL_MENU_INACTIVE : 0 ); m.add( "Copy", FL_CTRL + 'c', &Module::menu_cb, (void*)this, is_default() ? FL_MENU_INACTIVE : 0 ); m.add( "Paste", FL_CTRL + 'v', &Module::menu_cb, (void*)this, _copied_module_empty ? 0 : FL_MENU_INACTIVE ); m.add( "Remove", FL_Delete, &Module::menu_cb, (void*)this ); // menu_set_callback( menu, &Module::menu_cb, (void*)this ); m.callback( &Module::insert_menu_cb, (void*)this ); return m; }
/** build the context menu */ Fl_Menu_Button & Track::menu ( void ) const { int c = output.size(); int s = size(); _menu.clear(); _menu.add( "Takes/Show all takes", 0, 0, 0, FL_MENU_TOGGLE | ( show_all_takes() ? FL_MENU_VALUE : 0 ) ); _menu.add( "Takes/New", 0, 0, 0 ); if ( takes->children() ) { _menu.add( "Takes/Remove", 0, 0, 0 ); _menu.add( "Takes/Remove others", 0, 0, 0, FL_MENU_DIVIDER ); for ( int i = 0; i < takes->children(); ++i ) { Sequence *s = (Sequence *)takes->child( i ); char n[256]; snprintf( n, sizeof(n), "Takes/%s", s->name() ); _menu.add( n, 0, 0, s); } } _menu.add( "Type/Mono", 0, 0, 0, FL_MENU_RADIO | ( c == 1 ? FL_MENU_VALUE : 0 ) ); _menu.add( "Type/Stereo", 0, 0, 0, FL_MENU_RADIO | ( c == 2 ? FL_MENU_VALUE : 0 )); _menu.add( "Type/Quad", 0, 0, 0, FL_MENU_RADIO | ( c == 4 ? FL_MENU_VALUE : 0 ) ); _menu.add( "Type/...", 0, 0, 0, FL_MENU_RADIO | ( c == 3 || c > 4 ? FL_MENU_VALUE : 0 ) ); _menu.add( "Overlay controls", 0, 0, 0, FL_MENU_TOGGLE | ( overlay_controls() ? FL_MENU_VALUE : 0 ) ); _menu.add( "Add Control", 0, 0, 0 ); _menu.add( "Add Annotation", 0, 0, 0 ); _menu.add( "Color", 0, 0, 0 ); _menu.add( "Rename", FL_CTRL + 'n', 0, 0 ); _menu.add( "Size/Small", FL_ALT + '1', 0, 0, FL_MENU_RADIO | ( s == 0 ? FL_MENU_VALUE : 0 ) ); _menu.add( "Size/Medium", FL_ALT + '2', 0, 0, FL_MENU_RADIO | ( s == 1 ? FL_MENU_VALUE : 0 ) ); _menu.add( "Size/Large", FL_ALT + '3', 0, 0, FL_MENU_RADIO | ( s == 2 ? FL_MENU_VALUE : 0 ) ); _menu.add( "Size/Huge", FL_ALT + '4', 0, 0, FL_MENU_RADIO | ( s == 3 ? FL_MENU_VALUE : 0 ) ); _menu.add( "Flags/Record", FL_CTRL + 'r', 0, 0, FL_MENU_TOGGLE | ( armed() ? FL_MENU_VALUE : 0 ) ); _menu.add( "Flags/Mute", FL_CTRL + 'm', 0, 0, FL_MENU_TOGGLE | ( mute() ? FL_MENU_VALUE : 0 ) ); _menu.add( "Flags/Solo", FL_CTRL + 's', 0, 0, FL_MENU_TOGGLE | ( solo() ? FL_MENU_VALUE : 0 ) ); _menu.add( "Move Up", FL_SHIFT + '1', 0, 0 ); _menu.add( "Move Down", FL_SHIFT + '2', 0, 0 ); _menu.add( "Remove", 0, 0, 0 ); // transport->rolling ? FL_MENU_INACTIVE : 0 ); _menu.callback( &Track::menu_cb, (void*)this ); return _menu; }