compressors: added mkup_gain reset, fixed smooth_only
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / mwindowedit.C
index 2d09eeb0434a94d283b4c8496645e4c257b71ffb..7b49d090a972a2eeb10f5c8a5fb87992f996318e 100644 (file)
@@ -27,6 +27,7 @@
 #include "clip.h"
 #include "clipedit.h"
 #include "commercials.h"
+#include "convert.h"
 #include "cplayback.h"
 #include "ctimebar.h"
 #include "cwindow.h"
@@ -91,13 +92,6 @@ void MWindow::add_audio_track_entry(int above, Track *dst)
        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);
 }
 
@@ -111,12 +105,6 @@ void MWindow::add_video_track_entry(Track *dst)
 
        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();
 }
@@ -131,12 +119,6 @@ void MWindow::add_subttl_track_entry(Track *dst)
 
        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();
 }
@@ -2462,6 +2444,44 @@ void MWindow::add_proxy(ArrayList<Indexable*> *orig_assets, ArrayList<Indexable*
        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, suffix);
+       convert_render->set_format(format_asset);
+       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 {
+               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()
 {
 #ifdef HAVE_COMMERCIAL