Plugin::PresetRecord* pset,
ARDOUR::PresentationInfo::order_t order)
{
- list<boost::shared_ptr<MidiTrack> > tracks;
-
if (_session == 0) {
warning << _("You cannot add a track without a session already loaded.") << endmsg;
return;
}
+ if (Profile->get_mixbus ()) {
+ strict_io = true;
+ }
+
try {
- tracks = _session->new_midi_track (input, output, instrument, pset, route_group, how_many, name_template, order, ARDOUR::Normal);
+ 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;
display_insufficient_ports_message ();
return;
}
-
- if (strict_io) {
- for (list<boost::shared_ptr<MidiTrack> >::iterator i = tracks.begin(); i != tracks.end(); ++i) {
- (*i)->set_strict_io (true);
- }
- }
}
void
Plugin::PresetRecord* pset,
ARDOUR::PresentationInfo::order_t order)
{
- RouteList routes;
-
if (_session == 0) {
warning << _("You cannot add a track without a session already loaded.") << endmsg;
return;
}
- try {
+ if (Profile->get_mixbus ()) {
+ strict_io = true;
+ }
- routes = _session->new_midi_route (route_group, how_many, name_template, instrument, pset, PresentationInfo::MidiBus, order);
+ 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;
}
display_insufficient_ports_message ();
return;
}
-
- if (strict_io) {
- for (RouteList::iterator i = routes.begin(); i != routes.end(); ++i) {
- (*i)->set_strict_io (true);
- }
- }
}
void
#include "ardour/midi_region.h"
#include "ardour/midi_track.h"
#include "ardour/operations.h"
+#include "ardour/profile.h"
#include "ardour/region_factory.h"
#include "ardour/smf_source.h"
#include "ardour/source_factory.h"
list<boost::shared_ptr<MidiTrack> > mt (
_session->new_midi_track (ChanCount (DataType::MIDI, 1),
ChanCount (DataType::MIDI, 1),
+ Config->get_strict_io () || Profile->get_mixbus (),
instrument, (Plugin::PresetRecord*) 0,
(RouteGroup*) 0,
1,
if (mt.empty()) {
return -1;
}
- if (Config->get_strict_io ()) {
- for (list<boost::shared_ptr<MidiTrack> >::iterator i = mt.begin(); i != mt.end(); ++i) {
- (*i)->set_strict_io (true);
- }
- }
// TODO set strict_io from preferences
existing_track = mt.front();
} else if (boost::dynamic_pointer_cast<MidiRegion> (region)) {
ChanCount one_midi_port (DataType::MIDI, 1);
list<boost::shared_ptr<MidiTrack> > midi_tracks;
- midi_tracks = session()->new_midi_track (one_midi_port, one_midi_port, boost::shared_ptr<ARDOUR::PluginInfo>(),
+ midi_tracks = session()->new_midi_track (one_midi_port, one_midi_port,
+ Config->get_strict_io () || Profile->get_mixbus (),
+ boost::shared_ptr<ARDOUR::PluginInfo>(),
(ARDOUR::Plugin::PresetRecord*) 0,
(ARDOUR::RouteGroup*) 0, 1, region->name(), PresentationInfo::max_order);
rtav = dynamic_cast<RouteTimeAxisView*> (axis_view_from_stripable (midi_tracks.front()));
#include "ardour/midi_region.h"
#include "ardour/midi_track.h"
#include "ardour/operations.h"
+#include "ardour/profile.h"
#include "ardour/region_factory.h"
#include "ardour/session.h"
} else {
ChanCount one_midi_port (DataType::MIDI, 1);
list<boost::shared_ptr<MidiTrack> > midi_tracks;
- midi_tracks = _editor->session()->new_midi_track (one_midi_port, one_midi_port, boost::shared_ptr<ARDOUR::PluginInfo>(),
+ midi_tracks = _editor->session()->new_midi_track (one_midi_port, one_midi_port,
+ Config->get_strict_io () || Profile->get_mixbus (),
+ boost::shared_ptr<ARDOUR::PluginInfo>(),
(ARDOUR::Plugin::PresetRecord*) 0,
(ARDOUR::RouteGroup*) 0, 1, region->name(), PresentationInfo::max_order);
tav = _editor->axis_view_from_stripable (midi_tracks.front());