#include "clip.h"
#include "clipedit.h"
#include "commercials.h"
+#include "convert.h"
#include "cplayback.h"
#include "ctimebar.h"
#include "cwindow.h"
restart_brender();
gui->update(1, NORMAL_DRAW, 0, 0, 1, 0, 0);
gui->activate_timeline();
-
-// gui->get_scrollbars(0);
-// gui->canvas->draw();
-// gui->patchbay->update();
-// gui->cursor->draw(1);
-// gui->canvas->flash();
-// gui->canvas->activate();
cwindow->refresh_frame(CHANGE_EDL);
}
gui->update(1, NORMAL_DRAW, 0, 0, 1, 0, 0);
gui->activate_timeline();
-// gui->get_scrollbars(0);
-// gui->canvas->draw();
-// gui->patchbay->update();
-// gui->cursor->draw(1);
-// gui->canvas->flash();
-// gui->canvas->activate();
cwindow->refresh_frame(CHANGE_EDL);
save_backup();
}
gui->update(1, NORMAL_DRAW, 0, 0, 1, 0, 0);
gui->activate_timeline();
-// gui->get_scrollbars(0);
-// gui->canvas->draw();
-// gui->patchbay->update();
-// gui->cursor->draw(1);
-// gui->canvas->flash();
-// gui->canvas->activate();
cwindow->refresh_frame(CHANGE_EDL);
save_backup();
}
// so we need to clear only when not using both io points
// FIXME: need to write simple overwrite_edl to be used for overwrite function
if( edl->local_session->get_inpoint() < 0 ||
- edl->local_session->get_outpoint() < 0 )
- edl->clear(dst_start, dst_start + overwrite_len, 0, 0, 0);
+ edl->local_session->get_outpoint() < 0 )
+ edl->clear(dst_start, dst_start + overwrite_len,
+ edl->session->labels_follow_edits,
+ edl->session->plugins_follow_edits,
+ edl->session->autos_follow_edits);
- paste(dst_start, dst_start + overwrite_len, &file, 0, 0, 0, 0, 0);
+ paste(dst_start, dst_start + overwrite_len, &file,
+ edl->session->labels_follow_edits,
+ edl->session->plugins_follow_edits,
+ edl->session->autos_follow_edits, 0, 0);
edl->local_session->set_selectionstart(dst_start + overwrite_len);
edl->local_session->set_selectionend(dst_start + overwrite_len);
edl->rescale_proxy(orig_scale, new_scale);
}
-void MWindow::add_proxy(int use_scaler,
- ArrayList<Indexable*> *orig_assets, ArrayList<Indexable*> *proxy_assets)
+void MWindow::add_proxy(ArrayList<Indexable*> *orig_assets, ArrayList<Indexable*> *proxy_assets)
{
- edl->add_proxy(use_scaler, orig_assets, proxy_assets);
+ edl->add_proxy(orig_assets, proxy_assets);
+}
+
+void MWindow::start_convert(Asset *format_asset, const char *suffix,
+ float beep, int remove_originals)
+{
+ if( !convert_render )
+ convert_render = new ConvertRender(this);
+ convert_render->set_format(format_asset, suffix);
+ int found = convert_render->find_convertable_assets(edl);
+ if( convert_render->needed_idxbls.size() > 0 )
+ convert_render->start_convert(beep, remove_originals);
+ else if( found > 0 )
+ finish_convert(remove_originals);
+ else if( found < 0 )
+ eprintf(_("convert assets format error"));
+ else
+ eprintf(_("No convertable assets found"));
+}
+
+void MWindow::finish_convert(int remove_originals)
+{
+ gui->lock_window("MWindow::finish_convert");
+ undo_before();
+ edl->replace_assets(
+ convert_render->orig_idxbls,
+ convert_render->orig_copies);
+ if( remove_originals ) {
+ remove_assets_from_project(0, 0, 0,
+ &convert_render->orig_idxbls, 0);
+ }
+ save_backup();
+ undo_after(_("convert"), LOAD_ALL);
+
+ update_plugin_guis();
+ gui->update(1, FORCE_REDRAW, 1, 1, 1, 1, 0);
+ cwindow->update(1, 0, 0, 0, 1);
+ awindow->gui->async_update_assets();
+ cwindow->refresh_frame(CHANGE_EDL);
+ gui->unlock_window();
}
void MWindow::cut_commercials()