| 164 | } |
| 165 | |
| 166 | void OdinAudioProcessor::treeValueChangedOscMulti(const String &p_ID, float p_new_value) { |
| 167 | #ifdef DEBUG_VARIABLES |
| 168 | DBG("osc_multi: " + p_ID + ": " + std::to_string(p_new_value)); |
| 169 | #endif |
| 170 | StringRef id = StringRef(p_ID); |
| 171 | |
| 172 | if (id == m_osc1_position_identifier) { |
| 173 | for (int voice = 0; voice < VOICES; ++voice) { |
| 174 | m_voice[voice].wavetable_osc[0].setPosition(p_new_value); |
| 175 | } |
| 176 | } else if (id == m_osc2_position_identifier) { |
| 177 | for (int voice = 0; voice < VOICES; ++voice) { |
| 178 | m_voice[voice].wavetable_osc[1].setPosition(p_new_value); |
| 179 | } |
| 180 | } else if (id == m_osc3_position_identifier) { |
| 181 | for (int voice = 0; voice < VOICES; ++voice) { |
| 182 | m_voice[voice].wavetable_osc[2].setPosition(p_new_value); |
| 183 | } |
| 184 | } else if (id == m_osc1_detune_identifier) { |
| 185 | for (int voice = 0; voice < VOICES; ++voice) { |
| 186 | m_voice[voice].multi_osc[0].setDetune(p_new_value); |
| 187 | } |
| 188 | } else if (id == m_osc2_detune_identifier) { |
| 189 | for (int voice = 0; voice < VOICES; ++voice) { |
| 190 | m_voice[voice].multi_osc[1].setDetune(p_new_value); |
| 191 | } |
| 192 | } else if (id == m_osc3_detune_identifier) { |
| 193 | for (int voice = 0; voice < VOICES; ++voice) { |
| 194 | m_voice[voice].multi_osc[2].setDetune(p_new_value); |
| 195 | } |
| 196 | } else if (id == m_osc1_multi_position_identifier) { |
| 197 | for (int voice = 0; voice < VOICES; ++voice) { |
| 198 | m_voice[voice].multi_osc[0].setPosition(p_new_value); |
| 199 | } |
| 200 | } else if (id == m_osc2_multi_position_identifier) { |
| 201 | for (int voice = 0; voice < VOICES; ++voice) { |
| 202 | m_voice[voice].multi_osc[1].setPosition(p_new_value); |
| 203 | } |
| 204 | } else if (id == m_osc3_multi_position_identifier) { |
| 205 | for (int voice = 0; voice < VOICES; ++voice) { |
| 206 | m_voice[voice].multi_osc[2].setPosition(p_new_value); |
| 207 | } |
| 208 | } else if (id == m_osc1_spread_identifier) { |
| 209 | for (int voice = 0; voice < VOICES; ++voice) { |
| 210 | m_voice[voice].multi_osc[0].setWavetableMultiSpread(p_new_value); |
| 211 | } |
| 212 | } else if (id == m_osc2_spread_identifier) { |
| 213 | for (int voice = 0; voice < VOICES; ++voice) { |
| 214 | m_voice[voice].multi_osc[1].setWavetableMultiSpread(p_new_value); |
| 215 | } |
| 216 | } else if (id == m_osc3_spread_identifier) { |
| 217 | for (int voice = 0; voice < VOICES; ++voice) { |
| 218 | m_voice[voice].multi_osc[2].setWavetableMultiSpread(p_new_value); |
| 219 | } |
| 220 | } else if (id == m_osc1_pos_env_identifier) { |
| 221 | for (int voice = 0; voice < VOICES; ++voice) { |
| 222 | m_voice[voice].wavetable_osc[0].setPosModAmount(p_new_value); |
| 223 | } |
nothing calls this directly
no test coverage detected