diff --git a/libs/ardour/ardour/session.h b/libs/ardour/ardour/session.h index 6c33ab21aa..1876816b9f 100644 --- a/libs/ardour/ardour/session.h +++ b/libs/ardour/ardour/session.h @@ -738,7 +738,7 @@ public: PresentationInfo::order_t order, TrackMode mode = Normal, bool input_auto_connect = true, - bool with_triggers = true + bool with_triggers = false ); std::list > new_midi_track ( @@ -749,7 +749,7 @@ public: PresentationInfo::order_t, TrackMode mode, bool input_auto_connect, - bool with_triggers = true + bool with_triggers = false ); RouteList new_audio_route (int input_channels, int output_channels, RouteGroup* route_group, uint32_t how_many, std::string name_template, PresentationInfo::Flag, PresentationInfo::order_t); diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc index fdca83ab4c..e7f23806eb 100644 --- a/libs/ardour/session.cc +++ b/libs/ardour/session.cc @@ -2468,11 +2468,7 @@ Session::new_midi_track (const ChanCount& input, const ChanCount& output, bool s route_group->add (track); } - if (with_triggers) { - boost::shared_ptr triggers (new TriggerBox (*this, DataType::MIDI)); - track->add_processor (triggers, track->polarity()); - track->presentation_info ().set_trigger_track (true); - } + track->presentation_info ().set_trigger_track (with_triggers); new_routes.push_back (track); ret.push_back (track); @@ -2735,16 +2731,7 @@ Session::new_audio_track (int input_channels, int output_channels, RouteGroup* r route_group->add (track); } - if (with_triggers) { - boost::shared_ptr tb (new TriggerBox (*this, DataType::AUDIO)); - track->add_processor (tb, track->polarity()); - /* if placing this in a route where the default - * data type is AUDIO, the triggerbox will need - * a sidehcain MIDI input to be able to be MIDI controlled - */ - tb->add_midi_sidechain (); - track->presentation_info ().set_trigger_track (true); - } + track->presentation_info ().set_trigger_track (with_triggers); new_routes.push_back (track); ret.push_back (track); diff --git a/libs/ardour/track.cc b/libs/ardour/track.cc index 5b749f3b99..32ac264163 100644 --- a/libs/ardour/track.cc +++ b/libs/ardour/track.cc @@ -39,6 +39,7 @@ #include "ardour/monitor_control.h" #include "ardour/playlist.h" #include "ardour/playlist_factory.h" +#include "ardour/polarity_processor.h" #include "ardour/port.h" #include "ardour/processor.h" #include "ardour/profile.h" @@ -50,6 +51,7 @@ #include "ardour/session_playlists.h" #include "ardour/smf_source.h" #include "ardour/track.h" +#include "ardour/triggerbox.h" #include "ardour/types_convert.h" #include "ardour/utils.h" @@ -99,6 +101,17 @@ Track::init () _disk_writer->set_block_size (_session.get_block_size ()); _disk_writer->set_owner (this); + boost::shared_ptr tb (new TriggerBox (_session, data_type ())); + tb->set_owner (this); + add_processor (tb, _polarity); + if (data_type () == DataType::AUDIO) { + /* if placing this in a route where the default + * data type is AUDIO, the triggerbox will need + * a sidehcain MIDI input to be able to be MIDI controlled + */ + tb->add_midi_sidechain (); + } + set_align_choice_from_io (); boost::shared_ptr rp (boost::dynamic_pointer_cast (shared_from_this()));