rendering took msg, bg render active test, crikey show window
authorGood Guy <[email protected]>
Sat, 1 Jul 2017 20:17:39 +0000 (14:17 -0600)
committerGood Guy <[email protected]>
Sat, 1 Jul 2017 20:17:39 +0000 (14:17 -0600)
cinelerra-5.1/cinelerra/mainprogress.C
cinelerra-5.1/cinelerra/mwindow.C
cinelerra-5.1/cinelerra/mwindowgui.C
cinelerra-5.1/cinelerra/mwindowgui.h
cinelerra-5.1/cinelerra/render.C
cinelerra-5.1/cinelerra/statusbar.C
cinelerra-5.1/cinelerra/statusbar.h
cinelerra-5.1/plugins/crikey/crikeywindow.C
cinelerra-5.1/plugins/crikey/crikeywindow.h

index afc2198370ae7c486da0905334ad5cfe13ec8024..4df440ddb111b4788506b8ae12cba55f8502611a 100644 (file)
@@ -74,7 +74,7 @@ void MainProgressBar::stop_progress()
        {
                mwindow->gui->lock_window("MainProgressBar::stop_progress");
                progress_bar->update(0);
-               mwindow->gui->statusbar->default_message();
+               mwindow->gui->default_message();
                mwindow->gui->unlock_window();
        }
 }
index 75dc29acaa32d70f80126e10c741c780e9620622..3a4aee8b5e3146d606c732f5417bc31145b2ec17 100644 (file)
@@ -1193,7 +1193,7 @@ int MWindow::brender_available(int position)
 {
        int result = 0;
        brender_lock->lock("MWindow::brender_available 1");
-       if(brender)
+       if(brender && brender_active)
        {
                if(brender->map_valid)
                {
@@ -1226,8 +1226,10 @@ void MWindow::set_brender_active(int v, int update)
                }
                restart_brender();
        }
-       else
+       else {
+               edl->session->brender_start = edl->session->brender_end = 0;
                stop_brender();
+       }
        if( update ) {
                gui->update_timebar(0);
                gui->draw_overlays(1);
index ed12ca654267b0dbce7b66ec9464669c1324a8f7..a39e7f9ee8072ae8a283551ab9102d8db02da73e 100644 (file)
@@ -382,6 +382,12 @@ void MWindowGUI::redraw_time_dependancies()
        mainclock->update(mwindow->edl->local_session->get_selectionstart(1));
 }
 
+int MWindowGUI::cursor_enter_event()
+{
+       reset_default_message();
+       return 0;
+}
+
 int MWindowGUI::focus_in_event()
 {
        for(int i = 0; i < TOTAL_PANES; i++)
@@ -918,16 +924,22 @@ int MWindowGUI::visible(int64_t x1, int64_t x2, int64_t view_x1, int64_t view_x2
 }
 
 
-int MWindowGUI::show_message(char *message, int color)
+void MWindowGUI::show_message(const char *message, int color)
 {
-// printf("MWindowGUI::show_message %d: %s 0x%08x 0x%08x\n",
-// __LINE__, message, color, mwindow->theme->message_normal);
-       if(color < 0) color = mwindow->theme->message_normal;
-       statusbar->status_text->set_color(color);
-       statusbar->status_text->update(message);
-       return 0;
+       statusbar->set_message(message, color);
+}
+void MWindowGUI::set_default_message(const char *message)
+{
+       statusbar->set_default_message(message);
+}
+void MWindowGUI::reset_default_message()
+{
+       statusbar->reset_default_message();
+}
+void MWindowGUI::default_message()
+{
+       statusbar->default_message();
 }
-
 
 // Drag motion called from other window
 int MWindowGUI::drag_motion()
index 54623284eadc242d5f93b9aaa3797bd205138287..5b8d6bfee937f592c84c3ef983a4e889df35ec2a 100644 (file)
@@ -129,6 +129,7 @@ public:
        void set_meter_format(int mode, int min, int max);
 
        int translation_event();
+       int cursor_enter_event();
        int resize_event(int w, int h);          // handle a resize event
        int button_release_event();
        int keypress_event();
@@ -142,7 +143,10 @@ public:
        int menu_w();
        int menu_h();
 // Draw on the status bar only.
-       int show_message(char *message, int color = -1);
+       void show_message(const char *message, int color = -1);
+       void set_default_message(const char *message);
+       void reset_default_message();
+       void default_message();
 // Pop up a box if the statusbar is taken and show an error.
        void show_error(char *message, int color = BLACK);
        int repeat_event(int64_t duration);
index d6db3811469629a999d44d1889e91b66d1475673..642552d16231c793e170e4896336f8316e2634eb 100644 (file)
@@ -511,7 +511,7 @@ void Render::stop_progress()
 
                sprintf(string2, _("Rendering took %s"), string);
                mwindow->gui->lock_window("");
-               mwindow->gui->show_message(string2);
+               mwindow->gui->set_default_message(string2);
                mwindow->gui->stop_hourglass();
                mwindow->gui->unlock_window();
        }
index b2f0bcc618745acb06c6e2627ac6fbd40aeaa2fa..02b92d058c0b9d889e9a2fe4943d960de39e5930 100644 (file)
@@ -72,7 +72,7 @@ void StatusBar::create_objects()
                        mwindow->theme->mstatus_cancel_x,
                        mwindow->theme->mstatus_cancel_y));
 //printf("StatusBar::create_objects 1\n");
-       default_message();
+       reset_default_message();
        flash();
 }
 
@@ -103,18 +103,26 @@ void StatusBar::resize_event()
        flash(0);
 }
 
-void StatusBar::set_message(char *text)
+void StatusBar::set_message(const char *text, int color)
 {
+       if( color < 0 ) color = mwindow->theme->message_normal;
+       status_text->set_color(color);
        status_text->update(text);
 }
-
+void StatusBar::set_default_message(const char *text)
+{
+       strcpy(default_msg, text);
+       default_message();
+}
+void StatusBar::reset_default_message()
+{
+       set_default_message(_("Welcome to cinelerra"));
+}
 void StatusBar::default_message()
 {
-       status_text->set_color(mwindow->theme->message_normal);
-       status_text->update(_("Welcome to Cinelerra."));
+       set_message(default_msg, mwindow->theme->message_normal);
 }
 
-
 StatusBarCancel::StatusBarCancel(MWindow *mwindow, int x, int y)
  : BC_Button(x, y, mwindow->theme->statusbar_cancel_data)
 {
index 9541eb206058cc9495ba5a36740bbb95dc4b33b7..726a08c24a6ba1e5e693257a8c4392ce3415dd1c 100644 (file)
@@ -34,8 +34,11 @@ public:
        StatusBar(MWindow *mwindow, MWindowGUI *gui);
        ~StatusBar();
 
-       void set_message(char *text);
+       void set_message(const char *text, int color=-1);
+       void set_default_message(const char *text);
+       void reset_default_message();
        void default_message();
+
        void create_objects();
        void resize_event();
 
@@ -44,6 +47,7 @@ public:
        BC_ProgressBar *main_progress;
        StatusBarCancel *main_progress_cancel;
        BC_Title *status_text;
+       char default_msg[BCTEXTLEN];
 };
 
 class StatusBarCancel : public BC_Button
index f8fcd1ffab9b61ea0e07e2821aaa1055d264b5e6..06693891bd46afa0ee76f16c8640cca915bb7010 100644 (file)
@@ -75,15 +75,15 @@ void CriKeyDrawMode::create_objects()
 {
        for( int i=0; i<DRAW_MODES; ++i )
                add_item(new CriKeyDrawModeItem(draw_modes[i], i));
-       update(gui->plugin->config.draw_mode);
+       update(gui->plugin->config.draw_mode, 0);
 }
-void CriKeyDrawMode::update(int mode)
+void CriKeyDrawMode::update(int mode, int send)
 {
        if( this->mode == mode ) return;
        this->mode = mode;
        set_text(draw_modes[mode]);
        gui->plugin->config.draw_mode = mode;
-       gui->plugin->send_configure_change();
+       if( send ) gui->plugin->send_configure_change();
 }
 
 int CriKeyKeyModeItem::handle_event()
@@ -104,15 +104,15 @@ void CriKeyKeyMode::create_objects()
 {
        for( int i=0; i<KEY_MODES; ++i )
                add_item(new CriKeyKeyModeItem(key_modes[i], i));
-       update(gui->plugin->config.key_mode);
+       update(gui->plugin->config.key_mode, 0);
 }
-void CriKeyKeyMode::update(int mode)
+void CriKeyKeyMode::update(int mode, int send)
 {
        if( this->mode == mode ) return;
        this->mode = mode;
        set_text(key_modes[mode]);
        gui->draw_key(mode);
-       gui->plugin->send_configure_change();
+       if( send ) gui->plugin->send_configure_change();
 }
 
 CriKeyColorButton::CriKeyColorButton(CriKeyWindow *gui, int x, int y)
index 0814abafb5c6713cc1a25c198d2f3ec63b321498..5af60d541c86f398d29edb6e432ce5a5fc52edad 100644 (file)
@@ -75,7 +75,7 @@ public:
        CriKeyDrawMode(CriKeyWindow *gui, int x, int y);
 
        void create_objects();
-       void update(int mode);
+       void update(int mode, int send=1);
        CriKeyWindow *gui;
        int mode;
 };
@@ -97,7 +97,7 @@ public:
        CriKeyKeyMode(CriKeyWindow *gui, int x, int y);
 
        void create_objects();
-       void update(int mode);
+       void update(int mode, int send=1);
        CriKeyWindow *gui;
        int mode;
 };