X-Git-Url: https://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fmainmenu.C;h=061dd8c19f3c1f4d0e4669910efdf28663b7b4dc;hb=c9c0e07706fad701a70ee0d1ffb0fcb6304f138c;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..061dd8c1 100644 --- a/cinelerra-5.1/cinelerra/mainmenu.C +++ b/cinelerra-5.1/cinelerra/mainmenu.C @@ -209,6 +209,8 @@ 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 SwapTracksUp(mwindow)); + trackmenu->add_item(new SwapTracksDown(mwindow)); AppendTracks *append_tracks; trackmenu->add_item(append_tracks = new AppendTracks(mwindow)); append_tracks->create_objects(); @@ -280,6 +282,7 @@ void MainMenu::create_objects() windowmenu->add_item(split_x = new SplitX(mwindow)); windowmenu->add_item(split_y = new SplitY(mwindow)); windowmenu->add_item(mixer_items = new MixerItems(mwindow)); + windowmenu->add_item(align_timecodes = new AlignTimecodes(mwindow)); mixer_items->create_objects(); windowmenu->add_item(new TileWindows(mwindow,_("Tile left"),0)); windowmenu->add_item(new TileWindows(mwindow,_("Tile right"),1)); @@ -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; } @@ -1674,7 +1715,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(); @@ -1727,6 +1770,19 @@ int AlignMixers::handle_event() } +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) {