diff options
Diffstat (limited to 'src/audio_core')
| -rw-r--r-- | src/audio_core/audio_renderer.cpp | 15 | ||||
| -rw-r--r-- | src/audio_core/audio_renderer.h | 6 |
2 files changed, 11 insertions, 10 deletions
diff --git a/src/audio_core/audio_renderer.cpp b/src/audio_core/audio_renderer.cpp index c187d8ac5..7a9dc61d4 100644 --- a/src/audio_core/audio_renderer.cpp +++ b/src/audio_core/audio_renderer.cpp | |||
| @@ -36,9 +36,9 @@ public: | |||
| 36 | } | 36 | } |
| 37 | 37 | ||
| 38 | void SetWaveIndex(std::size_t index); | 38 | void SetWaveIndex(std::size_t index); |
| 39 | std::vector<s16> DequeueSamples(std::size_t sample_count, Memory::Memory& memory); | 39 | std::vector<s16> DequeueSamples(std::size_t sample_count, Core::Memory::Memory& memory); |
| 40 | void UpdateState(); | 40 | void UpdateState(); |
| 41 | void RefreshBuffer(Memory::Memory& memory); | 41 | void RefreshBuffer(Core::Memory::Memory& memory); |
| 42 | 42 | ||
| 43 | private: | 43 | private: |
| 44 | bool is_in_use{}; | 44 | bool is_in_use{}; |
| @@ -66,13 +66,14 @@ public: | |||
| 66 | return info; | 66 | return info; |
| 67 | } | 67 | } |
| 68 | 68 | ||
| 69 | void UpdateState(Memory::Memory& memory); | 69 | void UpdateState(Core::Memory::Memory& memory); |
| 70 | 70 | ||
| 71 | private: | 71 | private: |
| 72 | EffectOutStatus out_status{}; | 72 | EffectOutStatus out_status{}; |
| 73 | EffectInStatus info{}; | 73 | EffectInStatus info{}; |
| 74 | }; | 74 | }; |
| 75 | AudioRenderer::AudioRenderer(Core::Timing::CoreTiming& core_timing, Memory::Memory& memory_, | 75 | |
| 76 | AudioRenderer::AudioRenderer(Core::Timing::CoreTiming& core_timing, Core::Memory::Memory& memory_, | ||
| 76 | AudioRendererParameter params, | 77 | AudioRendererParameter params, |
| 77 | std::shared_ptr<Kernel::WritableEvent> buffer_event, | 78 | std::shared_ptr<Kernel::WritableEvent> buffer_event, |
| 78 | std::size_t instance_number) | 79 | std::size_t instance_number) |
| @@ -208,7 +209,7 @@ void AudioRenderer::VoiceState::SetWaveIndex(std::size_t index) { | |||
| 208 | } | 209 | } |
| 209 | 210 | ||
| 210 | std::vector<s16> AudioRenderer::VoiceState::DequeueSamples(std::size_t sample_count, | 211 | std::vector<s16> AudioRenderer::VoiceState::DequeueSamples(std::size_t sample_count, |
| 211 | Memory::Memory& memory) { | 212 | Core::Memory::Memory& memory) { |
| 212 | if (!IsPlaying()) { | 213 | if (!IsPlaying()) { |
| 213 | return {}; | 214 | return {}; |
| 214 | } | 215 | } |
| @@ -258,7 +259,7 @@ void AudioRenderer::VoiceState::UpdateState() { | |||
| 258 | is_in_use = info.is_in_use; | 259 | is_in_use = info.is_in_use; |
| 259 | } | 260 | } |
| 260 | 261 | ||
| 261 | void AudioRenderer::VoiceState::RefreshBuffer(Memory::Memory& memory) { | 262 | void AudioRenderer::VoiceState::RefreshBuffer(Core::Memory::Memory& memory) { |
| 262 | const auto wave_buffer_address = info.wave_buffer[wave_index].buffer_addr; | 263 | const auto wave_buffer_address = info.wave_buffer[wave_index].buffer_addr; |
| 263 | const auto wave_buffer_size = info.wave_buffer[wave_index].buffer_sz; | 264 | const auto wave_buffer_size = info.wave_buffer[wave_index].buffer_sz; |
| 264 | std::vector<s16> new_samples(wave_buffer_size / sizeof(s16)); | 265 | std::vector<s16> new_samples(wave_buffer_size / sizeof(s16)); |
| @@ -310,7 +311,7 @@ void AudioRenderer::VoiceState::RefreshBuffer(Memory::Memory& memory) { | |||
| 310 | is_refresh_pending = false; | 311 | is_refresh_pending = false; |
| 311 | } | 312 | } |
| 312 | 313 | ||
| 313 | void AudioRenderer::EffectState::UpdateState(Memory::Memory& memory) { | 314 | void AudioRenderer::EffectState::UpdateState(Core::Memory::Memory& memory) { |
| 314 | if (info.is_new) { | 315 | if (info.is_new) { |
| 315 | out_status.state = EffectStatus::New; | 316 | out_status.state = EffectStatus::New; |
| 316 | } else { | 317 | } else { |
diff --git a/src/audio_core/audio_renderer.h b/src/audio_core/audio_renderer.h index c0fae669e..62faf9f19 100644 --- a/src/audio_core/audio_renderer.h +++ b/src/audio_core/audio_renderer.h | |||
| @@ -22,7 +22,7 @@ namespace Kernel { | |||
| 22 | class WritableEvent; | 22 | class WritableEvent; |
| 23 | } | 23 | } |
| 24 | 24 | ||
| 25 | namespace Memory { | 25 | namespace Core::Memory { |
| 26 | class Memory; | 26 | class Memory; |
| 27 | } | 27 | } |
| 28 | 28 | ||
| @@ -221,7 +221,7 @@ static_assert(sizeof(UpdateDataHeader) == 0x40, "UpdateDataHeader has wrong size | |||
| 221 | 221 | ||
| 222 | class AudioRenderer { | 222 | class AudioRenderer { |
| 223 | public: | 223 | public: |
| 224 | AudioRenderer(Core::Timing::CoreTiming& core_timing, Memory::Memory& memory_, | 224 | AudioRenderer(Core::Timing::CoreTiming& core_timing, Core::Memory::Memory& memory_, |
| 225 | AudioRendererParameter params, | 225 | AudioRendererParameter params, |
| 226 | std::shared_ptr<Kernel::WritableEvent> buffer_event, std::size_t instance_number); | 226 | std::shared_ptr<Kernel::WritableEvent> buffer_event, std::size_t instance_number); |
| 227 | ~AudioRenderer(); | 227 | ~AudioRenderer(); |
| @@ -244,7 +244,7 @@ private: | |||
| 244 | std::vector<EffectState> effects; | 244 | std::vector<EffectState> effects; |
| 245 | std::unique_ptr<AudioOut> audio_out; | 245 | std::unique_ptr<AudioOut> audio_out; |
| 246 | StreamPtr stream; | 246 | StreamPtr stream; |
| 247 | Memory::Memory& memory; | 247 | Core::Memory::Memory& memory; |
| 248 | }; | 248 | }; |
| 249 | 249 | ||
| 250 | } // namespace AudioCore | 250 | } // namespace AudioCore |