pop tool_gui on open, add camera/projector add_keyfrm/reset, overlay gui pan/mode...
authorGood Guy <good1.2guy@gmail.com>
Sun, 29 Sep 2019 23:51:56 +0000 (17:51 -0600)
committerGood Guy <good1.2guy@gmail.com>
Sun, 29 Sep 2019 23:51:56 +0000 (17:51 -0600)
61 files changed:
cinelerra-5.1/cinelerra/cwindowtool.C
cinelerra-5.1/cinelerra/cwindowtool.h
cinelerra-5.1/cinelerra/cwindowtool.inc
cinelerra-5.1/cinelerra/gwindowgui.C
cinelerra-5.1/cinelerra/tracksedit.C
cinelerra-5.1/guicast/bctextbox.C
cinelerra-5.1/guicast/bctextbox.h
cinelerra-5.1/plugins/theme_blond/blondtheme.C
cinelerra-5.1/plugins/theme_blond/data/keyframe.png
cinelerra-5.1/plugins/theme_blond/data/keyframe_dn.png [new file with mode: 0755]
cinelerra-5.1/plugins/theme_blond/data/keyframe_hi.png [new file with mode: 0755]
cinelerra-5.1/plugins/theme_blond/data/keyframe_up.png [new file with mode: 0755]
cinelerra-5.1/plugins/theme_blond_cv/blondcvtheme.C
cinelerra-5.1/plugins/theme_blond_cv/data/keyframe.png
cinelerra-5.1/plugins/theme_blond_cv/data/keyframe_dn.png [changed mode: 0644->0755]
cinelerra-5.1/plugins/theme_blond_cv/data/keyframe_hi.png [changed mode: 0644->0755]
cinelerra-5.1/plugins/theme_blond_cv/data/keyframe_up.png [changed mode: 0644->0755]
cinelerra-5.1/plugins/theme_blue/bluetheme.C
cinelerra-5.1/plugins/theme_blue/data/keyframe.png
cinelerra-5.1/plugins/theme_blue/data/keyframe_dn.png [new file with mode: 0755]
cinelerra-5.1/plugins/theme_blue/data/keyframe_hi.png [new file with mode: 0755]
cinelerra-5.1/plugins/theme_blue/data/keyframe_up.png [new file with mode: 0755]
cinelerra-5.1/plugins/theme_blue_dot/bluedottheme.C
cinelerra-5.1/plugins/theme_blue_dot/data/keyframe.png
cinelerra-5.1/plugins/theme_blue_dot/data/keyframe_dn.png [changed mode: 0644->0755]
cinelerra-5.1/plugins/theme_blue_dot/data/keyframe_hi.png [changed mode: 0644->0755]
cinelerra-5.1/plugins/theme_blue_dot/data/keyframe_up.png [changed mode: 0644->0755]
cinelerra-5.1/plugins/theme_bright/brighttheme.C
cinelerra-5.1/plugins/theme_bright/data/keyframe.png
cinelerra-5.1/plugins/theme_bright/data/keyframe_dn.png [new file with mode: 0755]
cinelerra-5.1/plugins/theme_bright/data/keyframe_hi.png [new file with mode: 0755]
cinelerra-5.1/plugins/theme_bright/data/keyframe_up.png [new file with mode: 0755]
cinelerra-5.1/plugins/theme_cakewalk/cakewalk.C
cinelerra-5.1/plugins/theme_cakewalk/data/keyframe.png [new file with mode: 0644]
cinelerra-5.1/plugins/theme_cakewalk/data/keyframe_dn.png [new file with mode: 0644]
cinelerra-5.1/plugins/theme_cakewalk/data/keyframe_hi.png [new file with mode: 0644]
cinelerra-5.1/plugins/theme_cakewalk/data/keyframe_up.png [new file with mode: 0644]
cinelerra-5.1/plugins/theme_hulk/data/keyframe.png
cinelerra-5.1/plugins/theme_hulk/data/keyframe_dn.png [new file with mode: 0755]
cinelerra-5.1/plugins/theme_hulk/data/keyframe_hi.png [new file with mode: 0755]
cinelerra-5.1/plugins/theme_hulk/data/keyframe_up.png [new file with mode: 0755]
cinelerra-5.1/plugins/theme_hulk/hulktheme.C
cinelerra-5.1/plugins/theme_neophyte/data/keyframe.png [new file with mode: 0644]
cinelerra-5.1/plugins/theme_neophyte/data/keyframe_dn.png [new file with mode: 0755]
cinelerra-5.1/plugins/theme_neophyte/data/keyframe_hi.png [new file with mode: 0755]
cinelerra-5.1/plugins/theme_neophyte/data/keyframe_up.png [new file with mode: 0755]
cinelerra-5.1/plugins/theme_neophyte/neophyte.C
cinelerra-5.1/plugins/theme_pinklady/data/keyframe.png
cinelerra-5.1/plugins/theme_pinklady/data/keyframe_dn.png [new file with mode: 0755]
cinelerra-5.1/plugins/theme_pinklady/data/keyframe_hi.png [new file with mode: 0755]
cinelerra-5.1/plugins/theme_pinklady/data/keyframe_up.png [new file with mode: 0755]
cinelerra-5.1/plugins/theme_pinklady/pinkladytheme.C
cinelerra-5.1/plugins/theme_suv/data/keyframe_dn.png [new file with mode: 0644]
cinelerra-5.1/plugins/theme_suv/data/keyframe_hi.png [new file with mode: 0644]
cinelerra-5.1/plugins/theme_suv/data/keyframe_up.png [new file with mode: 0644]
cinelerra-5.1/plugins/theme_suv/suv.C
cinelerra-5.1/plugins/theme_unflat/data/keyframe_dn.png [new file with mode: 0755]
cinelerra-5.1/plugins/theme_unflat/data/keyframe_hi.png [new file with mode: 0755]
cinelerra-5.1/plugins/theme_unflat/data/keyframe_up.png [new file with mode: 0755]
cinelerra-5.1/plugins/theme_unflat/unflattheme.C
cinelerra-5.1/plugins/titler/titlerwindow.C

index 8ba0e3b..88a524d 100644 (file)
@@ -133,6 +133,7 @@ void CWindowTool::start_tool(int operation)
                                mwindow->edl->session->tool_window = 1;
                                gui->composite_panel->operation[CWINDOW_TOOL_WINDOW]->update(1);
                        }
+                       mwindow->edl->session->tool_window = new_gui ? 1 : 0;
                        update_show_window();
 
 // Signal thread to run next tool GUI
@@ -861,6 +862,11 @@ void CWindowCameraGUI::create_objects()
        add_subwindow(button = new CWindowCameraCenter(mwindow, this, x1, y));
        x1 += button->get_w();
        add_subwindow(button = new CWindowCameraRight(mwindow, this, x1, y));
+// additional Buttons to control the curve mode of the "current" keyframe
+       x1 += button->get_w() + 15;
+       add_subwindow(this->t_smooth = new CWindowCurveToggle(Camera_Crv_Smooth, mwindow, this, x1, y));
+       x1 += button->get_w() + 10;
+       add_subwindow(this->t_linear = new CWindowCurveToggle(Camera_Crv_Linear, mwindow, this, x1, y));
 
        y += button->get_h();
        x1 = 10;
@@ -869,11 +875,10 @@ void CWindowCameraGUI::create_objects()
        add_subwindow(button = new CWindowCameraMiddle(mwindow, this, x1, y));
        x1 += button->get_w();
        add_subwindow(button = new CWindowCameraBottom(mwindow, this, x1, y));
-// additional Buttons to control the curve mode of the "current" keyframe
        x1 += button->get_w() + 15;
-       add_subwindow(this->t_smooth = new CWindowCurveToggle(Camera_Crv_Smooth, mwindow, this, x1, y));
-       x1 += button->get_w();
-       add_subwindow(this->t_linear = new CWindowCurveToggle(Camera_Crv_Linear, mwindow, this, x1, y));
+       add_subwindow(this->add_keyframe = new CWindowCameraAddKeyframe(mwindow, this, x1, y));
+       x1 += button->get_w() + 10;
+       add_subwindow(this->reset = new CWindowCameraReset(mwindow, this, x1, y));
 
 // fill in current auto keyframe values, set toggle states.
        this->update();
@@ -1193,6 +1198,34 @@ int CWindowCameraBottom::handle_event()
        return 1;
 }
 
+CWindowCameraAddKeyframe::CWindowCameraAddKeyframe(MWindow *mwindow,
+               CWindowToolGUI *gui, int x, int y)
+ : BC_Button(x, y, mwindow->theme->get_image_set("keyframe_button"))
+{
+       this->mwindow = mwindow;
+       this->gui = gui;
+       set_tooltip(_("Add Keyframe: Shift-F11"));
+}
+
+int CWindowCameraAddKeyframe::handle_event()
+{
+       return gui->press(&CWindowCanvas::camera_keyframe);
+}
+
+CWindowCameraReset::CWindowCameraReset(MWindow *mwindow,
+               CWindowToolGUI *gui, int x, int y)
+ : BC_Button(x, y, mwindow->theme->get_image_set("reset_button"))
+{
+       this->mwindow = mwindow;
+       this->gui = gui;
+       set_tooltip(_("Reset Camera: F11"));
+}
+
+int CWindowCameraReset::handle_event()
+{
+       return gui->press(&CWindowCanvas::reset_camera);
+}
+
 
 CWindowProjectorGUI::CWindowProjectorGUI(MWindow *mwindow, CWindowTool *thread)
  : CWindowToolGUI(mwindow,
@@ -1249,6 +1282,11 @@ void CWindowProjectorGUI::create_objects()
        add_subwindow(button = new CWindowProjectorCenter(mwindow, this, x1, y));
        x1 += button->get_w();
        add_subwindow(button = new CWindowProjectorRight(mwindow, this, x1, y));
+// additional Buttons to control the curve mode of the "current" keyframe
+       x1 += button->get_w() + 15;
+       add_subwindow(this->t_smooth = new CWindowCurveToggle(Projector_Crv_Smooth, mwindow, this, x1, y));
+       x1 += button->get_w() + 10;
+       add_subwindow(this->t_linear = new CWindowCurveToggle(Projector_Crv_Linear, mwindow, this, x1, y));
 
        y += button->get_h();
        x1 = 10;
@@ -1257,12 +1295,10 @@ void CWindowProjectorGUI::create_objects()
        add_subwindow(button = new CWindowProjectorMiddle(mwindow, this, x1, y));
        x1 += button->get_w();
        add_subwindow(button = new CWindowProjectorBottom(mwindow, this, x1, y));
-
-// additional Buttons to control the curve mode of the "current" keyframe
        x1 += button->get_w() + 15;
-       add_subwindow(this->t_smooth = new CWindowCurveToggle(Projector_Crv_Smooth, mwindow, this, x1, y));
-       x1 += button->get_w();
-       add_subwindow(this->t_linear = new CWindowCurveToggle(Projector_Crv_Linear, mwindow, this, x1, y));
+       add_subwindow(this->add_keyframe = new CWindowProjectorAddKeyframe(mwindow, this, x1, y));
+       x1 += button->get_w() + 10;
+       add_subwindow(this->reset = new CWindowProjectorReset(mwindow, this, x1, y));
 
 // fill in current auto keyframe values, set toggle states.
        this->update();
@@ -1540,6 +1576,44 @@ int CWindowProjectorBottom::handle_event()
        return 1;
 }
 
+CWindowProjectorAddKeyframe::CWindowProjectorAddKeyframe(MWindow *mwindow,
+               CWindowToolGUI *gui, int x, int y)
+ : BC_Button(x, y, mwindow->theme->get_image_set("keyframe_button"))
+{
+       this->mwindow = mwindow;
+       this->gui = gui;
+       set_tooltip(_("Add Keyframe: Shift-F12"));
+}
+
+int CWindowProjectorAddKeyframe::handle_event()
+{
+       return gui->press(&CWindowCanvas::projector_keyframe);
+}
+
+CWindowProjectorReset::CWindowProjectorReset(MWindow *mwindow,
+               CWindowToolGUI *gui, int x, int y)
+ : BC_Button(x, y, mwindow->theme->get_image_set("reset_button"))
+{
+       this->mwindow = mwindow;
+       this->gui = gui;
+       set_tooltip(_("Reset Projector: F12"));
+}
+
+int CWindowProjectorReset::handle_event()
+{
+       return gui->press(&CWindowCanvas::reset_projector);
+}
+
+int CWindowToolGUI::press(void (CWindowCanvas::*fn)())
+{
+       unlock_window();
+       CWindowGUI *cw_gui = thread->gui;
+       cw_gui->lock_window("CWindowGUI::press");
+       (cw_gui->canvas->*fn)();
+       cw_gui->unlock_window();
+       lock_window("CWindowToolGUI::press");
+       return 1;
+}
 
 CWindowMaskOnTrack::CWindowMaskOnTrack(MWindow *mwindow, CWindowMaskGUI *gui,
                int x, int y, int w, const char *text)
@@ -3673,6 +3747,3 @@ void CWindowRulerGUI::handle_event()
 {
 }
 
-
-
-
index 1a11654..6d02bf6 100644 (file)
@@ -97,6 +97,7 @@ public:
        virtual int close_event();
        int keypress_event();
        int translation_event();
+       int press(void (CWindowCanvas::*fn)());
 
        MWindow *mwindow;
        CWindowTool *thread;
@@ -760,15 +761,13 @@ class CWindowCameraGUI : public CWindowToolGUI
 public:
        CWindowCameraGUI(MWindow *mwindow, CWindowTool *thread);
        ~CWindowCameraGUI();
+       void handle_event();
        void create_objects();
        void update();
 
-// Update the keyframe from text boxes
-       void handle_event();
-//     BezierAuto* get_keyframe();
        CWindowCoord *x, *y, *z;
-private:
-// Toggles for keyframe curve mode (for camera automation only)
+       CWindowCameraAddKeyframe *add_keyframe;
+       CWindowCameraReset *reset;
        CWindowCurveToggle *t_smooth, *t_linear;
 };
 
@@ -832,18 +831,39 @@ public:
        CWindowCameraGUI *gui;
 };
 
+class CWindowCameraAddKeyframe : public BC_Button
+{
+public:
+       CWindowCameraAddKeyframe(MWindow *mwindow, CWindowToolGUI *gui, int x, int y);
+       int handle_event();
+
+       MWindow *mwindow;
+       CWindowToolGUI *gui;
+};
+
+class CWindowCameraReset : public BC_Button
+{
+public:
+       CWindowCameraReset(MWindow *mwindow, CWindowToolGUI *gui, int x, int y);
+       int handle_event();
+
+       MWindow *mwindow;
+       CWindowToolGUI *gui;
+};
+
+
 class CWindowProjectorGUI : public CWindowToolGUI
 {
 public:
        CWindowProjectorGUI(MWindow *mwindow, CWindowTool *thread);
        ~CWindowProjectorGUI();
+       void handle_event();
        void create_objects();
        void update();
-       void handle_event();
-//     BezierAuto* get_keyframe();
+
        CWindowCoord *x, *y, *z;
-private:
-// Toggles for keyframe curve mode (projector automation only)
+       CWindowProjectorAddKeyframe *add_keyframe;
+       CWindowProjectorReset *reset;
        CWindowCurveToggle *t_smooth, *t_linear;
 };
 
@@ -907,6 +927,26 @@ public:
        CWindowProjectorGUI *gui;
 };
 
+class CWindowProjectorAddKeyframe : public BC_Button
+{
+public:
+       CWindowProjectorAddKeyframe(MWindow *mwindow, CWindowToolGUI *gui, int x, int y);
+       int handle_event();
+
+       MWindow *mwindow;
+       CWindowToolGUI *gui;
+};
+
+class CWindowProjectorReset : public BC_Button
+{
+public:
+       CWindowProjectorReset(MWindow *mwindow, CWindowToolGUI *gui, int x, int y);
+       int handle_event();
+
+       MWindow *mwindow;
+       CWindowToolGUI *gui;
+};
+
 
 
 
@@ -929,5 +969,4 @@ public:
 };
 
 
-
 #endif
index 6f19a15..97a6bb8 100644 (file)
@@ -79,6 +79,8 @@ class CWindowCameraRight;
 class CWindowCameraTop;
 class CWindowCameraMiddle;
 class CWindowCameraBottom;
+class CWindowCameraAddKeyframe;
+class CWindowCameraReset;
 class CWindowProjectorGUI;
 class CWindowProjectorLeft;
 class CWindowProjectorCenter;
@@ -86,6 +88,8 @@ class CWindowProjectorRight;
 class CWindowProjectorTop;
 class CWindowProjectorMiddle;
 class CWindowProjectorBottom;
+class CWindowProjectorAddKeyframe;
+class CWindowProjectorReset;
 class CWindowRulerGUI;
 
 class CWindowCurveToggle;
index 53061be..3fef296 100644 (file)
@@ -92,9 +92,9 @@ int GWindowGUI::auto_colors[AUTOMATION_TOTAL] =
        LTGREEN,
        LTBLUE,
        LTPURPLE,
-       0,
-       0,
-       0,
+       -1,
+       -1,
+       -1,
        ORANGE,
 };
 
index 183f35f..34a6c00 100644 (file)
@@ -128,11 +128,20 @@ int Tracks::clear_hard_edges(double start, double end)
                int64_t end_units = track->to_units(end, 0);
 
                for( Edit *edit=track->edits->first; edit; edit=edit->next ) {
-                       if( edit->startproject < start_units ) continue;
-                       if( edit->startproject >= end_units ) continue;
-                       edit->hard_left = 0;
-                       if( !edit->previous ) continue;
-                       edit->previous->hard_right = 0;
+                       int64_t pos = edit->startproject;
+                       if( pos > end_units ) break;
+                       if( pos >= start_units ) {
+                               edit->hard_left = 0;
+                               if( edit->previous )
+                                       edit->previous->hard_right = 0;
+                       }
+                       pos += edit->length;
+                       if( pos > end_units ) break;
+                       if( pos >= start_units ) {
+                               edit->hard_right = 0;
+                               if( edit->next )
+                                       edit->next->hard_left = 0;
+                       }
                }
        }
        return 0;
index 78e6fa4..b871692 100644 (file)
@@ -2571,6 +2571,7 @@ int BC_PopupTextBox::handle_event()
 const char *BC_PopupTextBox::get_text() { return textbox->get_text(); }
 const wchar_t *BC_PopupTextBox::get_wtext() { return textbox->get_wtext(); }
 int BC_PopupTextBox::get_number() { return list_item; }
+void BC_PopupTextBox::set_number(int v) { list_item = v; }
 int BC_PopupTextBox::get_x() { return x; }
 int BC_PopupTextBox::get_y() { return y; }
 int BC_PopupTextBox::get_w() { return textbox->get_w() + listbox->get_w(); }
index e8f0ce4..f96446d 100644 (file)
@@ -353,6 +353,7 @@ public:
        const char *get_text();
        const wchar_t *get_wtext();
        int get_number();
+       void set_number(int v);
        int get_x();
        int get_y();
        int get_w();
index 6314eac..3babdd6 100644 (file)
@@ -288,6 +288,12 @@ void BlondTheme::initialize()
                "unclear_dn.png",
                "unclear_button");
 
+       new_button("keyframe.png",
+               "keyframe_up.png",
+               "keyframe_hi.png",
+               "keyframe_dn.png",
+               "keyframe_button");
+
        resources->cancel_images = new_button("cancel.png",
                "filebox_bigbutton_up.png",
                "filebox_bigbutton_hi.png",
index ea305d8..6e74417 100644 (file)
Binary files a/cinelerra-5.1/plugins/theme_blond/data/keyframe.png and b/cinelerra-5.1/plugins/theme_blond/data/keyframe.png differ
diff --git a/cinelerra-5.1/plugins/theme_blond/data/keyframe_dn.png b/cinelerra-5.1/plugins/theme_blond/data/keyframe_dn.png
new file mode 100755 (executable)
index 0000000..3636456
Binary files /dev/null and b/cinelerra-5.1/plugins/theme_blond/data/keyframe_dn.png differ
diff --git a/cinelerra-5.1/plugins/theme_blond/data/keyframe_hi.png b/cinelerra-5.1/plugins/theme_blond/data/keyframe_hi.png
new file mode 100755 (executable)
index 0000000..16354b9
Binary files /dev/null and b/cinelerra-5.1/plugins/theme_blond/data/keyframe_hi.png differ
diff --git a/cinelerra-5.1/plugins/theme_blond/data/keyframe_up.png b/cinelerra-5.1/plugins/theme_blond/data/keyframe_up.png
new file mode 100755 (executable)
index 0000000..52b226c
Binary files /dev/null and b/cinelerra-5.1/plugins/theme_blond/data/keyframe_up.png differ
index 93e19e1..00cb8d7 100644 (file)
@@ -341,6 +341,12 @@ void BlondCVTheme::initialize()
                "unclear_dn.png",
                "unclear_button");
 
+       new_button("keyframe.png",
+               "keyframe_up.png",
+               "keyframe_hi.png",
+               "keyframe_dn.png",
+               "keyframe_button");
+
        resources->cancel_images = new_button("cancel.png",
                "generic_up.png",
                "generic_hi.png",
index 97b7aa3..01efaf9 100644 (file)
Binary files a/cinelerra-5.1/plugins/theme_blond_cv/data/keyframe.png and b/cinelerra-5.1/plugins/theme_blond_cv/data/keyframe.png differ
old mode 100644 (file)
new mode 100755 (executable)
index bf09d89..c7a8ea8
Binary files a/cinelerra-5.1/plugins/theme_blond_cv/data/keyframe_dn.png and b/cinelerra-5.1/plugins/theme_blond_cv/data/keyframe_dn.png differ
old mode 100644 (file)
new mode 100755 (executable)
index 4b08219..73582c8
Binary files a/cinelerra-5.1/plugins/theme_blond_cv/data/keyframe_hi.png and b/cinelerra-5.1/plugins/theme_blond_cv/data/keyframe_hi.png differ
old mode 100644 (file)
new mode 100755 (executable)
index ca38022..d277e3c
Binary files a/cinelerra-5.1/plugins/theme_blond_cv/data/keyframe_up.png and b/cinelerra-5.1/plugins/theme_blond_cv/data/keyframe_up.png differ
index fb1160a..e58dc15 100644 (file)
@@ -288,6 +288,12 @@ void BlueDotTheme::initialize()
                "unclear_dn.png",
                "unclear_button");
 
+       new_button("keyframe.png",
+               "keyframe_up.png",
+               "keyframe_hi.png",
+               "keyframe_dn.png",
+               "keyframe_button");
+
        resources->cancel_images = new_button("cancel.png",
                "filebox_bigbutton_up.png",
                "filebox_bigbutton_hi.png",
index ea305d8..ae6f39c 100644 (file)
Binary files a/cinelerra-5.1/plugins/theme_blue/data/keyframe.png and b/cinelerra-5.1/plugins/theme_blue/data/keyframe.png differ
diff --git a/cinelerra-5.1/plugins/theme_blue/data/keyframe_dn.png b/cinelerra-5.1/plugins/theme_blue/data/keyframe_dn.png
new file mode 100755 (executable)
index 0000000..d80421a
Binary files /dev/null and b/cinelerra-5.1/plugins/theme_blue/data/keyframe_dn.png differ
diff --git a/cinelerra-5.1/plugins/theme_blue/data/keyframe_hi.png b/cinelerra-5.1/plugins/theme_blue/data/keyframe_hi.png
new file mode 100755 (executable)
index 0000000..e0d32fd
Binary files /dev/null and b/cinelerra-5.1/plugins/theme_blue/data/keyframe_hi.png differ
diff --git a/cinelerra-5.1/plugins/theme_blue/data/keyframe_up.png b/cinelerra-5.1/plugins/theme_blue/data/keyframe_up.png
new file mode 100755 (executable)
index 0000000..03e5c78
Binary files /dev/null and b/cinelerra-5.1/plugins/theme_blue/data/keyframe_up.png differ
index 3a0bd3d..0089226 100644 (file)
@@ -299,6 +299,12 @@ void BlueDotTheme::initialize()
                "unclear_dn.png",
                "unclear_button");
 
+       new_button("keyframe.png",
+               "keyframe_up.png",
+               "keyframe_hi.png",
+               "keyframe_dn.png",
+               "keyframe_button");
+
        resources->cancel_images = new_button("cancel.png",
                "generic_up.png",
                "generic_hi.png",
index c32133d..6e18b50 100644 (file)
Binary files a/cinelerra-5.1/plugins/theme_blue_dot/data/keyframe.png and b/cinelerra-5.1/plugins/theme_blue_dot/data/keyframe.png differ
old mode 100644 (file)
new mode 100755 (executable)
index 70ad107..1162a40
Binary files a/cinelerra-5.1/plugins/theme_blue_dot/data/keyframe_dn.png and b/cinelerra-5.1/plugins/theme_blue_dot/data/keyframe_dn.png differ
old mode 100644 (file)
new mode 100755 (executable)
index 0c9cb1c..16981ea
Binary files a/cinelerra-5.1/plugins/theme_blue_dot/data/keyframe_hi.png and b/cinelerra-5.1/plugins/theme_blue_dot/data/keyframe_hi.png differ
old mode 100644 (file)
new mode 100755 (executable)
index 6f67069..2c93acb
Binary files a/cinelerra-5.1/plugins/theme_blue_dot/data/keyframe_up.png and b/cinelerra-5.1/plugins/theme_blue_dot/data/keyframe_up.png differ
index c953613..af0a156 100644 (file)
@@ -295,6 +295,12 @@ void BrightTheme::initialize()
                "unclear_dn.png",
                "unclear_button");
 
+       new_button("keyframe.png",
+               "keyframe_up.png",
+               "keyframe_hi.png",
+               "keyframe_dn.png",
+               "keyframe_button");
+
        resources->cancel_images = new_button("cancel.png",
                "bigbutton_up.png",
                "bigbutton_hi.png",
index ea305d8..28752e6 100644 (file)
Binary files a/cinelerra-5.1/plugins/theme_bright/data/keyframe.png and b/cinelerra-5.1/plugins/theme_bright/data/keyframe.png differ
diff --git a/cinelerra-5.1/plugins/theme_bright/data/keyframe_dn.png b/cinelerra-5.1/plugins/theme_bright/data/keyframe_dn.png
new file mode 100755 (executable)
index 0000000..5703b6d
Binary files /dev/null and b/cinelerra-5.1/plugins/theme_bright/data/keyframe_dn.png differ
diff --git a/cinelerra-5.1/plugins/theme_bright/data/keyframe_hi.png b/cinelerra-5.1/plugins/theme_bright/data/keyframe_hi.png
new file mode 100755 (executable)
index 0000000..f87564a
Binary files /dev/null and b/cinelerra-5.1/plugins/theme_bright/data/keyframe_hi.png differ
diff --git a/cinelerra-5.1/plugins/theme_bright/data/keyframe_up.png b/cinelerra-5.1/plugins/theme_bright/data/keyframe_up.png
new file mode 100755 (executable)
index 0000000..f2fb5c5
Binary files /dev/null and b/cinelerra-5.1/plugins/theme_bright/data/keyframe_up.png differ
index b4f82f0..14ea7b8 100644 (file)
@@ -277,6 +277,11 @@ void CAKEWALKTHEME::initialize()
   "unclear_hi.png",
   "unclear_dn.png",
   "unclear_button");
+ new_button("keyframe.png",
+  "keyframe_up.png",
+  "keyframe_hi.png",
+  "keyframe_dn.png",
+  "keyframe_button");
  resources->cancel_images = new_button(
   "cancel.png",
   "filebox_bigbutton_up.png",
diff --git a/cinelerra-5.1/plugins/theme_cakewalk/data/keyframe.png b/cinelerra-5.1/plugins/theme_cakewalk/data/keyframe.png
new file mode 100644 (file)
index 0000000..10a1860
Binary files /dev/null and b/cinelerra-5.1/plugins/theme_cakewalk/data/keyframe.png differ
diff --git a/cinelerra-5.1/plugins/theme_cakewalk/data/keyframe_dn.png b/cinelerra-5.1/plugins/theme_cakewalk/data/keyframe_dn.png
new file mode 100644 (file)
index 0000000..c559284
Binary files /dev/null and b/cinelerra-5.1/plugins/theme_cakewalk/data/keyframe_dn.png differ
diff --git a/cinelerra-5.1/plugins/theme_cakewalk/data/keyframe_hi.png b/cinelerra-5.1/plugins/theme_cakewalk/data/keyframe_hi.png
new file mode 100644 (file)
index 0000000..8e3999c
Binary files /dev/null and b/cinelerra-5.1/plugins/theme_cakewalk/data/keyframe_hi.png differ
diff --git a/cinelerra-5.1/plugins/theme_cakewalk/data/keyframe_up.png b/cinelerra-5.1/plugins/theme_cakewalk/data/keyframe_up.png
new file mode 100644 (file)
index 0000000..f3b94fb
Binary files /dev/null and b/cinelerra-5.1/plugins/theme_cakewalk/data/keyframe_up.png differ
index ea305d8..c383f63 100644 (file)
Binary files a/cinelerra-5.1/plugins/theme_hulk/data/keyframe.png and b/cinelerra-5.1/plugins/theme_hulk/data/keyframe.png differ
diff --git a/cinelerra-5.1/plugins/theme_hulk/data/keyframe_dn.png b/cinelerra-5.1/plugins/theme_hulk/data/keyframe_dn.png
new file mode 100755 (executable)
index 0000000..5613325
Binary files /dev/null and b/cinelerra-5.1/plugins/theme_hulk/data/keyframe_dn.png differ
diff --git a/cinelerra-5.1/plugins/theme_hulk/data/keyframe_hi.png b/cinelerra-5.1/plugins/theme_hulk/data/keyframe_hi.png
new file mode 100755 (executable)
index 0000000..1900d60
Binary files /dev/null and b/cinelerra-5.1/plugins/theme_hulk/data/keyframe_hi.png differ
diff --git a/cinelerra-5.1/plugins/theme_hulk/data/keyframe_up.png b/cinelerra-5.1/plugins/theme_hulk/data/keyframe_up.png
new file mode 100755 (executable)
index 0000000..4718f50
Binary files /dev/null and b/cinelerra-5.1/plugins/theme_hulk/data/keyframe_up.png differ
index cf0b6d2..d733398 100644 (file)
@@ -289,6 +289,12 @@ void HULKTHEME::initialize()
                "unclear_dn.png",
                "unclear_button");
 
+       new_button("keyframe.png",
+               "keyframe_up.png",
+               "keyframe_hi.png",
+               "keyframe_dn.png",
+               "keyframe_button");
+
        resources->cancel_images = new_button("cancel.png",
                "filebox_bigbutton_up.png",
                "filebox_bigbutton_hi.png",
diff --git a/cinelerra-5.1/plugins/theme_neophyte/data/keyframe.png b/cinelerra-5.1/plugins/theme_neophyte/data/keyframe.png
new file mode 100644 (file)
index 0000000..2848d98
Binary files /dev/null and b/cinelerra-5.1/plugins/theme_neophyte/data/keyframe.png differ
diff --git a/cinelerra-5.1/plugins/theme_neophyte/data/keyframe_dn.png b/cinelerra-5.1/plugins/theme_neophyte/data/keyframe_dn.png
new file mode 100755 (executable)
index 0000000..a44d640
Binary files /dev/null and b/cinelerra-5.1/plugins/theme_neophyte/data/keyframe_dn.png differ
diff --git a/cinelerra-5.1/plugins/theme_neophyte/data/keyframe_hi.png b/cinelerra-5.1/plugins/theme_neophyte/data/keyframe_hi.png
new file mode 100755 (executable)
index 0000000..a492077
Binary files /dev/null and b/cinelerra-5.1/plugins/theme_neophyte/data/keyframe_hi.png differ
diff --git a/cinelerra-5.1/plugins/theme_neophyte/data/keyframe_up.png b/cinelerra-5.1/plugins/theme_neophyte/data/keyframe_up.png
new file mode 100755 (executable)
index 0000000..0d81373
Binary files /dev/null and b/cinelerra-5.1/plugins/theme_neophyte/data/keyframe_up.png differ
index 987c761..120fb1d 100644 (file)
@@ -367,6 +367,12 @@ void NEOPHYTETHEME::initialize()
                "unclear_hi.png",
                "unclear_dn.png",
                "unclear_button");
+       new_button("keyframe.png",
+               "keyframe_up.png",
+               "keyframe_hi.png",
+               "keyframe_dn.png",
+               "keyframe_button");
+
        resources->cancel_images = new_button(
                "cancel.png",
                "filebox_bigbutton_up.png",
index ea305d8..7d73c7a 100644 (file)
Binary files a/cinelerra-5.1/plugins/theme_pinklady/data/keyframe.png and b/cinelerra-5.1/plugins/theme_pinklady/data/keyframe.png differ
diff --git a/cinelerra-5.1/plugins/theme_pinklady/data/keyframe_dn.png b/cinelerra-5.1/plugins/theme_pinklady/data/keyframe_dn.png
new file mode 100755 (executable)
index 0000000..cc903a8
Binary files /dev/null and b/cinelerra-5.1/plugins/theme_pinklady/data/keyframe_dn.png differ
diff --git a/cinelerra-5.1/plugins/theme_pinklady/data/keyframe_hi.png b/cinelerra-5.1/plugins/theme_pinklady/data/keyframe_hi.png
new file mode 100755 (executable)
index 0000000..8c8ad37
Binary files /dev/null and b/cinelerra-5.1/plugins/theme_pinklady/data/keyframe_hi.png differ
diff --git a/cinelerra-5.1/plugins/theme_pinklady/data/keyframe_up.png b/cinelerra-5.1/plugins/theme_pinklady/data/keyframe_up.png
new file mode 100755 (executable)
index 0000000..4ca5985
Binary files /dev/null and b/cinelerra-5.1/plugins/theme_pinklady/data/keyframe_up.png differ
index d57d281..d11aaa8 100644 (file)
@@ -274,6 +274,12 @@ void PINKLADY::initialize()
                "unclear_dn.png",
                "unclear_button");
 
+       new_button("keyframe.png",
+               "keyframe_up.png",
+               "keyframe_hi.png",
+               "keyframe_dn.png",
+               "keyframe_button");
+
        resources->cancel_images = new_button("cancel.png",
                "filebox_bigbutton_up.png",
                "filebox_bigbutton_hi.png",
diff --git a/cinelerra-5.1/plugins/theme_suv/data/keyframe_dn.png b/cinelerra-5.1/plugins/theme_suv/data/keyframe_dn.png
new file mode 100644 (file)
index 0000000..e85b995
Binary files /dev/null and b/cinelerra-5.1/plugins/theme_suv/data/keyframe_dn.png differ
diff --git a/cinelerra-5.1/plugins/theme_suv/data/keyframe_hi.png b/cinelerra-5.1/plugins/theme_suv/data/keyframe_hi.png
new file mode 100644 (file)
index 0000000..fa024c4
Binary files /dev/null and b/cinelerra-5.1/plugins/theme_suv/data/keyframe_hi.png differ
diff --git a/cinelerra-5.1/plugins/theme_suv/data/keyframe_up.png b/cinelerra-5.1/plugins/theme_suv/data/keyframe_up.png
new file mode 100644 (file)
index 0000000..0fcc7fe
Binary files /dev/null and b/cinelerra-5.1/plugins/theme_suv/data/keyframe_up.png differ
index a919c2f..c5a04f6 100644 (file)
@@ -285,6 +285,12 @@ void SUV::initialize()
                "unclear_dn.png",
                "unclear_button");
 
+       new_button("keyframe.png",
+               "keyframe_up.png",
+               "keyframe_hi.png",
+               "keyframe_dn.png",
+               "keyframe_button");
+
        resources->cancel_images = new_button("cancel.png",
                "filebox_bigbutton_up.png",
                "filebox_bigbutton_hi.png",
diff --git a/cinelerra-5.1/plugins/theme_unflat/data/keyframe_dn.png b/cinelerra-5.1/plugins/theme_unflat/data/keyframe_dn.png
new file mode 100755 (executable)
index 0000000..b2e137c
Binary files /dev/null and b/cinelerra-5.1/plugins/theme_unflat/data/keyframe_dn.png differ
diff --git a/cinelerra-5.1/plugins/theme_unflat/data/keyframe_hi.png b/cinelerra-5.1/plugins/theme_unflat/data/keyframe_hi.png
new file mode 100755 (executable)
index 0000000..7f39bc6
Binary files /dev/null and b/cinelerra-5.1/plugins/theme_unflat/data/keyframe_hi.png differ
diff --git a/cinelerra-5.1/plugins/theme_unflat/data/keyframe_up.png b/cinelerra-5.1/plugins/theme_unflat/data/keyframe_up.png
new file mode 100755 (executable)
index 0000000..dba89d9
Binary files /dev/null and b/cinelerra-5.1/plugins/theme_unflat/data/keyframe_up.png differ
index 050b3a3..7c381fb 100644 (file)
@@ -283,6 +283,12 @@ void UNFLATTHEME::initialize()
                "unclear_dn.png",
                "unclear_button");
 
+       new_button("keyframe.png",
+               "keyframe_up.png",
+               "keyframe_hi.png",
+               "keyframe_dn.png",
+               "keyframe_button");
+
        resources->cancel_images = new_button("cancel.png",
                "filebox_bigbutton_up.png",
                "filebox_bigbutton_hi.png",
index 21cfdea..ba93e19 100644 (file)
@@ -490,8 +490,9 @@ void TitleWindow::send_configure_change()
 void TitleWindow::previous_font()
 {
        int current_font = font->get_number();
-       current_font--;
-       if( current_font < 0 ) current_font = fonts.total - 1;
+       if( !fonts.total ) current_font = -1;
+       else if( --current_font < 0 ) current_font = fonts.total - 1;
+       font->set_number(current_font);
 
        if( current_font < 0 || current_font >= fonts.total ) return;
 
@@ -508,8 +509,9 @@ void TitleWindow::previous_font()
 void  TitleWindow::next_font()
 {
        int current_font = font->get_number();
-       current_font++;
-       if( current_font >= fonts.total ) current_font = 0;
+       if( !fonts.total ) current_font = -1;
+       else if( ++current_font >= fonts.total ) current_font = 0;
+       font->set_number(current_font);
 
        if( current_font < 0 || current_font >= fonts.total ) return;
 
@@ -940,6 +942,7 @@ void TitleWindow::check_style(const char *font_name, int update)
                int style = stroker && atof(stroker->get_text()) ? BC_FONT_OUTLINE : 0;
                if( bold->get_value() ) style |= BC_FONT_BOLD;
                if( italic->get_value() ) style |= BC_FONT_ITALIC;
+               if( alias->get_value() ) style |= FONT_ALIAS;
                client->config.style = style;
        }
 }