uint32_t i_am_the_modifier;
double _actual_speed;
double _target_speed;
- /* items needed for speed change logic */
- bool _buffer_reallocation_required;
bool _seek_required;
bool _slaved;
Location* loop_location;
bool in_set_state;
- samplepos_t playback_sample;
- samplecnt_t wrap_buffer_size;
- samplecnt_t speed_buffer_size;
+ samplepos_t playback_sample;
bool _need_butler;
boost::shared_ptr<Route> _route;
: Processor (s, str)
, _flags (f)
, i_am_the_modifier (false)
- , _buffer_reallocation_required (false)
, _seek_required (false)
, _slaved (false)
, loop_location (0)
, in_set_state (false)
, playback_sample (0)
- , wrap_buffer_size (0)
- , speed_buffer_size (0)
, _need_butler (false)
, channels (new ChannelList)
, _midi_buf (new MidiRingBuffer<samplepos_t> (s.butler()->midi_diskstream_buffer_size()))
void
DiskIOProcessor::non_realtime_speed_change ()
{
- if (_buffer_reallocation_required) {
- _buffer_reallocation_required = false;
- }
-
if (_seek_required) {
seek (_session.transport_sample(), true);
_seek_required = false;
bool
DiskIOProcessor::realtime_speed_change ()
{
- const samplecnt_t required_wrap_size = (samplecnt_t) ceil (_session.get_block_size() * fabs (_session.transport_speed())) + 2;
- bool _buffer_reallocation_required;
-
- if (required_wrap_size > wrap_buffer_size) {
- _buffer_reallocation_required = true;
- } else {
- _buffer_reallocation_required = false;
- }
-
- return _buffer_reallocation_required;
+ return true;
}
int