cin_db Makefile tweak, awdw vicon stop draw lock rework,
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / mainmenu.C
index 0ec9cf672a87ab07dcbd6ca213c6b685b1a06080..72b9b68bc9535d20c4d2fcbc81266db10912a27a 100644 (file)
@@ -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;
 }
 
@@ -1643,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()
@@ -1738,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)