diff options
author | Jesse Talavera-Greenberg <jesse@jesse.tg> | 2023-11-28 17:16:41 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-11-28 23:16:41 +0100 |
commit | e973236203292637eb7bd009a4cfbd6fd785181f (patch) | |
tree | 4c348a9927bfa6f8f37cc943291174a1096434b3 /src/frontend/Util_Audio.cpp | |
parent | c84cb174628c5a2e8e6cc0179e16de3eab47864a (diff) |
Refactor `NDS` and `DSi` to be objects (#1893)
* First crack at refactoring NDS and DSi into objects
- Remove all global/`static` variables in `NDS` and related classes
- Rely more on virtual dispatch when we need to pick methods at runtime
- Pass `NDS&` or `DSi&` to its constituent components where necessary
- Introduce some headers or move some definitions to break `#include` cycles
* Refactor the frontend to accommodate the core's changes
* Move up `SchedList`'s declaration
- Move it to before the components are initialized so the `map`s inside are initialized
- Fields in C++ are initialized in the order they're declared
* Fix a crash when allocating memory
* Fix JIT-free builds
* Fix GDB-free builds
* Fix Linux builds
- Explicitly qualify some member types in NDS, since they share the same name as their classes
* Remove an unnecessary template argument
- This was causing the build to fail on macOS
* Fix ARM and Android builds
* Rename `Constants.h` to `MemConstants.h`
* Add `NDS::IsRunning()`
* Use an `#include` guard instead of `#pragma once`
Diffstat (limited to 'src/frontend/Util_Audio.cpp')
-rw-r--r-- | src/frontend/Util_Audio.cpp | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/frontend/Util_Audio.cpp b/src/frontend/Util_Audio.cpp index 4a1d089..02b3026 100644 --- a/src/frontend/Util_Audio.cpp +++ b/src/frontend/Util_Audio.cpp @@ -82,13 +82,13 @@ void AudioOut_Resample(s16* inbuf, int inlen, s16* outbuf, int outlen, int volum } -void Mic_FeedSilence() +void Mic_FeedSilence(NDS& nds) { MicBufferReadPos = 0; - NDS::MicInputFrame(NULL, 0); + nds.MicInputFrame(NULL, 0); } -void Mic_FeedNoise() +void Mic_FeedNoise(NDS& nds) { int sample_len = sizeof(mic_blow) / sizeof(u16); static int sample_pos = 0; @@ -102,12 +102,12 @@ void Mic_FeedNoise() if (sample_pos >= sample_len) sample_pos = 0; } - NDS::MicInputFrame(tmp, 735); + nds.MicInputFrame(tmp, 735); } -void Mic_FeedExternalBuffer() +void Mic_FeedExternalBuffer(NDS& nds) { - if (!MicBuffer) return Mic_FeedSilence(); + if (!MicBuffer) return Mic_FeedSilence(nds); if ((MicBufferReadPos + 735) > MicBufferLength) { @@ -116,12 +116,12 @@ void Mic_FeedExternalBuffer() memcpy(&tmp[0], &MicBuffer[MicBufferReadPos], len1*sizeof(s16)); memcpy(&tmp[len1], &MicBuffer[0], (735 - len1)*sizeof(s16)); - NDS::MicInputFrame(tmp, 735); + nds.MicInputFrame(tmp, 735); MicBufferReadPos = 735 - len1; } else { - NDS::MicInputFrame(&MicBuffer[MicBufferReadPos], 735); + nds.MicInputFrame(&MicBuffer[MicBufferReadPos], 735); MicBufferReadPos += 735; } } |