/*
* 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:
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;
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;
};
KeyframePopupShow(MWindow *mwindow, KeyframePopup *popup);
~KeyframePopupShow();
int handle_event();
-
+
MWindow *mwindow;
KeyframePopup *popup;
};
KeyframePopupCopy(MWindow *mwindow, KeyframePopup *popup);
~KeyframePopupCopy();
int handle_event();
-
+
MWindow *mwindow;
KeyframePopup *popup;
};
int curve_mode;
const char* get_labeltext(int);
void toggle_mode(FloatAuto*);
-
+
friend class KeyframePopup;
};
-
+
class KeyframePopupEdit : public BC_MenuItem
{
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