feat: Enhance audio renderer with new features and simplify Android UI indicators

Audio Core:
- Add support for splitter previous volume reset (REV 13+)
- Implement new audio processing time limits (REV 14-15)
- Add voice channel resource limits and effect processing v3
- Support float biquad filters for improved audio quality
- Enhance error handling to prevent audio system crashes

Android UI:
- Simplify FPS, RAM, and thermal indicator views
- Remove complex backgrounds and icons for cleaner display
- Reduce view sizes and improve text-based rendering
- Maintain color-coded status indicators for performance metrics

Core System:
- Improve file system save data space handling
- Enhance kernel synchronization error handling
- Add new error modules and result codes
- Fix potential infinite loops in handle operations

These changes improve audio processing capabilities while providing a cleaner,
more performant Android UI experience.

Signed-off-by: Zephyron <zephyron@citron-emu.org>
This commit is contained in:
Zephyron
2025-09-23 21:15:06 +10:00
parent af6a54751e
commit af223e445f
18 changed files with 448 additions and 255 deletions

View File

@@ -50,6 +50,8 @@ public:
/* 0x30 */ f32 out_gain;
/* 0x34 */ ParameterState state;
/* 0x35 */ bool makeup_gain_enabled;
/* 0x36 */ bool statistics_enabled;
/* 0x37 */ bool statistics_reset;
};
static_assert(sizeof(ParameterVersion2) <= sizeof(EffectInfoBase::InParameterVersion2),
"CompressorInfo::ParameterVersion2 has the wrong size!");
@@ -69,6 +71,22 @@ public:
static_assert(sizeof(State) <= sizeof(EffectInfoBase::State),
"CompressorInfo::State has the wrong size!");
struct Statistics {
f32 maximum_mean;
f32 minimum_gain;
std::array<f32, MaxChannels> last_samples;
void Reset(u16 channel_count) {
maximum_mean = 0.0f;
minimum_gain = 1.0f;
for (u16 i = 0; i < channel_count; i++) {
last_samples[i] = 0.0f;
}
}
};
static_assert(sizeof(Statistics) <= sizeof(EffectResultState),
"CompressorInfo::Statistics has the wrong size!");
/**
* Update the info with new parameters, version 1.
*