X-Git-Url: http://git.cinelerra-gg.org/git/?p=goodguy%2Fhistory.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fmainsession.C;h=86e5b36d3f92c4c579bbbb973347191f85a6dc2d;hp=f7224b4c0cd84af9ca1174a908f4e79eb81203cf;hb=a19a685a46ddc630010788707d9e5b9d2342af46;hpb=0513350234a8dcd08e5a0117d5121724ef7b76b6 diff --git a/cinelerra-5.1/cinelerra/mainsession.C b/cinelerra-5.1/cinelerra/mainsession.C index f7224b4c..86e5b36d 100644 --- a/cinelerra-5.1/cinelerra/mainsession.C +++ b/cinelerra-5.1/cinelerra/mainsession.C @@ -19,18 +19,23 @@ * */ +#include "auto.h" #include "bcdisplayinfo.h" #include "clip.h" #include "bchash.h" +#include "edit.h" +#include "edits.h" #include "edl.h" #include "edlsession.h" #include "guicast.h" #include "indexable.h" +#include "language.h" +#include "localsession.h" #include "mainsession.h" #include "meterpanel.h" #include "mwindow.h" #include "mwindowgui.h" -#include "auto.h" +#include "plugin.h" MainSession::MainSession(MWindow *mwindow) { @@ -84,6 +89,7 @@ MainSession::MainSession(MWindow *mwindow) cwindow_x = cwindow_y = cwindow_w = cwindow_h = 0; ctool_x = ctool_y = 0; awindow_x = awindow_y = awindow_w = awindow_h = 0; + bwindow_w = bwindow_h = 0; rmonitor_x = rmonitor_y = rmonitor_w = rmonitor_h = 0; rwindow_x = rwindow_y = rwindow_w = rwindow_h = 0; gwindow_x = gwindow_y = 0; @@ -252,6 +258,9 @@ void MainSession::default_window_positions(int window_config) awindow_w = root_x + root_w - awindow_x - border_left - border_right; awindow_h = mwindow_h; + bwindow_w = 600; + bwindow_h = 360; + ewindow_w = 640; ewindow_h = 240; @@ -388,6 +397,10 @@ int MainSession::load_defaults(BC_Hash *defaults) // Other windows afolders_w = defaults->get("ABINS_W", 200); + + bwindow_w = defaults->get("BWINDOW_W", bwindow_w); + bwindow_h = defaults->get("BWINDOW_H", bwindow_h); + rwindow_x = defaults->get("RWINDOW_X", rwindow_x); rwindow_y = defaults->get("RWINDOW_Y", rwindow_y); rwindow_w = defaults->get("RWINDOW_W", rwindow_w); @@ -479,6 +492,9 @@ int MainSession::save_defaults(BC_Hash *defaults) defaults->update("AWINDOW_W", awindow_w); defaults->update("AWINDOW_H", awindow_h); + defaults->update("BWINDOW_W", bwindow_w); + defaults->update("BWINDOW_H", bwindow_h); + defaults->update("EWINDOW_W", ewindow_w); defaults->update("EWINDOW_H", ewindow_h); @@ -558,3 +574,32 @@ int MainSession::save_defaults(BC_Hash *defaults) return 0; } + +Track *MainSession::drag_handle_track() +{ + Track *track = 0; + switch( current_operation ) { + case DRAG_EDITHANDLE1: + case DRAG_EDITHANDLE2: + track = drag_edit->edits->track; + break; + case DRAG_PLUGINHANDLE1: + case DRAG_PLUGINHANDLE2: + track = drag_plugin->edits->track; + break; + } + return track; +} + +void MainSession::update_clip_number() +{ + int clip_no = 0; + for( int i=mwindow->edl->clips.size(); --i>=0; ) { + EDL *clip_edl = mwindow->edl->clips[i]; + int no = 0; + if( sscanf(clip_edl->local_session->clip_title,_("Clip %d"),&no) == 1 ) + if( no > clip_no ) clip_no = no; + } + clip_number = clip_no+1; +} +