Further speed up Windows freewheel export
This commit is contained in:
parent
c24b456211
commit
e938d4936f
@ -75,6 +75,7 @@ PortAudioBackend::PortAudioBackend (AudioEngine& e, AudioBackendInfo& info)
|
||||
, _freewheel_ack (false)
|
||||
, _reinit_thread_callback (false)
|
||||
, _measure_latency (false)
|
||||
, _freewheel_processed (0)
|
||||
, _cycle_count(0)
|
||||
, _total_deviation_us(0)
|
||||
, _max_deviation_us(0)
|
||||
@ -949,6 +950,7 @@ PortAudioBackend::freewheel_process_thread()
|
||||
// tell the engine we're ready to GO.
|
||||
engine.freewheel_callback (_freewheeling);
|
||||
first_run = false;
|
||||
_freewheel_processed = 0;
|
||||
_main_thread = pthread_self();
|
||||
AudioEngine::thread_init_callback (this);
|
||||
_midiio->set_enabled(false);
|
||||
@ -1487,6 +1489,8 @@ PortAudioBackend::blocking_process_thread ()
|
||||
engine.freewheel_callback (_freewheel);
|
||||
if (!_freewheel) {
|
||||
_dsp_calc.reset ();
|
||||
} else {
|
||||
_freewheel_processed = 0;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1663,7 +1667,11 @@ PortAudioBackend::blocking_process_freewheel()
|
||||
}
|
||||
|
||||
_dsp_load = 1.0;
|
||||
Glib::usleep(100); // don't hog cpu
|
||||
_freewheel_processed += _samples_per_period;
|
||||
if (_freewheel_processed > _samplerate) {
|
||||
_freewheel_processed = 0;
|
||||
Glib::usleep(100); // don't hog cpu
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -298,6 +298,7 @@ class PortAudioBackend : public AudioBackend, public PortEngineSharedImpl {
|
||||
bool _freewheel_ack;
|
||||
bool _reinit_thread_callback;
|
||||
bool _measure_latency;
|
||||
int _freewheel_processed;
|
||||
|
||||
ARDOUR::DSPLoadCalculator _dsp_calc;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user