diff options
-rw-r--r-- | libs/ardour/ardour/disk_reader.h | 2 | ||||
-rw-r--r-- | libs/ardour/butler.cc | 14 | ||||
-rw-r--r-- | libs/ardour/disk_io.cc | 1 | ||||
-rw-r--r-- | libs/ardour/session.cc | 6 | ||||
-rw-r--r-- | libs/ardour/session_state.cc | 4 | ||||
-rw-r--r-- | libs/ardour/track.cc | 4 |
6 files changed, 20 insertions, 11 deletions
diff --git a/libs/ardour/ardour/disk_reader.h b/libs/ardour/ardour/disk_reader.h index e09904ad34..c3cbe33f15 100644 --- a/libs/ardour/ardour/disk_reader.h +++ b/libs/ardour/ardour/disk_reader.h @@ -94,6 +94,8 @@ class LIBARDOUR_API DiskReader : public DiskIOProcessor void playlist_modified (); void reset_tracker (); + static void set_midi_readahead_frames (framecnt_t frames_ahead) { midi_readahead = frames_ahead; } + protected: friend class Track; friend class MidiTrack; diff --git a/libs/ardour/butler.cc b/libs/ardour/butler.cc index 5e743cd569..475735a2e1 100644 --- a/libs/ardour/butler.cc +++ b/libs/ardour/butler.cc @@ -27,10 +27,12 @@ #include "pbd/error.h" #include "pbd/pthread_utils.h" -#include "ardour/debug.h" + #include "ardour/butler.h" +#include "ardour/debug.h" +#include "ardour/disk_io.h" +#include "ardour/disk_reader.h" #include "ardour/io.h" -#include "ardour/midi_diskstream.h" #include "ardour/session.h" #include "ardour/track.h" #include "ardour/auditioner.h" @@ -95,13 +97,13 @@ Butler::config_changed (std::string p) #endif } } else if (p == "buffering-preset") { - Diskstream::set_buffering_parameters (Config->get_buffering_preset()); + DiskIOProcessor::set_buffering_parameters (Config->get_buffering_preset()); audio_dstream_capture_buffer_size = (uint32_t) floor (Config->get_audio_capture_buffer_seconds() * _session.frame_rate()); audio_dstream_playback_buffer_size = (uint32_t) floor (Config->get_audio_playback_buffer_seconds() * _session.frame_rate()); _session.adjust_capture_buffering (); _session.adjust_playback_buffering (); } else if (p == "midi-readahead") { - MidiDiskstream::set_readahead_frames ((framecnt_t) (Config->get_midi_readahead() * _session.frame_rate())); + DiskReader::set_midi_readahead_frames ((framecnt_t) (Config->get_midi_readahead() * _session.frame_rate())); } } @@ -109,7 +111,7 @@ int Butler::start_thread() { // set up capture and playback buffering - Diskstream::set_buffering_parameters (Config->get_buffering_preset()); + DiskIOProcessor::set_buffering_parameters (Config->get_buffering_preset()); /* size is in Samples, not bytes */ const float rate = (float)_session.frame_rate(); @@ -122,7 +124,7 @@ Butler::start_thread() */ midi_dstream_buffer_size = (uint32_t) floor (Config->get_midi_track_buffer_seconds() * rate); - MidiDiskstream::set_readahead_frames ((framecnt_t) (Config->get_midi_readahead() * rate)); + DiskReader::set_midi_readahead_frames ((framecnt_t) (Config->get_midi_readahead() * rate)); should_run = false; diff --git a/libs/ardour/disk_io.cc b/libs/ardour/disk_io.cc index b7622bc9d4..e15620b1d2 100644 --- a/libs/ardour/disk_io.cc +++ b/libs/ardour/disk_io.cc @@ -68,6 +68,7 @@ DiskIOProcessor::DiskIOProcessor (Session& s, string const & str, Flag f) , _frames_written_to_ringbuffer (0) , _frames_read_from_ringbuffer (0) { + midi_interpolation.add_channel_to (0,0); } void diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc index a46a63dce9..90fe5a931c 100644 --- a/libs/ardour/session.cc +++ b/libs/ardour/session.cc @@ -51,7 +51,6 @@ #include "ardour/analyser.h" #include "ardour/async_midi_port.h" #include "ardour/audio_buffer.h" -#include "ardour/audio_diskstream.h" #include "ardour/audio_port.h" #include "ardour/audio_track.h" #include "ardour/audioengine.h" @@ -66,6 +65,7 @@ #include "ardour/control_protocol_manager.h" #include "ardour/data_type.h" #include "ardour/debug.h" +#include "ardour/disk_reader.h" #include "ardour/directory_names.h" #ifdef USE_TRACKS_CODE_FEATURES #include "ardour/engine_state_controller.h" @@ -750,7 +750,7 @@ Session::destroy () routes.flush (); _bundles.flush (); - AudioDiskstream::free_working_buffers(); + DiskReader::free_working_buffers(); /* tell everyone who is still standing that we're about to die */ drop_references (); @@ -1698,7 +1698,7 @@ Session::auto_loop_changed (Location* location) } else if (Config->get_seamless_loop() && !loop_changing) { - // schedule a locate-roll to refill the diskstreams at the + // schedule a locate-roll to refill the disk readers at the // previous loop end loop_changing = true; diff --git a/libs/ardour/session_state.cc b/libs/ardour/session_state.cc index 1f6645bae8..5ba64ff2f7 100644 --- a/libs/ardour/session_state.cc +++ b/libs/ardour/session_state.cc @@ -78,7 +78,6 @@ #include "ardour/amp.h" #include "ardour/async_midi_port.h" -#include "ardour/audio_diskstream.h" #include "ardour/audio_track.h" #include "ardour/audioengine.h" #include "ardour/audiofilesource.h" @@ -90,6 +89,7 @@ #include "ardour/controllable_descriptor.h" #include "ardour/control_protocol_manager.h" #include "ardour/directory_names.h" +#include "ardour/disk_reader.h" #include "ardour/filename_extensions.h" #include "ardour/graph.h" #include "ardour/location.h" @@ -286,7 +286,7 @@ Session::post_engine_init () _engine.GraphReordered.connect_same_thread (*this, boost::bind (&Session::graph_reordered, this)); _engine.MidiSelectionPortsChanged.connect_same_thread (*this, boost::bind (&Session::rewire_midi_selection_ports, this)); - AudioDiskstream::allocate_working_buffers(); + DiskReader::allocate_working_buffers(); refresh_disk_space (); /* we're finally ready to call set_state() ... all objects have diff --git a/libs/ardour/track.cc b/libs/ardour/track.cc index 571da3f1f9..a1b2b8e56c 100644 --- a/libs/ardour/track.cc +++ b/libs/ardour/track.cc @@ -806,6 +806,10 @@ Track::use_playlist (DataType dt, boost::shared_ptr<Playlist> p) } } + if (ret == 0) { + _playlists[dt] = p; + } + return ret; } |