X-Git-Url: https://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fmainsession.C;h=f4e4cc9b8e29cbabcc5da923abea54cfbe2145b3;hb=986fe708363ab0225a954e637f14bbbd8e800d81;hp=555a872e0b34667cb2e6322f61a9343f0a667200;hpb=205a66f9f2abd6eac72076f773ce5d75921fa151;p=goodguy%2Fcinelerra.git diff --git a/cinelerra-5.1/cinelerra/mainsession.C b/cinelerra-5.1/cinelerra/mainsession.C index 555a872e..f4e4cc9b 100644 --- a/cinelerra-5.1/cinelerra/mainsession.C +++ b/cinelerra-5.1/cinelerra/mainsession.C @@ -36,6 +36,7 @@ #include "mwindow.h" #include "mwindowgui.h" #include "plugin.h" +#include "transition.h" MainSession::MainSession(MWindow *mwindow) { @@ -51,6 +52,7 @@ MainSession::MainSession(MWindow *mwindow) current_operation = NO_OPERATION; drag_pluginservers = new ArrayList; drag_plugin = 0; + drag_transition = 0; drag_assets = new ArrayList; drag_auto_gang = new ArrayList; drag_clips = new ArrayList; @@ -96,6 +98,7 @@ MainSession::MainSession(MWindow *mwindow) gwindow_x = gwindow_y = 0; cswindow_x = cswindow_y = cswindow_w = cswindow_h = 0; swindow_x = swindow_y = swindow_w = swindow_h = 0; + tile_mixers_x = tile_mixers_y = tile_mixers_w = tile_mixers_h = 0; ewindow_w = ewindow_h = 0; channels_x = channels_y = 0; picture_x = picture_y = 0; @@ -110,6 +113,7 @@ MainSession::MainSession(MWindow *mwindow) use_vect_gain = 5; use_smooth = 0; use_refresh = 0; + use_release = 0; use_graticule = 0; afolders_w = 0; show_vwindow = show_awindow = show_cwindow = show_gwindow = show_lwindow = 0; @@ -220,17 +224,18 @@ void MainSession::default_window_positions(int window_config) } } if( left_w > 0 ) { + int min_x = INT_MAX; for( int s=0; s= left_w && x < min_x ) { + min_x = x; right_w = w; screens = 2; - break; } } if( window_config == 1 ) { - root_x = left_w; + root_x = min_x; root_w = right_w; } else { @@ -330,6 +335,7 @@ void MainSession::default_window_positions(int window_config) use_vect_gain = 5; use_smooth = 1; use_refresh = 0; + use_release = 0; use_graticule = 0; if(mwindow->edl) @@ -373,6 +379,11 @@ void MainSession::default_window_positions(int window_config) swindow_w = xS(600); swindow_h = yS(400); + tile_mixers_x = 1 + mwindow_x; + tile_mixers_y = 1; + tile_mixers_w = cwindow_x - tile_mixers_x; + tile_mixers_h = mwindow_y - tile_mixers_y; + batchrender_w = xS(750); batchrender_h = yS(400); batchrender_x = root_w / 2 - batchrender_w / 2; @@ -449,6 +460,7 @@ int MainSession::load_defaults(BC_Hash *defaults) use_vect_gain = defaults->get("USE_VECT_GAIN", use_vect_gain); use_smooth = defaults->get("USE_SMOOTH", use_smooth); use_refresh = defaults->get("USE_REFRESH", use_refresh); + use_release = defaults->get("USE_RELEASE", use_release); use_graticule = defaults->get("USE_GRATICULE", use_graticule); //printf("MainSession::load_defaults 1\n"); @@ -479,6 +491,11 @@ int MainSession::load_defaults(BC_Hash *defaults) rmonitor_w = defaults->get("RMONITOR_W", rmonitor_w); rmonitor_h = defaults->get("RMONITOR_H", rmonitor_h); + tile_mixers_x = defaults->get("TILE_MIXERS_X", 0); + tile_mixers_y = defaults->get("TILE_MIXERS_Y", 0); + tile_mixers_w = defaults->get("TILE_MIXERS_W", 0); + tile_mixers_h = defaults->get("TILE_MIXERS_H", 0); + batchrender_x = defaults->get("BATCHRENDER_X", batchrender_x); batchrender_y = defaults->get("BATCHRENDER_Y", batchrender_y); batchrender_w = defaults->get("BATCHRENDER_W", batchrender_w); @@ -579,6 +596,7 @@ int MainSession::save_defaults(BC_Hash *defaults) defaults->update("USE_VECT_GAIN", use_vect_gain); defaults->update("USE_SMOOTH", use_smooth); defaults->update("USE_REFRESH", use_refresh); + defaults->update("USE_RELEASE", use_release); defaults->update("USE_GRATICULE", use_graticule); defaults->update("ABINS_W", afolders_w); @@ -588,6 +606,11 @@ int MainSession::save_defaults(BC_Hash *defaults) defaults->update("RMONITOR_W", rmonitor_w); defaults->update("RMONITOR_H", rmonitor_h); + defaults->update("TILE_MIXERS_X", tile_mixers_x); + defaults->update("TILE_MIXERS_Y", tile_mixers_y); + defaults->update("TILE_MIXERS_W", tile_mixers_w); + defaults->update("TILE_MIXERS_H", tile_mixers_h); + defaults->update("RWINDOW_X", rwindow_x); defaults->update("RWINDOW_Y", rwindow_y); defaults->update("RWINDOW_W", rwindow_w); @@ -652,6 +675,10 @@ Track *MainSession::drag_handle_track() case DRAG_PLUGINHANDLE2: track = drag_plugin->edits->track; break; + case DRAG_TRANSNHANDLE1: + case DRAG_TRANSNHANDLE2: + track = drag_transition->edits->track; + break; } return track; }