X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fmwindowgui.C;h=477d256c927b458d021ca7441a5f87abab2d49d8;hp=743c721cf2fcd6f6cc1aba24d3e11348556df200;hb=0df48ad2d876409c5beeae2e21933a728ea76c33;hpb=e23393f4ff9f772ac8f47926cf490dc87a630ed4 diff --git a/cinelerra-5.1/cinelerra/mwindowgui.C b/cinelerra-5.1/cinelerra/mwindowgui.C index 743c721c..477d256c 100644 --- a/cinelerra-5.1/cinelerra/mwindowgui.C +++ b/cinelerra-5.1/cinelerra/mwindowgui.C @@ -36,6 +36,7 @@ #include "edl.h" #include "edlsession.h" #include "filesystem.h" +#include "filexml.h" #include "keyframepopup.h" #include "keys.h" #include "language.h" @@ -79,15 +80,9 @@ // the main window uses its own private colormap for video MWindowGUI::MWindowGUI(MWindow *mwindow) : BC_Window(_(PROGRAM_NAME ": Program"), - mwindow->session->mwindow_x, - mwindow->session->mwindow_y, - mwindow->session->mwindow_w, - mwindow->session->mwindow_h, - 100, - 100, - 1, - 1, - 1) + mwindow->session->mwindow_x, mwindow->session->mwindow_y, + mwindow->session->mwindow_w, mwindow->session->mwindow_h, + xS(100), yS(100), 1, 1, 1) { this->mwindow = mwindow; // samplescroll = 0; @@ -123,7 +118,7 @@ MWindowGUI::MWindowGUI(MWindow *mwindow) keyframe_menu = 0; keyframe_hide = 0; keyvalue_popup = 0; - transition_menu = 0; + transition_menu = 0; remote_control = 0; cwindow_remote_handler = 0; record_remote_handler = 0; @@ -269,7 +264,7 @@ void MWindowGUI::create_objects() if(debug) printf("MWindowGUI::create_objects %d\n", __LINE__); - int x = get_w() - MainShBtns::calculate_w(0); + int x = get_w() - MainShBtns::calculate_w(-1, 0, -1); add_subwindow(mainmenu = new MainMenu(mwindow, this, x)); mainmenu->create_objects(); add_subwindow(mainshbtns = new MainShBtns(mwindow, x, -1)); @@ -280,9 +275,9 @@ void MWindowGUI::create_objects() add_subwindow(mbuttons = new MButtons(mwindow, this)); mbuttons->create_objects(); - int x1 = mbuttons->get_x() + mbuttons->get_w(), y1 = mbuttons->get_y()+2; + int x1 = mbuttons->get_x() + mbuttons->get_w(), y1 = mbuttons->get_y()+yS(2); add_subwindow(proxy_toggle = new ProxyToggle(mwindow, mbuttons, x1, y1)); - x1 += proxy_toggle->get_w() + 3; + x1 += proxy_toggle->get_w() + xS(3); add_subwindow(ffmpeg_toggle = new FFMpegToggle(mwindow, mbuttons, x1, y1)); pane[TOP_LEFT_PANE] = new TimelinePane(mwindow, @@ -410,15 +405,15 @@ int MWindowGUI::resize_event(int w, int h) //printf("MWindowGUI::resize_event %d\n", __LINE__); mwindow->session->mwindow_w = w; mwindow->session->mwindow_h = h; - int x = w - MainShBtns::calculate_w(0); + int x = w - MainShBtns::calculate_w(-1, 0, -1); mainmenu->resize_event(x, mainmenu->get_h()); mainshbtns->reposition_window(x, -1); mwindow->theme->get_mwindow_sizes(this, w, h); mwindow->theme->draw_mwindow_bg(this); mbuttons->resize_event(); - int x1 = mbuttons->get_x() + mbuttons->get_w(), y1 = mbuttons->get_y()+2; + int x1 = mbuttons->get_x() + mbuttons->get_w(), y1 = mbuttons->get_y()+yS(2); proxy_toggle->reposition_window(x1, y1); - x1 += proxy_toggle->get_w() + 3; + x1 += proxy_toggle->get_w() + xS(3); ffmpeg_toggle->reposition_window(x1, y1); statusbar->resize_event(); zoombar->resize_event(); @@ -931,9 +926,9 @@ int MWindowGUI::visible(int64_t x1, int64_t x2, int64_t view_x1, int64_t view_x2 } -void MWindowGUI::show_message(const char *message, int color) +void MWindowGUI::show_message(const char *message, int msg_color, int bar_color) { - statusbar->show_message(message, color); + statusbar->show_message(message, msg_color, bar_color); } void MWindowGUI::update_default_message() @@ -1009,10 +1004,9 @@ int MWindowGUI::drag_motion() mwindow->session->current_operation == DRAG_EDIT || mwindow->session->current_operation == DRAG_GROUP || mwindow->session->current_operation == DRAG_AEFFECT_COPY || - mwindow->session->current_operation == DRAG_VEFFECT_COPY ) - { - redraw = 1; - } + mwindow->session->current_operation == DRAG_VEFFECT_COPY ) { + redraw = 1; + } // printf("drag_motion %d %d over_track=%p over_edit=%p\n", @@ -1172,7 +1166,7 @@ int MWindowGUI::keypress_event() if( result ) return result; Track *this_track = 0, *first_track = 0; - int collapse = 0, packed = 0, overwrite = 0; + int collapse = 0, packed = 0, overwrite = 0, plugins = 0; double position = 0; switch( get_keypress() ) { @@ -1202,6 +1196,8 @@ int MWindowGUI::keypress_event() mwindow->selected_edits_to_clipboard(packed); result = 1; break; + case 'P': + plugins = 1; case 'b': overwrite = -1; // fall thru case 'v': @@ -1222,13 +1218,17 @@ int MWindowGUI::keypress_event() } else position = mwindow->edl->local_session->get_selectionstart(); - mwindow->paste(position, first_track, 0, overwrite); + if( !plugins ) + mwindow->paste(position, first_track, 0, overwrite); + else + mwindow->paste_clipboard(first_track, position, 1, 0, 1, 1, 1); mwindow->edl->tracks->clear_selected_edits(); draw_overlays(1); result = 1; break; case 'M': collapse = 1; + case BACKSPACE: case 'm': mwindow->cut_selected_edits(0, collapse); result = 1; @@ -1241,8 +1241,7 @@ int MWindowGUI::keypress_event() result = 1; break; - case '1': case '2': case '3': case '4': - case '5': case '6': case '7': case '8': + case '1' ... '8': if( !alt_down() || shift_down() ) break; if( !mwindow->select_asset(get_keypress()-'1',1) ) result = 1; @@ -2343,7 +2342,7 @@ void MWindowGUI::stop_transport(const char *lock_msg) { if( !mbuttons->transport->is_stopped() ) { if( lock_msg ) unlock_window(); - mbuttons->transport->handle_transport(STOP, 1, 0, 0); + mbuttons->transport->handle_transport(STOP, 1); if( lock_msg ) lock_window(lock_msg); } }