bypass toggle colours

This commit is contained in:
chriskiefer 2025-12-10 17:35:48 +00:00
parent ec02ff68f1
commit 75166e85d8
4 changed files with 28 additions and 14 deletions

View file

@ -427,7 +427,7 @@ class ChannelStripAudioApp : public AudioAppBase<NPARAMS>
{
public:
static constexpr size_t kN_Params = NPARAMS;
static constexpr size_t nVoiceSpaces=5;
static constexpr size_t nVoiceSpaces=6;
enum class controlMessages {
MSG_BYPASS_ALL=0,
@ -474,12 +474,15 @@ public:
auto voiceSpaceSSL9K = [this](const std::array<float, NPARAMS>& params) {
VOICE_SPACE_CHSTRIP_SSL9KINDA_BODY
};
auto voiceSpaceNeve80 = [this](const std::array<float, NPARAMS>& params) {
VOICE_SPACE_CHSTRIP_NEVE_80
};
voiceSpaces[0] = {"WannabeNeve66", voiceSpaceNeve66};
voiceSpaces[1] = {"SSL 4K G-ist", voiceSpaceSSL4K};
voiceSpaces[2] = {"SSL 9K-inda", voiceSpaceSSL9K};
voiceSpaces[3] = {"MaleVox", voiceSpaceMaleVox};
voiceSpaces[4] = {"FemaleVox", voiceSpaceFemaleVox};
voiceSpaces[5] = {"Neve 80", voiceSpaceNeve80};
currentVoiceSpace = voiceSpaces[0].mappingFunction;

View file

@ -50,6 +50,7 @@ public:
std::vector<String>{ "All", "EQ", "Comp", "PPG", "InFilt" });
bypassView->SetOnSelectCallback([this] (size_t id) {
Serial.println("Bypass toggled: " + String(id));
bypassView->toggleAlt(id-1);
queue_t& audioAppQ = audioAppChannelStrip.controlMessageQueue;
switch(id) {
case 1:

@ -1 +1 @@
Subproject commit e86e4a09c65da723be80dbc3d6a8c85c30307cf8
Subproject commit 799130e740a392839587f24c3747b27e841957b1

View file

@ -140,30 +140,40 @@
postGain=0.5f + (params[23] * params[23] * 4.f); \
#define VOICE_SPACE_CHSTRIP_EMI \
#define VOICE_SPACE_CHSTRIP_NEVE_80 \
preGain=0.5f + (params[0] * params[0] * 4.f); \
inLowPassCutoff = 1000.f + (params[7] * params[7] * 19000.f); \
inHighPassCutoff = 10.f + (params[8] * params[8] * 1990.f); \
compThreshold = params[10] * -30.f; \
compRatio = 2.0f + (params[11] * 6.f); \
compAttack = 0.08f + (params[12] * 50.f); \
compRelease = 50.0f + (params[13] * 500.f); \
constexpr float loPassFrequencies[] = {190, 1200, 3900, 5600, 9200}; \
inLowPassCutoff = loPassFrequencies[static_cast<size_t>(params[7] * 3.999999)]; \
constexpr float hiPassFrequencies[] = {27, 47, 92, 150, 270}; \
inHighPassCutoff = hiPassFrequencies[static_cast<size_t>(params[8] * 3.999999)]; \
\
lowShelfFreq = 120.f + (params[14] * params[14] * 180.f); \
compThreshold = params[10] * -30.f; \
constexpr float compRatios[] = {1.5, 2, 3, 4, 6}; \
compRatio = compRatios[static_cast<size_t>(params[11] * 3.999999)]; \
compAttack = params[12] > 0.5f ? 5.f : 1.f; \
constexpr float compReleases[] = {400, 800, 1500}; \
compRelease = compReleases[static_cast<size_t>(params[13] * 1.999999)]; \
\
constexpr float lowShelfFrequencies[] = {33, 56, 100, 190, 330};\
lowShelfFreq = lowShelfFrequencies[static_cast<size_t>(params[14] * 3.999999)];\
lowShelfQ = 0.6f + (params[15]*4.4f); \
lowShelfGain = -18.f + (params[16]*36.f);\
\
peak0Freq = 120.f + (params[1] * params[1] * 380.f); \
constexpr float lowPeakFrequencies[] = {220, 270, 330, 390, 470, 560, 690, 820, 1000, 1200}; \
peak0Freq = lowPeakFrequencies[static_cast<size_t>(params[1] * 8.999999)]; \
peak0Q = 0.6f + (params[5]*4.4f); \
peak0Gain = -18.f + (params[6]*36.f);\
\
peak1Freq = 300.f + (params[4] * params[4] * 9700.f); \
constexpr float highPeakFrequencies[] = {1500, 1900, 2200, 2700, 3300, 3900, 4700, 5600, 6900, 8200}; \
peak1Freq = highPeakFrequencies[static_cast<size_t>(params[4] * 8.999999)]; \
peak1Q = 0.6f + (params[5]*4.4f); \
peak1Gain = -18.f + (params[6]*36.f);\
\
highShelfFreq = 1000.f + (params[17] * params[17] * 9000.f); \
constexpr float highShelfFrequencies[] = {3300, 4700, 6900, 10000, 15000}; \
highShelfFreq = highShelfFrequencies[static_cast<size_t>(params[17] * 3.999999)]; \
highShelfQ = 0.6f + (params[18]*4.4f); \
highShelfGain = -18.f + (params[19]*36.f);\
\
postGain=0.5f + (params[23] * params[23] * 4.f); \
#endif