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.
This commit is contained in:
parent
e8776d39fe
commit
5f27382b88
|
@ -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"));
|
||||
|
@ -661,33 +640,6 @@ AddRouteDialog::track_type_chosen ()
|
|||
insert_label.set_sensitive (true);
|
||||
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:
|
||||
|
||||
|
@ -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);
|
||||
|
|
|
@ -69,7 +69,6 @@ public:
|
|||
enum TypeWanted {
|
||||
AudioTrack,
|
||||
MidiTrack,
|
||||
MixedTrack,
|
||||
AudioBus,
|
||||
MidiBus,
|
||||
VCAMaster,
|
||||
|
|
|
@ -1382,40 +1382,8 @@ ARDOUR_UI::update_wall_clock ()
|
|||
}
|
||||
|
||||
void
|
||||
ARDOUR_UI::session_add_mixed_track (
|
||||
const ChanCount& input,
|
||||
const ChanCount& output,
|
||||
RouteGroup* route_group,
|
||||
uint32_t how_many,
|
||||
const string& name_template,
|
||||
bool strict_io,
|
||||
PluginInfoPtr instrument,
|
||||
Plugin::PresetRecord* pset,
|
||||
ARDOUR::PresentationInfo::order_t order)
|
||||
{
|
||||
assert (_session);
|
||||
|
||||
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 (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;
|
||||
}
|
||||
}
|
||||
|
||||
catch (...) {
|
||||
display_insufficient_ports_message ();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
ARDOUR_UI::session_add_midi_bus (
|
||||
ARDOUR_UI::session_add_midi_route (
|
||||
bool disk,
|
||||
RouteGroup* route_group,
|
||||
uint32_t how_many,
|
||||
const string& name_template,
|
||||
|
@ -1434,12 +1402,28 @@ ARDOUR_UI::session_add_midi_bus (
|
|||
}
|
||||
|
||||
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;
|
||||
}
|
||||
if (disk) {
|
||||
|
||||
ChanCount one_midi_channel;
|
||||
one_midi_channel.set (DataType::MIDI, 1);
|
||||
|
||||
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);
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
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 ();
|
||||
|
@ -1447,27 +1431,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,
|
||||
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue
Block a user