dropzone: honor AutoConnectMaster.
authorRobin Gareus <robin@gareus.org>
Fri, 27 Mar 2015 18:01:19 +0000 (19:01 +0100)
committerRobin Gareus <robin@gareus.org>
Fri, 27 Mar 2015 18:22:21 +0000 (19:22 +0100)
gtk2_ardour/editor_canvas_events.cc
gtk2_ardour/editor_drag.cc

index 157f6cfe2d9e3704fcf35afd7d8d7966598f7376..8af5389e7066e62e46fac758409f8304277ed1fd 100644 (file)
@@ -1287,8 +1287,12 @@ Editor::drop_regions (const Glib::RefPtr<Gdk::DragContext>& /*context*/,
        } else {
                try {
                        if (boost::dynamic_pointer_cast<AudioRegion> (region)) {
+                               uint32_t output_chan = region->n_channels();
+                               if ((Config->get_output_auto_connect() & AutoConnectMaster) && session()->master_out()) {
+                                       output_chan =  session()->master_out()->n_inputs().n_audio();
+                               }
                                list<boost::shared_ptr<AudioTrack> > audio_tracks;
-                               audio_tracks = session()->new_audio_track (region->n_channels(), region->n_channels(), ARDOUR::Normal, 0, 1, region->name());
+                               audio_tracks = session()->new_audio_track (region->n_channels(), output_chan, ARDOUR::Normal, 0, 1, region->name());
                                rtav = axis_view_from_route (audio_tracks.front());
                        } else if (boost::dynamic_pointer_cast<MidiRegion> (region)) {
                                ChanCount one_midi_port (DataType::MIDI, 1);
index 6f1abba69cfe3d4a19e7af38429abce88c4b9021..d0f9f260ee3e8801b72729ac7c4041fb53380ce6 100644 (file)
@@ -1357,7 +1357,11 @@ RegionMoveDrag::create_destination_time_axis (boost::shared_ptr<Region> region,
        try {
                if (boost::dynamic_pointer_cast<AudioRegion> (region)) {
                        list<boost::shared_ptr<AudioTrack> > audio_tracks;
-                       audio_tracks = _editor->session()->new_audio_track (region->n_channels(), region->n_channels(), ARDOUR::Normal, 0, 1, region->name());
+                       uint32_t output_chan = region->n_channels();
+                       if ((Config->get_output_auto_connect() & AutoConnectMaster) && _editor->session()->master_out()) {
+                               output_chan =  _editor->session()->master_out()->n_inputs().n_audio();
+                       }
+                       audio_tracks = _editor->session()->new_audio_track (region->n_channels(), output_chan, ARDOUR::Normal, 0, 1, region->name());
                        RouteTimeAxisView* rtav = _editor->axis_view_from_route (audio_tracks.front());
                        if (rtav) {
                                rtav->set_height (original->current_height());