add save project feature, shortcuts update
[goodguy/history.git] / cinelerra-5.1 / cinelerra / mainmenu.C
index a3fb40385fab857918ea6a0f5c68a81f9b670a5e..1deb52a11e3f7dba190ad553543cb31a788dda7e 100644 (file)
@@ -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"
@@ -97,7 +98,7 @@ void MainMenu::create_objects()
        total_loads = 0;
 
        add_menu(filemenu = new BC_Menu(_("File")));
-       filemenu->add_item(new_project = new New(mwindow));
+       filemenu->add_item(new_project = new NewProject(mwindow));
        new_project->create_objects();
 
 // file loaders
@@ -111,12 +112,17 @@ void MainMenu::create_objects()
        filemenu->add_item(saveas = new SaveAs(mwindow));
        save->create_objects(saveas);
        saveas->set_mainmenu(this);
+       SaveProject *save_project;
+       filemenu->add_item(save_project = new SaveProject(mwindow));
+
        filemenu->add_item(record_menu_item = new RecordMenuItem(mwindow));
 #ifdef HAVE_DVB
        filemenu->add_item(new ChannelScan(mwindow));
 #endif
+#ifdef HAVE_COMMERCIAL
        if( mwindow->has_commercials() )
                filemenu->add_item(new DbWindowScan(mwindow));
+#endif
        filemenu->add_item(new SubttlSWin(mwindow));
 
        filemenu->add_item(render = new RenderItem(mwindow));
@@ -197,12 +203,18 @@ void MainMenu::create_objects()
        trackmenu->add_item(new DeleteTracks(mwindow));
        trackmenu->add_item(new DeleteTrack(mwindow));
        trackmenu->add_item(new ConcatenateTracks(mwindow));
+       AppendTracks *append_tracks;
+       trackmenu->add_item(append_tracks = new AppendTracks(mwindow));
+       append_tracks->create_objects();
        trackmenu->add_item(new AddSubttlTrack(mwindow));
 
        add_menu(settingsmenu = new BC_Menu(_("Settings")));
 
        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));
@@ -252,6 +264,8 @@ void MainMenu::create_objects()
        windowmenu->add_item(new BC_MenuItem("-"));
        windowmenu->add_item(split_x = new SplitX(mwindow));
        windowmenu->add_item(split_y = new SplitY(mwindow));
+       windowmenu->add_item(mixer_viewer = new MixerViewer(mwindow));
+       windowmenu->add_item(new TileMixers(mwindow));
        windowmenu->add_item(new TileWindows(mwindow,_("Default positions"),-1,_("Ctrl-P"),'p'));
        windowmenu->add_item(new TileWindows(mwindow,_("Tile left"),0));
        windowmenu->add_item(new TileWindows(mwindow,_("Tile right"),1));
@@ -852,7 +866,7 @@ int ClearDefaultKeyframe::handle_event()
 }
 
 Cut::Cut(MWindow *mwindow)
- : BC_MenuItem(_("Cut"), "x", 'x')
+ : BC_MenuItem(_("Split | Cut"), "x", 'x')
 {
        this->mwindow = mwindow;
 }
@@ -1522,3 +1536,29 @@ int SplitY::handle_event()
 }
 
 
+MixerViewer::MixerViewer(MWindow *mwindow)
+ : BC_MenuItem(_("Mixer Viewer"), _("Shift-M"), 'M')
+{
+       this->mwindow = mwindow;
+       set_shift(1);
+}
+
+int MixerViewer::handle_event()
+{
+       mwindow->start_mixer();
+       return 1;
+}
+
+TileMixers::TileMixers(MWindow *mwindow)
+ : BC_MenuItem(_("Tile mixers"), "Alt-t", 't')
+{
+       this->mwindow = mwindow;
+       set_alt();
+}
+
+int TileMixers::handle_event()
+{
+       mwindow->tile_mixers();
+       return 1;
+}
+