> the m_pause.lock() in EgineBuffer::slotLoadTrack
Ok, I Understand. I will prepare a solution which just starts the caching reader. The caching reader will then call a callback from EgineBuffer at the start of CachingReader::loadTrack(TrackPointer pTrack).
So Engine Buffer can set m_pause.lock() and set m_pTrackSamples to 0 from the engine Worker thread, without locking GUI.
I will also change the m_trackQueue in CachingReader to a single TrackPionter, what it actually is.
Hi RJ,
> the m_pause.lock() in EgineBuffer: :slotLoadTrack
Ok, I Understand. I will prepare a solution which just starts the caching reader. The caching reader will then call a callback from EgineBuffer at the start of CachingReader: :loadTrack( TrackPointer pTrack).
So Engine Buffer can set m_pause.lock() and set m_pTrackSamples to 0 from the engine Worker thread, without locking GUI.
I will also change the m_trackQueue in CachingReader to a single TrackPionter, what it actually is.