Check if format is valid before starting export

This can happen if e.g. mp3 export is n/a, but a mp3
preset is present.
This commit is contained in:
Robin Gareus 2022-11-04 21:57:53 +01:00
parent 15e1b8f675
commit f807ea6ea2
No known key found for this signature in database
GPG key ID: A090BCE02CF57F04
2 changed files with 28 additions and 0 deletions

View file

@ -125,6 +125,7 @@ SimpleExportDialog::set_session (ARDOUR::Session* s)
ArdourDialog::set_session (s);
_range_combo.remove_all ();
_preset_cfg_connection.disconnect ();
if (!s) {
_export_button->set_sensitive (false);
@ -166,6 +167,31 @@ SimpleExportDialog::set_session (ARDOUR::Session* s)
_range_combo.set_active (0);
_range_combo.set_sensitive (true);
_export_button->set_sensitive (true);
_preset_cfg_connection = _eps.CriticalSelectionChanged.connect (sigc::mem_fun (*this, &SimpleExportDialog::check_manager));
}
void
SimpleExportDialog::check_manager ()
{
bool ok = _manager && _manager->preset ();
if (ok && _manager->get_formats ().empty ()) {
ok = false;
}
if (ok) {
/* check for NULL ExportFormatSpecPtr */
auto fms = _manager->get_formats ();
for (auto const& fm : fms) {
if (!fm->format) {
ok = false;
break;
}
}
}
_export_button->set_sensitive (ok);
}
void