add triggers to trigger tracks
This commit is contained in:
parent
84790dff1d
commit
73e19c8fa7
@ -169,6 +169,15 @@ AddRouteDialog::AddRouteDialog ()
|
||||
"* " + _("The number of busses to add") + "\n" +
|
||||
"* " + _("A name for the buss(es)")
|
||||
));
|
||||
|
||||
builtin_types.push_back (
|
||||
std::pair<string,string> (_("Trigger Tracks"), std::string () +
|
||||
_("Use these settings to create one or more trigger tracks.") + "\n\n" +
|
||||
_("Trigger tracks contain audio/MIDI regions that can be triggered on demand.") + "\n\n" +
|
||||
_("You may select:") + "\n" +
|
||||
"* " + _("The number of tracks to add") + "\n" +
|
||||
"* " + _("A name for the track(s)")
|
||||
));
|
||||
}
|
||||
|
||||
insert_at_combo.append_text (_("First"));
|
||||
@ -583,6 +592,8 @@ AddRouteDialog::type_wanted()
|
||||
return VCAMaster;
|
||||
} else if (str == _("Foldback Busses")) {
|
||||
return FoldbackBus;
|
||||
} else if (str == _("Trigger Tracks")) {
|
||||
return TriggerTrack;
|
||||
} else {
|
||||
assert (0);
|
||||
return AudioTrack;
|
||||
|
@ -73,6 +73,7 @@ public:
|
||||
MidiBus,
|
||||
VCAMaster,
|
||||
FoldbackBus,
|
||||
TriggerTrack,
|
||||
};
|
||||
TypeWanted type_wanted();
|
||||
|
||||
|
@ -1507,7 +1507,8 @@ ARDOUR_UI::session_add_midi_route (
|
||||
bool strict_io,
|
||||
PluginInfoPtr instrument,
|
||||
Plugin::PresetRecord* pset,
|
||||
ARDOUR::PresentationInfo::order_t order)
|
||||
ARDOUR::PresentationInfo::order_t order,
|
||||
bool with_triggers)
|
||||
{
|
||||
if (_session == 0) {
|
||||
warning << _("You cannot add a track without a session already loaded.") << endmsg;
|
||||
@ -1525,7 +1526,7 @@ ARDOUR_UI::session_add_midi_route (
|
||||
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, true);
|
||||
tracks = _session->new_midi_track (one_midi_channel, one_midi_channel, strict_io, instrument, pset, route_group, how_many, name_template, order, ARDOUR::Normal, true, with_triggers);
|
||||
|
||||
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;
|
||||
@ -2860,10 +2861,13 @@ ARDOUR_UI::add_route_dialog_response (int r)
|
||||
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);
|
||||
session_add_midi_route (true, route_group, count, name_template, strict_io, instrument, 0, order, false);
|
||||
break;
|
||||
case AddRouteDialog::TriggerTrack:
|
||||
session_add_midi_route (true, route_group, count, name_template, strict_io, instrument, 0, order, true);
|
||||
break;
|
||||
case AddRouteDialog::MidiBus:
|
||||
session_add_midi_route (false, 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, false);
|
||||
break;
|
||||
case AddRouteDialog::VCAMaster:
|
||||
_session->vca_manager().create_vca (count, name_template);
|
||||
|
@ -325,7 +325,7 @@ public:
|
||||
|
||||
void session_add_midi_route (bool, ARDOUR::RouteGroup *, uint32_t, std::string const &, bool,
|
||||
ARDOUR::PluginInfoPtr, ARDOUR::Plugin::PresetRecord*,
|
||||
ARDOUR::PresentationInfo::order_t order);
|
||||
ARDOUR::PresentationInfo::order_t order, bool with_triggers);
|
||||
|
||||
void session_add_foldback_bus (int32_t, uint32_t, std::string const &);
|
||||
|
||||
|
@ -2427,7 +2427,7 @@ Mixer_UI::scroller_drag_data_received (const Glib::RefPtr<Gdk::DragContext>& con
|
||||
if (!pip->is_instrument ()) {
|
||||
continue;
|
||||
}
|
||||
ARDOUR_UI::instance()->session_add_midi_route (true, (RouteGroup*) 0, 1, _("MIDI"), Config->get_strict_io (), pip, ppp->_preset.valid ? &ppp->_preset : 0, PresentationInfo::max_order);
|
||||
ARDOUR_UI::instance()->session_add_midi_route (true, (RouteGroup*) 0, 1, _("MIDI"), Config->get_strict_io (), pip, ppp->_preset.valid ? &ppp->_preset : 0, PresentationInfo::max_order, false);
|
||||
ok = true;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user