diff --git a/src/SigmaDSP.cpp b/src/SigmaDSP.cpp index c057f6e..88e1d7f 100644 --- a/src/SigmaDSP.cpp +++ b/src/SigmaDSP.cpp @@ -180,6 +180,17 @@ void SigmaDSP::volume(uint16_t startMemoryAddress, float dB) safeload_write(startMemoryAddress, volume); } +/** + * @brief Control mute/unmute block without slew + * + * @param startMemoryAddress DSP memory address + * @param state true or false + */ +void SigmaDSP::mute(uint16_t startMemoryAddress, bool state) +{ + safeload_write(startMemoryAddress, state ? 0x800000 : 0); +} + /** * @brief Control index filters (bass, treble, ect) * in 28 0 format. Please see: diff --git a/src/SigmaDSP.h b/src/SigmaDSP.h index 550c62a..c8f8b90 100644 --- a/src/SigmaDSP.h +++ b/src/SigmaDSP.h @@ -74,6 +74,7 @@ class SigmaDSP void volume_slew(uint16_t startMemoryAddress, float dB, uint8_t slew = 12); void volume(uint16_t startMemoryAddress, float dB); + void mute(uint16_t startMemoryAddress, bool state); void dcSource(uint16_t startMemoryAddress, uint32_t value); void dynamicBass(uint16_t startMemoryAddress, float dB); void dynamicBass(uint16_t startMemoryAddress, float dB, uint16_t frequency);