| 374 | } |
| 375 | |
| 376 | void ArcSpectrogram::setMidiNotes(const juce::Array<Utils::MidiNote>& midiNotes) { |
| 377 | mActivePitchClass.reset(); |
| 378 | for (const Utils::MidiNote note : midiNotes) { |
| 379 | mActivePitchClass.set(note.pitch, true); |
| 380 | } |
| 381 | // Make clouds sing/stop singing |
| 382 | if (mActivePitchClass.any()) { |
| 383 | if (mCloudLeft.type == CloudType::WAIT) mCloudLeft.type = CloudType::SINGING; |
| 384 | if (mCloudRight.type == CloudType::WAIT) mCloudRight.type = CloudType::SINGING; |
| 385 | } else { |
| 386 | if (mCloudLeft.type == CloudType::SINGING) mCloudLeft.type = CloudType::WAIT; |
| 387 | if (mCloudRight.type == CloudType::SINGING) mCloudRight.type = CloudType::WAIT; |
| 388 | } |
| 389 | } |
no test coverage detected