|
|
|
@ -88,6 +88,11 @@ static StereoFrame16 GenerateCurrentFrame() { |
|
|
|
static std::unique_ptr<AudioCore::Sink> sink; |
|
|
|
static AudioCore::TimeStretcher time_stretcher; |
|
|
|
|
|
|
|
static void OutputCurrentFrame(const StereoFrame16& frame) { |
|
|
|
time_stretcher.AddSamples(&frame[0][0], frame.size()); |
|
|
|
sink->EnqueueSamples(time_stretcher.Process(sink->SamplesInQueue())); |
|
|
|
} |
|
|
|
|
|
|
|
// Public Interface
|
|
|
|
|
|
|
|
void Init() { |
|
|
|
@ -121,6 +126,8 @@ bool Tick() { |
|
|
|
// TODO: Check dsp::DSP semaphore (which indicates emulated application has finished writing to shared memory region)
|
|
|
|
current_frame = GenerateCurrentFrame(); |
|
|
|
|
|
|
|
OutputCurrentFrame(current_frame); |
|
|
|
|
|
|
|
return true; |
|
|
|
} |
|
|
|
|
|
|
|
|