#include "edlsession.h"
#include "filexml.h"
#include "floatauto.h"
+#include "floatautos.h"
#include "gwindow.h"
#include "gwindowgui.h"
#include "keyframe.h"
current;
current = NEXT)
{
- if(current->data_type == TRACK_VIDEO &&
- current->record)
+ if(current->data_type == TRACK_VIDEO /* &&
+ current->record */ )
{
current->track_w = w;
current->track_h = h;
gui->unlock_window();
}
+void MWindow::reverse_edits()
+{
+ gui->lock_window("MWindow::reverse_edits 1");
+
+ undo->update_undo_before();
+ double start = edl->local_session->get_selectionstart();
+ double end = edl->local_session->get_selectionend();
+
+ edl->tracks->reverse_edits(start, end);
+
+ save_backup();
+ undo->update_undo_after(_("reverse edits"), LOAD_EDITS | LOAD_TIMEBAR);
+
+ sync_parameters(CHANGE_EDL);
+ restart_brender();
+ gui->update(0, 1, 1, 0, 0, 0, 0);
+ gui->unlock_window();
+}
+
void MWindow::align_edits()
{
gui->lock_window("MWindow::align_edits 1");
for(int i = 0; i < vwindows.size(); i++)
{
- vwindows.get(i)->playback_engine->que->send_command(STOP,
- CHANGE_NONE,
- 0,
- 0);
- vwindows.get(i)->playback_engine->interrupt_playback(0);
+ if(vwindows.get(i)->is_running())
+ {
+ vwindows.get(i)->playback_engine->que->send_command(STOP,
+ CHANGE_NONE,
+ 0,
+ 0);
+ vwindows.get(i)->playback_engine->interrupt_playback(0);
+ }
}
cwindow->gui->lock_window("MWindow::redo_entry");
for(int i = 0; i < vwindows.size(); i++)
{
- vwindows.get(i)->gui->lock_window("MWindow::redo_entry 2");
+ if(vwindows.get(i)->is_running())
+ {
+ if (calling_window_gui != vwindows.get(i)->gui)
+ {
+ vwindows.get(i)->gui->lock_window("MWindow::redo_entry 2");
+ }
+ }
}
gui->lock_window();
for(int i = 0; i < vwindows.size(); i++)
{
- if (calling_window_gui != vwindows.get(i)->gui)
- vwindows.get(i)->gui->unlock_window();
+ if(vwindows.get(i)->is_running())
+ {
+ if (calling_window_gui != vwindows.get(i)->gui)
+ {
+ vwindows.get(i)->gui->unlock_window();
+ }
+ }
}
cwindow->playback_engine->que->send_command(CURRENT_FRAME,
0);
cwindow->playback_engine->interrupt_playback(0);
-
+printf("MWindow::undo_entry %d %d\n", __LINE__, vwindows.size());
for(int i = 0; i < vwindows.size(); i++)
{
- vwindows.get(i)->playback_engine->que->send_command(STOP,
- CHANGE_NONE,
- 0,
- 0);
- vwindows.get(i)->playback_engine->interrupt_playback(0);
+ if(vwindows.get(i)->is_running())
+ {
+ vwindows.get(i)->playback_engine->que->send_command(STOP,
+ CHANGE_NONE,
+ 0,
+ 0);
+ vwindows.get(i)->playback_engine->interrupt_playback(0);
+ }
}
cwindow->gui->lock_window("MWindow::undo_entry 1");
for(int i = 0; i < vwindows.size(); i++)
{
- vwindows.get(i)->gui->lock_window("MWindow::undo_entry 4");
+ if(vwindows.get(i)->is_running())
+ {
+ if (calling_window_gui != vwindows.get(i)->gui)
+ {
+ vwindows.get(i)->gui->lock_window("MWindow::undo_entry 4");
+ }
+ }
}
gui->lock_window("MWindow::undo_entry 2");
for(int i = 0; i < vwindows.size(); i++)
{
- if (calling_window_gui != vwindows.get(i)->gui)
- vwindows.get(i)->gui->unlock_window();
+ if(vwindows.get(i)->is_running())
+ {
+ if (calling_window_gui != vwindows.get(i)->gui)
+ {
+ vwindows.get(i)->gui->unlock_window();
+ }
+ }
}
if (calling_window_gui != gui)
send_command(CURRENT_FRAME, CHANGE_EDL, edl, 1);
}
+