| @@ -1,5 +1,5 @@ | |||||
| # data file for the Fltk User Interface Designer (fluid) | # data file for the Fltk User Interface Designer (fluid) | ||||
| version 1.0108 | |||||
| version 1.0110 | |||||
| header_name {.H} | header_name {.H} | ||||
| code_name {.C} | code_name {.C} | ||||
| comment {// | comment {// | ||||
| @@ -168,8 +168,8 @@ if ( Fl::event() == FL_SHORTCUT && Fl::event_key() == FL_Escape ) | |||||
| return; | return; | ||||
| if ( maybe_save_song() ) | if ( maybe_save_song() ) | ||||
| quit();} open selected | |||||
| xywh {394 40 865 800} type Double box PLASTIC_UP_BOX color 37 resizable xclass non size_range {600 420 0 0} visible | |||||
| quit();} open | |||||
| xywh {209 100 865 800} type Double box PLASTIC_UP_BOX color 37 resizable xclass non size_range {600 420 0 0} visible | |||||
| } { | } { | ||||
| Fl_Menu_Bar menu_bar {open | Fl_Menu_Bar menu_bar {open | ||||
| xywh {0 0 869 30} color 37 | xywh {0 0 869 30} color 37 | ||||
| @@ -558,7 +558,7 @@ if ( p ) | |||||
| phrase_c->grid( p ); | phrase_c->grid( p ); | ||||
| o->maximum( phrase::phrases() );} | o->maximum( phrase::phrases() );} | ||||
| xywh {164 703 40 25} color 36 labeltype NO_LABEL when 1 value 1 | |||||
| xywh {164 703 40 25} color 36 labeltype NO_LABEL when 1 | |||||
| } | } | ||||
| Fl_Light_Button phrase_mute_button { | Fl_Light_Button phrase_mute_button { | ||||
| label Mute | label Mute | ||||
| @@ -604,7 +604,7 @@ if ( p ) | |||||
| pattern_c->grid( p ); | pattern_c->grid( p ); | ||||
| o->maximum( pattern::patterns() );} | o->maximum( pattern::patterns() );} | ||||
| xywh {164 703 40 25} color 36 labeltype NO_LABEL when 1 value 1 | |||||
| xywh {164 703 40 25} color 36 labeltype NO_LABEL when 1 | |||||
| code0 {o->maximum( 1 );} | code0 {o->maximum( 1 );} | ||||
| code1 {// pattern::signal_create_destroy.connect( sigc::mem_fun( o, static_cast<void (Fl_Spinner::*)(double)>(&Fl_Spinner::maximum) ) );} | code1 {// pattern::signal_create_destroy.connect( sigc::mem_fun( o, static_cast<void (Fl_Spinner::*)(double)>(&Fl_Spinner::maximum) ) );} | ||||
| } | } | ||||
| @@ -642,14 +642,14 @@ pattern_mute_button->value( 0 );} | |||||
| Fl_Spinner pattern_channel_spinner { | Fl_Spinner pattern_channel_spinner { | ||||
| label Channel | label Channel | ||||
| callback {((pattern *)pattern_c->grid())->channel( o->value() - 1 );} | callback {((pattern *)pattern_c->grid())->channel( o->value() - 1 );} | ||||
| xywh {815 700 40 24} color 36 when 1 value 1 | |||||
| xywh {815 700 40 24} color 36 when 1 | |||||
| code0 {\#include "../pattern.H"} | code0 {\#include "../pattern.H"} | ||||
| code1 {o->maximum( 16 );} | code1 {o->maximum( 16 );} | ||||
| } | } | ||||
| Fl_Spinner pattern_port_spinner { | Fl_Spinner pattern_port_spinner { | ||||
| label Port | label Port | ||||
| callback {((pattern *)pattern_c->grid())->port( o->value() - 1 );} | callback {((pattern *)pattern_c->grid())->port( o->value() - 1 );} | ||||
| xywh {815 734 40 24} color 36 when 1 value 1 | |||||
| xywh {815 734 40 24} color 36 when 1 | |||||
| code0 {o->maximum( 16 );} | code0 {o->maximum( 16 );} | ||||
| } | } | ||||
| Fl_Output mapping_text { | Fl_Output mapping_text { | ||||
| @@ -849,68 +849,59 @@ pattern_c->changed_mapping();} | |||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| Fl_Group {} {open | |||||
| xywh {5 33 853 52} | |||||
| Fl_Group {} {open selected | |||||
| xywh {0 29 865 67} | |||||
| } { | } { | ||||
| Fl_Choice playback_mode_menu { | |||||
| label {Playback &Mode} open | |||||
| xywh {751 54 107 30} box PLASTIC_DOWN_BOX down_box BORDER_BOX color 37 align 1 | |||||
| Fl_Pack {} { | |||||
| label Meter open | |||||
| xywh {5 41 200 26} type HORIZONTAL labelsize 9 | |||||
| code0 {o->spacing( 3 );} | |||||
| } { | } { | ||||
| MenuItem {} { | |||||
| label Pattern | |||||
| callback {song.play_mode = PATTERN;} | |||||
| xywh {0 0 40 25} | |||||
| } | |||||
| MenuItem {} { | |||||
| label Sequence | |||||
| callback {song.play_mode = SEQUENCE;} | |||||
| xywh {10 10 40 25} | |||||
| Fl_Box {} { | |||||
| label {BPM:} | |||||
| xywh {5 41 35 26} resizable | |||||
| } | } | ||||
| MenuItem {} { | |||||
| label Trigger | |||||
| callback {song.play_mode = TRIGGER;} | |||||
| xywh {20 20 40 25} | |||||
| Fl_Value_Input {} { | |||||
| callback {transport.set_beats_per_minute( o->value() );} | |||||
| xywh {45 41 55 24} when 8 | |||||
| code1 {transport.signal_tempo_change.connect( sigc::mem_fun( o, static_cast<int (Fl_Valuator::*)(double)>(&Fl_Valuator::value) ) );} | |||||
| code2 {o->value( transport.beats_per_minute );} | |||||
| } | } | ||||
| } | |||||
| Fl_Choice record_mode_menu { | |||||
| label {&Record Mode} | |||||
| callback {if ( ! transport.recording ) | |||||
| config.record_mode = (record_mode_e)o->value(); | |||||
| else | |||||
| o->value( config.record_mode );} open | |||||
| xywh {634 54 107 30} box PLASTIC_DOWN_BOX down_box BORDER_BOX color 37 align 1 | |||||
| } { | |||||
| MenuItem {} { | |||||
| label Merge | |||||
| xywh {10 10 40 25} | |||||
| Fl_Value_Input {} { | |||||
| callback {transport.set_beats_per_bar( o->value() );} | |||||
| xywh {105 41 26 24} | |||||
| code0 {transport.signal_bpb_change.connect( sigc::mem_fun( o, static_cast<int (Fl_Valuator::*)(double)>(&Fl_Valuator::value) ) );} | |||||
| code1 {o->value( transport.beats_per_bar );} | |||||
| } | } | ||||
| MenuItem {} { | |||||
| label Overwrite | |||||
| xywh {20 20 40 25} | |||||
| Fl_Box {} { | |||||
| label {/} | |||||
| xywh {126 41 19 24} | |||||
| } | } | ||||
| MenuItem {} { | |||||
| label Layer | |||||
| xywh {30 30 40 25} | |||||
| Fl_Value_Input {} { | |||||
| callback {transport.set_beat_type( o->value() );} | |||||
| xywh {140 41 24 24} | |||||
| code0 {transport.signal_beat_change.connect( sigc::mem_fun( o, static_cast<int (Fl_Valuator::*)(double)>(&Fl_Valuator::value) ) );} | |||||
| code1 {o->value( transport.beat_type );} | |||||
| } | } | ||||
| MenuItem {} { | |||||
| label New | |||||
| xywh {40 40 40 25} | |||||
| Fl_Box {} { | |||||
| xywh {165 63 40 4} labeltype NO_LABEL | |||||
| } | } | ||||
| } | } | ||||
| Fl_Pack vmetro_widget { | Fl_Pack vmetro_widget { | ||||
| label Metronome open | |||||
| xywh {226 37 245 48} type HORIZONTAL box UP_BOX color 40 selection_color 48 labelsize 33 align 0 resizable | |||||
| label Metronome | |||||
| xywh {210 35 400 60} type HORIZONTAL box UP_BOX color 40 selection_color 48 labelsize 33 align 0 resizable | |||||
| code0 {\#include "widgets.H"} | code0 {\#include "widgets.H"} | ||||
| code1 {o->box( FL_NO_BOX );} | code1 {o->box( FL_NO_BOX );} | ||||
| class Visual_Metronome | class Visual_Metronome | ||||
| } {} | } {} | ||||
| Fl_Group transport_controls_group { | |||||
| xywh {481 37 143 48} | |||||
| Fl_Pack transport_controls_group { | |||||
| xywh {615 44 139 42} type HORIZONTAL | |||||
| code0 {o->spacing( 2 );} | |||||
| } { | } { | ||||
| Fl_Button play_button { | Fl_Button play_button { | ||||
| label {@>} | label {@>} | ||||
| callback {transport.toggle();} | callback {transport.toggle();} | ||||
| xywh {531 43 34 35} shortcut 0x20 labeltype ENGRAVED_LABEL | |||||
| xywh {665 45 34 41} shortcut 0x20 labeltype ENGRAVED_LABEL | |||||
| } | } | ||||
| Fl_Button rec_button { | Fl_Button rec_button { | ||||
| label {@circle} | label {@circle} | ||||
| @@ -937,42 +928,57 @@ else | |||||
| o->labelcolor( FL_WHITE ); | o->labelcolor( FL_WHITE ); | ||||
| }} | }} | ||||
| xywh {575 43 49 35} type Toggle shortcut 0x80072 selection_color 47 labeltype ENGRAVED_LABEL when 1 | |||||
| xywh {709 45 45 41} type Toggle shortcut 0x80072 selection_color 47 labeltype ENGRAVED_LABEL when 1 | |||||
| } | } | ||||
| Fl_Button home_button { | Fl_Button home_button { | ||||
| label {@|<} | label {@|<} | ||||
| callback {transport.locate( 0 );} | callback {transport.locate( 0 );} | ||||
| xywh {481 43 40 35} shortcut 0xff50 labeltype ENGRAVED_LABEL | |||||
| xywh {615 45 40 41} shortcut 0xff50 labeltype ENGRAVED_LABEL | |||||
| } | } | ||||
| } | } | ||||
| Fl_Group {} {open | |||||
| xywh {5 33 208 38} | |||||
| Fl_Choice record_mode_menu { | |||||
| label {&Record Mode} | |||||
| callback {if ( ! transport.recording ) | |||||
| config.record_mode = (record_mode_e)o->value(); | |||||
| else | |||||
| o->value( config.record_mode );} open | |||||
| xywh {760 40 100 20} box PLASTIC_DOWN_BOX down_box BORDER_BOX color 37 labelsize 9 align 1 | |||||
| } { | } { | ||||
| Fl_Box {} { | |||||
| label {BPM:} | |||||
| xywh {5 37 35 34} | |||||
| MenuItem {} { | |||||
| label Merge | |||||
| xywh {15 15 40 25} | |||||
| } | } | ||||
| Fl_Counter {} { | |||||
| callback {transport.set_beats_per_minute( o->value() );} | |||||
| xywh {43 41 97 24} labeltype NO_LABEL align 4 step 0.1 | |||||
| code1 {transport.signal_tempo_change.connect( sigc::mem_fun( o, static_cast<int (Fl_Counter::*)(double)>(&Fl_Counter::value) ) );} | |||||
| code2 {o->value( transport.beats_per_minute );} | |||||
| MenuItem {} { | |||||
| label Overwrite | |||||
| xywh {25 25 40 25} | |||||
| } | } | ||||
| Fl_Value_Input {} { | |||||
| callback {transport.set_beats_per_bar( o->value() );} | |||||
| xywh {149 41 26 24} | |||||
| code0 {transport.signal_bpb_change.connect( sigc::mem_fun( o, static_cast<int (Fl_Valuator::*)(double)>(&Fl_Valuator::value) ) );} | |||||
| code1 {o->value( transport.beats_per_bar );} | |||||
| MenuItem {} { | |||||
| label Layer | |||||
| xywh {35 35 40 25} | |||||
| } | } | ||||
| Fl_Value_Input {} { | |||||
| callback {transport.set_beat_type( o->value() );} | |||||
| xywh {189 41 24 24} | |||||
| code0 {transport.signal_beat_change.connect( sigc::mem_fun( o, static_cast<int (Fl_Valuator::*)(double)>(&Fl_Valuator::value) ) );} | |||||
| code1 {o->value( transport.beat_type );} | |||||
| MenuItem {} { | |||||
| label New | |||||
| xywh {45 45 40 25} | |||||
| } | } | ||||
| Fl_Box {} { | |||||
| label {/} | |||||
| xywh {170 41 19 24} | |||||
| } | |||||
| Fl_Choice playback_mode_menu { | |||||
| label {Playback &Mode} open | |||||
| xywh {760 74 100 21} box PLASTIC_DOWN_BOX down_box BORDER_BOX color 37 labelsize 9 align 1 | |||||
| } { | |||||
| MenuItem {} { | |||||
| label Pattern | |||||
| callback {song.play_mode = PATTERN;} | |||||
| xywh {5 5 40 25} | |||||
| } | |||||
| MenuItem {} { | |||||
| label Sequence | |||||
| callback {song.play_mode = SEQUENCE;} | |||||
| xywh {15 15 40 25} | |||||
| } | |||||
| MenuItem {} { | |||||
| label Trigger | |||||
| callback {song.play_mode = TRIGGER;} | |||||
| xywh {25 25 40 25} | |||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| @@ -1074,9 +1080,9 @@ You should have received a copy of the GNU General Public License along with thi | |||||
| Function {make_randomization_dialog()} {} { | Function {make_randomization_dialog()} {} { | ||||
| Fl_Window randomization_dialog { | Fl_Window randomization_dialog { | ||||
| label {Randomization Settings} open | label {Randomization Settings} open | ||||
| xywh {656 39 340 95} type Double | |||||
| xywh {656 39 340 95} type Double hide | |||||
| code0 {// feel->value( )} | code0 {// feel->value( )} | ||||
| code1 {probability->value( song.random.probability );} non_modal visible | |||||
| code1 {probability->value( song.random.probability );} non_modal | |||||
| } { | } { | ||||
| Fl_Choice feel { | Fl_Choice feel { | ||||
| label {Feel: 1/} | label {Feel: 1/} | ||||
| @@ -1576,7 +1582,7 @@ class Instrument_Editor {} { | |||||
| Fl_Window window { | Fl_Window window { | ||||
| label {Instrument Editor} | label {Instrument Editor} | ||||
| callback {done->do_callback();} open | callback {done->do_callback();} open | ||||
| xywh {670 458 335 190} type Double visible | |||||
| xywh {670 458 335 190} type Double hide | |||||
| } { | } { | ||||
| Fl_Box {} { | Fl_Box {} { | ||||
| label {Instrument Row} | label {Instrument Row} | ||||