switch move/swap tracks, add mv trk shortcut, update msg
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / mainmenu.h
index 9e0513cdb4cfa7c0af82b45137a1116307caa177..c9127fa8d72b50b8ca381f1e1371b183075fec8f 100644 (file)
@@ -141,6 +141,8 @@ public:
        int total_aeffects, total_veffects;
 
        KeyframeCurveType *keyframe_curve_type;
+       KeyframeCreate *keyframe_create;
+       SetAutomationCurveMode *set_auto_curves;
        LabelsFollowEdits *labels_follow_edits;
        PluginsFollowEdits *plugins_follow_edits;
        KeyframesFollowEdits *keyframes_follow_edits;
@@ -341,22 +343,34 @@ public:
        MWindow *mwindow;
 };
 
-class StraightenKeyframes : public BC_MenuItem
+
+class SetAutomationCurveItem : public BC_MenuItem
 {
 public:
-       StraightenKeyframes(MWindow *mwindow);
+       SetAutomationCurveItem(SetAutomationCurveMode *set_curve_mode, int id);
        int handle_event();
-       MWindow *mwindow;
+       SetAutomationCurveMode *set_curve_mode;
+       int id;
 };
 
-class BendKeyframes : public BC_MenuItem
+class SetAutoCurveModeMenu : public BC_SubMenu
 {
 public:
-       BendKeyframes(MWindow *mwindow);
-       int handle_event();
+       SetAutoCurveModeMenu(SetAutomationCurveMode *curve_mode);
+       SetAutomationCurveMode *curve_mode;
+};
+
+class SetAutomationCurveMode : public BC_MenuItem
+{
+public:
+       SetAutomationCurveMode(MWindow *mwindow);
+       void create_objects();
+
        MWindow *mwindow;
+       SetAutoCurveModeMenu *curve_mode_menu;
 };
 
+
 class KeyframeCurveType : public BC_MenuItem
 {
 public:
@@ -392,6 +406,34 @@ public:
        int handle_event();
 };
 
+class KeyframeCreateItem : public BC_MenuItem
+{
+public:
+       KeyframeCreateItem(KeyframeCreate *keyframe_create, const char *text, int mask);
+       int handle_event();
+
+       KeyframeCreate *keyframe_create;
+       int mask;
+};
+
+class KeyframeCreateMenu : public BC_SubMenu
+{
+public:
+       KeyframeCreateMenu(KeyframeCreate *keyframe_create);
+       KeyframeCreate *keyframe_create;
+};
+
+class KeyframeCreate : public BC_MenuItem
+{
+public:
+       KeyframeCreate(MWindow *mwindow);
+       void create_objects();
+
+       MWindow *mwindow;
+       KeyframeCreateMenu *keyframe_create_menu;
+};
+
+
 class CutDefaultKeyframe : public BC_MenuItem
 {
 public:
@@ -501,29 +543,54 @@ class MixerItems : public BC_MenuItem
 public:
        MixerItems(MWindow *mwindow);
        void create_objects();
+       int activate_submenu();
+
        MWindow *mwindow;
 };
 
-class MixerViewer : public BC_MenuItem
+class MixerItem : public BC_MenuItem
 {
 public:
-       MixerViewer(MWindow *mwindow);
+       MixerItem(MixerItems *mixer_items, const char *text, int idx);
+       MixerItem(MixerItems *mixer_items, const char *text, const char *hotkey_text, int hotkey);
+       virtual int handle_event();
+
+       MixerItems *mixer_items;
+       int idx;
+};
+
+class MixerViewer : public MixerItem
+{
+public:
+       MixerViewer(MixerItems *mixer_items);
        int handle_event();
-       MWindow *mwindow;
 };
 
-class TileMixers : public BC_MenuItem
+class TileMixers : public MixerItem
 {
 public:
-       TileMixers(MWindow *mwindow);
+       TileMixers(MixerItems *mixer_items);
+       int handle_event();
+};
+
+class AlignMixers : public MixerItem
+{
+public:
+       AlignMixers(MixerItems *mixer_items);
+       int handle_event();
+};
+
+class MixMasters : public MixerItem
+{
+public:
+       MixMasters(MixerItems *mixer_items);
        int handle_event();
-       MWindow *mwindow;
 };
 
-class AlignMixers : public BC_MenuItem
+class AlignTimecodes : public BC_MenuItem
 {
 public:
-       AlignMixers(MWindow *mwindow);
+       AlignTimecodes(MWindow *mwindow);
        int handle_event();
        MWindow *mwindow;
 };
@@ -629,6 +696,22 @@ public:
 // ========================================== settings
 
 
+class RollTracksUp : public BC_MenuItem
+{
+public:
+       RollTracksUp(MWindow *mwindow);
+       int handle_event();
+       MWindow *mwindow;
+};
+
+class RollTracksDown : public BC_MenuItem
+{
+public:
+       RollTracksDown(MWindow *mwindow);
+       int handle_event();
+       MWindow *mwindow;
+};
+
 class MoveTracksUp : public BC_MenuItem
 {
 public: