|
|
@@ -82,19 +82,8 @@ class TLE {open |
|
|
|
|
|
|
|
char *path; |
|
|
|
asprintf( &path, "%s/%s", user_config_dir, options_filename ); |
|
|
|
((Fl_Menu_Settings*)menubar)->dump( menubar->find_item( "&Options" ), path ); |
|
|
|
free( path ); |
|
|
|
|
|
|
|
// save unjournaled state |
|
|
|
|
|
|
|
// Loggable::save_unjournaled( state_filename ); |
|
|
|
|
|
|
|
|
|
|
|
if ( Project::open() ) |
|
|
|
{ |
|
|
|
// save project local options (Timeline menu) |
|
|
|
((Fl_Menu_Settings*)menubar)->dump( menubar->find_item( "&Timeline" ), options_filename ); |
|
|
|
}} {} |
|
|
|
((Fl_Menu_Settings*)menubar)->dump( menubar->find_item( "&Options/&Global" ), path ); |
|
|
|
free( path );} {} |
|
|
|
} |
|
|
|
Function {capture_format_cb( Fl_Widget *w, void *v )} {open private return_type {static void} |
|
|
|
} { |
|
|
@@ -122,6 +111,13 @@ Fl::run();} {} |
|
|
|
|
|
|
|
make_window(); |
|
|
|
|
|
|
|
{ |
|
|
|
Fl_Menu_Item *tl = (Fl_Menu_Item*)menubar->find_item( "&Timeline" ); |
|
|
|
|
|
|
|
tl->user_data( timeline->menu ); |
|
|
|
tl->flags = FL_SUBMENU_POINTER; |
|
|
|
} |
|
|
|
|
|
|
|
Fl::visible_focus( 0 ); |
|
|
|
|
|
|
|
Fl::get_system_colors(); |
|
|
@@ -148,25 +144,25 @@ for ( std::list <const char *>::const_iterator f = formats.begin(); f != formats |
|
|
|
// capture_format_menu->add( *f, FL_MENU_RADIO, 0, 0, 0 ); |
|
|
|
//; |
|
|
|
char pat[256]; |
|
|
|
snprintf( pat, sizeof( pat ), "&Timeline/Capture Format/%s", *f ); |
|
|
|
snprintf( pat, sizeof( pat ), "&Options/&Project/&Timeline/Capture Format/%s", *f ); |
|
|
|
|
|
|
|
menubar->add( pat, 0, &TLE::capture_format_cb, this, FL_MENU_RADIO ); |
|
|
|
} |
|
|
|
|
|
|
|
menubar->picked( menubar->find_item( "&Timeline/Capture Format/Wav 24" ) ); |
|
|
|
menubar->picked( menubar->find_item( "&Options/&Project/&Timeline/Capture Format/Wav 24" ) ); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
char *path; |
|
|
|
asprintf( &path, "%s/options", user_config_dir ); |
|
|
|
((Fl_Menu_Settings*)menubar)->load( menubar->find_item( "&Options" ), path ); |
|
|
|
((Fl_Menu_Settings*)menubar)->load( menubar->find_item( "&Options/&Global" ), path ); |
|
|
|
free( path );} {} |
|
|
|
} |
|
|
|
Function {make_window()} {open |
|
|
|
} { |
|
|
|
Fl_Window main_window { |
|
|
|
label Timeline open |
|
|
|
xywh {254 185 1020 765} type Double resizable xclass Non_DAW visible |
|
|
|
xywh {225 89 1020 765} type Double resizable xclass Non_DAW visible |
|
|
|
} { |
|
|
|
Fl_Menu_Bar menubar {open selected |
|
|
|
xywh {0 0 1024 25} |
|
|
@@ -285,6 +281,10 @@ Loggable::compact();} |
|
|
|
xywh {40 40 40 25} shortcut 0x10072 |
|
|
|
} |
|
|
|
} |
|
|
|
MenuItem {} { |
|
|
|
label {&Timeline} |
|
|
|
xywh {5 5 40 25} |
|
|
|
} |
|
|
|
Submenu {} { |
|
|
|
label {&View} open |
|
|
|
xywh {0 0 74 25} |
|
|
@@ -325,160 +325,120 @@ Loggable::compact();} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
Submenu timeline_menu { |
|
|
|
label {&Timeline} open |
|
|
|
xywh {0 0 74 25} |
|
|
|
} { |
|
|
|
MenuItem {} { |
|
|
|
label {&Follow Playhead} |
|
|
|
callback {Timeline::follow_playhead = menu_picked_value( o );} |
|
|
|
xywh {20 20 40 25} type Toggle value 1 |
|
|
|
} |
|
|
|
MenuItem {} { |
|
|
|
label {&Center Playhead} |
|
|
|
callback {Timeline::center_playhead = menu_picked_value( o );} |
|
|
|
xywh {30 30 40 25} type Toggle value 1 |
|
|
|
} |
|
|
|
Submenu {} { |
|
|
|
label {&Snap to} open |
|
|
|
xywh {0 0 74 25} |
|
|
|
} { |
|
|
|
MenuItem {} { |
|
|
|
label Bars |
|
|
|
callback {Timeline::snap_to = Timeline::Bars;} |
|
|
|
xywh {0 0 40 25} type Radio value 1 |
|
|
|
} |
|
|
|
MenuItem {} { |
|
|
|
label Beats |
|
|
|
callback {Timeline::snap_to = Timeline::Beats;} |
|
|
|
xywh {10 10 40 25} type Radio |
|
|
|
} |
|
|
|
MenuItem {} { |
|
|
|
label Off |
|
|
|
callback {Timeline::snap_to = Timeline::None;} |
|
|
|
xywh {20 20 40 25} type Radio |
|
|
|
} |
|
|
|
} |
|
|
|
MenuItem {} { |
|
|
|
label {Magnetic snap} |
|
|
|
callback {Timeline::snap_magnetic = menu_picked_value( o );} |
|
|
|
xywh {10 10 40 25} type Toggle value 1 |
|
|
|
} |
|
|
|
Submenu {} { |
|
|
|
label {Capture Format} open |
|
|
|
xywh {0 0 74 25} |
|
|
|
} {} |
|
|
|
} |
|
|
|
Submenu {} { |
|
|
|
label {&Options} open |
|
|
|
xywh {0 0 74 25} divider |
|
|
|
} { |
|
|
|
Submenu {} { |
|
|
|
label {&Display} open |
|
|
|
label {&Global} open |
|
|
|
xywh {0 0 74 25} |
|
|
|
} { |
|
|
|
Submenu {} { |
|
|
|
label {&Timeline} open |
|
|
|
xywh {0 0 74 25} |
|
|
|
label {&Display} open |
|
|
|
xywh {5 5 74 25} |
|
|
|
} { |
|
|
|
MenuItem {} { |
|
|
|
label {&Measure lines} |
|
|
|
callback {Timeline::draw_with_measure_lines = menu_picked_value( o ); |
|
|
|
Submenu {} { |
|
|
|
label {&Timeline} open |
|
|
|
xywh {5 5 74 25} |
|
|
|
} { |
|
|
|
MenuItem {} { |
|
|
|
label {&Measure lines} |
|
|
|
callback {Timeline::draw_with_measure_lines = menu_picked_value( o ); |
|
|
|
|
|
|
|
timeline->redraw();} |
|
|
|
xywh {0 0 40 25} type Toggle value 1 |
|
|
|
xywh {5 5 40 25} type Toggle value 1 |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
Submenu {} { |
|
|
|
label {&Waveform} open |
|
|
|
xywh {0 0 74 25} |
|
|
|
} { |
|
|
|
MenuItem {} { |
|
|
|
label Fill |
|
|
|
callback {Waveform::fill = menu_picked_value( o ); |
|
|
|
Submenu {} { |
|
|
|
label {&Waveform} open |
|
|
|
xywh {5 5 74 25} |
|
|
|
} { |
|
|
|
MenuItem {} { |
|
|
|
label Fill |
|
|
|
callback {Waveform::fill = menu_picked_value( o ); |
|
|
|
|
|
|
|
timeline->redraw();} |
|
|
|
xywh {10 10 40 25} type Toggle value 1 |
|
|
|
} |
|
|
|
MenuItem {} { |
|
|
|
label Outline |
|
|
|
callback {Waveform::outline = menu_picked_value( o ); |
|
|
|
xywh {15 15 40 25} type Toggle value 1 |
|
|
|
} |
|
|
|
MenuItem {} { |
|
|
|
label Outline |
|
|
|
callback {Waveform::outline = menu_picked_value( o ); |
|
|
|
|
|
|
|
timeline->redraw();} |
|
|
|
xywh {30 30 40 25} type Toggle value 1 |
|
|
|
} |
|
|
|
MenuItem {} { |
|
|
|
label {Vary color} |
|
|
|
callback {Waveform::vary_color = menu_picked_value( o ); |
|
|
|
xywh {35 35 40 25} type Toggle value 1 |
|
|
|
} |
|
|
|
MenuItem {} { |
|
|
|
label {Vary color} |
|
|
|
callback {Waveform::vary_color = menu_picked_value( o ); |
|
|
|
|
|
|
|
timeline->redraw();} |
|
|
|
xywh {20 20 40 25} type Toggle value 1 |
|
|
|
} |
|
|
|
} |
|
|
|
Submenu {} { |
|
|
|
label {&Region} open |
|
|
|
xywh {0 0 74 25} |
|
|
|
} { |
|
|
|
MenuItem {} { |
|
|
|
label {Filled fades} |
|
|
|
xywh {30 30 40 25} type Toggle value 1 |
|
|
|
xywh {25 25 40 25} type Toggle value 1 |
|
|
|
} |
|
|
|
} |
|
|
|
MenuItem {} { |
|
|
|
label {Inherit track color} |
|
|
|
callback {Audio_Region::inherit_track_color = menu_picked_value( o ); |
|
|
|
Submenu {} { |
|
|
|
label {&Region} open |
|
|
|
xywh {5 5 74 25} |
|
|
|
} { |
|
|
|
MenuItem {} { |
|
|
|
label {Filled fades} |
|
|
|
xywh {35 35 40 25} type Toggle value 1 |
|
|
|
} |
|
|
|
MenuItem {} { |
|
|
|
label {Inherit track color} |
|
|
|
callback {Audio_Region::inherit_track_color = menu_picked_value( o ); |
|
|
|
|
|
|
|
timeline->redraw();} |
|
|
|
xywh {40 40 40 25} type Toggle value 1 |
|
|
|
xywh {45 45 40 25} type Toggle value 1 |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
Submenu {} { |
|
|
|
label {&Control Sequence} open |
|
|
|
xywh {0 0 74 25} |
|
|
|
} { |
|
|
|
MenuItem {} { |
|
|
|
label Polygon |
|
|
|
callback {Control_Sequence::draw_with_polygon = menu_picked_value( o ); |
|
|
|
Submenu {} { |
|
|
|
label {&Control Sequence} open |
|
|
|
xywh {5 5 74 25} |
|
|
|
} { |
|
|
|
MenuItem {} { |
|
|
|
label Polygon |
|
|
|
callback {Control_Sequence::draw_with_polygon = menu_picked_value( o ); |
|
|
|
|
|
|
|
timeline->redraw();} |
|
|
|
xywh {20 20 40 25} type Toggle value 1 |
|
|
|
} |
|
|
|
MenuItem {} { |
|
|
|
label Graded |
|
|
|
callback {Control_Sequence::draw_with_gradient = menu_picked_value( o ); |
|
|
|
xywh {25 25 40 25} type Toggle value 1 |
|
|
|
} |
|
|
|
MenuItem {} { |
|
|
|
label Graded |
|
|
|
callback {Control_Sequence::draw_with_gradient = menu_picked_value( o ); |
|
|
|
|
|
|
|
timeline->redraw();} |
|
|
|
xywh {30 30 40 25} type Toggle value 1 |
|
|
|
} |
|
|
|
MenuItem {} { |
|
|
|
label Ruled |
|
|
|
callback {Control_Sequence::draw_with_grid = menu_picked_value( o ); |
|
|
|
xywh {35 35 40 25} type Toggle value 1 |
|
|
|
} |
|
|
|
MenuItem {} { |
|
|
|
label Ruled |
|
|
|
callback {Control_Sequence::draw_with_grid = menu_picked_value( o ); |
|
|
|
|
|
|
|
timeline->redraw();} |
|
|
|
xywh {40 40 40 25} type Toggle value 1 |
|
|
|
} |
|
|
|
} |
|
|
|
Submenu {} { |
|
|
|
label {&Style} open |
|
|
|
xywh {0 0 74 25} |
|
|
|
} { |
|
|
|
MenuItem {} { |
|
|
|
label Default |
|
|
|
callback {Fl::scheme( "plastic" );} |
|
|
|
xywh {0 0 40 25} type Radio value 1 |
|
|
|
xywh {45 45 40 25} type Toggle value 1 |
|
|
|
} |
|
|
|
} |
|
|
|
MenuItem {} { |
|
|
|
label Flat |
|
|
|
callback {Fl::scheme( "gtk+" );} |
|
|
|
xywh {10 10 40 25} type Radio |
|
|
|
Submenu {} { |
|
|
|
label {&Style} open |
|
|
|
xywh {5 5 74 25} |
|
|
|
} { |
|
|
|
MenuItem {} { |
|
|
|
label Default |
|
|
|
callback {Fl::scheme( "plastic" );} |
|
|
|
xywh {5 5 40 25} type Radio value 1 |
|
|
|
} |
|
|
|
MenuItem {} { |
|
|
|
label Flat |
|
|
|
callback {Fl::scheme( "gtk+" );} |
|
|
|
xywh {15 15 40 25} type Radio |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
Submenu {} { |
|
|
|
label {C&olors} open |
|
|
|
xywh {0 0 74 25} |
|
|
|
} { |
|
|
|
MenuItem {} { |
|
|
|
label System |
|
|
|
callback {//Fl::get_system_colors(); |
|
|
|
Submenu {} { |
|
|
|
label {C&olors} open |
|
|
|
xywh {5 5 74 25} |
|
|
|
} { |
|
|
|
MenuItem {} { |
|
|
|
label System |
|
|
|
callback {//Fl::get_system_colors(); |
|
|
|
|
|
|
|
unsigned char r, g, b; |
|
|
|
|
|
|
@@ -495,26 +455,76 @@ Fl::get_color( system_colors[ 2 ], r, g, b ); |
|
|
|
Fl::background2( r, g, b ); |
|
|
|
|
|
|
|
Fl::scheme( Fl::scheme() );} |
|
|
|
xywh {0 0 40 25} type Radio |
|
|
|
} |
|
|
|
MenuItem {} { |
|
|
|
label Dark |
|
|
|
callback {Fl::background2( 100, 100, 100 ); |
|
|
|
xywh {5 5 40 25} type Radio |
|
|
|
} |
|
|
|
MenuItem {} { |
|
|
|
label Dark |
|
|
|
callback {Fl::background2( 100, 100, 100 ); |
|
|
|
Fl::background( 50, 50, 50 ); |
|
|
|
Fl::foreground( 255, 255, 255 ); |
|
|
|
|
|
|
|
Fl::scheme( Fl::scheme() );} |
|
|
|
xywh {10 10 40 25} type Radio value 1 |
|
|
|
} |
|
|
|
MenuItem {} { |
|
|
|
label Light |
|
|
|
callback {Fl::background2( 192, 192, 192 ); |
|
|
|
xywh {15 15 40 25} type Radio value 1 |
|
|
|
} |
|
|
|
MenuItem {} { |
|
|
|
label Light |
|
|
|
callback {Fl::background2( 192, 192, 192 ); |
|
|
|
Fl::background( 220, 220, 220 ); |
|
|
|
Fl::foreground( 0, 0, 0 ); |
|
|
|
|
|
|
|
Fl::scheme( Fl::scheme() );} |
|
|
|
xywh {20 20 40 25} type Radio |
|
|
|
xywh {25 25 40 25} type Radio |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
Submenu {} { |
|
|
|
label {&Project} open |
|
|
|
xywh {0 0 74 25} |
|
|
|
} { |
|
|
|
Submenu {} { |
|
|
|
label {&Timeline} open |
|
|
|
xywh {10 10 74 25} |
|
|
|
} { |
|
|
|
MenuItem {} { |
|
|
|
label {&Follow Playhead} |
|
|
|
callback {Timeline::follow_playhead = menu_picked_value( o );} |
|
|
|
xywh {30 30 40 25} type Toggle value 1 |
|
|
|
} |
|
|
|
MenuItem {} { |
|
|
|
label {&Center Playhead} |
|
|
|
callback {Timeline::center_playhead = menu_picked_value( o );} |
|
|
|
xywh {40 40 40 25} type Toggle value 1 |
|
|
|
} |
|
|
|
Submenu {} { |
|
|
|
label {&Snap to} open |
|
|
|
xywh {10 10 74 25} |
|
|
|
} { |
|
|
|
MenuItem {} { |
|
|
|
label Bars |
|
|
|
callback {Timeline::snap_to = Timeline::Bars;} |
|
|
|
xywh {10 10 40 25} type Radio value 1 |
|
|
|
} |
|
|
|
MenuItem {} { |
|
|
|
label Beats |
|
|
|
callback {Timeline::snap_to = Timeline::Beats;} |
|
|
|
xywh {20 20 40 25} type Radio |
|
|
|
} |
|
|
|
MenuItem {} { |
|
|
|
label Off |
|
|
|
callback {Timeline::snap_to = Timeline::None;} |
|
|
|
xywh {30 30 40 25} type Radio |
|
|
|
} |
|
|
|
} |
|
|
|
MenuItem {} { |
|
|
|
label {Magnetic snap} |
|
|
|
callback {Timeline::snap_magnetic = menu_picked_value( o );} |
|
|
|
xywh {20 20 40 25} type Toggle value 1 |
|
|
|
} |
|
|
|
Submenu {} { |
|
|
|
label {Capture Format} open |
|
|
|
xywh {10 10 74 25} |
|
|
|
} {} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
@@ -635,7 +645,7 @@ if ( ! Project::open() ) |
|
|
|
find_item( m, "&Project/&Compact" )->deactivate(); |
|
|
|
find_item( m, "&Project/&Info" )->deactivate(); |
|
|
|
|
|
|
|
find_item( m, "&Timeline" )->deactivate(); |
|
|
|
find_item( m, "&Options/&Project/&Timeline" )->deactivate(); |
|
|
|
|
|
|
|
timeline->deactivate(); |
|
|
|
transport->deactivate(); |
|
|
@@ -646,7 +656,7 @@ else |
|
|
|
find_item( m, "&Project/&Compact" )->activate(); |
|
|
|
find_item( m, "&Project/&Info" )->activate(); |
|
|
|
|
|
|
|
find_item( m, "&Timeline" )->activate(); |
|
|
|
find_item( m, "&Options/&Project/&Timeline" )->activate(); |
|
|
|
|
|
|
|
timeline->activate(); |
|
|
|
transport->activate(); |
|
|
@@ -758,14 +768,14 @@ You should have received a copy of the GNU General Public License along with thi |
|
|
|
code {if ( Project::open() ) |
|
|
|
{ |
|
|
|
// save project local options (Timeline menu) |
|
|
|
((Fl_Menu_Settings*)menubar)->dump( menubar->find_item( "&Timeline" ), "options" ); |
|
|
|
((Fl_Menu_Settings*)menubar)->dump( menubar->find_item( "&Options/&Project" ), "options" ); |
|
|
|
}} {} |
|
|
|
} |
|
|
|
Function {load_timeline_settings()} {open |
|
|
|
} { |
|
|
|
code {if ( Project::open() ) |
|
|
|
{ |
|
|
|
((Fl_Menu_Settings*)menubar)->load( menubar->find_item( "&Timeline" ), "options" ); |
|
|
|
((Fl_Menu_Settings*)menubar)->load( menubar->find_item( "&Options/&Project" ), "options" ); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|