*
*/
+#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)
{
drag_assets = new ArrayList<Indexable*>;
drag_auto_gang = new ArrayList<Auto*>;
drag_clips = new ArrayList<EDL*>;
- drag_proxy = new ArrayList<EDL*>;
drag_edits = new ArrayList<Edit*>;
drag_edit = 0;
clip_number = 1;
MainSession::~MainSession()
{
- clear_drag_proxy();
delete drag_pluginservers;
delete drag_assets;
delete drag_auto_gang;
delete drag_clips;
- delete drag_proxy;
delete drag_edits;
}
CLAMP(cwindow_controls, 0, 1);
}
-void MainSession::clear_drag_proxy()
-{
- for( int i=drag_proxy->size(); --i>=0; )
- drag_proxy->get(i)->remove_user();
- drag_proxy->remove_all();
-}
-
void MainSession::save_x11_host(int play_config, const char *x11_host)
{
strcpy(!play_config ? a_x11_host : b_x11_host, x11_host);
awindow_w = root_x + root_w - awindow_x - border_left - border_right;
awindow_h = mwindow_h;
- bwindow_w = 520;
- bwindow_h = 340;
+ bwindow_w = 600;
+ bwindow_h = 360;
ewindow_w = 640;
ewindow_h = 240;
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;
+}
+