From 48a6854a1ca58aa291ffc6fe3a48807492dfbef7 Mon Sep 17 00:00:00 2001 From: Good Guy Date: Wed, 24 Jun 2020 19:56:50 -0600 Subject: [PATCH] add master/armed_gang track operations, tweak appearanceprefs layout, fix vicon video/cache errors, fix show window deadlocks --- cinelerra-5.1/cinelerra/apatchgui.C | 2 +- cinelerra-5.1/cinelerra/appearanceprefs.C | 11 +- cinelerra-5.1/cinelerra/appearanceprefs.h | 4 +- cinelerra-5.1/cinelerra/awindowgui.C | 9 +- cinelerra-5.1/cinelerra/bdcreate.C | 10 +- cinelerra-5.1/cinelerra/cwindow.C | 4 +- cinelerra-5.1/cinelerra/cwindowgui.C | 4 +- cinelerra-5.1/cinelerra/cwindowgui.h | 1 + cinelerra-5.1/cinelerra/cwindowtool.C | 8 +- cinelerra-5.1/cinelerra/dvdcreate.C | 10 +- cinelerra-5.1/cinelerra/edit.C | 30 ++- cinelerra-5.1/cinelerra/edit.h | 1 + cinelerra-5.1/cinelerra/editlength.C | 2 +- cinelerra-5.1/cinelerra/editpanel.C | 55 +++++- cinelerra-5.1/cinelerra/editpanel.h | 20 +- cinelerra-5.1/cinelerra/editpanel.inc | 1 + cinelerra-5.1/cinelerra/edl.C | 32 ++-- cinelerra-5.1/cinelerra/edlsession.C | 6 + cinelerra-5.1/cinelerra/edlsession.h | 1 + cinelerra-5.1/cinelerra/edlsession.inc | 4 + cinelerra-5.1/cinelerra/keyframepopup.C | 2 +- cinelerra-5.1/cinelerra/mainmenu.C | 10 + cinelerra-5.1/cinelerra/mbuttons.C | 8 +- cinelerra-5.1/cinelerra/mbuttons.h | 1 + cinelerra-5.1/cinelerra/mixersalign.C | 14 +- cinelerra-5.1/cinelerra/mwindow.C | 53 ++++- cinelerra-5.1/cinelerra/mwindow.h | 16 +- cinelerra-5.1/cinelerra/mwindowedit.C | 91 +++++---- cinelerra-5.1/cinelerra/mwindowgui.C | 8 +- cinelerra-5.1/cinelerra/mwindowmove.C | 4 +- cinelerra-5.1/cinelerra/patchbay.C | 33 ++-- cinelerra-5.1/cinelerra/patchgui.C | 56 ++++-- cinelerra-5.1/cinelerra/patchgui.h | 11 ++ cinelerra-5.1/cinelerra/plugindialog.C | 14 +- cinelerra-5.1/cinelerra/recordableatracks.C | 2 +- cinelerra-5.1/cinelerra/recordablevtracks.C | 2 +- cinelerra-5.1/cinelerra/swindow.C | 6 +- cinelerra-5.1/cinelerra/track.C | 67 ++++++- cinelerra-5.1/cinelerra/track.h | 12 +- cinelerra-5.1/cinelerra/trackcanvas.C | 65 ++++--- cinelerra-5.1/cinelerra/tracklist.C | 2 +- cinelerra-5.1/cinelerra/trackpopup.C | 4 +- cinelerra-5.1/cinelerra/tracks.C | 97 +++++----- cinelerra-5.1/cinelerra/tracks.h | 2 +- cinelerra-5.1/cinelerra/tracksedit.C | 181 +++++++++--------- cinelerra-5.1/cinelerra/vpatchgui.C | 2 +- cinelerra-5.1/cinelerra/vwindowgui.C | 4 +- cinelerra-5.1/cinelerra/vwindowgui.h | 1 + cinelerra-5.1/doc/shortcuts.html | 12 ++ .../plugins/theme_blond/blondtheme.C | 11 ++ .../plugins/theme_blond/data/gang0.png | Bin 0 -> 3927 bytes .../plugins/theme_blond/data/gang1.png | Bin 0 -> 3845 bytes .../plugins/theme_blond/data/gang2.png | Bin 0 -> 3765 bytes .../plugins/theme_blond/data/masterpatch.png | Bin 0 -> 5455 bytes .../plugins/theme_blond/data/patchbay_bg.png | Bin 659 -> 1751 bytes .../plugins/theme_blond_cv/blondcvtheme.C | 3 + .../plugins/theme_blond_cv/data/gang0.png | Bin 0 -> 6702 bytes .../plugins/theme_blond_cv/data/gang1.png | Bin 0 -> 5520 bytes .../plugins/theme_blond_cv/data/gang2.png | Bin 0 -> 5779 bytes .../theme_blond_cv/data/masterpatch.png | Bin 0 -> 5455 bytes .../theme_blond_cv/data/patchbay_bg.png | Bin 1470 -> 3251 bytes cinelerra-5.1/plugins/theme_blue/bluetheme.C | 11 ++ .../plugins/theme_blue/data/gang0.png | Bin 0 -> 3927 bytes .../plugins/theme_blue/data/gang1.png | Bin 0 -> 3845 bytes .../plugins/theme_blue/data/gang2.png | Bin 0 -> 3765 bytes .../plugins/theme_blue/data/masterpatch.png | Bin 0 -> 5455 bytes .../plugins/theme_blue/data/patchbay_bg.png | Bin 661 -> 1956 bytes .../plugins/theme_blue_dot/bluedottheme.C | 11 ++ .../plugins/theme_blue_dot/data/gang0.png | Bin 0 -> 8100 bytes .../plugins/theme_blue_dot/data/gang1.png | Bin 0 -> 6133 bytes .../plugins/theme_blue_dot/data/gang2.png | Bin 0 -> 7235 bytes .../theme_blue_dot/data/masterpatch.png | Bin 0 -> 5455 bytes .../theme_blue_dot/data/patch_checked.png | Bin 0 -> 453 bytes .../theme_blue_dot/data/patch_checkedhi.png | Bin 0 -> 481 bytes .../plugins/theme_blue_dot/data/patch_dn.png | Bin 0 -> 377 bytes .../plugins/theme_blue_dot/data/patch_hi.png | Bin 0 -> 498 bytes .../plugins/theme_blue_dot/data/patch_up.png | Bin 0 -> 166 bytes .../theme_blue_dot/data/patchbay_bg.png | Bin 859 -> 2313 bytes .../plugins/theme_bright/brighttheme.C | 11 ++ .../plugins/theme_bright/data/gang0.png | Bin 0 -> 6736 bytes .../plugins/theme_bright/data/gang1.png | Bin 0 -> 5517 bytes .../plugins/theme_bright/data/gang2.png | Bin 0 -> 5806 bytes .../plugins/theme_bright/data/masterpatch.png | Bin 0 -> 5455 bytes .../plugins/theme_bright/data/patchbay_bg.png | Bin 543 -> 1946 bytes .../plugins/theme_cakewalk/cakewalk.C | 20 ++ .../plugins/theme_cakewalk/data/gang0.png | Bin 0 -> 3927 bytes .../plugins/theme_cakewalk/data/gang1.png | Bin 0 -> 3845 bytes .../plugins/theme_cakewalk/data/gang2.png | Bin 0 -> 3765 bytes .../theme_cakewalk/data/masterpatch.png | Bin 0 -> 5455 bytes .../theme_cakewalk/data/patchbay_bg.png | Bin 932 -> 1976 bytes .../plugins/theme_hulk/data/gang0.png | Bin 0 -> 5370 bytes .../plugins/theme_hulk/data/gang1.png | Bin 0 -> 5153 bytes .../plugins/theme_hulk/data/gang2.png | Bin 0 -> 5036 bytes .../plugins/theme_hulk/data/masterpatch.png | Bin 0 -> 5455 bytes .../plugins/theme_hulk/data/patchbay_bg.png | Bin 661 -> 1833 bytes cinelerra-5.1/plugins/theme_hulk/hulktheme.C | 11 ++ .../plugins/theme_neophyte/data/gang0.png | Bin 0 -> 3927 bytes .../plugins/theme_neophyte/data/gang1.png | Bin 0 -> 3845 bytes .../plugins/theme_neophyte/data/gang2.png | Bin 0 -> 3765 bytes .../theme_neophyte/data/masterpatch.png | Bin 0 -> 5455 bytes .../theme_neophyte/data/patchbay_bg.png | Bin 930 -> 1905 bytes .../plugins/theme_neophyte/neophyte.C | 20 ++ .../plugins/theme_pinklady/data/gang0.png | Bin 0 -> 3927 bytes .../plugins/theme_pinklady/data/gang1.png | Bin 0 -> 3845 bytes .../plugins/theme_pinklady/data/gang2.png | Bin 0 -> 3765 bytes .../theme_pinklady/data/masterpatch.png | Bin 0 -> 5455 bytes .../theme_pinklady/data/patchbay_bg.png | Bin 661 -> 2031 bytes .../plugins/theme_pinklady/pinkladytheme.C | 11 ++ .../plugins/theme_suv/data/gang0.png | Bin 0 -> 3927 bytes .../plugins/theme_suv/data/gang1.png | Bin 0 -> 3845 bytes .../plugins/theme_suv/data/gang2.png | Bin 0 -> 3765 bytes .../plugins/theme_suv/data/masterpatch.png | Bin 0 -> 5455 bytes .../plugins/theme_suv/data/patchbay_bg.png | Bin 2841 -> 4845 bytes cinelerra-5.1/plugins/theme_suv/suv.C | 10 + .../plugins/theme_unflat/data/gang0.png | Bin 0 -> 3927 bytes .../plugins/theme_unflat/data/gang1.png | Bin 0 -> 3845 bytes .../plugins/theme_unflat/data/gang2.png | Bin 0 -> 3765 bytes .../plugins/theme_unflat/data/masterpatch.png | Bin 0 -> 5455 bytes .../plugins/theme_unflat/data/patchbay_bg.png | Bin 656 -> 1815 bytes .../plugins/theme_unflat/unflattheme.C | 11 ++ 120 files changed, 786 insertions(+), 339 deletions(-) create mode 100644 cinelerra-5.1/plugins/theme_blond/data/gang0.png create mode 100644 cinelerra-5.1/plugins/theme_blond/data/gang1.png create mode 100644 cinelerra-5.1/plugins/theme_blond/data/gang2.png create mode 100644 cinelerra-5.1/plugins/theme_blond/data/masterpatch.png create mode 100644 cinelerra-5.1/plugins/theme_blond_cv/data/gang0.png create mode 100644 cinelerra-5.1/plugins/theme_blond_cv/data/gang1.png create mode 100644 cinelerra-5.1/plugins/theme_blond_cv/data/gang2.png create mode 100644 cinelerra-5.1/plugins/theme_blond_cv/data/masterpatch.png create mode 100644 cinelerra-5.1/plugins/theme_blue/data/gang0.png create mode 100644 cinelerra-5.1/plugins/theme_blue/data/gang1.png create mode 100644 cinelerra-5.1/plugins/theme_blue/data/gang2.png create mode 100644 cinelerra-5.1/plugins/theme_blue/data/masterpatch.png create mode 100644 cinelerra-5.1/plugins/theme_blue_dot/data/gang0.png create mode 100644 cinelerra-5.1/plugins/theme_blue_dot/data/gang1.png create mode 100644 cinelerra-5.1/plugins/theme_blue_dot/data/gang2.png create mode 100644 cinelerra-5.1/plugins/theme_blue_dot/data/masterpatch.png create mode 100644 cinelerra-5.1/plugins/theme_blue_dot/data/patch_checked.png create mode 100644 cinelerra-5.1/plugins/theme_blue_dot/data/patch_checkedhi.png create mode 100644 cinelerra-5.1/plugins/theme_blue_dot/data/patch_dn.png create mode 100644 cinelerra-5.1/plugins/theme_blue_dot/data/patch_hi.png create mode 100644 cinelerra-5.1/plugins/theme_blue_dot/data/patch_up.png create mode 100644 cinelerra-5.1/plugins/theme_bright/data/gang0.png create mode 100644 cinelerra-5.1/plugins/theme_bright/data/gang1.png create mode 100644 cinelerra-5.1/plugins/theme_bright/data/gang2.png create mode 100644 cinelerra-5.1/plugins/theme_bright/data/masterpatch.png create mode 100644 cinelerra-5.1/plugins/theme_cakewalk/data/gang0.png create mode 100644 cinelerra-5.1/plugins/theme_cakewalk/data/gang1.png create mode 100644 cinelerra-5.1/plugins/theme_cakewalk/data/gang2.png create mode 100644 cinelerra-5.1/plugins/theme_cakewalk/data/masterpatch.png create mode 100644 cinelerra-5.1/plugins/theme_hulk/data/gang0.png create mode 100644 cinelerra-5.1/plugins/theme_hulk/data/gang1.png create mode 100644 cinelerra-5.1/plugins/theme_hulk/data/gang2.png create mode 100644 cinelerra-5.1/plugins/theme_hulk/data/masterpatch.png create mode 100644 cinelerra-5.1/plugins/theme_neophyte/data/gang0.png create mode 100644 cinelerra-5.1/plugins/theme_neophyte/data/gang1.png create mode 100644 cinelerra-5.1/plugins/theme_neophyte/data/gang2.png create mode 100644 cinelerra-5.1/plugins/theme_neophyte/data/masterpatch.png create mode 100644 cinelerra-5.1/plugins/theme_pinklady/data/gang0.png create mode 100644 cinelerra-5.1/plugins/theme_pinklady/data/gang1.png create mode 100644 cinelerra-5.1/plugins/theme_pinklady/data/gang2.png create mode 100644 cinelerra-5.1/plugins/theme_pinklady/data/masterpatch.png create mode 100644 cinelerra-5.1/plugins/theme_suv/data/gang0.png create mode 100644 cinelerra-5.1/plugins/theme_suv/data/gang1.png create mode 100644 cinelerra-5.1/plugins/theme_suv/data/gang2.png create mode 100644 cinelerra-5.1/plugins/theme_suv/data/masterpatch.png create mode 100644 cinelerra-5.1/plugins/theme_unflat/data/gang0.png create mode 100644 cinelerra-5.1/plugins/theme_unflat/data/gang1.png create mode 100644 cinelerra-5.1/plugins/theme_unflat/data/gang2.png create mode 100644 cinelerra-5.1/plugins/theme_unflat/data/masterpatch.png diff --git a/cinelerra-5.1/cinelerra/apatchgui.C b/cinelerra-5.1/cinelerra/apatchgui.C index 0e8adca2..59d18244 100644 --- a/cinelerra-5.1/cinelerra/apatchgui.C +++ b/cinelerra-5.1/cinelerra/apatchgui.C @@ -188,7 +188,7 @@ void APatchGUI::update_faders(float v) float change = v - current->get_value(); current->set_value(v); - if( track->gang && track->record ) + if( track->is_ganged() && track->is_armed() ) patchbay->synchronize_faders(change, TRACK_AUDIO, track); mwindow->undo->update_undo_after(_("fade"), LOAD_AUTOMATION); change_source = 0; diff --git a/cinelerra-5.1/cinelerra/appearanceprefs.C b/cinelerra-5.1/cinelerra/appearanceprefs.C index cb0279af..1c6be931 100644 --- a/cinelerra-5.1/cinelerra/appearanceprefs.C +++ b/cinelerra-5.1/cinelerra/appearanceprefs.C @@ -178,18 +178,17 @@ void AppearancePrefs::create_objects() x2, y, xS(80), yS(24), clr_color, clr_alpha)); draw_3d_border(x2-2,y-2, xS(80)+4,xS(24)+4, 1); cwdw_bg_color->create_objects(); + x2 += cwdw_bg_color->get_w(); y += ys35; - x = x1; - add_subwindow(title = new BC_Title(x, y, _("YUV color space:"))); - x += title->get_w() + margin; + add_subwindow(title = new BC_Title(x1, y, _("YUV color space:"))); + x = x2 - xS(120); add_subwindow(yuv_color_space = new YuvColorSpace(x, y, pwindow)); yuv_color_space->create_objects(); y += yuv_color_space->get_h() + ys5; - x = x1; - add_subwindow(title = new BC_Title(x, y, _("YUV color range:"))); - x += title->get_w() + margin; + add_subwindow(title = new BC_Title(x1, y, _("YUV color range:"))); + x = x2 - xS(100); add_subwindow(yuv_color_range = new YuvColorRange(x, y, pwindow)); yuv_color_range->create_objects(); y += yuv_color_range->get_h() + ys35; diff --git a/cinelerra-5.1/cinelerra/appearanceprefs.h b/cinelerra-5.1/cinelerra/appearanceprefs.h index 8c3ddaec..e7ef3426 100644 --- a/cinelerra-5.1/cinelerra/appearanceprefs.h +++ b/cinelerra-5.1/cinelerra/appearanceprefs.h @@ -337,8 +337,8 @@ public: class YuvColorSpace : public BC_PopupMenu { - static const char *color_space[3]; public: + static const char *color_space[3]; YuvColorSpace(int x, int y, PreferencesWindow *pwindow); ~YuvColorSpace(); @@ -359,8 +359,8 @@ public: class YuvColorRange : public BC_PopupMenu { - static const char *color_range[2]; public: + static const char *color_range[2]; YuvColorRange(int x, int y, PreferencesWindow *pwindow); ~YuvColorRange(); diff --git a/cinelerra-5.1/cinelerra/awindowgui.C b/cinelerra-5.1/cinelerra/awindowgui.C index b74a0a7c..33e3cbc8 100644 --- a/cinelerra-5.1/cinelerra/awindowgui.C +++ b/cinelerra-5.1/cinelerra/awindowgui.C @@ -170,7 +170,7 @@ VFrame *AssetVIcon::frame() if( !temp ) temp = new VFrame(0, -1, asset->width, asset->height, BC_RGB888, -1); File *file = mwindow->video_cache->check_out(asset, mwindow->edl, 1); - while( file && seq_no >= images.size() ) { + while( file && seq_no >= images.size() && !avt->interrupted ) { int64_t pos = images.size() / picon->gui->vicon_thread->refresh_rate * frame_rate; file->set_video_position(pos,0); file->set_layer(0); @@ -179,12 +179,15 @@ VFrame *AssetVIcon::frame() mwindow->video_cache->check_in(asset); Thread::yield(); file = 0; - for( int retries=1000; !file && --retries>=0; usleep(10000) ) + for( int retries=1000; !file && --retries>=0; usleep(10000) ) { + if( avt->interrupted ) return 0; file = mwindow->video_cache->check_out(asset, mwindow->edl, 0); + } } if( !file ) { broken = 1; return 0; } mwindow->video_cache->check_in(asset); } + if( seq_no >= images.size() ) return 0; return *images[seq_no]; } @@ -534,7 +537,7 @@ void AssetViewPopup::draw_vframe(VFrame *vframe) double total_length = edl->tracks->total_length(); if( !total_length ) total_length = 1; for( Track *track=edl->tracks->first; track!=0; track=track->next ) { - if( !track->record ) continue; + if( !track->is_armed() ) continue; for( Edit *edit=track->edits->first; edit!=0; edit=edit->next ) { Indexable *indexable = (Indexable *)edit->asset; if( !indexable ) indexable = (Indexable *)edit->nested_edl; diff --git a/cinelerra-5.1/cinelerra/bdcreate.C b/cinelerra-5.1/cinelerra/bdcreate.C index f13642c8..93794d51 100644 --- a/cinelerra-5.1/cinelerra/bdcreate.C +++ b/cinelerra-5.1/cinelerra/bdcreate.C @@ -364,7 +364,7 @@ void CreateBD_Thread::handle_close_event(int result) Tracks *tracks = mwindow->edl->tracks; for( Track *vtrk=tracks->first; vtrk; vtrk=vtrk->next ) { if( vtrk->data_type != TRACK_VIDEO ) continue; - if( !vtrk->record ) continue; + if( !vtrk->is_armed() ) continue; vtrk->expand_view = 1; PluginSet *plugin_set = new PluginSet(mwindow->edl, vtrk); vtrk->plugin_set.append(plugin_set); @@ -874,7 +874,7 @@ insert_video_plugin(const char *title, KeyFrame *default_keyframe) Tracks *tracks = mwindow->edl->tracks; for( Track *vtrk=tracks->first; vtrk; vtrk=vtrk->next ) { if( vtrk->data_type != TRACK_VIDEO ) continue; - if( !vtrk->record ) continue; + if( !vtrk->is_armed() ) continue; vtrk->expand_view = 1; PluginSet *plugin_set = new PluginSet(mwindow->edl, vtrk); vtrk->plugin_set.append(plugin_set); @@ -898,7 +898,7 @@ resize_tracks() if( trk_h < bd_height ) trk_h = bd_height; for( Track *vtrk=tracks->first; vtrk; vtrk=vtrk->next ) { if( vtrk->data_type != TRACK_VIDEO ) continue; - if( !vtrk->record ) continue; + if( !vtrk->is_armed() ) continue; vtrk->track_w = trk_w; vtrk->track_h = trk_h; } @@ -933,7 +933,7 @@ option_presets() max_w = 0; max_h = 0; int has_deinterlace = 0, has_scale = 0; for( Track *trk=tracks->first; trk; trk=trk->next ) { - if( !trk->record ) continue; + if( !trk->is_armed() ) continue; Edits *edits = trk->edits; switch( trk->data_type ) { case TRACK_VIDEO: @@ -973,7 +973,7 @@ option_presets() if( max_h != bd_height ) use_resize_tracks = 1; } for( Track *trk=tracks->first; trk && !use_resize_tracks; trk=trk->next ) { - if( !trk->record ) continue; + if( !trk->is_armed() ) continue; switch( trk->data_type ) { case TRACK_VIDEO: if( trk->track_w != max_w ) use_resize_tracks = 1; diff --git a/cinelerra-5.1/cinelerra/cwindow.C b/cinelerra-5.1/cinelerra/cwindow.C index 43281623..5c2ed207 100644 --- a/cinelerra-5.1/cinelerra/cwindow.C +++ b/cinelerra-5.1/cinelerra/cwindow.C @@ -124,7 +124,7 @@ Track* CWindow::calculate_affected_track() Track *track = mwindow->edl->tracks->first; for( ; track; track=track->next ) { if( track->data_type != TRACK_VIDEO ) continue; - if( track->record ) break; + if( track->is_armed() ) break; } return track; } @@ -134,7 +134,7 @@ Track* CWindow::calculate_mask_track() Track *track = mwindow->edl->tracks->first; for( ; track; track=track->next ) { if( track->data_type != TRACK_VIDEO ) continue; - if( track->record && track->get_id() == mask_track_id ) break; + if( track->is_armed() && track->get_id() == mask_track_id ) break; } return track; } diff --git a/cinelerra-5.1/cinelerra/cwindowgui.C b/cinelerra-5.1/cinelerra/cwindowgui.C index 97ee1ceb..7f5ddf5f 100644 --- a/cinelerra-5.1/cinelerra/cwindowgui.C +++ b/cinelerra-5.1/cinelerra/cwindowgui.C @@ -760,7 +760,8 @@ CWindowEditing::CWindowEditing(MWindow *mwindow, CWindow *cwindow) 0, // use_commerical 0, // use_goto 1, // use_clk2play - 1) // use_scope + 1, // use_scope + 0) // use_gang_tracks { this->mwindow = mwindow; this->cwindow = cwindow; @@ -825,6 +826,7 @@ void panel_btn(set_editing_mode,(int mode), set_editing_mode(mode)) void panel_btn(set_auto_keyframes,(int v), set_auto_keyframes(v)) void panel_btn(set_span_keyframes,(int v), set_span_keyframes(v)) void panel_btn(set_labels_follow_edits,(int v), set_labels_follow_edits(v)) +void panel_btn(set_gang_tracks,(int v), set_gang_tracks(v)) CWindowMeters::CWindowMeters(MWindow *mwindow, diff --git a/cinelerra-5.1/cinelerra/cwindowgui.h b/cinelerra-5.1/cinelerra/cwindowgui.h index df1e01c8..0d79d870 100644 --- a/cinelerra-5.1/cinelerra/cwindowgui.h +++ b/cinelerra-5.1/cinelerra/cwindowgui.h @@ -186,6 +186,7 @@ public: void panel_set_auto_keyframes(int v); void panel_set_span_keyframes(int v); void panel_set_labels_follow_edits(int v); + void panel_set_gang_tracks(int v); MWindow *mwindow; CWindow *cwindow; diff --git a/cinelerra-5.1/cinelerra/cwindowtool.C b/cinelerra-5.1/cinelerra/cwindowtool.C index f3fd68e3..55d64b45 100644 --- a/cinelerra-5.1/cinelerra/cwindowtool.C +++ b/cinelerra-5.1/cinelerra/cwindowtool.C @@ -1740,7 +1740,7 @@ int CWindowMaskOnTrack::handle_event() if( k >= 0 ) { track_item = (CWindowMaskItem *)track_items[k]; Track *track = track_item ? mwindow->edl->tracks->get_track_by_id(track_item->id) : 0; - if( track && track->record ) track_id = track->get_id(); + if( track && track->is_armed() ) track_id = track->get_id(); } else track_id = mwindow->cwindow->mask_track_id; @@ -1764,7 +1764,7 @@ void CWindowMaskOnTrack::update_items() for( Track *track=mwindow->edl->tracks->first; track; track=track->next ) { if( track->data_type != TRACK_VIDEO ) continue; MaskAutos *mask_autos = (MaskAutos*)track->automation->autos[AUTOMATION_MASK]; - int color = !track->record ? RED : mask_autos->first ? high_color : -1; + int color = !track->is_armed() ? RED : mask_autos->first ? high_color : -1; MaskAuto *mask_auto = (MaskAuto*)mask_autos->default_auto; for( int i=0; color<0 && imasks.size(); ++i ) if( mask_auto->masks[i]->points.size() > 0 ) color = high_color; @@ -1812,7 +1812,7 @@ int CWindowMaskTrackTumbler::do_event(int dir) track_item = items[0]; } Track *track = track_item ? mwindow->edl->tracks->get_track_by_id(track_item->id) : 0; - int track_id = track_item && track && track->record ? track_item->id : -1; + int track_id = track_item && track && track->is_armed() ? track_item->id : -1; gui->mask_on_track->set_back_color(track_id >= 0 ? gui->get_resources()->text_background : gui->get_resources()->text_background_disarmed); @@ -3021,7 +3021,7 @@ void CWindowMaskGUI::update() //printf("CWindowMaskGUI::update 1\n"); get_keyframe(track, autos, keyframe, mask, point, 0); mwindow->cwindow->mask_track_id = track ? track->get_id() : -1; - mask_on_track->set_back_color(!track || track->record ? + mask_on_track->set_back_color(!track || track->is_armed() ? get_resources()->text_background : get_resources()->text_background_disarmed); mask_on_track->update_items(); diff --git a/cinelerra-5.1/cinelerra/dvdcreate.C b/cinelerra-5.1/cinelerra/dvdcreate.C index adeb8df5..4c8ab188 100644 --- a/cinelerra-5.1/cinelerra/dvdcreate.C +++ b/cinelerra-5.1/cinelerra/dvdcreate.C @@ -486,7 +486,7 @@ void CreateDVD_Thread::handle_close_event(int result) Tracks *tracks = mwindow->edl->tracks; for( Track *vtrk=tracks->first; vtrk; vtrk=vtrk->next ) { if( vtrk->data_type != TRACK_VIDEO ) continue; - if( !vtrk->record ) continue; + if( !vtrk->is_armed() ) continue; vtrk->expand_view = 1; PluginSet *plugin_set = new PluginSet(mwindow->edl, vtrk); vtrk->plugin_set.append(plugin_set); @@ -1015,7 +1015,7 @@ insert_video_plugin(const char *title, KeyFrame *default_keyframe) Tracks *tracks = mwindow->edl->tracks; for( Track *vtrk=tracks->first; vtrk; vtrk=vtrk->next ) { if( vtrk->data_type != TRACK_VIDEO ) continue; - if( !vtrk->record ) continue; + if( !vtrk->is_armed() ) continue; vtrk->expand_view = 1; PluginSet *plugin_set = new PluginSet(mwindow->edl, vtrk); vtrk->plugin_set.append(plugin_set); @@ -1039,7 +1039,7 @@ resize_tracks() if( trk_h < dvd_height ) trk_h = dvd_height; for( Track *vtrk=tracks->first; vtrk; vtrk=vtrk->next ) { if( vtrk->data_type != TRACK_VIDEO ) continue; - if( !vtrk->record ) continue; + if( !vtrk->is_armed() ) continue; vtrk->track_w = trk_w; vtrk->track_h = trk_h; } @@ -1072,7 +1072,7 @@ option_presets() max_w = 0; max_h = 0; int has_deinterlace = 0, has_scale = 0; for( Track *trk=tracks->first; trk; trk=trk->next ) { - if( !trk->record ) continue; + if( !trk->is_armed() ) continue; Edits *edits = trk->edits; switch( trk->data_type ) { case TRACK_VIDEO: @@ -1111,7 +1111,7 @@ option_presets() if( max_h != dvd_height ) use_resize_tracks = 1; } for( Track *trk=tracks->first; trk && !use_resize_tracks; trk=trk->next ) { - if( !trk->record ) continue; + if( !trk->is_armed() ) continue; switch( trk->data_type ) { case TRACK_VIDEO: if( trk->track_w != max_w ) use_resize_tracks = 1; diff --git a/cinelerra-5.1/cinelerra/edit.C b/cinelerra-5.1/cinelerra/edit.C index f06194f8..f32d1c15 100644 --- a/cinelerra-5.1/cinelerra/edit.C +++ b/cinelerra-5.1/cinelerra/edit.C @@ -247,12 +247,36 @@ int Edit::silence() void Edit::set_selected(int v) { - if( group_id ) - edl->tracks->set_group_selected(group_id, v); + if( !group_id ) { + if( v < 0 ) v = !is_selected ? 1 : 0; + int gang = edl->session->gang_tracks != GANG_NONE ? 1 : 0; + select_affected_edits(v, gang); + } else - is_selected = v >= 0 ? v : !is_selected ? 1 : 0; + edl->tracks->set_group_selected(group_id, v); } +// gang<0: rest of tracks, gang==0: this track, gang>0: to next master +void Edit::select_affected_edits(int v, int gang) +{ + is_selected = v; + if( !gang ) return; + double position = track->from_units(startproject); + for( Track *current=track->next; current; current=current->next ) { + if( gang > 0 && current->master ) break; + if( !current->is_armed() ) continue; + for( Edit *edit=current->edits->first; edit; edit=edit->next ) { + if( edit->silence() ) continue; + double start = current->from_units(edit->startproject); + if( edl->equivalent(start, position) ) { + edit->is_selected = v; + break; + } + } + } +} + + void Edit::copy_from(Edit *edit) { this->orig_id = edit->orig_id; diff --git a/cinelerra-5.1/cinelerra/edit.h b/cinelerra-5.1/cinelerra/edit.h index 290bf63e..95dff778 100644 --- a/cinelerra-5.1/cinelerra/edit.h +++ b/cinelerra-5.1/cinelerra/edit.h @@ -95,6 +95,7 @@ public: // Determine if silence depending on existance of asset or plugin title virtual int silence(); void set_selected(int v); + void select_affected_edits(int v, int gang); // Media edit information // Units are native units for the track. diff --git a/cinelerra-5.1/cinelerra/editlength.C b/cinelerra-5.1/cinelerra/editlength.C index 188d415a..070681e8 100644 --- a/cinelerra-5.1/cinelerra/editlength.C +++ b/cinelerra-5.1/cinelerra/editlength.C @@ -64,7 +64,7 @@ void EditLengthThread::start(Edit *edit) track && !got_it; track = track->next) { - if(track->record) + if(track->is_armed()) { int64_t start_units = track->to_units(start, 0); int64_t end_units = track->to_units(end, 0); diff --git a/cinelerra-5.1/cinelerra/editpanel.C b/cinelerra-5.1/cinelerra/editpanel.C index 11e1fc5c..4d3f366b 100644 --- a/cinelerra-5.1/cinelerra/editpanel.C +++ b/cinelerra-5.1/cinelerra/editpanel.C @@ -75,7 +75,8 @@ EditPanel::EditPanel(MWindow *mwindow, int use_commercial, int use_goto, int use_clk2play, - int use_scope) + int use_scope, + int use_gang_tracks) { this->window_id = window_id; this->editing_mode = editing_mode; @@ -98,6 +99,7 @@ EditPanel::EditPanel(MWindow *mwindow, this->use_goto = use_goto; this->use_clk2play = use_clk2play; this->use_scope = use_scope; + this->use_gang_tracks = use_gang_tracks; this->x = x; this->y = y; @@ -117,6 +119,7 @@ EditPanel::EditPanel(MWindow *mwindow, this->nextlabel = 0; this->prevedit = 0; this->nextedit = 0; + this->gang_tracks = 0; this->undo = 0; this->redo = 0; this->meter_panel = 0; @@ -157,6 +160,7 @@ void EditPanel::update() mwindow->edl->session->vwindow_click2play ; click2play->set_value(value); } + if( gang_tracks ) gang_tracks->update(mwindow->edl->session->gang_tracks); if( meters ) { if( is_cwindow() ) { meters->update(mwindow->edl->session->cwindow_meter); @@ -318,6 +322,12 @@ void EditPanel::create_buttons() scope_dialog = new EditPanelScopeDialog(mwindow, this); } + if( use_gang_tracks ) { + gang_tracks = new EditPanelGangTracks(mwindow, this, x1, y1-yS(1)); + subwindow->add_subwindow(gang_tracks); + x1 += gang_tracks->get_w(); + } + if( use_meters ) { if( meter_panel ) { meters = new MeterShow(mwindow, meter_panel, x1, y1); @@ -1304,3 +1314,46 @@ int EditPanelScope::handle_event() return 1; } +EditPanelGangTracks::EditPanelGangTracks(MWindow *mwindow, EditPanel *panel, + int x, int y) + : BC_Button(x, y, get_images(mwindow)) +{ + this->mwindow = mwindow; + this->panel = panel; + set_tooltip(_("Gang Tracks")); +} + +EditPanelGangTracks::~EditPanelGangTracks() +{ +} + +VFrame **EditPanelGangTracks::gang_images[TOTAL_GANGS]; + +VFrame **EditPanelGangTracks::get_images(MWindow *mwindow) +{ + gang_images[GANG_NONE] = mwindow->theme->get_image_set("gang0"); + gang_images[GANG_MEDIA] = mwindow->theme->get_image_set("gang1"); + gang_images[GANG_CHANNELS] = mwindow->theme->get_image_set("gang2"); + int gang = mwindow->edl->session->gang_tracks; + return gang_images[gang]; +} + +void EditPanelGangTracks::update(int gang) +{ + set_images(gang_images[gang]); + draw_face(); +} + +int EditPanelGangTracks::handle_event() +{ + int gang = mwindow->edl->session->gang_tracks; + switch( gang ) { + case GANG_NONE: gang = GANG_CHANNELS; break; + case GANG_CHANNELS: gang = GANG_MEDIA; break; + case GANG_MEDIA: gang = GANG_NONE; break; + } + update(gang); + panel->panel_set_gang_tracks(gang); + return 1; +} + diff --git a/cinelerra-5.1/cinelerra/editpanel.h b/cinelerra-5.1/cinelerra/editpanel.h index b81d9fed..a8104612 100644 --- a/cinelerra-5.1/cinelerra/editpanel.h +++ b/cinelerra-5.1/cinelerra/editpanel.h @@ -379,6 +379,20 @@ public: VFrame *output_frame; }; +class EditPanelGangTracks : public BC_Button +{ + static VFrame **gang_images[TOTAL_GANGS]; +public: + EditPanelGangTracks(MWindow *mwindow, EditPanel *panel, int x, int y); + ~EditPanelGangTracks(); + VFrame **get_images(MWindow *mwindow); + void update(int gang); + int handle_event(); + EditPanel *panel; + MWindow *mwindow; +}; + + class EditPanelScope : public BC_Toggle { public: @@ -412,7 +426,8 @@ public: int use_commerical, int use_goto, int use_clk2play, - int use_scope); + int use_scope, + int use_gang_tracks); ~EditPanel(); void set_meters(MeterPanel *meter_panel); @@ -450,6 +465,7 @@ public: virtual void panel_set_auto_keyframes(int v) = 0; virtual void panel_set_span_keyframes(int v) = 0; virtual void panel_set_labels_follow_edits(int v) = 0; + virtual void panel_set_gang_tracks(int mode) = 0; MWindow *mwindow; BC_WindowBase *subwindow; @@ -475,6 +491,7 @@ public: int use_goto; int use_clk2play; int use_scope; + int use_gang_tracks; EditFit *fit; EditFitAutos *fit_autos; @@ -498,6 +515,7 @@ public: EditNextLabel *nextlabel; EditPrevEdit *prevedit; EditNextEdit *nextedit; + EditPanelGangTracks *gang_tracks; EditUndo *undo; EditRedo *redo; MeterShow *meters; diff --git a/cinelerra-5.1/cinelerra/editpanel.inc b/cinelerra-5.1/cinelerra/editpanel.inc index f9910135..5b24a831 100644 --- a/cinelerra-5.1/cinelerra/editpanel.inc +++ b/cinelerra-5.1/cinelerra/editpanel.inc @@ -57,5 +57,6 @@ class LockLabelsButton; class EditPanelScopeGUI; class EditPanelScopeDialog; class EditPanelScope; +class EditPanelMashMixers; #endif diff --git a/cinelerra-5.1/cinelerra/edl.C b/cinelerra-5.1/cinelerra/edl.C index 130f80bb..5df16099 100644 --- a/cinelerra-5.1/cinelerra/edl.C +++ b/cinelerra-5.1/cinelerra/edl.C @@ -437,7 +437,7 @@ int EDL::copy_assets(int copy_flags, double start, double end, if( (copy_flags & COPY_USED_ASSETS) ) { // Copy just the ones being used. for( current = tracks->first; current; current = NEXT ) { - if( !current->record ) continue; + if( !current->is_armed() ) continue; current->copy_assets(start, end, &asset_list); } } @@ -642,8 +642,8 @@ void EDL::create_nested(EDL *nested) { int video_tracks = 0, audio_tracks = 0; for( Track *track=nested->tracks->first; track!=0; track=track->next ) { - if( track->data_type == TRACK_VIDEO && track->record ) ++video_tracks; - if( track->data_type == TRACK_AUDIO && track->record ) ++audio_tracks; + if( track->data_type == TRACK_VIDEO && track->is_armed() ) ++video_tracks; + if( track->data_type == TRACK_AUDIO && track->is_armed() ) ++audio_tracks; } // renderengine properties if( video_tracks > 0 ) @@ -1049,6 +1049,7 @@ int EDL::get_tracks_height(Theme *theme) { int total_pixels = 0; for( Track *current=tracks->first; current; current=NEXT ) { + if( current->is_hidden() ) continue; total_pixels += current->vertical_span(theme); } return total_pixels; @@ -1058,6 +1059,7 @@ int64_t EDL::get_tracks_width() { int64_t total_pixels = 0; for( Track *current=tracks->first; current; current=NEXT ) { + if( current->is_hidden() ) continue; int64_t pixels = current->horizontal_span(); if( pixels > total_pixels ) total_pixels = pixels; } @@ -1233,7 +1235,7 @@ void EDL::insert_asset(Asset *asset, } for( ; current && vtrackrecord || current->data_type != TRACK_VIDEO ) continue; + if( !current->is_armed() || current->data_type != TRACK_VIDEO ) continue; current->insert_asset(new_asset, new_nested_edl, length, position, vtrack++); } @@ -1255,7 +1257,7 @@ void EDL::insert_asset(Asset *asset, current = tracks->first; for( ; current && atrack < channels; current=NEXT ) { - if( !current->record || current->data_type != TRACK_AUDIO ) continue; + if( !current->is_armed() || current->data_type != TRACK_AUDIO ) continue; current->insert_asset(new_asset, new_nested_edl, length, position, atrack++); } @@ -1309,7 +1311,7 @@ void EDL::get_shared_plugins(Track *source, int data_type) { for( Track *track=tracks->first; track; track=track->next ) { - if( track->record && omit_recordable ) continue; + if( track->is_armed() && omit_recordable ) continue; if( track == source || track->data_type != data_type ) continue; for( int i=0; iplugin_set.size(); ++i ) { Plugin *plugin = track->get_current_plugin( @@ -1326,7 +1328,7 @@ void EDL::get_shared_tracks(Track *track, int omit_recordable, int data_type) { for( Track *current=tracks->first; current; current=NEXT ) { - if( omit_recordable && current->record ) continue; + if( omit_recordable && current->is_armed() ) continue; if( current == track || current->data_type != data_type ) continue; module_locations->append(new SharedLocation(tracks->number_of(current), 0)); } @@ -1599,7 +1601,7 @@ double EDL::next_edit(double position) // Test for edit handles after position for( Track *track=tracks->first; track; track=track->next ) { - if( !track->record ) continue; + if( !track->is_armed() ) continue; for( Edit *edit=track->edits->first; edit; edit=edit->next ) { double edit_end = track->from_units(edit->startproject + edit->length); Units::fix_double(&edit_end); @@ -1623,7 +1625,7 @@ double EDL::prev_edit(double position) // Test for edit handles before cursor position for( Track *track=tracks->first; track; track=track->next ) { - if( !track->record ) continue; + if( !track->is_armed() ) continue; for( Edit *edit=track->edits->first; edit; edit=edit->next ) { double edit_end = track->from_units(edit->startproject); Units::fix_double(&edit_end); @@ -1869,7 +1871,7 @@ EDL *EDL::selected_edits_to_clip(int packed, double start = DBL_MAX, end = DBL_MIN; Track *first_track=0, *last_track = 0; for( Track *track=tracks->first; track; track=track->next ) { - if( !track->record ) continue; + if( !track->is_armed() ) continue; int empty = 1; for( Edit *edit=track->edits->first; edit; edit=edit->next ) { if( !edit->is_selected || edit->silence() ) continue; @@ -1895,7 +1897,7 @@ EDL *EDL::selected_edits_to_clip(int packed, new_edl->session->video_tracks = 0; new_edl->session->audio_tracks = 0; for( Track *track=tracks->first; track; track=track->next ) { - if( !track->record ) continue; + if( !track->is_armed() ) continue; if( first_track ) { if( first_track != track ) continue; first_track = 0; @@ -2045,7 +2047,7 @@ void EDL::paste_edits(EDL *clip, Track *first_track, double position, int overwr first_track = tracks->first; Track *src = clip->tracks->first; for( Track *track=first_track; track && src; track=track->next ) { - if( !track->record ) continue; + if( !track->is_armed() ) continue; int64_t pos = track->to_units(position, 0); if( edit_edits ) { for( Edit *edit=src->edits->first; edit; edit=edit->next ) { @@ -2211,7 +2213,7 @@ int EDL::collect_effects(EDL *&group) Edit *edit = track->edits->first; while( edit && !edit->is_selected ) edit = edit->next; if( !edit ) continue; - if( !track->record ) { ret = COLLECT_EFFECTS_RECORD; break; } + if( !track->is_armed() ) { ret = COLLECT_EFFECTS_RECORD; break; } Track *new_track = 0; edl_shared *location = 0; int64_t start_pos = edit->startproject; @@ -2300,7 +2302,7 @@ int EDL::insert_effects(EDL *group, Track *first_track) Edit *edit = track->edits->first; while( edit && !edit->is_selected ) edit = edit->next; if( !edit ) continue; - if( !track->record ) return INSERT_EFFECTS_RECORD; + if( !track->is_armed() ) return INSERT_EFFECTS_RECORD; if( track->data_type != new_track->data_type ) return INSERT_EFFECTS_TYPE; int gtrk = group->tracks->number_of(new_track); int trk = tracks->number_of(track); @@ -2323,7 +2325,7 @@ int EDL::insert_effects(EDL *group, Track *first_track) new_track = group->tracks->first; track = first_track; for( ; track && new_track; track=track->next ) { - if( !track->record ) continue; + if( !track->is_armed() ) continue; Edit *edit = track->edits->first; while( edit && !edit->is_selected ) edit = edit->next; if( !edit ) continue; diff --git a/cinelerra-5.1/cinelerra/edlsession.C b/cinelerra-5.1/cinelerra/edlsession.C index 90a5319c..74eb3471 100644 --- a/cinelerra-5.1/cinelerra/edlsession.C +++ b/cinelerra-5.1/cinelerra/edlsession.C @@ -129,6 +129,7 @@ EDLSession::EDLSession(EDL *edl) scrub_speed = 2.; show_assets = 1; show_titles = 1; + gang_tracks = GANG_NONE; si_useduration = 1; si_duration = 3; test_playback_edits = 1; @@ -324,6 +325,7 @@ int EDLSession::load_defaults(BC_Hash *defaults) show_assets = defaults->get("SHOW_ASSETS", 1); show_titles = defaults->get("SHOW_TITLES", 1); + gang_tracks = defaults->get("GANG_TRACKS", GANG_NONE); // test_playback_edits = defaults->get("TEST_PLAYBACK_EDITS", 1); time_format = defaults->get("TIME_FORMAT", TIME_HMSF); nudge_format = defaults->get("NUDGE_FORMAT", 1); @@ -462,6 +464,7 @@ int EDLSession::save_defaults(BC_Hash *defaults) defaults->update("SI_DURATION",si_duration); defaults->update("SHOW_ASSETS", show_assets); defaults->update("SHOW_TITLES", show_titles); + defaults->update("GANG_TRACKS", gang_tracks); // defaults->update("TEST_PLAYBACK_EDITS", test_playback_edits); defaults->update("TIME_FORMAT", time_format); defaults->update("NUDGE_FORMAT", nudge_format); @@ -646,6 +649,7 @@ int EDLSession::load_xml(FileXML *file, safe_regions = file->tag.get_property("SAFE_REGIONS", safe_regions); show_assets = file->tag.get_property("SHOW_ASSETS", 1); show_titles = file->tag.get_property("SHOW_TITLES", 1); + gang_tracks = file->tag.get_property("GANG_TRACKS", GANG_NONE); // test_playback_edits = file->tag.get_property("TEST_PLAYBACK_EDITS", test_playback_edits); time_format = file->tag.get_property("TIME_FORMAT", time_format); nudge_format = file->tag.get_property("NUDGE_FORMAT", nudge_format); @@ -715,6 +719,7 @@ int EDLSession::save_xml(FileXML *file) file->tag.set_property("SAFE_REGIONS", safe_regions); file->tag.set_property("SHOW_ASSETS", show_assets); file->tag.set_property("SHOW_TITLES", show_titles); + file->tag.set_property("GANG_TRACKS", gang_tracks); file->tag.set_property("TEST_PLAYBACK_EDITS", test_playback_edits); file->tag.set_property("TIME_FORMAT", time_format); file->tag.set_property("NUDGE_FORMAT", nudge_format); @@ -891,6 +896,7 @@ int EDLSession::copy(EDLSession *session) si_duration = session->si_duration; show_assets = session->show_assets; show_titles = session->show_titles; + gang_tracks = session->gang_tracks; test_playback_edits = session->test_playback_edits; time_format = session->time_format; nudge_format = session->nudge_format; diff --git a/cinelerra-5.1/cinelerra/edlsession.h b/cinelerra-5.1/cinelerra/edlsession.h index aa74a1da..b2994f18 100644 --- a/cinelerra-5.1/cinelerra/edlsession.h +++ b/cinelerra-5.1/cinelerra/edlsession.h @@ -203,6 +203,7 @@ public: int show_assets; // Show titles in resources int show_titles; + int gang_tracks; // Test for data before rendering a track int test_playback_edits; // Format to display times in diff --git a/cinelerra-5.1/cinelerra/edlsession.inc b/cinelerra-5.1/cinelerra/edlsession.inc index 6b4b5a05..da9cac9c 100644 --- a/cinelerra-5.1/cinelerra/edlsession.inc +++ b/cinelerra-5.1/cinelerra/edlsession.inc @@ -24,6 +24,10 @@ #define INIT_ATRANSITION "Crossfade" #define INIT_VTRANSITION "Dissolve" +#define GANG_NONE 0 +#define GANG_CHANNELS 1 +#define GANG_MEDIA 2 +#define TOTAL_GANGS 3 class EDLSession; diff --git a/cinelerra-5.1/cinelerra/keyframepopup.C b/cinelerra-5.1/cinelerra/keyframepopup.C index 859ae16c..7457773a 100644 --- a/cinelerra-5.1/cinelerra/keyframepopup.C +++ b/cinelerra-5.1/cinelerra/keyframepopup.C @@ -645,7 +645,7 @@ void KeySpeedPatch::update_speed(float v) FloatAuto *current = (FloatAuto*)speed_autos->get_auto_for_editing(position); float change = v - current->get_value(); current->set_value(v); - if( track->gang && track->record ) { + if( track->is_ganged() && track->is_armed() ) { TrackCanvas *track_canvas = patch->patchbay->pane->canvas; track_canvas->fill_ganged_autos(-1, change, track, current); track_canvas->update_ganged_autos(0, track, current); diff --git a/cinelerra-5.1/cinelerra/mainmenu.C b/cinelerra-5.1/cinelerra/mainmenu.C index 6fc329b6..0ec9cf67 100644 --- a/cinelerra-5.1/cinelerra/mainmenu.C +++ b/cinelerra-5.1/cinelerra/mainmenu.C @@ -1509,7 +1509,9 @@ ShowVWindow::ShowVWindow(MWindow *mwindow) } int ShowVWindow::handle_event() { + mwindow->gui->unlock_window(); mwindow->show_vwindow(); + mwindow->gui->lock_window("ShowVWindow::handle_event"); return 1; } @@ -1521,7 +1523,9 @@ ShowAWindow::ShowAWindow(MWindow *mwindow) } int ShowAWindow::handle_event() { + mwindow->gui->unlock_window(); mwindow->show_awindow(); + mwindow->gui->lock_window("ShowAWindow::handle_event"); return 1; } @@ -1533,7 +1537,9 @@ ShowCWindow::ShowCWindow(MWindow *mwindow) } int ShowCWindow::handle_event() { + mwindow->gui->unlock_window(); mwindow->show_cwindow(); + mwindow->gui->lock_window("ShowCWindow::handle_event"); return 1; } @@ -1548,10 +1554,12 @@ ShowGWindow::ShowGWindow(MWindow *mwindow) int ShowGWindow::handle_event() { if( mwindow->session->current_operation == NO_OPERATION ) { + mwindow->gui->unlock_window(); if( !mwindow->session->show_gwindow ) mwindow->show_gwindow(); else mwindow->hide_gwindow(); + mwindow->gui->lock_window("ShowGWindow::handle_event"); set_checked(mwindow->session->show_gwindow); } return 1; @@ -1566,7 +1574,9 @@ ShowLWindow::ShowLWindow(MWindow *mwindow) } int ShowLWindow::handle_event() { + mwindow->gui->unlock_window(); mwindow->show_lwindow(); + mwindow->gui->lock_window("ShowLWindow::handle_event"); return 1; } diff --git a/cinelerra-5.1/cinelerra/mbuttons.C b/cinelerra-5.1/cinelerra/mbuttons.C index b863a313..d40b726d 100644 --- a/cinelerra-5.1/cinelerra/mbuttons.C +++ b/cinelerra-5.1/cinelerra/mbuttons.C @@ -143,7 +143,8 @@ MainEditing::MainEditing(MWindow *mwindow, MButtons *mbuttons, int x, int y) mwindow->has_commercials(), // use_commerical 1, // use_goto 0, // use_clk2play - 0) // use_scope + 0, // use_scope + 1) // use_gang_tracks { this->mwindow = mwindow; this->mbuttons = mbuttons; @@ -286,3 +287,8 @@ void MainEditing::panel_set_labels_follow_edits(int v) mwindow->set_labels_follow_edits(v); } +void MainEditing::panel_set_gang_tracks(int v) +{ + mwindow->set_gang_tracks(v); +} + diff --git a/cinelerra-5.1/cinelerra/mbuttons.h b/cinelerra-5.1/cinelerra/mbuttons.h index 698c4e83..dad5847f 100644 --- a/cinelerra-5.1/cinelerra/mbuttons.h +++ b/cinelerra-5.1/cinelerra/mbuttons.h @@ -108,6 +108,7 @@ public: void panel_set_auto_keyframes(int v); void panel_set_span_keyframes(int v); void panel_set_labels_follow_edits(int v); + void panel_set_gang_tracks(int v); MWindow *mwindow; MButtons *mbuttons; diff --git a/cinelerra-5.1/cinelerra/mixersalign.C b/cinelerra-5.1/cinelerra/mixersalign.C index b5fe9227..5a148d38 100644 --- a/cinelerra-5.1/cinelerra/mixersalign.C +++ b/cinelerra-5.1/cinelerra/mixersalign.C @@ -704,7 +704,7 @@ void MixersAlign::nudge_tracks() while( track && track->mixer_id != id ) track = track->next; if( !track ) continue; double nudge = mix->nudge; - int record = track->record; track->record = 1; + int armed = track->armed; track->armed = 1; if( nudge < 0 ) { track->clear(0, -nudge, 1, edl->session->labels_follow_edits, @@ -716,7 +716,7 @@ void MixersAlign::nudge_tracks() edl->session->plugins_follow_edits, edl->session->autos_follow_edits); } - track->record = record; + track->armed = armed; } } edl->optimize(); @@ -736,8 +736,8 @@ void MixersAlign::nudge_selected() ArrayList track_arms; // ugly for( Track *track=edl->tracks->first; track; track=track->next ) { - track_arms.append(track->record); - track->record = 0; + track_arms.append(track->armed); + track->armed = 0; } for( int m, i=0; (m=ma_gui->mixer_list->get_selection_number(0,i))>=0; ++i ) { if( m == midx ) continue; // master does not move @@ -749,7 +749,7 @@ void MixersAlign::nudge_selected() while( track && track->mixer_id != id ) track = track->next; if( !track ) continue; double nudge = mix->nudge; - track->record = 1; + track->armed = 1; double position = 0; Track *first_track = 0; EDL *clip = edl->selected_edits_to_clip(0, &position, &first_track); if( clip ) { @@ -775,12 +775,12 @@ void MixersAlign::nudge_selected() position += nudge; edl->paste_edits(clip, first_track, position, 1); } - track->record = 0; + track->armed = 0; } } int i = 0; for( Track *track=edl->tracks->first; track; track=track->next ) - track->record = track_arms[i++]; + track->armed = track_arms[i++]; edl->optimize(); mwindow->update_gui(1); diff --git a/cinelerra-5.1/cinelerra/mwindow.C b/cinelerra-5.1/cinelerra/mwindow.C index 7f502d10..c4e7a7cb 100644 --- a/cinelerra-5.1/cinelerra/mwindow.C +++ b/cinelerra-5.1/cinelerra/mwindow.C @@ -243,6 +243,7 @@ MWindow::MWindow() in_destructor = 0; speed_edl = 0; beeper = 0; + redraw_tracks = 0; shuttle = 0; wintv = 0; x10tv = 0; @@ -265,9 +266,10 @@ MWindow::~MWindow() #ifdef HAVE_DVB gui->channel_info->stop(); #endif - delete beeper; - delete create_bd; create_bd = 0; - delete create_dvd; create_dvd = 0; + delete beeper; beeper = 0; + delete redraw_tracks; redraw_tracks = 0; + delete create_bd; create_bd = 0; + delete create_dvd; create_dvd = 0; #ifdef HAVE_SHUTTLE delete shuttle; shuttle = 0; #endif @@ -1310,11 +1312,11 @@ void MWindow::handle_mixers(EDL *edl, int command, int wait_tracking, k = mixer->mixer_ids.size(); while( --k >= 0 && track->get_mixer_id() != mixer->mixer_ids[k] ); if( k >= 0 ) { - track->record = 1; + track->armed = 1; track->play = track->data_type == TRACK_VIDEO ? 1 : 0; } else - track->record = track->play = 0; + track->armed = track->play = 0; } zwindow->change_source(mixer_edl); zwindow->handle_mixer(command, 0, @@ -1369,7 +1371,7 @@ ZWindow *MWindow::create_mixer(Indexable *indexable, double position) Mixer *mixer = 0; ZWindow *zwindow = get_mixer(mixer); while( track ) { - track->play = track->record = 0; + track->play = track->armed = 0; if( track->data_type == TRACK_VIDEO ) { sprintf(track->title, _("Mixer %d"), zwindow->idx); } @@ -1512,6 +1514,14 @@ void MWindow::tile_mixers() } } +void MWindow::set_gang_tracks(int v) +{ + edl->session->gang_tracks = v; + gui->update(1, 1, 0, 0, 1, 0, 0); + gui->flush(); +} + + void MWindow::init_cache() { audio_cache = new CICache(preferences); @@ -1782,7 +1792,7 @@ int MWindow::put_commercial() //check it for(Track *track=tracks->first; track && !errmsg; track=track->next) { if( track->data_type != TRACK_VIDEO ) continue; - if( !track->record ) continue; + if( !track->armed ) continue; if( count > 0 ) { errmsg = _("multiple video tracks"); break; } ++count; int64_t units_start = track->to_units(start,0); @@ -1802,7 +1812,7 @@ int MWindow::put_commercial() //run it for(Track *track=tracks->first; track && !errmsg; track=track->next) { if( track->data_type != TRACK_VIDEO ) continue; - if( !track->record ) continue; + if( !track->armed ) continue; int64_t units_start = track->to_units(start,0); int64_t units_end = track->to_units(end,0); Edits *edits = track->edits; @@ -2987,6 +2997,7 @@ void MWindow::show_lwindow() void MWindow::restore_windows() { + gui->unlock_window(); if( !session->show_vwindow ) { for( int i=0, n=vwindows.size(); ishow_lwindow && lwindow->gui->is_hidden() ) show_lwindow(); + gui->lock_window("MWindow::restore_windows"); gui->focus(); } @@ -5135,3 +5147,28 @@ int MWindow::get_cpus() return get_cpus(edl->session->output_w, edl->session->output_h); } +void MWindow::draw_trackmovement() +{ + if( !redraw_tracks ) + redraw_tracks = new DrawTrackMovement(this); + redraw_tracks->start(); +} + +DrawTrackMovement::DrawTrackMovement(MWindow *mwindow) + : Thread(1, 0, 0) +{ + this->mwindow = mwindow; +} +DrawTrackMovement::~DrawTrackMovement() +{ + join(); +} + +void DrawTrackMovement::run() +{ + mwindow->gui->lock_window("DrawTrackMovement::run"); + mwindow->edl->tracks->update_y_pixels(mwindow->theme); + mwindow->gui->draw_trackmovement(); + mwindow->gui->unlock_window(); +} + diff --git a/cinelerra-5.1/cinelerra/mwindow.h b/cinelerra-5.1/cinelerra/mwindow.h index 13544431..d01f9ddb 100644 --- a/cinelerra-5.1/cinelerra/mwindow.h +++ b/cinelerra-5.1/cinelerra/mwindow.h @@ -146,6 +146,17 @@ public: }; +class DrawTrackMovement : public Thread +{ +public: + DrawTrackMovement(MWindow *mwindow); + ~DrawTrackMovement(); + void run(); + + MWindow *mwindow; +}; + + class MWindow : public Thread { public: @@ -281,6 +292,7 @@ public: void start_mixer(); int select_zwindow(ZWindow *zwindow); void tile_mixers(); + void set_gang_tracks(int v); int load_filenames(ArrayList *filenames, int load_mode = LOADMODE_REPLACE, int edl_mode = LOADMODE_EDL_CLIP, @@ -294,6 +306,8 @@ public: int interrupt_indexes(); // Stop index building int redraw_time_dependancies(); // after reconfiguring the time format, sample rate, frame rate + void draw_trackmovement(); // after reconfiguring tracks/patchbay guis + DrawTrackMovement *redraw_tracks; // =========================================== movement @@ -445,7 +459,7 @@ public: // TrackCanvas calls this to insert multiple effects from the drag_pluginservers // into pluginset_highlighted. - void insert_effects_canvas(double start, double length); + void insert_effects_canvas(Track *dest_track, double start, double length); // CWindow calls this to insert multiple effects from // the drag_pluginservers array. diff --git a/cinelerra-5.1/cinelerra/mwindowedit.C b/cinelerra-5.1/cinelerra/mwindowedit.C index 7e6c6445..d0a12594 100644 --- a/cinelerra-5.1/cinelerra/mwindowedit.C +++ b/cinelerra-5.1/cinelerra/mwindowedit.C @@ -179,7 +179,7 @@ void MWindow::asset_to_all() for( Track *current=edl->tracks->first; current; current=NEXT ) { if( current->data_type == TRACK_VIDEO /* && - current->record */ ) { + current->is_armed() */ ) { current->track_w = w; current->track_h = h; } @@ -761,19 +761,40 @@ void MWindow::insert(double position, FileXML *file, //printf("MWindow::insert 6 %p\n", vwindow->get_edl()); } -void MWindow::insert_effects_canvas(double start, - double length) +void MWindow::insert_effects_canvas(Track *dest_track, double start, double length) { - Track *dest_track = session->track_highlighted; - if( !dest_track ) return; - undo_before(); - for( int i=0; idrag_pluginservers->total; ++i ) { - PluginServer *plugin = session->drag_pluginservers->values[i]; - insert_effect(plugin->title, 0, dest_track, - i == 0 ? session->pluginset_highlighted : 0, - start, length, PLUGIN_STANDALONE); + ArrayList shared_locations; + PluginSet *pluginset = session->pluginset_highlighted; + int gang = edl->session->gang_tracks != GANG_NONE ? 1 : 0; + int data_type = dest_track->data_type; + int first_track = 1; + + for( Track *track=dest_track; track; track=track->next ) { + if( gang && track->master && !first_track ) break; + if( track->data_type != data_type ) continue; + if( !track->armed ) continue; + int module = edl->tracks->number_of(track); + for( int i=0; idrag_pluginservers->total; ++i ) { + PluginServer *plugin = session->drag_pluginservers->values[i]; + int shared = gang && plugin->multichannel ? 1 : 0; + int plugin_type = !first_track && shared ? + PLUGIN_SHAREDPLUGIN : PLUGIN_STANDALONE; + SharedLocation *shared_location = !first_track ? + &shared_locations[i] : &shared_locations.append(); + insert_effect(plugin->title, shared_location, track, + pluginset, start, length, plugin_type); + if( first_track && shared ) { + shared_location->module = module; + shared_location->plugin = pluginset ? + track->plugin_set.number_of(pluginset) : + track->plugin_set.total-1 ; + } + } + if( !gang ) break; + first_track = 0; + pluginset = 0; } save_backup(); @@ -787,8 +808,6 @@ void MWindow::insert_effects_cwindow(Track *dest_track) { if( !dest_track ) return; - undo_before(); - double start = 0; double length = dest_track->get_length(); @@ -799,34 +818,28 @@ void MWindow::insert_effects_cwindow(Track *dest_track) edl->local_session->get_selectionstart(); } - for( int i=0; idrag_pluginservers->total; ++i ) { - PluginServer *plugin = session->drag_pluginservers->values[i]; - insert_effect(plugin->title, 0, dest_track, 0, - start, length, PLUGIN_STANDALONE); - } - - save_backup(); - undo_after(_("insert effect"), LOAD_EDITS | LOAD_PATCHES); - restart_brender(); - sync_parameters(CHANGE_EDL); + insert_effects_canvas(dest_track, start, length); gui->update(1, NORMAL_DRAW, 0, 0, 1, 0, 0); } -void MWindow::insert_effect(char *title, - SharedLocation *shared_location, - int data_type, - int plugin_type, - int single_standalone) +void MWindow::insert_effect(char *title, SharedLocation *shared_location, + int data_type, int plugin_type, int single_standalone) { Track *current = edl->tracks->first; SharedLocation shared_location_local; shared_location_local.copy_from(shared_location); int first_track = 1; for( ; current; current=NEXT ) { - if( current->data_type == data_type && - current->record ) { + if( current->data_type == data_type && current->is_armed() ) { + double start = edl->local_session->get_selectionstart(1); + double end = edl->local_session->get_selectionend(1); + double length = end - start; + if( start >= end ) { + start = 0; + length = current->get_length(); + } insert_effect(title, &shared_location_local, - current, 0, 0, 0, plugin_type); + current, 0, start, length, plugin_type); if( first_track ) { if( plugin_type == PLUGIN_STANDALONE && single_standalone ) { @@ -1522,6 +1535,7 @@ int MWindow::paste_edls(ArrayList *new_edls, int load_mode, need_new_tracks = 1; for( int i=0; itotal; ++i ) { EDL *new_edl = new_edls->values[i]; + int first_track = 1; for( Track *current=new_edl->tracks->first; current; current=NEXT ) { switch( current->data_type ) { case TRACK_VIDEO: @@ -1537,6 +1551,10 @@ int MWindow::paste_edls(ArrayList *new_edls, int load_mode, default: continue; } + if( first_track ) { + edl->tracks->last->master = 1; + first_track = 0; + } // re-label only if not already labeled if( new_edl->local_session->asset2edl ) strcpy(current->title, edl->tracks->last->title); @@ -1554,7 +1572,7 @@ int MWindow::paste_edls(ArrayList *new_edls, int load_mode, load_mode == LOADMODE_PASTE ) { Track *current = first_track ? first_track : edl->tracks->first; for( ; current; current=NEXT ) { - if( current->record ) { + if( current->is_armed() ) { destination_tracks.append(current); } } @@ -1658,14 +1676,14 @@ int MWindow::paste_edls(ArrayList *new_edls, int load_mode, if( destination_track < destination_tracks.total && destination_tracks.values[destination_track]->data_type == new_track->data_type ) { Track *track = destination_tracks.values[destination_track]; - // Replace default keyframes if first EDL and new tracks were created. // This means data copied from one track and pasted to another won't retain // the camera position unless it's a keyframe. If it did, previous data in the // track might get unknowingly corrupted. Ideally we would detect when differing // default keyframes existed and create discrete keyframes for both. int replace_default = (i == 0) && need_new_tracks; - +// master tracks are the first track in each new edl when new tracks are created + int master = track->master; //printf("MWindow::paste_edls 1 %d\n", replace_default); // Insert new track at current position switch( load_mode ) { @@ -1691,6 +1709,7 @@ int MWindow::paste_edls(ArrayList *new_edls, int load_mode, //PRINT_TRACE track->insert_track(new_track, current_position, replace_default, edit_plugins, edit_autos, edl_length); + if( master ) track->master = 1; //PRINT_TRACE } @@ -2164,7 +2183,7 @@ void MWindow::save_clip(EDL *new_edl, const char *txt) Track *track = new_edl->tracks->first; const char *path = edl->path; for( ; (!path || !*path) && track; track=track->next ) { - if( !track->record ) continue; + if( !track->is_armed() ) continue; Edit *edit = track->edits->first; if( !edit ) continue; Indexable *indexable = edit->get_source(); @@ -2391,7 +2410,7 @@ void MWindow::remap_audio(int pattern) int current_track = 0; for( Track *current=edl->tracks->first; current; current=NEXT ) { if( current->data_type == TRACK_AUDIO && - current->record ) { + current->is_armed() ) { Autos *pan_autos = current->automation->autos[AUTOMATION_PAN]; PanAuto *pan_auto = (PanAuto*)pan_autos->get_auto_for_editing(-1); diff --git a/cinelerra-5.1/cinelerra/mwindowgui.C b/cinelerra-5.1/cinelerra/mwindowgui.C index 7b92aa32..c90acab7 100644 --- a/cinelerra-5.1/cinelerra/mwindowgui.C +++ b/cinelerra-5.1/cinelerra/mwindowgui.C @@ -1256,18 +1256,18 @@ int MWindowGUI::keypress_event() if( (this_track = pane[i]->over_patchbay()) != 0 ) break; } - if( get_keypress() == TAB ) { // Switch the record button + if( get_keypress() == TAB ) { // Switch the armed button if( this_track ) - this_track->record = !this_track->record ? 1 : 0; + this_track->armed = !this_track->armed ? 1 : 0; } else { int total_selected = mwindow->edl->tracks->total_of(Tracks::RECORD); // all selected if nothing previously selected or // if this patch was previously the only one selected and armed int selected = !total_selected || (total_selected == 1 && - this_track && this_track->record ) ? 1 : 0; + this_track && this_track->armed ) ? 1 : 0; mwindow->edl->tracks->select_all(Tracks::RECORD, selected); - if( !selected && this_track ) this_track->record = 1; + if( !selected && this_track ) this_track->armed = 1; } update(0, NORMAL_DRAW, 0, 0, 1, 0, 1); diff --git a/cinelerra-5.1/cinelerra/mwindowmove.C b/cinelerra-5.1/cinelerra/mwindowmove.C index 5abe4e6c..2ee2a70a 100644 --- a/cinelerra-5.1/cinelerra/mwindowmove.C +++ b/cinelerra-5.1/cinelerra/mwindowmove.C @@ -660,7 +660,7 @@ int MWindow::nearest_plugin_keyframe(int shift_down, int dir) double position = dir == PLAY_FORWARD ? end : start; double new_position = dir == PLAY_FORWARD ? start : end; for( Track *track=edl->tracks->first; track; track=track->next ) { - if( !track->record ) continue; + if( !track->is_armed() ) continue; for( int i=0; iplugin_set.size(); ++i ) { PluginSet *plugin_set = track->plugin_set[i]; int64_t pos = track->to_units(position, 0); @@ -698,7 +698,7 @@ int MWindow::nearest_auto_keyframe(int shift_down, int dir) double position = dir == PLAY_FORWARD ? end : start; double new_position = dir == PLAY_FORWARD ? start : end; for( Track *track=edl->tracks->first; track; track=track->next ) { - if( !track->record ) continue; + if( !track->is_armed() ) continue; int64_t pos = track->to_units(position, 0); for( int i=0; iautomation->autos[i]; diff --git a/cinelerra-5.1/cinelerra/patchbay.C b/cinelerra-5.1/cinelerra/patchbay.C index 3292eeb5..381e1c0f 100644 --- a/cinelerra-5.1/cinelerra/patchbay.C +++ b/cinelerra-5.1/cinelerra/patchbay.C @@ -283,6 +283,7 @@ int PatchBay::cursor_motion_event() track; track = track->next) { + if( track->is_hidden() ) continue; int y = track->y_pixel - mwindow->edl->local_session->track_start[pane->number]; int h = track->vertical_span(mwindow->theme); if(cursor_y >= y && cursor_y < y + h) @@ -301,16 +302,16 @@ int PatchBay::cursor_motion_event() } break; case Tracks::RECORD: - if(track->record != new_status) + if(track->armed != new_status) { - track->record = new_status; + track->armed = new_status; update_gui = 1; } break; case Tracks::GANG: - if(track->gang != new_status) + if(track->ganged != new_status) { - track->gang = new_status; + track->ganged = new_status; update_gui = 1; } break; @@ -451,10 +452,9 @@ int PatchBay::update() // Every patch has a GUI regardless of whether or not it is visible. // Make sure GUI's are allocated for every patch and deleted for non-existant // patches. - for(Track *current = mwindow->edl->tracks->first; - current; - current = NEXT, patch_count++) + for(Track *current = mwindow->edl->tracks->first; current; current = NEXT) { + if( current->is_hidden() ) continue; PatchGUI *patchgui = 0; int y = current->y_pixel; y -= mwindow->edl->local_session->track_start[pane->number]; @@ -502,6 +502,7 @@ int PatchBay::update() patches.append(patchgui); patchgui->create_objects(); } + ++patch_count; } while(patches.total > patch_count) @@ -521,8 +522,8 @@ void PatchBay::synchronize_faders(float change, int data_type, Track *skip) current = NEXT) { if(current->data_type == data_type && - current->gang && - current->record && + current->armed_gang(skip) && + current->is_armed() && current != skip) { FloatAutos *fade_autos = (FloatAutos*)current->automation->autos[AUTOMATION_FADE]; @@ -551,15 +552,11 @@ void PatchBay::synchronize_faders(float change, int data_type, Track *skip) void PatchBay::synchronize_nudge(int64_t value, Track *skip) { - for(Track *current = mwindow->edl->tracks->first; - current; - current = NEXT) - { - if(current->data_type == skip->data_type && - current->gang && - current->record && - current != skip) - { + Track *current = mwindow->edl->tracks->first; + for( ; current; current = NEXT ) { + if( current->data_type == skip->data_type && + current->armed_gang(skip) && current->is_armed() && + current != skip ) { current->nudge = value; PatchGUI *patch = get_patch_of(current); if(patch) patch->update(patch->x, patch->y); diff --git a/cinelerra-5.1/cinelerra/patchgui.C b/cinelerra-5.1/cinelerra/patchgui.C index e69b707a..dc518b5c 100644 --- a/cinelerra-5.1/cinelerra/patchgui.C +++ b/cinelerra-5.1/cinelerra/patchgui.C @@ -64,6 +64,7 @@ PatchGUI::PatchGUI(MWindow *mwindow, draw = 0; mute = 0; zoom = 0; + master = 0; expand = 0; nudge = 0; mix = 0; @@ -82,6 +83,7 @@ PatchGUI::~PatchGUI() delete draw; delete mute; delete zoom; + delete master; delete expand; delete nudge; delete mix; @@ -94,6 +96,7 @@ void PatchGUI::create_objects() int PatchGUI::reposition(int x, int y) { + if( track->is_hidden() ) return 0; int x1 = 0; int y1 = 0; @@ -121,6 +124,8 @@ int PatchGUI::reposition(int x, int y) mute->reposition_window(mute->get_x(), y1 + y); x1 += mute->get_w(); zoom->reposition_window(zoom->get_x(), y1 + y); + x1 += zoom->get_w(); + master->reposition_window(master->get_x(), y1 + y); } y1 += mwindow->theme->play_h; } @@ -136,6 +141,7 @@ int PatchGUI::reposition(int x, int y) int PatchGUI::update(int x, int y) { + if( track->is_hidden() ) return 0; //TRACE("PatchGUI::update 1"); reposition(x, y); //TRACE("PatchGUI::update 10"); @@ -175,11 +181,12 @@ int PatchGUI::update(int x, int y) delete draw; draw = 0; delete mute; mute = 0; delete zoom; zoom = 0; + delete master; master = 0; } else { play->update(track->play); - record->update(track->record); - gang->update(track->gang); + record->update(track->armed); + gang->update(track->ganged); draw->update(track->draw); mute->update(mwindow->get_int_auto(this, AUTOMATION_MUTE)->value); } @@ -197,6 +204,8 @@ int PatchGUI::update(int x, int y) patchbay->add_subwindow(mute = new MutePatch(mwindow, this, x1 + x, y1 + y)); x1 += mute->get_w(); patchbay->add_subwindow(zoom = new ZoomPatch(mwindow, this, x1 + x, y1 + y)); + x1 += zoom->get_w(); + patchbay->add_subwindow(master = new MasterPatch(mwindow, this, x1 + x, y1 + y)); } if( play ) y1 = y2; @@ -364,7 +373,7 @@ RecordPatch::RecordPatch(MWindow *mwindow, PatchGUI *patch, int x, int y) : BC_Toggle(x, y, mwindow->theme->get_image_set("recordpatch_data"), - patch->track->record, + patch->track->armed, "", 0, 0, @@ -386,8 +395,8 @@ int RecordPatch::button_press_event() patch->toggle_behavior(Tracks::RECORD, get_value(), this, - &patch->track->record); - patch->title->set_back_color(patch->track->record ? + &patch->track->armed); + patch->title->set_back_color(patch->track->armed ? get_resources()->text_background : get_resources()->text_background_disarmed); patch->title->set_text_row(0); @@ -421,7 +430,7 @@ int RecordPatch::button_release_event() GangPatch::GangPatch(MWindow *mwindow, PatchGUI *patch, int x, int y) : BC_Toggle(x, y, mwindow->theme->get_image_set("gangpatch_data"), - patch->track->gang, + patch->track->ganged, "", 0, 0, @@ -443,7 +452,7 @@ int GangPatch::button_press_event() patch->toggle_behavior(Tracks::GANG, get_value(), this, - &patch->track->gang); + &patch->track->ganged); return 1; } return 0; @@ -605,15 +614,26 @@ int ZoomPatch::handle_down_event() } +MasterPatch::MasterPatch(MWindow *mwindow, PatchGUI *patch, int x, int y) + : BC_Toggle(x, y, mwindow->theme->get_image_set("masterpatch_data"), + patch->track->master, "", 0, 0, 0) +{ + this->mwindow = mwindow; + this->patch = patch; + set_tooltip(_("Master Track")); +} + +int MasterPatch::handle_event() +{ + patch->track->master = patch->track->master ? 0 : 1; + mwindow->draw_trackmovement(); // delayed, can delete *this + return 1; +} + + ExpandPatch::ExpandPatch(MWindow *mwindow, PatchGUI *patch, int x, int y) - : BC_Toggle(x, - y, - mwindow->theme->get_image_set("expandpatch_data"), - patch->track->expand_view, - "", - 0, - 0, - 0) + : BC_Toggle(x, y, mwindow->theme->get_image_set("expandpatch_data"), + patch->track->expand_view, "", 0, 0, 0) { this->mwindow = mwindow; this->patch = patch; @@ -655,14 +675,14 @@ TitlePatch::TitlePatch(MWindow *mwindow, PatchGUI *patch, int x, int y, int w) { this->mwindow = mwindow; this->patch = patch; - set_back_color(patch->track->record ? + set_back_color(patch->track->armed ? get_resources()->text_background : get_resources()->text_background_disarmed); } void TitlePatch::update(const char *text) { - set_back_color(patch->track->record ? + set_back_color(patch->track->armed ? get_resources()->text_background : get_resources()->text_background_disarmed); BC_TextBox::update(text); @@ -706,7 +726,7 @@ void NudgePatch::set_value(int64_t value) mwindow->undo->update_undo_before(_("nudge."), this); patch->track->nudge = value; - if(patch->track->gang && patch->track->record) + if(patch->track->is_ganged() && patch->track->is_armed()) patch->patchbay->synchronize_nudge(patch->track->nudge, patch->track); mwindow->undo->update_undo_after(_("nudge."), LOAD_PATCHES); diff --git a/cinelerra-5.1/cinelerra/patchgui.h b/cinelerra-5.1/cinelerra/patchgui.h index a120beed..edbfdded 100644 --- a/cinelerra-5.1/cinelerra/patchgui.h +++ b/cinelerra-5.1/cinelerra/patchgui.h @@ -39,6 +39,7 @@ class GangPatch; class DrawPatch; class MutePatch; class ZoomPatch; +class MasterPatch; class ExpandPatch; class NudgePatch; class MixPatch; @@ -84,6 +85,7 @@ public: DrawPatch *draw; MutePatch *mute; ZoomPatch *zoom; + MasterPatch *master; ExpandPatch *expand; NudgePatch *nudge; MixPatch *mix; @@ -172,6 +174,15 @@ public: PatchGUI *patch; }; +class MasterPatch : public BC_Toggle +{ +public: + MasterPatch(MWindow *mwindow, PatchGUI *patch, int x, int y); + int handle_event(); + MWindow *mwindow; + PatchGUI *patch; +}; + class ExpandPatch : public BC_Toggle { public: diff --git a/cinelerra-5.1/cinelerra/plugindialog.C b/cinelerra-5.1/cinelerra/plugindialog.C index f9c24fff..fba1ae79 100644 --- a/cinelerra-5.1/cinelerra/plugindialog.C +++ b/cinelerra-5.1/cinelerra/plugindialog.C @@ -435,6 +435,7 @@ void PluginDialog::apply() void PluginDialogThread::apply() { + Plugin *plugin = 0; if( mwindow->edl ) mwindow->edl->session->single_standalone = single_standalone; if(plugin_type) { @@ -444,16 +445,13 @@ void PluginDialogThread::apply() mwindow->insert_effect(plugin_title, &shared_location, data_type, plugin_type, single_standalone); } - else { - Plugin *plugin = mwindow->edl->tracks->plugin_exists(plugin_id); - if( plugin ) { - plugin->change_plugin(plugin_title, + else if( (plugin=mwindow->edl->tracks->plugin_exists(plugin_id)) != 0 ) { + plugin->change_plugin(plugin_title, &shared_location, plugin_type); - } - else if( mwindow->edl->tracks->track_exists(track) ) { - mwindow->insert_effect(plugin_title, &shared_location, + } + else if( mwindow->edl->tracks->track_exists(track) ) { + mwindow->insert_effect(plugin_title, &shared_location, track, 0, 0, 0, plugin_type); - } } mwindow->save_backup(); diff --git a/cinelerra-5.1/cinelerra/recordableatracks.C b/cinelerra-5.1/cinelerra/recordableatracks.C index d5d2ea49..4f7d1734 100644 --- a/cinelerra-5.1/cinelerra/recordableatracks.C +++ b/cinelerra-5.1/cinelerra/recordableatracks.C @@ -34,7 +34,7 @@ RecordableATracks::RecordableATracks(Tracks *tracks) current_track; current_track = current_track->next) { - if(current_track->record && current_track->data_type == TRACK_AUDIO) + if(current_track->is_armed() && current_track->data_type == TRACK_AUDIO) append((ATrack*)current_track); } } diff --git a/cinelerra-5.1/cinelerra/recordablevtracks.C b/cinelerra-5.1/cinelerra/recordablevtracks.C index 4e5ae452..d9ea7b54 100644 --- a/cinelerra-5.1/cinelerra/recordablevtracks.C +++ b/cinelerra-5.1/cinelerra/recordablevtracks.C @@ -33,7 +33,7 @@ RecordableVTracks::RecordableVTracks(Tracks *tracks) current_track; current_track = current_track->next) { - if(current_track->record && current_track->data_type == TRACK_VIDEO) + if(current_track->is_armed() && current_track->data_type == TRACK_VIDEO) append((VTrack*)current_track); } } diff --git a/cinelerra-5.1/cinelerra/swindow.C b/cinelerra-5.1/cinelerra/swindow.C index 289ae261..8e558fd1 100644 --- a/cinelerra-5.1/cinelerra/swindow.C +++ b/cinelerra-5.1/cinelerra/swindow.C @@ -428,7 +428,7 @@ int SWindowGUI::update_selection() Edit *edit = 0; Tracks *tracks = edl->tracks; for( Track *track=tracks->first; track && !edit; track=track->next ) { - if( !track->record ) continue; + if( !track->is_armed() ) continue; if( track->data_type != TRACK_SUBTITLE ) continue; int64_t pos = track->to_units(position,0); edit = track->edits->editof(pos, PLAY_FORWARD, 0); @@ -448,7 +448,7 @@ int MWindow::paste_subtitle_text(char *text, double start, double end) Tracks *tracks = edl->tracks; for( Track *track=tracks->first; track; track=track->next ) { if( track->data_type != TRACK_SUBTITLE ) continue; - if( !track->record ) continue; + if( !track->is_armed() ) continue; int64_t start_i = track->to_units(start, 0); int64_t end_i = track->to_units(end, 1); track->edits->clear(start_i,end_i); @@ -838,7 +838,7 @@ void SWindowGUI::save_spumux_data() Tracks *tracks = swindow->mwindow->edl->tracks; for( Track *track=tracks->first; track; track=track->next ) { if( track->data_type != TRACK_SUBTITLE ) continue; - if( !track->record ) continue; + if( !track->is_armed() ) continue; char *cp = track_title, *ep = cp+sizeof(track_title)-6; for( const char *bp=track->title; cp() data_h = 64; expand_view = 0; draw = 1; - gang = 1; + ganged = 1; + master = 0; title[0] = 0; - record = 1; + armed = 1; play = 1; nudge = 0; track_w = edl->session->output_w; @@ -88,8 +89,9 @@ int Track::copy_settings(Track *track) { this->expand_view = track->expand_view; this->draw = track->draw; - this->gang = track->gang; - this->record = track->record; + this->ganged = track->ganged; + this->master = track->master; + this->armed = track->armed; this->nudge = track->nudge; this->mixer_id = track->mixer_id; this->play = track->play; @@ -316,9 +318,10 @@ int Track::load(FileXML *file, int track_offset, uint32_t load_flags) int current_plugin = 0; - record = file->tag.get_property("RECORD", record); + armed = file->tag.get_property("RECORD", armed); play = file->tag.get_property("PLAY", play); - gang = file->tag.get_property("GANG", gang); + ganged = file->tag.get_property("GANG", ganged); + master = file->tag.get_property("MASTER", 1); draw = file->tag.get_property("DRAW", draw); nudge = file->tag.get_property("NUDGE", nudge); mixer_id = file->tag.get_property("MIXER_ID", mixer_id); @@ -845,9 +848,10 @@ void Track::synchronize_params(Track *track) int Track::dump(FILE *fp) { - fprintf(fp," Data type %d, draw %d, gang %d, play %d, record %d, nudge %jd, masks 0x%04x\n", - data_type, draw, gang, play, record, nudge, masks); fprintf(fp," Title %s\n", title); + fprintf(fp," Data type %d, draw %d, gang %d, master %d, mixer_id %d\n" + " play %d, armed %d, nudge %jd, masks 0x%04x\n", + data_type, draw, ganged, master, mixer_id, play, armed, nudge, masks); fprintf(fp," Edits:\n"); for(Edit* current = edits->first; current; current = NEXT) current->dump(fp); @@ -1005,11 +1009,12 @@ int Track::copy(int copy_flags, double start, double end, file->tag.set_title("TRACK"); - file->tag.set_property("RECORD", record); + file->tag.set_property("RECORD", armed); file->tag.set_property("NUDGE", nudge); file->tag.set_property("MIXER_ID", mixer_id); file->tag.set_property("PLAY", play); - file->tag.set_property("GANG", gang); + file->tag.set_property("GANG", ganged); + file->tag.set_property("MASTER", master); file->tag.set_property("DRAW", draw); file->tag.set_property("EXPAND", expand_view); file->tag.set_property("DATA_H", data_h); @@ -1851,6 +1856,48 @@ void Track::set_camera(float x, float y, float z) set_fauto_xyz(AUTOMATION_CAMERA_X, x, y, z); } +Track *Track::gang_master() +{ + if( edl->session->gang_tracks == GANG_NONE ) return this; + Track *track = this; + while( track && !track->master ) track = track->previous; + return !track ? tracks->first : track; +} + +int Track::is_hidden() +{ + if( master ) return 0; + if( edl->session->gang_tracks == GANG_MEDIA ) return 1; + if( edl->session->gang_tracks == GANG_CHANNELS ) { + for( Track *track=previous; track; track=track->previous ) { + if( track->data_type == data_type ) return 1; + if( track->master ) return 0; + } + } + return 0; +} +int Track::is_armed() +{ + return gang_master()->armed; +} +int Track::is_ganged() +{ + return gang_master()->ganged; +} + +int Track::armed_gang(Track *track) +{ + if( edl->session->gang_tracks == GANG_NONE ) return ganged; + Track *current = gang_master(); + for(;;) { + if( track == current ) return 1; + current = current->next; + if( !current || current->master ) return 0; + } + return 1; +} + + int Track::index_in(Mixer *mixer) { if( !mixer || mixer_id < 0 ) return -1; diff --git a/cinelerra-5.1/cinelerra/track.h b/cinelerra-5.1/cinelerra/track.h index ba47679c..4f81719c 100644 --- a/cinelerra-5.1/cinelerra/track.h +++ b/cinelerra-5.1/cinelerra/track.h @@ -166,6 +166,11 @@ public: void change_plugins(SharedLocation &old_location, SharedLocation &new_location, int do_swap); void change_modules(int old_location, int new_location, int do_swap); Plugin *plugin_exists(int plugin_id); + Track *gang_master(); + int is_hidden(); + int is_armed(); + int is_ganged(); + int armed_gang(Track *track); int index_in(Mixer *mixer); EDL *edl; @@ -185,10 +190,10 @@ public: // There is some debate on whether to expand gang from faders to // dragging operations. This would allow every edit in a column to get dragged // simultaneously. - int gang; + int ganged; char title[BCTEXTLEN]; int play; - int record; + int armed; // mask enable bit flags int masks; // Nudge in track units. Positive shifts track earlier in time. This way @@ -320,7 +325,8 @@ public: int pixel; // pixel position from top of track view // Dimensions of this track if video int track_w, track_h; - int mixer_id; +// mixer set track id, gang master flag + int mixer_id, master; private: // Identification of the track diff --git a/cinelerra-5.1/cinelerra/trackcanvas.C b/cinelerra-5.1/cinelerra/trackcanvas.C index 0e42ed89..dda88761 100644 --- a/cinelerra-5.1/cinelerra/trackcanvas.C +++ b/cinelerra-5.1/cinelerra/trackcanvas.C @@ -210,6 +210,7 @@ int TrackCanvas::drag_cursor_motion(int cursor_x, int cursor_y, // Find the edit and track the cursor is over for(Track *track = mwindow->edl->tracks->first; track; track = track->next) { + if( track->is_hidden() ) continue; int64_t track_x, track_y, track_w, track_h; track_dimensions(track, track_x, track_y, track_w, track_h); @@ -407,7 +408,7 @@ int TrackCanvas::drag_stop(int *redraw) mwindow->session->edit_highlighted->length); } start = mwindow->edl->align_to_frame(start, 0); - mwindow->insert_effects_canvas(start, length); + mwindow->insert_effects_canvas(track, start, length); *redraw = 1; } if( mwindow->session->track_highlighted ) @@ -787,6 +788,7 @@ void TrackCanvas::draw_resources(int mode, current; current = NEXT) { + if( current->is_hidden() ) continue; if(debug) PRINT_TRACE for(Edit *edit = current->edits->first; edit; edit = edit->next) { @@ -1149,7 +1151,8 @@ void TrackCanvas::draw_paste_destination() for(Track *dest = mwindow->session->track_highlighted; dest; dest = dest->next) { - if(dest->record) { + if( dest->is_hidden() ) continue; + if(dest->is_armed()) { // Get source width in pixels w = -1; // Use start of highlighted edit @@ -1680,7 +1683,8 @@ void TrackCanvas::draw_selected_edits(EDL *edl, int dx, int dy, int color0, int { int dropping = 0; for( Track *track=edl->tracks->first; track; track=track->next ) { - if( !track->record && color1 < 0 ) { + if( track->is_hidden() ) continue; + if( !track->is_armed() && color1 < 0 ) { if( dropping ) dy -= track->vertical_span(mwindow->theme); continue; @@ -1697,9 +1701,9 @@ void TrackCanvas::draw_selected_edits(EDL *edl, int dx, int dy, int color0, int int inner = color1 < 0 ? color0 : !edit->group_id ? color0 : mwindow->get_group_color(edit->group_id); int outer = color1 < 0 ? color0 : !edit->group_id ? color1 : inner; - set_color(track->record ? inner : outer); + set_color(track->is_armed() ? inner : outer); draw_selected(x, y, w, h); - set_color(track->record ? outer : inner); + set_color(track->is_armed() ? outer : inner); draw_selected(x-1, y-1, w+2, h+2); draw_selected(x-2, y-2, w+1, h+1); } @@ -1725,6 +1729,7 @@ void TrackCanvas::draw_plugins() track; track = track->next) { + if( track->is_hidden() ) continue; if(track->expand_view) { for(int i = 0; i < track->plugin_set.total; i++) @@ -1891,6 +1896,7 @@ void TrackCanvas::draw_hard_edges() int64_t x, y, w, h; for(Track *track = mwindow->edl->tracks->first; track; track = track->next) { + if( track->is_hidden() ) continue; for(Edit *edit = track->edits->first; edit; edit = edit->next) { if( !edit->hard_left && !edit->hard_right ) continue; edit_dimensions(edit, x, y, w, h); @@ -1954,6 +1960,7 @@ void TrackCanvas::draw_drag_handle() set_line_width(3); for( Track *track=mwindow->edl->tracks->first; track; track=track->next ) { + if( track->is_hidden() ) continue; Edit *left = 0, *right = 0; double start = DBL_MAX, end = DBL_MIN; for( Edit *edit=track->edits->first; edit; edit=edit->next ) { @@ -2012,6 +2019,7 @@ void TrackCanvas::draw_transitions() int64_t x, y, w, h; for(Track *track = mwindow->edl->tracks->first; track; track = track->next) { + if( track->is_hidden() ) continue; if( !track->show_transitions() ) continue; for(Edit *edit = track->edits->first; edit; edit = edit->next) { @@ -2163,8 +2171,7 @@ int TrackCanvas::do_keyframes(int cursor_x, // track context menu to appear int result = 0; EDLSession *session = mwindow->edl->session; - - + int gang = session->gang_tracks != GANG_NONE || get_double_click() ? 1 : 0; static BC_Pixmap *auto_pixmaps[AUTOMATION_TOTAL] = { @@ -2180,6 +2187,7 @@ int TrackCanvas::do_keyframes(int cursor_x, for(Track *track = mwindow->edl->tracks->first; track && !result; track = track->next) { + if( track->is_hidden() ) continue; Auto *auto_keyframe = 0; Automation *automation = track->automation; @@ -2271,7 +2279,7 @@ int TrackCanvas::do_keyframes(int cursor_x, if (buttonpress != 3) { if(i == AUTOMATION_FADE || i == AUTOMATION_SPEED) - fill_ganged_autos(get_double_click(), 0, track, + fill_ganged_autos(gang, 0, track, (FloatAuto*)mwindow->session->drag_auto); mwindow->session->current_operation = pre_auto_operations[i]; update_drag_caption(); @@ -2365,6 +2373,7 @@ void TrackCanvas::draw_keyframe_reticle() keyframe_hairline == HAIRLINE_DRAGGING && dragging ) ) { int show = dragging || keyframe_hairline == HAIRLINE_ALWAYS ? 1 : 0; for( Track *track = mwindow->edl->tracks->first; track; track=track->next ) { + if( track->is_hidden() ) continue; Automation *automation = track->automation; for( int i=0; iedl->session->auto_conf->autos[i] ) continue; @@ -2921,7 +2930,7 @@ int TrackCanvas::test_floatline(int center_pixel, void TrackCanvas::fill_ganged_autos(int all, float change, Track *skip, FloatAuto *fauto) { - if( !skip->gang ) return; + if( !skip->is_ganged() ) return; // Handles the special case of modifying a fadeauto // when there are ganged faders on several tracks double position = skip->from_units(fauto->position); @@ -2929,7 +2938,8 @@ void TrackCanvas::fill_ganged_autos(int all, float change, Track *skip, FloatAut for(Track *current = mwindow->edl->tracks->first; current; current = NEXT) { if( (all || current->data_type == skip->data_type) && - current->gang && current->record && current != skip ) { + current->armed_gang(skip) && current->is_armed() && + current != skip ) { FloatAutos *fade_autos = (FloatAutos*)current->automation->autos[autoidx]; float auto_min = mwindow->edl->local_session->automation_mins[fade_autos->autogrouptype]; float auto_max = mwindow->edl->local_session->automation_maxs[fade_autos->autogrouptype]; @@ -3227,7 +3237,7 @@ int TrackCanvas::do_float_autos(Track *track, Autos *autos, int cursor_x, int cu // Draw or test handle if( current && !result && current != autos->default_auto ) { - if( !draw && track->record ) { + if( !draw && track->is_armed() ) { result = test_floatauto((FloatAuto*)current, (int)ax2, (int)ay2, (int)in_x2, (int)in_y2, (int)out_x2, (int)out_y2, (int)center_pixel, (int)yscale, cursor_x, cursor_y, @@ -3244,7 +3254,7 @@ int TrackCanvas::do_float_autos(Track *track, Autos *autos, int cursor_x, int cu } // Draw or test joining line - if( !draw && !result && track->record /* && buttonpress != 3 */ ) { + if( !draw && !result && track->is_armed() /* && buttonpress != 3 */ ) { result = test_floatline(center_pixel, (FloatAutos*)autos, unit_start, zoom_units, yscale, // Exclude auto coverage from the end of the line. The auto overlaps @@ -3267,7 +3277,7 @@ int TrackCanvas::do_float_autos(Track *track, Autos *autos, int cursor_x, int cu if( ax < get_w() && !result ) { ax2 = get_w(); ay2 = ay; - if(!draw && track->record /* && buttonpress != 3 */ ) { + if(!draw && track->is_armed() /* && buttonpress != 3 */ ) { result = test_floatline(center_pixel, (FloatAutos*)autos, unit_start, zoom_units, yscale, (int)ax, (int)ax2, cursor_x, cursor_y, @@ -3372,7 +3382,7 @@ int TrackCanvas::do_int_autos(Track *track, { if(!draw) { - if(track->record) + if(track->is_armed()) { result = test_auto(current, (int)ax2, @@ -3401,7 +3411,7 @@ int TrackCanvas::do_int_autos(Track *track, { if(!result) { - if(track->record /* && buttonpress != 3 */) + if(track->is_armed() /* && buttonpress != 3 */) { result = test_toggleline(autos, center_pixel, @@ -3432,7 +3442,7 @@ int TrackCanvas::do_int_autos(Track *track, ay2 = ay; if(!draw) { - if(track->record /* && buttonpress != 3 */) + if(track->is_armed() /* && buttonpress != 3 */) { result = test_toggleline(autos, center_pixel, @@ -3946,7 +3956,7 @@ int TrackCanvas::get_drag_values(float *percentage, *percentage = 0; *position = 0; - if(!current->autos->track->record) return 1; + if(!current->autos->track->is_armed()) return 1; double view_start; double unit_start; double view_end; @@ -3982,7 +3992,7 @@ int TrackCanvas::get_drag_values(float *percentage, #define UPDATE_DRAG_HEAD(do_clamp) \ int result = 0, center_pixel; \ - if(!current->autos->track->record) return 0; \ + if(!current->autos->track->is_armed()) return 0; \ double view_start, unit_start, view_end, unit_end; \ double yscale, zoom_sample, zoom_units; \ \ @@ -4734,6 +4744,7 @@ int TrackCanvas::do_edit_handles(int cursor_x, int cursor_y, int button_press, int result = 0; for( Track *track=mwindow->edl->tracks->first; track && !result; track=track->next) { + if( track->is_hidden() ) continue; for( Edit *edit=track->edits->first; edit && !result; edit=edit->next ) { int64_t edit_x, edit_y, edit_w, edit_h; edit_dimensions(edit, edit_x, edit_y, edit_w, edit_h); @@ -4830,6 +4841,7 @@ int TrackCanvas::do_edit_handles(int cursor_x, int cursor_y, int button_press, if( handle_result == 1 ) edit_edge += edit_result->length; double edge_position = edit_result->track->from_units(edit_edge); for( Track *track=mwindow->edl->tracks->first; track!=0; track=track->next ) { + if( track->is_hidden() ) continue; int64_t track_position = track->to_units(edge_position, 1); Edit *left_edit = track->edits->editof(track_position, PLAY_FORWARD, 0); if( left_edit ) { @@ -4876,6 +4888,7 @@ int TrackCanvas::do_plugin_handles(int cursor_x, for(Track *track = mwindow->edl->tracks->first; track && !result; track = track->next) { + if( track->is_hidden() ) continue; for(int i = 0; i < track->plugin_set.total && !result; i++) { PluginSet *plugin_set = track->plugin_set.values[i]; for(Plugin *plugin = (Plugin*)plugin_set->first; @@ -4978,6 +4991,7 @@ int TrackCanvas::do_edits(int cursor_x, int cursor_y, int button_press, int drag int result = 0; for(Track *track = mwindow->edl->tracks->first; track && !result; track = track->next) { + if( track->is_hidden() ) continue; for(Edit *edit = track->edits->first; edit && !result; edit = edit->next) { int64_t edit_x, edit_y, edit_w, edit_h; edit_dimensions(edit, edit_x, edit_y, edit_w, edit_h); @@ -4989,9 +5003,7 @@ int TrackCanvas::do_edits(int cursor_x, int cursor_y, int button_press, int drag if( button_press && get_buttonpress() == LEFT_BUTTON ) { if( get_double_click() ) { mwindow->edl->tracks->clear_selected_edits(); - mwindow->edl->tracks->select_affected_edits( - edit->track->from_units(edit->startproject), - edit->track, 1); + edit->select_affected_edits(1, -1); double start = edit->track->from_units(edit->startproject); start = mwindow->edl->align_to_frame(start, 0); mwindow->edl->local_session->set_selectionstart(start); @@ -5010,7 +5022,7 @@ int TrackCanvas::do_edits(int cursor_x, int cursor_y, int button_press, int drag update_cursor = -1; } } - else if( drag_start && track->record ) { + else if( drag_start && track->is_armed() ) { mwindow->session->drag_edit = edit; mwindow->session->drag_origin_x = cursor_x; mwindow->session->drag_origin_y = cursor_y; @@ -5027,9 +5039,7 @@ int TrackCanvas::do_edits(int cursor_x, int cursor_y, int button_press, int drag edit->set_selected(1); } else - mwindow->edl->tracks->select_affected_edits( - edit->track->from_units(edit->startproject), - edit->track, 1); + edit->select_affected_edits(1, -1); drag_start = 1; } // Construct list of all affected edits @@ -5077,7 +5087,7 @@ int TrackCanvas::test_track_group(EDL *group, Track *first_track, double &pos) int intersects = 0; Track *src = group->tracks->first; for( Track *track=first_track; track && src; track=track->next ) { - if( !track->record ) return -1; + if( !track->is_armed() ) return -1; if( src->data_type != track->data_type ) return -1; for( Edit *src_edit=src->edits->first; src_edit; src_edit=src_edit->next ) { if( src_edit->silence() ) continue; @@ -5197,7 +5207,7 @@ int TrackCanvas::do_plugins(int cursor_x, int cursor_y, int drag_start, } else // Move plugin - if( drag_start && plugin->track->record && !plugin->silence() ) { + if( drag_start && plugin->track->is_armed() && !plugin->silence() ) { if( mwindow->edl->session->editing_mode == EDITING_ARROW ) { if( plugin->track->data_type == TRACK_AUDIO ) mwindow->session->current_operation = DRAG_AEFFECT_COPY; @@ -5257,6 +5267,7 @@ int TrackCanvas::do_transitions(int cursor_x, int cursor_y, for( Track *track = mwindow->edl->tracks->first; track && !result; track = track->next ) { + if( track->is_hidden() ) continue; if( !track->show_transitions() ) continue; for( Edit *edit = track->edits->first; edit; edit = edit->next ) { diff --git a/cinelerra-5.1/cinelerra/tracklist.C b/cinelerra-5.1/cinelerra/tracklist.C index fd7c8a86..a54720d0 100644 --- a/cinelerra-5.1/cinelerra/tracklist.C +++ b/cinelerra-5.1/cinelerra/tracklist.C @@ -94,7 +94,7 @@ TrackList::get_recordable_type(int data_type) current_track && current_patch; current_track = current_track->next, current_patch = current_patch->next) { - if(current_patch->record && current_track->data_type == TRACK_AUDIO) + if(current_patch->is_armed() && current_track->data_type == TRACK_AUDIO) append((ATrack*)current_track); } } diff --git a/cinelerra-5.1/cinelerra/trackpopup.C b/cinelerra-5.1/cinelerra/trackpopup.C index c00c023d..7b1d055a 100644 --- a/cinelerra-5.1/cinelerra/trackpopup.C +++ b/cinelerra-5.1/cinelerra/trackpopup.C @@ -332,7 +332,7 @@ void TrackUserTitleDialogThread::handle_done_event(int result) const char *text = window->title_text->get_text(); int count = 0; for( Track *track=edl->tracks->first; track; track=track->next ) { - if( !track->record ) continue; + if( !track->is_armed() ) continue; for( Edit *edit=track->edits->first; edit; edit=edit->next ) { if( !edit->is_selected ) continue; strcpy(edit->user_title, text); @@ -474,7 +474,7 @@ void TrackTitleColorPicker::handle_done_event(int result) EDL *edl = popup->mwindow->edl; int count = 0; for( Track *track=edl->tracks->first; track; track=track->next ) { - if( !track->record ) continue; + if( !track->is_armed() ) continue; for( Edit *edit=track->edits->first; edit; edit=edit->next ) { if( !edit->is_selected ) continue; edit->color = color; diff --git a/cinelerra-5.1/cinelerra/tracks.C b/cinelerra-5.1/cinelerra/tracks.C index c8a6abd4..71aee8fc 100644 --- a/cinelerra-5.1/cinelerra/tracks.C +++ b/cinelerra-5.1/cinelerra/tracks.C @@ -113,27 +113,11 @@ void Tracks::clear_selected_edits() } } -void Tracks::select_affected_edits(double position, Track *start_track, int sense) -{ - for( Track *track=start_track; track; track=track->next ) { - if( !track->record ) continue; - for( Edit *edit=track->edits->first; edit; edit=edit->next ) { - if( edit->silence() ) continue; - double startproject = track->from_units(edit->startproject); - if( edl->equivalent(startproject, position) ) { - edit->is_selected = sense >= 0 ? sense : - edit->is_selected ? 0 : 1; - break; - } - } - } -} - void Tracks::get_selected_edits(ArrayList *drag_edits) { drag_edits->remove_all(); for( Track *track=first; track; track=track->next ) { - if( !track->record ) continue; + if( !track->is_armed() ) continue; for( Edit *edit=track->edits->first; edit; edit=edit->next ) { if( !edit->is_selected ) continue; drag_edits->append(edit); @@ -152,7 +136,7 @@ void Tracks::get_automation_extents(float *min, int coords_undefined = 1; for(Track *current = first; current; current = NEXT) { - if(current->record) + if(current->is_armed()) { current->automation->get_extents(min, max, @@ -332,21 +316,26 @@ Track* Tracks::add_subttl_track(int above, Track *dst_track) int Tracks::delete_track(Track *track) { - if (!track) - return 0; - - int old_location = number_of(track); - detach_shared_effects(old_location); - + if( !track ) return 0; + int gang = edl->session->gang_tracks != GANG_NONE ? 1 : 0; + Track *nxt = track->next; + if( gang ) { + while( track && !track->master && track->previous ) + track = track->previous; + while( nxt && !nxt->master ) + nxt = nxt->next; + } + Track *current = track; + int old_location = number_of(current); + for( Track *next_track=0; current!=nxt; current=next_track ) { + next_track = current->next; + detach_shared_effects(old_location); + for( Track *curr=current; curr; curr=curr->next ) { // Shift effects referencing effects below the deleted track - for(Track *current = track; - current; - current = NEXT) - { - change_modules(number_of(current), number_of(current) - 1, 0); + change_modules(number_of(curr), number_of(curr)-1, 0); + } + delete current; } - if(track) delete track; - return 0; } @@ -374,8 +363,8 @@ int Tracks::total_of(int type) result += (current->play && type == PLAY) || - (current->record && type == RECORD) || - (current->gang && type == GANG) || + (current->is_armed() && type == RECORD) || + (current->is_ganged() && type == GANG) || (current->draw && type == DRAW) || (mute_auto->value && type == MUTE) || (current->expand_view && type == EXPAND); @@ -387,7 +376,7 @@ int Tracks::recordable_audio_tracks() { int result = 0; for(Track *current = first; current; current = NEXT) - if(current->data_type == TRACK_AUDIO && current->record) result++; + if(current->data_type == TRACK_AUDIO && current->is_armed()) result++; return result; } @@ -396,7 +385,7 @@ int Tracks::recordable_video_tracks() int result = 0; for(Track *current = first; current; current = NEXT) { - if(current->data_type == TRACK_VIDEO && current->record) result++; + if(current->data_type == TRACK_VIDEO && current->is_armed()) result++; } return result; } @@ -466,7 +455,7 @@ double Tracks::total_recordable_length() double total = -1; for(Track *current = first; current; current = NEXT) { - if(current->record) + if(current->is_armed()) { double length = current->get_length(); if(length > total) total = length; @@ -526,7 +515,7 @@ void Tracks::translate_fauto_xy(int fauto, float dx, float dy, int all) { Track *track = first; for( ; track; track=track->next ) { - if( !all && !track->record ) continue; + if( !all && !track->is_armed() ) continue; if( track->data_type != TRACK_VIDEO ) continue; ((VTrack*)track)->translate(fauto, dx, dy, all); } @@ -548,7 +537,7 @@ void Tracks::crop_resize(float x, float y, float z) float ctr_y = edl->session->output_h / 2.; Track *track = first; for( ; track; track=track->next ) { - if( !track->record ) continue; + if( !track->is_armed() ) continue; if( track->data_type != TRACK_VIDEO ) continue; float px, py, pz; track->get_projector(px, py, pz); @@ -566,7 +555,7 @@ void Tracks::crop_shrink(float x, float y, float z) float ctr_y = edl->session->output_h / 2.; Track *track = first; for( ; track; track=track->next ) { - if( !track->record ) continue; + if( !track->is_armed() ) continue; if( track->data_type != TRACK_VIDEO ) continue; float cx, cy, cz, px, py, pz; track->get_camera(cx, cy, cz); @@ -589,6 +578,7 @@ void Tracks::update_y_pixels(Theme *theme) { //printf("Tracks::update_y_pixels %d\n", y); current->y_pixel = y; + if( current->is_hidden() ) continue; y += current->vertical_span(theme); } } @@ -612,8 +602,8 @@ void Tracks::select_all(int type, double position = edl->local_session->get_selectionstart(1); if(type == PLAY) current->play = value; - if(type == RECORD) current->record = value; - if(type == GANG) current->gang = value; + if(type == RECORD) current->armed = value; + if(type == GANG) current->ganged = value; if(type == DRAW) current->draw = value; if(type == MUTE) @@ -718,7 +708,7 @@ int Tracks::new_group(int id) { int count = 0; for( Track *track=first; track; track=track->next ) { - if( !track->record ) continue; + if( !track->is_armed() ) continue; for( Edit *edit=track->edits->first; edit; edit=edit->next ) { if( edit->group_id > 0 ) continue; if( !edit->is_selected ) continue; @@ -732,10 +722,13 @@ int Tracks::new_group(int id) int Tracks::set_group_selected(int id, int v) { int count = 0; + int gang = edl->session->gang_tracks != GANG_NONE ? 1 : 0; for( Track *track=first; track; track=track->next ) { + if( track->is_hidden() ) continue; for( Edit *edit=track->edits->first; edit; edit=edit->next ) { if( edit->group_id != id ) continue; - edit->is_selected = v >= 0 ? v : !edit->is_selected ? 1 : 0; + if( v < 0 ) v = !edit->is_selected ? 1 : 0; + edit->select_affected_edits(v, gang); ++count; } } @@ -766,3 +759,21 @@ Track *Tracks::get(int idx, int data_type) return 0; } +void Tracks::move_tracks(Track *src, Track *dst, int n) +{ + if( src == dst ) return; + while( --n >= 0 && src ) { + Track *nxt = src->next; + change_modules(number_of(src), total(), 0); + for( Track *track=nxt; track; track=track->next ) + change_modules(number_of(track), number_of(track)-1, 0); + remove_pointer(src); + int ndst = dst ? number_of(dst) : total(); + insert_before(dst, src); + for( Track *track=last; track && track!=src; track=track->previous ) + change_modules(number_of(track)-1, number_of(track), 0); + change_modules(total(), ndst, 0); + src = nxt; + } +} + diff --git a/cinelerra-5.1/cinelerra/tracks.h b/cinelerra-5.1/cinelerra/tracks.h index 88a96e48..f5a328ed 100644 --- a/cinelerra-5.1/cinelerra/tracks.h +++ b/cinelerra-5.1/cinelerra/tracks.h @@ -57,7 +57,6 @@ public: // Construct a list of all the recordable edits which start on position void clear_selected_edits(); - void select_affected_edits(double position, Track *start_track, int sense); int clear_hard_edges(double start, double end); void get_selected_edits(ArrayList *drag_edits); int next_group_id(); @@ -73,6 +72,7 @@ public: void equivalent_output(Tracks *tracks, double *result); + void move_tracks(Track *src, Track *dst, int n); int move_track_up(Track *track); // move recordable tracks up int move_track_down(Track *track); // move recordable tracks down int move_tracks_up(); // move recordable tracks up diff --git a/cinelerra-5.1/cinelerra/tracksedit.C b/cinelerra-5.1/cinelerra/tracksedit.C index 7f46fcb2..849d6942 100644 --- a/cinelerra-5.1/cinelerra/tracksedit.C +++ b/cinelerra-5.1/cinelerra/tracksedit.C @@ -50,7 +50,7 @@ int Tracks::blade(double position) { for( Track *track=first; track!=0; track=track->next ) { - if( !track->record ) continue; + if( !track->is_armed() ) continue; track->blade(position); } return 0; @@ -64,7 +64,7 @@ int Tracks::clear(double start, double end, int clear_plugins, int edit_autos) current_track; current_track = current_track->next) { - if(current_track->record) + if(current_track->is_armed()) { current_track->clear(start, end, @@ -84,7 +84,7 @@ void Tracks::clear_automation(double selectionstart, double selectionend) for(current_track = first; current_track; current_track = current_track->next) { - if(current_track->record) + if(current_track->is_armed()) { current_track->clear_automation(selectionstart, selectionend, @@ -100,7 +100,7 @@ void Tracks::clear_transitions(double start, double end) current_track; current_track = current_track->next) { - if(current_track->record) + if(current_track->is_armed()) { int64_t start_units = current_track->to_units(start, 0); int64_t end_units = current_track->to_units(end, 0); @@ -123,7 +123,7 @@ void Tracks::clear_transitions(double start, double end) int Tracks::clear_hard_edges(double start, double end) { for( Track *track=first; track; track=track->next ) { - if( !track->record ) continue; + if( !track->is_armed() ) continue; int64_t start_units = track->to_units(start, 0); int64_t end_units = track->to_units(end, 0); @@ -156,7 +156,7 @@ void Tracks::shuffle_edits(double start, double end) current_track; current_track = current_track->next) { - if(current_track->record) + if(current_track->is_armed()) { current_track->shuffle_edits(start, end, first_track); @@ -174,7 +174,7 @@ void Tracks::reverse_edits(double start, double end) current_track; current_track = current_track->next) { - if(current_track->record) + if(current_track->is_armed()) { current_track->reverse_edits(start, end, first_track); @@ -188,7 +188,7 @@ void Tracks::align_edits(double start, double end) // This doesn't affect automation or effects Track *master_track = 0; for( Track *track=first; track; track=track->next ) { - if( !track->record ) continue; + if( !track->is_armed() ) continue; if( !master_track ) master_track = track; else @@ -203,7 +203,7 @@ void Tracks::set_edit_length(double start, double end, double length) current_track; current_track = current_track->next) { - if(current_track->record) + if(current_track->is_armed()) { #define USE_FLOATING_LENGTHS @@ -344,7 +344,7 @@ void Tracks::set_transition_length(double start, double end, double length) current_track; current_track = current_track->next) { - if(current_track->record) + if(current_track->is_armed()) { int64_t start_units = current_track->to_units(start, 0); int64_t end_units = current_track->to_units(end, 0); @@ -399,7 +399,7 @@ void Tracks::paste_transitions(double start, double end, int track_type, char* t { int count = 0; for( Track *track=first; track; track=track->next ) { - if( !track->record || track->data_type != track_type ) continue; + if( !track->is_armed() || track->data_type != track_type ) continue; for( Edit *edit=track->edits->first; edit; edit=edit->next ) { if( !edit->is_selected ) continue; edit->insert_transition(title); @@ -412,7 +412,7 @@ void Tracks::paste_transitions(double start, double end, int track_type, char* t } for( Track *track=first; track; track=track->next ) { - if( !track->record || track->data_type != track_type ) continue; + if( !track->is_armed() || track->data_type != track_type ) continue; int64_t start_units = track->to_units(start, 0); int64_t end_units = track->to_units(end, 0); if( start_units == end_units ) { @@ -450,7 +450,7 @@ void Tracks::set_automation_mode(double selectionstart, for(current_track = first; current_track; current_track = current_track->next) { - if(current_track->record) + if(current_track->is_armed()) { current_track->set_automation_mode(selectionstart, selectionend, @@ -463,7 +463,7 @@ int Tracks::clear_default_keyframe() { for(Track *current = first; current; current = NEXT) { - if(current->record) + if(current->is_armed()) current->clear_automation(0, 0, 0, 1); } return 0; @@ -481,7 +481,7 @@ int Tracks::clear_handle(double start, for(current_track = first; current_track; current_track = current_track->next) { - if(current_track->record) + if(current_track->is_armed()) { current_track->clear_handle(start, end, @@ -517,7 +517,7 @@ int Tracks::copy_automation(double selectionstart, current_track; current_track = current_track->next) { - if(current_track->record) + if(current_track->is_armed()) { current_track->copy_automation(selectionstart, selectionend, @@ -544,22 +544,18 @@ int Tracks::delete_tracks() { int total_deleted = 0; int done = 0; + int gang = edl->session->gang_tracks != GANG_NONE ? 1 : 0; - while(!done) - { + while( !done ) { done = 1; - Track *next_track = 0; - for (Track* current = first; current && done; current = next_track) - { - next_track = current->next; - if(current->record) - { - delete_track(current); - current = NULL; - total_deleted++; - done = 0; - break; + for( Track* track=first, *nxt=0; done && track; track=nxt ) { + nxt = track->next; + if( gang ) { + while( nxt && !nxt->master ) nxt = nxt->next; } + if( !track->is_armed() ) continue; + delete_track(track); + ++total_deleted; } } return total_deleted; @@ -580,7 +576,7 @@ void Tracks::move_edits(ArrayList *in_edits, Track *track, double positio int current_aedit = 0, current_vedit = 0; //printf("Tracks::move_edits 1\n"); for( Track *dest_track=track; dest_track; dest_track=dest_track->next ) { - if( !dest_track->record ) continue; + if( !dest_track->is_armed() ) continue; // Need a local copy of the source edit since the original source edit may // change in the editing operation. // Get source edit @@ -736,7 +732,7 @@ int Tracks::concatenate_tracks(int edit_plugins, int edit_autos) output_track; output_track = output_track->next) if(output_track->data_type == data_type && - output_track->record) break; + output_track->is_armed()) break; first_output_track = output_track; @@ -747,7 +743,7 @@ int Tracks::concatenate_tracks(int edit_plugins, int edit_autos) { if(input_track->data_type == data_type && input_track->play && - !input_track->record) break; + !input_track->is_armed()) break; } @@ -771,7 +767,7 @@ int Tracks::concatenate_tracks(int edit_plugins, int edit_autos) { if(input_track->data_type == data_type && - !input_track->record && + !input_track->is_armed() && input_track->play) break; } @@ -780,7 +776,7 @@ int Tracks::concatenate_tracks(int edit_plugins, int edit_autos) output_track = output_track->next) { if(output_track->data_type == data_type && - output_track->record) break; + output_track->is_armed()) break; } if(!output_track) @@ -832,7 +828,7 @@ int Tracks::copy(int copy_flags, double start, double end, // if nothing selected if( start == end && !all ) return 1; for( Track *track=first; track; track=track->next ) { - if( track->record || all ) + if( track->is_armed() || all ) track->copy(copy_flags, start, end, file, output_path); } return 0; @@ -842,70 +838,73 @@ int Tracks::copy(int copy_flags, double start, double end, int Tracks::move_track_up(Track *track) { - Track *next_track = track->previous; - if(!next_track) next_track = last; - - change_modules(number_of(track), number_of(next_track), 1); - -// printf("Tracks::move_track_up 1 %p %p\n", track, next_track); -// int count = 0; -// for(Track *current = first; current && count < 5; current = NEXT, count++) -// printf("Tracks::move_track_up %p %p %p\n", current->previous, current, current->next); -// printf("Tracks::move_track_up 2\n"); -// - swap(track, next_track); - -// count = 0; -// for(Track *current = first; current && count < 5; current = NEXT, count++) -// printf("Tracks::move_track_up %p %p %p\n", current->previous, current, current->next); -// printf("Tracks::move_track_up 3\n"); - + if( first == last ) return 1; + int n = 1; + Track *src = track, *dst = src->previous; + if( edl->session->gang_tracks != GANG_NONE ) { + while( src && !src->master ) src = src->previous; + if( !src ) src = first; + Track *nxt = src->next; + while( nxt && !nxt->master ) { ++n; nxt = nxt->next; } + dst = src->previous; + while( dst && !dst->master ) { dst = dst->previous; } + } + if( src == dst ) return 1; + move_tracks(src, dst, n); return 0; } int Tracks::move_track_down(Track *track) { - Track *next_track = track->next; - if(!next_track) next_track = first; - - change_modules(number_of(track), number_of(next_track), 1); - swap(track, next_track); + if( first == last ) return 1; + int n = 1; + Track *src = track, *dst = src->next; + if( edl->session->gang_tracks != GANG_NONE ) { + while( src && !src->master ) src = src->previous; + if( !src ) src = first; + Track *nxt = src->next; + while( nxt && !nxt->master ) { ++n; nxt = nxt->next; } + if( nxt ) { + nxt = nxt->next; + while( nxt && !nxt->master ) { nxt = nxt->next; } + } + else + nxt = first; + dst = nxt; + } + else + dst = !dst ? first : dst->next; + if( src == dst ) return 1; + move_tracks(src, dst, n); return 0; } int Tracks::move_tracks_up() { - int result = 0; - Track *next = first; - while( next ) { - Track *track = next; next = track->next; - if( !track->record ) continue; - if( track->previous ) { - change_modules(number_of(track->previous), number_of(track), 1); - swap(track->previous, track); - result = 1; - } + if( first == last ) return 1; + int n = 1; + Track *src = first, *dst = 0; + if( edl->session->gang_tracks != GANG_NONE ) { + Track *nxt = src->next; + while( nxt && !nxt->master ) { ++n; nxt = nxt->next; } } - - return result; + if( src == dst ) return 1; + move_tracks(src, dst, n); + return 0; } int Tracks::move_tracks_down() { - int result = 0; - Track *prev = last; - while( prev ) { - Track *track = prev; prev = track->previous; - if( !track->record ) continue; - if( track->next ) { - change_modules(number_of(track), number_of(track->next), 1); - swap(track, track->next); - result = 1; - } + if( first == last ) return 1; + int n = 1; + Track *src = last, *dst = first; + if( edl->session->gang_tracks != GANG_NONE ) { + while( src && !src->master ) { ++n; src = src->previous; } } - - return result; + if( src == dst ) return 1; + move_tracks(src, dst, n); + return 0; } @@ -914,7 +913,7 @@ void Tracks::paste_audio_transition(PluginServer *server) for(Track *current = first; current; current = NEXT) { if(current->data_type == TRACK_AUDIO && - current->record) + current->is_armed()) { int64_t position = current->to_units( edl->local_session->get_selectionstart(), 0); @@ -992,7 +991,7 @@ void Tracks::paste_automation(double selectionstart, if(typeless) { if(!current_track) current_track = first; - while(current_track && !current_track->record) + while(current_track && !current_track->is_armed()) current_track = current_track->next; dst_track = current_track; } @@ -1007,7 +1006,7 @@ void Tracks::paste_automation(double selectionstart, while(current_atrack && (current_atrack->data_type != TRACK_AUDIO || - !current_atrack->record)) + !current_atrack->is_armed())) current_atrack = current_atrack->next; dst_track = current_atrack; } @@ -1021,7 +1020,7 @@ void Tracks::paste_automation(double selectionstart, while(current_vtrack && (current_vtrack->data_type != TRACK_VIDEO || - !current_vtrack->record)) + !current_vtrack->is_armed())) current_vtrack = current_vtrack->next; dst_track = current_vtrack; @@ -1068,7 +1067,7 @@ void Tracks::paste_video_transition(PluginServer *server, int first_track) for(Track *current = first; current; current = NEXT) { if(current->data_type == TRACK_VIDEO && - current->record) + current->is_armed()) { int64_t position = current->to_units( edl->local_session->get_selectionstart(), 0); @@ -1101,7 +1100,7 @@ int Tracks::paste_silence(double start, current_track; current_track = current_track->next) { - if(current_track->record) + if(current_track->is_armed()) { current_track->paste_silence(start, end, @@ -1137,7 +1136,7 @@ int Tracks::modify_edithandles(double &oldposition, double &newposition, int edit_plugins, int edit_autos, int group_id) { for( Track *track=first; track; track=track->next ) { - if( !track->record ) continue; + if( !track->is_armed() ) continue; track->modify_edithandles(oldposition, newposition, currentend, handle_mode, edit_labels, edit_plugins, edit_autos, group_id); @@ -1152,7 +1151,7 @@ int Tracks::modify_pluginhandles(double &oldposition, double &newposition, int edit_autos, Edits *trim_edits) { for( Track *track=first; track; track=track->next ) { - if( !track->record ) continue; + if( !track->is_armed() ) continue; track->modify_pluginhandles(oldposition, newposition, currentend, handle_mode, edit_labels, edit_autos, trim_edits); @@ -1193,7 +1192,7 @@ int Tracks::scale_time(float rate_scale, int ignore_record, int scale_edits, int current_track; current_track = current_track->next) { - if((current_track->record || ignore_record) && + if((current_track->is_armed() || ignore_record) && current_track->data_type == TRACK_VIDEO) { current_track->scale_time(rate_scale, scale_edits, scale_autos, start, end); diff --git a/cinelerra-5.1/cinelerra/vpatchgui.C b/cinelerra-5.1/cinelerra/vpatchgui.C index a2c2ca7c..73a4653a 100644 --- a/cinelerra-5.1/cinelerra/vpatchgui.C +++ b/cinelerra-5.1/cinelerra/vpatchgui.C @@ -167,7 +167,7 @@ void VPatchGUI::update_faders(float v) float change = v - current->get_value(); current->set_value(v); - if( track->gang && track->record ) + if( track->is_ganged() && track->is_armed() ) patchbay->synchronize_faders(change, TRACK_AUDIO, track); mwindow->undo->update_undo_after(_("fade"), LOAD_AUTOMATION); change_source = 0; diff --git a/cinelerra-5.1/cinelerra/vwindowgui.C b/cinelerra-5.1/cinelerra/vwindowgui.C index 25404f32..1217633f 100644 --- a/cinelerra-5.1/cinelerra/vwindowgui.C +++ b/cinelerra-5.1/cinelerra/vwindowgui.C @@ -558,7 +558,8 @@ VWindowEditing::VWindowEditing(MWindow *mwindow, VWindow *vwindow) 0, // use_commerical 0, // use_goto 1, // use_clk2play - 1) // use_scope + 1, // use_scope + 0) // use_gang_tracks { this->mwindow = mwindow; this->vwindow = vwindow; @@ -703,6 +704,7 @@ void VWindowEditing::panel_set_editing_mode(int mode) {} void VWindowEditing::panel_set_auto_keyframes(int v) {} void VWindowEditing::panel_set_span_keyframes(int v) {} void VWindowEditing::panel_set_labels_follow_edits(int v) {} +void VWindowEditing::panel_set_gang_tracks(int v) {} VWindowSource::VWindowSource(MWindow *mwindow, VWindowGUI *vwindow, int x, int y) diff --git a/cinelerra-5.1/cinelerra/vwindowgui.h b/cinelerra-5.1/cinelerra/vwindowgui.h index d4c395f7..d2527acd 100644 --- a/cinelerra-5.1/cinelerra/vwindowgui.h +++ b/cinelerra-5.1/cinelerra/vwindowgui.h @@ -158,6 +158,7 @@ public: void panel_set_auto_keyframes(int v); void panel_set_span_keyframes(int v); void panel_set_labels_follow_edits(int v); + void panel_set_gang_tracks(int v); MWindow *mwindow; VWindow *vwindow; diff --git a/cinelerra-5.1/doc/shortcuts.html b/cinelerra-5.1/doc/shortcuts.html index 5b547db9..343f7f5c 100644 --- a/cinelerra-5.1/doc/shortcuts.html +++ b/cinelerra-5.1/doc/shortcuts.html @@ -1422,6 +1422,12 @@ Ctrl-alt Increase all auto curve limits + +
+ UP (up arrow) + Shift + Move all tracks up by 1 +
DOWN arrow @@ -1446,6 +1452,12 @@ Ctrl-alt Decrease all auto curve limits + +
+ DOWN arrow + Shift + Move all tracks down by 1 +
PGUP (page up) diff --git a/cinelerra-5.1/plugins/theme_blond/blondtheme.C b/cinelerra-5.1/plugins/theme_blond/blondtheme.C index 7a54ee9b..52434590 100644 --- a/cinelerra-5.1/plugins/theme_blond/blondtheme.C +++ b/cinelerra-5.1/plugins/theme_blond/blondtheme.C @@ -661,6 +661,14 @@ void BlondTheme::initialize() "patch_checkedhi.png", "drawpatch_data"); + new_toggle("masterpatch.png", + "patch_up.png", + "patch_hi.png", + "patch_checked.png", + "patch_dn.png", + "patch_checkedhi.png", + "masterpatch_data"); + new_image_set("mutepatch_data", 5, @@ -898,6 +906,9 @@ void BlondTheme::initialize() new_image("locklabels_dn.png"), // can't have seperate down for each!!?? new_image("locklabels_unlockedhi.png"), "locklabels"); + new_toggle("gang0.png", editpanel_up, editpanel_hi, editpanel_checked, editpanel_dn, editpanel_checkedhi, "gang0"); + new_toggle("gang1.png", editpanel_up, editpanel_hi, editpanel_checked, editpanel_dn, editpanel_checkedhi, "gang1"); + new_toggle("gang2.png", editpanel_up, editpanel_hi, editpanel_checked, editpanel_dn, editpanel_checkedhi, "gang2"); VFrame *cpanel_up = new_image("cpanel_up.png"); VFrame *cpanel_hi = new_image("cpanel_hi.png"); diff --git a/cinelerra-5.1/plugins/theme_blond/data/gang0.png b/cinelerra-5.1/plugins/theme_blond/data/gang0.png new file mode 100644 index 0000000000000000000000000000000000000000..9825bbc079024ba43195d10042443dad2247c391 GIT binary patch literal 3927 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 literal 0 HcmV?d00001 diff --git a/cinelerra-5.1/plugins/theme_blond/data/gang1.png b/cinelerra-5.1/plugins/theme_blond/data/gang1.png new file mode 100644 index 0000000000000000000000000000000000000000..ac658091a9190062cb6a5b7c7fc229ac99d3c164 GIT binary patch literal 3845 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 literal 0 HcmV?d00001 diff --git a/cinelerra-5.1/plugins/theme_blond/data/masterpatch.png b/cinelerra-5.1/plugins/theme_blond/data/masterpatch.png new file mode 100644 index 0000000000000000000000000000000000000000..a955d18539fcd4af7e8ef04e759422e14affb6e0 GIT binary patch literal 5455 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 Q2#hTTPgg&ebxsLQ01gcsTL1t6 literal 659 zcmeAS@N?(olHy`uVBq!ia0vp^3xN1A2OE%NT`zSLNU;<PZ1_K5bM+XCrSId|1#5Q_!T5et)w{OQ^+4I{EIz2BvU)y5u(6EKY!>eJ* eC^2lqpiXWN%i+_xzh40p5QC?ypUXO@geCxl=iWj9 diff --git a/cinelerra-5.1/plugins/theme_blond_cv/blondcvtheme.C b/cinelerra-5.1/plugins/theme_blond_cv/blondcvtheme.C index 258b9e5b..6db8b722 100644 --- a/cinelerra-5.1/plugins/theme_blond_cv/blondcvtheme.C +++ b/cinelerra-5.1/plugins/theme_blond_cv/blondcvtheme.C @@ -915,6 +915,9 @@ void BlondCVTheme::initialize() //show_meters = new_toggle("show_meters.png", editpanel_up, editpanel_hi, editpanel_checked, editpanel_dn, editpanel_checkedhi); //titlesafe_data = new_toggle("titlesafe.png", editpanel_up, editpanel_hi, editpanel_checked, editpanel_dn, editpanel_checkedhi); //tool_data = new_toggle("toolwindow.png", editpanel_up, editpanel_hi, editpanel_checked, editpanel_dn, editpanel_checkedhi); + new_toggle("gang0.png", editpanel_up, editpanel_hi, editpanel_checked, editpanel_dn, editpanel_checkedhi, "gang0"); + new_toggle("gang1.png", editpanel_up, editpanel_hi, editpanel_checked, editpanel_dn, editpanel_checkedhi, "gang1"); + new_toggle("gang2.png", editpanel_up, editpanel_hi, editpanel_checked, editpanel_dn, editpanel_checkedhi, "gang2"); new_toggle("eyedrop.png", editpanel_up, editpanel_hi, diff --git a/cinelerra-5.1/plugins/theme_blond_cv/data/gang0.png b/cinelerra-5.1/plugins/theme_blond_cv/data/gang0.png new file mode 100644 index 0000000000000000000000000000000000000000..b44809c0b0d58bc050d79a2966f88c13a88ca460 GIT binary patch literal 6702 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 Xg}{}ydPhO5sSGeTwl=CgcQy8JSXMDC literal 1470 zcmeAS@N?(olHy`uVBq!ia0vp^s~H#=^EudnEYoM!{6LB=$=lt9;Xep2*t>i(P=vF< zBeIx*fm;ZK886+f`vVkYFY)wsWxvYJDImb@deV@Ofq~WA)5S5Q;?~&Bxb;J*eCk#q%Mccxj}qtAE2if4Qmx$b(*{yNjh zm({Eh`QP`{{+{)8wrPW0v+mOwYi`f`T6Vf<@3Xqyom1_?8?Qxeduy>NYF&Qj>WG&H zmx4|e$M3y6?auV=K3hAc{`&^B@LO%Q9nXz-+hd+Nt|{5Ge%<$+@20rV9j@J7>Q&7TiT#kBvr?asaZQ7+rJPDI=GcvMtS)ad~4v}}gI z$9C1nvwoX$$*4DJ>E)HPo^Y6Yu615^@uH}DK=w%ki(QM7`;D*v`cdNf!t~Pf^Gj7+ z*OW--_-a1=UCne{dtKbVWv@AJ%k{?t!{+-@HQkf%Tg&uwSyP-hN!y zP_O3me)8Aq75&ya<`E@Quj+iR*Vf<5nYpIKGVs27w)Z6?o}{I}O&|Q2tlVwl zDPA^7m1%pkd+yY}@~cKycrMSd@{cs%c8>9kr=TElPea^=!&sm($ zEIjAs9##2Y=cxs!#Bc~0d%mC!XMVi}XBe5*TW(u>l#{Ou_ zz&%M%Z7yF`eW-KfROYhP5r&Zu7cWPmkkUOg!hYue=6)`fZB*Zpm<%jw89ZJ6T-G@y GGywpyh>FVq diff --git a/cinelerra-5.1/plugins/theme_blue/bluetheme.C b/cinelerra-5.1/plugins/theme_blue/bluetheme.C index 7b47576b..b589e0e3 100644 --- a/cinelerra-5.1/plugins/theme_blue/bluetheme.C +++ b/cinelerra-5.1/plugins/theme_blue/bluetheme.C @@ -660,6 +660,14 @@ void BlueDotTheme::initialize() "patch_checkedhi.png", "drawpatch_data"); + new_toggle("masterpatch.png", + "patch_up.png", + "patch_hi.png", + "patch_checked.png", + "patch_dn.png", + "patch_checkedhi.png", + "masterpatch_data"); + new_image_set("mutepatch_data", 5, @@ -896,6 +904,9 @@ void BlueDotTheme::initialize() new_image("locklabels_dn.png"), // can't have seperate down for each!!?? new_image("locklabels_unlockedhi.png"), "locklabels"); + new_toggle("gang0.png", editpanel_up, editpanel_hi, editpanel_checked, editpanel_dn, editpanel_checkedhi, "gang0"); + new_toggle("gang1.png", editpanel_up, editpanel_hi, editpanel_checked, editpanel_dn, editpanel_checkedhi, "gang1"); + new_toggle("gang2.png", editpanel_up, editpanel_hi, editpanel_checked, editpanel_dn, editpanel_checkedhi, "gang2"); VFrame *cpanel_up = new_image("cpanel_up.png"); VFrame *cpanel_hi = new_image("cpanel_hi.png"); diff --git a/cinelerra-5.1/plugins/theme_blue/data/gang0.png b/cinelerra-5.1/plugins/theme_blue/data/gang0.png new file mode 100644 index 0000000000000000000000000000000000000000..9825bbc079024ba43195d10042443dad2247c391 GIT binary patch literal 3927 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 literal 0 HcmV?d00001 diff --git a/cinelerra-5.1/plugins/theme_blue/data/gang1.png b/cinelerra-5.1/plugins/theme_blue/data/gang1.png new file mode 100644 index 0000000000000000000000000000000000000000..ac658091a9190062cb6a5b7c7fc229ac99d3c164 GIT binary patch literal 3845 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 literal 0 HcmV?d00001 diff --git a/cinelerra-5.1/plugins/theme_blue/data/masterpatch.png b/cinelerra-5.1/plugins/theme_blue/data/masterpatch.png new file mode 100644 index 0000000000000000000000000000000000000000..a955d18539fcd4af7e8ef04e759422e14affb6e0 GIT binary patch literal 5455 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 Z7$-$={7O1{Nfa1y44$rjF6*2UngA7Ki@yK> literal 661 zcmeAS@N?(olHy`uVBq!ia0vp^3xN1A2OE%NT`zSLNU;<PZ1_K5b#|5cr8I4RIR(91LSlTk@W~hGroqs*wZznALZS~ylki3FJ6qAao gL(nKOY{S4_;S1|8X-0)oU=m{RboFyt=akR{0GiH=xc~qF diff --git a/cinelerra-5.1/plugins/theme_blue_dot/bluedottheme.C b/cinelerra-5.1/plugins/theme_blue_dot/bluedottheme.C index 8255adc0..3d000749 100644 --- a/cinelerra-5.1/plugins/theme_blue_dot/bluedottheme.C +++ b/cinelerra-5.1/plugins/theme_blue_dot/bluedottheme.C @@ -697,6 +697,14 @@ void BlueDotTheme::initialize() "drawpatch_dn.png", "drawpatch_checkedhi.png"); + new_toggle("masterpatch.png", + "patch_up.png", + "patch_hi.png", + "patch_checked.png", + "patch_dn.png", + "patch_checkedhi.png", + "masterpatch_data"); + new_image_set("mutepatch_data", 5, @@ -939,6 +947,9 @@ void BlueDotTheme::initialize() new_image("locklabels_dn.png"), // can't have seperate down for each!!?? new_image("locklabels_unlockedhi.png"), "locklabels"); + new_toggle("gang0.png", editpanel_up, editpanel_hi, editpanel_checked, editpanel_dn, editpanel_checkedhi, "gang0"); + new_toggle("gang1.png", editpanel_up, editpanel_hi, editpanel_checked, editpanel_dn, editpanel_checkedhi, "gang1"); + new_toggle("gang2.png", editpanel_up, editpanel_hi, editpanel_checked, editpanel_dn, editpanel_checkedhi, "gang2"); //Is that necessary?? VFrame *cpanel_up = new_image("editpanel_up.png"); diff --git a/cinelerra-5.1/plugins/theme_blue_dot/data/gang0.png b/cinelerra-5.1/plugins/theme_blue_dot/data/gang0.png new file mode 100644 index 0000000000000000000000000000000000000000..2aef30e0adbead7ebd14c2a54bb8c6bcfa3f0e6c GIT binary patch literal 8100 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 Hu0mjfmhbVV literal 0 HcmV?d00001 diff --git a/cinelerra-5.1/plugins/theme_blue_dot/data/gang2.png b/cinelerra-5.1/plugins/theme_blue_dot/data/gang2.png new file mode 100644 index 0000000000000000000000000000000000000000..a2346a166d9d3c57a05796dc3a8fea13121bd391 GIT binary patch literal 7235 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 RBTN7Q002ovPDHLkV1h)U5vc$G literal 0 HcmV?d00001 diff --git a/cinelerra-5.1/plugins/theme_blue_dot/data/masterpatch.png b/cinelerra-5.1/plugins/theme_blue_dot/data/masterpatch.png new file mode 100644 index 0000000000000000000000000000000000000000..a955d18539fcd4af7e8ef04e759422e14affb6e0 GIT binary patch literal 5455 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 vkmh&DOrObR!L-QtAQ5)^ zN9x*q&c7h534+io)L7L4HHJ7`_6pfrFG9s@&fQ&3zu#lMw~7efQq38V3Z zqF7sms`8D?tNZ!KC}MLXBg@uElY}&tB#9(V6Qqo(ZH>|ft<8K?hPP7j@c4{U`kR|9 zLe?mzP5!x1hojH$3X@7(a$$h2C7tWi{D;T1x3G}5}FEd4eLqOL|( zQF(@vr5}yLKmgJ^)XQXhb_)%LlHI)%2AhY>rnMI&2xGGTkik%XK|;XM@fNV<1?kE= XIggWbovIYg00000NkvXXu0mjfWjN6z literal 0 HcmV?d00001 diff --git a/cinelerra-5.1/plugins/theme_blue_dot/data/patch_dn.png b/cinelerra-5.1/plugins/theme_blue_dot/data/patch_dn.png new file mode 100644 index 0000000000000000000000000000000000000000..8cfd7863501b7fd6ab02c360eea6f83b622a71a6 GIT binary patch literal 377 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 diff --git a/cinelerra-5.1/plugins/theme_bright/brighttheme.C b/cinelerra-5.1/plugins/theme_bright/brighttheme.C index fdce3ce0..6c8afa05 100644 --- a/cinelerra-5.1/plugins/theme_bright/brighttheme.C +++ b/cinelerra-5.1/plugins/theme_bright/brighttheme.C @@ -664,6 +664,14 @@ void BrightTheme::initialize() "patch_checkedhi.png", "drawpatch_data"); + new_toggle("masterpatch.png", + "patch_up.png", + "patch_hi.png", + "patch_checked.png", + "patch_dn.png", + "patch_checkedhi.png", + "masterpatch_data"); + new_image_set("mutepatch_data", 5, @@ -894,6 +902,9 @@ void BrightTheme::initialize() new_image("locklabels_dn.png"), // can't have seperate down for each!!?? new_image("locklabels_unlockedhi.png"), "locklabels"); + new_toggle("gang0.png", editpanel_up, editpanel_hi, editpanel_checked, editpanel_dn, editpanel_checkedhi, "gang0"); + new_toggle("gang1.png", editpanel_up, editpanel_hi, editpanel_checked, editpanel_dn, editpanel_checkedhi, "gang1"); + new_toggle("gang2.png", editpanel_up, editpanel_hi, editpanel_checked, editpanel_dn, editpanel_checkedhi, "gang2"); VFrame *cpanel_up = new_image("cpanel_up.png"); VFrame *cpanel_hi = new_image("cpanel_hi.png"); diff --git a/cinelerra-5.1/plugins/theme_bright/data/gang0.png b/cinelerra-5.1/plugins/theme_bright/data/gang0.png new file mode 100644 index 0000000000000000000000000000000000000000..b5f7e279445459b6c782e58febd8a6145a88a148 GIT binary patch literal 6736 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 m{wt$lN))So$@AoYApZcno^{o{P) zaB^>EX>4U6ba`-PAZ2)IW&i+q+SQs_aw|KJgx|S}UIOP~IUFN;2fh6MKvv0;JYC=Z zU-~F~Bv(-+2qY2-meu^9|6c09_!pA5%7>I=iBa><7hi1UL)PbC+5a2u_y6aY`<{8d zt{yimmmKfz{F>@DzH&W$eBm)qd%dpmb;sswqU**zp_7#@AI7thT({@C@z+FUo)59) z^lWOg=e=J8w<*_8yC&Th>GQjKzTgvH8i9qJwbL1=_y7J_;LcCwC-T2_o^i%yK6_^s zZ^qqw#UU@-yWh2bcF>EH?@#L8`;Sj=&bRft?%sSEFCX#Y%Nr(q?fmWHr-j|aBKvkD zoA7Bn*UwrbuQku^s*iXyUWnSxHup3PY`EO*uSH&opTOs|UxioJRd+%@bk~hnH^o?@ zvXt>=m}-`p`@NfviQZ0|c(=A&x36WFY_Z)*oV>iuvdI-Uh?;fXPUV~g?_rDC>z2J< z2lYb_!%%CO%6<1n$l~o^6yQ2E(^@pgLD{6K}O2(x})VQirx~DKgCqZIH#H=?&JV^uqw3V3Y zY`nJ;IfdFgnk+umU+bPBXa*JZYtz|6gT@@M8$bA3nbWTE&}JF<`aGgoDEm7-SvukZh%iCR-(>9o3CBd#7>^}SX6*HWmd2i=1! z1TjwH6yoS4YIDn0V=`LzAe#?}4nzSYaoia|E*_!Io z8f%s$qw?4@FkHJH6xZO4VcKFUFF=m7&Ah5DVdP1WKteE}1p>KtvO-uZ!*0{Iy|B(v z{{+a8(G%BO2iW=zIS%9c*EnyJeO6C|c!OC2$k8nX72k6rcN8z^>m>N$g^Rs}a| zn?2T5wg)2nTm^3FxLyjP>|u~c*~=<=+n$sxIxXinouix2Ly^`nm#S5YnLtke_HI_9RI#js zVxU}s3~nHt)(c)Qet}t zCNTES<(w~P|DDEGE8-O#pKAwL#jiP(-sy=15uG`*pF8)4L1_r|1UL-)ZB%S3-qG(* z#3{JUA72KL@@0R0*@VXuS02EXN)mxmD2X7o$PKUzafv5tq&)fu$-uXsh9m1^3dZ;ZU+4 z#>^;m##fhxwozc$giu|mt-{(pH8Q&~5n{*AF7-8iY97)0TM582UO7e|OgYSek@OKid zs4I8=idEj@H3=9`rzJxZj^5ZVm?N#%9tPOp&5zdPX*ke zrW_1H-4GWWM=p_O0v*XxwNuxuley&*T9fu-0tXrjY%-1|!yHp=>U5OUKP#b4(s*Jw zMDEmbLS?$A9W<>^*f4AO6Sz492MDZbSCqCr!_nY0rC#;%4|ioE%1c1dHz~pmD(XWH zHqgg36;WWpkIrSXu@Os|bU0O47|cV2GytJd>=2_CH&T?dwj!!i4c=U1gK=nSQKsCV zK)B-b4#hDI8)+mW8*I{j6p!=+H|!bYZly9tCno%e+%5=@y++7sN>38#Q25s?J7nF~ zX;-`i#;7ZfR}|57zHUAwgJ5x)0GWQUP+VTjsD7yE|hb44cBRVl95O3P>mFVE1QG?Dx z1tnu0NgJnzc?P=69l!zvg#)TXPx+N7QV0wjOKQ(RAS)uN z-L>S{5FAyo7xEVmm=zm^R>W9UjO|rq6MES%K+$FMm|xKhk-NnX z^fX^rOLj>mLLwdP4reIhNI@sZ?j>z6IdQcN;C6tl8;)E9IINSOrYaqi_w-ZPNRa`z zNCgjJ7D{nJj~jS1Rg?*R{f=6xvtE@Cf4x}vlX;>}im?*a{f+UpMlZdV91pHJ^ATvDVPUfQ6vAaxsx_qZRkbaTuKq zvzI|FOjkoeKAI}zVML71CE`h-3<4Xfhi+9_s*(?~&XA%2Hg*)~)lBe|+s3>T>3}}L zCcsIBL4i`#mg{2F#99=n!fJ}&5Go}Bq>tP-i^UUGLs|i@EL#592ICmnVvT2OX^#D_ za;rm5-10EfbWn$epkZK9>#0=ugj5v$-o(h^I|Q(2J~aeCnoV{xQD|sl`}k70uq72|or7^V{1IADJ1-VtieQY|jU=6Ygw;=y zqO|3#h9b1LhVEVlbp(4A6IFY;xgm{q68rEFBP~6BD>(#XsQ~?$2bMjFKPWHTI#^Np zdTMJzGp}|U6nyTQR81UFYY@X4CZmq22jxJsQr;%&OwQqi0+chqoD$Lp(A^Ao#M17Q zkV{q0i6E?oxB=|6qDbCp*ovsEk_;J9vv29rV>Y49XNPARdfl#si0-sO)7`~Ao|Bh- z!cOTncXf{_e8Lb08%9BOktTKfCtbb^77F?HKjunO~jz>beiNsIUCe zdTVn2gih+Nn=viwe#iqZ>FJO|a;98%^I^9dnzJct#gy}6k!cV_t`jn)hdz@;IgV=7 z=@qn0Lf7gVg}Fl+&F-!NYbkhBIfBQ>~4T*>pt z6D?oKeT1SD6~JzwoIx}sRBZS9#v`0V7{$Ldc`E~6OP!c{DV z-i$xpf>1;%=Yq@f$lWxw`W=0qW@&hR6Mv2}3%QKVFtUWw_QXUk>o?e(wMD zHwc&T*-t92clCbZ-@gC9n+S-nQPlqetASBxPLC&50004mX+uL$Nkc;*aB^>EX>4Tx z0C=2zkv&MmKpe$iQ?()$2Ro=ZWT*wff~bh2R-p(LO0CeUgUO{|(4-+rad8w}3l4rP zRvlcNb#-tR1i=pwCr2km7b)?7NufoI2gm(*ckglc4iM^PrkWk&fT~$WDjpLv*;O&{ ziY^QS7)3;4raqTUCg3@~?&0I>U6f~epZjz4Dmjw@K9P8q>4rtTK|H-_>74h8L#!w% z#OK6g23?T&k?XR{Z=4Gb3p_Jqq*L?6A!4!6#&R38qM;H`5r-93qkJLbvch?bvs$jQ z<~{ifgE?(wnd>x%5yv8ykc0>sRg_SMg($5WDJD|1AM@}JIsPQMWO9|j$gzM5R7j2= z{11M2Yvv~>+@xR(=zOv5j}aiS3p8rB{e5iPjT6BC3|wg~f29u0e3D*kY2hQFZyUI{ zZfWu!aJd5vJn51lIg+2Ikk13}XY@^3p#K)=S#x`9?&I_UNK;pd8{ps&h!iM$-Q(Te z?Y;ebrrF;QeC=|pE#X>G00006VoOIv0RI600RN!9r;`8x010qNS#tmY4#WTe4#WYK zD-Ig~000McNliru>7^0!~RpK~zY`?UhYW6Hyd~pF5pti>)!4woyi_ zfhr(sEDQK0{s%Oo3%9Oaxpe8$e^X+>s0)E9fkFwioyG{XGo87|1q0!u$Vb?acvd&( z+;iW1?|a^J;JTYS?x?T1066zbCwu@H12~Rz#3urGi>0#xHfmKg`eHX!3Iqh%!^dE- zID8N{4{z4UUcx2*LB)5~B1b~TdGgc#zvIWwytviZUF!8}|Ja(#dd)pG*SLa0NdwNg zs%WED&1iHQu&T?;Gs8nen}D=hUN)DrcdFIpJG;BPDaRRXiJ-T(wz}ivj|XOFzmEF8 z|9fm~^wZL!>rTIVooF<@s2|A#Z{EJkRw}cdAPC+orBH^#GA*JgA`C-PsT8JZ(hEZZ z-zSksAR=h30X}9jSq0>Q&AvJ)gwVBVJoT1ZY5j`#=*g8%-}b z0I1hoPzog+=%73?RREZut2D|JQ-%4tO5-v**at|WR3IW;LI!COY^A98Q?&`;6iY!& zazcwHe)yV+{_e&Byt__efM z$lI#X^mIRx^9u`$&FPmjs?+Iw5fLmaNf`F%^?DeFfz}$)LNb*kiXx&Y!Za)K?VCUc==i=L#4k!mQDnu*+ud$A9e=S30)M{1qbfwVVh4?M(X%mvtegMvc$0 P00000NkvXXu0mjfJ-mT+ literal 0 HcmV?d00001 diff --git a/cinelerra-5.1/plugins/theme_bright/data/gang2.png b/cinelerra-5.1/plugins/theme_bright/data/gang2.png new file mode 100644 index 0000000000000000000000000000000000000000..cdcc5c152506131cdaa597f6ff9dfd02e1a5e81c GIT binary patch literal 5806 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 literal 0 HcmV?d00001 diff --git a/cinelerra-5.1/plugins/theme_bright/data/masterpatch.png b/cinelerra-5.1/plugins/theme_bright/data/masterpatch.png new file mode 100644 index 0000000000000000000000000000000000000000..a955d18539fcd4af7e8ef04e759422e14affb6e0 GIT binary patch literal 5455 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 BkuCrL literal 543 zcmeAS@N?(olHy`uVBq!ia0vp^3xN1A2OE%NT`zSLNHG=%xjQkeJ16rJ$YD$Jc6VX; z4}uH!E}sk(;VkfoEM{Qf76xHPhFNnYfP(BLp1!W^w>gE`CFSN{jN1ehk}YwKC~?lu z%}vcKVQ?-=O)N=GQ7F$W$xsN%NL6t6^bL5QqM8S^uFTWLF{I+w+e?mu3CZs zTyC(do#o*3EpHDrs(em)Fp1GnfsKVZ$-#hBiid;kNJD}H=~M^f!3GHd9#Sc0uLhu7 rB?Oq8NTtZ|95ggY_Z$b?6K3w*E3B;%Oq~_LsABMR^>bP0l+XkKS`~%m diff --git a/cinelerra-5.1/plugins/theme_cakewalk/cakewalk.C b/cinelerra-5.1/plugins/theme_cakewalk/cakewalk.C index c44ef502..22d2d554 100644 --- a/cinelerra-5.1/plugins/theme_cakewalk/cakewalk.C +++ b/cinelerra-5.1/plugins/theme_cakewalk/cakewalk.C @@ -674,6 +674,14 @@ void CAKEWALKTHEME::initialize() "patch_dn.png", "patch_checkedhi.png", "drawpatch_data"); + new_toggle("masterpatch.png", + "patch_up.png", + "patch_hi.png", + "patch_checked.png", + "patch_dn.png", + "patch_checkedhi.png", + "masterpatch_data"); + new_image_set("mutepatch_data", 5, "mutepatch_up.png", @@ -985,6 +993,18 @@ void CAKEWALKTHEME::initialize() new_image("locklabels_dn.png"), new_image("locklabels_unlockedhi.png"), "locklabels"); + new_toggle("gang0.png", + editpanel_up, editpanel_hi, editpanel_checked, + editpanel_dn, editpanel_checkedhi, + "gang0"); + new_toggle("gang1.png", + editpanel_up, editpanel_hi, editpanel_checked, + editpanel_dn, editpanel_checkedhi, + "gang1"); + new_toggle("gang2.png", + editpanel_up, editpanel_hi, editpanel_checked, + editpanel_dn, editpanel_checkedhi, + "gang2"); VFrame *cpanel_up = new_image("cpanel_up.png"); VFrame *cpanel_hi = new_image("cpanel_hi.png"); VFrame *cpanel_dn = new_image("cpanel_dn.png"); diff --git a/cinelerra-5.1/plugins/theme_cakewalk/data/gang0.png b/cinelerra-5.1/plugins/theme_cakewalk/data/gang0.png new file mode 100644 index 0000000000000000000000000000000000000000..9825bbc079024ba43195d10042443dad2247c391 GIT binary patch literal 3927 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 literal 0 HcmV?d00001 diff --git a/cinelerra-5.1/plugins/theme_cakewalk/data/gang1.png b/cinelerra-5.1/plugins/theme_cakewalk/data/gang1.png new file mode 100644 index 0000000000000000000000000000000000000000..ac658091a9190062cb6a5b7c7fc229ac99d3c164 GIT binary patch literal 3845 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 literal 0 HcmV?d00001 diff --git a/cinelerra-5.1/plugins/theme_cakewalk/data/masterpatch.png b/cinelerra-5.1/plugins/theme_cakewalk/data/masterpatch.png new file mode 100644 index 0000000000000000000000000000000000000000..a955d18539fcd4af7e8ef04e759422e14affb6e0 GIT binary patch literal 5455 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 L>gTe~DWM4fHe3Q# diff --git a/cinelerra-5.1/plugins/theme_hulk/data/gang0.png b/cinelerra-5.1/plugins/theme_hulk/data/gang0.png new file mode 100644 index 0000000000000000000000000000000000000000..82b37a8e4e58709d1f33af3d6d7d9139ef803139 GIT binary patch literal 5370 zcmV zaB^>EX>4U6ba`-PAZ2)IW&i+q+P#|RktDg2g#SZ|69Jrv18Vj(IPvcb07aV4j=i;; z+V09u0u~+~?#Na1fB&=8|M1V3?3E8G#}cFFpD(`H%0brWU)jHn_WSqw<8jS=Jg=S? zET|V8`ChU4HgqpM8g$aLY zd%pXFMX)D%bs9Bcis@&Vai*DPnRS7+ z<(6Mz#g$fGWz}cYZdAW~{vvATM$PU>$$jY=HO{J(9!(gblOQo8V%8fXo+JVQ+DgoH zHr`u_oWx8QOHu^OAcMq44I>dFgnk+umU+hR6}f*DHx=?fiktmYZos>j)8UJS88<|F~n_+SEMwC<5>H+cAuov7b>d3I9c>?yjLC^XM?(E70w zXqTnxp8cogcr3U*&F?@{; z6oYzgTm`Ennw`V;-m+`O8`Wpc}TRIBdyz7o*|4^Yz$+XKM$1Ax_M1gG^Qe*3UAsNFPuL#$>mkn=&5qbpd2W_r6|Cf9RV0qK!fOWB0^%{86&B{k{MuWv6RDgBQR zer{8}UF($KXPaSJlb}G?^1ixsIZ4Pgzgq}(S0e3mUiW|q24vBIQsd@I(*%mRl|o*K zkPU5c?+kA9@+^>%h&Tl_DLcsP$r3F)w?-kr26owTC%15w~!x@|2i zD2nwSk^BzT_XedE%3CEDH5pyXD0NbJV;r3ln^>imP3~6ZIWT}`1!3*fNeas3;(@ec zw&VuuGMib?O|cnw3Hap(f4 zF$0kWcN771^#QRIC^{}umb~aOdI4H8jh?Us$=5=pOi?fb#lLr7d4gNLV_n>|Wj4%Z zTE>kQ$#{r%7C743QS9hQqfU|O1Ci0{)KLux#t>~F9kXZt2KnKdbptS1=AvP$wlX1@ zDNi)XO0Gtfi^LL)_rM?%bq!qtZ?!n7e7hnbTOz!{Z0ZWL8k#?Y7Mu$sA;rPeC_$=| zC&r++slLwqEBV!-jhPDx023I}fYB3prj;OW*pokZk-`qGI3(>FMF)KOMv5?)-UtgN zs(FHgb{nWsSD5b_vGpvhUYTOpg~97Jh}~Q~um*@%86)pr0UqgT$TzeD=(yoebO!NsINKNae)P`Nhaj@W z1PS1-d2Gx!a;yy@lzJLAds5j==X#;w2J+VlK=hi*rdB9I!GUgFqA853jsXo+f9Q+# zwh8kt^i?Kt3A8=|bTzfYQ!Xao5u+H32_ntCf^(?dY>9Ts0-zKun^WxRVQl#WwE@CLCA($OS%sthn8v{-!B|M%uX;< z-T5wv`GcO60_Hpd1-DK4^(u9Dibu%$htgpdV5Uu%Vd>l0MhpoZA55+uR1W*2d?Di} zFsnqN1)JjqW~b^C1gzBtCSW0N`<_c`ihJ?xjYz}UB|0E6fMCHJ7TYG?i;yHI;Lbu0 zH6Uh8C_7=!H`*_fF9bG9^00iUfDu!EZGmOsEXPB*iuOFoDd2bRRO`nOR>5w zBP;%CQY$J&4u3YQ+&-O3@sC7=LPcA+jXrQWxX^*-b%!}gN4#j0}nOa9Qh_`?YpyCiCH?^z8bjR@+U^6-S% zlp!_+A5q1&=&~Yp&D!s-If{tSb(iBN&EOh2$;i1Hopgfj+j<>Kgo4Lq=X{_<9rut0 zlYEegY#KlA)DzPJ;~qkB+fFmWv6Bv-Q}9=w^NqRlk6SWGLYR`-Gg4$&tszexz`w|0 zWpDyFpnsm?cG^F zR`gqwp2ecuZPLTjjA&sax$ZEanKR4F{%O}*A@n(zwTI4vcwgLt#kq}=X~jPGC|jak zKq`XUnZ|z{0bAb;B!ES*eyJeRAOK3v5UF>gjR@KXJwtfSOC8e#Zm~h2D^f*=*a;(% zs9A9dRkpD&?nG)7(jK&!ql^VPjngG(|G0&_{bm}=AjHYfy+)!X@{jt#r?iy=fYh?D z39*Q7M>m+A&d7$H|9AT^o&4WhT`+*`alrtx1xB}RxA#;cx~6A)TZu@E~1|r_-e7K&qF*TbU%&ov}uyV2S{UCsvs!XE*q|IdlxUwXwM#C z@oy`WzFisd<;0_BJ7r5m!KiNYAik0GMZwf!#4^e&f$A)v?A9WM@c~G{Fsk@no%T+7 zuOuB>3NAzXQO68@Vd2`>eLjFoE*Y0c!N;B5M=I1bR?0jsl3Vvg)RK9WdqewrgIq^G z2EedzaQFm66-^1nK)a?TDI&&oWgL$0hy#j9-s%9svDJYm-I@pni%&&&h#7=~TN|uU zl^q7OXfX@=SPEjN)(|B8K7}-+YjQu^j=x6mQDy9Pm5SnaY-PA*rqMO!0E)y9{Dz#j z2+}bHl2y=y$h~PhJ%)dic2vlK&JRHZaqS+_0MFu)QVP-&EW%<#U{iwDEfro~14s#i zerp|ux+L-!0e3v?FBzcrWF=+x1Q@au)z@r4%vGRg#{2#4dB1u+kk8@v}Z&1;7&B_9uws>Dw)LIWun%Ua5m)4Zf)Le z`Ns%PYqBk0?WbLNm`ZIMb;3DrI2+WQ&xX7Y&sF)*|9kg)NwoUC$1rq|-2zJelC7wt z&^Hevn|IviiJQ6_{kI-lmG>O7%;7Tcna$lIKTN6ajLd6;{JZ|7yW~y8!>oZ=7Ot2_ z5QZZN)!mdQV@YP@Gsz&y4FB~0boP&2Mh6AtmNBve7Z1?$*@06aJyAvruDz$wrqzF!$nnVE2z6vh;r*H^m>;-yrOy@<zJy-mva9O%H4*2--!L>(td%c zx`+t_*L2>%;Cd{xx^G}2iz^!)>Arxm&BaLypBFF;#`uKP8!DTz_x6JndGL{$_n*M` z9rn~m@YVV^$x$BLV?j9kyTwfh%123b|Jz#=(U&4#6w~y3(=pU7S02Y%%l|(R#oHr| z-%eYPGfmW)g5(%8TlC#WuT=yeT-FUOjr7sXs`bibWuR8T7;2cuo2T^|?K} znT0-;=%p=)>^HrmxDvWcc8l!mmC?6zRlmME`m!i>U@mdU3lTjwj}Dj|d<|vr%y{B~ z0LUx5)X5wUkfR{!!>;-0qcuBvZRe$79feDIoAZQX3w6%D8EaY(yDCi5U#f`g7*G_L zrO0%O9B6}Gcdrh~ikOfw$>6Z-OUAZ=E}L=}XredlIC28XfSj=5$O*UrJ#dFjzUQ0o zM%`DC7|xyWL~p-??4uy{@_q+N`S8^sC13eI@8)WC^|~kZue@6Se`<)BVsq910TMWH z9rklVmjD0(glR)VP)S2WAaHVTW@&6?004NLeUUpz!%!54|E6k1Dh_r~amY}eEQpFY zY88r5A=C=3I+)z_1x*@~6c#{&jyw zubQ(M5DQb*W;!)b93d79 zZLG90E1DYd6meA5bm}i;JXSexan{OJ)|`{SFr3p@mbp$jj06_31PLM(R8c}1Hez(@ zq*zGNecZ=CecQmrbxTwBfXf|V;K`6p*_DEnLOu_?pV2pEf&N>d zXU*GN^B$)UK$>=yya5glfzbl>UiW!-cl+M{t!eJ>2Y*g-tf{4EE&u=k24YJ`L;(K) z{{a7>y{D4^000SaNLh0L01m_e01m_fl`9S#00007bV*G`2jm7B0UisX0g~YW00O2- zL_t(Y$K{n>ZX-n$g}+5 zkOvq$HcT|ZMrr@G`yL+L9&F+yo_RxDsidykRXVrMxpfNu>tU;tUbp?~yV*L~m?uQ)$ zkk`ATCxh0517LV+jr=Z=gX3Os{T2|{yXhY*ynhJ%QtzghDt!A+3$A%-;@<+_->Jc{QF*SS z{V+hqLV;|djY)VgnNSdxM-XyZGS1gDhyi+?Hke@omv=mb9f0~pngUcZD^C(l&8%c- z-^Ch5(^~w&s9t)R$9BCxoQ`j3(Cf6zn7O2^=$q}W;GT=NNn}%GUjTTpk`k+B<>(l* z1d*BK@zlF{V!I*ppQ4;bR*qUxmYo5*Hn`+pr)zEQ9M5OVOS;5`Qg zm{r#f;R+VaW8#@(!`Uvd86aS}%dhtO?f?J)07*qoM6N<$f}HwQumAu6 literal 0 HcmV?d00001 diff --git a/cinelerra-5.1/plugins/theme_hulk/data/gang1.png b/cinelerra-5.1/plugins/theme_hulk/data/gang1.png new file mode 100644 index 0000000000000000000000000000000000000000..a99c6263c26d790ea1217e09d4a71a60bb6a7c56 GIT binary patch literal 5153 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 P00000NkvXXu0mjf+@I7X literal 0 HcmV?d00001 diff --git a/cinelerra-5.1/plugins/theme_hulk/data/gang2.png b/cinelerra-5.1/plugins/theme_hulk/data/gang2.png new file mode 100644 index 0000000000000000000000000000000000000000..f6738f0c254293e2a6033c436f06fa7ca54ddf77 GIT binary patch literal 5036 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 E08dCy>Hq)$ literal 661 zcmeAS@N?(olHy`uVBq!ia0vp^3xN1A2OE%NT`zSLNU;<iL3uh*#J&FuF`afi+T{$Vdd;a&Yxf?G0?%CP@ft_Q*GzL%3 h2~$Ri;Ti^4_?3RJyB}*1{RB)x44$rjF6*2UngC=b#O441 diff --git a/cinelerra-5.1/plugins/theme_hulk/hulktheme.C b/cinelerra-5.1/plugins/theme_hulk/hulktheme.C index 3a9971f6..e9b216fe 100644 --- a/cinelerra-5.1/plugins/theme_hulk/hulktheme.C +++ b/cinelerra-5.1/plugins/theme_hulk/hulktheme.C @@ -658,6 +658,14 @@ void HULKTHEME::initialize() "patch_checkedhi.png", "drawpatch_data"); + new_toggle("masterpatch.png", + "patch_up.png", + "patch_hi.png", + "patch_checked.png", + "patch_dn.png", + "patch_checkedhi.png", + "masterpatch_data"); + new_image_set("mutepatch_data", 5, @@ -895,6 +903,9 @@ void HULKTHEME::initialize() new_image("locklabels_dn.png"), // can't have seperate down for each!!?? new_image("locklabels_unlockedhi.png"), "locklabels"); + new_toggle("gang0.png", editpanel_up, editpanel_hi, editpanel_checked, editpanel_dn, editpanel_checkedhi, "gang0"); + new_toggle("gang1.png", editpanel_up, editpanel_hi, editpanel_checked, editpanel_dn, editpanel_checkedhi, "gang1"); + new_toggle("gang2.png", editpanel_up, editpanel_hi, editpanel_checked, editpanel_dn, editpanel_checkedhi, "gang2"); VFrame *cpanel_up = new_image("cpanel_up.png"); VFrame *cpanel_hi = new_image("cpanel_hi.png"); diff --git a/cinelerra-5.1/plugins/theme_neophyte/data/gang0.png b/cinelerra-5.1/plugins/theme_neophyte/data/gang0.png new file mode 100644 index 0000000000000000000000000000000000000000..9825bbc079024ba43195d10042443dad2247c391 GIT binary patch literal 3927 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 literal 0 HcmV?d00001 diff --git a/cinelerra-5.1/plugins/theme_neophyte/data/gang1.png b/cinelerra-5.1/plugins/theme_neophyte/data/gang1.png new file mode 100644 index 0000000000000000000000000000000000000000..ac658091a9190062cb6a5b7c7fc229ac99d3c164 GIT binary patch literal 3845 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 literal 0 HcmV?d00001 diff --git a/cinelerra-5.1/plugins/theme_neophyte/data/masterpatch.png b/cinelerra-5.1/plugins/theme_neophyte/data/masterpatch.png new file mode 100644 index 0000000000000000000000000000000000000000..a955d18539fcd4af7e8ef04e759422e14affb6e0 GIT binary patch literal 5455 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 DrWGAT diff --git a/cinelerra-5.1/plugins/theme_neophyte/neophyte.C b/cinelerra-5.1/plugins/theme_neophyte/neophyte.C index 450adef7..e58d2c04 100644 --- a/cinelerra-5.1/plugins/theme_neophyte/neophyte.C +++ b/cinelerra-5.1/plugins/theme_neophyte/neophyte.C @@ -813,6 +813,14 @@ void NEOPHYTETHEME::initialize() "patch_checkedhi.png", "drawpatch_data"); + new_toggle("masterpatch.png", + "patch_up.png", + "patch_hi.png", + "patch_checked.png", + "patch_dn.png", + "patch_checkedhi.png", + "masterpatch_data"); + new_image_set("mutepatch_data", 5, "mutepatch_up.png", @@ -1135,6 +1143,18 @@ void NEOPHYTETHEME::initialize() new_image("locklabels_dn.png"), // can't have seperate down for each!!?? new_image("locklabels_unlockedhi.png"), "locklabels"); + new_toggle("gang0.png", + editpanel_up, editpanel_hi, editpanel_checked, + editpanel_dn, editpanel_checkedhi, + "gang0"); + new_toggle("gang1.png", + editpanel_up, editpanel_hi, editpanel_checked, + editpanel_dn, editpanel_checkedhi, + "gang1"); + new_toggle("gang2.png", + editpanel_up, editpanel_hi, editpanel_checked, + editpanel_dn, editpanel_checkedhi, + "gang2"); VFrame *cpanel_up = new_image("cpanel_up.png"); VFrame *cpanel_hi = new_image("cpanel_hi.png"); diff --git a/cinelerra-5.1/plugins/theme_pinklady/data/gang0.png b/cinelerra-5.1/plugins/theme_pinklady/data/gang0.png new file mode 100644 index 0000000000000000000000000000000000000000..9825bbc079024ba43195d10042443dad2247c391 GIT binary patch literal 3927 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 literal 0 HcmV?d00001 diff --git a/cinelerra-5.1/plugins/theme_pinklady/data/gang1.png b/cinelerra-5.1/plugins/theme_pinklady/data/gang1.png new file mode 100644 index 0000000000000000000000000000000000000000..ac658091a9190062cb6a5b7c7fc229ac99d3c164 GIT binary patch literal 3845 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 literal 0 HcmV?d00001 diff --git a/cinelerra-5.1/plugins/theme_pinklady/data/masterpatch.png b/cinelerra-5.1/plugins/theme_pinklady/data/masterpatch.png new file mode 100644 index 0000000000000000000000000000000000000000..a955d18539fcd4af7e8ef04e759422e14affb6e0 GIT binary patch literal 5455 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 literal 661 zcmeAS@N?(olHy`uVBq!ia0vp^3xN1A2OE%NT`zSLNU;<NQQyFj$vI&P ggXbtQY{TI1JWW>CDJGvE0Fw}dr>mdKI;Vst0B9%0@c;k- diff --git a/cinelerra-5.1/plugins/theme_pinklady/pinkladytheme.C b/cinelerra-5.1/plugins/theme_pinklady/pinkladytheme.C index e07369fd..db4ed973 100644 --- a/cinelerra-5.1/plugins/theme_pinklady/pinkladytheme.C +++ b/cinelerra-5.1/plugins/theme_pinklady/pinkladytheme.C @@ -658,6 +658,14 @@ void PINKLADY::initialize() "patch_checkedhi.png", "drawpatch_data"); + new_toggle("masterpatch.png", + "patch_up.png", + "patch_hi.png", + "patch_checked.png", + "patch_dn.png", + "patch_checkedhi.png", + "masterpatch_data"); + new_image_set("mutepatch_data", 5, @@ -895,6 +903,9 @@ void PINKLADY::initialize() new_image("locklabels_dn.png"), // can't have seperate down for each!!?? new_image("locklabels_unlockedhi.png"), "locklabels"); + new_toggle("gang0.png", editpanel_up, editpanel_hi, editpanel_checked, editpanel_dn, editpanel_checkedhi, "gang0"); + new_toggle("gang1.png", editpanel_up, editpanel_hi, editpanel_checked, editpanel_dn, editpanel_checkedhi, "gang1"); + new_toggle("gang2.png", editpanel_up, editpanel_hi, editpanel_checked, editpanel_dn, editpanel_checkedhi, "gang2"); VFrame *cpanel_up = new_image("cpanel_up.png"); VFrame *cpanel_hi = new_image("cpanel_hi.png"); diff --git a/cinelerra-5.1/plugins/theme_suv/data/gang0.png b/cinelerra-5.1/plugins/theme_suv/data/gang0.png new file mode 100644 index 0000000000000000000000000000000000000000..9825bbc079024ba43195d10042443dad2247c391 GIT binary patch literal 3927 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 literal 0 HcmV?d00001 diff --git a/cinelerra-5.1/plugins/theme_suv/data/gang1.png b/cinelerra-5.1/plugins/theme_suv/data/gang1.png new file mode 100644 index 0000000000000000000000000000000000000000..ac658091a9190062cb6a5b7c7fc229ac99d3c164 GIT binary patch literal 3845 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 literal 0 HcmV?d00001 diff --git a/cinelerra-5.1/plugins/theme_suv/data/masterpatch.png b/cinelerra-5.1/plugins/theme_suv/data/masterpatch.png new file mode 100644 index 0000000000000000000000000000000000000000..a955d18539fcd4af7e8ef04e759422e14affb6e0 GIT binary patch literal 5455 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

gGH{-)$#+hTW4D*?!^E*kJT@iv@2x~sO`W)WN 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 IFmg-yKfaMrjsO4v literal 2841 zcmW-j2{@G7AIIl?=QZ9j6N6l1Ni*4!ZHO${4a1Brl~lM>p~V_1e{RE+WmIG*DJ{~! zY}HMSFf*Y<5^`0xQFLAF6!WKy{9pHZpYxvQInO!g`Tf4<^II}}yl9(bRAo>o)FyW~ zsxLC%LPjf$LH<&;svnUFbCf}&qAWJP*rAL?WCa`Tb}$x&!YOVH098^-L>8sv+&x{S z2QX+U1KjhUn|R35mN*yxIOnK{h>*xQlygkTk+_gx(z%myCrJBFgpg?No<0k~+L0)f z%z1aJ6d@LsNpHEIV}$IdM*$Mb@|tg)^RhW%LnKDPdiCpYXuhcB-zyZph*o>R6< zvH-ygs~ngd{6~_Hz1kjW2zp6aA&**sMm*B`m6;wAsiB8gTM^W@N|<$S(zj!=?9jnZ z4#I4q>Qu~oPO&PSr%v!!YH)2i5lS6?RjeZgf;7C%L_E1|R>>ZQ@si3iX|@(oO($J)^%8QF*=Y=rAAvQj)``ReU_1#4QF z>LAP+&C|pF_%V3p-4&EXBY0r+Jgk0ZS4t=(!f$Pl3r>9SoQPcQk`k7sJC;s}dYerW z2-(4p#5XR{u1%_F5&b#37pF`bM@CEt%J?R$vI!Qg-ZVo7U>ky=v$4Fo**j$fLa~9H zh1!?$wuxlEzCau+TRvE7ysH8NL3?s-{g`zz%l4z8z72`=h!I^h+WHle>E$yV4|+YF z1*&x7-=1`GVB*=UkKd5(gGNjtD64$on3FHZFSccKy_53}iVHtqi_%3)EIC|^0|aZR z|8fHvo5Ey?gV#+I@TF`DYsZop$93BUL3W?-5xhJ*%yBWPPB5&lQC`E7IS=GK?ymDk zBPZbx+kzso3DvWKEF1_rLlV~f-xtp8J!PsSt?^he$ILX++v;*Bhsi8ta&a+mLD(xZ z2->A4sa}{|Y1Y)i7?Xv7RHS#rp6d!uN@^hJje2uYr%T!N)=l><1pjT!0^!Vw@pmV! ze%#DDAv7cRKZU} z`Ie&!#wHsIow5v_k3c-TnJpxLDSp+_u~%J0e-uDHRlU;3>8$e*C47qSlV_}ExUho zDQXR1beoX*dFamjOX%tT;czd03hEd%oBkka>l4=tY%3KBYqmaEocX|wBKlS{C+%@C z^_@%~8jEq2YEkt${zSLTDImsynUS1eY`IisYFxTFM+Ct{=)HOPfsY}7Is(Y6$oh}j z{bkxk_ZhjG3mhgfyI(iALkwP8HJksUV zYv~dRf-s7{fsxNbChIgT8ZT2_*z0AD)8d{quBAJQyBz*N2w>M*w!Cv zp2wza1X^l_^7<*+;>;q13I$;1tR!5_TdT>MFeLg%h~AmLIgwl0iDyni{JsQ1Yxv(T#-jm%92laZ}R?1Y$skp7#4y{{Dw5bWr10`>4_~__X9` z0EObpKWRSk+Oy}GQ7Z%47vr#JR7Ixp$A^s+^$Xs9ea~L4_z2v;CM_FTSU9_xOO@l% zr8YLy#>??^HxD@8A>-=U0_Fpm^vJ}!$Gm(vO|9An4X|m6`T|$&pw4~1eOXdflCVS| zOeP|8#-bh*fko4x)h>m&ZY<1PAS?N?KEh16Hawh4%BQvlY zNgDd-B%0kwb|=e0l=N}pDy`S+BofbLf2B|1fyRw`N77tjH~^TJKzAmKC*{aUnFHp# zSP>-KL(SPRY#{H$87M5A$uROd1Ms9H515=ew;=Xw(#j+d8f-fHCUbXd2dVlV^uboi z`}92Zb9(6X`_N+&;*Eoq&)s9iWUjEUND6^9h10da|MtwMcpS!Ci=7#Lmp-4xMbcIe z;2dlFSo?`_v|+!40~1c}Ti5-c#W9|qk|J28qa|jFiJ8%1um_^BYo7KpW2DgB69+-h z)T0{%xw(3aFJ{`2SPPJ`Sqg}r>Pmmw4SApD>v3n~UzD|}vvC+XQEh6QLGEx`Q8tsA zBQ(DKlh9Ex6R|lS?*WS_B1*i*K>pKXsZS@+m7D8htHquxszc?Ps>RppGdZWXef=H{ z0_?*Xg9EV3rNllM5TNZW?|~z#`-VlAQc4y}4$-(vVyTdmwW*)RB|SpSmFSKeFXl$NRH} zFHHq`xdu9xpMG1!BF%|A^Q-rfEI*2tH1w8p?i%yQ(b*y;q#5&@F?s%Ex_zm)r7Tiq zqZ0Z!Gh+n_wy`X^jfP@+a>?e`FNqaWbmdGng9?QB2zs$E9?{ADR`E!lz77cD)+aEf zcFmI?D$^CR0^QMzd7GNG%j7cqgBf}o~gKpRgG?hg0pP)`EPYCF4M Ta~qIG6oqnk@uJo^F)#cd=u*tm diff --git a/cinelerra-5.1/plugins/theme_suv/suv.C b/cinelerra-5.1/plugins/theme_suv/suv.C index 2b3700b8..2b20a62e 100644 --- a/cinelerra-5.1/plugins/theme_suv/suv.C +++ b/cinelerra-5.1/plugins/theme_suv/suv.C @@ -646,6 +646,13 @@ void SUV::initialize() "patch_checkedhi.png", "drawpatch_data"); + new_toggle("masterpatch.png", + "patch_up.png", + "patch_hi.png", + "patch_checked.png", + "patch_dn.png", + "patch_checkedhi.png", + "masterpatch_data"); new_image_set("mutepatch_data", 5, @@ -883,6 +890,9 @@ void SUV::initialize() new_image("locklabels_dn.png"), // can't have seperate down for each!!?? new_image("locklabels_unlockedhi.png"), "locklabels"); + new_toggle("gang0.png", editpanel_up, editpanel_hi, editpanel_checked, editpanel_dn, editpanel_checkedhi, "gang0"); + new_toggle("gang1.png", editpanel_up, editpanel_hi, editpanel_checked, editpanel_dn, editpanel_checkedhi, "gang1"); + new_toggle("gang2.png", editpanel_up, editpanel_hi, editpanel_checked, editpanel_dn, editpanel_checkedhi, "gang2"); VFrame *cpanel_up = new_image("cpanel_up.png"); VFrame *cpanel_hi = new_image("cpanel_hi.png"); diff --git a/cinelerra-5.1/plugins/theme_unflat/data/gang0.png b/cinelerra-5.1/plugins/theme_unflat/data/gang0.png new file mode 100644 index 0000000000000000000000000000000000000000..9825bbc079024ba43195d10042443dad2247c391 GIT binary patch literal 3927 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 literal 0 HcmV?d00001 diff --git a/cinelerra-5.1/plugins/theme_unflat/data/gang1.png b/cinelerra-5.1/plugins/theme_unflat/data/gang1.png new file mode 100644 index 0000000000000000000000000000000000000000..ac658091a9190062cb6a5b7c7fc229ac99d3c164 GIT binary patch literal 3845 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 literal 0 HcmV?d00001 diff --git a/cinelerra-5.1/plugins/theme_unflat/data/masterpatch.png b/cinelerra-5.1/plugins/theme_unflat/data/masterpatch.png new file mode 100644 index 0000000000000000000000000000000000000000..a955d18539fcd4af7e8ef04e759422e14affb6e0 GIT binary patch literal 5455 zcmV-V6|m}wP) zaB^>EX>4U6ba`-PAZ2)IW&i+q+Rd3+lH{NfhTl1bkHD5J#{m)|d;=ffUm|r+&l(rB+D@a`_j^?SK9AxPS03ml|D`+Db3Q^Dp<@{4w6o!uRK0 zcn^H!RN_57f41_T-<*$J|Nh<9=YYY>mw`rnKbYTtFy1G}_CDa_f$xJ-cpl*O9caD- zrT9KMKYzau_NBM_bqSh3R`#B0&#$wWoN6pmLe0G9=xZ&V;}*T}S|s{hiJ#hpQ@!)} zeBj65?&HMArIESCokH^WwLP;<&+p*3@ETL#x{wmba?fO!;te#x?M#Iyy=y+ve@oNX z7=66|@Xvi5{LS*-^7uaepNBux#i+k7i(1|*()ZbP{-a*X4{3hS2l;jSZ;rptsIK=g ze*eMLAA-@o{hp)koc*kBl zZoki4q48u5Tp0s{1@8Fi$NlQ$fAjM>&^gv!U_ra74^M*QE!SXCO!mrEBqW?SrgGzZ zf7~xB)e@V?pxiJw7C8KThL{q*)mFNBPFyEGJOA`rsQL~-h?5Bb}~i=^A1r?_{`n6%>6NMPV!&nE&eWZ&QkZk z$egp(y_x$tZ@yMVZc8CFB+~_mNfGY&k5|9yX_?j!OFL@txode|XWoXI_(Hi>1!#gk{a8 zwXD%IIazRD8ZC$oU`5dZ#-P0k!er)q ztuv)|vfO7SEHi~J651+6PxWY-Z45^lNG0)rO{Hea+<;|kU?ExQvU>^w_fT2d>zaLK zoo5|AeMR7$!fR)rx?PtgwtQ}CAW$VN@%3J zA(d1CFSHkJ<(~#D`45x(^6tK#sO44Xq^Um~JyI@1)+ijN7QcoeQNuL8WAWm6^}!;_E4O(Z%hgbi6Bh zhTZx|3(y@iw~1<)vS5%B=S*8DhKMskUQiotAs*6R1$3k9h6(CE5F0KiSVy|ItxVcj z+%-WG@IF}+?m=K!>oIDg@%LPvMIg%o)-g3A7w2ljjX^xRf&r8e0+IrcR;{jzao3wKZu`8+%^Sdb-@S_q zA`A(>r5Q;O6DOMGLICyNR{S;NxbIGY3VjxW06QAhEjTr1g*VHBNt&1DQ#)(7Ktt6+ zp*(zbwhOQ(v$0tnI`W)qC3Dbw&aY zG!F6L{HU9vp!PcesgwTQg&Zr0TBxpiYD2O0+0=*yCgelL<~qtDwX%3t#t~FVXnERY z?luQe$$KUi(t8oVKz9&|?)TK6M_8CaS4R;mR8D-DGUTkhGg zpRk&#@CkkeqoELq5!Ml1OQmtMXn?TH+Che!rTe{n1$EFHvFt?%2AUZa+iD`L$(P$< z#HhEAW;+E=qP$i^|5kw1kPzPp#GrTNB1CW5KDcb7@K)!7v&hkKx5!v0#3$3l85i&bw3 zp||?5Iehwnp6#=Id3Rq=2)IrM5gMX~=o#75WTC5td1`L3MPGHB#3vY#9oaxg*g{D^ zt;xdCbfDP>Q6s`ESrg0vEPDKZ&j$;&ttU`V)DoJc zS4niFFws26RTxMSa23Z?=wgiD#v}+BV;~FkK!w)!;297NDM2?JQUFj)v^K(XSQ&+c zsX>Vsv^PYD^aGe+DnxomgJj*5CBsrguv%m>%w!$-l_r{vS}Z&p$Oc?`)kW1|&zd?Q z3)8iZ;j=_gLU*JsTlK775h)%`3;f>A5Gom+xqut&2kt5)WU~oLVkB@qa;)GG>3@_c z&5GA*mzOMJn_8^Bm~?NFZ7d+b4T>DgN5M!QzK@0uVhPn0Q#DJ|>Dk4d zH0E^!kjosEFkl&x3M@EwiOX5lqM5M4$Oc_t8PWsWiLuMHRxvP2iw9v<=>>oq$w9eO zniyAXF&QWF;F0NT3d;6RYtFDjBr6r$ix|vOMgF7}yBL3~aD)Y8l~y)PZGp2_B zcauiYTkzo2vG$66?(Inij(!|&H1r)9xC3kQ=jn8tF)^z^bJ%_+ZXccfs5&s7CMO7H z?{BbeTfmOQJP`$m9<)M%Iw@UFkqJ4CONK{eB5Uwb)InycV(QoE!Rpr|ybJYEGYZWr zJhA4qAxA0_jtKNIeMd(Wl$LF26hPupn-eQJtjuAuINPl%;j`x;*nYYPFRh;*+(y%> znFNI(@6!Y36XG%v{FJ8|pT}h&Qm$#CBL@kaVUhIqxiQf{whi3xHyF4R0RbW)(6INE z!Um~jHhNp@H4}@50Dlr*!Qmxfkf<3avfubbc(I#;HM7|bU_dogO&hqU+-04|3N;`b zwTYqd=Pu2(fk|R91;#yOIT*(iT;M}&Z(_${izH`HDssH-6K&z9U%iXdo65p{BB&0| z9Hxqf2=wOIW;bx(wr7Er%zR*`64ny1ePK;a>zaZ^XM0p`nm*X(am}<2qK1}+#QL$-AlVrgbi=iv)Hh{5 zCrnIh1eB|ldPuZLqYEh<3_c2?a4A^=V_!j%FGq8a!2NKkn1@o=;as4gC|@i^aoH$IRn^EkrK zW!z5gYJnec;}&O2YXUJP;Tb^>ptnHo0BK5SciSlLfJ>+FfVNGZuBVn*1los(_hkDf zsDxzfOZt#~wim&osPLR^{{a%ouB2KNbhFJQWsrv~nF0shLv6vf8i8?I!M^d?))wfe zNF);0VuI{sR2?qIN{zWxf1)`#Cc|Uzi0cJ(>;gK4^q*JpKCkNYL#95<10(rzsC|!u z*_D~%!sr4%)H(7FAfYneR!7USkht&8{zs!zGR~xW{QLdcXLi8$$J|_c017R2=Y~$R zeXQISJZ8;s2DCU)M$evBvd!lSaWiQo6T#TrTMkxq1)MA$u(RzyBTBS^pI`$P0d_^X zcl#AJA&44eoyMbmQf{^d49tv1i%esd3%3umFiqPo`5+eCw8(_O?0i{ELN{NU02<^& zUGyB@AN@WYNe>`rw;iHc10ZZQYu_Fd&Q2W(zSxri+bsq5&Z7tzfi@X;-wR|M2f+@R zQ=o{!9X64q|Aodt>Ju!4MMF=|*>I1rlX+-ag9LWwoMJM+mJ!(KBLU}4Q=xeCLdYXk z=O(^IvV93-n`yJ5a-)6c^WLQ!LoU-c6>U3Z0oL?dKq7Gl4Qu`n(yJB8*#5X7HgF~$ zF&ODJWG3d(P0UG0*hq#N*1ID%>@mKj16zCb&J2*R(knVuK~57Cw@wTswP0II!_2{c!-naM zuMPG{pPgmTTfR`-RRd5quJE*b(wgVd^U&^FZ2pk>0v^R^0*d0ZueLBqv>DYKx70PI zY*#H_-M)uFuiJJyGC`3DiuXWM5ID@xN{t#}AQ&ff+mR$>&9o)(4QNrpZrQdlP%EX{ zKGd^KP}bdm{lz}PZ{MBm8_<8~@*L=m;O%QQyt#tbF(b1AjNclp6*;Pq7NG?P^}UN& zA#_f0cAGIqO$IBTdp!T4X0+LbZiEsFsCn>IgexdPg~Dvp$!*(p!m{BW zx+b5;unxmlWIkVJ)D!BQY|Md1GGj`M1+i)LXd6q2G@N#Go+mf(0i3C}8;Y~VJq!yt z37l`Fz@h(Pi~PS11Trfa@BR$~F{~r>ku&N500D(*LqkwWLqi~Na&Km7Y-Iodc$|Ha zJxIeq9K~N-wIUUVRupl_P@ODD6>-!m6rn<>62R|084ld5R zI=Bjg;0K74qm!bGl=#1-&?3fz<9@um_qclp`0Hh+njPbSs#!)lnGmwM6(RVFF7zXe zI0htU>a(Jlg6H_UhmWs!F`ngp?$6Py43&72II5@`<@>WPE1b7DtK}+d-jlyD zl-HJ*xK48zNi1LyA_T~&VgqGZh|#K%Vj@lZ2@n5};}^*#lWPNv9P_9^h2;3b|KNAG zW?>@kCWR6}=ZkHBi~zx1pi#5!?_=9;oB)Am;7V)xD|KM{lk{3kiyi@e+rY(jOOyA2 z%N=0wNtX=CkpeXRg#z$?M&FbJ!nZ)rs@q$0AEysMhPq1K00)P_XpyqlJl@^i-rK)t zn*IF%lbCX}GqG_n00006VoOIv0MP)B05pfmFR1_k010qNS#tmY3ljhU3ljkVnw%H_ z000McNliruWFU8GbZ8({Xk{Qr zNlj4iWF>9@00A3GL_t(I%iWZ}Y63wJhrc}(BxeMRq?OGJ*aWW36XXR9=sQ?i*|=qT z%eyw^rSTCCB#;-dGjLpCahf0oHbrvgZaK|un*8}yJM1#w>~DsFpVq^4D){$``u(~Q zAN}?HWa4D!nhnScg5BforOx8+FgOa*;`7?E0p%fOaT%*JC>jhzA*myIIlTf$7GT-C zysk&1>LAbebsiFTdOTg+5O;b7nCJUCRBE3uRH^{BvTp54(w1abb4gp0wJQ%=1$-aW zB%!fgA@nPa?TRMJL8}aCr5@G0!})u4>4Nrh#(5mkUd|w0d`#b5m_0I}2>YpXffL{v z*sw3+3stf%RO&3N95z5=1+m`@hCO8?{kwEG9{>G~{RW@w)+%2OE(5vcxfjfq}WQDkP#LD6w3jpeR2rGbdG{ zq_QAYA+;hije()!*50t(O-mGb{>%@4Bj}^R($}mITHS2>&#dEf+OxCQuk8!+I@qxA zZC=2we}D46aJPSWbaM642~H6OKb}lZF?qB}J~PHJC+7IX+ixDeXZWbSHbKZYB*8&rp)ftn8$qw-liXuED${|as1rkUhUq186FNN&c2rYx+zAu z#QD>*&sX2w+`r}BiRm_v-}Rj?P~qygj*y>hud#2|jk98kHJ2N$e}A)LKe_hUwQYaj zZsJcc@p0$f^wXocQCp+@@y3QE3(;I@)rCh?^;sufU#g?+_3#K&sMN;ir)Em$FV>4; zxOiHvEozCw9J%guDx7z$OPn66J)5*z&uNX4v}OB-m<=ChnD_qVaz7Iz>D)T8=i`aX zPV24yFAd0E8hph2PGysRgZHlWjEl9eua{tT+~Iq-M4)Dh=KrFn@)4q3uNGK7V*R}7 zoo3im{rsH^Hy^fe-K(#tw%V9c$m5~b>R(r8} zd_2dhI9a1M&nDUCSeMrXxnuWO6h*X8FYqmrOsZV}q5mfbe`@KgP}3EeD!#Ltx$QDI z4m#a`vdQxEGO;r{QJZ99zXT?Ch$Z_Ns(bQPFIYA~=jfE6b54@NsZUNx%omJIEnOX7 z%DZ}Pp>MX{2LF$)-Wp*^o~q$1*Cowfu`sIF^y(hN+#8x^`(KKg-F`G}+nonnpUuj@ z<+NEWI_u{msq?AT@&6o6=dC&!u&RG^cUH%wn-iOUmo17l)=-+HS~C4E|yz!@tyb1{u1S0`Il<%r!3aH>#yNH;oa^${*cvw zt;5@rervs%qsO;8pSkfv;F-U(r#-EI-7h41;mWF=Z9lII30%FlCEc5w~NPqJDCyUEx zyr_CO_sQbxGhUP#Tby)XZ*cK18&G~;@}l>%pLyCW_kM$m zoB8i~+WqS5oLArC|LLNwTGiL&f=T^(h8Mf#o7?WMcByB~X8adBIa2m30|R4Arn7T^ zr?WFG69Ti|oZ5-D9)}%dj>ZRXRnp~i6DZ_}n5)y#WsxP?6`**9YpvCc{yN9WZ7N5P z1{UaA{MZ;#T2OfH>cLO}7JG*|GIK>@mmK-8+A3x!C-eRB-Mz=}S~skoE_(Kr1iQ&y zv*6Ah6HczHqCefnR)Nn$=lFl?@%L9RdoAyM#_{5L_Ipe$=V!+hetUa#@N6G_sxi+Whz6`@FS(p0rFC>0_R&-}l*&simyZ?QG$`e%a-POf2&o zwf8<yl4+|L0|X`_3Fbt7y)Oe><6gWg}aXx4R3&MTR~G zllGJPD}f@M1s;*bz+&_|2s1iq%&q_mvX^-Jy0SlE6BXf;y691t2#m>oPZ!6Kid%0l zIr26H@UR{XU$y?9YRD1$25zR4JuPRiow?K4zk1c2;!V3>zEe4=%3YrtcZT~J>*u66 z1N|A|XSyp7?n!`%G*ucRL=5zSYM>(A&yE7sKt&Gj0qTN@%n%2vfr`-3NU$Z;btSTq iC_zEK$ALyZ6y^7w%PCixxVjq{TMVAAelF{r5}E+k6HQzI literal 656 zcmeAS@N?(olHy`uVBq!ia0vp^3xN1A2OE%NT`zSLNU;<Pe1_vG%#|8Vp+;_ai@LhF7n%i8Pjo;7g5&x4>e!lLIyn;g%lZvWC&?qr% b!$5wA4x3!wo-MzCsfWSS)z4*}Q$iB}Xx54T diff --git a/cinelerra-5.1/plugins/theme_unflat/unflattheme.C b/cinelerra-5.1/plugins/theme_unflat/unflattheme.C index 82a8e815..4a09eb82 100644 --- a/cinelerra-5.1/plugins/theme_unflat/unflattheme.C +++ b/cinelerra-5.1/plugins/theme_unflat/unflattheme.C @@ -659,6 +659,14 @@ void UNFLATTHEME::initialize() "patch_checkedhi.png", "drawpatch_data"); + new_toggle("masterpatch.png", + "patch_up.png", + "patch_hi.png", + "patch_checked.png", + "patch_dn.png", + "patch_checkedhi.png", + "masterpatch_data"); + new_image_set("mutepatch_data", 5, @@ -890,6 +898,9 @@ void UNFLATTHEME::initialize() new_image("locklabels_dn.png"), // can't have seperate down for each!!?? new_image("locklabels_unlockedhi.png"), "locklabels"); + new_toggle("gang0.png", editpanel_up, editpanel_hi, editpanel_checked, editpanel_dn, editpanel_checkedhi, "gang0"); + new_toggle("gang1.png", editpanel_up, editpanel_hi, editpanel_checked, editpanel_dn, editpanel_checkedhi, "gang1"); + new_toggle("gang2.png", editpanel_up, editpanel_hi, editpanel_checked, editpanel_dn, editpanel_checkedhi, "gang2"); VFrame *cpanel_up = new_image("cpanel_up.png"); VFrame *cpanel_hi = new_image("cpanel_hi.png"); -- 2.26.2