mixer
[goodguy/history.git] / cinelerra-5.1 / cinelerra / keyframepopup.h
index 21df4abdc8365878c4a3b23323ff458674595590..99220c94b5abfb4d197b3da938090ff623dbd224 100644 (file)
@@ -2,38 +2,40 @@
 /*
  * CINELERRA
  * Copyright (C) 2008 Adam Williams <broadcast at earthling dot net>
- * 
+ *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
  * the Free Software Foundation; either version 2 of the License, or
  * (at your option) any later version.
- * 
+ *
  * This program is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  * GNU General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- * 
+ *
  */
 
 #ifndef KEYFRAMEPOPUP_H
 #define KEYFRAMEPOPUP_H
 
+#include "apatchgui.h"
 #include "guicast.h"
 #include "mwindow.inc"
 #include "mwindowgui.inc"
+#include "patchgui.inc"
 #include "plugin.inc"
 #include "plugindialog.inc"
 #include "keyframe.inc"
 #include "keyframepopup.inc"
-#include "automation.h" 
+#include "automation.h"
 #include "floatauto.h"
 
 
+
 class KeyframePopup : public BC_PopupMenu
 {
 public:
@@ -47,15 +49,16 @@ public:
        MWindow *mwindow;
        MWindowGUI *gui;
 // Acquired through the update command as the plugin currently being operated on
-       
+
        Plugin *keyframe_plugin;
        Autos *keyframe_autos;
        Automation *keyframe_automation;
        Auto *keyframe_auto;
        BC_MenuItem *key_mbar;
 
-private:       
+private:
        KeyframePopupDelete *key_delete;
+       KeyframePopupHide *key_hide;
        KeyframePopupShow *key_show;
        KeyframePopupCopy *key_copy;
        KeyframePopupEdit *key_edit;
@@ -75,7 +78,18 @@ public:
        KeyframePopupDelete(MWindow *mwindow, KeyframePopup *popup);
        ~KeyframePopupDelete();
        int handle_event();
-       
+
+       MWindow *mwindow;
+       KeyframePopup *popup;
+};
+
+class KeyframePopupHide : public BC_MenuItem
+{
+public:
+       KeyframePopupHide(MWindow *mwindow, KeyframePopup *popup);
+       ~KeyframePopupHide();
+       int handle_event();
+
        MWindow *mwindow;
        KeyframePopup *popup;
 };
@@ -86,7 +100,7 @@ public:
        KeyframePopupShow(MWindow *mwindow, KeyframePopup *popup);
        ~KeyframePopupShow();
        int handle_event();
-       
+
        MWindow *mwindow;
        KeyframePopup *popup;
 };
@@ -97,7 +111,7 @@ public:
        KeyframePopupCopy(MWindow *mwindow, KeyframePopup *popup);
        ~KeyframePopupCopy();
        int handle_event();
-       
+
        MWindow *mwindow;
        KeyframePopup *popup;
 };
@@ -115,11 +129,11 @@ private:
        int curve_mode;
        const char* get_labeltext(int);
        void toggle_mode(FloatAuto*);
-    
+
 friend class KeyframePopup;
 };
 
+
 class KeyframePopupEdit : public BC_MenuItem
 {
 public:
@@ -144,14 +158,60 @@ public:
        Autos *keyframe_autos;
 };
 
-class KeyframePopupHide : public BC_MenuItem
+class KeyframeHideItem : public BC_MenuItem
 {
 public:
-       KeyframePopupHide(MWindow *mwindow, KeyframeHidePopup *popup);
+       KeyframeHideItem(MWindow *mwindow, KeyframeHidePopup *popup);
        int handle_event();
 
        MWindow *mwindow;
        KeyframeHidePopup *popup;
 };
 
+class KeyMutePatch : public BC_SubWindow
+{
+public:
+       KeyMutePatch(MWindow *mwindow, PatchGUI *patch, int x, int y);
+       void create_objects();
+
+       MWindow *mwindow;
+       PatchGUI *patch;
+       KeyMuteValue *key_mute_checkbox;
+};
+
+class KeyMuteValue : public BC_CheckBox
+{
+public:
+       KeyMuteValue(KeyMutePatch *key_mute_patch);
+       void update_edl();
+       int button_release_event();
+       int handle_event();
+
+       KeyMutePatch *key_mute_patch;
+};
+
+class KeySpeedPatch : public BC_SubWindow
+{
+public:
+       KeySpeedPatch(MWindow *mwindow, PatchGUI *patch, int x, int y);
+       void create_objects();
+
+       MWindow *mwindow;
+       PatchGUI *patch;
+       KeySpeedValue *key_speed_slider;
+};
+
+class KeySpeedValue : public BC_FSlider
+{
+public:
+       KeySpeedValue(KeySpeedPatch *key_speed_patch);
+       ~KeySpeedValue();
+
+       void update_edl();
+       int handle_event();
+       int button_release_event();
+
+       KeySpeedPatch *key_speed_patch;
+};
+
 #endif