diff options
author | Robin Gareus <robin@gareus.org> | 2013-03-12 22:00:09 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2013-03-13 20:28:15 +0100 |
commit | 0c3e840700a915fc1476cef73c591048f688f81e (patch) | |
tree | 3241845f899cfed86217db2f6f589740b2b9c04a /gtk2_ardour/transcode_video_dialog.h | |
parent | d91565093965b3405774acd878b3baf38839f4e4 (diff) |
videotimline
squashed 694 commits from http://gareus.org/gitweb/?p=ardour3.git
Diffstat (limited to 'gtk2_ardour/transcode_video_dialog.h')
-rw-r--r-- | gtk2_ardour/transcode_video_dialog.h | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/gtk2_ardour/transcode_video_dialog.h b/gtk2_ardour/transcode_video_dialog.h new file mode 100644 index 0000000000..9d334cf0d2 --- /dev/null +++ b/gtk2_ardour/transcode_video_dialog.h @@ -0,0 +1,106 @@ +/* + Copyright (C) 2010 Paul Davis + Author: Robin Gareus <robin@gareus.org> + + 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., 675 Mass Ave, Cambridge, MA 02139, USA. + +*/ +#ifdef WITH_VIDEOTIMELINE + +#ifndef __gtk_ardour_transcode_video_dialog_h__ +#define __gtk_ardour_transcode_video_dialog_h__ + +#include <string> + +#include <gtkmm.h> + +#include "ardour/types.h" +#include "ardour/template_utils.h" +#include "ardour_dialog.h" + +#include "transcode_ffmpeg.h" + +/** @class TranscodeVideoDialog + * @brief dialog-box and controller for importing video-files + */ +class TranscodeVideoDialog : public ArdourDialog , public PBD::ScopedConnectionList +{ + public: + TranscodeVideoDialog (ARDOUR::Session*, std::string); + ~TranscodeVideoDialog (); + + std::string get_filename () { return path_entry.get_text(); } + std::string get_audiofile () { return audiofile; } + + private: + void on_show (); + void open_browse_dialog (); + void abort_clicked (); + void scale_combo_changed (); + void audio_combo_changed (); + void aspect_checkbox_toggled (); + void bitrate_checkbox_toggled (); + void update_bitrate (); + void launch_audioonly (); + void launch_transcode (); + void launch_extract (); + void prepare_copy (); + void launch_copy (); + void dialog_progress_mode (); + bool aborted; + bool pending_audio_extract; + bool pending_copy_file; + std::string audiofile; + std::string infn; + double m_aspect; + + PBD::Signal0<void> StartNextStage; + void finished (); + void update_progress (ARDOUR::framecnt_t, ARDOUR::framecnt_t); + + TranscodeFfmpeg *transcoder; + + Gtk::Label path_label; + Gtk::Entry path_entry; + Gtk::Button browse_button; + Gtk::Button transcode_button; + Gtk::Button copy_button; + Gtk::Button audio_button; + + Gtk::VBox* vbox; + Gtk::Button *cancel_button; + Gtk::Button abort_button; + + Gtk::VBox* progress_box; + Gtk::Label progress_label; + Gtk::ProgressBar pbar; + + Gtk::ComboBoxText scale_combo; + Gtk::CheckButton aspect_checkbox; + Gtk::Adjustment height_adjustment; + Gtk::SpinButton height_spinner; + Gtk::ComboBoxText audio_combo; + Gtk::CheckButton bitrate_checkbox; + Gtk::Adjustment bitrate_adjustment; + Gtk::SpinButton bitrate_spinner; +#if 1 /* tentative debug mode */ + Gtk::CheckButton debug_checkbox; +#endif + +}; + +#endif /* __gtk_ardour_transcode_video_dialog_h__ */ + +#endif /* WITH_VIDEOTIMELINE */ |