Credit Andrew - fix vorbis audio which was scratchy and ensure aging plugin does...
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / keyframepopup.h
index 22d014af6d538becd704dfcc0f70f4b37e19e657..6c4156e211b1875e793643acac5a139d6e19ba7a 100644 (file)
@@ -2,6 +2,7 @@
 /*
  * CINELERRA
  * Copyright (C) 2008 Adam Williams <broadcast at earthling dot net>
+ * Copyright (C) 2003-2016 Cinelerra CV contributors
  *
  * 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
@@ -55,6 +56,7 @@ public:
        Automation *keyframe_automation;
        Auto *keyframe_auto;
        BC_MenuItem *key_mbar;
+       int popx, popy;
 
 private:
        KeyframePopupDelete *key_delete;
@@ -66,6 +68,7 @@ private:
        KeyframePopupCurveMode *key_linear;
        KeyframePopupCurveMode *key_free_t;
        KeyframePopupCurveMode *key_free;
+       KeyframePopupCurveMode *key_bump;
        bool key_edit_displayed;
        bool key_mode_displayed;
 
@@ -192,18 +195,23 @@ public:
 class KeySpeedPatch : public BC_SubWindow
 {
 public:
-       KeySpeedPatch(MWindow *mwindow, PatchGUI *patch, int x, int y);
+       KeySpeedPatch(MWindow *mwindow, PatchGUI *gui,
+                       int bump, int x, int y);
+       ~KeySpeedPatch();
        void create_objects();
        void update(float v);
+       void set_edge(int edge);
+       void set_span(int span);
        void update_speed(float v);
-       int cursor_enter_event();
-       int cursor_leave_event();
 
        MWindow *mwindow;
-       PatchGUI *patch;
+       PatchGUI *gui;
        KeySpeedSlider *key_speed_slider;
        KeySpeedText *key_speed_text;
        KeySpeedOK *key_speed_ok;
+       KeySpeedAutoEdge *auto_edge;
+       KeySpeedAutoSpan *auto_span;
+       int need_undo;
 };
 
 class KeySpeedOK : public BC_Button
@@ -236,4 +244,22 @@ public:
        KeySpeedPatch *key_speed_patch;
 };
 
+class KeySpeedAutoEdge : public BC_Toggle
+{
+public:
+       KeySpeedAutoEdge(MWindow *mwindow, KeySpeedPatch *patch, int x, int y);
+       int handle_event();
+       MWindow *mwindow;
+       KeySpeedPatch *patch;
+};
+
+class KeySpeedAutoSpan : public BC_Toggle
+{
+public:
+       KeySpeedAutoSpan(MWindow *mwindow, KeySpeedPatch *patch, int x, int y);
+       int handle_event();
+       MWindow *mwindow;
+       KeySpeedPatch *patch;
+};
+
 #endif