GUI follow up for new-MIDI-track API change
This commit is contained in:
parent
b588be2dea
commit
7960e1ddbf
|
@ -1940,15 +1940,18 @@ ARDOUR_UI::session_add_mixed_track (
|
|||
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;
|
||||
|
@ -1959,12 +1962,6 @@ ARDOUR_UI::session_add_mixed_track (
|
|||
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
|
||||
|
@ -1977,16 +1974,18 @@ ARDOUR_UI::session_add_midi_bus (
|
|||
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;
|
||||
}
|
||||
|
@ -1996,12 +1995,6 @@ ARDOUR_UI::session_add_midi_bus (
|
|||
display_insufficient_ports_message ();
|
||||
return;
|
||||
}
|
||||
|
||||
if (strict_io) {
|
||||
for (RouteList::iterator i = routes.begin(); i != routes.end(); ++i) {
|
||||
(*i)->set_strict_io (true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -39,6 +39,7 @@
|
|||
#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"
|
||||
|
@ -1029,6 +1030,7 @@ Editor::finish_bringing_in_material (boost::shared_ptr<Region> region,
|
|||
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,
|
||||
|
@ -1038,11 +1040,6 @@ Editor::finish_bringing_in_material (boost::shared_ptr<Region> region,
|
|||
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();
|
||||
|
|
|
@ -1295,7 +1295,9 @@ Editor::drop_regions (const Glib::RefPtr<Gdk::DragContext>& /*context*/,
|
|||
} 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()));
|
||||
|
|
|
@ -37,6 +37,7 @@
|
|||
#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"
|
||||
|
||||
|
@ -1442,7 +1443,9 @@ RegionMoveDrag::create_destination_time_axis (boost::shared_ptr<Region> region,
|
|||
} 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());
|
||||
|
|
Loading…
Reference in New Issue