set owner or disk-i/o processors
[ardour.git] / libs / ardour / track.cc
index 45e4bce9b09886bedd55c19ece87e4aaf89ac628..f56554791506908a663ca9992e0c57460fcf71e5 100644 (file)
@@ -91,17 +91,17 @@ Track::init ()
 
        if (_mode == Destructive && !Profile->get_trx()) {
                dflags = DiskIOProcessor::Flag (dflags | DiskIOProcessor::Destructive);
-       } else if (_mode == NonLayered){
-               dflags = DiskIOProcessor::Flag(dflags | DiskIOProcessor::NonLayered);
        }
 
        _disk_reader.reset (new DiskReader (_session, name(), dflags));
        _disk_reader->set_block_size (_session.get_block_size ());
        _disk_reader->set_route (boost::dynamic_pointer_cast<Route> (shared_from_this()));
+       _disk_reader->set_owner (this);
 
        _disk_writer.reset (new DiskWriter (_session, name(), dflags));
        _disk_writer->set_block_size (_session.get_block_size ());
        _disk_writer->set_route (boost::dynamic_pointer_cast<Route> (shared_from_this()));
+       _disk_writer->set_owner (this);
 
        set_align_choice_from_io ();
 
@@ -1035,9 +1035,9 @@ Track::use_captured_midi_sources (SourceList& srcs, CaptureInfos const & capture
                        continue; /* XXX is this OK? */
                }
 
-               // cerr << "add new region, buffer position = " << buffer_position << " @ " << (*ci)->start << endl;
+               cerr << "add new region, len = " << (*ci)->samples << " @ " << (*ci)->start << endl;
 
-               pl->add_region (midi_region, (*ci)->start + preroll_off, _disk_writer->non_layered());
+               pl->add_region (midi_region, (*ci)->start + preroll_off, 1, _session.config.get_layered_record_mode ());
        }
 
        pl->thaw ();
@@ -1139,7 +1139,7 @@ Track::use_captured_audio_sources (SourceList& srcs, CaptureInfos const & captur
                        continue; /* XXX is this OK? */
                }
 
-               pl->add_region (region, (*ci)->start + preroll_off, 1, _disk_writer->non_layered());
+               pl->add_region (region, (*ci)->start + preroll_off, 1, _session.config.get_layered_record_mode());
                pl->set_layer (region, DBL_MAX);
 
                buffer_position += (*ci)->samples;