replace ::cast_dynamic() with relevant ActionManager::get_*_action() calls
[ardour.git] / gtk2_ardour / transcode_ffmpeg.h
index ec7a730763cc30c4fd23a9a91bce8cd1d58295ba..e7f4c5690063c8f2e30082052b503cbe0b4484ec 100644 (file)
@@ -21,8 +21,8 @@
 #define __ardour_transcode_ffmpeg_h__
 
 #include <string>
+#include "ardour/system_exec.h"
 #include "ardour/types.h"
-#include "system_exec.h"
 
 
 /** @class TranscodeFfmpeg
@@ -70,7 +70,7 @@ class TranscodeFfmpeg : public sigc::trackable
                 * specified as element-number in \ref get_audio().
                 * @return \c true if the transcoder process was successfully started.
                 */
-               bool extract_audio (std::string outfile, ARDOUR::framecnt_t samplerate, unsigned int stream=0);
+               bool extract_audio (std::string outfile, ARDOUR::samplecnt_t samplerate, unsigned int stream=0);
                /** transcode video and mux audio files into a new video-file.
                 * @param outfile full-path of output file to create (existing files are overwritten)
                 * @param inf_a filename of input audio-file
@@ -100,7 +100,7 @@ class TranscodeFfmpeg : public sigc::trackable
                 * during \ref encode \ref transcode and \ref extract_audio
                 * The parameters are current and last video-frame.
                 */
-               PBD::Signal2<void, ARDOUR::framecnt_t, ARDOUR::framecnt_t> Progress;
+               PBD::Signal2<void, ARDOUR::samplecnt_t, ARDOUR::samplecnt_t> Progress;
                /** signal emitted when the transcoder process terminates. */
                PBD::Signal0<void> Finished;
 
@@ -108,7 +108,7 @@ class TranscodeFfmpeg : public sigc::trackable
                double get_aspect () { return m_aspect; }
                int    get_width() { return m_width; }
                int    get_height() { return m_height; }
-               ARDOUR::framecnt_t get_duration() { return m_duration; }
+               ARDOUR::samplecnt_t get_duration() { return m_duration; }
                std::string  get_codec() { return m_codec; }
 
                FFAudioStreams get_audio() { return m_audio; }
@@ -116,26 +116,27 @@ class TranscodeFfmpeg : public sigc::trackable
                /** override file duration used with the \ref Progress signal.
                 * @param d duration in video-frames = length_in_seconds * get_fps()
                 */
-               void set_duration(ARDOUR::framecnt_t d) { m_duration = d; }
+               void set_duration(ARDOUR::samplecnt_t d) { m_duration = d; }
 
                /* offset, lead-in/out are in seconds */
                void set_avoffset(double av_offset) { m_avoffset = av_offset; }
                void set_leadinout(double lead_in, double lead_out) { m_lead_in = lead_in; m_lead_out = lead_out; }
 
+               void set_fps(double fps) { m_fps = fps; } // on export, used for rounding only.
 
 #if 1 /* tentative debug mode */
                void   set_debug (bool onoff) { debug_enable = onoff; }
 #endif
        protected:
                std::string infile;
-               SystemExec  *ffcmd;
+               ARDOUR::SystemExec  *ffcmd;
 
                bool probe ();
 
                double m_fps;
                double m_aspect;
                std::string m_sar;
-               ARDOUR::framecnt_t m_duration;
+               ARDOUR::samplecnt_t m_duration;
                int m_width;
                int m_height;
                std::string m_codec;
@@ -149,7 +150,6 @@ class TranscodeFfmpeg : public sigc::trackable
 
                FFAudioStreams m_audio;
 
-               char *format_metadata (std::string, std::string);
                void ffmpegparse_v (std::string d, size_t s);
                void ffmpegparse_a (std::string d, size_t s);
                void ffprobeparse (std::string d, size_t s);