From 620f70a943c1f47880ec68a908aa03bf463e741f Mon Sep 17 00:00:00 2001 From: Good Guy Date: Thu, 18 Jul 2019 15:13:28 -0600 Subject: [PATCH] span keyframes toggle, rect_audio tweaks, fix playbackengine clear output for audio only in viewer, ffmpeg plugin_opts tweak, gwdw theme text color --- cinelerra-5.1/cinelerra/cwindowgui.C | 1 + cinelerra-5.1/cinelerra/cwindowgui.h | 1 + cinelerra-5.1/cinelerra/editpanel.C | 25 ++++++++++++++++++ cinelerra-5.1/cinelerra/editpanel.h | 11 ++++++++ cinelerra-5.1/cinelerra/edlsession.C | 6 +++++ cinelerra-5.1/cinelerra/edlsession.h | 2 ++ cinelerra-5.1/cinelerra/gwindowgui.C | 4 ++- cinelerra-5.1/cinelerra/indexfile.C | 4 +-- cinelerra-5.1/cinelerra/keyframes.C | 3 ++- cinelerra-5.1/cinelerra/maskautos.C | 4 ++- cinelerra-5.1/cinelerra/mbuttons.C | 5 ++++ cinelerra-5.1/cinelerra/mbuttons.h | 1 + cinelerra-5.1/cinelerra/mwindow.C | 11 ++++++++ cinelerra-5.1/cinelerra/mwindow.h | 1 + cinelerra-5.1/cinelerra/playbackengine.C | 8 ++++-- cinelerra-5.1/cinelerra/resourcepixmap.C | 13 +++++---- cinelerra-5.1/cinelerra/vwindowgui.C | 1 + cinelerra-5.1/cinelerra/vwindowgui.h | 1 + cinelerra-5.1/ffmpeg/plugin.opts | 4 +-- .../plugins/theme_blond/blondtheme.C | 3 ++- .../plugins/theme_blond/data/spankeyframe.png | Bin 0 -> 2916 bytes .../plugins/theme_blond_cv/blondcvtheme.C | 1 + .../theme_blond_cv/data/spankeyframe.png | Bin 0 -> 2802 bytes cinelerra-5.1/plugins/theme_blue/bluetheme.C | 3 ++- .../plugins/theme_blue/data/spankeyframe.png | Bin 0 -> 3053 bytes .../plugins/theme_blue_dot/bluedottheme.C | 3 ++- .../theme_blue_dot/data/spankeyframe.png | Bin 0 -> 3978 bytes .../plugins/theme_bright/brighttheme.C | 6 ++++- .../theme_bright/data/spankeyframe.png | Bin 0 -> 1441 bytes .../plugins/theme_cakewalk/cakewalk.C | 6 ++++- .../theme_cakewalk/data/spankeyframe.png | Bin 0 -> 4561 bytes .../plugins/theme_hulk/data/spankeyframe.png | Bin 0 -> 2779 bytes cinelerra-5.1/plugins/theme_hulk/hulktheme.C | 3 ++- .../theme_neophyte/data/spankeyframe.png | Bin 0 -> 3355 bytes .../plugins/theme_neophyte/neophyte.C | 6 ++++- .../theme_pinklady/data/spankeyframe.png | Bin 0 -> 2993 bytes .../plugins/theme_pinklady/pinkladytheme.C | 3 ++- .../plugins/theme_suv/data/spankeyframe.png | Bin 0 -> 2977 bytes cinelerra-5.1/plugins/theme_suv/suv.C | 3 ++- .../theme_unflat/data/spankeyframe.png | Bin 0 -> 2936 bytes .../plugins/theme_unflat/unflattheme.C | 3 ++- 41 files changed, 122 insertions(+), 24 deletions(-) create mode 100644 cinelerra-5.1/plugins/theme_blond/data/spankeyframe.png create mode 100644 cinelerra-5.1/plugins/theme_blond_cv/data/spankeyframe.png create mode 100644 cinelerra-5.1/plugins/theme_blue/data/spankeyframe.png create mode 100644 cinelerra-5.1/plugins/theme_blue_dot/data/spankeyframe.png create mode 100644 cinelerra-5.1/plugins/theme_bright/data/spankeyframe.png create mode 100644 cinelerra-5.1/plugins/theme_cakewalk/data/spankeyframe.png create mode 100644 cinelerra-5.1/plugins/theme_hulk/data/spankeyframe.png create mode 100644 cinelerra-5.1/plugins/theme_neophyte/data/spankeyframe.png create mode 100644 cinelerra-5.1/plugins/theme_pinklady/data/spankeyframe.png create mode 100644 cinelerra-5.1/plugins/theme_suv/data/spankeyframe.png create mode 100644 cinelerra-5.1/plugins/theme_unflat/data/spankeyframe.png diff --git a/cinelerra-5.1/cinelerra/cwindowgui.C b/cinelerra-5.1/cinelerra/cwindowgui.C index f851f1be..ebb95e9a 100644 --- a/cinelerra-5.1/cinelerra/cwindowgui.C +++ b/cinelerra-5.1/cinelerra/cwindowgui.C @@ -878,6 +878,7 @@ void panel_btn(fit_selection,(), fit_selection()) void panel_btn(fit_autos,(int all), fit_autos(all)) 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)) diff --git a/cinelerra-5.1/cinelerra/cwindowgui.h b/cinelerra-5.1/cinelerra/cwindowgui.h index f2ae71c3..af847454 100644 --- a/cinelerra-5.1/cinelerra/cwindowgui.h +++ b/cinelerra-5.1/cinelerra/cwindowgui.h @@ -187,6 +187,7 @@ public: void panel_fit_autos(int all); void panel_set_editing_mode(int mode); void panel_set_auto_keyframes(int v); + void panel_set_span_keyframes(int v); void panel_set_labels_follow_edits(int v); MWindow *mwindow; diff --git a/cinelerra-5.1/cinelerra/editpanel.C b/cinelerra-5.1/cinelerra/editpanel.C index 4e80555e..3d7703c2 100644 --- a/cinelerra-5.1/cinelerra/editpanel.C +++ b/cinelerra-5.1/cinelerra/editpanel.C @@ -118,6 +118,7 @@ EditPanel::EditPanel(MWindow *mwindow, this->arrow = 0; this->ibeam = 0; this->keyframe = 0; + this->span_keyframe = 0; this->mangoto = 0; this->click2play = 0; locklabels = 0; @@ -139,6 +140,7 @@ void EditPanel::update() if( arrow ) arrow->update(new_editing_mode == EDITING_ARROW); if( ibeam ) ibeam->update(new_editing_mode == EDITING_IBEAM); if( keyframe ) keyframe->update(mwindow->edl->session->auto_keyframes); + if( span_keyframe ) span_keyframe->update(mwindow->edl->session->span_keyframes); if( locklabels ) locklabels->set_value(mwindow->edl->session->labels_follow_edits); if( click2play ) { int value = !is_vwindow() ? @@ -193,6 +195,9 @@ void EditPanel::create_buttons() keyframe = new KeyFrameButton(mwindow, this, x1, y1); subwindow->add_subwindow(keyframe); x1 += keyframe->get_w(); + span_keyframe = new SpanKeyFrameButton(mwindow, this, x1, y1); + subwindow->add_subwindow(span_keyframe); + x1 += span_keyframe->get_w(); } if( use_locklabels ) { @@ -334,6 +339,8 @@ void EditPanel::reposition_buttons(int x, int y) if( use_keyframe ) { keyframe->reposition_window(x1, y1); x1 += keyframe->get_w(); + span_keyframe->reposition_window(x1, y1); + x1 += span_keyframe->get_w(); } if( use_locklabels ) { @@ -941,6 +948,24 @@ int KeyFrameButton::keypress_event() return 0; } +//set_span_keyframes +SpanKeyFrameButton::SpanKeyFrameButton(MWindow *mwindow, EditPanel *panel, int x, int y) + : BC_Toggle(x, y, + mwindow->theme->get_image_set("spankeyframe"), + mwindow->edl->session->span_keyframes, + "", 0, 0, 0) +{ + this->mwindow = mwindow; + this->panel = panel; + set_tooltip(_("Allow keyframe spanning")); +} + +int SpanKeyFrameButton::handle_event() +{ + panel->panel_set_span_keyframes(get_value()); + return 1; +} + //set_labels_follow_edits LockLabelsButton::LockLabelsButton(MWindow *mwindow, EditPanel *panel, int x, int y) : BC_Toggle(x, y, diff --git a/cinelerra-5.1/cinelerra/editpanel.h b/cinelerra-5.1/cinelerra/editpanel.h index 9b5fe1a4..67ab431d 100644 --- a/cinelerra-5.1/cinelerra/editpanel.h +++ b/cinelerra-5.1/cinelerra/editpanel.h @@ -322,6 +322,15 @@ public: EditPanel *panel; }; +class SpanKeyFrameButton : public BC_Toggle +{ +public: + SpanKeyFrameButton(MWindow *mwindow, EditPanel *panel, int x, int y); + int handle_event(); + MWindow *mwindow; + EditPanel *panel; +}; + class LockLabelsButton : public BC_Toggle { public: @@ -389,6 +398,7 @@ public: virtual void panel_fit_autos(int all) = 0; virtual void panel_set_editing_mode(int mode) = 0; 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; MWindow *mwindow; @@ -441,6 +451,7 @@ public: ArrowButton *arrow; IBeamButton *ibeam; KeyFrameButton *keyframe; + SpanKeyFrameButton *span_keyframe; LockLabelsButton *locklabels; int is_mwindow() { return window_id == MWINDOW_ID; } diff --git a/cinelerra-5.1/cinelerra/edlsession.C b/cinelerra-5.1/cinelerra/edlsession.C index 98e7ea4a..91b53d22 100644 --- a/cinelerra-5.1/cinelerra/edlsession.C +++ b/cinelerra-5.1/cinelerra/edlsession.C @@ -53,6 +53,7 @@ EDLSession::EDLSession(EDL *edl) audio_tracks = 2; autos_follow_edits = 1; // this is needed for predictability auto_keyframes = 0; + span_keyframes = 0; brender_start = brender_end = 0.0; clipboard_length = 0; // unused color_model = BC_RGBA8888; @@ -274,6 +275,7 @@ int EDLSession::load_defaults(BC_Hash *defaults) single_standalone = defaults->get("SINGLE_STANDALONE", 1); playback_preload = defaults->get("PLAYBACK_PRELOAD", 0); auto_keyframes = defaults->get("AUTO_KEYFRAMES", 0); + span_keyframes = defaults->get("SPAN_KEYFRAMES", 0); meter_format = defaults->get("METER_FORMAT", METER_DB); min_meter_db = defaults->get("MIN_METER_DB", -85); max_meter_db = defaults->get("MAX_METER_DB", 6); @@ -419,6 +421,7 @@ int EDLSession::save_defaults(BC_Hash *defaults) defaults->update("SINGLE_STANDALONE", single_standalone); defaults->update("PLAYBACK_PRELOAD", playback_preload); defaults->update("AUTO_KEYFRAMES", auto_keyframes); + defaults->update("SPAN_KEYFRAMES", span_keyframes); defaults->update("METER_FORMAT", meter_format); defaults->update("MIN_METER_DB", min_meter_db); defaults->update("MAX_METER_DB", max_meter_db); @@ -597,6 +600,7 @@ int EDLSession::load_xml(FileXML *file, } auto_conf->load_xml(file); auto_keyframes = file->tag.get_property("AUTO_KEYFRAMES", auto_keyframes); + span_keyframes = file->tag.get_property("SPAN_KEYFRAMES", span_keyframes); autos_follow_edits = file->tag.get_property("AUTOS_FOLLOW_EDITS", autos_follow_edits); brender_start = file->tag.get_property("BRENDER_START", brender_start); brender_end = file->tag.get_property("BRENDER_END", brender_end); @@ -663,6 +667,7 @@ int EDLSession::save_xml(FileXML *file) } auto_conf->save_xml(file); file->tag.set_property("AUTO_KEYFRAMES", auto_keyframes); + file->tag.set_property("SPAN_KEYFRAMES", span_keyframes); file->tag.set_property("AUTOS_FOLLOW_EDITS", autos_follow_edits); file->tag.set_property("BRENDER_START", brender_start); file->tag.set_property("BRENDER_END", brender_end); @@ -841,6 +846,7 @@ int EDLSession::copy(EDLSession *session) plugins_follow_edits = session->plugins_follow_edits; single_standalone = session->single_standalone; auto_keyframes = session->auto_keyframes; + span_keyframes = session->span_keyframes; // last_playback_position = session->last_playback_position; meter_format = session->meter_format; min_meter_db = session->min_meter_db; diff --git a/cinelerra-5.1/cinelerra/edlsession.h b/cinelerra-5.1/cinelerra/edlsession.h index 44d09974..343a51f3 100644 --- a/cinelerra-5.1/cinelerra/edlsession.h +++ b/cinelerra-5.1/cinelerra/edlsession.h @@ -80,6 +80,8 @@ public: int autos_follow_edits; // Generate keyframes for every tweek int auto_keyframes; +// use spanning parameter update + int span_keyframes; // Where to do background rendering double brender_start; double brender_end; diff --git a/cinelerra-5.1/cinelerra/gwindowgui.C b/cinelerra-5.1/cinelerra/gwindowgui.C index 09a09cb8..53061be9 100644 --- a/cinelerra-5.1/cinelerra/gwindowgui.C +++ b/cinelerra-5.1/cinelerra/gwindowgui.C @@ -251,7 +251,9 @@ void GWindowGUI::create_objects() continue; } const char *label = toggle_text(tp); - int color = tp->isauto > 0 ? auto_colors[tp->ref] : WHITE; + int color = tp->isauto > 0 ? + auto_colors[tp->ref] : + get_resources()->text_default ; GWindowToggle *toggle = new GWindowToggle(this, x, y, label, color, tp); add_tool(toggles[i] = toggle); if( tp->isauto > 0 ) { diff --git a/cinelerra-5.1/cinelerra/indexfile.C b/cinelerra-5.1/cinelerra/indexfile.C index 7bbd2955..aedbfbb8 100644 --- a/cinelerra-5.1/cinelerra/indexfile.C +++ b/cinelerra-5.1/cinelerra/indexfile.C @@ -772,7 +772,7 @@ SET_TRACE // A different algorithm has to be used if it's 1 sample per pixel and the // index is used. Now the min and max values are equal so we join the max samples. if(mwindow->edl->local_session->zoom_sample == 1) { - canvas->draw_line(x2 - 1, prev_y1, x2, y1, pixmap); + canvas->draw_line(x2 - 1, !rect_audio ? prev_y1 : center_pixel, x2, y1, pixmap); } else { // Extend line height if it doesn't connect to previous line @@ -783,7 +783,7 @@ SET_TRACE else { first_frame = 0; } - canvas->draw_line(x2, y1, x2, y2, pixmap); + canvas->draw_line(x2, y1, x2, !rect_audio ? y2 : center_pixel, pixmap); } prev_y1 = next_y1; prev_y2 = next_y2; diff --git a/cinelerra-5.1/cinelerra/keyframes.C b/cinelerra-5.1/cinelerra/keyframes.C index 696c8068..68d700f4 100644 --- a/cinelerra-5.1/cinelerra/keyframes.C +++ b/cinelerra-5.1/cinelerra/keyframes.C @@ -101,7 +101,8 @@ void KeyFrames::update_parameter(KeyFrame *src) selection_start = edl->align_to_frame(selection_start, 0); selection_end = edl->align_to_frame(selection_end, 0); - if( EQUIV(selection_start, selection_end) ) { + if( !edl->session->span_keyframes || + EQUIV(selection_start, selection_end) ) { // Search for keyframe to write KeyFrame *dst = get_keyframe(); dst->copy_data(src); diff --git a/cinelerra-5.1/cinelerra/maskautos.C b/cinelerra-5.1/cinelerra/maskautos.C index 6904d81e..bac0d851 100644 --- a/cinelerra-5.1/cinelerra/maskautos.C +++ b/cinelerra-5.1/cinelerra/maskautos.C @@ -22,6 +22,7 @@ #include "automation.inc" #include "clip.h" #include "edl.h" +#include "edlsession.h" #include "localsession.h" #include "maskauto.h" #include "maskautos.h" @@ -50,7 +51,8 @@ void MaskAutos::update_parameter(MaskAuto *src) // Selection is always aligned to frame for masks // Create new keyframe if auto keyframes or replace entire keyframe. - if(selection_start == selection_end) + if( !edl->session->span_keyframes || + EQUIV(selection_start, selection_end) ) { // Search for keyframe to write to MaskAuto *dst = (MaskAuto*)get_auto_for_editing(); diff --git a/cinelerra-5.1/cinelerra/mbuttons.C b/cinelerra-5.1/cinelerra/mbuttons.C index de1bd7a3..5aa8677e 100644 --- a/cinelerra-5.1/cinelerra/mbuttons.C +++ b/cinelerra-5.1/cinelerra/mbuttons.C @@ -275,6 +275,11 @@ void MainEditing::panel_set_auto_keyframes(int v) mwindow->set_auto_keyframes(v); } +void MainEditing::panel_set_span_keyframes(int v) +{ + mwindow->set_span_keyframes(v); +} + void MainEditing::panel_set_labels_follow_edits(int v) { mwindow->set_labels_follow_edits(v); diff --git a/cinelerra-5.1/cinelerra/mbuttons.h b/cinelerra-5.1/cinelerra/mbuttons.h index 0e8771f3..06e53848 100644 --- a/cinelerra-5.1/cinelerra/mbuttons.h +++ b/cinelerra-5.1/cinelerra/mbuttons.h @@ -105,6 +105,7 @@ public: void panel_fit_autos(int all); void panel_set_editing_mode(int mode); void panel_set_auto_keyframes(int v); + void panel_set_span_keyframes(int v); void panel_set_labels_follow_edits(int v); MWindow *mwindow; diff --git a/cinelerra-5.1/cinelerra/mwindow.C b/cinelerra-5.1/cinelerra/mwindow.C index 0661591a..b3ad59a0 100644 --- a/cinelerra-5.1/cinelerra/mwindow.C +++ b/cinelerra-5.1/cinelerra/mwindow.C @@ -2989,6 +2989,17 @@ void MWindow::set_auto_keyframes(int value) cwindow->gui->unlock_window(); } +void MWindow::set_span_keyframes(int value) +{ + edl->session->span_keyframes = value; + gui->mbuttons->edit_panel->span_keyframe->update(value); + gui->flush(); + cwindow->gui->lock_window("MWindow::set_span_keyframes"); + cwindow->gui->edit_panel->span_keyframe->update(value); + cwindow->gui->flush(); + cwindow->gui->unlock_window(); +} + void MWindow::set_auto_visibility(Autos *autos, int value) { if( autos->type == Autos::AUTOMATION_TYPE_PLUGIN ) diff --git a/cinelerra-5.1/cinelerra/mwindow.h b/cinelerra-5.1/cinelerra/mwindow.h index b0cc09f0..24d75790 100644 --- a/cinelerra-5.1/cinelerra/mwindow.h +++ b/cinelerra-5.1/cinelerra/mwindow.h @@ -476,6 +476,7 @@ public: void set_automation_mode(int mode); void set_keyframe_type(int mode); void set_auto_keyframes(int value); + void set_span_keyframes(int value); void set_auto_visibility(Autos *autos, int value); void set_labels_follow_edits(int value); diff --git a/cinelerra-5.1/cinelerra/playbackengine.C b/cinelerra-5.1/cinelerra/playbackengine.C index 228f3890..fcbeeb1d 100644 --- a/cinelerra-5.1/cinelerra/playbackengine.C +++ b/cinelerra-5.1/cinelerra/playbackengine.C @@ -33,6 +33,7 @@ #include "mwindowgui.h" #include "patchbay.h" #include "tracking.h" +#include "tracks.h" #include "playbackengine.h" #include "playtransport.h" #include "preferences.h" @@ -411,8 +412,11 @@ void PlaybackEngine::run() // Start tracking after arming so the tracking position doesn't change. // The tracking for a single frame command occurs during PAUSE init_tracking(); - if( !command->single_frame() ) - clear_output(); + if( !command->single_frame() ) { + EDL *edl = command->get_edl(); + if( edl && edl->tracks->playable_video_tracks() ) + clear_output(); + } // Dispatch the command start_render_engine(); break; diff --git a/cinelerra-5.1/cinelerra/resourcepixmap.C b/cinelerra-5.1/cinelerra/resourcepixmap.C index 66073a08..8c874bb9 100644 --- a/cinelerra-5.1/cinelerra/resourcepixmap.C +++ b/cinelerra-5.1/cinelerra/resourcepixmap.C @@ -478,8 +478,8 @@ void ResourcePixmap::draw_audio_source(TrackCanvas *canvas, Edit *edit, int x, i int y1 = center_pixel - sample * scale_y / 2; int y2 = CLIP(y1, 0, y_max); - for( int x0=0; x0startsource; speed_position += !speed_autos ? edit_position : @@ -492,7 +492,10 @@ void ResourcePixmap::draw_audio_source(TrackCanvas *canvas, Edit *edit, int x, i y1 = center_pixel - sample * scale_y / 2; y2 = CLIP(y1, 0, y_max); //printf("ResourcePixmap::draw_audio_source %d %d %d\n", __LINE__, y1, y2); - canvas->draw_line(x0, y0, x2, y2, this); + if( !rect_audio ) + canvas->draw_line(x1, y0, x2, y2, this); + else + canvas->draw_line(x2, center_pixel, x2, y2, this); } } @@ -540,7 +543,7 @@ void ResourcePixmap::draw_audio_source(TrackCanvas *canvas, Edit *edit, int x, i y_lo = y1; y_hi = y2; } prev_y1 = y1; prev_y2 = y2; - canvas->draw_line(x, y_lo, x, y_hi, this); + canvas->draw_line(x, !rect_audio ? y_lo : center_pixel, x, y_hi, this); //printf("ResourcePixmap::draw_audio_source %d %d %d %d\n", __LINE__, x, y1, y2); mwindow->wave_cache->unlock(); } @@ -576,7 +579,7 @@ void ResourcePixmap::draw_wave(TrackCanvas *canvas, CLAMP(y1, top_pixel, bottom_pixel); CLAMP(y2, top_pixel, bottom_pixel); canvas->set_color(mwindow->theme->audio_color); - canvas->draw_line(x, y1, x, y2, this); + canvas->draw_line(x, !rect_audio ? y1 : bottom_pixel, x, y2, this); } diff --git a/cinelerra-5.1/cinelerra/vwindowgui.C b/cinelerra-5.1/cinelerra/vwindowgui.C index 69ad7bbf..bec67dc8 100644 --- a/cinelerra-5.1/cinelerra/vwindowgui.C +++ b/cinelerra-5.1/cinelerra/vwindowgui.C @@ -701,6 +701,7 @@ void VWindowEditing::panel_fit_selection() {} void VWindowEditing::panel_fit_autos(int all) {} 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) {} diff --git a/cinelerra-5.1/cinelerra/vwindowgui.h b/cinelerra-5.1/cinelerra/vwindowgui.h index a6c206e5..d56df59e 100644 --- a/cinelerra-5.1/cinelerra/vwindowgui.h +++ b/cinelerra-5.1/cinelerra/vwindowgui.h @@ -156,6 +156,7 @@ public: void panel_fit_autos(int all); void panel_set_editing_mode(int mode); void panel_set_auto_keyframes(int v); + void panel_set_span_keyframes(int v); void panel_set_labels_follow_edits(int v); MWindow *mwindow; diff --git a/cinelerra-5.1/ffmpeg/plugin.opts b/cinelerra-5.1/ffmpeg/plugin.opts index ce680aaf..47526fe5 100644 --- a/cinelerra-5.1/ffmpeg/plugin.opts +++ b/cinelerra-5.1/ffmpeg/plugin.opts @@ -111,7 +111,7 @@ dilation drawbox drawgraph drawgrid -dynaudnorm +#dynaudnorm ###Invalid argument earwax #ebur128 ###Operation not permitted edgedetect @@ -166,7 +166,7 @@ inflate kerndeint lenscorrection life ratio=2/3:s=200x200 -loudnorm +#loudnorm ###Invalid argument lowpass lut #lut2 ###Input/output error diff --git a/cinelerra-5.1/plugins/theme_blond/blondtheme.C b/cinelerra-5.1/plugins/theme_blond/blondtheme.C index 16080ee4..51aa61aa 100644 --- a/cinelerra-5.1/plugins/theme_blond/blondtheme.C +++ b/cinelerra-5.1/plugins/theme_blond/blondtheme.C @@ -870,6 +870,7 @@ void BlondTheme::initialize() new_toggle("arrow.png", editpanel_up, editpanel_hi, editpanel_checked, editpanel_dn, editpanel_checkedhi, "arrow"); new_toggle("autokeyframe.png", transport_up, editpanel_hi, editpanel_checked, editpanel_dn, editpanel_checkedhi, "autokeyframe"); + new_toggle("spankeyframe.png", transport_up, editpanel_hi, editpanel_checked, editpanel_dn, editpanel_checkedhi, "spankeyframe"); new_toggle("ibeam.png", editpanel_up, editpanel_hi, editpanel_checked, editpanel_dn, editpanel_checkedhi, "ibeam"); new_toggle("show_meters.png", editpanel_up, editpanel_hi, editpanel_checked, editpanel_dn, editpanel_checkedhi, "meters"); new_toggle("blank30x30.png", @@ -1023,7 +1024,7 @@ void BlondTheme::draw_mwindow_bg(MWindowGUI *gui) x - toggle_margin / 2 - pdw / 2 + 2, mbuttons_y - 1); - x += 2 * get_image("autokeyframe")->get_w() + toggle_margin; // the state toggle buttons + x += 3 * get_image("autokeyframe")->get_w() + toggle_margin; // the state toggle buttons gui->draw_vframe(get_image("panel_divider"), x - toggle_margin / 2 - pdw / 2 + 2, mbuttons_y - 1); diff --git a/cinelerra-5.1/plugins/theme_blond/data/spankeyframe.png b/cinelerra-5.1/plugins/theme_blond/data/spankeyframe.png new file mode 100644 index 0000000000000000000000000000000000000000..9dfd82a60b285100269b5a76ee25c468ff7bdd3d GIT binary patch literal 2916 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 O0000 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 Ef)G(zumAu6 literal 0 HcmV?d00001 diff --git a/cinelerra-5.1/plugins/theme_blue/bluetheme.C b/cinelerra-5.1/plugins/theme_blue/bluetheme.C index c96fd666..2a99932b 100644 --- a/cinelerra-5.1/plugins/theme_blue/bluetheme.C +++ b/cinelerra-5.1/plugins/theme_blue/bluetheme.C @@ -869,6 +869,7 @@ void BlueDotTheme::initialize() new_toggle("arrow.png", editpanel_up, editpanel_hi, editpanel_checked, editpanel_dn, editpanel_checkedhi, "arrow"); new_toggle("autokeyframe.png", transport_up, editpanel_hi, editpanel_checked, editpanel_dn, editpanel_checkedhi, "autokeyframe"); + new_toggle("spankeyframe.png", transport_up, editpanel_hi, editpanel_checked, editpanel_dn, editpanel_checkedhi, "spankeyframe"); new_toggle("ibeam.png", editpanel_up, editpanel_hi, editpanel_checked, editpanel_dn, editpanel_checkedhi, "ibeam"); new_toggle("show_meters.png", editpanel_up, editpanel_hi, editpanel_checked, editpanel_dn, editpanel_checkedhi, "meters"); new_toggle("blank30x30.png", @@ -1020,7 +1021,7 @@ void BlueDotTheme::draw_mwindow_bg(MWindowGUI *gui) x - toggle_margin / 2 - pdw / 2 + 2, mbuttons_y - 1); - x += 2 * get_image("autokeyframe")->get_w() + toggle_margin; // the state toggle buttons + x += 3 * get_image("autokeyframe")->get_w() + toggle_margin; // the state toggle buttons gui->draw_vframe(get_image("panel_divider"), x - toggle_margin / 2 - pdw / 2 + 2, mbuttons_y - 1); diff --git a/cinelerra-5.1/plugins/theme_blue/data/spankeyframe.png b/cinelerra-5.1/plugins/theme_blue/data/spankeyframe.png new file mode 100644 index 0000000000000000000000000000000000000000..bf1987e8fcc2d33e5bf0c1ca5815997715a97ff0 GIT binary patch literal 3053 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 literal 0 HcmV?d00001 diff --git a/cinelerra-5.1/plugins/theme_blue_dot/bluedottheme.C b/cinelerra-5.1/plugins/theme_blue_dot/bluedottheme.C index e6df2973..5304adf1 100644 --- a/cinelerra-5.1/plugins/theme_blue_dot/bluedottheme.C +++ b/cinelerra-5.1/plugins/theme_blue_dot/bluedottheme.C @@ -922,6 +922,7 @@ void BlueDotTheme::initialize() new_toggle("arrow.png", editpanel_up, editpanel_hi, editpanel_checked, editpanel_dn, editpanel_checkedhi, "arrow"); new_toggle("autokeyframe.png", editpanel_up, editpanel_hi, editpanel_checked, editpanel_dn, editpanel_checkedhi, "autokeyframe"); + new_toggle("spankeyframe.png", editpanel_up, editpanel_hi, editpanel_checked, editpanel_dn, editpanel_checkedhi, "spankeyframe"); new_toggle("ibeam.png", editpanel_up, editpanel_hi, editpanel_checked, editpanel_dn, editpanel_checkedhi, "ibeam"); new_toggle("show_meters.png", editpanel_up, editpanel_hi, editpanel_checked, editpanel_dn, editpanel_checkedhi, "meters"); new_toggle("blank30x30.png", @@ -1404,7 +1405,7 @@ void BlueDotTheme::draw_mwindow_bg(MWindowGUI *gui) mbuttons_y - 1); gui->draw_vframe(get_image("panel_divider"), - mbuttons_x + 290 + 11 + 30 * 2 + 11 + 30 * 2 + 5, + mbuttons_x + 290 + 11 + 30 * 2 + 11 + 30 * 3 + 5, mbuttons_y - 1); diff --git a/cinelerra-5.1/plugins/theme_blue_dot/data/spankeyframe.png b/cinelerra-5.1/plugins/theme_blue_dot/data/spankeyframe.png new file mode 100644 index 0000000000000000000000000000000000000000..38fb83661d83696dc755577b89f2cc77817e41e9 GIT binary patch literal 3978 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 zPf^@x@draw_vframe(get_image("panel_divider"), - mbuttons_x + 320, + mbuttons_x + 294, + mbuttons_y - 1); + gui->draw_vframe(get_image("panel_divider"), + mbuttons_x + 396, mbuttons_y - 1); // Clock diff --git a/cinelerra-5.1/plugins/theme_bright/data/spankeyframe.png b/cinelerra-5.1/plugins/theme_bright/data/spankeyframe.png new file mode 100644 index 0000000000000000000000000000000000000000..90bdf66ecbcd007df3f6441c887cf99aca33ee9d GIT binary patch literal 1441 zcmV;S1z!4zP) zaB^>EX>4U6ba`-PAZ2)IW&i+q+U=K7a^xrshTl2G905rPiQ`}cRda(m{`_FvNq1$p zHhJ5shB9D*CBY}rN$7umkMIkHBj=FRJeQm!N-C*v#lYiL>S`&b)m|_696ig!V}c

jbL**)>nBB(_r&o$QR~+4+rXCJhJ-Eyv28`iRwTSFr|W$ij=8vf z-a^~+kX;hLo-msv##u92LYp|6<$|$uRJ2(+Cd2u)>9E-H<6-cA54Yf6%J7Z5ki@IK zycKLkid6K5mSA~GGRA^gv;i8I+dv0bFx-3Y_hJ7-dEG_$w{7e&c*6V`z2biiU-0L; zPV9lWE%qOKs~7t1LmMajVcZ5t3Lys@G)^`0A=Qrg-*yEPzs+5dzzI7 z8v>w-1NVv05J-9YvRt9C?3QKkMBcU72uqoujPS{SuHie2Ki4s45)nne&MI7hd4@UM znB-=QWgtRhAF8eczUyn5TqOXZu48s=u*Tz3aVUMnmMqYMb&CE#amDw&HzNp_zsAP@^FGFyFnh*ZJ%D=)1q~8j=(jN5Qq=;KyRs!Nplu2UkH5`~Y!rby9SZ z691PJTEuv8+>dwn9(V5mf4$69vtt}kHOojP;zB07Dg<8R+JRtbK)_BE=c^yb=l=N&IO14 zJTqdXQ}e_TVxiE+avQUvp%PCKM-^40e1FDeh4U6?wOnP*d-4~CbK1%>*J%zTfkiAq zga8>;lu(9+7_Ay9CQ`H?_wWxoevw=D^OF;9QaBEDzS#E1 z2oT%_8a3PgKDO<~2@rS&uC$iFQU_)}Nw2lE=n>Gf4P0EeG|r8y5Pi00000NkvXXu0mjfdraw_vframe(get_image("panel_divider"), x - toggle_margin / 2 - pdw / 2 + 2, mbuttons_y - 1); - x += 2 * get_image("autokeyframe")->get_w() + toggle_margin; + x += 3 * get_image("autokeyframe")->get_w() + toggle_margin; gui->draw_vframe(get_image("panel_divider"), x - toggle_margin / 2 - pdw / 2 + 2, mbuttons_y - 1); diff --git a/cinelerra-5.1/plugins/theme_cakewalk/data/spankeyframe.png b/cinelerra-5.1/plugins/theme_cakewalk/data/spankeyframe.png new file mode 100644 index 0000000000000000000000000000000000000000..17cdb9837496f269c64856191344184941bd2e1d GIT binary patch literal 4561 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 v48wL~;z5J!Q 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 literal 0 HcmV?d00001 diff --git a/cinelerra-5.1/plugins/theme_hulk/hulktheme.C b/cinelerra-5.1/plugins/theme_hulk/hulktheme.C index 19abed45..1fc23d87 100644 --- a/cinelerra-5.1/plugins/theme_hulk/hulktheme.C +++ b/cinelerra-5.1/plugins/theme_hulk/hulktheme.C @@ -871,6 +871,7 @@ void HULKTHEME::initialize() new_toggle("arrow.png", editpanel_up, editpanel_hi, editpanel_checked, editpanel_dn, editpanel_checkedhi, "arrow"); new_toggle("autokeyframe.png", transport_up, editpanel_hi, editpanel_checked, editpanel_dn, editpanel_checkedhi, "autokeyframe"); + new_toggle("spankeyframe.png", transport_up, editpanel_hi, editpanel_checked, editpanel_dn, editpanel_checkedhi, "spankeyframe"); new_toggle("ibeam.png", editpanel_up, editpanel_hi, editpanel_checked, editpanel_dn, editpanel_checkedhi, "ibeam"); new_toggle("show_meters.png", editpanel_up, editpanel_hi, editpanel_checked, editpanel_dn, editpanel_checkedhi, "meters"); new_toggle("blank30x30.png", @@ -1025,7 +1026,7 @@ void HULKTHEME::draw_mwindow_bg(MWindowGUI *gui) x - toggle_margin / 2 - pdw / 2 + 2, mbuttons_y - 1); - x += 2 * get_image("autokeyframe")->get_w() + toggle_margin; // the state toggle buttons + x += 3 * get_image("autokeyframe")->get_w() + toggle_margin; // the state toggle buttons gui->draw_vframe(get_image("panel_divider"), x - toggle_margin / 2 - pdw / 2 + 2, mbuttons_y - 1); diff --git a/cinelerra-5.1/plugins/theme_neophyte/data/spankeyframe.png b/cinelerra-5.1/plugins/theme_neophyte/data/spankeyframe.png new file mode 100644 index 0000000000000000000000000000000000000000..941725487aee88c4c1fecf628a6129dcd488f420 GIT binary patch literal 3355 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 literal 0 HcmV?d00001 diff --git a/cinelerra-5.1/plugins/theme_neophyte/neophyte.C b/cinelerra-5.1/plugins/theme_neophyte/neophyte.C index 786c0702..cce41497 100644 --- a/cinelerra-5.1/plugins/theme_neophyte/neophyte.C +++ b/cinelerra-5.1/plugins/theme_neophyte/neophyte.C @@ -1081,6 +1081,10 @@ void NEOPHYTETHEME::initialize() transport_up, editpanel_hi, editpanel_checked, editpanel_dn, editpanel_checkedhi, "autokeyframe"); + new_toggle("spankeyframe.png", + transport_up, editpanel_hi, editpanel_checked, + editpanel_dn, editpanel_checkedhi, + "spankeyframe"); new_toggle("ibeam.png", editpanel_up, editpanel_hi, editpanel_checked, editpanel_dn, editpanel_checkedhi, @@ -1326,7 +1330,7 @@ void NEOPHYTETHEME::draw_mwindow_bg(MWindowGUI *gui) x - toggle_margin / 2 - pdw / 2 + 2, mbuttons_y - 1); - x += 2 * get_image("autokeyframe")->get_w() + toggle_margin; // the state toggle buttons + x += 3 * get_image("autokeyframe")->get_w() + toggle_margin; // the state toggle buttons gui->draw_vframe(get_image("panel_divider"), x - toggle_margin / 2 - pdw / 2 + 2, mbuttons_y - 1); diff --git a/cinelerra-5.1/plugins/theme_pinklady/data/spankeyframe.png b/cinelerra-5.1/plugins/theme_pinklady/data/spankeyframe.png new file mode 100644 index 0000000000000000000000000000000000000000..1ca51d0bfeb67e0e1c5e02c70b0b075527022a3d GIT binary patch literal 2993 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 literal 0 HcmV?d00001 diff --git a/cinelerra-5.1/plugins/theme_pinklady/pinkladytheme.C b/cinelerra-5.1/plugins/theme_pinklady/pinkladytheme.C index c2ad6e10..c4a2c9e0 100644 --- a/cinelerra-5.1/plugins/theme_pinklady/pinkladytheme.C +++ b/cinelerra-5.1/plugins/theme_pinklady/pinkladytheme.C @@ -856,6 +856,7 @@ void PINKLADY::initialize() new_toggle("arrow.png", editpanel_up, editpanel_hi, editpanel_checked, editpanel_dn, editpanel_checkedhi, "arrow"); new_toggle("autokeyframe.png", transport_up, editpanel_hi, editpanel_checked, editpanel_dn, editpanel_checkedhi, "autokeyframe"); + new_toggle("spankeyframe.png", transport_up, editpanel_hi, editpanel_checked, editpanel_dn, editpanel_checkedhi, "spankeyframe"); new_toggle("ibeam.png", editpanel_up, editpanel_hi, editpanel_checked, editpanel_dn, editpanel_checkedhi, "ibeam"); new_toggle("show_meters.png", editpanel_up, editpanel_hi, editpanel_checked, editpanel_dn, editpanel_checkedhi, "meters"); new_toggle("blank30x30.png", @@ -1007,7 +1008,7 @@ void PINKLADY::draw_mwindow_bg(MWindowGUI *gui) x - toggle_margin / 2 - pdw / 2 + 2, mbuttons_y - 1); - x += 2 * get_image("autokeyframe")->get_w() + toggle_margin; // the state toggle buttons + x += 3 * get_image("autokeyframe")->get_w() + toggle_margin; // the state toggle buttons gui->draw_vframe(get_image("panel_divider"), x - toggle_margin / 2 - pdw / 2 + 2, mbuttons_y - 1); diff --git a/cinelerra-5.1/plugins/theme_suv/data/spankeyframe.png b/cinelerra-5.1/plugins/theme_suv/data/spankeyframe.png new file mode 100644 index 0000000000000000000000000000000000000000..bee7bcf9b946ed90c83e662dd6ecceb97c7a8b44 GIT binary patch literal 2977 zcmV;S3tsezP) zaB^>EX>4U6ba`-PAZ2)IW&i+q+U;0taw|Ow{jXKb5`H=oymrE-e0bJ^mg6c zZa6G?T>bu<(^;QbcXh)rYCRrd28!oiZ8z6$~Y5t)|G_M9#^azPg`w32UYO#*gP+1fAD&?!hB}N34=E< z-#$IVfBX0Zf2wEQKcSXx*Ej3tx^LE;zzFnmTZbcBY-s#9H-DrDBaW$o9Icf$_CqmCeq@RKhe<~t8R z9wM4VL^f|`&A-Uqm6%W*k!q$8XEwK) zsJVrd$D41cVU_t3L0V3tQOtmt3k1YjAwWPo#mr_3!6|ZznJo@k5gn9_ip?NJ39*1P5VfDcePM$1xM1k@#qDzw&hJZ*0`-f6U=-nrZ4^>cx`3TTjUoU&Y6~63H&1G4 z5z+af!6fli)gpAYOP2|JmxB{82Z!Zg0Dd|61JLi7o4*77el>pw`Wpl!ebxQSr(cXVf{|QC76%kCndLF@#g5cCEsH6`v90%2>it1=A#?m1;D&Q z;3oi>R|q^<=x396I*ZL95lD9)ea;e|4aO7^ouJ~J5+`BaSvj^y#vhJ>gyn-7(uzjKiZFO$*SNIIMU{)uoGM7mODneUK<4Rkb3zH|+X&M`L<7Fc8yeLRX05Bd zu^+jhCrxBxFH!&2!0E59=5c{5n9_Gat6hWS#=({;IHr^2OY*Iz<*{M41FD(PBY{7Y z56HE?gFzt#U{^G31a~y_!r)>Q^i)vR-3VZ7xDFlpK(Z8_-jO2Mh2lU5UnYnG4OY+w zOI7^5RzGu!c}pr+YXDadb+vW|K(xmMATZltZpA6qKn(1~PDyV+13z56CaqxMZPuD;2T zoW=?9X!FmB&3ssAKkwHB3kbJc!I}5TV>TLFCC*?+&0-qt2EoP-`Tb-qk?i^{Mi5o@m!3c8>}id zVpZ~ChOJmbnX0D~sc~%PDGLx~9U~T@rnFPrq8)!|2k}f6ghnZ<6+Cr-Mj%hLHPxfO zJs{Je0ZMJ>-W{5jU!7^c++`yqP+PQkPeJjHX#JcfqHBEb2YhX}b^zgpfwj)YpU#hK zsNt7WgZQ8gmpTf>kD8_(SH^+Dym~@7b=6g`j1h}Lm?eUnR04?MlcrBI0|{`SRZ$7< zvnm=bxOx?Rwm=y*={BpP;QYc+^T#Ur)RLMHNbmm4^}xQpUAw!4H^R&(4Eil$=5sp! zdb4cacFR9+mQDDTF8jY<5I`6OG4mgk7Toy}1W@4s00D$)LqkwWLqi~Na&Km7Y-Iod zc$|HaJxIeq9K~N-r9~1q~8j=(jN5Qq=;KyRs z!Nplu2UkH5`~Y!rby9SZ691PJTEuv8+>dwn9(V5mf4$69vtt}kHOojP;zB07Dg<8< zL@)X=gpkBceNGgU@El+F@bUF7#R+JRt zbK)_BE=c^yb=l=N&IO14JTqdXQ}e_TVxiE+avQUvp%PCKM-^40e1FDeh4U6?wOnP* zd-4~CbK1%>*J%zTfkiAqga8>;lu(9+7_Ay9CQ`H?_wWxoevw=D^OF;9QaBEDzS#E12oT%_8a3PgKDO<~2@rS&uC$iFQU_)}Nw2lE=n>Gf4P0Ee zGdraw_vframe(get_image("panel_divider"), x - toggle_margin / 2 - pdw / 2 + 2, mbuttons_y - 1); - x += 2 * get_image("autokeyframe")->get_w() + toggle_margin; // the state toggle buttons + x += 3 * get_image("autokeyframe")->get_w() + toggle_margin; // the state toggle buttons gui->draw_vframe(get_image("panel_divider"), x - toggle_margin / 2 - pdw / 2 + 2, diff --git a/cinelerra-5.1/plugins/theme_unflat/data/spankeyframe.png b/cinelerra-5.1/plugins/theme_unflat/data/spankeyframe.png new file mode 100644 index 0000000000000000000000000000000000000000..57dd07a3ae74bde5aaa0b9ef2d4f274d6473e31d GIT binary patch literal 2936 zcmV-;3y1WHP) zaB^>EX>4U6ba`-PAZ2)IW&i+q+SOQFb{n}4{O2lW2_#-5m&4~dvxB?*DX?3zY$xM5 znV&1gVvFJftO5#P!usFeJN$(gl_)_p7prCwFR4|1?5Y*w)IOc+TCizUo>_YNOBe)s)up}pPBQ;Ow@ z73?B+S(xF>`6ot!khE`1_28Sr)x?i4CzipW9+(Rb*kZqy=$hVqix1BnHDIX3D_&Bb z_X2rlDHRwbWW$!=_Cd)@m5v(9x-Lm#*D2Ha=J&|xEwGU{lPCQnE}m^Sk) zv(C2Cf-5aqx@_fDR$Xnw*EVn2x^3rOcHQmC+Rf^F);==#@2sVpH9AE3xctT%x^sRk zkz7vHIRj%P35;iF01i#gSu9C}oH^$#R^q^{1S{3anaLRggR&CoPEYRMnENSj0qB00 zH~JBC!KwQ%m+5v` zY`8~>+z10YCaooXS8ReEGMJK@;fL@zpc`%W&9N=T4_m}7DbVX6Mi=2SFCt#!*5xE8Uga@bjM|I3M(2`mxUgCqoX$X zCP2zoz3agBbsK(l;A@*x78p0q&LFM#T_9{(q2d)J^_V+6m75>IwF`z(g>^4_e*rj%mqhb;i7jp_Nld?`MHgil9&$=0Z0&vfM`M2^*5};%&11=-0tt zPTeDa?w{MO#LiIX9TsoJlD$HV&3cQj-a38Kk~7KC#fo)%3I-ZB;$?6W!X*+^!8M%x62hqR80Qoe} zm`^c2na{_D}a^iwojuPb;1O?1{a%<(ErEtplX@>*qM#yX5zh7{@RBX7!;2MGu#@!`$gzx|r z5|65&YKAaC+Z`wa*scl_=Q;u+$;Br?KwN!fyRlyN{vd~xljFZCYZ9uCh6=l0=A4?^ zFcB9sggVN2Y7JsykReEkTu5EIK)wOyS%pGs(}8%vy$~0Dwmq8cR^T9$za*qy%6E zQ8nngm(+lZ33A5pEDJq9O6|EU!3D>;+~7j8XJI>n%ad?=#9&cDjwsrO>;Kvm=7`4@ zJ96qGid#U04-SmdEB4~yQV4-J4ON6p5DZsG{;|5C_wbzn$uGh+iU;I2-_ujc|HTdR zLzRs9niWz14{~L3cVrctY5)KMglR)VP)S2WAaHVTW@&6?004NLeUUv#!$2IxUt6U` zDk2sUb;wYiEQpFYY88r5A=C=3I+$Gg1x*@~6c*5I4?2F4Tr#;zVB}ap1u7)R5B>+gyEXHZ6K+yC4s^cQ z_Qwbi+yxpn+x|Yb?ZycZcm}StmcLR5WlN54hX`2A*`ukQ^yM z)1S`+?`QN)S)lJ0=vs4oYwqLp0Z3C<$s6F{5Ev~`_PWQrL+!o&d#2gn4>D15jiAxf zrvLx|24YJ`L;wH)0002_L%V+f000SaNLh0L01ejw01ejxLMWSf00007bV*G`2jd43 z79Sn3c9P=&00GoVL_t(Y$IX_(YEwZJhQBjoQiFEu!Y7buB{y?13x(Q(OE+Skpl)1s zVG+caP>Sf%rJ~>ibfHkJN-{SZAu41MB?_*Li1$Ksy~l-DC|!gk-h#9I&&+)M{~0(V zs>(qw!vU{D({7BS$Yoi!Xs!Jg1i_nW&&f0qMNzb>s#|*;->y_D*Q?d)Zc!0!0H0NL zMOE(r>v0@!7Ttp{VHiFWks*MH{3r~de{vM>eF-?9%l#r9sE7zq0*1M^QYawHGO^Yk z1J;1Csy-?-A`y`!NxlMib0?Pz0~lizkaD@40;hBNY2i(F&W(YGfEr^?6$0?yp8y;n z0M5Bh;Df4O%xm)ly!YpT7eHA=uI_Pk1vm`6YPDL+|Ki{VkQigm)a&(^f5k8ipQmXW z0zZv08*>4=-R==!RYV>HLGW>Zz0qh4fycmwUaxm_Wb1H*=t}?Rqu(& z4p36nWf55eK3Qw)wOVa7_rS>^w}4B4&E*)lZ>_yK>GG*38bH6_Ul@%>RaM;`3get_w() + toggle_margin; // the state toggle buttons + x += 3 * get_image("autokeyframe")->get_w() + toggle_margin; // the state toggle buttons gui->draw_vframe(get_image("panel_divider"), x - toggle_margin / 2 - pdw / 2 + 2, mbuttons_y - 1); -- 2.26.2