X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fmainmenu.C;h=a36efccec6a2cb0bcb11a329e8cec5d5e129c666;hb=38cb4182e11e57fc426bede3825e825e9d61433b;hp=cf119d61f749a318de7adb611b517f1a28842bb1;hpb=21c2e6b36d6a96c2f662a89459d607b5a387f4eb;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/cinelerra/mainmenu.C b/cinelerra-5.1/cinelerra/mainmenu.C index cf119d61..a36efcce 100644 --- a/cinelerra-5.1/cinelerra/mainmenu.C +++ b/cinelerra-5.1/cinelerra/mainmenu.C @@ -60,6 +60,7 @@ #include "patchbay.h" #include "playbackengine.h" #include "preferences.h" +#include "proxy.h" #include "preferencesthread.h" #include "quit.h" #include "record.h" @@ -203,6 +204,9 @@ void MainMenu::create_objects() settingsmenu->add_item(new SetFormat(mwindow)); settingsmenu->add_item(preferences = new PreferencesMenuitem(mwindow)); + ProxyMenuItem *proxy; + settingsmenu->add_item(proxy = new ProxyMenuItem(mwindow)); + proxy->create_objects(); mwindow->preferences_thread = preferences->thread; settingsmenu->add_item(labels_follow_edits = new LabelsFollowEdits(mwindow)); settingsmenu->add_item(plugins_follow_edits = new PluginsFollowEdits(mwindow)); @@ -212,7 +216,7 @@ void MainMenu::create_objects() settingsmenu->add_item(new BC_MenuItem("-")); settingsmenu->add_item(new SaveSettingsNow(mwindow)); settingsmenu->add_item(loop_playback = new LoopPlayback(mwindow)); - settingsmenu->add_item(new SetBRenderRange(mwindow)); + settingsmenu->add_item(brender_active = new SetBRenderActive(mwindow)); // set scrubbing speed // ScrubSpeed *scrub_speed; // settingsmenu->add_item(scrub_speed = new ScrubSpeed(mwindow)); @@ -616,7 +620,8 @@ Undo::Undo(MWindow *mwindow) : BC_MenuItem(_("Undo"), "z", 'z') } int Undo::handle_event() { - mwindow->undo_entry(mwindow->gui); + if( mwindow->session->current_operation == NO_OPERATION ) + mwindow->undo_entry(mwindow->gui); return 1; } int Undo::update_caption(const char *new_caption) @@ -636,8 +641,8 @@ Redo::Redo(MWindow *mwindow) : BC_MenuItem(_("Redo"), _("Shift-Z"), 'Z') int Redo::handle_event() { - mwindow->redo_entry(mwindow->gui); - + if( mwindow->session->current_operation == NO_OPERATION ) + mwindow->redo_entry(mwindow->gui); return 1; } int Redo::update_caption(const char *new_caption) @@ -657,7 +662,8 @@ CutKeyframes::CutKeyframes(MWindow *mwindow) int CutKeyframes::handle_event() { - mwindow->cut_automation(); + if( mwindow->session->current_operation == NO_OPERATION ) + mwindow->cut_automation(); return 1; } @@ -670,7 +676,8 @@ CopyKeyframes::CopyKeyframes(MWindow *mwindow) int CopyKeyframes::handle_event() { - mwindow->copy_automation(); + if( mwindow->session->current_operation == NO_OPERATION ) + mwindow->copy_automation(); return 1; } @@ -683,7 +690,8 @@ PasteKeyframes::PasteKeyframes(MWindow *mwindow) int PasteKeyframes::handle_event() { - mwindow->paste_automation(); + if( mwindow->session->current_operation == NO_OPERATION ) + mwindow->paste_automation(); return 1; } @@ -696,7 +704,8 @@ ClearKeyframes::ClearKeyframes(MWindow *mwindow) int ClearKeyframes::handle_event() { - mwindow->clear_automation(); + if( mwindow->session->current_operation == NO_OPERATION ) + mwindow->clear_automation(); return 1; } @@ -799,7 +808,8 @@ CutDefaultKeyframe::CutDefaultKeyframe(MWindow *mwindow) int CutDefaultKeyframe::handle_event() { - mwindow->cut_default_keyframe(); + if( mwindow->session->current_operation == NO_OPERATION ) + mwindow->cut_default_keyframe(); return 1; } @@ -812,7 +822,8 @@ CopyDefaultKeyframe::CopyDefaultKeyframe(MWindow *mwindow) int CopyDefaultKeyframe::handle_event() { - mwindow->copy_default_keyframe(); + if( mwindow->session->current_operation == NO_OPERATION ) + mwindow->copy_default_keyframe(); return 1; } @@ -825,7 +836,8 @@ PasteDefaultKeyframe::PasteDefaultKeyframe(MWindow *mwindow) int PasteDefaultKeyframe::handle_event() { - mwindow->paste_default_keyframe(); + if( mwindow->session->current_operation == NO_OPERATION ) + mwindow->paste_default_keyframe(); return 1; } @@ -838,7 +850,8 @@ ClearDefaultKeyframe::ClearDefaultKeyframe(MWindow *mwindow) int ClearDefaultKeyframe::handle_event() { - mwindow->clear_default_keyframe(); + if( mwindow->session->current_operation == NO_OPERATION ) + mwindow->clear_default_keyframe(); return 1; } @@ -850,7 +863,8 @@ Cut::Cut(MWindow *mwindow) int Cut::handle_event() { - mwindow->cut(); + if( mwindow->session->current_operation == NO_OPERATION ) + mwindow->cut(); return 1; } @@ -862,7 +876,8 @@ Copy::Copy(MWindow *mwindow) int Copy::handle_event() { - mwindow->copy(); + if( mwindow->session->current_operation == NO_OPERATION ) + mwindow->copy(); return 1; } @@ -874,7 +889,8 @@ Paste::Paste(MWindow *mwindow) int Paste::handle_event() { - mwindow->paste(); + if( mwindow->session->current_operation == NO_OPERATION ) + mwindow->paste(); return 1; } @@ -886,9 +902,11 @@ Clear::Clear(MWindow *mwindow) int Clear::handle_event() { - mwindow->cwindow->gui->lock_window("Clear::handle_event"); - mwindow->clear_entry(); - mwindow->cwindow->gui->unlock_window(); + if( mwindow->session->current_operation == NO_OPERATION ) { + mwindow->cwindow->gui->lock_window("Clear::handle_event"); + mwindow->clear_entry(); + mwindow->cwindow->gui->unlock_window(); + } return 1; } @@ -901,7 +919,8 @@ PasteSilence::PasteSilence(MWindow *mwindow) int PasteSilence::handle_event() { - mwindow->paste_silence(); + if( mwindow->session->current_operation == NO_OPERATION ) + mwindow->paste_silence(); return 1; } @@ -913,7 +932,8 @@ SelectAll::SelectAll(MWindow *mwindow) int SelectAll::handle_event() { - mwindow->select_all(); + if( mwindow->session->current_operation == NO_OPERATION ) + mwindow->select_all(); return 1; } @@ -959,7 +979,8 @@ MuteSelection::MuteSelection(MWindow *mwindow) int MuteSelection::handle_event() { - mwindow->mute_selection(); + if( mwindow->session->current_operation == NO_OPERATION ) + mwindow->mute_selection(); return 1; } @@ -997,7 +1018,8 @@ AddAudioTrack::AddAudioTrack(MWindow *mwindow) int AddAudioTrack::handle_event() { - mwindow->add_audio_track_entry(0, 0); + if( mwindow->session->current_operation == NO_OPERATION ) + mwindow->add_audio_track_entry(0, 0); return 1; } @@ -1020,7 +1042,8 @@ DefaultATransition::DefaultATransition(MWindow *mwindow) int DefaultATransition::handle_event() { - mwindow->paste_audio_transition(); + if( mwindow->session->current_operation == NO_OPERATION ) + mwindow->paste_audio_transition(); return 1; } @@ -1064,7 +1087,8 @@ AddVideoTrack::AddVideoTrack(MWindow *mwindow) int AddVideoTrack::handle_event() { - mwindow->add_video_track_entry(); + if( mwindow->session->current_operation == NO_OPERATION ) + mwindow->add_video_track_entry(); return 1; } @@ -1104,7 +1128,8 @@ DefaultVTransition::DefaultVTransition(MWindow *mwindow) int DefaultVTransition::handle_event() { - mwindow->paste_video_transition(); + if( mwindow->session->current_operation == NO_OPERATION ) + mwindow->paste_video_transition(); return 1; } @@ -1143,7 +1168,8 @@ DeleteTrack::DeleteTrack(MWindow *mwindow) int DeleteTrack::handle_event() { - mwindow->delete_track(); + if( mwindow->session->current_operation == NO_OPERATION ) + mwindow->delete_track(); return 1; } @@ -1155,7 +1181,8 @@ MoveTracksUp::MoveTracksUp(MWindow *mwindow) int MoveTracksUp::handle_event() { - mwindow->move_tracks_up(); + if( mwindow->session->current_operation == NO_OPERATION ) + mwindow->move_tracks_up(); return 1; } @@ -1167,7 +1194,8 @@ MoveTracksDown::MoveTracksDown(MWindow *mwindow) int MoveTracksDown::handle_event() { - mwindow->move_tracks_down(); + if( mwindow->session->current_operation == NO_OPERATION ) + mwindow->move_tracks_down(); return 1; } @@ -1201,8 +1229,10 @@ LoopPlayback::LoopPlayback(MWindow *mwindow) int LoopPlayback::handle_event() { - mwindow->toggle_loop_playback(); - set_checked(mwindow->edl->local_session->loop_playback); + if( mwindow->session->current_operation == NO_OPERATION ) { + mwindow->toggle_loop_playback(); + set_checked(mwindow->edl->local_session->loop_playback); + } return 1; } @@ -1220,7 +1250,8 @@ AddSubttlTrack::AddSubttlTrack(MWindow *mwindow) int AddSubttlTrack::handle_event() { - mwindow->add_subttl_track_entry(); + if( mwindow->session->current_operation == NO_OPERATION ) + mwindow->add_subttl_track_entry(); return 1; } @@ -1232,33 +1263,30 @@ PasteSubttl::PasteSubttl(MWindow *mwindow) int PasteSubttl::handle_event() { - mwindow->gui->swindow->paste_subttl(); + if( mwindow->session->current_operation == NO_OPERATION ) + mwindow->gui->swindow->paste_subttl(); return 1; } - - - - -SetBRenderRange::SetBRenderRange(MWindow *mwindow) - : BC_MenuItem(_("Set background rendering")) +SetBRenderActive::SetBRenderActive(MWindow *mwindow) + : BC_MenuItem(_("Toggle background rendering"),_("Shift-G"),'G') { this->mwindow = mwindow; + set_shift(1); } -int SetBRenderRange::handle_event() +int SetBRenderActive::handle_event() { - mwindow->set_brender_range(); + if( mwindow->session->current_operation == NO_OPERATION ) { + int v = mwindow->brender_active ? 0 : 1; + set_checked(v); + mwindow->set_brender_active(v); + } return 1; } - - - - - LabelsFollowEdits::LabelsFollowEdits(MWindow *mwindow) : BC_MenuItem(_("Edit labels")) { @@ -1425,11 +1453,13 @@ ShowGWindow::ShowGWindow(MWindow *mwindow) } int ShowGWindow::handle_event() { - if( !mwindow->session->show_gwindow ) - mwindow->show_gwindow(); - else - mwindow->hide_gwindow(); - set_checked(mwindow->session->show_gwindow); + if( mwindow->session->current_operation == NO_OPERATION ) { + if( !mwindow->session->show_gwindow ) + mwindow->show_gwindow(); + else + mwindow->hide_gwindow(); + set_checked(mwindow->session->show_gwindow); + } return 1; } @@ -1456,11 +1486,13 @@ TileWindows::TileWindows(MWindow *mwindow, const char *item_title, int config, } int TileWindows::handle_event() { - int window_config = config >= 0 ? config : - mwindow->session->window_config; - if( mwindow->tile_windows(window_config) ) { - mwindow->restart_status = 1; - mwindow->gui->set_done(0); + if( mwindow->session->current_operation == NO_OPERATION ) { + int window_config = config >= 0 ? config : + mwindow->session->window_config; + if( mwindow->tile_windows(window_config) ) { + mwindow->restart_status = 1; + mwindow->gui->set_done(0); + } } return 1; } @@ -1474,7 +1506,8 @@ SplitX::SplitX(MWindow *mwindow) } int SplitX::handle_event() { - mwindow->split_x(); + if( mwindow->session->current_operation == NO_OPERATION ) + mwindow->split_x(); return 1; } @@ -1487,7 +1520,8 @@ SplitY::SplitY(MWindow *mwindow) } int SplitY::handle_event() { - mwindow->split_y(); + if( mwindow->session->current_operation == NO_OPERATION ) + mwindow->split_y(); return 1; }