#include "vframe.h"
#include "vtrack.h"
#include "versioninfo.h"
+#include "vicon.h"
#include "videodevice.inc"
#include "videowindow.h"
#include "vplayback.h"
save_backup();
undo->update_undo_after(_("create mixers"), LOAD_ALL);
restart_brender();
- gui->update(1, 2, 1, 1, 1, 1, 0);
+ gui->update(1, FORCE_REDRAW, 1, 1, 1, 1, 0);
sync_parameters(CHANGE_ALL);
}
break;
}
if( strcmp(cin_version, CINELERRA_VERSION) &&
+ strcmp(cin_version, "Unify") &&
strcmp(cin_version, "5.1") ) {
char string[BCTEXTLEN];
snprintf(string, sizeof(string),
gui->mainmenu->show_lwindow->set_checked(1);
}
+void MWindow::restore_windows()
+{
+ if( !session->show_vwindow ) {
+ for( int i=0, n=vwindows.size(); i<n; ++i ) {
+ VWindow *vwindow = vwindows[i];
+ if( !vwindow || !vwindow->is_running() ) continue;
+ vwindow->gui->lock_window("MWindow::restore_windows");
+ vwindow->gui->close(1);
+ vwindow->gui->unlock_window();
+ }
+ }
+ else
+ show_vwindow();
+
+ if( !session->show_awindow && !awindow->gui->is_hidden() ) {
+ awindow->gui->lock_window("MWindow::restore_windows");
+ awindow->gui->close_event();
+ awindow->gui->unlock_window();
+ }
+ else if( session->show_awindow && awindow->gui->is_hidden() )
+ show_awindow();
+
+ if( !session->show_cwindow && !cwindow->gui->is_hidden() ) {
+ cwindow->gui->lock_window("MWindow::restore_windows");
+ cwindow->hide_window();
+ cwindow->gui->unlock_window();
+ }
+ else if( session->show_cwindow && cwindow->gui->is_hidden() )
+ cwindow->show_window();
+
+ if( !session->show_gwindow && !gwindow->gui->is_hidden() ) {
+ gwindow->gui->lock_window("MWindow::restore_windows");
+ gwindow->gui->close_event();
+ gwindow->gui->unlock_window();
+ }
+ else if( session->show_gwindow && gwindow->gui->is_hidden() )
+ show_gwindow();
+
+ if( !session->show_lwindow && !lwindow->gui->is_hidden() ) {
+ lwindow->gui->lock_window("MWindow::restore_windows");
+ lwindow->gui->close_event();
+ lwindow->gui->unlock_window();
+ }
+ else if( session->show_lwindow && lwindow->gui->is_hidden() )
+ show_lwindow();
+
+ gui->focus();
+}
+
+void MWindow::save_layout(int no)
+{
+ char layout_path[BCTEXTLEN];
+ snprintf(layout_path, sizeof(layout_path), "%s/" LAYOUT_FILE,
+ File::get_config_path(), no);
+ session->save_file(layout_path);
+}
+
+void MWindow::load_layout(int no)
+{
+ char layout_path[BCTEXTLEN];
+ snprintf(layout_path, sizeof(layout_path), "%s/" LAYOUT_FILE,
+ File::get_config_path(), no);
+ session->load_file(layout_path);
+ restore_windows();
+ gui->default_positions();
+ save_defaults();
+}
+
int MWindow::tile_windows(int window_config)
{
int need_reload = 0;
else
return;
- gui->update(0, 1, 0, 0, 0, 0, 0);
+ gui->update(0, NORMAL_DRAW, 0, 0, 0, 0, 0);
gui->mainmenu->update_toggles(1);
gui->unlock_window();
gwindow->gui->update_toggles(1);
plugin->show = 0;
// Update the toggle
gui->lock_window("MWindow::hide_plugin");
- gui->update(0, 1, 0, 0, 0, 0, 0);
+ gui->update(0, NORMAL_DRAW, 0, 0, 0, 0, 0);
gui->unlock_window();
if(lock) plugin_gui_lock->lock("MWindow::hide_plugin");
gui->load_panes();
}
- gui->update(1, 1, 1, 1, 1, 1, 1);
+ gui->update(1, NORMAL_DRAW, 1, 1, 1, 1, 1);
if(debug) PRINT_TRACE
gui->unlock_window();
init_brender();
void MWindow::remove_assets_from_project(int push_undo, int redraw,
ArrayList<Indexable*> *drag_assets, ArrayList<EDL*> *drag_clips)
{
+ awindow->gui->vicon_thread->stop_drawing();
+ awindow->gui->vicon_thread->drawing_started(); // waits for draw lock
+ awindow->gui->vicon_thread->drawing_stopped();
+
for(int i = 0; i < drag_assets->total; i++) {
Indexable *indexable = drag_assets->get(i);
if(indexable->is_asset) remove_asset_from_caches((Asset*)indexable);
restart_brender();
gui->lock_window("MWindow::remove_assets_from_project 3");
- gui->update(1, 1, 1, 1, 0, 1, 0);
+ gui->update(1, NORMAL_DRAW, 1, 1, 0, 1, 0);
gui->unlock_window();
// Removes from playback here
// Update GUIs
restart_brender();
gui->lock_window("MWindow::resync_guis");
- gui->update(1, 1, 1, 1, 1, 1, 0);
+ gui->update(1, NORMAL_DRAW, 1, 1, 1, 1, 0);
gui->unlock_window();
cwindow->gui->lock_window("MWindow::resync_guis");