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 8ba0e3b2c7bbc85cbcdf1c7f5d452f15427a18a4..88a524d7806aa07c98033798c42a827859a93607 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 = 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
                        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));
        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;
 
        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));
        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;
        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();
 
 // fill in current auto keyframe values, set toggle states.
        this->update();
@@ -1193,6 +1198,34 @@ int CWindowCameraBottom::handle_event()
        return 1;
 }
 
        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,
 
 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));
        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;
 
        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));
        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;
        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();
 
 // fill in current auto keyframe values, set toggle states.
        this->update();
@@ -1540,6 +1576,44 @@ int CWindowProjectorBottom::handle_event()
        return 1;
 }
 
        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)
 
 CWindowMaskOnTrack::CWindowMaskOnTrack(MWindow *mwindow, CWindowMaskGUI *gui,
                int x, int y, int w, const char *text)
@@ -3673,6 +3747,3 @@ void CWindowRulerGUI::handle_event()
 {
 }
 
 {
 }
 
-
-
-
index 1a116541200f9f4b1bfb6f9937142dd2504e65ea..6d02bf67970eeb45fa28f3873d1a7f775cff431c 100644 (file)
@@ -97,6 +97,7 @@ public:
        virtual int close_event();
        int keypress_event();
        int translation_event();
        virtual int close_event();
        int keypress_event();
        int translation_event();
+       int press(void (CWindowCanvas::*fn)());
 
        MWindow *mwindow;
        CWindowTool *thread;
 
        MWindow *mwindow;
        CWindowTool *thread;
@@ -760,15 +761,13 @@ class CWindowCameraGUI : public CWindowToolGUI
 public:
        CWindowCameraGUI(MWindow *mwindow, CWindowTool *thread);
        ~CWindowCameraGUI();
 public:
        CWindowCameraGUI(MWindow *mwindow, CWindowTool *thread);
        ~CWindowCameraGUI();
+       void handle_event();
        void create_objects();
        void update();
 
        void create_objects();
        void update();
 
-// Update the keyframe from text boxes
-       void handle_event();
-//     BezierAuto* get_keyframe();
        CWindowCoord *x, *y, *z;
        CWindowCoord *x, *y, *z;
-private:
-// Toggles for keyframe curve mode (for camera automation only)
+       CWindowCameraAddKeyframe *add_keyframe;
+       CWindowCameraReset *reset;
        CWindowCurveToggle *t_smooth, *t_linear;
 };
 
        CWindowCurveToggle *t_smooth, *t_linear;
 };
 
@@ -832,18 +831,39 @@ public:
        CWindowCameraGUI *gui;
 };
 
        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();
 class CWindowProjectorGUI : public CWindowToolGUI
 {
 public:
        CWindowProjectorGUI(MWindow *mwindow, CWindowTool *thread);
        ~CWindowProjectorGUI();
+       void handle_event();
        void create_objects();
        void update();
        void create_objects();
        void update();
-       void handle_event();
-//     BezierAuto* get_keyframe();
+
        CWindowCoord *x, *y, *z;
        CWindowCoord *x, *y, *z;
-private:
-// Toggles for keyframe curve mode (projector automation only)
+       CWindowProjectorAddKeyframe *add_keyframe;
+       CWindowProjectorReset *reset;
        CWindowCurveToggle *t_smooth, *t_linear;
 };
 
        CWindowCurveToggle *t_smooth, *t_linear;
 };
 
@@ -907,6 +927,26 @@ public:
        CWindowProjectorGUI *gui;
 };
 
        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
 #endif
index 6f19a15f5829403f900714c9beafd776219d4b5e..97a6bb88e1aca4dc0a99d71845badf7f1df3d787 100644 (file)
@@ -79,6 +79,8 @@ class CWindowCameraRight;
 class CWindowCameraTop;
 class CWindowCameraMiddle;
 class CWindowCameraBottom;
 class CWindowCameraTop;
 class CWindowCameraMiddle;
 class CWindowCameraBottom;
+class CWindowCameraAddKeyframe;
+class CWindowCameraReset;
 class CWindowProjectorGUI;
 class CWindowProjectorLeft;
 class CWindowProjectorCenter;
 class CWindowProjectorGUI;
 class CWindowProjectorLeft;
 class CWindowProjectorCenter;
@@ -86,6 +88,8 @@ class CWindowProjectorRight;
 class CWindowProjectorTop;
 class CWindowProjectorMiddle;
 class CWindowProjectorBottom;
 class CWindowProjectorTop;
 class CWindowProjectorMiddle;
 class CWindowProjectorBottom;
+class CWindowProjectorAddKeyframe;
+class CWindowProjectorReset;
 class CWindowRulerGUI;
 
 class CWindowCurveToggle;
 class CWindowRulerGUI;
 
 class CWindowCurveToggle;
index 53061be9ffbddf048d3ebeff3d23b7e30b49d236..3fef296efaf004669abeeda8bfeea8d90c7b4ae4 100644 (file)
@@ -92,9 +92,9 @@ int GWindowGUI::auto_colors[AUTOMATION_TOTAL] =
        LTGREEN,
        LTBLUE,
        LTPURPLE,
        LTGREEN,
        LTBLUE,
        LTPURPLE,
-       0,
-       0,
-       0,
+       -1,
+       -1,
+       -1,
        ORANGE,
 };
 
        ORANGE,
 };
 
index 183f35f7b90f5e0dee58cc25918f914c80e6ef47..34a6c00a713f1d91543b9895aa15ce8a114f41ec 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 ) {
                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;
                }
        }
        return 0;
index 78e6fa42a0eea4c282c6dc19d30cea26050d91b4..b871692c275ed55870b2e033262b32399e28deef 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; }
 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(); }
 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 e8f0ce494e25c9e0e4b2189611241870c9ca334a..f96446d6ea7bd2a34ea34065e1c451b39226a378 100644 (file)
@@ -353,6 +353,7 @@ public:
        const char *get_text();
        const wchar_t *get_wtext();
        int get_number();
        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();
        int get_x();
        int get_y();
        int get_w();
index 6314eac81e7e08f50e66496ff29a7a672ecf8e90..3babdd66c8efd6ea1197a21c0ac07dd29b7a43c7 100644 (file)
@@ -288,6 +288,12 @@ void BlondTheme::initialize()
                "unclear_dn.png",
                "unclear_button");
 
                "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",
        resources->cancel_images = new_button("cancel.png",
                "filebox_bigbutton_up.png",
                "filebox_bigbutton_hi.png",
index ea305d8f80b0742f63a9e2c4303d464cae4ac7cc..6e74417fcf6148a3226b48b88efb66b8448ff22f 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 93e19e12751602e3a169c0f5edab399c9d62e2ae..00cb8d76dcdc82497df0b6fde7875c5f49ddff5f 100644 (file)
@@ -341,6 +341,12 @@ void BlondCVTheme::initialize()
                "unclear_dn.png",
                "unclear_button");
 
                "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",
        resources->cancel_images = new_button("cancel.png",
                "generic_up.png",
                "generic_hi.png",
index 97b7aa365d0f05b054ed158d3c03cd45653f17c0..01efaf941a3c7fdb6efb381e48de0a0c031b2e34 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 fb1160ab969ef706de946811371d55b9cd1d2f43..e58dc1522775607f9c392b18e6b9b777ceac0945 100644 (file)
@@ -288,6 +288,12 @@ void BlueDotTheme::initialize()
                "unclear_dn.png",
                "unclear_button");
 
                "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",
        resources->cancel_images = new_button("cancel.png",
                "filebox_bigbutton_up.png",
                "filebox_bigbutton_hi.png",
index ea305d8f80b0742f63a9e2c4303d464cae4ac7cc..ae6f39c847a5fe8afc5db6822050454fbc07edb5 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 3a0bd3d67f6cd4e3f11d67e616bb3b75b2905eac..00892269f3cc51be1043c2b8f491ee5f9a671dbc 100644 (file)
@@ -299,6 +299,12 @@ void BlueDotTheme::initialize()
                "unclear_dn.png",
                "unclear_button");
 
                "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",
        resources->cancel_images = new_button("cancel.png",
                "generic_up.png",
                "generic_hi.png",
index c32133dd4eca17bd18586244b47584a42343934c..6e18b508423421742c8e3bc80588d777a02342fc 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 c953613f4f7decb1b498f0931f82f8b334aab16d..af0a1565af836dec4f866836f05e60aa86a5277b 100644 (file)
@@ -295,6 +295,12 @@ void BrightTheme::initialize()
                "unclear_dn.png",
                "unclear_button");
 
                "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",
        resources->cancel_images = new_button("cancel.png",
                "bigbutton_up.png",
                "bigbutton_hi.png",
index ea305d8f80b0742f63a9e2c4303d464cae4ac7cc..28752e67c992855b81593439720d964ac08429fd 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 b4f82f09aadb2f0d3536ff0d74f19cacf3080eb8..14ea7b8235f499d22d6104dbf8672e4e96da3ae2 100644 (file)
@@ -277,6 +277,11 @@ void CAKEWALKTHEME::initialize()
   "unclear_hi.png",
   "unclear_dn.png",
   "unclear_button");
   "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",
  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 ea305d8f80b0742f63a9e2c4303d464cae4ac7cc..c383f632f50eaa3a33ced100df0983e52de6e6d0 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 cf0b6d2f2fc8b2878919c3b53c11a4ec0bad73c0..d733398143c16fbaef7cf0479ab523acdce52f95 100644 (file)
@@ -289,6 +289,12 @@ void HULKTHEME::initialize()
                "unclear_dn.png",
                "unclear_button");
 
                "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",
        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 987c761e474d2a723f65d193dd636c112515ae88..120fb1dd3c36e9bfcc8899262269f0f26d76aa59 100644 (file)
@@ -367,6 +367,12 @@ void NEOPHYTETHEME::initialize()
                "unclear_hi.png",
                "unclear_dn.png",
                "unclear_button");
                "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",
        resources->cancel_images = new_button(
                "cancel.png",
                "filebox_bigbutton_up.png",
index ea305d8f80b0742f63a9e2c4303d464cae4ac7cc..7d73c7a67da2677a63d117f69120ebfa0c216bb1 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 d57d281f3e392a4f743a01ba148e7ae4de6523a6..d11aaa81f5721df8b935c2f7d5cf482a6865d92c 100644 (file)
@@ -274,6 +274,12 @@ void PINKLADY::initialize()
                "unclear_dn.png",
                "unclear_button");
 
                "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",
        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 a919c2f395c6b816a86cc60681009e31da42e385..c5a04f6bc02f9d5b0ea42fb13eeaafe8c8af1a40 100644 (file)
@@ -285,6 +285,12 @@ void SUV::initialize()
                "unclear_dn.png",
                "unclear_button");
 
                "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",
        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 050b3a30e460b76be76f60327c053a819b1e0443..7c381fb33efeb2de07617edb542b96113e739353 100644 (file)
@@ -283,6 +283,12 @@ void UNFLATTHEME::initialize()
                "unclear_dn.png",
                "unclear_button");
 
                "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",
        resources->cancel_images = new_button("cancel.png",
                "filebox_bigbutton_up.png",
                "filebox_bigbutton_hi.png",
index 21cfdea22d811bce2411196a15b84fc8806a9685..ba93e19980a70c0ca995f9e136e2c644670d62a4 100644 (file)
@@ -490,8 +490,9 @@ void TitleWindow::send_configure_change()
 void TitleWindow::previous_font()
 {
        int current_font = font->get_number();
 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;
 
 
        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();
 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;
 
 
        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;
                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;
        }
 }
                client->config.style = style;
        }
 }