summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2020-03-19 16:03:28 +0100
committerRobin Gareus <robin@gareus.org>2020-03-19 16:18:48 +0100
commit5f27382b882557c52a99e2924e875b5b43d6a7d4 (patch)
tree339f537036a0d41d8ded7db62b26d75dd8f9c581
parente8776d39fed085ed1920724906b81c969fa24573 (diff)
Remove Audio+MIDI track, and consolidate route creation methods
Audio+MIDI tracks were just MIDI tracks with an additional audio input, and do not directly allow use of vocoders (an instrument is loaded by default). For pitch-correction or similar use-cases one would prefer an audio-track (main data) with MIDI only being used as control-input. Ardour 5/6 pin-connections and side-chain offer a much nicer workflow for this setup. Alternatively one can get those tracks-types by manually adding an input port to an existing track, and creating a custom template.
-rw-r--r--gtk2_ardour/add_route_dialog.cc54
-rw-r--r--gtk2_ardour/add_route_dialog.h1
-rw-r--r--gtk2_ardour/ardour_ui.cc92
-rw-r--r--gtk2_ardour/ardour_ui.h9
4 files changed, 26 insertions, 130 deletions
diff --git a/gtk2_ardour/add_route_dialog.cc b/gtk2_ardour/add_route_dialog.cc
index 18f02885c2..090a14676e 100644
--- a/gtk2_ardour/add_route_dialog.cc
+++ b/gtk2_ardour/add_route_dialog.cc
@@ -123,22 +123,6 @@ AddRouteDialog::AddRouteDialog ()
"\n" + _("The track(s) will be added at the location specified by \"Position\"")
));
-#ifndef MIXBUS
- builtin_types.push_back (
- std::pair<string,string> (_("Audio+MIDI Tracks"), std::string () +
- _("Use these settings to create one or more Audio+MIDI tracks.") + "\n\n" +
- _("You may select:") + "\n" +
- "* " + _("The number of tracks to add") + "\n" +
- "* " + _("A name for the track(s)") + "\n" +
- "* " + _("An instrument plugin (or select \"None\" to drive an external device)") + "\n" +
- "* " + _("A group which the track(s) will be assigned to") + "\n" +
-#ifndef MIXBUS
- "* " + _("The pin connections mode (see tooltip for details)") + "\n" +
-#endif
- "\n" + _("The track(s) will be added at the location specified by \"Position\"")
- ));
-#endif
-
builtin_types.push_back (
std::pair<string,string> (_("Audio Busses"), std::string () +
_("Use these settings to create one or more audio busses.") + "\n\n" +
@@ -570,8 +554,6 @@ AddRouteDialog::type_wanted()
return MidiBus;
} else if (str == _("MIDI Tracks")){
return MidiTrack;
- } else if (str == _("Audio+MIDI Tracks")) {
- return MixedTrack;
} else if (str == _("Audio Tracks")) {
return AudioTrack;
} else if (str == _("VCA Masters")) {
@@ -598,9 +580,6 @@ AddRouteDialog::maybe_update_name_template_entry ()
case MidiTrack:
name_template_entry.set_text (_("MIDI"));
break;
- case MixedTrack:
- name_template_entry.set_text (_("Audio+MIDI"));
- break;
case AudioBus:
case MidiBus:
name_template_entry.set_text (_("Bus"));
@@ -662,33 +641,6 @@ AddRouteDialog::track_type_chosen ()
insert_at_combo.set_sensitive (true);
break;
- case MixedTrack:
- {
- ArdourMessageDialog msg (_("Audio+MIDI tracks are intended for use <b>ONLY</b> with plugins that use both audio and MIDI input data.\n\n"
- "Use a normal audio or MIDI track if you do not plan to use such a plugin."),
- true, MESSAGE_INFO, BUTTONS_OK, true);
- msg.run ();
- }
-
- configuration_label.set_sensitive (true);
- channel_combo.set_sensitive (true);
-
- mode_label.set_sensitive (true);
- mode_combo.set_sensitive (true);
-
- instrument_label.set_sensitive (true);
- instrument_combo.set_sensitive (true);
-
- group_label.set_sensitive (true);
- route_group_combo.set_sensitive (true);
-
- strict_io_label.set_sensitive (true);
- strict_io_combo.set_sensitive (true);
-
- insert_label.set_sensitive (true);
- insert_at_combo.set_sensitive (true);
-
- break;
case AudioBus:
configuration_label.set_sensitive (true);
@@ -791,7 +743,6 @@ AddRouteDialog::name_template_is_default () const
if (n == _("Audio") ||
n == _("MIDI") ||
- n == _("Audio+MIDI") ||
n == _("Bus") ||
n == _("Foldback") ||
n == VCA::default_name_template()) {
@@ -863,11 +814,6 @@ AddRouteDialog::channels ()
ret.set (DataType::MIDI, 1);
break;
- case MixedTrack:
- ret.set (DataType::AUDIO, channel_count ());
- ret.set (DataType::MIDI, 1);
- break;
-
case FoldbackBus:
ret.set (DataType::AUDIO, channel_count ());
ret.set (DataType::MIDI, 0);
diff --git a/gtk2_ardour/add_route_dialog.h b/gtk2_ardour/add_route_dialog.h
index e9467741d7..053395562b 100644
--- a/gtk2_ardour/add_route_dialog.h
+++ b/gtk2_ardour/add_route_dialog.h
@@ -69,7 +69,6 @@ public:
enum TypeWanted {
AudioTrack,
MidiTrack,
- MixedTrack,
AudioBus,
MidiBus,
VCAMaster,
diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc
index b9bca8c988..6f9c544db4 100644
--- a/gtk2_ardour/ardour_ui.cc
+++ b/gtk2_ardour/ardour_ui.cc
@@ -1382,9 +1382,8 @@ ARDOUR_UI::update_wall_clock ()
}
void
-ARDOUR_UI::session_add_mixed_track (
- const ChanCount& input,
- const ChanCount& output,
+ARDOUR_UI::session_add_midi_route (
+ bool disk,
RouteGroup* route_group,
uint32_t how_many,
const string& name_template,
@@ -1393,53 +1392,38 @@ ARDOUR_UI::session_add_mixed_track (
Plugin::PresetRecord* pset,
ARDOUR::PresentationInfo::order_t order)
{
- assert (_session);
+ if (_session == 0) {
+ warning << _("You cannot add a track without a session already loaded.") << endmsg;
+ return;
+ }
if (Profile->get_mixbus ()) {
strict_io = true;
}
try {
- list<boost::shared_ptr<MidiTrack> > tracks;
- tracks = _session->new_midi_track (input, output, strict_io, instrument, pset, route_group, how_many, name_template, order, ARDOUR::Normal);
+ if (disk) {
- if (tracks.size() != how_many) {
- error << string_compose(P_("could not create %1 new mixed track", "could not create %1 new mixed tracks", how_many), how_many) << endmsg;
- }
- }
+ ChanCount one_midi_channel;
+ one_midi_channel.set (DataType::MIDI, 1);
- catch (...) {
- display_insufficient_ports_message ();
- return;
- }
-}
+ list<boost::shared_ptr<MidiTrack> > tracks;
+ tracks = _session->new_midi_track (one_midi_channel, one_midi_channel, strict_io, instrument, pset, route_group, how_many, name_template, order, ARDOUR::Normal);
-void
-ARDOUR_UI::session_add_midi_bus (
- RouteGroup* route_group,
- uint32_t how_many,
- const string& name_template,
- bool strict_io,
- PluginInfoPtr instrument,
- Plugin::PresetRecord* pset,
- ARDOUR::PresentationInfo::order_t order)
-{
- if (_session == 0) {
- warning << _("You cannot add a track without a session already loaded.") << endmsg;
- return;
- }
+ if (tracks.size() != how_many) {
+ error << string_compose(P_("could not create %1 new mixed track", "could not create %1 new mixed tracks", how_many), how_many) << endmsg;
+ }
- if (Profile->get_mixbus ()) {
- strict_io = true;
- }
+ } else {
- try {
- RouteList routes;
- routes = _session->new_midi_route (route_group, how_many, name_template, strict_io, instrument, pset, PresentationInfo::MidiBus, order);
- if (routes.size() != how_many) {
- error << string_compose(P_("could not create %1 new Midi Bus", "could not create %1 new Midi Busses", how_many), how_many) << endmsg;
- }
+ RouteList routes;
+ routes = _session->new_midi_route (route_group, how_many, name_template, strict_io, instrument, pset, PresentationInfo::MidiBus, order);
+ if (routes.size() != how_many) {
+ error << string_compose(P_("could not create %1 new Midi Bus", "could not create %1 new Midi Busses", how_many), how_many) << endmsg;
+ }
+
+ }
}
catch (...) {
display_insufficient_ports_message ();
@@ -1448,27 +1432,6 @@ ARDOUR_UI::session_add_midi_bus (
}
void
-ARDOUR_UI::session_add_midi_route (
- bool disk,
- RouteGroup* route_group,
- uint32_t how_many,
- const string& name_template,
- bool strict_io,
- PluginInfoPtr instrument,
- Plugin::PresetRecord* pset,
- ARDOUR::PresentationInfo::order_t order)
-{
- ChanCount one_midi_channel;
- one_midi_channel.set (DataType::MIDI, 1);
-
- if (disk) {
- session_add_mixed_track (one_midi_channel, one_midi_channel, route_group, how_many, name_template, strict_io, instrument, pset, order);
- } else {
- session_add_midi_bus (route_group, how_many, name_template, strict_io, instrument, pset, order);
- }
-}
-
-void
ARDOUR_UI::session_add_audio_route (
bool track,
int32_t input_channels,
@@ -2711,17 +2674,14 @@ ARDOUR_UI::add_route_dialog_response (int r)
case AddRouteDialog::AudioTrack:
session_add_audio_route (true, input_chan.n_audio(), output_chan.n_audio(), add_route_dialog->mode(), route_group, count, name_template, strict_io, order);
break;
- case AddRouteDialog::MidiTrack:
- session_add_midi_route (true, route_group, count, name_template, strict_io, instrument, 0, order);
- break;
- case AddRouteDialog::MixedTrack:
- session_add_mixed_track (input_chan, output_chan, route_group, count, name_template, strict_io, instrument, 0, order);
- break;
case AddRouteDialog::AudioBus:
session_add_audio_route (false, input_chan.n_audio(), output_chan.n_audio(), ARDOUR::Normal, route_group, count, name_template, strict_io, order);
break;
+ case AddRouteDialog::MidiTrack:
+ session_add_midi_route (true, route_group, count, name_template, strict_io, instrument, 0, order);
+ break;
case AddRouteDialog::MidiBus:
- session_add_midi_bus (route_group, count, name_template, strict_io, instrument, 0, order);
+ session_add_midi_route (false, route_group, count, name_template, strict_io, instrument, 0, order);
break;
case AddRouteDialog::VCAMaster:
_session->vca_manager().create_vca (count, name_template);
diff --git a/gtk2_ardour/ardour_ui.h b/gtk2_ardour/ardour_ui.h
index bc61f054d5..7d55b976af 100644
--- a/gtk2_ardour/ardour_ui.h
+++ b/gtk2_ardour/ardour_ui.h
@@ -315,15 +315,6 @@ public:
void session_add_audio_route (bool, int32_t, int32_t, ARDOUR::TrackMode, ARDOUR::RouteGroup *,
uint32_t, std::string const &, bool, ARDOUR::PresentationInfo::order_t order);
- void session_add_mixed_track (const ARDOUR::ChanCount&, const ARDOUR::ChanCount&, ARDOUR::RouteGroup*,
- uint32_t, std::string const &, bool strict_io,
- ARDOUR::PluginInfoPtr, ARDOUR::Plugin::PresetRecord* pset,
- ARDOUR::PresentationInfo::order_t order);
-
- void session_add_midi_bus (ARDOUR::RouteGroup*, uint32_t, std::string const &, bool strict_io,
- ARDOUR::PluginInfoPtr, ARDOUR::Plugin::PresetRecord* pset,
- ARDOUR::PresentationInfo::order_t order);
-
void session_add_midi_route (bool, ARDOUR::RouteGroup *, uint32_t, std::string const &, bool,
ARDOUR::PluginInfoPtr, ARDOUR::Plugin::PresetRecord*,
ARDOUR::PresentationInfo::order_t order);