Credit Andrew - fix vorbis audio which was scratchy and ensure aging plugin does...
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / convert.h
index 74717e504d58ea0b2524c7b9831d08090a921f26..53463205254e26ba6ddf8488c0f125a89c1ee7d5 100644 (file)
@@ -1,3 +1,23 @@
+/*
+ * CINELERRA
+ * Copyright (C) 2008 Adam Williams <broadcast at earthling dot net>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ */
+
 #ifndef __CONVERT_H__
 #define __CONVERT_H__
 
@@ -61,7 +81,7 @@ public:
 
 // if user canceled progress bar
        int is_canceled();
-       void set_format(Asset *asset, const char *suffix);
+       void set_format(Asset *asset, const char *suffix, int to_proxy);
        void start_convert(float beep, int remove_originals);
        void run();
        void create_copy(int i);
@@ -74,11 +94,13 @@ public:
        MainProgressBar *progress;
        ConvertProgress *convert_progress;
        Timer *progress_timer;
+       ConvertPackageRenderer *renderer;
 
        Mutex *counter_lock;
        int total_rendered, remove_originals;
        int failed, canceled, result;
        float beep;
+       int to_proxy;
 };
 
 class ConvertMenuItem : public BC_MenuItem
@@ -125,6 +147,17 @@ public:
        ConvertWindow *gui;
 };
 
+class ConvertToProxyPath : public BC_CheckBox
+{
+public:
+       ConvertToProxyPath(ConvertWindow *gui, int x, int y);
+       ~ConvertToProxyPath();
+
+       int handle_event();
+
+       ConvertWindow *gui;
+};
+
 class ConvertBeepOnDone : public BC_FPot
 {
 public:
@@ -139,7 +172,7 @@ class ConvertPackageRenderer : public PackageRenderer
 {
 public:
        ConvertPackageRenderer(ConvertRender *render);
-       ~ConvertPackageRenderer();
+       virtual ~ConvertPackageRenderer();
 
        int get_master();
        int get_result();
@@ -178,6 +211,7 @@ public:
        ConvertSuffixText *suffix_text;
        ConvertFormatTools *format_tools;
        ConvertRemoveOriginals *remove_originals;
+       ConvertToProxyPath *to_proxy_path;
        ConvertBeepOnDone *beep_on_done;
 };
 
@@ -202,26 +236,7 @@ public:
        int orig_w, orig_h;
        int remove_originals;
        float beep;
-};
-
-class ConvertBeep : public Thread
-{
-public:
-       enum { BEEP_SAMPLE_RATE=48000 };
-       typedef int16_t audio_data_t;
-       ConvertBeep(MWindow *mwindow);
-       ~ConvertBeep();
-
-       void run();
-       void start();
-       void stop(int wait);
-       void tone(double freq, double secs, double gain);
-
-       MWindow *mwindow;
-       double freq, secs, gain;
-       AudioDevice *audio;
-       int playing_audio, interrupted;
-       int audio_pos;
+       int to_proxy;
 };
 
 #endif