mixer
[goodguy/history.git] / cinelerra-5.1 / cinelerra / vpatchgui.h
index 4d791e89f7ab05e426e50a786761e54f40d88bf8..d071fb00d84fdb4983181040d55de96d237147df 100644 (file)
@@ -22,6 +22,8 @@
 #ifndef VPATCHGUI_H
 #define VPATCHGUI_H
 
+#include "bcmenuitem.h"
+#include "bcmenupopup.h"
 #include "floatauto.inc"
 #include "guicast.h"
 #include "patchgui.h"
@@ -57,20 +59,40 @@ public:
        VFadePatch(MWindow *mwindow, VPatchGUI *patch, int x, int y, int w);
        int handle_event();
        float update_edl();
-       static FloatAuto* get_keyframe(MWindow *mwindow, VPatchGUI *patch);
        MWindow *mwindow;
        VPatchGUI *patch;
 };
 
+class VKeyFadePatch : public BC_SubWindow
+{
+public:
+       VKeyFadePatch(MWindow *mwindow, VPatchGUI *patch, int x, int y);
+       void create_objects();
+
+       MWindow *mwindow;
+       VPatchGUI *patch;
+       VKeyFadeValue *vkey_fade_value;
+};
+
+class VKeyFadeValue : public VFadePatch
+{
+public:
+       VKeyFadeValue(VKeyFadePatch *vkey_fade_patch);
+       int button_release_event();
+       int handle_event();
+
+       VKeyFadePatch *vkey_fade_patch;
+};
+
 class VModePatch : public BC_PopupMenu
 {
 public:
        VModePatch(MWindow *mwindow, VPatchGUI *patch, int x, int y);
+       VModePatch(MWindow *mwindow, VPatchGUI *patch);
 
        int handle_event();
        void create_objects();         // add initial items
        static const char* mode_to_text(int mode);
-       static IntAuto* get_keyframe(MWindow *mwindow, VPatchGUI *patch);
        void update(int mode);
 
        MWindow *mwindow;
@@ -88,5 +110,39 @@ public:
        int mode;
 };
 
+class VModePatchSubMenu : public BC_SubMenu
+{
+public:
+       VModePatchSubMenu(VModePatchItem *mode_item);
+       ~VModePatchSubMenu();
+
+       VModePatchItem *mode_item;
+};
+
+class VModeSubMenuItem : public BC_MenuItem
+{
+public:
+       VModeSubMenuItem(VModePatchSubMenu *submenu, const char *text, int mode);
+       ~VModeSubMenuItem();
+
+       int handle_event();
+       VModePatchSubMenu *submenu;
+       int mode;
+};
+
+class VKeyModePatch : public VModePatch
+{
+public:
+       VKeyModePatch(MWindow *mwindow, VPatchGUI *patch);
+       int button_release_event();
+       int handle_event();
+};
+
+class VMixPatch : public MixPatch
+{
+public:
+       VMixPatch(MWindow *mwindow, VPatchGUI *patch, int x, int y);
+       ~VMixPatch();
+};
 
 #endif