X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fmainmenu.C;h=72b9b68bc9535d20c4d2fcbc81266db10912a27a;hb=3cbe62ca61e2b35d3e228978f6cdedd11218077f;hp=f616d26a12819b6bf650ddf79c4ae2c06949d457;hpb=1da768016a2ecba0296b03d75c02879f99a0f582;p=goodguy%2Fcinelerra.git diff --git a/cinelerra-5.1/cinelerra/mainmenu.C b/cinelerra-5.1/cinelerra/mainmenu.C index f616d26a..72b9b68b 100644 --- a/cinelerra-5.1/cinelerra/mainmenu.C +++ b/cinelerra-5.1/cinelerra/mainmenu.C @@ -209,6 +209,9 @@ void MainMenu::create_objects() trackmenu->add_item(new DeleteFirstTrack(mwindow)); trackmenu->add_item(new DeleteLastTrack(mwindow)); trackmenu->add_item(new ConcatenateTracks(mwindow)); + trackmenu->add_item(new AlignTimecodes(mwindow)); + trackmenu->add_item(new SwapTracksUp(mwindow)); + trackmenu->add_item(new SwapTracksDown(mwindow)); AppendTracks *append_tracks; trackmenu->add_item(append_tracks = new AppendTracks(mwindow)); append_tracks->create_objects(); @@ -1158,7 +1161,7 @@ AddVideoTrack::AddVideoTrack(MWindow *mwindow) int AddVideoTrack::handle_event() { if( mwindow->session->current_operation == NO_OPERATION ) - mwindow->add_video_track_entry(); + mwindow->add_video_track_entry(1, 0); return 1; } @@ -1290,6 +1293,34 @@ int MoveTracksDown::handle_event() } +SwapTracksUp::SwapTracksUp(MWindow *mwindow) + : BC_MenuItem(_("Swap tracks up"), 0, UP) +{ + this->mwindow = mwindow; + set_shift(); +} + +int SwapTracksUp::handle_event() +{ + if( mwindow->session->current_operation == NO_OPERATION ) + mwindow->swap_tracks_up(); + return 1; +} + +SwapTracksDown::SwapTracksDown(MWindow *mwindow) + : BC_MenuItem(_("Swap tracks down"), 0, DOWN) +{ + set_shift(); this->mwindow = mwindow; +} + +int SwapTracksDown::handle_event() +{ + if( mwindow->session->current_operation == NO_OPERATION ) + mwindow->swap_tracks_down(); + return 1; +} + + ConcatenateTracks::ConcatenateTracks(MWindow *mwindow) @@ -1341,7 +1372,7 @@ AddSubttlTrack::AddSubttlTrack(MWindow *mwindow) int AddSubttlTrack::handle_event() { if( mwindow->session->current_operation == NO_OPERATION ) - mwindow->add_subttl_track_entry(); + mwindow->add_subttl_track_entry(1, 0); return 1; } @@ -1509,7 +1540,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 +1554,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 +1568,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 +1585,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 +1605,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; } @@ -1633,6 +1674,7 @@ void MixerItems::create_objects() mixer_submenu->add_submenuitem(new MixerViewer(this)); mixer_submenu->add_submenuitem(new TileMixers(this)); mixer_submenu->add_submenuitem(new AlignMixers(this)); + mixer_submenu->add_submenuitem(new MixMasters(this)); } int MixerItems::activate_submenu() @@ -1674,7 +1716,9 @@ int MixerItem::handle_event() MWindow *mwindow = mixer_items->mwindow; Mixer *mixer = mwindow->edl->mixers.get_mixer(idx); if( !mixer ) return 0; - ZWindow *zwindow = mwindow->get_mixer(mixer); + ZWindow *zwindow = mwindow->get_mixer(idx); + if( !zwindow ) + zwindow = mwindow->get_mixer(mixer); if( !zwindow->zgui ) { zwindow->set_title(mixer->title); zwindow->start(); @@ -1726,6 +1770,31 @@ int AlignMixers::handle_event() return 1; } +MixMasters::MixMasters(MixerItems *mixer_items) + : MixerItem(mixer_items, _("Mix masters"), "", 0) +{ +} + +int MixMasters::handle_event() +{ + MWindow *mwindow = mixer_items->mwindow; + mwindow->mix_masters(); + return 1; +} + + +AlignTimecodes::AlignTimecodes(MWindow *mwindow) + : BC_MenuItem(_("Align Timecodes")) +{ + this->mwindow = mwindow; +} + +int AlignTimecodes::handle_event() +{ + mwindow->align_timecodes(); + return 1; +} + LoadLayoutItem::LoadLayoutItem(LoadLayout *load_layout, const char *text, int idx, int hotkey) : BC_MenuItem(text, "", hotkey)