X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fmwindowedit.C;h=e27d40373dab38bd51e9ec63dbd3c811fa7d1fad;hb=74afbc29ac4ce9d94d53e10342979f2c59f1f193;hp=84232955d9aa2bd44bc37325f03884e7177d2bba;hpb=667ff598ae2a94f48c7056aee1d77d7cde39066b;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/cinelerra/mwindowedit.C b/cinelerra-5.1/cinelerra/mwindowedit.C index 84232955..e27d4037 100644 --- a/cinelerra-5.1/cinelerra/mwindowedit.C +++ b/cinelerra-5.1/cinelerra/mwindowedit.C @@ -74,6 +74,7 @@ #include "vwindow.h" #include "vwindowgui.h" #include "zoombar.h" +#include "zwindow.h" #include "automation.h" #include "maskautos.h" @@ -630,19 +631,6 @@ int MWindow::cut_default_keyframe() } -void MWindow::delete_inpoint() -{ - edl->local_session->unset_inpoint(); - save_backup(); -} - -void MWindow::delete_outpoint() -{ - edl->local_session->unset_outpoint(); - save_backup(); -} - - void MWindow::delete_track() { if( edl->tracks->last ) @@ -1874,8 +1862,10 @@ void MWindow::redo_entry(BC_WindowBase *calling_window_gui) { calling_window_gui->unlock_window(); stop_playback(0); + if( undo->redo_load_flags() & LOAD_SESSION ) + close_mixers(); - cwindow->gui->lock_window("MWindow::redo_entry"); + cwindow->gui->lock_window("MWindow::redo_entry 1"); for( int i = 0; i < vwindows.size(); i++ ) { if( vwindows.get(i)->is_running() ) { if( calling_window_gui != vwindows.get(i)->gui ) { @@ -1883,23 +1873,19 @@ void MWindow::redo_entry(BC_WindowBase *calling_window_gui) } } } - gui->lock_window(); + gui->lock_window("MWindow::redo_entry 3"); undo->redo(); save_backup(); + restart_brender(); update_plugin_states(); update_plugin_guis(); - awindow->gui->async_update_assets(); - restart_brender(); + gui->update(1, 2, 1, 1, 1, 1, 1); + gui->unlock_window(); cwindow->update(1, 1, 1, 1, 1); - - if( calling_window_gui != cwindow->gui ) - cwindow->gui->unlock_window(); - if( calling_window_gui != gui ) - gui->unlock_window(); - + cwindow->gui->unlock_window(); for( int i = 0; i < vwindows.size(); i++ ) { if( vwindows.get(i)->is_running() ) { @@ -1909,7 +1895,13 @@ void MWindow::redo_entry(BC_WindowBase *calling_window_gui) } } + if( calling_window_gui != gui ) + gui->unlock_window(); + + awindow->gui->async_update_assets(); + cwindow->refresh_frame(CHANGE_ALL); + calling_window_gui->lock_window("MWindow::redo_entry 4"); } @@ -1978,6 +1970,30 @@ void MWindow::set_outpoint(int is_mwindow) } } +void MWindow::unset_inoutpoint(int is_mwindow) +{ + undo->update_undo_before(); + edl->unset_inoutpoint(); + save_backup(); + undo->update_undo_after(_("clear in/out"), LOAD_TIMEBAR); + + if( !is_mwindow ) { + gui->lock_window("MWindow::unset_inoutpoint 1"); + } + gui->update_timebar(1); + if( !is_mwindow ) { + gui->unlock_window(); + } + + if( is_mwindow ) { + cwindow->gui->lock_window("MWindow::unset_inoutpoint 2"); + } + cwindow->gui->timebar->update(1); + if( is_mwindow ) { + cwindow->gui->unlock_window(); + } +} + void MWindow::splice(EDL *source) { FileXML file; @@ -2160,6 +2176,8 @@ void MWindow::undo_entry(BC_WindowBase *calling_window_gui) { calling_window_gui->unlock_window(); stop_playback(0); + if( undo->undo_load_flags() & LOAD_SESSION ) + close_mixers(); cwindow->gui->lock_window("MWindow::undo_entry 1"); for( int i = 0; i < vwindows.size(); i++ ) { @@ -2268,22 +2286,15 @@ void MWindow::remap_audio(int pattern) if( pattern == MWindow::AUDIO_5_1_TO_2 ) { switch( current_track ) { case 0: - pan_auto->values[0] = 0.5; - pan_auto->values[1] = 0.5; - break; - case 1: + case 4: pan_auto->values[0] = 1; break; - case 2: + case 1: + case 5: pan_auto->values[1] = 1; break; + case 2: case 3: - pan_auto->values[0] = 1; - break; - case 4: - pan_auto->values[1] = 1; - break; - case 5: pan_auto->values[0] = 0.5; pan_auto->values[1] = 0.5; break;