From fc65097686c705f009fa075d18e5a2dbd60f0ba5 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Fri, 6 Mar 2020 03:19:07 +0100 Subject: [PATCH] Remove region-output export (GUI) This use-case is better served via stem-export. This export mode never worked correctly when latent plugins are present on the track. or when realtime export was chosen. This used to call track.export_stuff() -> bounce_process() periodically in small chunks from freewheeling callback, which is no longer functional. --- gtk2_ardour/export_channel_selector.cc | 16 ++-------------- gtk2_ardour/export_channel_selector.h | 2 -- gtk2_ardour/export_dialog.cc | 13 +------------ libs/ardour/ardour/export_channel.h | 1 - 4 files changed, 3 insertions(+), 29 deletions(-) diff --git a/gtk2_ardour/export_channel_selector.cc b/gtk2_ardour/export_channel_selector.cc index d55a223b93..2e59e4c140 100644 --- a/gtk2_ardour/export_channel_selector.cc +++ b/gtk2_ardour/export_channel_selector.cc @@ -463,11 +463,9 @@ RegionExportChannelSelector::RegionExportChannelSelector (ARDOUR::Session * _ses region (region), track (track), region_chans (region.n_channels()), - track_chans (track.n_outputs().n_audio()), raw_button (type_group), - fades_button (type_group), - processed_button (type_group) + fades_button (type_group) { pack_start (vbox); @@ -483,10 +481,6 @@ RegionExportChannelSelector::RegionExportChannelSelector (ARDOUR::Session * _ses fades_button.signal_toggled ().connect (sigc::mem_fun (*this, &RegionExportChannelSelector::handle_selection)); vbox.pack_start (fades_button, false, false); - processed_button.set_label (string_compose (_("Track output (channels: %1)"), track_chans)); - processed_button.signal_toggled ().connect (sigc::mem_fun (*this, &RegionExportChannelSelector::handle_selection)); - vbox.pack_start (processed_button, false, false); - sync_with_manager(); vbox.show_all_children (); show_all_children (); @@ -509,9 +503,6 @@ RegionExportChannelSelector::sync_with_manager () case RegionExportChannelFactory::Fades: fades_button.set_active (true); break; - case RegionExportChannelFactory::Processed: - processed_button.set_active (true); - break; } handle_selection (); @@ -531,8 +522,6 @@ RegionExportChannelSelector::handle_selection () type = RegionExportChannelFactory::Raw; } else if (fades_button.get_active ()) { type = RegionExportChannelFactory::Fades; - } else if (processed_button.get_active ()) { - type = RegionExportChannelFactory::Processed; } else { CriticalSelectionChanged (); return; @@ -541,8 +530,7 @@ RegionExportChannelSelector::handle_selection () factory.reset (new RegionExportChannelFactory (_session, region, track, type)); state->config->set_region_processing_type (type); - const size_t cc = type == RegionExportChannelFactory::Processed ? track_chans : region_chans; - for (size_t chan = 0; chan < cc; ++chan) { + for (size_t chan = 0; chan < region_chans; ++chan) { state->config->register_channel (factory->create (chan)); } diff --git a/gtk2_ardour/export_channel_selector.h b/gtk2_ardour/export_channel_selector.h index 08eab87ebd..ed131576dd 100644 --- a/gtk2_ardour/export_channel_selector.h +++ b/gtk2_ardour/export_channel_selector.h @@ -231,7 +231,6 @@ private: ARDOUR::AudioTrack & track; uint32_t region_chans; - uint32_t track_chans; /*** GUI components ***/ @@ -240,7 +239,6 @@ private: Gtk::RadioButtonGroup type_group; Gtk::RadioButton raw_button; Gtk::RadioButton fades_button; - Gtk::RadioButton processed_button; }; class TrackExportChannelSelector : public ExportChannelSelector diff --git a/gtk2_ardour/export_dialog.cc b/gtk2_ardour/export_dialog.cc index 4a266d9f2f..e4a40a6c99 100644 --- a/gtk2_ardour/export_dialog.cc +++ b/gtk2_ardour/export_dialog.cc @@ -293,22 +293,11 @@ ExportDialog::update_realtime_selection () bool rt_ok = true; switch (profile_manager->type ()) { case ExportProfileManager::RegularExport: - break; case ExportProfileManager::RangeExport: - break; case ExportProfileManager::SelectionExport: break; case ExportProfileManager::RegionExport: - if (!profile_manager->get_channel_configs().empty ()) { - switch (profile_manager->get_channel_configs().front()->config->region_processing_type ()) { - case RegionExportChannelFactory::Raw: - case RegionExportChannelFactory::Fades: - rt_ok = false; - break; - default: - break; - } - } + rt_ok = false; break; case ExportProfileManager::StemExport: if (! static_cast(channel_selector.get())->track_output ()) { diff --git a/libs/ardour/ardour/export_channel.h b/libs/ardour/ardour/export_channel.h index ca23eadc67..aa504eb8da 100644 --- a/libs/ardour/ardour/export_channel.h +++ b/libs/ardour/ardour/export_channel.h @@ -105,7 +105,6 @@ class LIBARDOUR_API RegionExportChannelFactory None, Raw, Fades, - Processed }; RegionExportChannelFactory (Session * session, AudioRegion const & region, AudioTrack & track, Type type);