fixes for full timeline updates, replace nums with syms for update interface
authorGood Guy <[email protected]>
Sat, 8 Dec 2018 18:26:51 +0000 (11:26 -0700)
committerGood Guy <[email protected]>
Sat, 8 Dec 2018 18:26:51 +0000 (11:26 -0700)
27 files changed:
cinelerra-5.1/cinelerra/assetedit.C
cinelerra-5.1/cinelerra/ctimebar.C
cinelerra-5.1/cinelerra/cwindowgui.C
cinelerra-5.1/cinelerra/editpanel.C
cinelerra-5.1/cinelerra/gwindowgui.C
cinelerra-5.1/cinelerra/keyframepopup.C
cinelerra-5.1/cinelerra/menueffects.C
cinelerra-5.1/cinelerra/mtimebar.C
cinelerra-5.1/cinelerra/mwindow.C
cinelerra-5.1/cinelerra/mwindowedit.C
cinelerra-5.1/cinelerra/mwindowgui.C
cinelerra-5.1/cinelerra/mwindowgui.h
cinelerra-5.1/cinelerra/mwindowmove.C
cinelerra-5.1/cinelerra/patchgui.C
cinelerra-5.1/cinelerra/plugindialog.C
cinelerra-5.1/cinelerra/pluginpopup.C
cinelerra-5.1/cinelerra/preferencesthread.C
cinelerra-5.1/cinelerra/record.C
cinelerra-5.1/cinelerra/render.C
cinelerra-5.1/cinelerra/resourcethread.C
cinelerra-5.1/cinelerra/swindow.C
cinelerra-5.1/cinelerra/timelinepane.C
cinelerra-5.1/cinelerra/trackcanvas.C
cinelerra-5.1/cinelerra/trackcanvas.h
cinelerra-5.1/cinelerra/trackcanvas.inc
cinelerra-5.1/cinelerra/transitionpopup.C
cinelerra-5.1/cinelerra/viewmenu.C

index 4df0f70a40ec52b27e363ae182d35b87146060a2..c58756358486fb25dfd1721c202844281f46b797 100644 (file)
@@ -146,7 +146,7 @@ void AssetEdit::handle_close_event(int result)
                        }
 //printf("AssetEdit::handle_close_event %d\n", __LINE__);
 
-                       mwindow->gui->update(0, 2, 0, 0, 0, 0, 0);
+                       mwindow->gui->update(0, FORCE_REDRAW, 0, 0, 0, 0, 0);
 //printf("AssetEdit::handle_close_event %d\n", __LINE__);
 
 // Start index rebuilding
index 6929cc12104de8f652c1711c2b4969f7cd1277a3..b9fb0bded6f608d9f3c165a47a42e0fb89bda39e 100644 (file)
@@ -30,6 +30,7 @@
 #include "mwindow.h"
 #include "mwindowgui.h"
 #include "theme.h"
+#include "trackcanvas.inc"
 
 
 CTimeBar::CTimeBar(MWindow *mwindow, CWindowGUI *gui,
@@ -118,8 +119,7 @@ void CTimeBar::select_label(double position)
        mwindow->gui->lock_window();
        mwindow->gui->hide_cursor(0);
        mwindow->gui->draw_cursor(1);
-       mwindow->gui->update(0, 1,      // 1 for incremental drawing.  2 for full refresh
-               1, 0, 1, 1, 0);
+       mwindow->gui->update(0, NORMAL_DRAW, 1, 0, 1, 1, 0);
        mwindow->gui->unlock_window();
        mwindow->update_plugin_guis();
 //printf("CTimeBar::select_label 2\n");
index bd02e239f69ac2499d5c365d6b5d20b17a53401c..e800cbbe7b92ca5911e58acde73d922582a7ed11 100644 (file)
@@ -722,7 +722,7 @@ int CWindowGUI::drag_stop()
                {
                        mwindow->save_backup();
                        mwindow->restart_brender();
-                       mwindow->gui->update(1, 1, 1, 1, 0, 1, 0);
+                       mwindow->gui->update(1, NORMAL_DRAW, 1, 1, 0, 1, 0);
                        mwindow->undo->update_undo_after(_("insert assets"), LOAD_ALL);
                        mwindow->gui->unlock_window();
                        mwindow->sync_parameters(CHANGE_ALL);
index b539bda46f1a0ba84cbac969180259a543569001..530d530c42fe1ef4ed925254644738c765a08d98 100644 (file)
@@ -440,7 +440,7 @@ void EditPanel::set_position(double position)
                edl->local_session->set_selectionend(position);
                mwindow->gui->lock_window();
                mwindow->find_cursor();
-               mwindow->gui->update(1, 1, 1, 1, 1, 1, 0);
+               mwindow->gui->update(1, NORMAL_DRAW, 1, 1, 1, 1, 0);
                mwindow->gui->unlock_window();
                mwindow->cwindow->update(1, 0, 0, 0, 0);
        }
index 31f79e348b1836bcc3a628a9af173b10469d7c78..ce888faf6038343a5ec2ce5d5098c4781eb54706 100644 (file)
@@ -629,7 +629,7 @@ int GWindowToggle::handle_event()
        MWindow *mwindow = gui->mwindow;
        mwindow->gui->lock_window("GWindowToggle::handle_event");
 
-       mwindow->gui->update(1, 1, 0, 0, 1, 0, 0);
+       mwindow->gui->update(1, NORMAL_DRAW, 0, 0, 1, 0, 0);
        mwindow->gui->draw_overlays(1);
 
        if( value && info->isauto > 0 ) {
index 7624da1631574fc7a8d16471c9a4f70110ec8f5c..123a6eb63dcb5cc860c98d41e1156d9f3bd472e1 100644 (file)
@@ -128,7 +128,7 @@ int KeyframePopup::update(Automation *automation, Autos *autos, Auto *auto_keyfr
                mwindow->edl->local_session->set_selectionstart(new_position);
                mwindow->edl->local_session->set_selectionend(new_position);
                mwindow->gui->lock_window();
-               mwindow->gui->update(1, 1, 1, 1, 1, 1, 0);
+               mwindow->gui->update(1, NORMAL_DRAW, 1, 1, 1, 1, 0);
                mwindow->gui->unlock_window();
        }
        return 0;
@@ -196,7 +196,7 @@ int KeyframePopupDelete::handle_event()
        mwindow->undo->update_undo_after(_("delete keyframe"), LOAD_ALL);
 
        mwindow->save_backup();
-       mwindow->gui->update(0, 1,      // 1 for incremental drawing.  2 for full refresh
+       mwindow->gui->update(0, NORMAL_DRAW,
                0, 0, 0, 0, 0);
        mwindow->update_plugin_guis();
        mwindow->restart_brender();
@@ -484,7 +484,7 @@ int KeyframePopupCurveMode::handle_event()
                mwindow->undo->update_undo_after(_("change keyframe curve mode"), LOAD_ALL);
                mwindow->save_backup();
 
-               mwindow->gui->update(0, 1, 0,0,0,0,0); // incremental redraw for canvas
+               mwindow->gui->update(0, NORMAL_DRAW, 0,0,0,0,0); // incremental redraw for canvas
                mwindow->cwindow->update(0,0, 1, 0,0); // redraw tool window in compositor
                mwindow->update_plugin_guis();
                mwindow->restart_brender();
index 92217a6b93dd9e9409a987b2846739c9ce333f34..12ae34e102b6d13ac4d7e39dfb847afa1da1863c 100644 (file)
@@ -518,7 +518,7 @@ void MenuEffectThread::run()
 
                mwindow->restart_brender();
                mwindow->update_plugin_guis();
-               mwindow->gui->update(1, 2, 1, 1, 1, 1, 0);
+               mwindow->gui->update(1, FORCE_REDRAW, 1, 1, 1, 1, 0);
                mwindow->sync_parameters(CHANGE_ALL);
                mwindow->gui->unlock_window();
 
index 94e7f2d1c2bac9f4aee689ce49234c9e9c81b4b8..8889cc87b47391b048175cf9c329f7377c6e453d 100644 (file)
@@ -675,7 +675,7 @@ TimeBarPopupItem::TimeBarPopupItem(MWindow *mwindow,
 int TimeBarPopupItem::handle_event()
 {
        mwindow->edl->session->time_format = value;
-       mwindow->gui->update(0, 0, 1, 0, 0, 1, 0);
+       mwindow->gui->update(0, NO_DRAW, 1, 0, 0, 1, 0);
        mwindow->gui->redraw_time_dependancies();
        return 1;
 }
index 3f67230e63885819780485acc3f7acde9f09b8ab..070353020f8195996b02b77b0a371d316ca94b38 100644 (file)
@@ -1388,7 +1388,7 @@ void MWindow::create_mixers()
        save_backup();
        undo->update_undo_after(_("create mixers"), LOAD_ALL);
        restart_brender();
-       gui->update(1, 2, 1, 1, 1, 1, 0);
+       gui->update(1, FORCE_REDRAW, 1, 1, 1, 1, 0);
        sync_parameters(CHANGE_ALL);
 }
 
@@ -2978,7 +2978,7 @@ void MWindow::set_auto_visibility(Autos *autos, int value)
        else
                return;
 
-       gui->update(0, 1, 0, 0, 0, 0, 0);
+       gui->update(0, NORMAL_DRAW, 0, 0, 0, 0, 0);
        gui->mainmenu->update_toggles(1);
        gui->unlock_window();
        gwindow->gui->update_toggles(1);
@@ -3219,7 +3219,7 @@ void MWindow::hide_plugin(Plugin *plugin, int lock)
        plugin->show = 0;
 // Update the toggle
        gui->lock_window("MWindow::hide_plugin");
-       gui->update(0, 1, 0, 0, 0, 0, 0);
+       gui->update(0, NORMAL_DRAW, 0, 0, 0, 0, 0);
        gui->unlock_window();
 
        if(lock) plugin_gui_lock->lock("MWindow::hide_plugin");
@@ -3550,7 +3550,7 @@ void MWindow::update_project(int load_mode)
                gui->load_panes();
        }
 
-       gui->update(1, 1, 1, 1, 1, 1, 1);
+       gui->update(1, NORMAL_DRAW, 1, 1, 1, 1, 1);
        if(debug) PRINT_TRACE
        gui->unlock_window();
        init_brender();
@@ -4055,7 +4055,7 @@ void MWindow::remove_assets_from_project(int push_undo, int redraw,
                restart_brender();
 
                gui->lock_window("MWindow::remove_assets_from_project 3");
-               gui->update(1, 1, 1, 1, 0, 1, 0);
+               gui->update(1, NORMAL_DRAW, 1, 1, 0, 1, 0);
                gui->unlock_window();
 
        // Removes from playback here
@@ -4381,7 +4381,7 @@ void MWindow::resync_guis()
 // Update GUIs
        restart_brender();
        gui->lock_window("MWindow::resync_guis");
-       gui->update(1, 1, 1, 1, 1, 1, 0);
+       gui->update(1, NORMAL_DRAW, 1, 1, 1, 1, 0);
        gui->unlock_window();
 
        cwindow->gui->lock_window("MWindow::resync_guis");
index f74bfa0c4972db969cb617c9115d184b7069b548..3d6a69f0678f09e817eb8d01773385148425ecb6 100644 (file)
@@ -88,7 +88,7 @@ void MWindow::add_audio_track_entry(int above, Track *dst)
        undo->update_undo_after(_("add track"), LOAD_ALL);
 
        restart_brender();
-       gui->update(1, 1, 0, 0, 1, 0, 0);
+       gui->update(1, NORMAL_DRAW, 0, 0, 1, 0, 0);
        gui->activate_timeline();
 
 //     gui->get_scrollbars(0);
@@ -108,7 +108,7 @@ void MWindow::add_video_track_entry(Track *dst)
 
        restart_brender();
 
-       gui->update(1, 1, 0, 0, 1, 0, 0);
+       gui->update(1, NORMAL_DRAW, 0, 0, 1, 0, 0);
        gui->activate_timeline();
 //     gui->get_scrollbars(0);
 //     gui->canvas->draw();
@@ -128,7 +128,7 @@ void MWindow::add_subttl_track_entry(Track *dst)
 
        restart_brender();
 
-       gui->update(1, 1, 0, 0, 1, 0, 0);
+       gui->update(1, NORMAL_DRAW, 0, 0, 1, 0, 0);
        gui->activate_timeline();
 //     gui->get_scrollbars(0);
 //     gui->canvas->draw();
@@ -230,7 +230,7 @@ void MWindow::asset_to_all()
 
                undo->update_undo_after(_("asset to all"), LOAD_ALL);
                restart_brender();
-               gui->update(1, 2, 1, 1, 1, 1, 0);
+               gui->update(1, FORCE_REDRAW, 1, 1, 1, 1, 0);
                sync_parameters(CHANGE_ALL);
        }
 }
@@ -290,7 +290,7 @@ void MWindow::asset_to_rate()
 
                undo->update_undo_after(_("asset to rate"), LOAD_ALL);
                restart_brender();
-               gui->update(1, 2, 1, 1, 1, 1, 0);
+               gui->update(1, FORCE_REDRAW, 1, 1, 1, 1, 0);
                sync_parameters(CHANGE_ALL);
        }
 }
@@ -307,7 +307,7 @@ void MWindow::clear_entry()
 
        restart_brender();
        update_plugin_guis();
-       gui->update(1, 2, 1, 1, 1, 1, 0);
+       gui->update(1, FORCE_REDRAW, 1, 1, 1, 1, 0);
        cwindow->update(1, 0, 0, 0, 1);
        cwindow->refresh_frame(CHANGE_EDL);
 }
@@ -330,7 +330,7 @@ void MWindow::update_gui(int changed_edl)
        restart_brender();
        update_plugin_guis();
        if( changed_edl ) {
-               gui->update(1, 2, 1, 1, 1, 1, 0);
+               gui->update(1, FORCE_REDRAW, 1, 1, 1, 1, 0);
                cwindow->update(1, 0, 0, 0, 1);
                cwindow->refresh_frame(CHANGE_EDL);
        }
@@ -415,7 +415,7 @@ void MWindow::concatenate_tracks()
        undo->update_undo_after(_("concatenate tracks"), LOAD_EDITS);
 
        restart_brender();
-       gui->update(1, 1, 0, 0, 1, 0, 0);
+       gui->update(1, NORMAL_DRAW, 0, 0, 1, 0, 0);
        cwindow->refresh_frame(CHANGE_EDL);
 }
 
@@ -535,7 +535,7 @@ void MWindow::blade(double position)
        undo->update_undo_after(_("blade"), LOAD_EDITS | LOAD_TIMEBAR);
        restart_brender();
        update_plugin_guis();
-       gui->update(1, 2, 1, 1, 1, 1, 0);
+       gui->update(1, FORCE_REDRAW, 1, 1, 1, 1, 0);
        cwindow->update(1, 0, 0, 0, 1);
        awindow->gui->async_update_assets();
        cwindow->refresh_frame(CHANGE_EDL);
@@ -559,7 +559,7 @@ void MWindow::cut(double start, double end, double new_position)
        }
        restart_brender();
        update_plugin_guis();
-       gui->update(1, 2, 1, 1, 1, 1, 0);
+       gui->update(1, FORCE_REDRAW, 1, 1, 1, 1, 0);
        cwindow->update(1, 0, 0, 0, 1);
        awindow->gui->async_update_assets();
        cwindow->refresh_frame(CHANGE_EDL);
@@ -650,7 +650,7 @@ void MWindow::delete_tracks()
        restart_brender();
        update_plugin_states();
 
-       gui->update(1, 1, 1, 0, 1, 0, 0);
+       gui->update(1, NORMAL_DRAW, 1, 0, 1, 0, 0);
        cwindow->refresh_frame(CHANGE_EDL);
 }
 
@@ -663,7 +663,7 @@ void MWindow::delete_track(Track *track)
        restart_brender();
        update_plugin_states();
 
-       gui->update(1, 1, 1, 0, 1, 0, 0);
+       gui->update(1, NORMAL_DRAW, 1, 0, 1, 0, 0);
        cwindow->refresh_frame(CHANGE_EDL);
        save_backup();
 }
@@ -758,7 +758,7 @@ void MWindow::insert_effects_cwindow(Track *dest_track)
        undo->update_undo_after(_("insert effect"), LOAD_EDITS | LOAD_PATCHES);
        restart_brender();
        sync_parameters(CHANGE_EDL);
-       gui->update(1, 1, 0, 0, 1, 0, 0);
+       gui->update(1, NORMAL_DRAW, 0, 0, 1, 0, 0);
 }
 
 void MWindow::insert_effect(char *title,
@@ -884,7 +884,7 @@ void MWindow::finish_modify_handles()
        restart_brender();
        sync_parameters(CHANGE_EDL);
        update_plugin_guis();
-       gui->update(1, 2, 1, 1, 1, 1, 0);
+       gui->update(1, FORCE_REDRAW, 1, 1, 1, 1, 0);
 // label list can be modified
        awindow->gui->async_update_assets();
        cwindow->update(1, 0, 0, 0, 1);
@@ -925,8 +925,7 @@ void MWindow::move_edits(ArrayList<Edit*> *edits,
        cwindow->refresh_frame(CHANGE_EDL);
 
        update_plugin_guis();
-       gui->update(1, 1,      // 1 for incremental drawing.  2 for full refresh
-               1, 0, 0, 0, 0);
+       gui->update(1, NORMAL_DRAW, 1, 0, 0, 0, 0);
 }
 
 void MWindow::move_effect(Plugin *plugin, Track *track, int64_t position)
@@ -939,8 +938,7 @@ void MWindow::move_effect(Plugin *plugin, Track *track, int64_t position)
        restart_brender();
        cwindow->refresh_frame(CHANGE_EDL);
        update_plugin_guis();
-       gui->update(1, 1,      // 1 for incremental drawing.  2 for full refresh
-               0, 0, 0, 0, 0);
+       gui->update(1, NORMAL_DRAW, 0, 0, 0, 0, 0);
 }
 
 void MWindow::move_effect(Plugin *plugin, PluginSet *plugin_set, int64_t position)
@@ -953,8 +951,7 @@ void MWindow::move_effect(Plugin *plugin, PluginSet *plugin_set, int64_t positio
        restart_brender();
        cwindow->refresh_frame(CHANGE_EDL);
        update_plugin_guis();
-       gui->update(1, 1,      // 1 for incremental drawing.  2 for full refresh
-               0, 0, 0, 0, 0);
+       gui->update(1, NORMAL_DRAW, 0, 0, 0, 0, 0);
 }
 
 void MWindow::move_plugins_up(PluginSet *plugin_set)
@@ -966,8 +963,7 @@ void MWindow::move_plugins_up(PluginSet *plugin_set)
        save_backup();
        undo->update_undo_after(_("move effect up"), LOAD_ALL);
        restart_brender();
-       gui->update(1, 1,      // 1 for incremental drawing.  2 for full refresh
-               0, 0, 0, 0, 0);
+       gui->update(1, NORMAL_DRAW, 0, 0, 0, 0, 0);
        sync_parameters(CHANGE_EDL);
 }
 
@@ -980,8 +976,7 @@ void MWindow::move_plugins_down(PluginSet *plugin_set)
        save_backup();
        undo->update_undo_after(_("move effect down"), LOAD_ALL);
        restart_brender();
-       gui->update(1, 1,      // 1 for incremental drawing.  2 for full refresh
-               0, 0, 0, 0, 0);
+       gui->update(1, NORMAL_DRAW, 0, 0, 0, 0, 0);
        sync_parameters(CHANGE_EDL);
 }
 
@@ -993,7 +988,7 @@ void MWindow::move_track_down(Track *track)
        undo->update_undo_after(_("move track down"), LOAD_ALL);
 
        restart_brender();
-       gui->update(1, 1, 0, 0, 1, 0, 0);
+       gui->update(1, NORMAL_DRAW, 0, 0, 1, 0, 0);
        sync_parameters(CHANGE_EDL);
        save_backup();
 }
@@ -1006,7 +1001,7 @@ void MWindow::move_tracks_down()
        undo->update_undo_after(_("move tracks down"), LOAD_ALL);
 
        restart_brender();
-       gui->update(1, 1, 0, 0, 1, 0, 0);
+       gui->update(1, NORMAL_DRAW, 0, 0, 1, 0, 0);
        sync_parameters(CHANGE_EDL);
        save_backup();
 }
@@ -1018,7 +1013,7 @@ void MWindow::move_track_up(Track *track)
        save_backup();
        undo->update_undo_after(_("move track up"), LOAD_ALL);
        restart_brender();
-       gui->update(1, 1, 0, 0, 1, 0, 0);
+       gui->update(1, NORMAL_DRAW, 0, 0, 1, 0, 0);
        sync_parameters(CHANGE_EDL);
        save_backup();
 }
@@ -1030,7 +1025,7 @@ void MWindow::move_tracks_up()
        save_backup();
        undo->update_undo_after(_("move tracks up"), LOAD_ALL);
        restart_brender();
-       gui->update(1, 1, 0, 0, 1, 0, 0);
+       gui->update(1, NORMAL_DRAW, 0, 0, 1, 0, 0);
        sync_parameters(CHANGE_EDL);
 }
 
@@ -1055,7 +1050,7 @@ void MWindow::mute_selection()
 
                restart_brender();
                update_plugin_guis();
-               gui->update(1, 2, 1, 1, 1, 1, 0);
+               gui->update(1, FORCE_REDRAW, 1, 1, 1, 1, 0);
                cwindow->refresh_frame(CHANGE_EDL);
        }
 }
@@ -1105,7 +1100,7 @@ void MWindow::overwrite(EDL *source, int all)
 
        restart_brender();
        update_plugin_guis();
-       gui->update(1, 1, 1, 1, 0, 1, 0);
+       gui->update(1, NORMAL_DRAW, 1, 1, 0, 1, 0);
        sync_parameters(CHANGE_EDL);
 }
 
@@ -1156,7 +1151,7 @@ void MWindow::paste()
                undo->update_undo_after(_("paste"), LOAD_EDITS | LOAD_TIMEBAR);
                restart_brender();
                update_plugin_guis();
-               gui->update(1, 2, 1, 1, 0, 1, 0);
+               gui->update(1, FORCE_REDRAW, 1, 1, 0, 1, 0);
                awindow->gui->async_update_assets();
                sync_parameters(CHANGE_EDL);
        }
@@ -1192,7 +1187,7 @@ int MWindow::paste_assets(double position, Track *dest_track, int overwrite)
 
        undo->update_undo_after(_("paste assets"), LOAD_EDITS);
        restart_brender();
-       gui->update(1, 2, 1, 0, 0, 1, 0);
+       gui->update(1, FORCE_REDRAW, 1, 0, 0, 1, 0);
        sync_parameters(CHANGE_EDL);
        return result;
 }
@@ -1619,7 +1614,7 @@ void MWindow::paste_silence()
 
        update_plugin_guis();
        restart_brender();
-       gui->update(1, 2, 1, 1, 1, 1, 0);
+       gui->update(1, FORCE_REDRAW, 1, 1, 1, 1, 0);
        cwindow->update(1, 0, 0, 0, 1);
        cwindow->refresh_frame(CHANGE_EDL);
 }
@@ -1634,7 +1629,7 @@ void MWindow::detach_transition(Transition *transition)
        undo->update_undo_after(_("detach transition"), LOAD_ALL);
 
        if( is_video ) restart_brender();
-       gui->update(0, 1, 0, 0, 0, 0, 0);
+       gui->update(0, NORMAL_DRAW, 0, 0, 0, 0, 0);
        sync_parameters(CHANGE_EDL);
 }
 
@@ -1651,7 +1646,7 @@ void MWindow::detach_transitions()
        undo->update_undo_after(_("detach transitions"), LOAD_EDITS);
 
        sync_parameters(CHANGE_EDL);
-       gui->update(0, 1, 0, 0, 0, 0, 0);
+       gui->update(0, NORMAL_DRAW, 0, 0, 0, 0, 0);
        gui->unlock_window();
 }
 
@@ -1681,7 +1676,7 @@ void MWindow::paste_transitions(int track_type, char *title)
        undo->update_undo_after(_("attach transitions"), LOAD_EDITS);
 
        sync_parameters(CHANGE_EDL);
-       gui->update(0, 1, 0, 0, 0, 0, 0);
+       gui->update(0, NORMAL_DRAW, 0, 0, 0, 0, 0);
        gui->unlock_window();
 }
 
@@ -1693,7 +1688,7 @@ void MWindow::paste_transition_cwindow(Track *dest_track)
        save_backup();
        undo->update_undo_after(_("transition"), LOAD_EDITS);
        restart_brender();
-       gui->update(0, 1, 0, 0, 0, 0, 0);
+       gui->update(0, NORMAL_DRAW, 0, 0, 0, 0, 0);
        sync_parameters(CHANGE_ALL);
 }
 
@@ -1714,7 +1709,7 @@ void MWindow::paste_audio_transition()
        undo->update_undo_after(_("transition"), LOAD_EDITS);
 
        sync_parameters(CHANGE_EDL);
-       gui->update(0, 1, 0, 0, 0, 0, 0);
+       gui->update(0, NORMAL_DRAW, 0, 0, 0, 0, 0);
 }
 
 void MWindow::paste_video_transition()
@@ -1736,7 +1731,7 @@ void MWindow::paste_video_transition()
 
        sync_parameters(CHANGE_EDL);
        restart_brender();
-       gui->update(0, 1, 0, 0, 0, 0, 0);
+       gui->update(0, NORMAL_DRAW, 0, 0, 0, 0, 0);
 }
 
 void MWindow::shuffle_edits()
@@ -1754,7 +1749,7 @@ void MWindow::shuffle_edits()
 
        sync_parameters(CHANGE_EDL);
        restart_brender();
-       gui->update(0, 1, 1, 0, 0, 0, 0);
+       gui->update(0, NORMAL_DRAW, 1, 0, 0, 0, 0);
        gui->unlock_window();
 }
 
@@ -1773,7 +1768,7 @@ void MWindow::reverse_edits()
 
        sync_parameters(CHANGE_EDL);
        restart_brender();
-       gui->update(0, 1, 1, 0, 0, 0, 0);
+       gui->update(0, NORMAL_DRAW, 1, 0, 0, 0, 0);
        gui->unlock_window();
 }
 
@@ -1792,7 +1787,7 @@ void MWindow::align_edits()
 
        sync_parameters(CHANGE_EDL);
        restart_brender();
-       gui->update(0, 1, 1, 0, 0, 0, 0);
+       gui->update(0, NORMAL_DRAW, 1, 0, 0, 0, 0);
        gui->unlock_window();
 }
 
@@ -1811,7 +1806,7 @@ void MWindow::set_edit_length(double length)
 
        sync_parameters(CHANGE_EDL);
        restart_brender();
-       gui->update(0, 1, 1, 0, 0, 0, 0);
+       gui->update(0, NORMAL_DRAW, 1, 0, 0, 0, 0);
        gui->unlock_window();
 }
 
@@ -1831,7 +1826,7 @@ void MWindow::set_transition_length(Transition *transition, double length)
 
        edl->session->default_transition_length = length;
        sync_parameters(CHANGE_PARAMS);
-       gui->update(0, 1, 0, 0, 0, 0, 0);
+       gui->update(0, NORMAL_DRAW, 0, 0, 0, 0, 0);
        gui->unlock_window();
 }
 
@@ -1851,7 +1846,7 @@ void MWindow::set_transition_length(double length)
        edl->session->default_transition_length = length;
        sync_parameters(CHANGE_PARAMS);
        restart_brender();
-       gui->update(0, 1, 0, 0, 0, 0, 0);
+       gui->update(0, NORMAL_DRAW, 0, 0, 0, 0, 0);
        gui->unlock_window();
 }
 
@@ -1880,7 +1875,7 @@ void MWindow::redo_entry(BC_WindowBase *calling_window_gui)
        update_plugin_states();
        update_plugin_guis();
 
-       gui->update(1, 2, 1, 1, 1, 1, 1);
+       gui->update(1, FORCE_REDRAW, 1, 1, 1, 1, 1);
        gui->update_proxy_toggle();
        gui->unlock_window();
        cwindow->update(1, 1, 1, 1, 1);
@@ -2021,7 +2016,7 @@ void MWindow::splice(EDL *source, int all)
        undo->update_undo_after(_("splice"), LOAD_EDITS | LOAD_TIMEBAR);
        update_plugin_guis();
        restart_brender();
-       gui->update(1, 1, 1, 1, 0, 1, 0);
+       gui->update(1, NORMAL_DRAW, 1, 1, 0, 1, 0);
        sync_parameters(CHANGE_EDL);
 }
 
@@ -2175,7 +2170,7 @@ void MWindow::trim_selection()
        save_backup();
        undo->update_undo_after(_("trim selection"), LOAD_EDITS | LOAD_TIMEBAR);
        update_plugin_guis();
-       gui->update(1, 2, 1, 1, 1, 1, 0);
+       gui->update(1, FORCE_REDRAW, 1, 1, 1, 1, 0);
        cwindow->update(1, 0, 0, 0, 1);
        awindow->gui->async_update_assets();
        restart_brender();
@@ -2207,7 +2202,7 @@ void MWindow::undo_entry(BC_WindowBase *calling_window_gui)
        update_plugin_states();
        update_plugin_guis();
 
-       gui->update(1, 2, 1, 1, 1, 1, 1);
+       gui->update(1, FORCE_REDRAW, 1, 1, 1, 1, 1);
        gui->update_proxy_toggle();
        gui->unlock_window();
        cwindow->update(1, 1, 1, 1, 1);
@@ -2283,7 +2278,7 @@ void MWindow::map_audio(int pattern)
                pattern == MWindow::AUDIO_1_TO_1 ? _("map 1:1") : _("map 5.1:2"),
                LOAD_AUTOMATION);
        sync_parameters(CHANGE_PARAMS);
-       gui->update(0, 1, 0, 0, 1, 0, 0);
+       gui->update(0, NORMAL_DRAW, 0, 0, 1, 0, 0);
 }
 
 void MWindow::remap_audio(int pattern)
@@ -2357,7 +2352,7 @@ void MWindow::cut_commercials()
 
        restart_brender();
        update_plugin_guis();
-       gui->update(1, 2, 1, 1, 1, 1, 0);
+       gui->update(1, FORCE_REDRAW, 1, 1, 1, 1, 0);
        cwindow->update(1, 0, 0, 0, 1);
        cwindow->refresh_frame(CHANGE_EDL);
 #endif
index 70c4808a959ea8b8c25a72b13fc6abb471ef0227..36532ac7da51752a2b1cdd9d3f52bc2bd93d49d4 100644 (file)
@@ -698,28 +698,17 @@ void MWindowGUI::draw_indexes(Indexable *indexable)
        }
 }
 
-void MWindowGUI::draw_canvas(int mode /* = 0 */, int hide_cursor /* = 1 */)
+void MWindowGUI::draw_canvas(int redraw, int hide_cursor)
 {
-       if(mode != IGNORE_THREAD)
-       {
-               resource_thread->stop_draw(1);
-       }
+       resource_thread->stop_draw(0);
 
-
-       for(int i = 0; i < TOTAL_PANES; i++)
-       {
-               if(pane[i])
-               {
+       int mode = redraw ? FORCE_REDRAW : NORMAL_DRAW;
+       for(int i = 0; i < TOTAL_PANES; i++) {
+               if( pane[i] )
                        pane[i]->canvas->draw(mode, hide_cursor);
-               }
-       }
-
-
-       if(mode != IGNORE_THREAD)
-       {
-               resource_thread->start_draw();
        }
 
+       resource_thread->start_draw();
 }
 
 void MWindowGUI::flash_canvas(int flush)
@@ -801,7 +790,7 @@ void MWindowGUI::update_scrollbars(int flush)
        {
                if(pane[i])
                {
-                       pane[i]->update(1, 0, 0, 0);
+                       pane[i]->update(1, NO_DRAW, 0, 0);
                }
        }
        if(flush) this->flush();
@@ -877,10 +866,8 @@ void MWindowGUI::update(int scrollbars,
 
        mwindow->edl->tracks->update_y_pixels(mwindow->theme);
 
-       if(do_canvas && do_canvas != IGNORE_THREAD)
-       {
+       if( do_canvas != NO_DRAW && do_canvas != IGNORE_THREAD )
                resource_thread->stop_draw(1);
-       }
 
        for(int i = 0; i < TOTAL_PANES; i++)
        {
@@ -890,10 +877,8 @@ void MWindowGUI::update(int scrollbars,
                        patchbay);
        }
 
-       if(do_canvas && do_canvas != IGNORE_THREAD)
-       {
+       if( do_canvas != NO_DRAW && do_canvas != IGNORE_THREAD )
                resource_thread->start_draw();
-       }
 
 //     if(scrollbars) this->get_scrollbars(0);
 //     if(timebar) this->timebar->update(0);
@@ -923,8 +908,7 @@ void MWindowGUI::update(int scrollbars,
 
 // Can't age if the cache called this to draw missing picons
 // or the GUI is updating the status of the draw toggle.
-       if(do_canvas != FORCE_REDRAW && do_canvas != IGNORE_THREAD)
-       {
+       if( do_canvas != FORCE_REDRAW && do_canvas != IGNORE_THREAD ) {
                unlock_window();
                mwindow->age_caches();
                lock_window("MWindowGUI::update");
@@ -1304,7 +1288,7 @@ int MWindowGUI::keypress_event()
                        if( !selected && this_track ) this_track->record = 1;
                }
 
-               update(0, 1, 0, 0, 1, 0, 1);
+               update(0, NORMAL_DRAW, 0, 0, 1, 0, 1);
                unlock_window();
                mwindow->cwindow->update(0, 1, 1);
                lock_window("MWindowGUI::keypress_event 3");
@@ -1842,7 +1826,7 @@ void MWindowGUI::delete_y_pane(int cursor_y)
 void MWindowGUI::stop_pane_drag()
 {
        dragging_pane = 0;
-       resource_thread->stop_draw(1);
+       resource_thread->stop_draw(0);
 
        if(x_pane_drag)
        {
index ee920186dd8fc3787edabd103b6fc6cb1c696423..6484dc8184c1927982ad1d32ecf4ba806e380e88 100644 (file)
@@ -111,9 +111,11 @@ public:
        int focus_in_event();
        int focus_out_event();
 
-// do_canvas - 1 for incremental drawing of resources
-//          FORCE_REDRAW for delete and redraw of resources
-//          IGNORE_THREAD to ignore picon thread
+// do_canvas -
+//   NO_DRAW disable canvas draw
+//   IGNORE_THREAD to ignore picon thread
+//   NORMAL_DRAW for incremental drawing of resources
+//   FORCE_REDRAW for delete and redraw of resources
        void update(int scrollbars,
                int do_canvas,
                int timebar,
@@ -130,7 +132,7 @@ public:
        void update_proxy_toggle();
        void update_plugintoggles();
        void update_scrollbars(int flush);
-       void draw_canvas(int mode, int hide_cursor);
+       void draw_canvas(int redraw, int hide_cursor);
        void flash_canvas(int flush);
        int show_window(int flush=1);
        void deactivate_timeline();
index c55f6228d81752d65f35f8e07d82d2be42c5ccf1..5fafa512531adca4235df57462a9b09614ae0d4d 100644 (file)
@@ -577,7 +577,7 @@ void MWindow::select_all()
                edl->local_session->set_selectionstart(0);
                edl->local_session->set_selectionend(edl->tracks->total_length());
        }
-       gui->update(0, 1, 1, 1, 0, 1, 0);
+       gui->update(0, NORMAL_DRAW, 1, 1, 0, 1, 0);
        gui->activate_timeline();
        cwindow->update(1, 0, 0, 0, 1);
        update_plugin_guis();
index f7f4c7e25846ee9b49cadb1783e3d0532a59b3dc..169ff60049ed24d843c783cb91fce92bfb4eb2ab 100644 (file)
@@ -254,7 +254,7 @@ void PatchGUI::toggle_behavior(int type,
                        break;
 
                case Tracks::DRAW:
-                       mwindow->gui->update(0, 1, 0, 0, 0, 0, 0);
+                       mwindow->gui->update(0, NORMAL_DRAW, 0, 0, 0, 0, 0);
                        break;
 
                case Tracks::EXPAND:
index ad964d52bbdef8801e530f21cf45d9d17b8599b9..89de2f99356d909f642cf41aee9d8dc5dbf53947 100644 (file)
@@ -175,14 +175,7 @@ void PluginDialogThread::handle_close_event(int result)
                        mwindow->restart_brender();
                        mwindow->update_plugin_states();
                        mwindow->sync_parameters(CHANGE_EDL);
-                       mwindow->gui->update(1,
-                               1,
-                               0,
-                               0,
-                               1,
-                               0,
-                               0);
-
+                       mwindow->gui->update(1, NORMAL_DRAW, 0, 0, 1, 0, 0);
                        mwindow->gui->unlock_window();
                }
        }
index 961f46b9e468e7d6af205067286da554565ccdcb..0421531a4997c6d58c8e2e0dcb3eccf4b838263d 100644 (file)
@@ -140,13 +140,7 @@ int PluginPopupDetach::handle_event()
 
 
        mwindow->gui->lock_window("PluginPopupDetach::handle_event");
-       mwindow->gui->update(0,
-               1,
-               0,
-               0,
-               0,
-               0,
-               0);
+       mwindow->gui->update(0, NORMAL_DRAW, 0, 0, 0, 0, 0);
        mwindow->gui->unlock_window();
        mwindow->restart_brender();
        mwindow->sync_parameters(CHANGE_EDL);
@@ -217,7 +211,7 @@ PluginPopupShow::~PluginPopupShow()
 int PluginPopupShow::handle_event()
 {
        mwindow->show_plugin(popup->plugin);
-       mwindow->gui->update(0, 1, 0, 0, 0, 0, 0);
+       mwindow->gui->update(0, NORMAL_DRAW, 0, 0, 0, 0, 0);
        return 1;
 }
 
@@ -238,7 +232,7 @@ PluginPopupOn::~PluginPopupOn()
 int PluginPopupOn::handle_event()
 {
        popup->plugin->on = !get_checked();
-       mwindow->gui->update(0, 1, 0, 0, 0, 0, 0);
+       mwindow->gui->update(0, NORMAL_DRAW, 0, 0, 0, 0, 0);
        mwindow->restart_brender();
        mwindow->sync_parameters(CHANGE_EDL);
        return 1;
index 31bd5b8a2893808d0008f97b639070aaf9946517..28b5ecc37c4975ec1b0c7972f097c92b006d58bb 100644 (file)
@@ -329,7 +329,7 @@ int PreferencesThread::apply_settings()
        if(redraw_times)
        {
                mwindow->gui->lock_window("PreferencesThread::apply_settings 3");
-               mwindow->gui->update(0, 0, 1, 0, 0, 1, 0);
+               mwindow->gui->update(0, NO_DRAW, 1, 0, 0, 1, 0);
                mwindow->gui->redraw_time_dependancies();
                mwindow->gui->unlock_window();
        }
index 96ec0f8236284bd5a88f6fa504dd728d3e6ec89d..76990e67d52f56d58db019917af676e88898cf17 100644 (file)
@@ -432,7 +432,7 @@ void Record::run()
                        mwindow->undo->update_undo_after(_("record"), LOAD_ALL);
                        mwindow->restart_brender();
                        mwindow->update_plugin_guis();
-                       mwindow->gui->update(1, 2, 1, 1, 1, 1, 0);
+                       mwindow->gui->update(1, FORCE_REDRAW, 1, 1, 1, 1, 0);
                        mwindow->sync_parameters(CHANGE_ALL);
                }
                mwindow->gui->unlock_window();
index e7b3e12d54b3dafc3ca942a31ab9b19ef8853a14..7bfb1f768beee8bf890ea537f187264684522a8b 100644 (file)
@@ -948,13 +948,7 @@ if(debug) printf("Render::render %d\n", __LINE__);
 if(debug) printf("Render::render %d\n", __LINE__);
                mwindow->update_plugin_guis();
 if(debug) printf("Render::render %d\n", __LINE__);
-               mwindow->gui->update(1,
-                       2,
-                       1,
-                       1,
-                       1,
-                       1,
-                       0);
+               mwindow->gui->update(1, FORCE_REDRAW, 1, 1, 1, 1, 0);
 if(debug) printf("Render::render %d\n", __LINE__);
                mwindow->sync_parameters(CHANGE_ALL);
 if(debug) printf("Render::render %d\n", __LINE__);
index 70138be063718066ce11e5474bbb1849ca1e21ac..ae861e96f21d863fc417bd7f51222b04fc83fb3e 100644 (file)
@@ -270,8 +270,10 @@ void ResourceThread::stop_draw(int reset)
 
 //printf("ResourceThread::stop_draw %d %d\n", __LINE__, reset);
 //BC_Signals::dump_stack();
-               if(reset) items.remove_all_objects();
-               operation_count++;
+               if( reset ) {
+                       items.remove_all_objects();
+                       ++operation_count;
+               }
                item_lock->unlock();
                prev_x = -1;
                prev_h = 0;
@@ -757,7 +759,7 @@ void ResourceThread::do_audio(AResourceThreadItem *item)
                                        low);
                        if(timer->get_difference() > 250 || item->last)
                        {
-                               mwindow->gui->update(0, 3, 0, 0, 0, 0, 0);
+                               mwindow->gui->update(0, IGNORE_THREAD, 0, 0, 0, 0, 0);
                                timer->update();
                        }
                }
index 1604d8dbf371804fb36e6d1f938a256abc940e49..e7ab36c215c7986565ab6b949886ab267990413d 100644 (file)
@@ -461,7 +461,7 @@ int MWindow::paste_subtitle_text(char *text, double start, double end)
 
        sync_parameters(CHANGE_EDL);
        restart_brender();
-       gui->update(0, 1, 1, 0, 0, 0, 0);
+       gui->update(0, NORMAL_DRAW, 1, 0, 0, 0, 0);
        gui->unlock_window();
 
        return 0;
index 09455b84d58b7c927949f5e6e7fb345b934a9a72..466b5332edf0e771d06010e3282ba318c8c1947d 100644 (file)
@@ -288,15 +288,13 @@ void TimelinePane::update(int scrollbars,
        int patchbay)
 {
        if(timebar && this->timebar) this->timebar->update(0);
-       if(scrollbars)
-       {
+       if(scrollbars) {
                if(samplescroll && this->samplescroll) samplescroll->set_position();
                if(trackscroll && this->trackscroll) trackscroll->set_position();
        }
        if(patchbay && this->patchbay) this->patchbay->update();
 
-       if(do_canvas)
-       {
+       if( do_canvas != NO_DRAW ) {
                this->canvas->draw(do_canvas, 1);
                this->cursor->show();
                this->canvas->flash(0);
index b2510711fa2c4361a120e526a4473e8fc7f10d9a..c746de7149af56c417a8566ada27087bc2c60c4f 100644 (file)
@@ -144,7 +144,7 @@ void TrackCanvas::create_objects()
        pankeyframe_pixmap = new BC_Pixmap(this, mwindow->theme->pankeyframe_data, PIXMAP_ALPHA);
        projectorkeyframe_pixmap = new BC_Pixmap(this, mwindow->theme->projectorkeyframe_data, PIXMAP_ALPHA);
        maskkeyframe_pixmap = new BC_Pixmap(this, mwindow->theme->maskkeyframe_data, PIXMAP_ALPHA);
-       draw();
+       draw(NORMAL_DRAW, 1);
        update_cursor(0);
        flash(0);
 }
@@ -152,7 +152,7 @@ void TrackCanvas::create_objects()
 void TrackCanvas::resize_event()
 {
 //printf("TrackCanvas::resize_event 1\n");
-       draw(0, 0);
+       draw(NORMAL_DRAW, 0);
        flash(0);
 //printf("TrackCanvas::resize_event 2\n");
 }
@@ -650,7 +650,6 @@ void TrackCanvas::draw(int mode, int hide_cursor)
 {
        const int debug = 0;
 
-
 // Swap pixmap layers
        if(get_w() != background_pixmap->get_w() ||
                get_h() != background_pixmap->get_h())
@@ -699,7 +698,7 @@ void TrackCanvas::draw_indexes(Indexable *indexable)
 // Don't redraw raw samples
        if(index_state->index_zoom > mwindow->edl->local_session->zoom_sample)
                return;
-       draw_resources(0, 1, indexable);
+       draw_resources(NORMAL_DRAW, 1, indexable);
        draw_overlays();
        flash(0);
 }
index b42660c57bb1a29c26bb0a586bfbd5376b3b3b2f..d6787999d0f0ac1d8fb38cff9b0bfe006776ec3b 100644 (file)
 #include "resourcepixmap.inc"
 #include "timelinepane.inc"
 #include "track.inc"
+#include "trackcanvas.inc"
 #include "tracks.inc"
 #include "transitionhandles.inc"
 #include "keyframe.inc"
 
 #include <stdarg.h>
 
-// draw mode:
-// NORMAL_DRAW causes incremental drawing of pixmaps.  Used for navigation and index refresh.
-// FORCE_REDRAW causes all resource pixmaps to be redrawn from scratch.  Used by editing.
-// IGNORE_THREAD causes resource pixmaps to ignore picon thread.  Used by Piconthread.
-#define NORMAL_DRAW 1
-#define FORCE_REDRAW 2
-#define IGNORE_THREAD 3
-
 class TrackCanvas : public BC_SubWindow
 {
 public:
@@ -273,7 +266,7 @@ public:
        void update_transitions();
        void update_keyframe_handles(Track *track);
 // Draw everything to synchronize with the view.
-       void draw(int mode = 0, int hide_cursor = 1);
+       void draw(int mode, int hide_cursor);
 // Draw resources during index building
        void draw_indexes(Indexable *indexable);
 // Get location of edit on screen without boundary checking
index 8d31d86a9f4ea56f17cb0de0e3ab7565a47cbca1..96c6c8c5146f095c0e3411b2714a482182485aad 100644 (file)
@@ -27,4 +27,14 @@ class TrackCanvas;
 #define HANDLE_W 8
 #define HANDLE_H 8
 
+// draw mode:
+// NO_DRAW used in MWindowGUI/TimelinePane update to disable canvas update
+// NORMAL_DRAW causes incremental drawing of pixmaps.  Used for navigation and index refresh.
+// FORCE_REDRAW causes all resource pixmaps to be redrawn from scratch.  Used by editing.
+// IGNORE_THREAD causes resource pixmaps to ignore picon thread.  Used by Piconthread.
+#define NO_DRAW 0
+#define NORMAL_DRAW 1
+#define FORCE_REDRAW 2
+#define IGNORE_THREAD 3
+
 #endif
index 97e5eeb71ecd48e10446ad3a207a2d518182f6bd..c5d82b4b1cf32cfc7c8e0b4688f02421870a295d 100644 (file)
@@ -159,7 +159,7 @@ int TransitionLengthText::handle_event()
        {
                gui->thread->length = result;
                mwindow->gui->lock_window();
-               mwindow->gui->update(0, 1, 0, 0, 0, 0, 0);
+               mwindow->gui->update(0, NORMAL_DRAW, 0, 0, 0, 0, 0);
                mwindow->gui->unlock_window();
        }
 
index 206faf439739469ced7e843542cfcb52d385287a..6a2df1053020b2d227cbb14dc885d2e1841309cf 100644 (file)
@@ -43,7 +43,7 @@ int ShowAssets::handle_event()
 {
        set_checked(get_checked() ^ 1);
        mwindow->edl->session->show_assets = get_checked();
-       mwindow->gui->update(1, 1, 0, 0, 1, 0, 0);
+       mwindow->gui->update(1, NORMAL_DRAW, 0, 0, 1, 0, 0);
        mwindow->gui->unlock_window();
        mwindow->gwindow->gui->update_toggles(1);
        mwindow->gui->lock_window("ShowAssets::handle_event");
@@ -64,7 +64,7 @@ int ShowTitles::handle_event()
 {
        set_checked(get_checked() ^ 1);
        mwindow->edl->session->show_titles = get_checked();
-       mwindow->gui->update(1, 1, 0, 0, 1, 0, 0);
+       mwindow->gui->update(1, NORMAL_DRAW, 0, 0, 1, 0, 0);
        mwindow->gui->unlock_window();
        mwindow->gwindow->gui->update_toggles(1);
        mwindow->gui->lock_window("ShowTitles::handle_event");