#include "ardour_ui.h"
#include "gui_thread.h"
-#include "utils.h"
#include "opts.h"
#include "transcode_video_dialog.h"
#include "utils_videotl.h"
aspect_checkbox.set_sensitive(false);
bitrate_checkbox.set_sensitive(false);
} else {
- ffok = true;
w = transcoder->get_width();
h = transcoder->get_height();
as = transcoder->get_audio();
m_aspect = transcoder->get_aspect();
+ if (w > 0 && h > 0 && transcoder->get_fps() > 0 && transcoder->get_duration() > 0) {
+ ffok = true;
+ }
+
Table* t = manage (new Table (4, 2));
t->set_spacings (4);
options_box->pack_start (*t, true, true, 4);
options_box->pack_start (*l, false, true, 4);
video_combo.set_name ("PaddedButton");
- video_combo.append_text(_("Do Not Import Video"));
- video_combo.append_text(_("Reference From Current Location"));
- if (ffok) {
+
+ if (ffok) {
+ video_combo.append_text(_("Reference From Current Location (Previously Transcoded Files Only)"));
video_combo.append_text(_("Import/Transcode Video to Session"));
- video_combo.set_active(2);
- } else {
video_combo.set_active(1);
+ if (as.size() > 0) {
+ video_combo.append_text(_("Do Not Import Video (Audio Import Only)"));
+ audio_combo.set_sensitive(true);
+ } else {
+ audio_combo.set_sensitive(false);
+ }
+ video_combo.set_sensitive(true);
+ transcode_button.set_sensitive(true);
+ path_entry.set_sensitive (true);
+ browse_button.set_sensitive (true);
+ } else if (as.size() > 0) {
+ video_combo.append_text(_("Do Not Import Video (Audio Import Only)"));
+ video_combo.set_active(0);
+ path_entry.set_text ("");
+
+ video_combo.set_sensitive(false);
+ audio_combo.set_sensitive(true);
+ transcode_button.set_sensitive(true);
+ path_entry.set_sensitive (false);
+ browse_button.set_sensitive (false);
+ } else {
+ video_combo.append_text(_("Do Not Import Video"));
+ video_combo.set_active(0);
+ path_entry.set_text ("");
video_combo.set_sensitive(false);
audio_combo.set_sensitive(false);
+ transcode_button.set_sensitive(false);
+ path_entry.set_sensitive (false);
+ browse_button.set_sensitive (false);
}
options_box->pack_start (video_combo, false, false, 4);
t->attach (*l, 0, 1, 2, 3);
audio_combo.set_name ("PaddedButton");
t->attach (audio_combo, 1, 4, 2, 3);
- audio_combo.append_text("No audio");
- if (as.size() > 0) {
+ if (as.size() == 0) {
+ audio_combo.append_text(_("No Audio Track Present"));
+ audio_combo.set_sensitive(false);
+ } else {
+ audio_combo.append_text(_("Do Not Extract Audio"));
for (TranscodeFfmpeg::FFAudioStreams::iterator it = as.begin(); it < as.end(); ++it) {
audio_combo.append_text((*it).name);
}
void
TranscodeVideoDialog::launch_transcode ()
{
- if (video_combo.get_active_row_number() != 2) {
+ if (video_combo.get_active_row_number() != 1) {
launch_audioonly();
return;
}
void
TranscodeVideoDialog::video_combo_changed ()
{
- int i = video_combo.get_active_row_number();
- if (i != 2) {
+ const int i = video_combo.get_active_row_number();
+ if (i != 1) {
scale_combo.set_sensitive(false);
aspect_checkbox.set_sensitive(false);
height_spinner.set_sensitive(false);
bitrate_checkbox.set_sensitive(true);
bitrate_spinner.set_sensitive(true);
}
+ if (i == 2 && audio_combo.get_active_row_number() == 0) {
+ audio_combo.set_active(1);
+ }
}
void
TranscodeVideoDialog::audio_combo_changed ()
{
- ;
+ if (video_combo.get_active_row_number() == 2
+ && audio_combo.get_active_row_number() == 0)
+ {
+ audio_combo.set_active(1);
+ }
}
void