From 349127c4c31e509e14a501dbfba90cb9548ba803 Mon Sep 17 00:00:00 2001 From: Stefano Veloccia Date: Tue, 3 Nov 2026 15:11:55 +0100 Subject: [PATCH 1/5] Fix the echo's start, bypass latency, registry order and noise UB; add a technical review Applies the recommended items of the review in review/2026-11-03-code-review.md: - The echo's delay line started at 5 s and glided towards the knob for seconds, settling up to 3 ms short of it: it now jumps to the knob on the first tick and after a NaN recovery. The three reference renders with echo change, the seven without are byte-identical; SHA256SUMS regenerated. New test echoStartsAtKnobTime. - processBlockBypassed delays the input by the declared latency, so hosts at rates other than 48 kHz keep the bypassed audio aligned. New ui_test checks. - ParameterRegistry stores its parameters in a fixed array and runs the handlers in an explicit order, the one libc++'s unordered_map happened to give, instead of depending on the standard library's hash-map iteration. - DaisySP WhiteNoise multiplies as uint32_t: the signed product overflowed (undefined behaviour) and stopped ASan/UBSan at the first sample. Same bits. Recorded in PATCHES.txt. - prepareToPlay clamps a sample rate of 0 to 48 kHz. - CI builds the AU and validates it with auval and pluginval. - JUCE is fetched by commit hash, not by tag. The review folder holds the report, the experiments it cites and the test logs before and after the fixes. --- .github/workflows/ci.yml | 11 +- CHANGELOG.md | 15 + CMakeLists.txt | 2 +- review/2026-11-03-code-review.md | 517 ++++ review/experiments/CMakeLists-host_probe.txt | 8 + review/experiments/exp1_cpu.cpp | 46 + review/experiments/exp2_edges.cpp | 99 + review/experiments/exp3_order.cpp | 12 + review/experiments/exp4_size.cpp | 5 + review/experiments/exp5_stall.cpp | 11 + review/experiments/host_probe.cpp | 141 ++ review/experiments/whitenoise-unsigned.patch | 11 + review/logs/build-asan-build.log | 91 + review/logs/build-asan-configure.log | 20 + review/logs/build-build.log | 443 ++++ review/logs/build-configure.log | 20 + review/logs/build-release.log | 475 ++++ review/logs/clang-tidy.log | 144 ++ review/logs/exp1_cpu.log | 7 + review/logs/exp2_edges.log | 13 + review/logs/exp3_order.log | 2 + ...probe-longrun-and-checksums-with-patch.log | 22 + review/logs/host_probe.log | 31 + review/logs/plugin_host_test-after-fixes.log | 2161 +++++++++++++++++ review/logs/plugin_host_test.log | 2161 +++++++++++++++++ review/logs/render_test-after-fixes.log | 474 ++++ .../render_test-asan-ubsan-after-fixes.log | 474 ++++ .../render_test-asan-ubsan-sandbox-prefix.log | 473 ++++ review/logs/render_test.log | 473 ++++ ...itizers-first-run-halted-by-whitenoise.log | 12 + review/logs/ui_test-after-fixes.log | 116 + .../logs/ui_test-asan-ubsan-after-fixes.log | 117 + review/logs/ui_test-asan-ubsan.log | 113 + src/dsp/DroseraCore.h | 19 +- src/dsp/FeedbackSynthEngine.cpp | 4 +- src/dsp/FeedbackSynthEngine.h | 3 +- src/dsp/ParameterRegistry.h | 65 +- src/plugin/PluginProcessor.cpp | 25 + tests/render_test.cpp | 19 + tests/ui_test.cpp | 24 + third_party/DaisySP/PATCHES.txt | 4 +- third_party/DaisySP/Source/Noise/whitenoise.h | 3 +- .../hardware-comparison/reference/SHA256SUMS | 6 +- 43 files changed, 8836 insertions(+), 56 deletions(-) create mode 100644 review/2026-11-03-code-review.md create mode 100644 review/experiments/CMakeLists-host_probe.txt create mode 100644 review/experiments/exp1_cpu.cpp create mode 100644 review/experiments/exp2_edges.cpp create mode 100644 review/experiments/exp3_order.cpp create mode 100644 review/experiments/exp4_size.cpp create mode 100644 review/experiments/exp5_stall.cpp create mode 100644 review/experiments/host_probe.cpp create mode 100644 review/experiments/whitenoise-unsigned.patch create mode 100644 review/logs/build-asan-build.log create mode 100644 review/logs/build-asan-configure.log create mode 100644 review/logs/build-build.log create mode 100644 review/logs/build-configure.log create mode 100644 review/logs/build-release.log create mode 100644 review/logs/clang-tidy.log create mode 100644 review/logs/exp1_cpu.log create mode 100644 review/logs/exp2_edges.log create mode 100644 review/logs/exp3_order.log create mode 100644 review/logs/host_probe-longrun-and-checksums-with-patch.log create mode 100644 review/logs/host_probe.log create mode 100644 review/logs/plugin_host_test-after-fixes.log create mode 100644 review/logs/plugin_host_test.log create mode 100644 review/logs/render_test-after-fixes.log create mode 100644 review/logs/render_test-asan-ubsan-after-fixes.log create mode 100644 review/logs/render_test-asan-ubsan-sandbox-prefix.log create mode 100644 review/logs/render_test.log create mode 100644 review/logs/sanitizers-first-run-halted-by-whitenoise.log create mode 100644 review/logs/ui_test-after-fixes.log create mode 100644 review/logs/ui_test-asan-ubsan-after-fixes.log create mode 100644 review/logs/ui_test-asan-ubsan.log diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 73d5f7c..287577d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -42,7 +42,7 @@ jobs: "-DCMAKE_OSX_ARCHITECTURES=arm64;x86_64" - name: Build - run: cmake --build build --target voice_allocator_test render_test render_cli ui_test plugin_host_test Drosera_VST3 + run: cmake --build build --target voice_allocator_test render_test render_cli ui_test plugin_host_test Drosera_VST3 Drosera_AU - name: Test the release check run: python3 tools/test_release_check.py @@ -65,6 +65,15 @@ jobs: unzip -q pluginval.zip -d pluginval-bin pluginval-bin/pluginval.app/Contents/MacOS/pluginval --strictness-level 5 --validate-in-process --validate "$VST3" + # Audio Units are found only in the plugin folders, so install the built one for the runner's user. + - name: auval and pluginval on the AU + run: | + mkdir -p ~/Library/Audio/Plug-Ins/Components + ditto build/Drosera_artefacts/Release/AU/Drosera.component ~/Library/Audio/Plug-Ins/Components/Drosera.component + killall -9 AudioComponentRegistrar 2>/dev/null || true + auval -v aumu Dros Cdsk + pluginval-bin/pluginval.app/Contents/MacOS/pluginval --strictness-level 5 --validate-in-process --validate ~/Library/Audio/Plug-Ins/Components/Drosera.component + - name: Check reference renders run: tools/hardware-comparison/check_reference.sh build/render_cli diff --git a/CHANGELOG.md b/CHANGELOG.md index ab163f8..e3a05a1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,21 @@ The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). Ver - Echo Pong: a second echo, off by default, whose repeats bounce between left and right and saturate, with PONG, Drive, Tone, Width and Level in its own PONG tab. - The Ember Pong preset. +### Fixed + +- The echo's first repeats after loading, or after the engine recovers from a bad sample, came late and warped: + its delay line started at 5 s and glided towards the knob for seconds, settling up to 3 ms short of it. It now + starts at the knob. The three reference renders with echo change throughout, the seven without are byte-identical, + so `tools/hardware-comparison/reference/SHA256SUMS` was regenerated. +- Bypass delays the input by the declared latency, so hosts at rates other than 48 kHz keep the bypassed audio aligned. +- A host that prepares with a sample rate of 0 no longer makes the resampling buffers unbounded. +- The noise generator multiplied a signed integer past its range, which is undefined behaviour: it now wraps + as unsigned. Same sound. +- The parameter registry no longer depends on the standard library's hash-map order: its handlers run in a + fixed order, the one the reference renders were made with. +- The Audio Unit is built and validated with `auval` and `pluginval` in CI. +- JUCE is fetched by commit, not by tag. + ## [0.1.1] - 2026-11-01 ### Fixed diff --git a/CMakeLists.txt b/CMakeLists.txt index 9f5f779..a4c5b3c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -47,7 +47,7 @@ if(DROSERA_BUILD_PLUGIN) include(FetchContent) FetchContent_Declare(JUCE GIT_REPOSITORY https://github.com/juce-framework/JUCE.git - GIT_TAG 8.0.9 + GIT_TAG f72bad64d29715216226685810c5196bd0d79d77 # 8.0.9, pinned to the commit: tags can move GIT_SHALLOW ON) FetchContent_MakeAvailable(JUCE) diff --git a/review/2026-11-03-code-review.md b/review/2026-11-03-code-review.md new file mode 100644 index 0000000..0200abc --- /dev/null +++ b/review/2026-11-03-code-review.md @@ -0,0 +1,517 @@ +# Drosera – Revisione tecnica (DSP, real-time, VST3/AU, build) + +Data: 2026-11-03. Commit analizzato: `9447f73` (branch `claude/audio-plugin-vst3-au-review-9b137d`). +Revisione eseguita su una copia isolata del progetto; il repository originale non è stato modificato. +Gli esperimenti, le patch di prova e i log citati sono in `review/experiments/` e `review/logs/`. + +--- + +## 1. Executive summary + +Drosera è un drone synth a feedback (porting del firmware Audrey II) in JUCE 8.0.9, con formati VST3, AU e +Standalone. Il progetto è in buono stato: la separazione fra motore DSP (senza JUCE) e wrapper plugin è +netta, il thread audio non alloca né blocca, la suite di test è ampia (471 verifiche offline, test del VST3 +caricato in un host, test dell'interfaccia, checksum di riferimento del motore) e tutto è passato nella +sandbox. Il manuale documenta onestamente i limiti sonori. + +Nessun problema Critical o High. I punti più rilevanti: + +| ID | Severità | Sintesi | +|---|---|---| +| D-01 | Medium | Overflow intero con segno (undefined behaviour) nel generatore di rumore DaisySP, eseguito a ogni campione sul thread audio. Rilevato da UBSan. Fix di una riga, bit-identico. | +| D-02 | Medium | L'echo parte da 5 s e scivola al valore della manopola in ~3 s dopo ogni `prepareToPlay` (e dopo ogni recupero da NaN): le prime ripetizioni sono in ritardo e intonate male. Ereditato dal firmware. | +| D-03 | Medium | L'ordine dei gestori dei parametri dipende dall'iterazione di `std::unordered_map`: i render di riferimento (checksum) dipendono dalla libreria standard, e la compensazione di fase MIDI legge valori del tick corrente o precedente a seconda di quell'ordine. | +| D-04 | Low | Latenza dichiarata all'host ma nessun `processBlockBypassed`: in bypass l'audio passa senza ritardo (compensazione di latenza dell'host disallineata). | +| D-05 | Low | L'Audio Unit viene costruito ma mai validato (`auval`) né rilasciato; la CI valida solo il VST3. | +| D-06 | Low | `prepareToPlay` con sample rate 0 produce un `ratio` infinito convertito a `size_t`. | + +CPU misurata: da 0,5 % (mono) a 2,2 % (tre voci MIDI) di un core Apple Silicon. Memoria: circa 3,5 MB di +stato DSP per istanza. + +Valutazione complessiva: qualità alta per un progetto di questa dimensione; gli interventi suggeriti sono +piccoli e a basso rischio. Vedi §12 per il piano. + +--- + +## 2. Architettura analizzata + +### 2.1 Componenti + +| Area | File | Ruolo | +|---|---|---| +| Motore (senza JUCE) | `src/dsp/FeedbackSynthEngine.*` | Tre `FeedbackVoice`, rumore bianco per voce, echo stereo, accoppiamento fra voci, rampa di polifonia | +| | `src/dsp/FeedbackVoice.*` | Un anello di feedback: linea di ritardo stereo ("Body"), due corde Karplus-Strong, overdrive, LPF/HPF biquad, riverbero `ReverbSc`, band-pass di tracking opzionale | +| | `src/dsp/KarplusString.*`, `BiquadFilters.*`, `EchoDelay.h`, `StereoEcho.h` | Blocchi DSP | +| | `src/dsp/DroseraCore.h` | Facciata a 48 kHz fissi: mappa parametri normalizzati, smoothing a 12 kHz (blocco di 4 campioni), MIDI pitch/gate, polifonia, PONG, limiter, recupero da NaN | +| | `src/dsp/ParameterRegistry.h`, `SmoothedValue.h` | Registro parametri con smoothing one-pole e handler `std::function` | +| | `src/dsp/SincResampler.h` | Convertitore windowed-sinc (96 tap, Kaiser β=9, 512 fasi) | +| | `src/dsp/VoiceAllocator.h` | Assegnazione note MIDI a tre voci, array fissi | +| Plugin | `src/plugin/PluginProcessor.cpp` | `AudioProcessor`: APVTS (25 parametri), MIDI sample-accurate, ponte di sample rate, stato, programmi | +| | `src/plugin/PluginEditor.*`, `src/plugin/ui/*` | Finestra 760×500, pianta/spettro, manopole, tab | +| | `src/plugin/SpectrumTap.h` | FIFO SPSC lock-free audio → UI | +| | `src/plugin/EditorBridge.h` | Interfaccia editor → processor oltre ai parametri | +| | `src/plugin/Presets.h` | 16 preset di fabbrica | +| Terze parti | `third_party/DaisySP` (commit 7f67768, MIT) | Delay line, ReverbSc, Limiter, Overdrive, WhiteNoise, Tone, DcBlock, CrossFade | +| Test | `tests/render_test.cpp` (1930 righe), `plugin_host_test.cpp`, `ui_test.cpp`, `voice_allocator_test.cpp`, `render_cli.cpp`, `editor_snapshot.cpp` | | + +### 2.2 Flusso del segnale + +``` +host in (L+R)/2 · inputgain ──► [SincResampler host→48k] ──┐ + ▼ + per voce v: noise_v + in + coupling_v ──► DelayLine(Body, R = L−4) ──► KarplusString ×2 ──► Overdrive + ──► LPF12 ──► HPF12 ──► ReverbSc (mix) ──► samp_v ──► ×fb_gain ──► [BPF24 tracking] ──► DelayLine (write) + mix voci (×ramp, ×1/√3) ──► StereoEcho (send; PONG: linee incrociate, drive, tone, width, level) ──► 0.5·(dry+wet) + ──► ×volume ──► Limiter (pre-gain 0.7) ──► controllo NaN/inf (Recover) ──► [SincResampler 48k→host] + ──► hard clip ±1 ──► SpectrumTap (UI) ──► host out +``` + +Il controllo gira a 12 kHz: ogni 4 campioni `ParameterRegistry::Process` applica lo smoothing e chiama gli +handler, che scrivono nel motore. In modo MIDI/LOCK `applyPitchAndBody` calcola la risposta in fase dei +filtri dell'anello alla nota (numeri complessi) e corregge i ritardi perché l'anello oscilli sulla +fondamentale. + +### 2.3 Threading + +- Thread audio: `processBlock` → `updateParams` (legge gli atomici APVTS) → `renderChunk` → `DroseraCore::Render`. +- Thread messaggi: editor con timer a 30 Hz; legge solo atomici (`published_note_`, `midiPitchActive_`, `uiTab`…) e la FIFO `SpectrumTap`. +- `prepareToPlay` alloca (vettori, tabelle del resampler, `Engine::Init` alla prima chiamata); mai dal thread audio. +- Stato: XML tramite `copyXmlToBinary`; `replaceState` è thread-safe (documentato in JUCE). + +--- + +## 3. Ambiente di analisi + +Sandbox: `…/scratchpad/sandbox/` con `src/` (copia da `git archive HEAD`), `tools/venv/` (strumenti), `build/release`, `build/asan`, `experiments/`. Nessuna installazione globale sull'host. + +| Strumento | Versione | Provenienza | +|---|---|---| +| macOS | Darwin 27.2.0, arm64 | host | +| Compilatore | AppleClang 21.0.0.21000401 (Command Line Tools) | host, già presente | +| CMake | 4.4.4 | venv della sandbox (pip) – **mancava sull'host** | +| Ninja | 1.13.2 | venv della sandbox (pip) – **mancava sull'host** | +| JUCE | 8.0.9 | scaricato da CMake `FetchContent` nella build dir della sandbox | +| clang-tidy | LLVM 23.1.4 | venv della sandbox (pip) | +| Python | 3.11 (uv venv) | per `tools/test_release_check.py` | + +Non disponibili e non installati: `pluginval` (richiede download di un binario esterno), `auval` su un +componente non installato in `~/Library/Audio/Plug-Ins/Components` (fuori dalla sandbox), toolchain Intel +(l'host è arm64; la CI costruisce l'universale). + +Modifiche sperimentali, **solo nella copia sandbox**: +1. `CMakeLists.txt`: aggiunto il target `host_probe` (vedi `review/experiments/CMakeLists-host_probe.txt`). +2. `tests/host_probe.cpp`: nuovo (copia in `review/experiments/`). +3. `third_party/DaisySP/Source/Noise/whitenoise.h`: patch per D-01 (`review/experiments/whitenoise-unsigned.patch`), applicata **dopo** la prima esecuzione dei sanitizer, per verificare il fix. +4. Riconfigurazione con `CMAKE_EXPORT_COMPILE_COMMANDS=ON` per clang-tidy. + +--- + +## 4. Configurazione e compilazione + +| Build | Esito | +|---|---| +| Release, Ninja, tutti i target (VST3, AU, Standalone, test) | OK, 199 passi, 53 warning | +| Debug + `-fsanitize=address,undefined` (render_test, voice_allocator_test, render_cli, ui_test) | OK | +| Firme ad hoc dei bundle (`codesign --verify --deep --strict`) | OK per VST3, AU, Standalone | +| AU `Info.plist` | `aumu` / `Dros` / `Cdsk`, versione 257 (0.1.1), bundle `com.codeskine.Drosera` | +| Binario | arm64, minOS 11.0; VST3 e AU ≈ 10 MB ciascuno (statico JUCE) | + +Dei 53 warning, 44 vengono da DaisySP (compilato con `-w`, ma gli header sono inclusi dal plugin con i +flag JUCE) e 9 dal codice del progetto: `ParameterRegistry.h` (shadowing dei campi nel costruttore, `;` +superflui), `DroseraCore.h:52` (conversione di segno), `PluginProcessor.cpp:243` (`!=` fra float, qui +intenzionale), `PluginProcessor.cpp:50` (`switch-enum`). Nessuno indica un bug. + +--- + +## 5. Risultati dei test + +### 5.1 Eseguiti con successo + +| Test | Risultato | +|---|---| +| `voice_allocator_test` | 14/14 OK | +| `render_test` (Release) | 471 verifiche OK, 0 FAIL; allocazioni durante il render (incluso recupero da NaN): 0 | +| `ui_test` (Release) | ALL OK; allocazioni nel percorso audio polifonico: 0 (hook `malloc_logger`) | +| `plugin_host_test` sul VST3 costruito, con fixture `state-baseline.bin` | ALL OK: identità dei 25 parametri e dei loro ID VST3, stato salvato dalla build baseline, round trip dello stato, livelli a 44.1/48/96 kHz × blocchi 64/512/1000, input audio, MIDI gate, latenza dichiarata = misurata (±3 campioni), nota MIDI 60 entro +0,2 cent a tutte le frequenze di campionamento, preset | +| `tools/hardware-comparison/check_reference.sh` | 10/10 WAV con SHA-256 identico ai riferimenti | +| `tools/test_release_check.py` | 8 test OK | +| `voice_allocator_test` sotto ASan+UBSan | OK, nessun report | +| `render_test` e `ui_test` sotto ASan+UBSan | Prima esecuzione: **interrotte al primo campione** dall'overflow in `whitenoise.h:34` (D-01). Con la patch di D-01 applicata alla copia sandbox: `ui_test` ALL OK e `render_test` 471/471 OK, **zero report** di ASan e UBSan in entrambi (`review/logs/render_test-asan-ubsan-sandbox-prefix.log`). | +| `host_probe` (esperimento, VST3 nell'host JUCE) | ALL OK: 22.05/44.1/88.2/176.4/192 kHz × blocchi 1/7/2048/8192 con input; latenza dichiarata = misurata a 22.05/88.2/192 kHz (±5); 60 s a 44.1 kHz con blocchi misti (4096, 64, 1000, 3, 2048, 512) senza buchi; blocco vuoto; bypass; stato corrotto e troncato; note-on con velocity 0 | +| Esperimenti DSP (`exp1_cpu`, `exp2_edges`, `exp3_order`, `exp4_size`) | Vedi §7, §8, §9 | + +### 5.2 Falliti + +Nessun test del progetto è fallito. L'unico esito negativo è il report UBSan di D-01, che impedisce di +usare i sanitizer così com'è. + +### 5.3 Non eseguibili per limiti ambientali + +- `pluginval` (la CI lo esegue a strictness 5 sul VST3): richiede il download di un eseguibile esterno. +- `auval` sull'AU: richiede l'installazione del componente in `~/Library`, fuori dalla sandbox. +- Build e test Intel x86_64: host arm64. I checksum di riferimento sono dichiarati validi solo su arm64. +- ThreadSanitizer: non eseguito (richiederebbe una terza build; il percorso audio↔UI è stato verificato a lettura, §8). + +### 5.4 Non previsti dal progetto + +- Validazione AU in CI (D-05). +- Test a sample rate ≠ 44.1/48/96 kHz e a blocchi > 1000 campioni (coperti qui da `host_probe`, tutti OK). +- Build con sanitizer in CI. + +--- + +## 6. Problemi individuati (per severità) + +Convenzione: file e righe si riferiscono al commit analizzato. + +### D-01 · Medium · Real-time / Bug +**File:** `third_party/DaisySP/Source/Noise/whitenoise.h:34` (`randseed_ *= 16807;`, `int32_t`) +**Descrizione:** moltiplicazione intera con segno che va in overflow a quasi ogni chiamata: comportamento +indefinito in C++. Viene eseguita per ogni campione da tre generatori (`Engine::Process`) e 60 020 volte in +`Engine::Init` (pre-roll dei semi). +**Impatto:** oggi i compilatori producono il wrap-around atteso, quindi il suono è corretto; ma il codice non +ha garanzie, un futuro compilatore o flag (`-ftrapv`, ottimizzazioni su UB) può cambiarne l'esito, e **oggi +rende inutilizzabili ASan/UBSan** sull'intera suite (si fermano al primo campione). +**Evidenza:** `runtime error: signed integer overflow: 282475249 * 16807 cannot be represented in type 'int'`, +stack `WhiteNoise::Process ← Engine::Init ← DroseraCore::Init ← prepareToPlay`. +**Soluzione:** `randseed_ = (int32_t) ((uint32_t) randseed_ * 16807u);` – stessi bit, stesso suono. +Verificato nella sandbox: con la patch, `check_reference.sh` dà 10/10 checksum identici e `render_test` passa +(471/471), quindi il suono non cambia di un bit. Registrare la modifica in `third_party/DaisySP/PATCHES.txt` (regola 4). +**Priorità:** 1 (banale, sblocca i sanitizer). + +### D-02 · Medium · DSP +**File:** `src/dsp/FeedbackSynthEngine.cpp:34-36` (`SetDelayTime(5.0f, true)`, `SetLagTime(0.5f)`), `src/dsp/EchoDelay.h:114-118` +**Descrizione:** `Engine::Init` imposta il tempo dell'echo a 5 s "immediatamente"; il valore reale arriva dal +registro al tick successivo ma come *target*, e `EchoDelay` lo insegue con un one-pole da 0,5 s. Il tempo +di ritardo quindi scivola da 5 s al valore della manopola nei primi secondi dopo **ogni** `prepareToPlay` +(caricamento, cambio di sample rate o buffer in molti host) e dopo ogni `Recover()`. +**Impatto:** le prime ripetizioni sono molto in ritardo e, poiché il ritardo varia mentre si legge, trasposte +verso il basso (effetto nastro). Dopo circa 3 s tutto è a posto. È comportamento del firmware, dove però +`Init` avviene solo all'accensione. +**Evidenza:** `exp2_edges`, sezione A, echo time 0,248 s: impulso a t=0 → prima ripetizione dopo 0,954 s; +a t=2 s → 0,296 s; a t=6 s → 0,248 s. +**Soluzione:** al primo push (`first_`) e dopo `Recover`, far saltare anche lo stato interno dell'echo: +`Engine::SetEchoDelayTime(float, bool immediate)` → `stereo_echo_->SetDelayTime(t, immediate)`, chiamato +da `DroseraCore::pushControls` con `imm`. Cambia i render di riferimento con echo: va dichiarato e +vanno rigenerati i checksum (regola 2). +**Nota emersa applicando il fix** (`review/experiments/exp5_stall.cpp`): il one-pole in `float` di `EchoDelay` non +raggiunge mai il suo target: si ferma quando il passo scende sotto mezzo ulp, cioè 8,6 campioni prima di 0,248 s, +68,7 prima di 1,29 s, 137 prima di 2,5 s (fino a 2,9 ms). Per questo i tre render con echo cambiano per tutta la +durata, non solo nei primi secondi. Lo stesso scarto resta, dopo il fix, a ogni movimento della manopola Echo Time: +inudibile (0,1 %), ma se si vuole esattezza basta agganciare il valore al target quando la distanza è sotto un +campione (opzionale, cambierebbe ancora i checksum). +**Priorità:** 3. + +### D-03 · Medium · Architecture (portabilità, determinismo) +**File:** `src/dsp/ParameterRegistry.h:67-71` e `:99`, `src/dsp/DroseraCore.h:141` (commento che ammette il problema), `:206-227` +**Descrizione:** gli handler vengono chiamati nell'ordine di iterazione di `std::unordered_map`, che +è un dettaglio della libreria standard. Con libc++ è l'inverso dell'ordine di registrazione (`exp3_order`: +`OutputVolume … FeedbackBody FeedbackGain Frequency`). L'handler di `Frequency` chiama `applyPitchAndBody(0)`, +che usa `body_s_`, `lpf_hz_`, `hpf_hz_` scritti dagli handler di Body/LPF/HPF: con l'ordine attuale vede i +valori del tick corrente, con un altro ordine quelli del tick precedente. Inoltre, ogni tick fa una ricerca +hash e una chiamata `std::function` per parametro. +**Impatto:** (a) i checksum di riferimento valgono solo per questa libreria standard (oltre che per arm64); +(b) un build con libstdc++ (Linux/Windows, citato in `BUILDING.md` come possibile ripresa) renderebbe +diverso senza che nulla lo segnali; (c) costo per tick evitabile. +**Evidenza:** `review/experiments/exp3_order.cpp`; `DroseraCore.h:141` ("more entries could reorder its handlers"). +**Soluzione:** sostituire la mappa con `std::array` indicizzato dall'enum e iterare in un +ordine scelto esplicitamente. Mantenendo l'ordine inverso attuale i render restano identici; in +alternativa dichiarare il cambio. Elimina `kParamSmoothingThresh` (inutilizzato) e il TODO. ~40 righe, +riduce codice. +**Priorità:** 2. + +### D-04 · Low · Compatibility +**File:** `src/plugin/PluginProcessor.cpp:168-170` (latenza dichiarata), nessun override di `processBlockBypassed` +**Descrizione:** con host ≠ 48 kHz e bus d'ingresso collegato il plugin dichiara una latenza (327 campioni a +44,1 kHz, 1264 a 192 kHz); il bypass di default di JUCE copia l'ingresso in uscita senza ritardo e, in +Debug, scatta `jassert(getLatencySamples() == 0)` (`juce_AudioProcessor.cpp:599`). +**Impatto:** durante il bypass, l'audio passante è spostato in avanti di quella latenza rispetto alla +compensazione dell'host; in Debug l'assert interrompe. Riguarda solo l'uso come effetto su un ingresso. +**Soluzione:** override di `processBlockBypassed` con una linea di ritardo di `getLatencySamples()` campioni +dimensionata in `prepareToPlay` (`juce::dsp::DelayLine` o un ring di `std::vector` già allocato). ~25 righe. +**Priorità:** 4. + +### D-05 · Low · Compatibility (AU) +**File:** `CMakeLists.txt:67` (`FORMATS VST3 AU Standalone`), `.github/workflows/ci.yml` (target `Drosera_VST3`, `pluginval` solo VST3) +**Descrizione:** l'AU viene costruito da ogni build locale, ma la CI non lo compila, non esegue `auval` né +`pluginval` su di esso, e la release pubblica solo il VST3. +**Impatto:** l'AU è un artefatto non verificato; chi lo installa da una build locale non ha garanzie +(Logic/GarageBand rifiutano i componenti che non passano `auval`). +**Soluzione:** o rimuovere `AU` dai formati finché non è supportato, oppure aggiungere alla CI: +build `Drosera_AU`, copia in `~/Library/Audio/Plug-Ins/Components`, `killall -9 AudioComponentRegistrar`, +`auval -v aumu Dros Cdsk`, `pluginval` sul `.component`. +**Priorità:** 5. + +### D-06 · Low · Bug (robustezza) +**File:** `src/plugin/PluginProcessor.cpp:142-150` +**Descrizione:** `ratio = 48000 / sampleRate`; con `sampleRate` 0 (alcuni host interrogano/preparano con +valori provvisori) `ratio` è infinito, `std::ceil(inf)` convertito a `size_t` è comportamento indefinito e +`outL.assign(...)` può chiedere una quantità enorme di memoria. +**Impatto:** crash o eccezione `bad_alloc` all'apertura in un host che passa 0. +**Soluzione:** all'inizio di `prepareToPlay`: `if (sampleRate <= 0.0) sampleRate = DroseraCore::kRate;`. 1 riga. +**Priorità:** 6. + +### D-07 · Low · Bug (UX) / Compatibility +**File:** `src/dsp/DroseraCore.h:192` (clamp a `kNoteMin..kNoteMax` tramite `Update`), `src/plugin/PluginProcessor.cpp:403-404` (`Interval` −24..+24) +**Descrizione:** la nota di una voce è limitata a 16..84; con la manopola Frequency in alto (nota 72) un +intervallo di +24 st suona la nota 84, come +12. Lo stesso in basso. +**Evidenza:** `exp2_edges`, sezione D: voce 1 (+24) e voce 2 (+12) pubblicano entrambe 84,0. +**Impatto:** la manopola mostra "+24 st" ma la voce non lo suona; nessun artefatto. +**Soluzione:** nel readout dell'intervallo mostrare l'intervallo effettivo (nota pubblicata − nota della +voce 0), oppure documentarlo nel manuale. Non cambiare il range del parametro (romperebbe le automazioni). +**Priorità:** 9. + +### D-08 · Low · Real-time +**File:** `src/dsp/DroseraCore.h:125-129` (`Recover`), `FeedbackSynthEngine.cpp:13-37` +**Descrizione:** il recupero da NaN re-inizializza tutto il motore sul thread audio: azzera 3 `ReverbSc` +(386 KB l'uno), le due linee dell'echo (940 KB l'una), corde e delay (≈ 160 KB per voce): ≈ 3,5 MB scritti +in un colpo, oltre a riportare l'echo a 5 s (D-02). +**Impatto:** un picco di carico di qualche centinaio di µs nel blocco in cui scatta; con buffer da 64 +campioni a 96 kHz (0,67 ms) può causare un dropout. È un percorso d'emergenza: in 3 minuti di render ai +valori massimi (`exp2_edges` B) non è mai scattato, e il test `recoversFromNan` ne verifica l'esito. +**Soluzione:** accettabile così; se si vuole, azzerare solo il necessario (delay line, filtri, riverberi) senza +ricalcolare i semi del rumore, e saltare subito l'echo al valore corrente. +**Priorità:** 10 (opzionale). + +### D-09 · Low · Real-time / Compatibility (thread) +**File:** `src/plugin/PluginProcessor.cpp:103-130` +**Descrizione:** `setCurrentProgram` scrive `apvts.state.setProperty(...)` (un `ValueTree`, non thread-safe) e +chiama `setValueNotifyingHost` con gesture. Dall'editor è sul thread messaggi; un host AU che ripristina un +preset da un altro thread farebbe una corsa con i listener dell'APVTS. +**Soluzione:** eseguire la parte `ValueTree` sul thread messaggi (`MessageManager::callAsync`) o almeno +`jassert(MessageManager::existsAndIsCurrentThread())`. ~5 righe. +**Priorità:** 11. + +### D-10 · Low · Security (supply chain) / Build +**File:** `CMakeLists.txt:48-51` +**Descrizione:** JUCE è scaricato con `GIT_TAG 8.0.9`. Un tag git è mutabile. +**Soluzione:** usare l'hash del commit del tag (con `GIT_SHALLOW` serve un server che supporti fetch per +SHA, GitHub lo fa) o verificare un hash dell'archivio. 1 riga. +**Priorità:** 7. + +### D-11 · Low · Bug (MIDI) +**File:** `src/plugin/PluginProcessor.cpp:158-159` +**Descrizione:** `prepareToPlay` azzera `heldCount`, `haveNote` e l'allocatore: una nota tenuta mentre l'host +cambia buffer o sample rate si perde (con MIDI Gate il suono si chiude finché non si suona un'altra nota). +Mancano anche il sustain pedal (CC 64) e la bend range configurabile (RPN), oggi fissa a ±2 st. +**Impatto:** raro nell'uso normale; i secondi due sono limiti di funzionalità, non bug. +**Soluzione:** conservare `held[]` e riapplicare `allocator.Assign(held, heldCount)` dopo `Init`; valutare +CC 64 e RPN 0 come funzionalità. +**Priorità:** 12. + +### D-12 · Low · Code quality +Warning nel codice del progetto (§4) e segnalazioni clang-tidy senza impatto: `performance-unnecessary-value-param` +per `Handler` in `ParameterRegistry.h:39,87` (copia di `std::function` alla registrazione, solo in `Init`), +`bugprone-implicit-widening-of-multiplication-result` in `PluginProcessor.cpp:147,150` e `FeedbackSynthEngine.h:77` +(valori piccoli, innocui), `cert-err33-c` su `snprintf` in `Readouts.h:14`. Correggere quando si tocca il file. +**Priorità:** 13. + +--- + +## 7. Analisi DSP e qualità audio + +**Motore a 48 kHz fissi.** Scelta corretta per preservare il comportamento del firmware (dimensioni delle +delay line, `ReverbSc` tarato su 48 kHz) e la riproducibilità dei checksum. Il costo è il resampler e la sua +latenza, dichiarata solo con l'ingresso collegato (coerente: senza ingresso non c'è nulla da allineare). + +**Resampler windowed-sinc.** Misure (`exp2_edges` C, 48 k → 44,1 k): guadagno 0,00 dB a 1, 10 e 18 kHz; +−16,5 dB a 21 kHz (banda di transizione, sotto la nuova Nyquist di 22,05 kHz); −94 dB a 23 kHz. Nessun +aliasing udibile, tabella normalizzata a guadagno unitario in DC. Il ponte input-driven/output-driven con +prime di 256 campioni ha retto 60 s di blocchi misti da 3 a 4096 campioni senza buchi; la latenza +misurata dopo quella prova è 329 campioni contro 327 dichiarati: nessuna deriva del FIFO. + +**Stabilità numerica.** L'anello è limitato da `fclamp(±20)` nella corda, `SoftClip` nell'overdrive e nel +echo, `Limiter` in uscita; `juce::ScopedNoDenormals` nel `processBlock` copre i denormali sul thread audio +(i test offline non lo attivano, ma non hanno mostrato rallentamenti). Ai valori massimi di tutto +(reverb decay 1,0, feedback +12 dB, echo feedback 150 %, PONG drive +12 dB, coupling 10 %) 3 minuti di +render restano finiti, picco ≤ 0,82, zero recuperi (`exp2_edges` B). Il controllo NaN/inf per blocco con +`Recover` è una rete di sicurezza ragionevole per un sistema caotico. + +**Headroom e clipping.** Il `Limiter` DaisySP usa `SoftLimit`, che non è limitato a ±1 sui transienti; il +`jlimit(−1, 1)` finale nel `processBlock` è quindi giustificato. Nei 3 minuti ai massimi non si è mai +superato 1,0 dopo il limiter. Il `0.5·(dry+wet)` dell'echo dimezza sempre il segnale diretto: è del +firmware, non un errore. + +**Filtri.** Biquad TDF-II a singola precisione con coefficienti bilineari standard (`BiquadFilters.cpp`), +Q 0,9 per LPF/HPF, cutoff limitato a `[1, fs/2]`. Il tracking band-pass (BPF24, Q 1,5) e la compensazione di +fase complessa in `applyPitchAndBody` sono corretti: la nota 60 misura +0,1/+0,2 cent attraverso il VST3 a +44,1/48/96 kHz. Lo smoothing della nota (t60 0,2 s) produce un portamento su ogni cambio di nota MIDI: è +coerente col carattere del firmware ma vale la pena sapere che non è configurabile. + +**Aliasing.** La saturazione del PONG non è sovracampionata; il manuale lo dichiara (−54 dB di potenza +inarmonica al massimo Drive). Per un echo "a nastro" è una scelta accettabile; un oversampling 2× sul solo +`SoftClip` di `ReadShaped` costerebbe poco (Medium complessità) se in futuro si volesse ripulirlo. + +**Continuità al cambio di parametri.** Tutto passa dal registro con smoothing a 12 kHz (nessun zipper); +le rampe di polifonia e PONG (20 ms) e il blend di tuning (50 ms) sono verificati click-free dai test. +Eccezione: D-02 all'avvio. + +**Sound design.** Le scelte creative (Body che "snappa" ai periodi della nota, Coupling con make-up, +WARP come doppler) sono deliberate e documentate nei design spec in `docs/superpowers/`. Non le classifico +come problemi. Il manuale elenca con onestà i limiti (note 16–18 e 80 mute, reverb che stona le note +MIDI, chord drift con Body alto). + +--- + +## 8. Problemi real-time + +Verifica del percorso `processBlock` → `renderChunk` → `DroseraCore::Render` → `Engine::Process`: + +| Aspetto | Esito | +|---|---| +| Allocazioni | Nessuna: vettori/tabelle allocati in `prepareToPlay`; `Engine::Init` alloca solo alla prima chiamata; `MidiMessage` costruito solo per messaggi ≤ 3 byte (i sysex allocherebbero, ed è evitato). Confermato da `render_test` (operator new contato: 0) e `ui_test` (`malloc_logger`: 0). | +| Lock | Nessuno. `SpectrumTap` è SPSC lock-free con acquire/release corretti; la UI legge solo atomici. | +| I/O, logging | Nessuno sul thread audio. | +| Determinismo | Nessuna chiamata a tempo variabile; `std::pow/tan/atan2/log2` sono costanti nel tempo. | +| Denormali | `ScopedNoDenormals`. | +| UB | D-01 (overflow nel rumore). | +| Costo in casi rari | `Recover()` (D-08). | +| Comunicazione UI ↔ audio | Parametri via atomici APVTS letti una volta per blocco; `published_note_`/`published_body_s_` atomici relaxed; `uiTab`, `currentProgram`, `hostRate` atomici; `setStateInformation` usa `replaceState` (thread-safe, non RT, mai dal thread audio). `setCurrentProgram` vedi D-09. | +| Race `prepared` | `bool` non atomico scritto in `prepareToPlay`/`releaseResources` e letto in `processBlock`: accettabile perché gli host serializzano queste chiamate, ma un `std::atomic` costa nulla. | + +--- + +## 9. Ottimizzazioni di performance + +Misure (`exp1_cpu`, 20 s di audio a 48 kHz, blocchi da 512, un core M-series, Release `-O3`): + +| Modalità | CPU | +|---|---| +| Default (mono, manopole) | 0,53 % | +| Keys (mono, tracking MIDI) | 0,91 % | +| Open Fifths (poly, LOCK) | 2,13 % | +| Sympathetic (poly, libero) | 1,35 % | +| Chord Keys (poly MIDI) | 2,19 % | +| Ember Pong (PONG) | 0,59 % | + +`render_test` riporta 9 ms per secondo di audio mono e 21 ms poly. A questo si aggiunge il resampler a +host ≠ 48 kHz (96 tap × 3 canali ≈ 300 MAC/campione, trascurabile). Memoria per istanza: `Engine` 475 KB +inline + 3 × `ReverbSc` 386 KB + echo 1,9 MB + tabelle del resampler 0,6 MB ≈ 3,5 MB. + +**Conclusione:** nessuna correzione necessaria. Ottimizzazioni *opzionali*, in ordine di resa: + +1. **Non ricalcolare i coefficienti a ogni tick** (`DroseraCore.h:212-215, 243-248`, `FeedbackVoice::SetFeedbackTracking`). + Oggi ogni 4 campioni ogni handler scrive nel motore anche se il valore è fermo: `tanf` per LPF/HPF ×3 + voci, 4 `tanf` per i BPF24 di tracking per voce, `expf` per il livello PONG, più `pow`, `polar`, `atan2`, + `log2` in `applyPitchAndBody`. Rimedio: in `SmoothedValue::get` restituire anche "cambiato" (confronto + bit a bit, dopo la convergenza il one-pole è esattamente stabile) e saltare l'handler. Beneficio stimato: + −30/50 % sulla parte di controllo (che è una frazione del 2 %). Rischio: l'ordine/dipendenza fra handler + (D-03) va risolto prima, perché `applyPitchAndBody` dipende da più parametri. Complessità media. +2. **`applyPitchAndBody(0)` chiamato due volte per tick** (handler di Frequency e di Body, `DroseraCore.h:207, 211`): + basta una chiamata dopo entrambi. Beneficio piccolo, rischio nullo se l'ordine è esplicito (D-03). +3. **Registro senza hash e `std::function`** (parte di D-03): array indicizzato dall'enum, handler come + puntatore a membro o `switch`. Beneficio piccolo; vale per il determinismo più che per la CPU. +4. **SIMD**: non consigliato. L'anello è ricorsivo campione per campione (feedback a ritardo frazionario), + non vettorizzabile; i tre voci sono indipendenti solo entro il campione. Il resampler è già un prodotto + scalare che il compilatore vettorizza da solo. + +--- + +## 10. Problemi architetturali e manutenibilità + +**Punti di forza.** Confine netto DSP/JUCE con test senza JUCE; `EditorBridge` tiene l'editor lontano dal +processor; `Presets.h`, `Readouts.h`, `SpectrumBands.h` testabili da soli; proprietà chiara (`unique_ptr` +per gli oggetti grandi, `Engine` non copiabile); nessun `new` nudo; ID parametri con `versionHint` per +l'ordinamento AU; regole di progetto scritte (`CLAUDE.md`, `CONTRIBUTING.md`) e design spec per ogni +funzionalità; CI con pluginval. + +**Da migliorare.** +- `ParameterRegistry` (D-03): la generalità del template e della mappa non è usata (tre registri con enum + fissi); un array la sostituisce con meno codice e più garanzie. +- `DroseraCore.h` è un header di 368 righe con matematica non banale (`applyPitchAndBody`, + `blendedStringNote`) e tre registri: resta leggibile grazie ai commenti, ma le funzioni di risposta in + frequenza (`stringLoopResponse`, `biquadResponse`) replicano a mano i coefficienti di `BiquadFilters.cpp` e + di `Tone`/`DcBlock`: se uno cambia, l'altro va aggiornato a mano. Un commento incrociato o una funzione + condivisa che restituisca i coefficienti eviterebbe la deriva. +- `PluginProcessor.cpp` tiene insieme layout dei parametri, stato MIDI (`held[]`, allocatore, bend), ponte + di sample rate e programmi: 475 righe ancora gestibili, ma lo stato MIDI (`handleMidi`, `applyMidiState`, + `removeNote`) è un candidato naturale a una piccola classe testabile senza JUCE, come `VoiceAllocator`. +- Cache di `std::atomic*` per 25 parametri: funziona, ma un array indicizzato da un enum dei + parametri plugin ridurrebbe le 15 righe di `getRawParameterValue` ripetute. +- `kSpecs` in `PluginProcessor.cpp` duplica range e curve di `DroseraCore::registerParams` ("Ranges/curves + mirror…"): una tabella condivisa nel DSP eviterebbe la duplicazione. +- Il commento in `FeedbackVoice.h:21-22` ("Init leaves fb_delay_samp_…") e quello in `Engine::Init` sono + essenziali perché `Init` serve anche da reset sul thread audio: convenzione delicata ma documentata. + +--- + +## 11. Compatibilità VST3 / AU + +| Aspetto | Stato | +|---|---| +| Parametri | 25 parametri 0..1 con `ParameterID` versionati (1 e 2), nomi in inglese, formattazione testo coerente con il motore; test d'identità ID/nome che blocca regressioni. Nel VST3 l'host vede 2107 parametri: i 25 + Bypass + 2080 di emulazione MIDI CC/aftertouch/pitch-bend (`JUCE_VST3_EMULATE_MIDI_CC_WITH_PARAMETERS`, default JUCE per i synth). Serve per ricevere il pitch bend in VST3; è normale per i synth JUCE, ma ingombra le liste di automazione degli host. Nessuna azione. | +| Automazione | Letta una volta per blocco, poi smoothing interno a 12 kHz: nessun zipper, niente automazione sample-accurate (standard JUCE). | +| Stato | XML in binario, tag verificato, parametri assenti → default (progetti vecchi caricano, test con fixture baseline), `uiTab` e `program` salvati. Stato corrotto o troncato ignorato senza crash (`host_probe`). | +| Programmi | 16 preset come programmi; `setCurrentProgram` imposta i parametri notificando l'host; indice persistito. Vedi D-09. | +| Bypass | Default JUCE; D-04 quando c'è latenza. | +| Bus | Uscita solo stereo; ingresso disabilitato/mono/stereo. Un host che chieda un'uscita mono non istanzia: accettabile per un synth. L'ingresso mono è letto dal solo canale 0 (corretto, il canale 1 del buffer può contenere spazzatura). | +| MIDI | Note on/off (velocity 0 = off), all notes/sound off, pitch wheel ±2 st, omni. Sysex ignorati senza allocare. Sample-accurate. D-11. | +| Sample rate e buffer | Verificato 22,05–192 kHz, blocchi 1–8192 e 0, con latenza dichiarata corretta. | +| Doppia precisione | Non supportata (dichiarato correttamente). | +| Tail | 10 s dichiarati; il drone è auto-oscillante, il valore è nominale. | +| AU | Bundle corretto (`aumu`/`Dros`/`Cdsk`, versione 257); mai validato (D-05). | +| Standalone | Costruito e firmato; non eseguito (richiede un dispositivo audio). | +| macOS | minOS 11.0; firma ad hoc rifatta dopo la build (corretto, perché JUCE aggiunge `moduleinfo.json` dopo la firma); la CI firma e notarizza se ci sono i segreti. | + +--- + +## 12. Piano di intervento prioritizzato + +| # | Intervento | ID | Tipo | Complessità | Effetto sui checksum | +|---|---|---|---|---|---| +| 1 | Moltiplicazione senza segno in `whitenoise.h` + nota in `PATCHES.txt`; aggiungere un job CI con ASan/UBSan su `render_test` e `ui_test` | D-01 | Correzione necessaria | Banale | Nessuno (verificato) | +| 2 | `ParameterRegistry` su array con ordine esplicito | D-03 | Correzione consigliata | Bassa (~40 righe, meno codice) | Nessuno se si conserva l'ordine attuale | +| 3 | Echo che salta subito al valore della manopola all'avvio e dopo `Recover` | D-02 | Correzione consigliata (udibile) | Bassa | Sì: rigenerare con motivazione | +| 4 | `processBlockBypassed` con ritardo pari alla latenza | D-04 | Correzione consigliata | Bassa | Nessuno | +| 5 | Validare l'AU in CI (`auval`, `pluginval`) o togliere `AU` dai formati | D-05 | Consigliata | Bassa (CI) | Nessuno | +| 6 | Clamp del sample rate in `prepareToPlay` | D-06 | Correzione (1 riga) | Banale | Nessuno | +| 7 | Pin di JUCE all'hash del commit | D-10 | Consigliata | Banale | Nessuno | +| 8 | `std::atomic prepared` | §8 | Opzionale | Banale | Nessuno | +| 9 | Readout dell'intervallo effettivo o nota nel manuale | D-07 | Opzionale | Banale | Nessuno | +| 10 | Recupero da NaN più leggero | D-08 | Opzionale | Media | Nessuno (solo dopo NaN) | +| 11 | `setCurrentProgram` sul thread messaggi | D-09 | Opzionale | Bassa | Nessuno | +| 12 | Note tenute attraverso `prepareToPlay`; sustain pedal; RPN bend range | D-11 | Funzionalità | Bassa/Media | Nessuno | +| 13 | Skip degli handler a valore fermo; una sola `applyPitchAndBody` per tick | §9 | Ottimizzazione opzionale | Media | Nessuno se fatto bit a bit | +| 14 | Pulizia warning e clang-tidy | D-12 | Opzionale | Banale | Nessuno | + +--- + +## 13. Interventi applicati (dopo la revisione) + +Su richiesta, gli interventi 1–7 del piano sono stati applicati nel worktree (non committati). Diff: 13 file, ++144/−56 righe. Log in `review/logs/*-after-fixes.log`. + +| # | ID | Cosa è cambiato | Verifica | +|---|---|---|---| +| 1 | D-01 | `whitenoise.h`: prodotto in `uint32_t` riconvertito a `int32_t`; nota in `PATCHES.txt` | 7 render senza echo identici al bit; `ui_test` e `voice_allocator_test` passano sotto ASan+UBSan senza report; `render_test` sotto ASan+UBSan: 472/472 OK, zero report (`review/logs/render_test-asan-ubsan-after-fixes.log`) | +| 2 | D-03 | `ParameterRegistry` su `std::array, N>`, `Process` scorre dall'id più alto al più basso (l'ordine che libc++ dava); gli enum hanno `NumVoiceParams`/`NumEchoParams`; −9 righe nette | I 7 render senza echo restano identici al bit; i 3 con echo cambiano solo per D-02 | +| 3 | D-02 | `Engine::SetEchoDelayTime(t, immediate)`; `DroseraCore` fa saltare l'echo al primo tick dopo `Init` e dopo `Recover` (`echo_jump_`); nuovo test `echoStartsAtKnobTime` | Prima ripetizione a 0,248 s con manopola a 0,248 s (prima: 0,954 s). `SHA256SUMS` rigenerati: p05, p06, p10 cambiano, gli altri 7 no. Motivo nel CHANGELOG | +| 4 | D-04 | `processBlockBypassed` con un ring per canale lungo `getLatencySamples()`, allocato in `prepareToPlay`; nuovo test `bypassKeepsLatency`/`bypassPassesThrough` | Bypass a 44,1 kHz: dichiarati 327, misurati 327; a 48 kHz passa inalterato | +| 5 | D-05 | CI: build di `Drosera_AU`, installazione nella cartella Components del runner, `auval -v aumu Dros Cdsk`, `pluginval` sull'AU | Non eseguibile qui (vedi §3); va osservato al primo run della CI | +| 6 | D-06 | `prepareToPlay`: sample rate ≤ 0 → 48 000 | Compila; comportamento a rate validi invariato (`plugin_host_test` ALL OK) | +| 7 | D-10 | `GIT_TAG` di JUCE = hash del commit di 8.0.9 | Il configure del worktree ha scaricato JUCE per hash con `GIT_SHALLOW ON` | + +Suite complete sul worktree dopo le modifiche: `voice_allocator_test` OK, `render_test` 472 verifiche OK, +`ui_test` ALL OK, `plugin_host_test` ALL OK (identità parametri, fixture baseline, latenza), `check_reference.sh` +10/10 con i nuovi checksum. `tests/fixtures/state-baseline.bin` non è stato toccato. + +Restano aperti gli opzionali 8–14 del piano e la nota sullo scarto residuo del one-pole dell'echo (in D-02). + +--- + +## Valutazione complessiva e roadmap + +Il progetto è solido: il thread audio è pulito, il DSP è corretto e misurato (intonazione MIDI entro +0,2 cent, resampler a −94 dB in banda attenuata, stabilità per minuti ai valori estremi), la persistenza è +protetta da fixture, e le scelte sonore sono documentate con i loro limiti. I difetti trovati sono di +contorno: un UB ereditato da una libreria vendorizzata (che oggi nasconde la possibilità di usare i +sanitizer), un transitorio d'avvio ereditato dal firmware, un ordine di valutazione lasciato alla libreria +standard, e un AU costruito ma non verificato. + +Roadmap suggerita: +- **Subito (una sessione):** 1, 6, 7, 8 — correzioni banali senza effetto sui render — più il job CI con sanitizer. +- **Prossima release:** 2 e 3 (con rigenerazione dei checksum motivata nel changelog), 4, 5. +- **Quando si tocca l'area:** 9–14. + +Non controllato: pluginval e auval (vincoli della sandbox), build Intel, ThreadSanitizer, ascolto +soggettivo dei preset. diff --git a/review/experiments/CMakeLists-host_probe.txt b/review/experiments/CMakeLists-host_probe.txt new file mode 100644 index 0000000..37734bd --- /dev/null +++ b/review/experiments/CMakeLists-host_probe.txt @@ -0,0 +1,8 @@ +# REVIEW EXPERIMENT (sandbox only): extra host-side probe, see tests/host_probe.cpp +if(DROSERA_BUILD_PLUGIN) + juce_add_console_app(host_probe PRODUCT_NAME "host_probe") + target_sources(host_probe PRIVATE tests/host_probe.cpp) + target_compile_definitions(host_probe PRIVATE JUCE_PLUGINHOST_VST3=1 JUCE_WEB_BROWSER=0 JUCE_USE_CURL=0) + target_link_libraries(host_probe PRIVATE juce::juce_audio_processors juce::juce_recommended_config_flags) + add_dependencies(host_probe Drosera_VST3) +endif() diff --git a/review/experiments/exp1_cpu.cpp b/review/experiments/exp1_cpu.cpp new file mode 100644 index 0000000..bb9ac84 --- /dev/null +++ b/review/experiments/exp1_cpu.cpp @@ -0,0 +1,46 @@ +// CPU cost of DroseraCore per mode: renders N seconds at 48 kHz in 512-sample blocks and reports +// wall time as a percentage of real time (one core). Also reports the limiter's overshoot above 1.0. +#include +#include +#include +#include +#include "DroseraCore.h" +#include "Presets.h" + +using infrasonic::DroseraCore; + +static void apply(DroseraCore& c, const infrasonic::Preset& p) { + for (int i = 0; i < DroseraCore::NumParams; ++i) c.SetParam((DroseraCore::Param) i, p.knob[i]); + c.SetEchoWarp(p.echoHalve); c.SetPolyphony(p.poly); c.SetCoupling(p.coupling); + c.SetIntervals(p.interval2, p.interval3); c.SetStringLock(p.stringLock); + c.SetEchoPong(p.echoPong); c.SetEchoDrive(p.echoDrive); c.SetEchoTone(p.echoTone); + c.SetEchoWidth(p.echoWidth); c.SetEchoLevel(p.echoLevel); +} + +static void bench(const char* name, DroseraCore& core, double seconds) { + const size_t block = 512, total = (size_t) (seconds * 48000); + std::vector L(block), R(block); + size_t over = 0; double peak = 0; + auto t0 = std::chrono::steady_clock::now(); + for (size_t pos = 0; pos < total; pos += block) { + core.Render(nullptr, L.data(), R.data(), block); + for (size_t i = 0; i < block; ++i) { const double a = std::fabs(L[i]); if (a > 1.0) ++over; if (a > peak) peak = a; } + } + const double wall = std::chrono::duration(std::chrono::steady_clock::now() - t0).count(); + std::printf("%-28s %6.2f%% of one core peak %.3f samples > 1.0: %zu recoveries %d\n", + name, 100.0 * wall / seconds, peak, over, core.RecoveryCount()); +} + +int main(int argc, char** argv) { + const double seconds = argc > 1 ? std::atof(argv[1]) : 20.0; + using infrasonic::kFactoryPresets; + { DroseraCore c; c.Init(); apply(c, kFactoryPresets[0]); bench("Default (mono knob)", c, seconds); } + { DroseraCore c; c.Init(); apply(c, kFactoryPresets[9]); c.SetMidiPitch(true, 48.0f); c.SetGate(true, true); bench("Keys (mono MIDI tracking)", c, seconds); } + { DroseraCore c; c.Init(); apply(c, kFactoryPresets[12]); bench("Open Fifths (poly, lock)", c, seconds); } + { DroseraCore c; c.Init(); apply(c, kFactoryPresets[13]); bench("Sympathetic (poly, free)", c, seconds); } + { DroseraCore c; c.Init(); apply(c, kFactoryPresets[14]); c.SetMidiPitch(true, 48.0f); c.SetVoiceNote(1, 52.0f); c.SetVoiceNote(2, 55.0f); + for (size_t v = 0; v < 3; ++v) c.SetVoiceGate(v, true, true); bench("Chord Keys (poly MIDI)", c, seconds); } + { DroseraCore c; c.Init(); apply(c, kFactoryPresets[15]); bench("Ember Pong (pong on)", c, seconds); } + { DroseraCore c; c.Init(); apply(c, kFactoryPresets[7]); bench("Razor Feedback (gain 0.95)", c, seconds); } + return 0; +} diff --git a/review/experiments/exp2_edges.cpp b/review/experiments/exp2_edges.cpp new file mode 100644 index 0000000..e8c283b --- /dev/null +++ b/review/experiments/exp2_edges.cpp @@ -0,0 +1,99 @@ +// DSP edge cases on the host-independent core. +// A) Echo start-up: the echo's delay line starts at 5 s and glides to the knob; measure the first repeat's delay +// of an impulse at t=0 against one at t=6 s. +// B) Extreme settings for minutes: reverb decay 1.0, feedback max, echo feedback 1.5, pong drive max. +// Count non-finite recoveries and samples above 1.0 after the limiter. +// C) Resampler: gain at 1 kHz and 18 kHz, and image/alias power, 48k -> 44.1k. +// D) Interval clamp: knob at the top with +24 st. +#include +#include +#include +#include +#include "DroseraCore.h" +#include "Presets.h" +#include "SincResampler.h" + +using infrasonic::DroseraCore; + +static void apply(DroseraCore& c, const infrasonic::Preset& p) { + for (int i = 0; i < DroseraCore::NumParams; ++i) c.SetParam((DroseraCore::Param) i, p.knob[i]); + c.SetEchoWarp(p.echoHalve); c.SetPolyphony(p.poly); c.SetCoupling(p.coupling); + c.SetIntervals(p.interval2, p.interval3); c.SetStringLock(p.stringLock); + c.SetEchoPong(p.echoPong); c.SetEchoDrive(p.echoDrive); c.SetEchoTone(p.echoTone); + c.SetEchoWidth(p.echoWidth); c.SetEchoLevel(p.echoLevel); +} + +static void render(DroseraCore& c, const float* in, std::vector& L, std::vector& R, size_t n) { + L.assign(n, 0.0f); R.assign(n, 0.0f); + for (size_t pos = 0; pos < n; pos += 256) c.Render(in ? in + pos : nullptr, &L[pos], &R[pos], std::min(256, n - pos)); +} + +static void echoStartup() { + // Feedback closed, no reverb, echo send 1, echo feedback 0, echo time norm 0.2 -> 0.05 + 0.04*4.95 = 0.248 s + const float p[] = {0.43f, 0.00f, 0.30f, 0.90f, 0.20f, 0.00f, 0.50f, 1.00f, 0.20f, 0.00f, 0.70f}; + const float expect = DroseraCore::EchoTimeSeconds(0.2f, false); + for (double at : {0.0, 2.0, 6.0}) { + DroseraCore c; c.Init(); + for (int i = 0; i < DroseraCore::NumParams; ++i) c.SetParam((DroseraCore::Param) i, p[i]); + const size_t n = 48000 * 12; + std::vector in(n, 0.0f), L, R; + in[(size_t) (at * 48000)] = 0.5f; + render(c, in.data(), L, R, n); + // the direct sound is the string's ring; find the echo as the loudest sample after 0.1 s past the impulse + size_t start = (size_t) (at * 48000) + 4800, best = start; double peak = 0; + for (size_t i = start; i < n; ++i) if (std::fabs(L[i]) > peak) { peak = std::fabs(L[i]); best = i; } + std::printf("A) impulse at %.0f s: first repeat after %.3f s (knob says %.3f s), level %.3f\n", at, (best - at * 48000) / 48000.0, expect, peak); + } +} + +static void extremes() { + struct Case { const char* name; float p[11]; bool pong; float drive; bool poly; float coupling; }; + const Case cases[] = { + {"everything max, reverb 1.0", {1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1}, false, 0, false, 0}, + {"max + pong drive max", {1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1}, true, 1, false, 0}, + {"max + poly + coupling max", {1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1}, true, 1, true, 1}, + {"low + poly + coupling max", {0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1}, false, 0, true, 1}, + }; + for (const auto& k : cases) { + DroseraCore c; c.Init(); + for (int i = 0; i < DroseraCore::NumParams; ++i) c.SetParam((DroseraCore::Param) i, k.p[i]); + c.SetEchoPong(k.pong); c.SetEchoDrive(k.drive); c.SetPolyphony(k.poly); c.SetCoupling(k.coupling); + const size_t n = 48000 * 180; // three minutes + std::vector L(256), R(256); + size_t over = 0; double peak = 0, sumSq = 0; + for (size_t pos = 0; pos < n; pos += 256) { + c.Render(nullptr, L.data(), R.data(), 256); + for (size_t i = 0; i < 256; ++i) { const double a = std::fabs(L[i]); if (a > 1.0) ++over; if (a > peak) peak = a; if (pos > n / 2) sumSq += a * a; } + } + std::printf("B) %-28s 3 min: peak %.3f, samples > 1.0: %zu, rms(2nd half) %.3f, recoveries %d\n", k.name, peak, over, std::sqrt(sumSq / (n / 2.0)), c.RecoveryCount()); + } +} + +static void resampler() { + infrasonic::SincResampler r; r.Init(48000.0 / 44100.0); + for (double hz : {1000.0, 10000.0, 18000.0, 21000.0, 23000.0}) { + r.Reset(); + const size_t nIn = 48000 * 2, nOut = 44100 * 2 - 200; + std::vector in(nIn), out(nOut); + for (size_t i = 0; i < nIn; ++i) in[i] = (float) std::sin(2.0 * M_PI * hz * i / 48000.0); + r.Process(in.data(), out.data(), (int) nOut); + // amplitude at hz (if below 22.05k) via Goertzel over the second half, and total power elsewhere + const size_t a = nOut / 2, len = nOut - a; + std::complex acc = 0; double total = 0; + for (size_t i = a; i < nOut; ++i) { acc += (double) out[i] * std::polar(1.0, -2.0 * M_PI * hz * (double) i / 44100.0); total += (double) out[i] * out[i]; } + const double amp = 2.0 * std::abs(acc) / (double) len; + const double rms = std::sqrt(total / (double) len); + std::printf("C) 48k->44.1k %6.0f Hz: amplitude %.4f (%.2f dB), output rms %.4f\n", hz, amp, 20 * std::log10(amp + 1e-12), rms); + } +} + +static void intervalClamp() { + DroseraCore c; c.Init(); + apply(c, infrasonic::kFactoryPresets[12]); + c.SetParam(DroseraCore::Frequency, 1.0f); // note 72 + c.SetIntervals(24, 12); + std::vector L, R; render(c, nullptr, L, R, 48000); + std::printf("D) knob note 72 with +24 st: voice 1 publishes note %.1f (voice 0 %.1f), voice 2 (+12) %.1f\n", c.PublishedNote(1), c.PublishedNote(0), c.PublishedNote(2)); +} + +int main() { echoStartup(); resampler(); intervalClamp(); extremes(); return 0; } diff --git a/review/experiments/exp3_order.cpp b/review/experiments/exp3_order.cpp new file mode 100644 index 0000000..ccc664e --- /dev/null +++ b/review/experiments/exp3_order.cpp @@ -0,0 +1,12 @@ +// Order in which ParameterRegistry::Process fires its handlers: it iterates a std::unordered_map, so the +// order is the standard library's, not the registration order. Mirrors DroseraCore's registration. +#include +#include "ParameterRegistry.h" +enum Param : int { Frequency = 0, FeedbackGain, FeedbackBody, FeedbackLPF, FeedbackHPF, ReverbMix, ReverbDecay, EchoSend, EchoTime, EchoFeedback, OutputVolume, NumParams }; +static const char* names[] = {"Frequency", "FeedbackGain", "FeedbackBody", "FeedbackLPF", "FeedbackHPF", "ReverbMix", "ReverbDecay", "EchoSend", "EchoTime", "EchoFeedback", "OutputVolume"}; +int main() { + infrasonic::ParameterRegistry r; r.Init(12000.0f); + for (int p = 0; p < NumParams; ++p) r.Register((Param) p, 0.5f, 0.0f, 1.0f, [p](float) { std::printf("%s ", names[p]); }); + std::printf("registration order: Frequency .. OutputVolume\nhandler order: "); r.Process(); std::printf("\n"); + return 0; +} diff --git a/review/experiments/exp4_size.cpp b/review/experiments/exp4_size.cpp new file mode 100644 index 0000000..18539d2 --- /dev/null +++ b/review/experiments/exp4_size.cpp @@ -0,0 +1,5 @@ +#include +#include "DroseraCore.h" +int main() { std::printf("sizeof Engine %zu KB, FeedbackVoice %zu KB, ReverbSc %zu KB, StereoEcho %zu KB, DroseraCore %zu KB\n", + sizeof(infrasonic::FeedbackSynth::Engine)/1024, sizeof(infrasonic::FeedbackSynth::FeedbackVoice)/1024, sizeof(daisysp::ReverbSc)/1024, + sizeof(infrasonic::StereoEcho<48000*5>)/1024, sizeof(infrasonic::DroseraCore)/1024); } diff --git a/review/experiments/exp5_stall.cpp b/review/experiments/exp5_stall.cpp new file mode 100644 index 0000000..24f08a5 --- /dev/null +++ b/review/experiments/exp5_stall.cpp @@ -0,0 +1,11 @@ +// Where does EchoDelay's float one-pole (lag 0.5 s at 48 kHz) stop when gliding from Init's 5 s to the knob? +#include +#include +int main() { + const float coef = 1.0f / (0.5f * 48000.0f); + for (float target : {0.248f, 1.2875f, 2.5f}) { + float cur = 5.0f; long n = 0; + for (; n < 48000L * 60; ++n) { const float next = cur + coef * (target - cur); if (next == cur) break; cur = next; } + std::printf("target %.4f s: stops at %.6f s after %.1f s, short by %.3f ms = %.1f samples\n", target, cur, n / 48000.0, (cur - target) * 1000.0, (cur - target) * 48000.0); + } +} diff --git a/review/experiments/host_probe.cpp b/review/experiments/host_probe.cpp new file mode 100644 index 0000000..33bd7f7 --- /dev/null +++ b/review/experiments/host_probe.cpp @@ -0,0 +1,141 @@ +// REVIEW EXPERIMENT (sandbox only, not part of the project): drives the built VST3 through cases the +// project's plugin_host_test does not cover: unusual sample rates, very small, very large and empty +// blocks, a long run with input at a non-48k rate, bypass, garbage state, and velocity-0 note-ons. +#include +#include + +static void setParam(juce::AudioProcessor& p, const char* name, float norm) { + for (auto* prm : p.getParameters()) + if (prm->getName(64) == name) { prm->setValue(norm); return; } + std::printf("missing parameter %s\n", name); std::exit(1); +} + +struct Stats { double peak = 0, sumSq = 0; long n = 0; bool finite = true; }; +static void accumulate(Stats& s, const juce::AudioBuffer& b) { + for (int c = 0; c < 2; ++c) + for (int i = 0; i < b.getNumSamples(); ++i) { + const float v = b.getSample(c, i); + if (!std::isfinite(v)) s.finite = false; + s.peak = std::max(s.peak, (double) std::abs(v)); s.sumSq += (double) v * v; ++s.n; + } +} + +int main(int argc, char** argv) { + if (argc < 2) { std::printf("usage: host_probe \n"); return 2; } + juce::ScopedJuceInitialiser_GUI init; + juce::VST3PluginFormat vst3; + juce::OwnedArray descs; + vst3.findAllTypesForFile(descs, argv[1]); + if (descs.isEmpty()) { std::printf("FAIL: no plugin found\n"); return 1; } + bool ok = true; + juce::String err; + + // 1) Unusual rates and block sizes, with input, feedback open: finite, bounded, audible, latency as declared. + for (double sr : {22050.0, 44100.0, 88200.0, 176400.0, 192000.0}) { + for (int block : {1, 7, 2048, 8192}) { + auto inst = vst3.createInstanceFromDescription(*descs[0], sr, block, err); + if (!inst) { std::printf("FAIL create %s\n", err.toRawUTF8()); return 1; } + inst->enableAllBuses(); + inst->prepareToPlay(sr, block); + juce::AudioBuffer buf(2, block); juce::MidiBuffer midi; + Stats s; double phase = 0; + const long total = (long) (sr * 3.0); + for (long pos = 0; pos < total; pos += block) { + for (int i = 0; i < block; ++i) { const float v = 0.2f * (float) std::sin(phase); phase += 2.0 * M_PI * 220.0 / sr; buf.setSample(0, i, v); buf.setSample(1, i, v); } + inst->processBlock(buf, midi); + if (pos > sr) accumulate(s, buf); + } + const double rms = std::sqrt(s.sumSq / (double) s.n); + const bool pass = s.finite && s.peak <= 1.0 && rms > 1e-3; + std::printf("sr=%-7.0f block=%-5d peak=%.3f rms=%.4f finite=%d latency=%d %s\n", sr, block, s.peak, rms, s.finite, inst->getLatencySamples(), pass ? "OK" : "FAIL"); + ok &= pass; + inst->releaseResources(); + } + } + + // 2) Latency at the extra rates: impulse with feedback closed. + for (double sr : {22050.0, 88200.0, 192000.0}) { + auto inst = vst3.createInstanceFromDescription(*descs[0], sr, 512, err); + inst->enableAllBuses(); + setParam(*inst, "Feedback", 0.0f); setParam(*inst, "Reverb Mix", 0.0f); setParam(*inst, "Echo Send", 0.0f); + inst->prepareToPlay(sr, 512); + juce::AudioBuffer buf(2, 512); juce::MidiBuffer m; + const long at = (long) sr; long peakAt = -1; double peak = 0; + for (long b = 0; b < (long) (sr * 2 / 512); ++b) { + buf.clear(); + if (at >= b * 512 && at < (b + 1) * 512) { buf.setSample(0, (int) (at - b * 512), 0.9f); buf.setSample(1, (int) (at - b * 512), 0.9f); } + inst->processBlock(buf, m); + for (int i = 0; i < 512; ++i) if (b * 512 + i >= at && std::abs(buf.getSample(0, i)) > peak) { peak = std::abs(buf.getSample(0, i)); peakAt = b * 512 + i; } + } + const long measured = peakAt - at; const int declared = inst->getLatencySamples(); + const bool pass = peak > 1e-3 && std::labs(measured - declared) <= 12; + std::printf("sr=%-7.0f latency: declared %d, measured %ld %s\n", sr, declared, measured, pass ? "OK" : "FAIL"); + ok &= pass; + } + + // 3) Long run at 44.1 kHz with input and a varying block size: output must stay continuous (no dropouts) for 60 s. + { + const double sr = 44100.0; + auto inst = vst3.createInstanceFromDescription(*descs[0], sr, 4096, err); + inst->enableAllBuses(); + setParam(*inst, "Feedback", 0.0f); setParam(*inst, "Reverb Mix", 0.0f); setParam(*inst, "Echo Send", 0.0f); // output is the resampled input + inst->prepareToPlay(sr, 4096); + juce::AudioBuffer buf(2, 4096); juce::MidiBuffer midi; + double phase = 0; long pos = 0; int quiet = 0, blocks = 0; bool finite = true; + const int sizes[] = {4096, 64, 1000, 3, 2048, 512}; + while (pos < (long) (sr * 60.0)) { + const int block = sizes[blocks % 6]; + juce::AudioBuffer view(buf.getArrayOfWritePointers(), 2, block); + for (int i = 0; i < block; ++i) { const float v = 0.2f * (float) std::sin(phase); phase += 2.0 * M_PI * 220.0 / sr; view.setSample(0, i, v); view.setSample(1, i, v); } + inst->processBlock(view, midi); + Stats s; accumulate(s, view); finite &= s.finite; + if (pos > sr && block >= 512 && std::sqrt(s.sumSq / (double) s.n) < 1e-4) ++quiet; + pos += block; ++blocks; + } + // After the long run: has the input-to-output delay drifted from what was declared? + juce::AudioBuffer b512(2, 512); long peakAt = -1, at = 0; double pk = 0; + for (long b = 0; b < 400; ++b) { b512.clear(); inst->processBlock(b512, midi); } // let the ring empty + for (long b = 0; b < 200; ++b) { + b512.clear(); + if (b == 10) { at = b * 512; b512.setSample(0, 0, 0.9f); b512.setSample(1, 0, 0.9f); } + inst->processBlock(b512, midi); + for (int i = 0; i < 512; ++i) if (b * 512 + i >= at && b >= 10 && std::abs(b512.getSample(0, i)) > pk) { pk = std::abs(b512.getSample(0, i)); peakAt = b * 512 + i; } + } + const long measured = peakAt - at; const int declared = inst->getLatencySamples(); + const bool pass = finite && quiet == 0 && std::labs(measured - declared) <= 12; + std::printf("60 s at 44.1k, mixed block sizes: finite=%d quiet blocks=%d, latency after: declared %d measured %ld %s\n", finite, quiet, declared, measured, pass ? "OK" : "FAIL"); + ok &= pass; + } + + // 4) Empty block, bypass, garbage state, note-on with velocity 0. + { + auto inst = vst3.createInstanceFromDescription(*descs[0], 48000.0, 512, err); + inst->prepareToPlay(48000.0, 512); + juce::AudioBuffer empty(2, 0); juce::MidiBuffer midi; + inst->processBlock(empty, midi); + juce::AudioBuffer buf(2, 512); + buf.clear(); inst->processBlockBypassed(buf, midi); + Stats s; accumulate(s, buf); + std::printf("empty block and bypass: finite=%d peak=%.3f %s\n", s.finite, s.peak, s.finite ? "OK" : "FAIL"); ok &= s.finite; + + const char garbage[] = "this is not a state"; + inst->setStateInformation(garbage, (int) sizeof(garbage)); + juce::MemoryBlock state; inst->getStateInformation(state); + inst->setStateInformation(state.getData(), (int) state.getSize() / 2); // truncated + buf.clear(); inst->processBlock(buf, midi); + Stats t; accumulate(t, buf); + std::printf("garbage and truncated state: still processing, finite=%d %s\n", t.finite, t.finite ? "OK" : "FAIL"); ok &= t.finite; + + setParam(*inst, "MIDI Gate", 1.0f); + midi.addEvent(juce::MidiMessage::noteOn(1, 60, (juce::uint8) 100), 0); + for (int b = 0; b < 100; ++b) { buf.clear(); inst->processBlock(buf, midi); midi.clear(); } + midi.addEvent(juce::MidiMessage::noteOn(1, 60, (juce::uint8) 0), 0); // running-status note-off + Stats held, after; + for (int b = 0; b < 400; ++b) { buf.clear(); inst->processBlock(buf, midi); midi.clear(); if (b > 300) accumulate(after, buf); } + const double rmsAfter = std::sqrt(after.sumSq / (double) after.n); + std::printf("note-on velocity 0 releases the gate: rms after %.5f %s\n", rmsAfter, rmsAfter < 1e-3 ? "OK" : "FAIL"); ok &= rmsAfter < 1e-3; + } + + std::printf(ok ? "HOST PROBE ALL OK\n" : "HOST PROBE: SOME FAILED\n"); + return ok ? 0 : 1; +} diff --git a/review/experiments/whitenoise-unsigned.patch b/review/experiments/whitenoise-unsigned.patch new file mode 100644 index 0000000..a050fb0 --- /dev/null +++ b/review/experiments/whitenoise-unsigned.patch @@ -0,0 +1,11 @@ +--- /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/experiments/whitenoise.h.orig 2026-11-03 13:45:07 ++++ /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Noise/whitenoise.h 2026-11-03 13:45:07 +@@ -31,7 +31,7 @@ + */ + inline float Process() + { +- randseed_ *= 16807; ++ randseed_ = (int32_t) ((uint32_t) randseed_ * 16807u); // REVIEW EXPERIMENT: same bits, no signed overflow + return (randseed_ * coeff_) * amp_; + } + diff --git a/review/logs/build-asan-build.log b/review/logs/build-asan-build.log new file mode 100644 index 0000000..f8d0993 --- /dev/null +++ b/review/logs/build-asan-build.log @@ -0,0 +1,91 @@ +[0/2] Re-checking globbed directories... +[1/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Control/line.cpp.o +[2/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Control/adsr.cpp.o +[3/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Control/adenv.cpp.o +[4/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Control/phasor.cpp.o +[5/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Drums/analogbassdrum.cpp.o +[6/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Dynamics/balance.cpp.o +[7/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Drums/analogsnaredrum.cpp.o +[8/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Drums/synthbassdrum.cpp.o +[9/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/autowah.cpp.o +[10/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/decimator.cpp.o +[11/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Drums/synthsnaredrum.cpp.o +[12/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/bitcrush.cpp.o +[13/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Dynamics/crossfade.cpp.o +[14/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Drums/hihat.cpp.o +[15/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/fold.cpp.o +[16/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/wavefolder.cpp.o +[17/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/reverbsc.cpp.o +[18/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Dynamics/limiter.cpp.o +[19/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Dynamics/compressor.cpp.o +[20/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Filters/allpass.cpp.o +[21/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Filters/mode.cpp.o +[22/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/overdrive.cpp.o +[23/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/flanger.cpp.o +[24/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/chorus.cpp.o +[25/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/tremolo.cpp.o +[26/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/phaser.cpp.o +[27/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Filters/nlfilt.cpp.o +[28/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/sampleratereducer.cpp.o +[29/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Filters/comb.cpp.o +[30/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Filters/biquad.cpp.o +[31/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Filters/atone.cpp.o +[32/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Filters/moogladder.cpp.o +[33/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/PhysicalModeling/pluck.cpp.o +[34/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Noise/clockednoise.cpp.o +[35/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Filters/tone.cpp.o +[36/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Filters/svf.cpp.o +[37/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Noise/grainlet.cpp.o +[38/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Noise/particle.cpp.o +[39/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Synthesis/blosc.cpp.o +[40/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/PhysicalModeling/KarplusString.cpp.o +[41/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/PhysicalModeling/drip.cpp.o +[42/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/PhysicalModeling/modalvoice.cpp.o +[43/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/PhysicalModeling/resonator.cpp.o +[44/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/PhysicalModeling/stringvoice.cpp.o +[45/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Utility/dcblock.cpp.o +[46/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Utility/jitter.cpp.o +[47/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Utility/port.cpp.o +[48/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Synthesis/oscillator.cpp.o +[49/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Synthesis/fm2.cpp.o +[50/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Synthesis/formantosc.cpp.o +[51/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Synthesis/variablesawosc.cpp.o +[52/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Synthesis/oscillatorbank.cpp.o +[53/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Synthesis/variableshapeosc.cpp.o +[54/91] Building CXX object CMakeFiles/voice_allocator_test.dir/tests/voice_allocator_test.cpp.o +[55/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Synthesis/zoscillator.cpp.o +[56/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Synthesis/vosim.cpp.o +[57/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Utility/metro.cpp.o +[58/91] Linking CXX static library libDaisySP.a +[59/91] Building CXX object CMakeFiles/DroseraDSP.dir/src/dsp/BiquadFilters.cpp.o +[60/91] Building CXX object CMakeFiles/DroseraDSP.dir/src/dsp/KarplusString.cpp.o +[61/91] Building CXX object CMakeFiles/DroseraDSP.dir/src/dsp/FeedbackVoice.cpp.o +[62/91] Building CXX object CMakeFiles/DroseraDSP.dir/src/dsp/FeedbackSynthEngine.cpp.o +[63/91] Building CXX object CMakeFiles/ui_test.dir/build/_deps/juce-src/modules/juce_audio_processors/juce_audio_processors_ara.cpp.o +[64/91] Linking CXX static library libDroseraDSP.a +[65/91] Building CXX object CMakeFiles/ui_test.dir/build/_deps/juce-src/modules/juce_audio_processors/juce_audio_processors_lv2_libs.cpp.o +[66/91] Building CXX object CMakeFiles/render_test.dir/tests/render_test.cpp.o +[67/91] Building CXX object CMakeFiles/ui_test.dir/src/plugin/ui/DroseraLookAndFeel.cpp.o +[68/91] Building CXX object CMakeFiles/ui_test.dir/src/plugin/ui/PlantView.cpp.o +[69/91] Building C object CMakeFiles/ui_test.dir/build/_deps/juce-src/modules/juce_graphics/juce_graphics_Sheenbidi.c.o +[70/91] Building CXX object CMakeFiles/ui_test.dir/src/plugin/ui/TabPanel.cpp.o +[71/91] Building CXX object CMakeFiles/ui_test.dir/src/plugin/PluginEditor.cpp.o +[72/91] Building CXX object CMakeFiles/ui_test.dir/build/_deps/juce-src/modules/juce_core/juce_core_CompilationTime.cpp.o +[73/91] Building CXX object CMakeFiles/ui_test.dir/tests/ui_test.cpp.o +[74/91] Building CXX object CMakeFiles/ui_test.dir/src/plugin/PluginProcessor.cpp.o +[75/91] Building CXX object CMakeFiles/ui_test.dir/build/_deps/juce-src/modules/juce_data_structures/juce_data_structures.mm.o +[76/91] Building CXX object CMakeFiles/ui_test.dir/build/_deps/juce-src/modules/juce_audio_utils/juce_audio_utils.mm.o +[77/91] Building CXX object CMakeFiles/ui_test.dir/build/_deps/juce-src/modules/juce_events/juce_events.mm.o +[78/91] Building CXX object CMakeFiles/ui_test.dir/build/_deps/juce-src/modules/juce_gui_extra/juce_gui_extra.mm.o +[79/91] Linking CXX executable render_test +[80/91] Linking CXX executable voice_allocator_test +[81/91] Building CXX object CMakeFiles/ui_test.dir/build/_deps/juce-src/modules/juce_audio_basics/juce_audio_basics.mm.o +[82/91] Building CXX object CMakeFiles/ui_test.dir/build/_deps/juce-src/modules/juce_audio_processors/juce_audio_processors.mm.o +[83/91] Building CXX object CMakeFiles/ui_test.dir/build/_deps/juce-src/modules/juce_audio_devices/juce_audio_devices.mm.o +[84/91] Building CXX object CMakeFiles/ui_test.dir/build/_deps/juce-src/modules/juce_dsp/juce_dsp.mm.o +[85/91] Building CXX object CMakeFiles/ui_test.dir/build/_deps/juce-src/modules/juce_core/juce_core.mm.o +[86/91] Building CXX object CMakeFiles/ui_test.dir/build/_deps/juce-src/modules/juce_audio_formats/juce_audio_formats.mm.o +[87/91] Building CXX object CMakeFiles/ui_test.dir/build/_deps/juce-src/modules/juce_graphics/juce_graphics_Harfbuzz.cpp.o +[88/91] Building CXX object CMakeFiles/ui_test.dir/build/_deps/juce-src/modules/juce_graphics/juce_graphics.mm.o +[89/91] Building CXX object CMakeFiles/ui_test.dir/build/_deps/juce-src/modules/juce_gui_basics/juce_gui_basics.mm.o +[90/91] Linking CXX executable ui_test_artefacts/Debug/ui_test diff --git a/review/logs/build-asan-configure.log b/review/logs/build-asan-configure.log new file mode 100644 index 0000000..80586c7 --- /dev/null +++ b/review/logs/build-asan-configure.log @@ -0,0 +1,20 @@ +-- The C compiler identification is AppleClang 21.0.0.21000401 +-- The CXX compiler identification is AppleClang 21.0.0.21000401 +-- Detecting C compiler ABI info +-- Detecting C compiler ABI info - done +-- Check for working C compiler: /usr/bin/cc - skipped +-- Detecting C compile features +-- Detecting C compile features - done +-- Detecting CXX compiler ABI info +-- Detecting CXX compiler ABI info - done +-- Check for working CXX compiler: /usr/bin/c++ - skipped +-- Detecting CXX compile features +-- Detecting CXX compile features - done +-- Configuring juceaide +-- Building juceaide +-- Exporting juceaide +-- Testing juceaide +-- Finished setting up juceaide +-- Configuring done (13.3s) +-- Generating done (0.0s) +-- Build files have been written to: /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/build-asan diff --git a/review/logs/build-build.log b/review/logs/build-build.log new file mode 100644 index 0000000..27b9d69 --- /dev/null +++ b/review/logs/build-build.log @@ -0,0 +1,443 @@ +[0/2] Re-checking globbed directories... +[1/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Control/line.cpp.o +[2/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Control/adenv.cpp.o +[3/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Control/adsr.cpp.o +[4/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Dynamics/limiter.cpp.o +[5/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Dynamics/balance.cpp.o +[6/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Control/phasor.cpp.o +[7/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Dynamics/crossfade.cpp.o +[8/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Drums/analogsnaredrum.cpp.o +[9/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Drums/hihat.cpp.o +[10/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Drums/synthbassdrum.cpp.o +[11/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Drums/synthsnaredrum.cpp.o +[12/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/autowah.cpp.o +[13/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/decimator.cpp.o +[14/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/bitcrush.cpp.o +[15/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/fold.cpp.o +[16/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/reverbsc.cpp.o +[17/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/wavefolder.cpp.o +[18/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Filters/allpass.cpp.o +[19/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Dynamics/compressor.cpp.o +[20/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Drums/analogbassdrum.cpp.o +[21/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Filters/mode.cpp.o +[22/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/flanger.cpp.o +[23/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/tremolo.cpp.o +[24/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/sampleratereducer.cpp.o +[25/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/overdrive.cpp.o +[26/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/phaser.cpp.o +[27/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/chorus.cpp.o +[28/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Filters/nlfilt.cpp.o +[29/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Filters/atone.cpp.o +[30/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Filters/comb.cpp.o +[31/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Filters/biquad.cpp.o +[32/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Filters/moogladder.cpp.o +[33/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/PhysicalModeling/pluck.cpp.o +[34/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Filters/tone.cpp.o +[35/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Noise/particle.cpp.o +[36/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Filters/svf.cpp.o +[37/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Noise/clockednoise.cpp.o +[38/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Noise/grainlet.cpp.o +[39/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/PhysicalModeling/KarplusString.cpp.o +[40/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Synthesis/blosc.cpp.o +[41/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/PhysicalModeling/drip.cpp.o +[42/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/PhysicalModeling/modalvoice.cpp.o +[43/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/PhysicalModeling/resonator.cpp.o +[44/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/PhysicalModeling/stringvoice.cpp.o +[45/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Utility/dcblock.cpp.o +[46/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Utility/jitter.cpp.o +[47/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Utility/port.cpp.o +[48/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Synthesis/oscillatorbank.cpp.o +[49/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Synthesis/formantosc.cpp.o +[50/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Synthesis/fm2.cpp.o +[51/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Synthesis/oscillator.cpp.o +[52/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Synthesis/vosim.cpp.o +[53/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Synthesis/variablesawosc.cpp.o +[54/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Synthesis/variableshapeosc.cpp.o +[55/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Synthesis/zoscillator.cpp.o +[56/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Utility/metro.cpp.o +[57/199] Linking CXX static library libDaisySP.a +[58/199] Building CXX object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_audio_processors/juce_audio_processors_ara.cpp.o +[59/199] Building CXX object CMakeFiles/DroseraDSP.dir/src/dsp/BiquadFilters.cpp.o +[60/199] Building CXX object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_audio_processors/juce_audio_processors_lv2_libs.cpp.o +[61/199] Building CXX object CMakeFiles/DroseraDSP.dir/src/dsp/FeedbackVoice.cpp.o +[62/199] Building CXX object CMakeFiles/DroseraDSP.dir/src/dsp/KarplusString.cpp.o +[63/199] Building CXX object CMakeFiles/DroseraDSP.dir/src/dsp/FeedbackSynthEngine.cpp.o +[64/199] Linking CXX static library libDroseraDSP.a +[65/199] Building C object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_graphics/juce_graphics_Sheenbidi.c.o +[66/199] Building CXX object CMakeFiles/Drosera.dir/src/plugin/ui/DroseraLookAndFeel.cpp.o +[67/199] Building CXX object CMakeFiles/Drosera.dir/src/plugin/ui/PlantView.cpp.o +[68/199] Building CXX object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_core/juce_core_CompilationTime.cpp.o +[69/199] Building CXX object CMakeFiles/Drosera.dir/src/plugin/PluginEditor.cpp.o +[70/199] Building CXX object CMakeFiles/Drosera.dir/src/plugin/ui/TabPanel.cpp.o +[71/199] Building CXX object CMakeFiles/Drosera.dir/src/plugin/PluginProcessor.cpp.o +In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/src/plugin/PluginProcessor.cpp:9: +In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/src/dsp/DroseraCore.h:14: +In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/daisysp.h:27: +In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Drums/analogbassdrum.h:10: +In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Synthesis/oscillator.h:7: +/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Utility/dsp.h:70:10: warning: cast from 'float *' to 'long *' increases required alignment from 4 to 8 [-Wcast-align] + 70 | lp = (long *)(&f); + | ^~~~~~~~~~~~ +/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Utility/dsp.h:82:10: warning: cast from 'float *' to 'long *' increases required alignment from 4 to 8 [-Wcast-align] + 82 | lp = (long *)(&f); + | ^~~~~~~~~~~~ +/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Utility/dsp.h:114:10: warning: implicit conversion from 'int' to 'float' may lose precision [-Wimplicit-int-float-conversion] + 114 | f += exp; + | ~~ ^~~ +/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Utility/dsp.h:246:31: warning: comparing floating point with == or != is unsafe [-Wfloat-equal] + 246 | if(!std::isnormal(x) && x != 0) + | ~ ^ ~ +In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/src/plugin/PluginProcessor.cpp:9: +In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/src/dsp/DroseraCore.h:14: +In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/daisysp.h:36: +/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Dynamics/crossfade.h:48:43: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] + 48 | curve_ = curve < CROSSFADE_LAST ? curve : CROSSFADE_LIN; + | ~ ^~~~~ +/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Dynamics/crossfade.h:69:31: warning: unused parameter 'pos' [-Wunused-parameter] + 69 | inline float GetPos(float pos) { return pos_; } + | ^ +/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Dynamics/crossfade.h:72:37: warning: unused parameter 'curve' [-Wunused-parameter] + 72 | inline uint8_t GetCurve(uint8_t curve) { return curve_; } + | ^ +In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/src/plugin/PluginProcessor.cpp:9: +In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/src/dsp/DroseraCore.h:14: +In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/daisysp.h:49: +/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Effects/pitchshifter.h:94:29: warning: implicit conversion from 'uint32_t' (aka 'unsigned int') to 'float' may lose precision [-Wimplicit-int-float-conversion] + 94 | * (del_size_ * 0.5f); + | ^~~~~~~~~ ~ +/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Effects/pitchshifter.h:101:29: warning: implicit conversion from 'uint32_t' (aka 'unsigned int') to 'float' may lose precision [-Wimplicit-int-float-conversion] + 101 | * (del_size_ * 0.5f); + | ^~~~~~~~~ ~ +/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Effects/pitchshifter.h:114:38: warning: implicit conversion from 'uint32_t' (aka 'unsigned int') to 'float' may lose precision [-Wimplicit-int-float-conversion] + 114 | mod_[0] = fade1 * (del_size_ - 1); + | ~ ~~~~~~~~~~^~~ +/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Effects/pitchshifter.h:115:38: warning: implicit conversion from 'uint32_t' (aka 'unsigned int') to 'float' may lose precision [-Wimplicit-int-float-conversion] + 115 | mod_[1] = fade2 * (del_size_ - 1); + | ~ ~~~~~~~~~~^~~ +/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Effects/pitchshifter.h:145:23: warning: comparing floating point with == or != is unsafe [-Wfloat-equal] + 145 | if(transpose_ != transpose || force_recalc_) + | ~~~~~~~~~~ ^ ~~~~~~~~~ +/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Effects/pitchshifter.h:159:50: warning: implicit conversion from 'uint32_t' (aka 'unsigned int') to 'float' may lose precision [-Wimplicit-int-float-conversion] + 159 | mod_freq_ = ((ratio - 1.0f) * sr_) / del_size_; + | ~ ^~~~~~~~~ +In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/src/plugin/PluginProcessor.cpp:9: +In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/src/dsp/DroseraCore.h:14: +In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/daisysp.h:52: +In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Effects/wavefolder.h:8: +/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Utility/dcblock.h:16:16: warning: extra ';' after member function definition [-Wextra-semi] + 16 | DcBlock(){}; + | ^ +/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Utility/dcblock.h:17:17: warning: extra ';' after member function definition [-Wextra-semi] + 17 | ~DcBlock(){}; + | ^ +In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/src/plugin/PluginProcessor.cpp:9: +In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/src/dsp/DroseraCore.h:14: +In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/daisysp.h:68: +/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Noise/dust.h:36:29: warning: implicit conversion from 'int' to 'float' may lose precision [-Wimplicit-int-float-conversion] + 36 | float u = rand() * kRandFrac; + | ^~~~~~ ~ +In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/src/plugin/PluginProcessor.cpp:9: +In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/src/dsp/DroseraCore.h:14: +In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/daisysp.h:72: +/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Noise/whitenoise.h:36:17: warning: implicit conversion from 'int32_t' (aka 'int') to 'float' may lose precision [-Wimplicit-int-float-conversion] + 36 | return (randseed_ * coeff_) * amp_; + | ^~~~~~~~~ ~ +In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/src/plugin/PluginProcessor.cpp:9: +In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/src/dsp/DroseraCore.h:14: +In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/daisysp.h:76: +In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/PhysicalModeling/modalvoice.h:9: +/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/PhysicalModeling/resonator.h:108:36: warning: implicit conversion loses floating-point precision: 'double' to 'const float' [-Wimplicit-float-conversion] + 108 | const float a = 3.260e-01 * kPiPow3; + | ~ ~~~~~~~~~~^~~~~~~~~ +/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/PhysicalModeling/resonator.h:109:36: warning: implicit conversion loses floating-point precision: 'double' to 'const float' [-Wimplicit-float-conversion] + 109 | const float b = 1.823e-01 * kPiPow5; + | ~ ~~~~~~~~~~^~~~~~~~~ +In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/src/plugin/PluginProcessor.cpp:9: +In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/src/dsp/DroseraCore.h:14: +In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/daisysp.h:84: +/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Synthesis/blosc.h:49:54: warning: extra ';' after member function definition [-Wextra-semi] + 49 | inline void SetFreq(float freq) { freq_ = freq; }; + | ^ +/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Synthesis/blosc.h:52:50: warning: extra ';' after member function definition [-Wextra-semi] + 52 | inline void SetAmp(float amp) { amp_ = amp; }; + | ^ +/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Synthesis/blosc.h:55:50: warning: extra ';' after member function definition [-Wextra-semi] + 55 | inline void SetPw(float pw) { pw_ = 1 - pw; }; + | ^ +In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/src/plugin/PluginProcessor.cpp:9: +In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/src/dsp/DroseraCore.h:14: +In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/daisysp.h:100: +/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Utility/looper.h:67:26: warning: implicit conversion from 'size_t' (aka 'unsigned long') to 'float' may lose precision [-Wimplicit-int-float-conversion] + 67 | win_ = WindowVal(win_idx_ * kWindowFactor); + | ^~~~~~~~ ~ +/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Utility/looper.h:73:23: warning: implicit conversion turns floating-point number into integer: 'float' to 'size_t' (aka 'unsigned long') [-Wfloat-conversion] + 73 | Write(pos_, input * win_); + | ~~~~~ ^~~~ +/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Utility/looper.h:76:28: warning: implicit conversion turns floating-point number into integer: 'float' to 'size_t' (aka 'unsigned long') [-Wfloat-conversion] + 76 | recsize_ = pos_; + | ~ ^~~~ +/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Utility/looper.h:78:40: warning: implicit conversion from 'size_t' (aka 'unsigned long') to 'float' may lose precision [-Wimplicit-int-float-conversion] + 78 | if(pos_ > buffer_size_ - 1) + | ~ ~~~~~~~~~~~~~^~~ +/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Utility/looper.h:81:37: warning: implicit conversion turns floating-point number into integer: 'float' to 'size_t' (aka 'unsigned long') [-Wfloat-conversion] + 81 | recsize_ = pos_ - 1; + | ~ ~~~~~^~~ +/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Utility/looper.h:86:28: warning: implicit conversion turns floating-point number into integer: 'float' to 'size_t' (aka 'unsigned long') [-Wfloat-conversion] + 86 | sig = Read(pos_); + | ~~~~ ^~~~ +/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Utility/looper.h:92:27: warning: implicit conversion turns floating-point number into integer: 'float' to 'size_t' (aka 'unsigned long') [-Wfloat-conversion] + 92 | Write(pos_, sig + input * (1.f - win_)); + | ~~~~~ ^~~~ +/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Utility/looper.h:97:36: warning: implicit conversion from 'size_t' (aka 'unsigned long') to 'float' may lose precision [-Wimplicit-int-float-conversion] + 97 | if(pos_ > recsize_ - 1) + | ~ ~~~~~~~~~^~~ +/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Utility/looper.h:104:40: warning: implicit conversion from 'size_t' (aka 'unsigned long') to 'float' may lose precision [-Wimplicit-int-float-conversion] + 104 | pos_ = recsize_ - 1; + | ~ ~~~~~~~~~^~~ +/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Utility/looper.h:119:28: warning: implicit conversion turns floating-point number into integer: 'float' to 'size_t' (aka 'unsigned long') [-Wfloat-conversion] + 119 | sig = Read(pos_); + | ~~~~ ^~~~ +/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Utility/looper.h:122:47: warning: implicit conversion turns floating-point number into integer: 'float' to 'size_t' (aka 'unsigned long') [-Wfloat-conversion] + 122 | case Mode::REPLACE: Write(pos_, input * win_); break; + | ~~~~~ ^~~~ +/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Utility/looper.h:124:31: warning: implicit conversion turns floating-point number into integer: 'float' to 'size_t' (aka 'unsigned long') [-Wfloat-conversion] + 124 | Write(pos_, (input * win_) + (sig * kFripDecayVal)); + | ~~~~~ ^~~~ +/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Utility/looper.h:128:36: warning: implicit conversion turns floating-point number into integer: 'float' to 'size_t' (aka 'unsigned long') [-Wfloat-conversion] + 128 | default: Write(pos_, (input * win_) + sig); break; + | ~~~~~ ^~~~ +/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Utility/looper.h:133:36: warning: implicit conversion from 'size_t' (aka 'unsigned long') to 'float' may lose precision [-Wimplicit-int-float-conversion] + 133 | if(pos_ > recsize_ - 1) + | ~ ~~~~~~~~~^~~ +/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Utility/looper.h:140:40: warning: implicit conversion from 'size_t' (aka 'unsigned long') to 'float' may lose precision [-Wimplicit-int-float-conversion] + 140 | pos_ = recsize_ - 1; + | ~ ~~~~~~~~~^~~ +/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Utility/looper.h:256:32: warning: implicit conversion from 'uint32_t' (aka 'unsigned int') to 'float' may lose precision [-Wimplicit-int-float-conversion] + 256 | frac = pos - i_idx; + | ~ ^~~~~ +In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/src/plugin/PluginProcessor.cpp:9: +In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/src/dsp/DroseraCore.h:14: +In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/daisysp.h:105: +/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Utility/smooth_random.h:51:25: warning: implicit conversion from 'int' to 'float' may lose precision [-Wimplicit-int-float-conversion] + 51 | interval_ = rand() * kRandFrac * 2.0f - 1.0f - from_; + | ^~~~~~ ~ +In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/src/plugin/PluginProcessor.cpp:9: +/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/src/dsp/DroseraCore.h:53:48: warning: implicit conversion changes signedness: 'Param' to 'size_type' (aka 'unsigned long') [-Wsign-conversion] + 53 | void SetParam(Param p, float norm) { norm_[p] = norm; } + | ~~~~~ ^ +/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/src/plugin/PluginProcessor.cpp:50:13: warning: enumeration value 'Percent' not explicitly handled in switch [-Wswitch-enum] + 50 | switch (s.show) { + | ^~~~~~ +/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/src/plugin/PluginProcessor.cpp:50:13: note: add missing switch cases + 50 | switch (s.show) { + | ^ + 51 | // The engine's real values, not the knob's position: these curves are far from linear. + 52 | case Show::ValuePercent: return juce::String(juce::roundToInt(v * 100.0f)) + " %"; +/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/src/plugin/PluginProcessor.cpp:266:22: warning: comparing floating point with == or != is unsafe [-Wfloat-equal] + 266 | if (freqKnob != lastFreqKnob) { + | ~~~~~~~~ ^ ~~~~~~~~~~~~ +In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/src/plugin/PluginProcessor.cpp:9: +In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/src/dsp/DroseraCore.h:14: +In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/daisysp.h:42: +In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Effects/chorus.h:9: +/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Utility/delayline.h:58:62: warning: operand of ? changes signedness: 'int32_t' (aka 'int') to 'unsigned long' [-Wsign-conversion] + 58 | delay_ = static_cast(int_delay) < max_size ? int_delay + | ~ ^~~~~~~~~ +/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Effects/pitchshifter.h:129:15: note: in instantiation of member function 'daisysp::DelayLine::SetDelay' requested here + 129 | d_[0].SetDelay(mod_[0] + mod_a_amt_); + | ^ +/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Effects/pitchshifter.h:196:49: warning: private field 'pitch_shift_' is not used [-Wunused-private-field] + 196 | float pitch_shift_, mod_freq_; + | ^ +44 warnings generated. +[72/199] Building CXX object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_data_structures/juce_data_structures.mm.o +[73/199] Building CXX object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_events/juce_events.mm.o +[74/199] Building CXX object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_gui_extra/juce_gui_extra.mm.o +[75/199] Building CXX object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_audio_utils/juce_audio_utils.mm.o +[76/199] Building CXX object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_audio_processors/juce_audio_processors.mm.o +[77/199] Copying OS X Content Drosera_artefacts/Release/Standalone/Drosera.app/Contents/Resources/RecentFilesMenuTemplate.nib +[78/199] Building CXX object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_audio_basics/juce_audio_basics.mm.o +[79/199] Building CXX object CMakeFiles/voice_allocator_test.dir/tests/voice_allocator_test.cpp.o +[80/199] Building CXX object CMakeFiles/pitch_probe.dir/tests/pitch_probe.cpp.o +[81/199] Building CXX object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_audio_devices/juce_audio_devices.mm.o +[82/199] Building CXX object CMakeFiles/Drosera_vst3_helper.dir/_deps/juce-src/modules/juce_audio_plugin_client/VST3/juce_VST3ManifestHelper.mm.o +In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/build/_deps/juce-src/modules/juce_audio_plugin_client/VST3/juce_VST3ManifestHelper.mm:35: +In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/build/_deps/juce-src/modules/juce_audio_plugin_client/VST3/juce_VST3ManifestHelper.cpp:47: +In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/functional:601: +In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/vector:363: +In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/locale:203: +/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale_dir/wstring_convert.h:179:1: warning: 'wstring_convert, char16_t>' is deprecated [-Wdeprecated-declarations] + 179 | wstring_convert<_Codecvt, _Elem, _WideAlloc, _ByteAlloc>::to_bytes(const _Elem* __frm, const _Elem* __frm_end) { + | ^ +/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/build/_deps/juce-src/modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/commonstringconvert.cpp:92:22: note: in instantiation of member function 'std::wstring_convert, char16_t>::to_bytes' requested here + 92 | return converter ().to_bytes (reinterpret_cast (str.data ()), + | ^ +/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale_dir/wstring_convert.h:34:7: note: 'wstring_convert, char16_t>' has been explicitly marked deprecated here + 34 | class _LIBCPP_DEPRECATED_IN_CXX17 wstring_convert { + | ^ +/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__config:540:41: note: expanded from macro '_LIBCPP_DEPRECATED_IN_CXX17' + 540 | # define _LIBCPP_DEPRECATED_IN_CXX17 _LIBCPP_DEPRECATED + | ^ +/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__config:504:49: note: expanded from macro '_LIBCPP_DEPRECATED' + 504 | # define _LIBCPP_DEPRECATED __attribute__((__deprecated__)) + | ^ +1 warning generated. +[83/199] Linking CXX executable Drosera_vst3_helper +[84/199] Building CXX object CMakeFiles/render_cli.dir/tests/render_cli.cpp.o +[85/199] Building CXX object CMakeFiles/editor_snapshot.dir/tests/editor_snapshot.cpp.o +[86/199] Building CXX object CMakeFiles/render_test.dir/tests/render_test.cpp.o +[87/199] Building CXX object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_dsp/juce_dsp.mm.o +[88/199] Building CXX object CMakeFiles/editor_snapshot.dir/src/plugin/PluginEditor.cpp.o +[89/199] Building CXX object CMakeFiles/editor_snapshot.dir/src/plugin/ui/DroseraLookAndFeel.cpp.o +[90/199] Building CXX object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_audio_processors/juce_audio_processors_ara.cpp.o +[91/199] Building CXX object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_audio_processors/juce_audio_processors_lv2_libs.cpp.o +[92/199] Building CXX object CMakeFiles/editor_snapshot.dir/src/plugin/PluginProcessor.cpp.o +[93/199] Building CXX object CMakeFiles/editor_snapshot.dir/src/plugin/ui/PlantView.cpp.o +[94/199] Building CXX object CMakeFiles/editor_snapshot.dir/src/plugin/ui/TabPanel.cpp.o +[95/199] Building CXX object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_audio_formats/juce_audio_formats.mm.o +[96/199] Building C object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_graphics/juce_graphics_Sheenbidi.c.o +[97/199] Building CXX object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_core/juce_core.mm.o +[98/199] Building CXX object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_audio_utils/juce_audio_utils.mm.o +[99/199] Building CXX object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_core/juce_core_CompilationTime.cpp.o +[100/199] Building CXX object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_gui_extra/juce_gui_extra.mm.o +[101/199] Building CXX object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_events/juce_events.mm.o +[102/199] Building CXX object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_data_structures/juce_data_structures.mm.o +[103/199] Building CXX object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_audio_processors/juce_audio_processors.mm.o +[104/199] Building CXX object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_graphics/juce_graphics.mm.o +[105/199] Building CXX object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_graphics/juce_graphics_Harfbuzz.cpp.o +[106/199] Building CXX object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_audio_basics/juce_audio_basics.mm.o +[107/199] Building CXX object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_audio_devices/juce_audio_devices.mm.o +[108/199] Building CXX object CMakeFiles/ui_test.dir/tests/ui_test.cpp.o +[109/199] Building CXX object CMakeFiles/ui_test.dir/src/plugin/PluginProcessor.cpp.o +[110/199] Building CXX object CMakeFiles/ui_test.dir/src/plugin/PluginEditor.cpp.o +[111/199] Building CXX object CMakeFiles/ui_test.dir/src/plugin/ui/DroseraLookAndFeel.cpp.o +[112/199] Building CXX object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_dsp/juce_dsp.mm.o +[113/199] Building CXX object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_audio_processors/juce_audio_processors_ara.cpp.o +[114/199] Building CXX object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_audio_processors/juce_audio_processors_lv2_libs.cpp.o +[115/199] Building CXX object CMakeFiles/ui_test.dir/src/plugin/ui/PlantView.cpp.o +[116/199] Building CXX object CMakeFiles/ui_test.dir/src/plugin/ui/TabPanel.cpp.o +[117/199] Building CXX object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_core/juce_core.mm.o +[118/199] Building CXX object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_audio_formats/juce_audio_formats.mm.o +[119/199] Building C object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_graphics/juce_graphics_Sheenbidi.c.o +[120/199] Building CXX object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_gui_basics/juce_gui_basics.mm.o +In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/build/_deps/juce-src/modules/juce_gui_basics/juce_gui_basics.mm:35: +In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/build/_deps/juce-src/modules/juce_gui_basics/juce_gui_basics.cpp:189: +/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/build/_deps/juce-src/modules/juce_gui_basics/native/juce_NSViewComponentPeer_mac.mm:1923:17: warning: enumeration value 'NSEventTypeMouseCancelled' not explicitly handled in switch [-Wswitch-enum] + 1923 | switch ([e type]) + | ^~~~~~~~ +/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/build/_deps/juce-src/modules/juce_gui_basics/native/juce_NSViewComponentPeer_mac.mm:1923:17: note: add missing switch cases + 1923 | switch ([e type]) + | ^ +1 warning generated. +[121/199] Linking CXX static library Drosera_artefacts/Release/libDrosera_SharedCode.a +[122/199] Generating Drosera_artefacts/JuceLibraryCode/Drosera_VST3/PkgInfo +[123/199] Building CXX object CMakeFiles/Drosera_VST3.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_AAX_utils.cpp.o +[124/199] Building CXX object CMakeFiles/Drosera_VST3.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_ARA.cpp.o +[125/199] Building CXX object CMakeFiles/Drosera_VST3.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_Standalone.cpp.o +[126/199] Building CXX object CMakeFiles/Drosera_VST3.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_Unity.cpp.o +[127/199] Building CXX object CMakeFiles/Drosera_VST3.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_AAX.mm.o +[128/199] Building CXX object CMakeFiles/Drosera_VST3.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_AU_1.mm.o +[129/199] Building CXX object CMakeFiles/Drosera_VST3.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_AU_2.mm.o +[130/199] Building CXX object CMakeFiles/Drosera_VST3.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_AUv3.mm.o +[131/199] Building CXX object CMakeFiles/Drosera_VST3.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_LV2.mm.o +[132/199] Building CXX object CMakeFiles/Drosera_VST3.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_VST2.mm.o +[133/199] Building CXX object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_audio_utils/juce_audio_utils.mm.o +[134/199] Generating Drosera_artefacts/JuceLibraryCode/Drosera_Standalone/PkgInfo +[135/199] Generating Drosera_artefacts/JuceLibraryCode/Drosera_AU/PkgInfo +[136/199] Building CXX object CMakeFiles/Drosera_Standalone.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_AAX_utils.cpp.o +[137/199] Building CXX object CMakeFiles/Drosera_Standalone.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_ARA.cpp.o +[138/199] Building CXX object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_gui_extra/juce_gui_extra.mm.o +[139/199] Building CXX object CMakeFiles/Drosera_Standalone.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_Unity.cpp.o +[140/199] Building CXX object CMakeFiles/Drosera_Standalone.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_AAX.mm.o +[141/199] Building CXX object CMakeFiles/Drosera_Standalone.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_AU_1.mm.o +[142/199] Building CXX object CMakeFiles/Drosera_Standalone.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_AU_2.mm.o +[143/199] Building CXX object CMakeFiles/Drosera_Standalone.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_AUv3.mm.o +[144/199] Building CXX object CMakeFiles/Drosera_Standalone.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_LV2.mm.o +[145/199] Building CXX object CMakeFiles/Drosera_Standalone.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_VST2.mm.o +[146/199] Building CXX object CMakeFiles/Drosera_Standalone.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_VST3.mm.o +[147/199] Building CXX object CMakeFiles/Drosera_AU.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_AAX_utils.cpp.o +[148/199] Building CXX object CMakeFiles/Drosera_AU.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_ARA.cpp.o +[149/199] Building CXX object CMakeFiles/Drosera_AU.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_Standalone.cpp.o +[150/199] Building CXX object CMakeFiles/Drosera_AU.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_Unity.cpp.o +[151/199] Building CXX object CMakeFiles/Drosera_AU.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_AAX.mm.o +[152/199] Building CXX object CMakeFiles/Drosera_Standalone.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_Standalone.cpp.o +[153/199] Building CXX object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_audio_processors/juce_audio_processors.mm.o +[154/199] Building CXX object CMakeFiles/Drosera_AU.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_AUv3.mm.o +[155/199] Building CXX object CMakeFiles/Drosera_AU.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_LV2.mm.o +[156/199] Building CXX object CMakeFiles/Drosera_AU.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_VST2.mm.o +[157/199] Building CXX object CMakeFiles/Drosera_AU.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_VST3.mm.o +[158/199] Building CXX object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_graphics/juce_graphics.mm.o +[159/199] Building CXX object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_graphics/juce_graphics_Harfbuzz.cpp.o +[160/199] Building CXX object CMakeFiles/plugin_host_test.dir/_deps/juce-src/modules/juce_audio_processors/juce_audio_processors_ara.cpp.o +[161/199] Building CXX object CMakeFiles/plugin_host_test.dir/_deps/juce-src/modules/juce_audio_processors/juce_audio_processors_lv2_libs.cpp.o +[162/199] Building CXX object CMakeFiles/Drosera_AU.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_AU_2.mm.o +[163/199] Building CXX object CMakeFiles/plugin_host_test.dir/tests/plugin_host_test.cpp.o +[164/199] Building CXX object CMakeFiles/Drosera_AU.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_AU_1.mm.o +[165/199] Building C object CMakeFiles/plugin_host_test.dir/_deps/juce-src/modules/juce_graphics/juce_graphics_Sheenbidi.c.o +[166/199] Building CXX object CMakeFiles/Drosera_VST3.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_VST3.mm.o +[167/199] Building CXX object CMakeFiles/plugin_host_test.dir/_deps/juce-src/modules/juce_gui_extra/juce_gui_extra.mm.o +[168/199] Linking CXX CFBundle shared module Drosera_artefacts/Release/VST3/Drosera.vst3/Contents/MacOS/Drosera +/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/build/Drosera_artefacts/Release/VST3/Drosera.vst3: code has no resources but signature indicates they must be present +-- Replacing invalid signature with ad-hoc signature +/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/build/Drosera_artefacts/Release/VST3/Drosera.vst3: replacing existing signature +removing moduleinfo.json +creating /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/build/Drosera_artefacts/Release/VST3/Drosera.vst3 +/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/build/Drosera_artefacts/Release/VST3/Drosera.vst3: replacing existing signature +[169/199] Building CXX object CMakeFiles/plugin_host_test.dir/_deps/juce-src/modules/juce_core/juce_core_CompilationTime.cpp.o +[170/199] Building CXX object CMakeFiles/plugin_host_test.dir/_deps/juce-src/modules/juce_events/juce_events.mm.o +[171/199] Building CXX object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_gui_basics/juce_gui_basics.mm.o +[172/199] Building CXX object CMakeFiles/plugin_host_test.dir/_deps/juce-src/modules/juce_data_structures/juce_data_structures.mm.o +[173/199] Building CXX object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_events/juce_events.mm.o +[174/199] Building CXX object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_core/juce_core_CompilationTime.cpp.o +[175/199] Building CXX object CMakeFiles/plugin_host_test.dir/_deps/juce-src/modules/juce_audio_basics/juce_audio_basics.mm.o +[176/199] Building CXX object CMakeFiles/plugin_host_test.dir/_deps/juce-src/modules/juce_audio_processors/juce_audio_processors.mm.o +In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/build/_deps/juce-src/modules/juce_audio_processors/juce_audio_processors.mm:35: +In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/build/_deps/juce-src/modules/juce_audio_processors/juce_audio_processors.cpp:50: +In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/build/_deps/juce-src/modules/juce_audio_processors/juce_audio_processors.h:66: +In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/build/_deps/juce-src/modules/juce_gui_basics/juce_gui_basics.h:68: +In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/build/_deps/juce-src/modules/juce_graphics/juce_graphics.h:67: +In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/build/_deps/juce-src/modules/juce_core/juce_core.h:215: +In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/build/_deps/juce-src/modules/juce_core/system/juce_StandardHeader.h:68: +In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/functional:601: +In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/vector:363: +In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/locale:203: +/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale_dir/wstring_convert.h:179:1: warning: 'wstring_convert, char16_t>' is deprecated [-Wdeprecated-declarations] + 179 | wstring_convert<_Codecvt, _Elem, _WideAlloc, _ByteAlloc>::to_bytes(const _Elem* __frm, const _Elem* __frm_end) { + | ^ +/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/build/_deps/juce-src/modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/commonstringconvert.cpp:92:22: note: in instantiation of member function 'std::wstring_convert, char16_t>::to_bytes' requested here + 92 | return converter ().to_bytes (reinterpret_cast (str.data ()), + | ^ +/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale_dir/wstring_convert.h:34:7: note: 'wstring_convert, char16_t>' has been explicitly marked deprecated here + 34 | class _LIBCPP_DEPRECATED_IN_CXX17 wstring_convert { + | ^ +/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__config:540:41: note: expanded from macro '_LIBCPP_DEPRECATED_IN_CXX17' + 540 | # define _LIBCPP_DEPRECATED_IN_CXX17 _LIBCPP_DEPRECATED + | ^ +/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__config:504:49: note: expanded from macro '_LIBCPP_DEPRECATED' + 504 | # define _LIBCPP_DEPRECATED __attribute__((__deprecated__)) + | ^ +1 warning generated. +[177/199] Building CXX object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_data_structures/juce_data_structures.mm.o +[178/199] Building CXX object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_graphics/juce_graphics.mm.o +[179/199] Building CXX object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_graphics/juce_graphics_Harfbuzz.cpp.o +[180/199] Building CXX object CMakeFiles/plugin_host_test.dir/_deps/juce-src/modules/juce_core/juce_core.mm.o +[181/199] Linking CXX executable render_test +[182/199] Linking CXX executable voice_allocator_test +[183/199] Linking CXX executable pitch_probe +[184/199] Linking CXX executable render_cli +[185/199] Linking CXX executable Drosera_artefacts/Release/Standalone/Drosera.app/Contents/MacOS/Drosera +/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/build/Drosera_artefacts/Release/Standalone/Drosera.app: replacing existing signature +[186/199] Linking CXX CFBundle shared module Drosera_artefacts/Release/AU/Drosera.component/Contents/MacOS/Drosera +/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/build/Drosera_artefacts/Release/AU/Drosera.component: replacing existing signature +[187/199] Linking CXX executable editor_snapshot_artefacts/Release/editor_snapshot +[188/199] Building CXX object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_audio_basics/juce_audio_basics.mm.o +[189/199] Building CXX object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_audio_devices/juce_audio_devices.mm.o +[190/199] Building CXX object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_dsp/juce_dsp.mm.o +[191/199] Building CXX object CMakeFiles/plugin_host_test.dir/_deps/juce-src/modules/juce_graphics/juce_graphics.mm.o +[192/199] Building CXX object CMakeFiles/plugin_host_test.dir/_deps/juce-src/modules/juce_graphics/juce_graphics_Harfbuzz.cpp.o +[193/199] Building CXX object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_gui_basics/juce_gui_basics.mm.o +[194/199] Building CXX object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_core/juce_core.mm.o +[195/199] Building CXX object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_audio_formats/juce_audio_formats.mm.o +[196/199] Linking CXX executable ui_test_artefacts/Release/ui_test +[197/199] Building CXX object CMakeFiles/plugin_host_test.dir/_deps/juce-src/modules/juce_gui_basics/juce_gui_basics.mm.o +[198/199] Linking CXX executable plugin_host_test_artefacts/Release/plugin_host_test diff --git a/review/logs/build-configure.log b/review/logs/build-configure.log new file mode 100644 index 0000000..cf5470f --- /dev/null +++ b/review/logs/build-configure.log @@ -0,0 +1,20 @@ +-- The C compiler identification is AppleClang 21.0.0.21000401 +-- The CXX compiler identification is AppleClang 21.0.0.21000401 +-- Detecting C compiler ABI info +-- Detecting C compiler ABI info - done +-- Check for working C compiler: /usr/bin/cc - skipped +-- Detecting C compile features +-- Detecting C compile features - done +-- Detecting CXX compiler ABI info +-- Detecting CXX compiler ABI info - done +-- Check for working CXX compiler: /usr/bin/c++ - skipped +-- Detecting CXX compile features +-- Detecting CXX compile features - done +-- Configuring juceaide +-- Building juceaide +-- Exporting juceaide +-- Testing juceaide +-- Finished setting up juceaide +-- Configuring done (20.0s) +-- Generating done (0.0s) +-- Build files have been written to: /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/build diff --git a/review/logs/build-release.log b/review/logs/build-release.log new file mode 100644 index 0000000..93333d7 --- /dev/null +++ b/review/logs/build-release.log @@ -0,0 +1,475 @@ +[0/2] Re-checking globbed directories... +[1/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Control/line.cpp.o +[2/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Control/adsr.cpp.o +[3/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Control/adenv.cpp.o +[4/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Dynamics/balance.cpp.o +[5/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Drums/hihat.cpp.o +[6/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Control/phasor.cpp.o +[7/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Drums/analogbassdrum.cpp.o +[8/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Drums/synthsnaredrum.cpp.o +[9/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Dynamics/crossfade.cpp.o +[10/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Drums/analogsnaredrum.cpp.o +[11/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/bitcrush.cpp.o +[12/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/decimator.cpp.o +[13/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/autowah.cpp.o +[14/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/fold.cpp.o +[15/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/reverbsc.cpp.o +[16/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Dynamics/compressor.cpp.o +[17/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Drums/synthbassdrum.cpp.o +[18/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Dynamics/limiter.cpp.o +[19/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/wavefolder.cpp.o +[20/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Filters/allpass.cpp.o +[21/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Filters/mode.cpp.o +[22/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/sampleratereducer.cpp.o +[23/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/overdrive.cpp.o +[24/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/chorus.cpp.o +[25/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/phaser.cpp.o +[26/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/tremolo.cpp.o +[27/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/flanger.cpp.o +[28/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Filters/nlfilt.cpp.o +[29/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Filters/biquad.cpp.o +[30/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Filters/atone.cpp.o +[31/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Filters/comb.cpp.o +[32/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Filters/moogladder.cpp.o +[33/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/PhysicalModeling/pluck.cpp.o +[34/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Filters/svf.cpp.o +[35/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Noise/clockednoise.cpp.o +[36/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Noise/particle.cpp.o +[37/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Filters/tone.cpp.o +[38/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Noise/grainlet.cpp.o +[39/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/PhysicalModeling/drip.cpp.o +[40/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Synthesis/blosc.cpp.o +[41/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/PhysicalModeling/KarplusString.cpp.o +[42/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/PhysicalModeling/modalvoice.cpp.o +[43/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/PhysicalModeling/stringvoice.cpp.o +[44/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/PhysicalModeling/resonator.cpp.o +[45/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Utility/dcblock.cpp.o +[46/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Utility/jitter.cpp.o +[47/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Utility/port.cpp.o +[48/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Synthesis/variablesawosc.cpp.o +[49/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Synthesis/formantosc.cpp.o +[50/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Synthesis/oscillator.cpp.o +[51/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Synthesis/oscillatorbank.cpp.o +[52/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Synthesis/fm2.cpp.o +[53/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Synthesis/vosim.cpp.o +[54/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Synthesis/variableshapeosc.cpp.o +[55/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Synthesis/zoscillator.cpp.o +[56/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Utility/metro.cpp.o +[57/199] Building CXX object CMakeFiles/DroseraDSP.dir/src/dsp/BiquadFilters.cpp.o +[58/199] Building CXX object CMakeFiles/DroseraDSP.dir/src/dsp/KarplusString.cpp.o +[59/199] Building CXX object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_audio_processors/juce_audio_processors_ara.cpp.o +[60/199] Building CXX object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_audio_processors/juce_audio_processors_lv2_libs.cpp.o +[61/199] Linking CXX static library libDaisySP.a +[62/199] Building CXX object CMakeFiles/DroseraDSP.dir/src/dsp/FeedbackVoice.cpp.o +[63/199] Building CXX object CMakeFiles/DroseraDSP.dir/src/dsp/FeedbackSynthEngine.cpp.o +[64/199] Linking CXX static library libDroseraDSP.a +[65/199] Building C object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_graphics/juce_graphics_Sheenbidi.c.o +[66/199] Building CXX object CMakeFiles/Drosera.dir/src/plugin/ui/DroseraLookAndFeel.cpp.o +[67/199] Building CXX object CMakeFiles/Drosera.dir/src/plugin/ui/PlantView.cpp.o +[68/199] Building CXX object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_core/juce_core_CompilationTime.cpp.o +[69/199] Building CXX object CMakeFiles/Drosera.dir/src/plugin/ui/TabPanel.cpp.o +[70/199] Building CXX object CMakeFiles/Drosera.dir/src/plugin/PluginEditor.cpp.o +[71/199] Building CXX object CMakeFiles/Drosera.dir/src/plugin/PluginProcessor.cpp.o +In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginProcessor.cpp:9: +In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/DroseraCore.h:14: +In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/daisysp.h:27: +In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Drums/analogbassdrum.h:10: +In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Synthesis/oscillator.h:7: +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Utility/dsp.h:70:10: warning: cast from 'float *' to 'long *' increases required alignment from 4 to 8 [-Wcast-align] + 70 | lp = (long *)(&f); + | ^~~~~~~~~~~~ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Utility/dsp.h:82:10: warning: cast from 'float *' to 'long *' increases required alignment from 4 to 8 [-Wcast-align] + 82 | lp = (long *)(&f); + | ^~~~~~~~~~~~ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Utility/dsp.h:114:10: warning: implicit conversion from 'int' to 'float' may lose precision [-Wimplicit-int-float-conversion] + 114 | f += exp; + | ~~ ^~~ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Utility/dsp.h:246:31: warning: comparing floating point with == or != is unsafe [-Wfloat-equal] + 246 | if(!std::isnormal(x) && x != 0) + | ~ ^ ~ +In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginProcessor.cpp:9: +In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/DroseraCore.h:14: +In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/daisysp.h:36: +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Dynamics/crossfade.h:48:43: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] + 48 | curve_ = curve < CROSSFADE_LAST ? curve : CROSSFADE_LIN; + | ~ ^~~~~ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Dynamics/crossfade.h:69:31: warning: unused parameter 'pos' [-Wunused-parameter] + 69 | inline float GetPos(float pos) { return pos_; } + | ^ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Dynamics/crossfade.h:72:37: warning: unused parameter 'curve' [-Wunused-parameter] + 72 | inline uint8_t GetCurve(uint8_t curve) { return curve_; } + | ^ +In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginProcessor.cpp:9: +In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/DroseraCore.h:14: +In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/daisysp.h:49: +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Effects/pitchshifter.h:94:29: warning: implicit conversion from 'uint32_t' (aka 'unsigned int') to 'float' may lose precision [-Wimplicit-int-float-conversion] + 94 | * (del_size_ * 0.5f); + | ^~~~~~~~~ ~ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Effects/pitchshifter.h:101:29: warning: implicit conversion from 'uint32_t' (aka 'unsigned int') to 'float' may lose precision [-Wimplicit-int-float-conversion] + 101 | * (del_size_ * 0.5f); + | ^~~~~~~~~ ~ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Effects/pitchshifter.h:114:38: warning: implicit conversion from 'uint32_t' (aka 'unsigned int') to 'float' may lose precision [-Wimplicit-int-float-conversion] + 114 | mod_[0] = fade1 * (del_size_ - 1); + | ~ ~~~~~~~~~~^~~ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Effects/pitchshifter.h:115:38: warning: implicit conversion from 'uint32_t' (aka 'unsigned int') to 'float' may lose precision [-Wimplicit-int-float-conversion] + 115 | mod_[1] = fade2 * (del_size_ - 1); + | ~ ~~~~~~~~~~^~~ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Effects/pitchshifter.h:145:23: warning: comparing floating point with == or != is unsafe [-Wfloat-equal] + 145 | if(transpose_ != transpose || force_recalc_) + | ~~~~~~~~~~ ^ ~~~~~~~~~ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Effects/pitchshifter.h:159:50: warning: implicit conversion from 'uint32_t' (aka 'unsigned int') to 'float' may lose precision [-Wimplicit-int-float-conversion] + 159 | mod_freq_ = ((ratio - 1.0f) * sr_) / del_size_; + | ~ ^~~~~~~~~ +In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginProcessor.cpp:9: +In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/DroseraCore.h:14: +In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/daisysp.h:52: +In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Effects/wavefolder.h:8: +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Utility/dcblock.h:16:16: warning: extra ';' after member function definition [-Wextra-semi] + 16 | DcBlock(){}; + | ^ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Utility/dcblock.h:17:17: warning: extra ';' after member function definition [-Wextra-semi] + 17 | ~DcBlock(){}; + | ^ +In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginProcessor.cpp:9: +In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/DroseraCore.h:14: +In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/daisysp.h:68: +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Noise/dust.h:36:29: warning: implicit conversion from 'int' to 'float' may lose precision [-Wimplicit-int-float-conversion] + 36 | float u = rand() * kRandFrac; + | ^~~~~~ ~ +In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginProcessor.cpp:9: +In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/DroseraCore.h:14: +In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/daisysp.h:72: +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Noise/whitenoise.h:35:17: warning: implicit conversion from 'int32_t' (aka 'int') to 'float' may lose precision [-Wimplicit-int-float-conversion] + 35 | return (randseed_ * coeff_) * amp_; + | ^~~~~~~~~ ~ +In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginProcessor.cpp:9: +In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/DroseraCore.h:14: +In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/daisysp.h:76: +In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/PhysicalModeling/modalvoice.h:9: +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/PhysicalModeling/resonator.h:108:36: warning: implicit conversion loses floating-point precision: 'double' to 'const float' [-Wimplicit-float-conversion] + 108 | const float a = 3.260e-01 * kPiPow3; + | ~ ~~~~~~~~~~^~~~~~~~~ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/PhysicalModeling/resonator.h:109:36: warning: implicit conversion loses floating-point precision: 'double' to 'const float' [-Wimplicit-float-conversion] + 109 | const float b = 1.823e-01 * kPiPow5; + | ~ ~~~~~~~~~~^~~~~~~~~ +In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginProcessor.cpp:9: +In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/DroseraCore.h:14: +In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/daisysp.h:84: +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Synthesis/blosc.h:49:54: warning: extra ';' after member function definition [-Wextra-semi] + 49 | inline void SetFreq(float freq) { freq_ = freq; }; + | ^ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Synthesis/blosc.h:52:50: warning: extra ';' after member function definition [-Wextra-semi] + 52 | inline void SetAmp(float amp) { amp_ = amp; }; + | ^ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Synthesis/blosc.h:55:50: warning: extra ';' after member function definition [-Wextra-semi] + 55 | inline void SetPw(float pw) { pw_ = 1 - pw; }; + | ^ +In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginProcessor.cpp:9: +In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/DroseraCore.h:14: +In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/daisysp.h:100: +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Utility/looper.h:67:26: warning: implicit conversion from 'size_t' (aka 'unsigned long') to 'float' may lose precision [-Wimplicit-int-float-conversion] + 67 | win_ = WindowVal(win_idx_ * kWindowFactor); + | ^~~~~~~~ ~ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Utility/looper.h:73:23: warning: implicit conversion turns floating-point number into integer: 'float' to 'size_t' (aka 'unsigned long') [-Wfloat-conversion] + 73 | Write(pos_, input * win_); + | ~~~~~ ^~~~ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Utility/looper.h:76:28: warning: implicit conversion turns floating-point number into integer: 'float' to 'size_t' (aka 'unsigned long') [-Wfloat-conversion] + 76 | recsize_ = pos_; + | ~ ^~~~ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Utility/looper.h:78:40: warning: implicit conversion from 'size_t' (aka 'unsigned long') to 'float' may lose precision [-Wimplicit-int-float-conversion] + 78 | if(pos_ > buffer_size_ - 1) + | ~ ~~~~~~~~~~~~~^~~ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Utility/looper.h:81:37: warning: implicit conversion turns floating-point number into integer: 'float' to 'size_t' (aka 'unsigned long') [-Wfloat-conversion] + 81 | recsize_ = pos_ - 1; + | ~ ~~~~~^~~ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Utility/looper.h:86:28: warning: implicit conversion turns floating-point number into integer: 'float' to 'size_t' (aka 'unsigned long') [-Wfloat-conversion] + 86 | sig = Read(pos_); + | ~~~~ ^~~~ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Utility/looper.h:92:27: warning: implicit conversion turns floating-point number into integer: 'float' to 'size_t' (aka 'unsigned long') [-Wfloat-conversion] + 92 | Write(pos_, sig + input * (1.f - win_)); + | ~~~~~ ^~~~ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Utility/looper.h:97:36: warning: implicit conversion from 'size_t' (aka 'unsigned long') to 'float' may lose precision [-Wimplicit-int-float-conversion] + 97 | if(pos_ > recsize_ - 1) + | ~ ~~~~~~~~~^~~ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Utility/looper.h:104:40: warning: implicit conversion from 'size_t' (aka 'unsigned long') to 'float' may lose precision [-Wimplicit-int-float-conversion] + 104 | pos_ = recsize_ - 1; + | ~ ~~~~~~~~~^~~ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Utility/looper.h:119:28: warning: implicit conversion turns floating-point number into integer: 'float' to 'size_t' (aka 'unsigned long') [-Wfloat-conversion] + 119 | sig = Read(pos_); + | ~~~~ ^~~~ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Utility/looper.h:122:47: warning: implicit conversion turns floating-point number into integer: 'float' to 'size_t' (aka 'unsigned long') [-Wfloat-conversion] + 122 | case Mode::REPLACE: Write(pos_, input * win_); break; + | ~~~~~ ^~~~ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Utility/looper.h:124:31: warning: implicit conversion turns floating-point number into integer: 'float' to 'size_t' (aka 'unsigned long') [-Wfloat-conversion] + 124 | Write(pos_, (input * win_) + (sig * kFripDecayVal)); + | ~~~~~ ^~~~ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Utility/looper.h:128:36: warning: implicit conversion turns floating-point number into integer: 'float' to 'size_t' (aka 'unsigned long') [-Wfloat-conversion] + 128 | default: Write(pos_, (input * win_) + sig); break; + | ~~~~~ ^~~~ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Utility/looper.h:133:36: warning: implicit conversion from 'size_t' (aka 'unsigned long') to 'float' may lose precision [-Wimplicit-int-float-conversion] + 133 | if(pos_ > recsize_ - 1) + | ~ ~~~~~~~~~^~~ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Utility/looper.h:140:40: warning: implicit conversion from 'size_t' (aka 'unsigned long') to 'float' may lose precision [-Wimplicit-int-float-conversion] + 140 | pos_ = recsize_ - 1; + | ~ ~~~~~~~~~^~~ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Utility/looper.h:256:32: warning: implicit conversion from 'uint32_t' (aka 'unsigned int') to 'float' may lose precision [-Wimplicit-int-float-conversion] + 256 | frac = pos - i_idx; + | ~ ^~~~~ +In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginProcessor.cpp:9: +In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/DroseraCore.h:14: +In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/daisysp.h:105: +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Utility/smooth_random.h:51:25: warning: implicit conversion from 'int' to 'float' may lose precision [-Wimplicit-int-float-conversion] + 51 | interval_ = rand() * kRandFrac * 2.0f - 1.0f - from_; + | ^~~~~~ ~ +In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginProcessor.cpp:9: +In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/DroseraCore.h:16: +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/ParameterRegistry.h:26:31: warning: extra ';' after member function definition [-Wextra-semi] + 26 | ParameterRegistry() {}; + | ^ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/ParameterRegistry.h:27:32: warning: extra ';' after member function definition [-Wextra-semi] + 27 | ~ParameterRegistry() {}; + | ^ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/ParameterRegistry.h:86:57: warning: constructor parameter 'min' shadows the field 'min' of 'ParamState' [-Wshadow-field-in-constructor] + 86 | ParamState(const float initial, const float min, const float max, + | ^ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/ParameterRegistry.h:80:25: note: previous declaration is here + 80 | const float min; + | ^ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/ParameterRegistry.h:86:74: warning: constructor parameter 'max' shadows the field 'max' of 'ParamState' [-Wshadow-field-in-constructor] + 86 | ParamState(const float initial, const float min, const float max, + | ^ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/ParameterRegistry.h:81:25: note: previous declaration is here + 81 | const float max; + | ^ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/ParameterRegistry.h:87:65: warning: constructor parameter 'mapping' shadows the field 'mapping' of 'ParamState' [-Wshadow-field-in-constructor] + 87 | const float coef, const daisysp::Mapping mapping, const Handler handler) + | ^ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/ParameterRegistry.h:82:36: note: previous declaration is here + 82 | const daisysp::Mapping mapping; + | ^ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/ParameterRegistry.h:87:88: warning: constructor parameter 'handler' shadows the field 'handler' of 'ParamState' [-Wshadow-field-in-constructor] + 87 | const float coef, const daisysp::Mapping mapping, const Handler handler) + | ^ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/ParameterRegistry.h:83:27: note: previous declaration is here + 83 | const Handler handler; + | ^ +In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginProcessor.cpp:9: +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/DroseraCore.h:52:48: warning: implicit conversion changes signedness: 'Param' to 'size_type' (aka 'unsigned long') [-Wsign-conversion] + 52 | void SetParam(Param p, float norm) { norm_[p] = norm; } + | ~~~~~ ^ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginProcessor.cpp:50:13: warning: enumeration value 'Percent' not explicitly handled in switch [-Wswitch-enum] + 50 | switch (s.show) { + | ^~~~~~ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginProcessor.cpp:50:13: note: add missing switch cases + 50 | switch (s.show) { + | ^ + 51 | // The engine's real values, not the knob's position: these curves are far from linear. + 52 | case Show::ValuePercent: return juce::String(juce::roundToInt(v * 100.0f)) + " %"; +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginProcessor.cpp:243:22: warning: comparing floating point with == or != is unsafe [-Wfloat-equal] + 243 | if (freqKnob != lastFreqKnob) { + | ~~~~~~~~ ^ ~~~~~~~~~~~~ +In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginProcessor.cpp:9: +In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/DroseraCore.h:14: +In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/daisysp.h:42: +In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Effects/chorus.h:9: +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Utility/delayline.h:58:62: warning: operand of ? changes signedness: 'int32_t' (aka 'int') to 'unsigned long' [-Wsign-conversion] + 58 | delay_ = static_cast(int_delay) < max_size ? int_delay + | ~ ^~~~~~~~~ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Effects/pitchshifter.h:129:15: note: in instantiation of member function 'daisysp::DelayLine::SetDelay' requested here + 129 | d_[0].SetDelay(mod_[0] + mod_a_amt_); + | ^ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Effects/pitchshifter.h:196:49: warning: private field 'pitch_shift_' is not used [-Wunused-private-field] + 196 | float pitch_shift_, mod_freq_; + | ^ +50 warnings generated. +[72/199] Building CXX object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_data_structures/juce_data_structures.mm.o +[73/199] Building CXX object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_events/juce_events.mm.o +[74/199] Building CXX object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_gui_extra/juce_gui_extra.mm.o +[75/199] Building CXX object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_audio_utils/juce_audio_utils.mm.o +[76/199] Building CXX object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_audio_basics/juce_audio_basics.mm.o +[77/199] Copying OS X Content Drosera_artefacts/Release/Standalone/Drosera.app/Contents/Resources/RecentFilesMenuTemplate.nib +[78/199] Building CXX object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_audio_processors/juce_audio_processors.mm.o +[79/199] Building CXX object CMakeFiles/voice_allocator_test.dir/tests/voice_allocator_test.cpp.o +[80/199] Building CXX object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_audio_devices/juce_audio_devices.mm.o +[81/199] Building CXX object CMakeFiles/pitch_probe.dir/tests/pitch_probe.cpp.o +[82/199] Building CXX object CMakeFiles/render_cli.dir/tests/render_cli.cpp.o +[83/199] Building CXX object CMakeFiles/Drosera_vst3_helper.dir/_deps/juce-src/modules/juce_audio_plugin_client/VST3/juce_VST3ManifestHelper.mm.o +In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/build/release/_deps/juce-src/modules/juce_audio_plugin_client/VST3/juce_VST3ManifestHelper.mm:35: +In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/build/release/_deps/juce-src/modules/juce_audio_plugin_client/VST3/juce_VST3ManifestHelper.cpp:47: +In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/functional:601: +In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/vector:363: +In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/locale:203: +/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale_dir/wstring_convert.h:179:1: warning: 'wstring_convert, char16_t>' is deprecated [-Wdeprecated-declarations] + 179 | wstring_convert<_Codecvt, _Elem, _WideAlloc, _ByteAlloc>::to_bytes(const _Elem* __frm, const _Elem* __frm_end) { + | ^ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/build/release/_deps/juce-src/modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/commonstringconvert.cpp:92:22: note: in instantiation of member function 'std::wstring_convert, char16_t>::to_bytes' requested here + 92 | return converter ().to_bytes (reinterpret_cast (str.data ()), + | ^ +/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale_dir/wstring_convert.h:34:7: note: 'wstring_convert, char16_t>' has been explicitly marked deprecated here + 34 | class _LIBCPP_DEPRECATED_IN_CXX17 wstring_convert { + | ^ +/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__config:540:41: note: expanded from macro '_LIBCPP_DEPRECATED_IN_CXX17' + 540 | # define _LIBCPP_DEPRECATED_IN_CXX17 _LIBCPP_DEPRECATED + | ^ +/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__config:504:49: note: expanded from macro '_LIBCPP_DEPRECATED' + 504 | # define _LIBCPP_DEPRECATED __attribute__((__deprecated__)) + | ^ +1 warning generated. +[84/199] Linking CXX executable Drosera_vst3_helper +[85/199] Building CXX object CMakeFiles/render_test.dir/tests/render_test.cpp.o +[86/199] Building CXX object CMakeFiles/editor_snapshot.dir/tests/editor_snapshot.cpp.o +[87/199] Building CXX object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_dsp/juce_dsp.mm.o +[88/199] Building CXX object CMakeFiles/editor_snapshot.dir/src/plugin/PluginEditor.cpp.o +[89/199] Building CXX object CMakeFiles/editor_snapshot.dir/src/plugin/ui/DroseraLookAndFeel.cpp.o +[90/199] Building CXX object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_audio_processors/juce_audio_processors_ara.cpp.o +[91/199] Building CXX object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_audio_processors/juce_audio_processors_lv2_libs.cpp.o +[92/199] Building CXX object CMakeFiles/editor_snapshot.dir/src/plugin/ui/PlantView.cpp.o +[93/199] Building CXX object CMakeFiles/editor_snapshot.dir/src/plugin/PluginProcessor.cpp.o +[94/199] Building CXX object CMakeFiles/editor_snapshot.dir/src/plugin/ui/TabPanel.cpp.o +[95/199] Building CXX object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_audio_formats/juce_audio_formats.mm.o +[96/199] Building C object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_graphics/juce_graphics_Sheenbidi.c.o +[97/199] Building CXX object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_core/juce_core.mm.o +[98/199] Building CXX object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_audio_utils/juce_audio_utils.mm.o +[99/199] Building CXX object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_core/juce_core_CompilationTime.cpp.o +[100/199] Building CXX object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_events/juce_events.mm.o +[101/199] Building CXX object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_gui_extra/juce_gui_extra.mm.o +[102/199] Building CXX object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_data_structures/juce_data_structures.mm.o +[103/199] Building CXX object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_audio_processors/juce_audio_processors.mm.o +[104/199] Building CXX object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_graphics/juce_graphics.mm.o +[105/199] Building CXX object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_graphics/juce_graphics_Harfbuzz.cpp.o +[106/199] Building CXX object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_audio_basics/juce_audio_basics.mm.o +[107/199] Building CXX object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_audio_devices/juce_audio_devices.mm.o +[108/199] Building CXX object CMakeFiles/ui_test.dir/tests/ui_test.cpp.o +[109/199] Building CXX object CMakeFiles/ui_test.dir/src/plugin/PluginProcessor.cpp.o +[110/199] Building CXX object CMakeFiles/ui_test.dir/src/plugin/PluginEditor.cpp.o +[111/199] Building CXX object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_dsp/juce_dsp.mm.o +[112/199] Building CXX object CMakeFiles/ui_test.dir/src/plugin/ui/DroseraLookAndFeel.cpp.o +[113/199] Building CXX object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_audio_processors/juce_audio_processors_ara.cpp.o +[114/199] Building CXX object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_audio_processors/juce_audio_processors_lv2_libs.cpp.o +[115/199] Building CXX object CMakeFiles/ui_test.dir/src/plugin/ui/PlantView.cpp.o +[116/199] Building CXX object CMakeFiles/ui_test.dir/src/plugin/ui/TabPanel.cpp.o +[117/199] Building CXX object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_core/juce_core.mm.o +[118/199] Building CXX object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_audio_formats/juce_audio_formats.mm.o +[119/199] Building C object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_graphics/juce_graphics_Sheenbidi.c.o +[120/199] Building CXX object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_gui_basics/juce_gui_basics.mm.o +In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/build/release/_deps/juce-src/modules/juce_gui_basics/juce_gui_basics.mm:35: +In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/build/release/_deps/juce-src/modules/juce_gui_basics/juce_gui_basics.cpp:189: +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/build/release/_deps/juce-src/modules/juce_gui_basics/native/juce_NSViewComponentPeer_mac.mm:1923:17: warning: enumeration value 'NSEventTypeMouseCancelled' not explicitly handled in switch [-Wswitch-enum] + 1923 | switch ([e type]) + | ^~~~~~~~ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/build/release/_deps/juce-src/modules/juce_gui_basics/native/juce_NSViewComponentPeer_mac.mm:1923:17: note: add missing switch cases + 1923 | switch ([e type]) + | ^ +1 warning generated. +[121/199] Linking CXX static library Drosera_artefacts/Release/libDrosera_SharedCode.a +[122/199] Generating Drosera_artefacts/JuceLibraryCode/Drosera_VST3/PkgInfo +[123/199] Building CXX object CMakeFiles/Drosera_VST3.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_AAX_utils.cpp.o +[124/199] Building CXX object CMakeFiles/Drosera_VST3.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_ARA.cpp.o +[125/199] Building CXX object CMakeFiles/Drosera_VST3.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_Standalone.cpp.o +[126/199] Building CXX object CMakeFiles/Drosera_VST3.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_Unity.cpp.o +[127/199] Building CXX object CMakeFiles/Drosera_VST3.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_AAX.mm.o +[128/199] Building CXX object CMakeFiles/Drosera_VST3.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_AU_1.mm.o +[129/199] Building CXX object CMakeFiles/Drosera_VST3.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_AU_2.mm.o +[130/199] Building CXX object CMakeFiles/Drosera_VST3.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_AUv3.mm.o +[131/199] Building CXX object CMakeFiles/Drosera_VST3.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_LV2.mm.o +[132/199] Building CXX object CMakeFiles/Drosera_VST3.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_VST2.mm.o +[133/199] Building CXX object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_audio_utils/juce_audio_utils.mm.o +[134/199] Generating Drosera_artefacts/JuceLibraryCode/Drosera_Standalone/PkgInfo +[135/199] Generating Drosera_artefacts/JuceLibraryCode/Drosera_AU/PkgInfo +[136/199] Building CXX object CMakeFiles/Drosera_Standalone.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_AAX_utils.cpp.o +[137/199] Building CXX object CMakeFiles/Drosera_Standalone.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_ARA.cpp.o +[138/199] Building CXX object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_gui_extra/juce_gui_extra.mm.o +[139/199] Building CXX object CMakeFiles/Drosera_Standalone.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_Unity.cpp.o +[140/199] Building CXX object CMakeFiles/Drosera_Standalone.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_AAX.mm.o +[141/199] Building CXX object CMakeFiles/Drosera_Standalone.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_AU_1.mm.o +[142/199] Building CXX object CMakeFiles/Drosera_Standalone.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_AU_2.mm.o +[143/199] Building CXX object CMakeFiles/Drosera_Standalone.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_AUv3.mm.o +[144/199] Building CXX object CMakeFiles/Drosera_Standalone.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_LV2.mm.o +[145/199] Building CXX object CMakeFiles/Drosera_Standalone.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_VST2.mm.o +[146/199] Building CXX object CMakeFiles/Drosera_Standalone.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_VST3.mm.o +[147/199] Building CXX object CMakeFiles/Drosera_AU.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_AAX_utils.cpp.o +[148/199] Building CXX object CMakeFiles/Drosera_AU.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_ARA.cpp.o +[149/199] Building CXX object CMakeFiles/Drosera_AU.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_Standalone.cpp.o +[150/199] Building CXX object CMakeFiles/Drosera_AU.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_Unity.cpp.o +[151/199] Building CXX object CMakeFiles/Drosera_AU.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_AAX.mm.o +[152/199] Building CXX object CMakeFiles/Drosera_Standalone.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_Standalone.cpp.o +[153/199] Building CXX object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_audio_processors/juce_audio_processors.mm.o +[154/199] Building CXX object CMakeFiles/Drosera_AU.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_AUv3.mm.o +[155/199] Building CXX object CMakeFiles/Drosera_AU.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_LV2.mm.o +[156/199] Building CXX object CMakeFiles/Drosera_AU.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_VST2.mm.o +[157/199] Building CXX object CMakeFiles/Drosera_AU.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_VST3.mm.o +[158/199] Building CXX object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_graphics/juce_graphics.mm.o +[159/199] Building CXX object CMakeFiles/plugin_host_test.dir/_deps/juce-src/modules/juce_audio_processors/juce_audio_processors_ara.cpp.o +[160/199] Building CXX object CMakeFiles/plugin_host_test.dir/_deps/juce-src/modules/juce_audio_processors/juce_audio_processors_lv2_libs.cpp.o +[161/199] Building CXX object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_graphics/juce_graphics_Harfbuzz.cpp.o +[162/199] Building CXX object CMakeFiles/Drosera_AU.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_AU_2.mm.o +[163/199] Building CXX object CMakeFiles/plugin_host_test.dir/tests/plugin_host_test.cpp.o +[164/199] Building CXX object CMakeFiles/Drosera_AU.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_AU_1.mm.o +[165/199] Building C object CMakeFiles/plugin_host_test.dir/_deps/juce-src/modules/juce_graphics/juce_graphics_Sheenbidi.c.o +[166/199] Building CXX object CMakeFiles/Drosera_VST3.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_VST3.mm.o +[167/199] Building CXX object CMakeFiles/plugin_host_test.dir/_deps/juce-src/modules/juce_gui_extra/juce_gui_extra.mm.o +[168/199] Linking CXX CFBundle shared module Drosera_artefacts/Release/VST3/Drosera.vst3/Contents/MacOS/Drosera +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/build/release/Drosera_artefacts/Release/VST3/Drosera.vst3: code has no resources but signature indicates they must be present +-- Replacing invalid signature with ad-hoc signature +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/build/release/Drosera_artefacts/Release/VST3/Drosera.vst3: replacing existing signature +removing moduleinfo.json +creating /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/build/release/Drosera_artefacts/Release/VST3/Drosera.vst3 +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/build/release/Drosera_artefacts/Release/VST3/Drosera.vst3: replacing existing signature +[169/199] Building CXX object CMakeFiles/plugin_host_test.dir/_deps/juce-src/modules/juce_core/juce_core_CompilationTime.cpp.o +[170/199] Building CXX object CMakeFiles/plugin_host_test.dir/_deps/juce-src/modules/juce_events/juce_events.mm.o +[171/199] Building CXX object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_gui_basics/juce_gui_basics.mm.o +[172/199] Building CXX object CMakeFiles/plugin_host_test.dir/_deps/juce-src/modules/juce_data_structures/juce_data_structures.mm.o +[173/199] Building CXX object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_events/juce_events.mm.o +[174/199] Building CXX object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_core/juce_core_CompilationTime.cpp.o +[175/199] Building CXX object CMakeFiles/plugin_host_test.dir/_deps/juce-src/modules/juce_audio_basics/juce_audio_basics.mm.o +[176/199] Building CXX object CMakeFiles/plugin_host_test.dir/_deps/juce-src/modules/juce_audio_processors/juce_audio_processors.mm.o +In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/build/release/_deps/juce-src/modules/juce_audio_processors/juce_audio_processors.mm:35: +In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/build/release/_deps/juce-src/modules/juce_audio_processors/juce_audio_processors.cpp:50: +In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/build/release/_deps/juce-src/modules/juce_audio_processors/juce_audio_processors.h:66: +In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/build/release/_deps/juce-src/modules/juce_gui_basics/juce_gui_basics.h:68: +In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/build/release/_deps/juce-src/modules/juce_graphics/juce_graphics.h:67: +In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/build/release/_deps/juce-src/modules/juce_core/juce_core.h:215: +In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/build/release/_deps/juce-src/modules/juce_core/system/juce_StandardHeader.h:68: +In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/functional:601: +In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/vector:363: +In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/locale:203: +/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale_dir/wstring_convert.h:179:1: warning: 'wstring_convert, char16_t>' is deprecated [-Wdeprecated-declarations] + 179 | wstring_convert<_Codecvt, _Elem, _WideAlloc, _ByteAlloc>::to_bytes(const _Elem* __frm, const _Elem* __frm_end) { + | ^ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/build/release/_deps/juce-src/modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/commonstringconvert.cpp:92:22: note: in instantiation of member function 'std::wstring_convert, char16_t>::to_bytes' requested here + 92 | return converter ().to_bytes (reinterpret_cast (str.data ()), + | ^ +/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale_dir/wstring_convert.h:34:7: note: 'wstring_convert, char16_t>' has been explicitly marked deprecated here + 34 | class _LIBCPP_DEPRECATED_IN_CXX17 wstring_convert { + | ^ +/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__config:540:41: note: expanded from macro '_LIBCPP_DEPRECATED_IN_CXX17' + 540 | # define _LIBCPP_DEPRECATED_IN_CXX17 _LIBCPP_DEPRECATED + | ^ +/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__config:504:49: note: expanded from macro '_LIBCPP_DEPRECATED' + 504 | # define _LIBCPP_DEPRECATED __attribute__((__deprecated__)) + | ^ +1 warning generated. +[177/199] Building CXX object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_data_structures/juce_data_structures.mm.o +[178/199] Building CXX object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_graphics/juce_graphics.mm.o +[179/199] Building CXX object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_graphics/juce_graphics_Harfbuzz.cpp.o +[180/199] Building CXX object CMakeFiles/plugin_host_test.dir/_deps/juce-src/modules/juce_core/juce_core.mm.o +[181/199] Linking CXX executable render_test +[182/199] Linking CXX executable voice_allocator_test +[183/199] Linking CXX executable pitch_probe +[184/199] Linking CXX executable render_cli +[185/199] Linking CXX executable Drosera_artefacts/Release/Standalone/Drosera.app/Contents/MacOS/Drosera +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/build/release/Drosera_artefacts/Release/Standalone/Drosera.app: replacing existing signature +[186/199] Linking CXX CFBundle shared module Drosera_artefacts/Release/AU/Drosera.component/Contents/MacOS/Drosera +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/build/release/Drosera_artefacts/Release/AU/Drosera.component: replacing existing signature +[187/199] Linking CXX executable editor_snapshot_artefacts/Release/editor_snapshot +[188/199] Building CXX object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_audio_basics/juce_audio_basics.mm.o +[189/199] Building CXX object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_audio_devices/juce_audio_devices.mm.o +[190/199] Building CXX object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_dsp/juce_dsp.mm.o +[191/199] Building CXX object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_gui_basics/juce_gui_basics.mm.o +[192/199] Building CXX object CMakeFiles/plugin_host_test.dir/_deps/juce-src/modules/juce_graphics/juce_graphics.mm.o +[193/199] Building CXX object CMakeFiles/plugin_host_test.dir/_deps/juce-src/modules/juce_graphics/juce_graphics_Harfbuzz.cpp.o +[194/199] Building CXX object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_core/juce_core.mm.o +[195/199] Building CXX object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_audio_formats/juce_audio_formats.mm.o +[196/199] Linking CXX executable ui_test_artefacts/Release/ui_test +[197/199] Building CXX object CMakeFiles/plugin_host_test.dir/_deps/juce-src/modules/juce_gui_basics/juce_gui_basics.mm.o +[198/199] Linking CXX executable plugin_host_test_artefacts/Release/plugin_host_test diff --git a/review/logs/clang-tidy.log b/review/logs/clang-tidy.log new file mode 100644 index 0000000..38eb72b --- /dev/null +++ b/review/logs/clang-tidy.log @@ -0,0 +1,144 @@ +[1/9] Processing file /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/BiquadFilters.cpp. +[2/9] Processing file /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/FeedbackSynthEngine.cpp. +[3/9] Processing file /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/FeedbackVoice.cpp. +[4/9] Processing file /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/KarplusString.cpp. +[5/9] (1/3) Processing file /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginProcessor.cpp. +Error while processing /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginProcessor.cpp. +[5/9] (2/3) Processing file /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginProcessor.cpp. +Error while processing /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginProcessor.cpp. +[5/9] (3/3) Processing file /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginProcessor.cpp. +Error while processing /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginProcessor.cpp. +[6/9] (1/3) Processing file /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginEditor.cpp. +Error while processing /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginEditor.cpp. +[6/9] (2/3) Processing file /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginEditor.cpp. +Error while processing /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginEditor.cpp. +[6/9] (3/3) Processing file /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginEditor.cpp. +Error while processing /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginEditor.cpp. +[7/9] (1/3) Processing file /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/ui/DroseraLookAndFeel.cpp. +Error while processing /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/ui/DroseraLookAndFeel.cpp. +[7/9] (2/3) Processing file /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/ui/DroseraLookAndFeel.cpp. +Error while processing /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/ui/DroseraLookAndFeel.cpp. +[7/9] (3/3) Processing file /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/ui/DroseraLookAndFeel.cpp. +Error while processing /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/ui/DroseraLookAndFeel.cpp. +[8/9] (1/3) Processing file /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/ui/PlantView.cpp. +Error while processing /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/ui/PlantView.cpp. +[8/9] (2/3) Processing file /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/ui/PlantView.cpp. +Error while processing /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/ui/PlantView.cpp. +[8/9] (3/3) Processing file /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/ui/PlantView.cpp. +Error while processing /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/ui/PlantView.cpp. +[9/9] (1/3) Processing file /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/ui/TabPanel.cpp. +Error while processing /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/ui/TabPanel.cpp. +[9/9] (2/3) Processing file /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/ui/TabPanel.cpp. +Error while processing /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/ui/TabPanel.cpp. +[9/9] (3/3) Processing file /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/ui/TabPanel.cpp. +Error while processing /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/ui/TabPanel.cpp. +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/build/release/_deps/juce-src/modules/juce_audio_processors/processors/juce_AudioPluginInstance.h:173:74: error: no matching constructor for initialization of 'AudioProcessor' [clang-diagnostic-error] + 173 | AudioPluginInstance (const short channelLayoutList[numLayouts][2]) : AudioProcessor (channelLayoutList) {} + | ^ ~~~~~~~~~~~~~~~~~ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/build/release/_deps/juce-src/modules/juce_audio_processors/processors/juce_AudioProcessor.h:74:5: note: candidate constructor not viable: no known conversion from 'const short (*)[2]' to 'const BusesProperties' for 1st argument + 74 | AudioProcessor (const BusesProperties& ioLayouts); + | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/build/release/_deps/juce-src/modules/juce_audio_processors/processors/juce_AudioProcessor.h:79:5: note: candidate constructor not viable: no known conversion from 'const short (*)[2]' to 'const std::initializer_list' for 1st argument + 79 | AudioProcessor (const std::initializer_list& channelLayoutList) + | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/build/release/_deps/juce-src/modules/juce_audio_processors/processors/juce_AudioProcessor.h:1650:51: note: candidate constructor not viable: no known conversion from 'const short (*)[2]' to 'const AudioProcessor' for 1st argument + 1650 | JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (AudioProcessor) + | ^ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/build/release/_deps/juce-src/modules/juce_core/system/juce_PlatformDefs.h:264:31: note: expanded from macro 'JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR' + 264 | JUCE_DECLARE_NON_COPYABLE(className) \ + | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/build/release/_deps/juce-src/modules/juce_core/system/juce_PlatformDefs.h:250:5: note: expanded from macro 'JUCE_DECLARE_NON_COPYABLE' + 250 | className (const className&) = delete;\ + | ^ ~~~~~~~~~~~~~~~~ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/build/release/_deps/juce-src/modules/juce_audio_processors/processors/juce_AudioProcessor.h:67:5: note: candidate constructor not viable: requires 0 arguments, but 1 was provided + 67 | AudioProcessor(); + | ^ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/BiquadFilters.h:19:20: warning: enum 'FilterType' uses a larger base type ('int', size: 4 bytes) than necessary for its value set, consider using 'std::uint8_t' (1 byte) as the base type to reduce its size [performance-enum-size] + 19 | enum class FilterType { + | ^ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/DroseraCore.h:25:10: warning: enum 'Param' uses a larger base type ('int', size: 4 bytes) than necessary for its value set, consider using 'std::uint8_t' (1 byte) as the base type to reduce its size [performance-enum-size] + 25 | enum Param : int { + | ^ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/DroseraCore.h:142:10: warning: enum 'VoiceParam' uses a larger base type ('int', size: 4 bytes) than necessary for its value set, consider using 'std::uint8_t' (1 byte) as the base type to reduce its size [performance-enum-size] + 142 | enum VoiceParam : int { Voice1Pitch, Voice2Pitch, Voice1Gain, Voice2Gain, Coupling, Voice0Receive, Voice1Receive, Voice2Receive }; + | ^ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/DroseraCore.h:144:10: warning: enum 'EchoParam' uses a larger base type ('int', size: 4 bytes) than necessary for its value set, consider using 'std::uint8_t' (1 byte) as the base type to reduce its size [performance-enum-size] + 144 | enum EchoParam : int { Drive, Tone, Width, Level }; + | ^ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/DroseraCore.h:321:10: warning: enum 'BiquadKind' uses a larger base type ('unsigned int', size: 4 bytes) than necessary for its value set, consider using 'std::uint8_t' (1 byte) as the base type to reduce its size [performance-enum-size] + 321 | enum BiquadKind { LP, HP }; + | ^ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/FeedbackSynthEngine.h:77:53: warning: performing an implicit widening conversion to type 'const size_t' (aka 'const unsigned long') of a multiplication performed in type 'int' [bugprone-implicit-widening-of-multiplication-result] + 77 | static constexpr size_t kMaxEchoDelaySamp = 48000 * 5; + | ^ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/FeedbackSynthEngine.h:77:53: note: make conversion explicit to silence this warning + 5 | static constexpr size_t kMaxEchoDelaySamp = 48000 * 5; + | ^~~~~~~~~ + | static_cast( ) +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/FeedbackSynthEngine.h:77:53: note: perform multiplication in a wider type + 77 | static constexpr size_t kMaxEchoDelaySamp = 48000 * 5; + | ^~~~~ + | static_cast( ) +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/ParameterRegistry.h:39:70: warning: parameter 'handler' of type 'Handler' (aka 'std::function') is passed by value and only copied once; consider moving it to avoid unnecessary copies [performance-unnecessary-value-param] + 7 | ParamState state(initial_value, min, max, coef, mapping, handler); + | ^ + | std::move( ) +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/ParameterRegistry.h:87:88: warning: the const qualified parameter 'handler' of type 'const Handler' (aka 'const std::function') is copied for each invocation; consider making it a reference [performance-unnecessary-value-param] + 87 | const float coef, const daisysp::Mapping mapping, const Handler handler) + | ^ + | & +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/SincResampler.h:24:23: warning: either cast from 'int' to 'size_t' (aka 'unsigned long') is ineffective, or there is loss of precision before the conversion [bugprone-misplaced-widening-cast] + 24 | table_.assign((size_t)((kPhases + 1) * kTaps), 0.0f); + | ^ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/SincResampler.h:28:34: warning: either cast from 'int' to 'size_t' (aka 'unsigned long') is ineffective, or there is loss of precision before the conversion [bugprone-misplaced-widening-cast] + 28 | float* row = &table_[(size_t)(p * kTaps)]; + | ^ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/SincResampler.h:32:47: warning: result of integer division used in a floating point context; possible loss of precision [bugprone-integer-division] + 32 | const double x = (double)(t - kTaps / 2) + frac; + | ^ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/SincResampler.h:63:38: warning: either cast from 'int' to 'size_t' (aka 'unsigned long') is ineffective, or there is loss of precision before the conversion [bugprone-misplaced-widening-cast] + 63 | const float* a = &table_[(size_t)(p * kTaps)]; + | ^ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginProcessor.cpp:22:12: warning: enum 'Show' uses a larger base type ('int', size: 4 bytes) than necessary for its value set, consider using 'std::uint8_t' (1 byte) as the base type to reduce its size [performance-enum-size] + 22 | enum class Show { Percent, ValuePercent, LevelDb, ReverbFeedback, NoteHz, Db, Millis, Hz, Seconds }; + | ^ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginProcessor.cpp:147:21: warning: performing an implicit widening conversion to type 'size_t' (aka 'unsigned long') of a multiplication performed in type 'int' [bugprone-implicit-widening-of-multiplication-result] + 147 | outL.assign(kMaxChunk * 2 * maxRatio + 4096, 0.0f); + | ^ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginProcessor.cpp:147:21: note: make conversion explicit to silence this warning + 8 | outL.assign(kMaxChunk * 2 * maxRatio + 4096, 0.0f); + | ^~~~~~~~~~~~~ + | static_cast( ) +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginProcessor.cpp:147:21: note: perform multiplication in a wider type + 147 | outL.assign(kMaxChunk * 2 * maxRatio + 4096, 0.0f); + | ^~~~~~~~~ + | static_cast( ) +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginProcessor.cpp:150:21: warning: performing an implicit widening conversion to type 'size_t' (aka 'unsigned long') of a multiplication performed in type 'int' [bugprone-implicit-widening-of-multiplication-result] + 150 | in48.assign(kMaxChunk * 2 * maxRatio + 64, 0.0f); + | ^ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginProcessor.cpp:150:21: note: make conversion explicit to silence this warning + 150 | in48.assign(kMaxChunk * 2 * maxRatio + 64, 0.0f); + | ^~~~~~~~~~~~~ + | static_cast( ) +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginProcessor.cpp:150:21: note: perform multiplication in a wider type + 150 | in48.assign(kMaxChunk * 2 * maxRatio + 64, 0.0f); + | ^~~~~~~~~ + | static_cast( ) +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/ui/PlantView.h:29:53: warning: use of a signed integer operand with a binary bitwise operator [bugprone-signed-bitwise] + 29 | static constexpr int kFftOrder = 11, kFftSize = 1 << kFftOrder; + | ^ ~~ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/ui/PlantView.h:36:23: warning: performing an implicit widening conversion to type 'size_t' (aka 'unsigned long') of a multiplication performed in type 'int' [bugprone-implicit-widening-of-multiplication-result] + 36 | std::array fftData_ {}; + | ^ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/ui/PlantView.h:36:23: note: make conversion explicit to silence this warning + 8 | std::array fftData_ {}; + | ^~~~~~~~~~~~ + | static_cast( ) +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/ui/PlantView.h:36:23: note: perform multiplication in a wider type + 36 | std::array fftData_ {}; + | ^ + | static_cast( ) +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/ui/Readouts.h:14:5: warning: the value returned by this function should not be disregarded; neglecting it may lead to errors [cert-err33-c] + 14 | std::snprintf(text, sizeof(text), pattern, value); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/ui/Readouts.h:14:5: note: cast the expression to void to silence this warning diff --git a/review/logs/exp1_cpu.log b/review/logs/exp1_cpu.log new file mode 100644 index 0000000..a7bc037 --- /dev/null +++ b/review/logs/exp1_cpu.log @@ -0,0 +1,7 @@ +Default (mono knob) 0.56% of one core peak 0.329 samples > 1.0: 0 recoveries 0 +Keys (mono MIDI tracking) 0.95% of one core peak 0.336 samples > 1.0: 0 recoveries 0 +Open Fifths (poly, lock) 2.14% of one core peak 0.476 samples > 1.0: 0 recoveries 0 +Sympathetic (poly, free) 1.37% of one core peak 0.497 samples > 1.0: 0 recoveries 0 +Chord Keys (poly MIDI) 2.22% of one core peak 0.283 samples > 1.0: 0 recoveries 0 +Ember Pong (pong on) 0.59% of one core peak 0.243 samples > 1.0: 0 recoveries 0 +Razor Feedback (gain 0.95) 0.53% of one core peak 0.285 samples > 1.0: 0 recoveries 0 diff --git a/review/logs/exp2_edges.log b/review/logs/exp2_edges.log new file mode 100644 index 0000000..1f7016a --- /dev/null +++ b/review/logs/exp2_edges.log @@ -0,0 +1,13 @@ +A) impulse at 0 s: first repeat after 0.954 s (knob says 0.248 s), level 0.007 +A) impulse at 2 s: first repeat after 0.296 s (knob says 0.248 s), level 0.014 +A) impulse at 6 s: first repeat after 0.248 s (knob says 0.248 s), level 0.015 +C) 48k->44.1k 1000 Hz: amplitude 1.0001 (0.00 dB), output rms 0.7071 +C) 48k->44.1k 10000 Hz: amplitude 1.0000 (-0.00 dB), output rms 0.7071 +C) 48k->44.1k 18000 Hz: amplitude 1.0000 (-0.00 dB), output rms 0.7071 +C) 48k->44.1k 21000 Hz: amplitude 0.1505 (-16.45 dB), output rms 0.1064 +C) 48k->44.1k 23000 Hz: amplitude 0.0000 (-94.34 dB), output rms 0.0000 +D) knob note 72 with +24 st: voice 1 publishes note 84.0 (voice 0 72.0), voice 2 (+12) 84.0 +B) everything max, reverb 1.0 3 min: peak 0.767, samples > 1.0: 0, rms(2nd half) 0.407, recoveries 0 +B) max + pong drive max 3 min: peak 0.767, samples > 1.0: 0, rms(2nd half) 0.407, recoveries 0 +B) max + poly + coupling max 3 min: peak 0.771, samples > 1.0: 0, rms(2nd half) 0.271, recoveries 0 +B) low + poly + coupling max 3 min: peak 0.824, samples > 1.0: 0, rms(2nd half) 0.281, recoveries 0 diff --git a/review/logs/exp3_order.log b/review/logs/exp3_order.log new file mode 100644 index 0000000..adc951b --- /dev/null +++ b/review/logs/exp3_order.log @@ -0,0 +1,2 @@ +registration order: Frequency .. OutputVolume +handler order: OutputVolume EchoFeedback EchoTime EchoSend ReverbDecay ReverbMix FeedbackHPF FeedbackLPF FeedbackBody FeedbackGain Frequency diff --git a/review/logs/host_probe-longrun-and-checksums-with-patch.log b/review/logs/host_probe-longrun-and-checksums-with-patch.log new file mode 100644 index 0000000..a64a3d0 --- /dev/null +++ b/review/logs/host_probe-longrun-and-checksums-with-patch.log @@ -0,0 +1,22 @@ +patched +build exit 0 +=== host_probe (long run + latency drift) +60 s at 44.1k, mixed block sizes: finite=1 quiet blocks=0, latency after: declared 327 measured 329 OK +HOST PROBE ALL OK +=== check_reference with the whitenoise patch +p01_mid_drone.wav: OK +p02_low_dark.wav: OK +p03_high_bright.wav: OK +p04_reverb_wash.wav: OK +p05_echo_swell.wav: OK +p06_echo_halved.wav: OK +p07_long_body.wav: OK +p08_max_feedback.wav: OK +p09_dark_filtered.wav: OK +p10_everything_mid.wav: OK +exit 0 +=== render_test with the patch +exit 0 +ALL OK + +[exited with code 0] diff --git a/review/logs/host_probe.log b/review/logs/host_probe.log new file mode 100644 index 0000000..575647d --- /dev/null +++ b/review/logs/host_probe.log @@ -0,0 +1,31 @@ +build exit 0 +sr=22050 block=1 peak=0.293 rms=0.1241 finite=1 latency=188 OK +sr=22050 block=7 peak=0.293 rms=0.1241 finite=1 latency=188 OK +sr=22050 block=2048 peak=0.293 rms=0.1244 finite=1 latency=188 OK +sr=22050 block=8192 peak=0.293 rms=0.1249 finite=1 latency=188 OK +sr=44100 block=1 peak=0.318 rms=0.1457 finite=1 latency=327 OK +sr=44100 block=7 peak=0.318 rms=0.1457 finite=1 latency=327 OK +sr=44100 block=2048 peak=0.318 rms=0.1458 finite=1 latency=327 OK +sr=44100 block=8192 peak=0.318 rms=0.1457 finite=1 latency=327 OK +sr=88200 block=1 peak=0.313 rms=0.1463 finite=1 latency=607 OK +sr=88200 block=7 peak=0.313 rms=0.1463 finite=1 latency=607 OK +sr=88200 block=2048 peak=0.313 rms=0.1464 finite=1 latency=607 OK +sr=88200 block=8192 peak=0.313 rms=0.1460 finite=1 latency=607 OK +sr=176400 block=1 peak=0.306 rms=0.1449 finite=1 latency=1165 OK +sr=176400 block=7 peak=0.306 rms=0.1449 finite=1 latency=1165 OK +sr=176400 block=2048 peak=0.306 rms=0.1450 finite=1 latency=1165 OK +sr=176400 block=8192 peak=0.306 rms=0.1450 finite=1 latency=1165 OK +sr=192000 block=1 peak=0.306 rms=0.1437 finite=1 latency=1264 OK +sr=192000 block=7 peak=0.306 rms=0.1437 finite=1 latency=1264 OK +sr=192000 block=2048 peak=0.306 rms=0.1436 finite=1 latency=1264 OK +sr=192000 block=8192 peak=0.306 rms=0.1438 finite=1 latency=1264 OK +sr=22050 latency: declared 188, measured 188 OK +sr=88200 latency: declared 607, measured 609 OK +sr=192000 latency: declared 1264, measured 1269 OK +60 s at 44.1k, mixed block sizes: finite=1 quiet blocks=0 OK +empty block and bypass: finite=1 peak=0.000 OK +garbage and truncated state: still processing, finite=1 OK +note-on velocity 0 releases the gate: rms after 0.00050 OK +HOST PROBE ALL OK + +[exited with code 0] diff --git a/review/logs/plugin_host_test-after-fixes.log b/review/logs/plugin_host_test-after-fixes.log new file mode 100644 index 0000000..29c407f --- /dev/null +++ b/review/logs/plugin_host_test-after-fixes.log @@ -0,0 +1,2161 @@ +Found: Drosera (VST3) isInstrument=1 +parameter identity: OK +saved state from the baseline build: OK +Parameters: 2107 + Frequency default=82.8 Hz now=82.8 Hz + Feedback default=-6.0 dB now=-6.0 dB + Body default=9.9 ms now=9.9 ms + Lowpass default=10708 Hz now=10708 Hz + Highpass default=33 Hz now=33 Hz + Reverb Mix default=30 % now=30 % + Reverb Decay default=85 % now=85 % + Echo Send default=4 % now=4 % + Echo Time default=1.29 s now=1.29 s + Echo Feedback default=60 % now=60 % + Volume default=-6.2 dB now=-6.2 dB + Echo Warp default=Off now=Off + Input Level default=0.0 dB now=0.0 dB + MIDI Pitch default=Off now=Off + MIDI Gate default=Off now=Off + Polyphony default=Off now=Off + Coupling default=0 % now=0 % + Interval 2 default=+7 st now=+7 st + Interval 3 default=+12 st now=+12 st + String Lock default=On now=On + Echo Pong default=Off now=Off + Echo Drive default=+0.0 dB now=+0.0 dB + Echo Tone default=800 Hz now=800 Hz + Echo Width default=100 % now=100 % + Echo Level default=0.0 dB now=0.0 dB + Bypass default=Off now=Off + Program default=Default now=Default + MIDI CC 0|0 default=0.0000 now=0.0000 + MIDI CC 0|1 default=0.0000 now=0.0000 + MIDI CC 0|2 default=0.0000 now=0.0000 + MIDI CC 0|3 default=0.0000 now=0.0000 + MIDI CC 0|4 default=0.0000 now=0.0000 + MIDI CC 0|5 default=0.0000 now=0.0000 + MIDI CC 0|6 default=0.0000 now=0.0000 + MIDI CC 0|7 default=0.0000 now=0.0000 + MIDI CC 0|8 default=0.0000 now=0.0000 + MIDI CC 0|9 default=0.0000 now=0.0000 + MIDI CC 0|10 default=0.0000 now=0.0000 + MIDI CC 0|11 default=0.0000 now=0.0000 + MIDI CC 0|12 default=0.0000 now=0.0000 + MIDI CC 0|13 default=0.0000 now=0.0000 + MIDI CC 0|14 default=0.0000 now=0.0000 + MIDI CC 0|15 default=0.0000 now=0.0000 + MIDI CC 0|16 default=0.0000 now=0.0000 + MIDI CC 0|17 default=0.0000 now=0.0000 + MIDI CC 0|18 default=0.0000 now=0.0000 + MIDI CC 0|19 default=0.0000 now=0.0000 + MIDI CC 0|20 default=0.0000 now=0.0000 + MIDI CC 0|21 default=0.0000 now=0.0000 + MIDI CC 0|22 default=0.0000 now=0.0000 + MIDI CC 0|23 default=0.0000 now=0.0000 + MIDI CC 0|24 default=0.0000 now=0.0000 + MIDI CC 0|25 default=0.0000 now=0.0000 + MIDI CC 0|26 default=0.0000 now=0.0000 + MIDI CC 0|27 default=0.0000 now=0.0000 + MIDI CC 0|28 default=0.0000 now=0.0000 + MIDI CC 0|29 default=0.0000 now=0.0000 + MIDI CC 0|30 default=0.0000 now=0.0000 + MIDI CC 0|31 default=0.0000 now=0.0000 + MIDI CC 0|32 default=0.0000 now=0.0000 + MIDI CC 0|33 default=0.0000 now=0.0000 + MIDI CC 0|34 default=0.0000 now=0.0000 + MIDI CC 0|35 default=0.0000 now=0.0000 + MIDI CC 0|36 default=0.0000 now=0.0000 + MIDI CC 0|37 default=0.0000 now=0.0000 + MIDI CC 0|38 default=0.0000 now=0.0000 + MIDI CC 0|39 default=0.0000 now=0.0000 + MIDI CC 0|40 default=0.0000 now=0.0000 + MIDI CC 0|41 default=0.0000 now=0.0000 + MIDI CC 0|42 default=0.0000 now=0.0000 + MIDI CC 0|43 default=0.0000 now=0.0000 + MIDI CC 0|44 default=0.0000 now=0.0000 + MIDI CC 0|45 default=0.0000 now=0.0000 + MIDI CC 0|46 default=0.0000 now=0.0000 + MIDI CC 0|47 default=0.0000 now=0.0000 + MIDI CC 0|48 default=0.0000 now=0.0000 + MIDI CC 0|49 default=0.0000 now=0.0000 + MIDI CC 0|50 default=0.0000 now=0.0000 + MIDI CC 0|51 default=0.0000 now=0.0000 + MIDI CC 0|52 default=0.0000 now=0.0000 + MIDI CC 0|53 default=0.0000 now=0.0000 + MIDI CC 0|54 default=0.0000 now=0.0000 + MIDI CC 0|55 default=0.0000 now=0.0000 + MIDI CC 0|56 default=0.0000 now=0.0000 + MIDI CC 0|57 default=0.0000 now=0.0000 + MIDI CC 0|58 default=0.0000 now=0.0000 + MIDI CC 0|59 default=0.0000 now=0.0000 + MIDI CC 0|60 default=0.0000 now=0.0000 + MIDI CC 0|61 default=0.0000 now=0.0000 + MIDI CC 0|62 default=0.0000 now=0.0000 + MIDI CC 0|63 default=0.0000 now=0.0000 + MIDI CC 0|64 default=0.0000 now=0.0000 + MIDI CC 0|65 default=0.0000 now=0.0000 + MIDI CC 0|66 default=0.0000 now=0.0000 + MIDI CC 0|67 default=0.0000 now=0.0000 + MIDI CC 0|68 default=0.0000 now=0.0000 + MIDI CC 0|69 default=0.0000 now=0.0000 + MIDI CC 0|70 default=0.0000 now=0.0000 + MIDI CC 0|71 default=0.0000 now=0.0000 + MIDI CC 0|72 default=0.0000 now=0.0000 + MIDI CC 0|73 default=0.0000 now=0.0000 + MIDI CC 0|74 default=0.0000 now=0.0000 + MIDI CC 0|75 default=0.0000 now=0.0000 + MIDI CC 0|76 default=0.0000 now=0.0000 + MIDI CC 0|77 default=0.0000 now=0.0000 + MIDI CC 0|78 default=0.0000 now=0.0000 + MIDI CC 0|79 default=0.0000 now=0.0000 + MIDI CC 0|80 default=0.0000 now=0.0000 + MIDI CC 0|81 default=0.0000 now=0.0000 + MIDI CC 0|82 default=0.0000 now=0.0000 + MIDI CC 0|83 default=0.0000 now=0.0000 + MIDI CC 0|84 default=0.0000 now=0.0000 + MIDI CC 0|85 default=0.0000 now=0.0000 + MIDI CC 0|86 default=0.0000 now=0.0000 + MIDI CC 0|87 default=0.0000 now=0.0000 + MIDI CC 0|88 default=0.0000 now=0.0000 + MIDI CC 0|89 default=0.0000 now=0.0000 + MIDI CC 0|90 default=0.0000 now=0.0000 + MIDI CC 0|91 default=0.0000 now=0.0000 + MIDI CC 0|92 default=0.0000 now=0.0000 + MIDI CC 0|93 default=0.0000 now=0.0000 + MIDI CC 0|94 default=0.0000 now=0.0000 + MIDI CC 0|95 default=0.0000 now=0.0000 + MIDI CC 0|96 default=0.0000 now=0.0000 + MIDI CC 0|97 default=0.0000 now=0.0000 + MIDI CC 0|98 default=0.0000 now=0.0000 + MIDI CC 0|99 default=0.0000 now=0.0000 + MIDI CC 0|100 default=0.0000 now=0.0000 + MIDI CC 0|101 default=0.0000 now=0.0000 + MIDI CC 0|102 default=0.0000 now=0.0000 + MIDI CC 0|103 default=0.0000 now=0.0000 + MIDI CC 0|104 default=0.0000 now=0.0000 + MIDI CC 0|105 default=0.0000 now=0.0000 + MIDI CC 0|106 default=0.0000 now=0.0000 + MIDI CC 0|107 default=0.0000 now=0.0000 + MIDI CC 0|108 default=0.0000 now=0.0000 + MIDI CC 0|109 default=0.0000 now=0.0000 + MIDI CC 0|110 default=0.0000 now=0.0000 + MIDI CC 0|111 default=0.0000 now=0.0000 + MIDI CC 0|112 default=0.0000 now=0.0000 + MIDI CC 0|113 default=0.0000 now=0.0000 + MIDI CC 0|114 default=0.0000 now=0.0000 + MIDI CC 0|115 default=0.0000 now=0.0000 + MIDI CC 0|116 default=0.0000 now=0.0000 + MIDI CC 0|117 default=0.0000 now=0.0000 + MIDI CC 0|118 default=0.0000 now=0.0000 + MIDI CC 0|119 default=0.0000 now=0.0000 + MIDI CC 0|120 default=0.0000 now=0.0000 + MIDI CC 0|121 default=0.0000 now=0.0000 + MIDI CC 0|122 default=0.0000 now=0.0000 + MIDI CC 0|123 default=0.0000 now=0.0000 + MIDI CC 0|124 default=0.0000 now=0.0000 + MIDI CC 0|125 default=0.0000 now=0.0000 + MIDI CC 0|126 default=0.0000 now=0.0000 + MIDI CC 0|127 default=0.0000 now=0.0000 + MIDI CC 0|128 default=0.0000 now=0.0000 + MIDI CC 0|129 default=0.0000 now=0.0000 + MIDI CC 1|0 default=0.0000 now=0.0000 + MIDI CC 1|1 default=0.0000 now=0.0000 + MIDI CC 1|2 default=0.0000 now=0.0000 + MIDI CC 1|3 default=0.0000 now=0.0000 + MIDI CC 1|4 default=0.0000 now=0.0000 + MIDI CC 1|5 default=0.0000 now=0.0000 + MIDI CC 1|6 default=0.0000 now=0.0000 + MIDI CC 1|7 default=0.0000 now=0.0000 + MIDI CC 1|8 default=0.0000 now=0.0000 + MIDI CC 1|9 default=0.0000 now=0.0000 + MIDI CC 1|10 default=0.0000 now=0.0000 + MIDI CC 1|11 default=0.0000 now=0.0000 + MIDI CC 1|12 default=0.0000 now=0.0000 + MIDI CC 1|13 default=0.0000 now=0.0000 + MIDI CC 1|14 default=0.0000 now=0.0000 + MIDI CC 1|15 default=0.0000 now=0.0000 + MIDI CC 1|16 default=0.0000 now=0.0000 + MIDI CC 1|17 default=0.0000 now=0.0000 + MIDI CC 1|18 default=0.0000 now=0.0000 + MIDI CC 1|19 default=0.0000 now=0.0000 + MIDI CC 1|20 default=0.0000 now=0.0000 + MIDI CC 1|21 default=0.0000 now=0.0000 + MIDI CC 1|22 default=0.0000 now=0.0000 + MIDI CC 1|23 default=0.0000 now=0.0000 + MIDI CC 1|24 default=0.0000 now=0.0000 + MIDI CC 1|25 default=0.0000 now=0.0000 + MIDI CC 1|26 default=0.0000 now=0.0000 + MIDI CC 1|27 default=0.0000 now=0.0000 + MIDI CC 1|28 default=0.0000 now=0.0000 + MIDI CC 1|29 default=0.0000 now=0.0000 + MIDI CC 1|30 default=0.0000 now=0.0000 + MIDI CC 1|31 default=0.0000 now=0.0000 + MIDI CC 1|32 default=0.0000 now=0.0000 + MIDI CC 1|33 default=0.0000 now=0.0000 + MIDI CC 1|34 default=0.0000 now=0.0000 + MIDI CC 1|35 default=0.0000 now=0.0000 + MIDI CC 1|36 default=0.0000 now=0.0000 + MIDI CC 1|37 default=0.0000 now=0.0000 + MIDI CC 1|38 default=0.0000 now=0.0000 + MIDI CC 1|39 default=0.0000 now=0.0000 + MIDI CC 1|40 default=0.0000 now=0.0000 + MIDI CC 1|41 default=0.0000 now=0.0000 + MIDI CC 1|42 default=0.0000 now=0.0000 + MIDI CC 1|43 default=0.0000 now=0.0000 + MIDI CC 1|44 default=0.0000 now=0.0000 + MIDI CC 1|45 default=0.0000 now=0.0000 + MIDI CC 1|46 default=0.0000 now=0.0000 + MIDI CC 1|47 default=0.0000 now=0.0000 + MIDI CC 1|48 default=0.0000 now=0.0000 + MIDI CC 1|49 default=0.0000 now=0.0000 + MIDI CC 1|50 default=0.0000 now=0.0000 + MIDI CC 1|51 default=0.0000 now=0.0000 + MIDI CC 1|52 default=0.0000 now=0.0000 + MIDI CC 1|53 default=0.0000 now=0.0000 + MIDI CC 1|54 default=0.0000 now=0.0000 + MIDI CC 1|55 default=0.0000 now=0.0000 + MIDI CC 1|56 default=0.0000 now=0.0000 + MIDI CC 1|57 default=0.0000 now=0.0000 + MIDI CC 1|58 default=0.0000 now=0.0000 + MIDI CC 1|59 default=0.0000 now=0.0000 + MIDI CC 1|60 default=0.0000 now=0.0000 + MIDI CC 1|61 default=0.0000 now=0.0000 + MIDI CC 1|62 default=0.0000 now=0.0000 + MIDI CC 1|63 default=0.0000 now=0.0000 + MIDI CC 1|64 default=0.0000 now=0.0000 + MIDI CC 1|65 default=0.0000 now=0.0000 + MIDI CC 1|66 default=0.0000 now=0.0000 + MIDI CC 1|67 default=0.0000 now=0.0000 + MIDI CC 1|68 default=0.0000 now=0.0000 + MIDI CC 1|69 default=0.0000 now=0.0000 + MIDI CC 1|70 default=0.0000 now=0.0000 + MIDI CC 1|71 default=0.0000 now=0.0000 + MIDI CC 1|72 default=0.0000 now=0.0000 + MIDI CC 1|73 default=0.0000 now=0.0000 + MIDI CC 1|74 default=0.0000 now=0.0000 + MIDI CC 1|75 default=0.0000 now=0.0000 + MIDI CC 1|76 default=0.0000 now=0.0000 + MIDI CC 1|77 default=0.0000 now=0.0000 + MIDI CC 1|78 default=0.0000 now=0.0000 + MIDI CC 1|79 default=0.0000 now=0.0000 + MIDI CC 1|80 default=0.0000 now=0.0000 + MIDI CC 1|81 default=0.0000 now=0.0000 + MIDI CC 1|82 default=0.0000 now=0.0000 + MIDI CC 1|83 default=0.0000 now=0.0000 + MIDI CC 1|84 default=0.0000 now=0.0000 + MIDI CC 1|85 default=0.0000 now=0.0000 + MIDI CC 1|86 default=0.0000 now=0.0000 + MIDI CC 1|87 default=0.0000 now=0.0000 + MIDI CC 1|88 default=0.0000 now=0.0000 + MIDI CC 1|89 default=0.0000 now=0.0000 + MIDI CC 1|90 default=0.0000 now=0.0000 + MIDI CC 1|91 default=0.0000 now=0.0000 + MIDI CC 1|92 default=0.0000 now=0.0000 + MIDI CC 1|93 default=0.0000 now=0.0000 + MIDI CC 1|94 default=0.0000 now=0.0000 + MIDI CC 1|95 default=0.0000 now=0.0000 + MIDI CC 1|96 default=0.0000 now=0.0000 + MIDI CC 1|97 default=0.0000 now=0.0000 + MIDI CC 1|98 default=0.0000 now=0.0000 + MIDI CC 1|99 default=0.0000 now=0.0000 + MIDI CC 1|100 default=0.0000 now=0.0000 + MIDI CC 1|101 default=0.0000 now=0.0000 + MIDI CC 1|102 default=0.0000 now=0.0000 + MIDI CC 1|103 default=0.0000 now=0.0000 + MIDI CC 1|104 default=0.0000 now=0.0000 + MIDI CC 1|105 default=0.0000 now=0.0000 + MIDI CC 1|106 default=0.0000 now=0.0000 + MIDI CC 1|107 default=0.0000 now=0.0000 + MIDI CC 1|108 default=0.0000 now=0.0000 + MIDI CC 1|109 default=0.0000 now=0.0000 + MIDI CC 1|110 default=0.0000 now=0.0000 + MIDI CC 1|111 default=0.0000 now=0.0000 + MIDI CC 1|112 default=0.0000 now=0.0000 + MIDI CC 1|113 default=0.0000 now=0.0000 + MIDI CC 1|114 default=0.0000 now=0.0000 + MIDI CC 1|115 default=0.0000 now=0.0000 + MIDI CC 1|116 default=0.0000 now=0.0000 + MIDI CC 1|117 default=0.0000 now=0.0000 + MIDI CC 1|118 default=0.0000 now=0.0000 + MIDI CC 1|119 default=0.0000 now=0.0000 + MIDI CC 1|120 default=0.0000 now=0.0000 + MIDI CC 1|121 default=0.0000 now=0.0000 + MIDI CC 1|122 default=0.0000 now=0.0000 + MIDI CC 1|123 default=0.0000 now=0.0000 + MIDI CC 1|124 default=0.0000 now=0.0000 + MIDI CC 1|125 default=0.0000 now=0.0000 + MIDI CC 1|126 default=0.0000 now=0.0000 + MIDI CC 1|127 default=0.0000 now=0.0000 + MIDI CC 1|128 default=0.0000 now=0.0000 + MIDI CC 1|129 default=0.0000 now=0.0000 + MIDI CC 2|0 default=0.0000 now=0.0000 + MIDI CC 2|1 default=0.0000 now=0.0000 + MIDI CC 2|2 default=0.0000 now=0.0000 + MIDI CC 2|3 default=0.0000 now=0.0000 + MIDI CC 2|4 default=0.0000 now=0.0000 + MIDI CC 2|5 default=0.0000 now=0.0000 + MIDI CC 2|6 default=0.0000 now=0.0000 + MIDI CC 2|7 default=0.0000 now=0.0000 + MIDI CC 2|8 default=0.0000 now=0.0000 + MIDI CC 2|9 default=0.0000 now=0.0000 + MIDI CC 2|10 default=0.0000 now=0.0000 + MIDI CC 2|11 default=0.0000 now=0.0000 + MIDI CC 2|12 default=0.0000 now=0.0000 + MIDI CC 2|13 default=0.0000 now=0.0000 + MIDI CC 2|14 default=0.0000 now=0.0000 + MIDI CC 2|15 default=0.0000 now=0.0000 + MIDI CC 2|16 default=0.0000 now=0.0000 + MIDI CC 2|17 default=0.0000 now=0.0000 + MIDI CC 2|18 default=0.0000 now=0.0000 + MIDI CC 2|19 default=0.0000 now=0.0000 + MIDI CC 2|20 default=0.0000 now=0.0000 + MIDI CC 2|21 default=0.0000 now=0.0000 + MIDI CC 2|22 default=0.0000 now=0.0000 + MIDI CC 2|23 default=0.0000 now=0.0000 + MIDI CC 2|24 default=0.0000 now=0.0000 + MIDI CC 2|25 default=0.0000 now=0.0000 + MIDI CC 2|26 default=0.0000 now=0.0000 + MIDI CC 2|27 default=0.0000 now=0.0000 + MIDI CC 2|28 default=0.0000 now=0.0000 + MIDI CC 2|29 default=0.0000 now=0.0000 + MIDI CC 2|30 default=0.0000 now=0.0000 + MIDI CC 2|31 default=0.0000 now=0.0000 + MIDI CC 2|32 default=0.0000 now=0.0000 + MIDI CC 2|33 default=0.0000 now=0.0000 + MIDI CC 2|34 default=0.0000 now=0.0000 + MIDI CC 2|35 default=0.0000 now=0.0000 + MIDI CC 2|36 default=0.0000 now=0.0000 + MIDI CC 2|37 default=0.0000 now=0.0000 + MIDI CC 2|38 default=0.0000 now=0.0000 + MIDI CC 2|39 default=0.0000 now=0.0000 + MIDI CC 2|40 default=0.0000 now=0.0000 + MIDI CC 2|41 default=0.0000 now=0.0000 + MIDI CC 2|42 default=0.0000 now=0.0000 + MIDI CC 2|43 default=0.0000 now=0.0000 + MIDI CC 2|44 default=0.0000 now=0.0000 + MIDI CC 2|45 default=0.0000 now=0.0000 + MIDI CC 2|46 default=0.0000 now=0.0000 + MIDI CC 2|47 default=0.0000 now=0.0000 + MIDI CC 2|48 default=0.0000 now=0.0000 + MIDI CC 2|49 default=0.0000 now=0.0000 + MIDI CC 2|50 default=0.0000 now=0.0000 + MIDI CC 2|51 default=0.0000 now=0.0000 + MIDI CC 2|52 default=0.0000 now=0.0000 + MIDI CC 2|53 default=0.0000 now=0.0000 + MIDI CC 2|54 default=0.0000 now=0.0000 + MIDI CC 2|55 default=0.0000 now=0.0000 + MIDI CC 2|56 default=0.0000 now=0.0000 + MIDI CC 2|57 default=0.0000 now=0.0000 + MIDI CC 2|58 default=0.0000 now=0.0000 + MIDI CC 2|59 default=0.0000 now=0.0000 + MIDI CC 2|60 default=0.0000 now=0.0000 + MIDI CC 2|61 default=0.0000 now=0.0000 + MIDI CC 2|62 default=0.0000 now=0.0000 + MIDI CC 2|63 default=0.0000 now=0.0000 + MIDI CC 2|64 default=0.0000 now=0.0000 + MIDI CC 2|65 default=0.0000 now=0.0000 + MIDI CC 2|66 default=0.0000 now=0.0000 + MIDI CC 2|67 default=0.0000 now=0.0000 + MIDI CC 2|68 default=0.0000 now=0.0000 + MIDI CC 2|69 default=0.0000 now=0.0000 + MIDI CC 2|70 default=0.0000 now=0.0000 + MIDI CC 2|71 default=0.0000 now=0.0000 + MIDI CC 2|72 default=0.0000 now=0.0000 + MIDI CC 2|73 default=0.0000 now=0.0000 + MIDI CC 2|74 default=0.0000 now=0.0000 + MIDI CC 2|75 default=0.0000 now=0.0000 + MIDI CC 2|76 default=0.0000 now=0.0000 + MIDI CC 2|77 default=0.0000 now=0.0000 + MIDI CC 2|78 default=0.0000 now=0.0000 + MIDI CC 2|79 default=0.0000 now=0.0000 + MIDI CC 2|80 default=0.0000 now=0.0000 + MIDI CC 2|81 default=0.0000 now=0.0000 + MIDI CC 2|82 default=0.0000 now=0.0000 + MIDI CC 2|83 default=0.0000 now=0.0000 + MIDI CC 2|84 default=0.0000 now=0.0000 + MIDI CC 2|85 default=0.0000 now=0.0000 + MIDI CC 2|86 default=0.0000 now=0.0000 + MIDI CC 2|87 default=0.0000 now=0.0000 + MIDI CC 2|88 default=0.0000 now=0.0000 + MIDI CC 2|89 default=0.0000 now=0.0000 + MIDI CC 2|90 default=0.0000 now=0.0000 + MIDI CC 2|91 default=0.0000 now=0.0000 + MIDI CC 2|92 default=0.0000 now=0.0000 + MIDI CC 2|93 default=0.0000 now=0.0000 + MIDI CC 2|94 default=0.0000 now=0.0000 + MIDI CC 2|95 default=0.0000 now=0.0000 + MIDI CC 2|96 default=0.0000 now=0.0000 + MIDI CC 2|97 default=0.0000 now=0.0000 + MIDI CC 2|98 default=0.0000 now=0.0000 + MIDI CC 2|99 default=0.0000 now=0.0000 + MIDI CC 2|100 default=0.0000 now=0.0000 + MIDI CC 2|101 default=0.0000 now=0.0000 + MIDI CC 2|102 default=0.0000 now=0.0000 + MIDI CC 2|103 default=0.0000 now=0.0000 + MIDI CC 2|104 default=0.0000 now=0.0000 + MIDI CC 2|105 default=0.0000 now=0.0000 + MIDI CC 2|106 default=0.0000 now=0.0000 + MIDI CC 2|107 default=0.0000 now=0.0000 + MIDI CC 2|108 default=0.0000 now=0.0000 + MIDI CC 2|109 default=0.0000 now=0.0000 + MIDI CC 2|110 default=0.0000 now=0.0000 + MIDI CC 2|111 default=0.0000 now=0.0000 + MIDI CC 2|112 default=0.0000 now=0.0000 + MIDI CC 2|113 default=0.0000 now=0.0000 + MIDI CC 2|114 default=0.0000 now=0.0000 + MIDI CC 2|115 default=0.0000 now=0.0000 + MIDI CC 2|116 default=0.0000 now=0.0000 + MIDI CC 2|117 default=0.0000 now=0.0000 + MIDI CC 2|118 default=0.0000 now=0.0000 + MIDI CC 2|119 default=0.0000 now=0.0000 + MIDI CC 2|120 default=0.0000 now=0.0000 + MIDI CC 2|121 default=0.0000 now=0.0000 + MIDI CC 2|122 default=0.0000 now=0.0000 + MIDI CC 2|123 default=0.0000 now=0.0000 + MIDI CC 2|124 default=0.0000 now=0.0000 + MIDI CC 2|125 default=0.0000 now=0.0000 + MIDI CC 2|126 default=0.0000 now=0.0000 + MIDI CC 2|127 default=0.0000 now=0.0000 + MIDI CC 2|128 default=0.0000 now=0.0000 + MIDI CC 2|129 default=0.0000 now=0.0000 + MIDI CC 3|0 default=0.0000 now=0.0000 + MIDI CC 3|1 default=0.0000 now=0.0000 + MIDI CC 3|2 default=0.0000 now=0.0000 + MIDI CC 3|3 default=0.0000 now=0.0000 + MIDI CC 3|4 default=0.0000 now=0.0000 + MIDI CC 3|5 default=0.0000 now=0.0000 + MIDI CC 3|6 default=0.0000 now=0.0000 + MIDI CC 3|7 default=0.0000 now=0.0000 + MIDI CC 3|8 default=0.0000 now=0.0000 + MIDI CC 3|9 default=0.0000 now=0.0000 + MIDI CC 3|10 default=0.0000 now=0.0000 + MIDI CC 3|11 default=0.0000 now=0.0000 + MIDI CC 3|12 default=0.0000 now=0.0000 + MIDI CC 3|13 default=0.0000 now=0.0000 + MIDI CC 3|14 default=0.0000 now=0.0000 + MIDI CC 3|15 default=0.0000 now=0.0000 + MIDI CC 3|16 default=0.0000 now=0.0000 + MIDI CC 3|17 default=0.0000 now=0.0000 + MIDI CC 3|18 default=0.0000 now=0.0000 + MIDI CC 3|19 default=0.0000 now=0.0000 + MIDI CC 3|20 default=0.0000 now=0.0000 + MIDI CC 3|21 default=0.0000 now=0.0000 + MIDI CC 3|22 default=0.0000 now=0.0000 + MIDI CC 3|23 default=0.0000 now=0.0000 + MIDI CC 3|24 default=0.0000 now=0.0000 + MIDI CC 3|25 default=0.0000 now=0.0000 + MIDI CC 3|26 default=0.0000 now=0.0000 + MIDI CC 3|27 default=0.0000 now=0.0000 + MIDI CC 3|28 default=0.0000 now=0.0000 + MIDI CC 3|29 default=0.0000 now=0.0000 + MIDI CC 3|30 default=0.0000 now=0.0000 + MIDI CC 3|31 default=0.0000 now=0.0000 + MIDI CC 3|32 default=0.0000 now=0.0000 + MIDI CC 3|33 default=0.0000 now=0.0000 + MIDI CC 3|34 default=0.0000 now=0.0000 + MIDI CC 3|35 default=0.0000 now=0.0000 + MIDI CC 3|36 default=0.0000 now=0.0000 + MIDI CC 3|37 default=0.0000 now=0.0000 + MIDI CC 3|38 default=0.0000 now=0.0000 + MIDI CC 3|39 default=0.0000 now=0.0000 + MIDI CC 3|40 default=0.0000 now=0.0000 + MIDI CC 3|41 default=0.0000 now=0.0000 + MIDI CC 3|42 default=0.0000 now=0.0000 + MIDI CC 3|43 default=0.0000 now=0.0000 + MIDI CC 3|44 default=0.0000 now=0.0000 + MIDI CC 3|45 default=0.0000 now=0.0000 + MIDI CC 3|46 default=0.0000 now=0.0000 + MIDI CC 3|47 default=0.0000 now=0.0000 + MIDI CC 3|48 default=0.0000 now=0.0000 + MIDI CC 3|49 default=0.0000 now=0.0000 + MIDI CC 3|50 default=0.0000 now=0.0000 + MIDI CC 3|51 default=0.0000 now=0.0000 + MIDI CC 3|52 default=0.0000 now=0.0000 + MIDI CC 3|53 default=0.0000 now=0.0000 + MIDI CC 3|54 default=0.0000 now=0.0000 + MIDI CC 3|55 default=0.0000 now=0.0000 + MIDI CC 3|56 default=0.0000 now=0.0000 + MIDI CC 3|57 default=0.0000 now=0.0000 + MIDI CC 3|58 default=0.0000 now=0.0000 + MIDI CC 3|59 default=0.0000 now=0.0000 + MIDI CC 3|60 default=0.0000 now=0.0000 + MIDI CC 3|61 default=0.0000 now=0.0000 + MIDI CC 3|62 default=0.0000 now=0.0000 + MIDI CC 3|63 default=0.0000 now=0.0000 + MIDI CC 3|64 default=0.0000 now=0.0000 + MIDI CC 3|65 default=0.0000 now=0.0000 + MIDI CC 3|66 default=0.0000 now=0.0000 + MIDI CC 3|67 default=0.0000 now=0.0000 + MIDI CC 3|68 default=0.0000 now=0.0000 + MIDI CC 3|69 default=0.0000 now=0.0000 + MIDI CC 3|70 default=0.0000 now=0.0000 + MIDI CC 3|71 default=0.0000 now=0.0000 + MIDI CC 3|72 default=0.0000 now=0.0000 + MIDI CC 3|73 default=0.0000 now=0.0000 + MIDI CC 3|74 default=0.0000 now=0.0000 + MIDI CC 3|75 default=0.0000 now=0.0000 + MIDI CC 3|76 default=0.0000 now=0.0000 + MIDI CC 3|77 default=0.0000 now=0.0000 + MIDI CC 3|78 default=0.0000 now=0.0000 + MIDI CC 3|79 default=0.0000 now=0.0000 + MIDI CC 3|80 default=0.0000 now=0.0000 + MIDI CC 3|81 default=0.0000 now=0.0000 + MIDI CC 3|82 default=0.0000 now=0.0000 + MIDI CC 3|83 default=0.0000 now=0.0000 + MIDI CC 3|84 default=0.0000 now=0.0000 + MIDI CC 3|85 default=0.0000 now=0.0000 + MIDI CC 3|86 default=0.0000 now=0.0000 + MIDI CC 3|87 default=0.0000 now=0.0000 + MIDI CC 3|88 default=0.0000 now=0.0000 + MIDI CC 3|89 default=0.0000 now=0.0000 + MIDI CC 3|90 default=0.0000 now=0.0000 + MIDI CC 3|91 default=0.0000 now=0.0000 + MIDI CC 3|92 default=0.0000 now=0.0000 + MIDI CC 3|93 default=0.0000 now=0.0000 + MIDI CC 3|94 default=0.0000 now=0.0000 + MIDI CC 3|95 default=0.0000 now=0.0000 + MIDI CC 3|96 default=0.0000 now=0.0000 + MIDI CC 3|97 default=0.0000 now=0.0000 + MIDI CC 3|98 default=0.0000 now=0.0000 + MIDI CC 3|99 default=0.0000 now=0.0000 + MIDI CC 3|100 default=0.0000 now=0.0000 + MIDI CC 3|101 default=0.0000 now=0.0000 + MIDI CC 3|102 default=0.0000 now=0.0000 + MIDI CC 3|103 default=0.0000 now=0.0000 + MIDI CC 3|104 default=0.0000 now=0.0000 + MIDI CC 3|105 default=0.0000 now=0.0000 + MIDI CC 3|106 default=0.0000 now=0.0000 + MIDI CC 3|107 default=0.0000 now=0.0000 + MIDI CC 3|108 default=0.0000 now=0.0000 + MIDI CC 3|109 default=0.0000 now=0.0000 + MIDI CC 3|110 default=0.0000 now=0.0000 + MIDI CC 3|111 default=0.0000 now=0.0000 + MIDI CC 3|112 default=0.0000 now=0.0000 + MIDI CC 3|113 default=0.0000 now=0.0000 + MIDI CC 3|114 default=0.0000 now=0.0000 + MIDI CC 3|115 default=0.0000 now=0.0000 + MIDI CC 3|116 default=0.0000 now=0.0000 + MIDI CC 3|117 default=0.0000 now=0.0000 + MIDI CC 3|118 default=0.0000 now=0.0000 + MIDI CC 3|119 default=0.0000 now=0.0000 + MIDI CC 3|120 default=0.0000 now=0.0000 + MIDI CC 3|121 default=0.0000 now=0.0000 + MIDI CC 3|122 default=0.0000 now=0.0000 + MIDI CC 3|123 default=0.0000 now=0.0000 + MIDI CC 3|124 default=0.0000 now=0.0000 + MIDI CC 3|125 default=0.0000 now=0.0000 + MIDI CC 3|126 default=0.0000 now=0.0000 + MIDI CC 3|127 default=0.0000 now=0.0000 + MIDI CC 3|128 default=0.0000 now=0.0000 + MIDI CC 3|129 default=0.0000 now=0.0000 + MIDI CC 4|0 default=0.0000 now=0.0000 + MIDI CC 4|1 default=0.0000 now=0.0000 + MIDI CC 4|2 default=0.0000 now=0.0000 + MIDI CC 4|3 default=0.0000 now=0.0000 + MIDI CC 4|4 default=0.0000 now=0.0000 + MIDI CC 4|5 default=0.0000 now=0.0000 + MIDI CC 4|6 default=0.0000 now=0.0000 + MIDI CC 4|7 default=0.0000 now=0.0000 + MIDI CC 4|8 default=0.0000 now=0.0000 + MIDI CC 4|9 default=0.0000 now=0.0000 + MIDI CC 4|10 default=0.0000 now=0.0000 + MIDI CC 4|11 default=0.0000 now=0.0000 + MIDI CC 4|12 default=0.0000 now=0.0000 + MIDI CC 4|13 default=0.0000 now=0.0000 + MIDI CC 4|14 default=0.0000 now=0.0000 + MIDI CC 4|15 default=0.0000 now=0.0000 + MIDI CC 4|16 default=0.0000 now=0.0000 + MIDI CC 4|17 default=0.0000 now=0.0000 + MIDI CC 4|18 default=0.0000 now=0.0000 + MIDI CC 4|19 default=0.0000 now=0.0000 + MIDI CC 4|20 default=0.0000 now=0.0000 + MIDI CC 4|21 default=0.0000 now=0.0000 + MIDI CC 4|22 default=0.0000 now=0.0000 + MIDI CC 4|23 default=0.0000 now=0.0000 + MIDI CC 4|24 default=0.0000 now=0.0000 + MIDI CC 4|25 default=0.0000 now=0.0000 + MIDI CC 4|26 default=0.0000 now=0.0000 + MIDI CC 4|27 default=0.0000 now=0.0000 + MIDI CC 4|28 default=0.0000 now=0.0000 + MIDI CC 4|29 default=0.0000 now=0.0000 + MIDI CC 4|30 default=0.0000 now=0.0000 + MIDI CC 4|31 default=0.0000 now=0.0000 + MIDI CC 4|32 default=0.0000 now=0.0000 + MIDI CC 4|33 default=0.0000 now=0.0000 + MIDI CC 4|34 default=0.0000 now=0.0000 + MIDI CC 4|35 default=0.0000 now=0.0000 + MIDI CC 4|36 default=0.0000 now=0.0000 + MIDI CC 4|37 default=0.0000 now=0.0000 + MIDI CC 4|38 default=0.0000 now=0.0000 + MIDI CC 4|39 default=0.0000 now=0.0000 + MIDI CC 4|40 default=0.0000 now=0.0000 + MIDI CC 4|41 default=0.0000 now=0.0000 + MIDI CC 4|42 default=0.0000 now=0.0000 + MIDI CC 4|43 default=0.0000 now=0.0000 + MIDI CC 4|44 default=0.0000 now=0.0000 + MIDI CC 4|45 default=0.0000 now=0.0000 + MIDI CC 4|46 default=0.0000 now=0.0000 + MIDI CC 4|47 default=0.0000 now=0.0000 + MIDI CC 4|48 default=0.0000 now=0.0000 + MIDI CC 4|49 default=0.0000 now=0.0000 + MIDI CC 4|50 default=0.0000 now=0.0000 + MIDI CC 4|51 default=0.0000 now=0.0000 + MIDI CC 4|52 default=0.0000 now=0.0000 + MIDI CC 4|53 default=0.0000 now=0.0000 + MIDI CC 4|54 default=0.0000 now=0.0000 + MIDI CC 4|55 default=0.0000 now=0.0000 + MIDI CC 4|56 default=0.0000 now=0.0000 + MIDI CC 4|57 default=0.0000 now=0.0000 + MIDI CC 4|58 default=0.0000 now=0.0000 + MIDI CC 4|59 default=0.0000 now=0.0000 + MIDI CC 4|60 default=0.0000 now=0.0000 + MIDI CC 4|61 default=0.0000 now=0.0000 + MIDI CC 4|62 default=0.0000 now=0.0000 + MIDI CC 4|63 default=0.0000 now=0.0000 + MIDI CC 4|64 default=0.0000 now=0.0000 + MIDI CC 4|65 default=0.0000 now=0.0000 + MIDI CC 4|66 default=0.0000 now=0.0000 + MIDI CC 4|67 default=0.0000 now=0.0000 + MIDI CC 4|68 default=0.0000 now=0.0000 + MIDI CC 4|69 default=0.0000 now=0.0000 + MIDI CC 4|70 default=0.0000 now=0.0000 + MIDI CC 4|71 default=0.0000 now=0.0000 + MIDI CC 4|72 default=0.0000 now=0.0000 + MIDI CC 4|73 default=0.0000 now=0.0000 + MIDI CC 4|74 default=0.0000 now=0.0000 + MIDI CC 4|75 default=0.0000 now=0.0000 + MIDI CC 4|76 default=0.0000 now=0.0000 + MIDI CC 4|77 default=0.0000 now=0.0000 + MIDI CC 4|78 default=0.0000 now=0.0000 + MIDI CC 4|79 default=0.0000 now=0.0000 + MIDI CC 4|80 default=0.0000 now=0.0000 + MIDI CC 4|81 default=0.0000 now=0.0000 + MIDI CC 4|82 default=0.0000 now=0.0000 + MIDI CC 4|83 default=0.0000 now=0.0000 + MIDI CC 4|84 default=0.0000 now=0.0000 + MIDI CC 4|85 default=0.0000 now=0.0000 + MIDI CC 4|86 default=0.0000 now=0.0000 + MIDI CC 4|87 default=0.0000 now=0.0000 + MIDI CC 4|88 default=0.0000 now=0.0000 + MIDI CC 4|89 default=0.0000 now=0.0000 + MIDI CC 4|90 default=0.0000 now=0.0000 + MIDI CC 4|91 default=0.0000 now=0.0000 + MIDI CC 4|92 default=0.0000 now=0.0000 + MIDI CC 4|93 default=0.0000 now=0.0000 + MIDI CC 4|94 default=0.0000 now=0.0000 + MIDI CC 4|95 default=0.0000 now=0.0000 + MIDI CC 4|96 default=0.0000 now=0.0000 + MIDI CC 4|97 default=0.0000 now=0.0000 + MIDI CC 4|98 default=0.0000 now=0.0000 + MIDI CC 4|99 default=0.0000 now=0.0000 + MIDI CC 4|100 default=0.0000 now=0.0000 + MIDI CC 4|101 default=0.0000 now=0.0000 + MIDI CC 4|102 default=0.0000 now=0.0000 + MIDI CC 4|103 default=0.0000 now=0.0000 + MIDI CC 4|104 default=0.0000 now=0.0000 + MIDI CC 4|105 default=0.0000 now=0.0000 + MIDI CC 4|106 default=0.0000 now=0.0000 + MIDI CC 4|107 default=0.0000 now=0.0000 + MIDI CC 4|108 default=0.0000 now=0.0000 + MIDI CC 4|109 default=0.0000 now=0.0000 + MIDI CC 4|110 default=0.0000 now=0.0000 + MIDI CC 4|111 default=0.0000 now=0.0000 + MIDI CC 4|112 default=0.0000 now=0.0000 + MIDI CC 4|113 default=0.0000 now=0.0000 + MIDI CC 4|114 default=0.0000 now=0.0000 + MIDI CC 4|115 default=0.0000 now=0.0000 + MIDI CC 4|116 default=0.0000 now=0.0000 + MIDI CC 4|117 default=0.0000 now=0.0000 + MIDI CC 4|118 default=0.0000 now=0.0000 + MIDI CC 4|119 default=0.0000 now=0.0000 + MIDI CC 4|120 default=0.0000 now=0.0000 + MIDI CC 4|121 default=0.0000 now=0.0000 + MIDI CC 4|122 default=0.0000 now=0.0000 + MIDI CC 4|123 default=0.0000 now=0.0000 + MIDI CC 4|124 default=0.0000 now=0.0000 + MIDI CC 4|125 default=0.0000 now=0.0000 + MIDI CC 4|126 default=0.0000 now=0.0000 + MIDI CC 4|127 default=0.0000 now=0.0000 + MIDI CC 4|128 default=0.0000 now=0.0000 + MIDI CC 4|129 default=0.0000 now=0.0000 + MIDI CC 5|0 default=0.0000 now=0.0000 + MIDI CC 5|1 default=0.0000 now=0.0000 + MIDI CC 5|2 default=0.0000 now=0.0000 + MIDI CC 5|3 default=0.0000 now=0.0000 + MIDI CC 5|4 default=0.0000 now=0.0000 + MIDI CC 5|5 default=0.0000 now=0.0000 + MIDI CC 5|6 default=0.0000 now=0.0000 + MIDI CC 5|7 default=0.0000 now=0.0000 + MIDI CC 5|8 default=0.0000 now=0.0000 + MIDI CC 5|9 default=0.0000 now=0.0000 + MIDI CC 5|10 default=0.0000 now=0.0000 + MIDI CC 5|11 default=0.0000 now=0.0000 + MIDI CC 5|12 default=0.0000 now=0.0000 + MIDI CC 5|13 default=0.0000 now=0.0000 + MIDI CC 5|14 default=0.0000 now=0.0000 + MIDI CC 5|15 default=0.0000 now=0.0000 + MIDI CC 5|16 default=0.0000 now=0.0000 + MIDI CC 5|17 default=0.0000 now=0.0000 + MIDI CC 5|18 default=0.0000 now=0.0000 + MIDI CC 5|19 default=0.0000 now=0.0000 + MIDI CC 5|20 default=0.0000 now=0.0000 + MIDI CC 5|21 default=0.0000 now=0.0000 + MIDI CC 5|22 default=0.0000 now=0.0000 + MIDI CC 5|23 default=0.0000 now=0.0000 + MIDI CC 5|24 default=0.0000 now=0.0000 + MIDI CC 5|25 default=0.0000 now=0.0000 + MIDI CC 5|26 default=0.0000 now=0.0000 + MIDI CC 5|27 default=0.0000 now=0.0000 + MIDI CC 5|28 default=0.0000 now=0.0000 + MIDI CC 5|29 default=0.0000 now=0.0000 + MIDI CC 5|30 default=0.0000 now=0.0000 + MIDI CC 5|31 default=0.0000 now=0.0000 + MIDI CC 5|32 default=0.0000 now=0.0000 + MIDI CC 5|33 default=0.0000 now=0.0000 + MIDI CC 5|34 default=0.0000 now=0.0000 + MIDI CC 5|35 default=0.0000 now=0.0000 + MIDI CC 5|36 default=0.0000 now=0.0000 + MIDI CC 5|37 default=0.0000 now=0.0000 + MIDI CC 5|38 default=0.0000 now=0.0000 + MIDI CC 5|39 default=0.0000 now=0.0000 + MIDI CC 5|40 default=0.0000 now=0.0000 + MIDI CC 5|41 default=0.0000 now=0.0000 + MIDI CC 5|42 default=0.0000 now=0.0000 + MIDI CC 5|43 default=0.0000 now=0.0000 + MIDI CC 5|44 default=0.0000 now=0.0000 + MIDI CC 5|45 default=0.0000 now=0.0000 + MIDI CC 5|46 default=0.0000 now=0.0000 + MIDI CC 5|47 default=0.0000 now=0.0000 + MIDI CC 5|48 default=0.0000 now=0.0000 + MIDI CC 5|49 default=0.0000 now=0.0000 + MIDI CC 5|50 default=0.0000 now=0.0000 + MIDI CC 5|51 default=0.0000 now=0.0000 + MIDI CC 5|52 default=0.0000 now=0.0000 + MIDI CC 5|53 default=0.0000 now=0.0000 + MIDI CC 5|54 default=0.0000 now=0.0000 + MIDI CC 5|55 default=0.0000 now=0.0000 + MIDI CC 5|56 default=0.0000 now=0.0000 + MIDI CC 5|57 default=0.0000 now=0.0000 + MIDI CC 5|58 default=0.0000 now=0.0000 + MIDI CC 5|59 default=0.0000 now=0.0000 + MIDI CC 5|60 default=0.0000 now=0.0000 + MIDI CC 5|61 default=0.0000 now=0.0000 + MIDI CC 5|62 default=0.0000 now=0.0000 + MIDI CC 5|63 default=0.0000 now=0.0000 + MIDI CC 5|64 default=0.0000 now=0.0000 + MIDI CC 5|65 default=0.0000 now=0.0000 + MIDI CC 5|66 default=0.0000 now=0.0000 + MIDI CC 5|67 default=0.0000 now=0.0000 + MIDI CC 5|68 default=0.0000 now=0.0000 + MIDI CC 5|69 default=0.0000 now=0.0000 + MIDI CC 5|70 default=0.0000 now=0.0000 + MIDI CC 5|71 default=0.0000 now=0.0000 + MIDI CC 5|72 default=0.0000 now=0.0000 + MIDI CC 5|73 default=0.0000 now=0.0000 + MIDI CC 5|74 default=0.0000 now=0.0000 + MIDI CC 5|75 default=0.0000 now=0.0000 + MIDI CC 5|76 default=0.0000 now=0.0000 + MIDI CC 5|77 default=0.0000 now=0.0000 + MIDI CC 5|78 default=0.0000 now=0.0000 + MIDI CC 5|79 default=0.0000 now=0.0000 + MIDI CC 5|80 default=0.0000 now=0.0000 + MIDI CC 5|81 default=0.0000 now=0.0000 + MIDI CC 5|82 default=0.0000 now=0.0000 + MIDI CC 5|83 default=0.0000 now=0.0000 + MIDI CC 5|84 default=0.0000 now=0.0000 + MIDI CC 5|85 default=0.0000 now=0.0000 + MIDI CC 5|86 default=0.0000 now=0.0000 + MIDI CC 5|87 default=0.0000 now=0.0000 + MIDI CC 5|88 default=0.0000 now=0.0000 + MIDI CC 5|89 default=0.0000 now=0.0000 + MIDI CC 5|90 default=0.0000 now=0.0000 + MIDI CC 5|91 default=0.0000 now=0.0000 + MIDI CC 5|92 default=0.0000 now=0.0000 + MIDI CC 5|93 default=0.0000 now=0.0000 + MIDI CC 5|94 default=0.0000 now=0.0000 + MIDI CC 5|95 default=0.0000 now=0.0000 + MIDI CC 5|96 default=0.0000 now=0.0000 + MIDI CC 5|97 default=0.0000 now=0.0000 + MIDI CC 5|98 default=0.0000 now=0.0000 + MIDI CC 5|99 default=0.0000 now=0.0000 + MIDI CC 5|100 default=0.0000 now=0.0000 + MIDI CC 5|101 default=0.0000 now=0.0000 + MIDI CC 5|102 default=0.0000 now=0.0000 + MIDI CC 5|103 default=0.0000 now=0.0000 + MIDI CC 5|104 default=0.0000 now=0.0000 + MIDI CC 5|105 default=0.0000 now=0.0000 + MIDI CC 5|106 default=0.0000 now=0.0000 + MIDI CC 5|107 default=0.0000 now=0.0000 + MIDI CC 5|108 default=0.0000 now=0.0000 + MIDI CC 5|109 default=0.0000 now=0.0000 + MIDI CC 5|110 default=0.0000 now=0.0000 + MIDI CC 5|111 default=0.0000 now=0.0000 + MIDI CC 5|112 default=0.0000 now=0.0000 + MIDI CC 5|113 default=0.0000 now=0.0000 + MIDI CC 5|114 default=0.0000 now=0.0000 + MIDI CC 5|115 default=0.0000 now=0.0000 + MIDI CC 5|116 default=0.0000 now=0.0000 + MIDI CC 5|117 default=0.0000 now=0.0000 + MIDI CC 5|118 default=0.0000 now=0.0000 + MIDI CC 5|119 default=0.0000 now=0.0000 + MIDI CC 5|120 default=0.0000 now=0.0000 + MIDI CC 5|121 default=0.0000 now=0.0000 + MIDI CC 5|122 default=0.0000 now=0.0000 + MIDI CC 5|123 default=0.0000 now=0.0000 + MIDI CC 5|124 default=0.0000 now=0.0000 + MIDI CC 5|125 default=0.0000 now=0.0000 + MIDI CC 5|126 default=0.0000 now=0.0000 + MIDI CC 5|127 default=0.0000 now=0.0000 + MIDI CC 5|128 default=0.0000 now=0.0000 + MIDI CC 5|129 default=0.0000 now=0.0000 + MIDI CC 6|0 default=0.0000 now=0.0000 + MIDI CC 6|1 default=0.0000 now=0.0000 + MIDI CC 6|2 default=0.0000 now=0.0000 + MIDI CC 6|3 default=0.0000 now=0.0000 + MIDI CC 6|4 default=0.0000 now=0.0000 + MIDI CC 6|5 default=0.0000 now=0.0000 + MIDI CC 6|6 default=0.0000 now=0.0000 + MIDI CC 6|7 default=0.0000 now=0.0000 + MIDI CC 6|8 default=0.0000 now=0.0000 + MIDI CC 6|9 default=0.0000 now=0.0000 + MIDI CC 6|10 default=0.0000 now=0.0000 + MIDI CC 6|11 default=0.0000 now=0.0000 + MIDI CC 6|12 default=0.0000 now=0.0000 + MIDI CC 6|13 default=0.0000 now=0.0000 + MIDI CC 6|14 default=0.0000 now=0.0000 + MIDI CC 6|15 default=0.0000 now=0.0000 + MIDI CC 6|16 default=0.0000 now=0.0000 + MIDI CC 6|17 default=0.0000 now=0.0000 + MIDI CC 6|18 default=0.0000 now=0.0000 + MIDI CC 6|19 default=0.0000 now=0.0000 + MIDI CC 6|20 default=0.0000 now=0.0000 + MIDI CC 6|21 default=0.0000 now=0.0000 + MIDI CC 6|22 default=0.0000 now=0.0000 + MIDI CC 6|23 default=0.0000 now=0.0000 + MIDI CC 6|24 default=0.0000 now=0.0000 + MIDI CC 6|25 default=0.0000 now=0.0000 + MIDI CC 6|26 default=0.0000 now=0.0000 + MIDI CC 6|27 default=0.0000 now=0.0000 + MIDI CC 6|28 default=0.0000 now=0.0000 + MIDI CC 6|29 default=0.0000 now=0.0000 + MIDI CC 6|30 default=0.0000 now=0.0000 + MIDI CC 6|31 default=0.0000 now=0.0000 + MIDI CC 6|32 default=0.0000 now=0.0000 + MIDI CC 6|33 default=0.0000 now=0.0000 + MIDI CC 6|34 default=0.0000 now=0.0000 + MIDI CC 6|35 default=0.0000 now=0.0000 + MIDI CC 6|36 default=0.0000 now=0.0000 + MIDI CC 6|37 default=0.0000 now=0.0000 + MIDI CC 6|38 default=0.0000 now=0.0000 + MIDI CC 6|39 default=0.0000 now=0.0000 + MIDI CC 6|40 default=0.0000 now=0.0000 + MIDI CC 6|41 default=0.0000 now=0.0000 + MIDI CC 6|42 default=0.0000 now=0.0000 + MIDI CC 6|43 default=0.0000 now=0.0000 + MIDI CC 6|44 default=0.0000 now=0.0000 + MIDI CC 6|45 default=0.0000 now=0.0000 + MIDI CC 6|46 default=0.0000 now=0.0000 + MIDI CC 6|47 default=0.0000 now=0.0000 + MIDI CC 6|48 default=0.0000 now=0.0000 + MIDI CC 6|49 default=0.0000 now=0.0000 + MIDI CC 6|50 default=0.0000 now=0.0000 + MIDI CC 6|51 default=0.0000 now=0.0000 + MIDI CC 6|52 default=0.0000 now=0.0000 + MIDI CC 6|53 default=0.0000 now=0.0000 + MIDI CC 6|54 default=0.0000 now=0.0000 + MIDI CC 6|55 default=0.0000 now=0.0000 + MIDI CC 6|56 default=0.0000 now=0.0000 + MIDI CC 6|57 default=0.0000 now=0.0000 + MIDI CC 6|58 default=0.0000 now=0.0000 + MIDI CC 6|59 default=0.0000 now=0.0000 + MIDI CC 6|60 default=0.0000 now=0.0000 + MIDI CC 6|61 default=0.0000 now=0.0000 + MIDI CC 6|62 default=0.0000 now=0.0000 + MIDI CC 6|63 default=0.0000 now=0.0000 + MIDI CC 6|64 default=0.0000 now=0.0000 + MIDI CC 6|65 default=0.0000 now=0.0000 + MIDI CC 6|66 default=0.0000 now=0.0000 + MIDI CC 6|67 default=0.0000 now=0.0000 + MIDI CC 6|68 default=0.0000 now=0.0000 + MIDI CC 6|69 default=0.0000 now=0.0000 + MIDI CC 6|70 default=0.0000 now=0.0000 + MIDI CC 6|71 default=0.0000 now=0.0000 + MIDI CC 6|72 default=0.0000 now=0.0000 + MIDI CC 6|73 default=0.0000 now=0.0000 + MIDI CC 6|74 default=0.0000 now=0.0000 + MIDI CC 6|75 default=0.0000 now=0.0000 + MIDI CC 6|76 default=0.0000 now=0.0000 + MIDI CC 6|77 default=0.0000 now=0.0000 + MIDI CC 6|78 default=0.0000 now=0.0000 + MIDI CC 6|79 default=0.0000 now=0.0000 + MIDI CC 6|80 default=0.0000 now=0.0000 + MIDI CC 6|81 default=0.0000 now=0.0000 + MIDI CC 6|82 default=0.0000 now=0.0000 + MIDI CC 6|83 default=0.0000 now=0.0000 + MIDI CC 6|84 default=0.0000 now=0.0000 + MIDI CC 6|85 default=0.0000 now=0.0000 + MIDI CC 6|86 default=0.0000 now=0.0000 + MIDI CC 6|87 default=0.0000 now=0.0000 + MIDI CC 6|88 default=0.0000 now=0.0000 + MIDI CC 6|89 default=0.0000 now=0.0000 + MIDI CC 6|90 default=0.0000 now=0.0000 + MIDI CC 6|91 default=0.0000 now=0.0000 + MIDI CC 6|92 default=0.0000 now=0.0000 + MIDI CC 6|93 default=0.0000 now=0.0000 + MIDI CC 6|94 default=0.0000 now=0.0000 + MIDI CC 6|95 default=0.0000 now=0.0000 + MIDI CC 6|96 default=0.0000 now=0.0000 + MIDI CC 6|97 default=0.0000 now=0.0000 + MIDI CC 6|98 default=0.0000 now=0.0000 + MIDI CC 6|99 default=0.0000 now=0.0000 + MIDI CC 6|100 default=0.0000 now=0.0000 + MIDI CC 6|101 default=0.0000 now=0.0000 + MIDI CC 6|102 default=0.0000 now=0.0000 + MIDI CC 6|103 default=0.0000 now=0.0000 + MIDI CC 6|104 default=0.0000 now=0.0000 + MIDI CC 6|105 default=0.0000 now=0.0000 + MIDI CC 6|106 default=0.0000 now=0.0000 + MIDI CC 6|107 default=0.0000 now=0.0000 + MIDI CC 6|108 default=0.0000 now=0.0000 + MIDI CC 6|109 default=0.0000 now=0.0000 + MIDI CC 6|110 default=0.0000 now=0.0000 + MIDI CC 6|111 default=0.0000 now=0.0000 + MIDI CC 6|112 default=0.0000 now=0.0000 + MIDI CC 6|113 default=0.0000 now=0.0000 + MIDI CC 6|114 default=0.0000 now=0.0000 + MIDI CC 6|115 default=0.0000 now=0.0000 + MIDI CC 6|116 default=0.0000 now=0.0000 + MIDI CC 6|117 default=0.0000 now=0.0000 + MIDI CC 6|118 default=0.0000 now=0.0000 + MIDI CC 6|119 default=0.0000 now=0.0000 + MIDI CC 6|120 default=0.0000 now=0.0000 + MIDI CC 6|121 default=0.0000 now=0.0000 + MIDI CC 6|122 default=0.0000 now=0.0000 + MIDI CC 6|123 default=0.0000 now=0.0000 + MIDI CC 6|124 default=0.0000 now=0.0000 + MIDI CC 6|125 default=0.0000 now=0.0000 + MIDI CC 6|126 default=0.0000 now=0.0000 + MIDI CC 6|127 default=0.0000 now=0.0000 + MIDI CC 6|128 default=0.0000 now=0.0000 + MIDI CC 6|129 default=0.0000 now=0.0000 + MIDI CC 7|0 default=0.0000 now=0.0000 + MIDI CC 7|1 default=0.0000 now=0.0000 + MIDI CC 7|2 default=0.0000 now=0.0000 + MIDI CC 7|3 default=0.0000 now=0.0000 + MIDI CC 7|4 default=0.0000 now=0.0000 + MIDI CC 7|5 default=0.0000 now=0.0000 + MIDI CC 7|6 default=0.0000 now=0.0000 + MIDI CC 7|7 default=0.0000 now=0.0000 + MIDI CC 7|8 default=0.0000 now=0.0000 + MIDI CC 7|9 default=0.0000 now=0.0000 + MIDI CC 7|10 default=0.0000 now=0.0000 + MIDI CC 7|11 default=0.0000 now=0.0000 + MIDI CC 7|12 default=0.0000 now=0.0000 + MIDI CC 7|13 default=0.0000 now=0.0000 + MIDI CC 7|14 default=0.0000 now=0.0000 + MIDI CC 7|15 default=0.0000 now=0.0000 + MIDI CC 7|16 default=0.0000 now=0.0000 + MIDI CC 7|17 default=0.0000 now=0.0000 + MIDI CC 7|18 default=0.0000 now=0.0000 + MIDI CC 7|19 default=0.0000 now=0.0000 + MIDI CC 7|20 default=0.0000 now=0.0000 + MIDI CC 7|21 default=0.0000 now=0.0000 + MIDI CC 7|22 default=0.0000 now=0.0000 + MIDI CC 7|23 default=0.0000 now=0.0000 + MIDI CC 7|24 default=0.0000 now=0.0000 + MIDI CC 7|25 default=0.0000 now=0.0000 + MIDI CC 7|26 default=0.0000 now=0.0000 + MIDI CC 7|27 default=0.0000 now=0.0000 + MIDI CC 7|28 default=0.0000 now=0.0000 + MIDI CC 7|29 default=0.0000 now=0.0000 + MIDI CC 7|30 default=0.0000 now=0.0000 + MIDI CC 7|31 default=0.0000 now=0.0000 + MIDI CC 7|32 default=0.0000 now=0.0000 + MIDI CC 7|33 default=0.0000 now=0.0000 + MIDI CC 7|34 default=0.0000 now=0.0000 + MIDI CC 7|35 default=0.0000 now=0.0000 + MIDI CC 7|36 default=0.0000 now=0.0000 + MIDI CC 7|37 default=0.0000 now=0.0000 + MIDI CC 7|38 default=0.0000 now=0.0000 + MIDI CC 7|39 default=0.0000 now=0.0000 + MIDI CC 7|40 default=0.0000 now=0.0000 + MIDI CC 7|41 default=0.0000 now=0.0000 + MIDI CC 7|42 default=0.0000 now=0.0000 + MIDI CC 7|43 default=0.0000 now=0.0000 + MIDI CC 7|44 default=0.0000 now=0.0000 + MIDI CC 7|45 default=0.0000 now=0.0000 + MIDI CC 7|46 default=0.0000 now=0.0000 + MIDI CC 7|47 default=0.0000 now=0.0000 + MIDI CC 7|48 default=0.0000 now=0.0000 + MIDI CC 7|49 default=0.0000 now=0.0000 + MIDI CC 7|50 default=0.0000 now=0.0000 + MIDI CC 7|51 default=0.0000 now=0.0000 + MIDI CC 7|52 default=0.0000 now=0.0000 + MIDI CC 7|53 default=0.0000 now=0.0000 + MIDI CC 7|54 default=0.0000 now=0.0000 + MIDI CC 7|55 default=0.0000 now=0.0000 + MIDI CC 7|56 default=0.0000 now=0.0000 + MIDI CC 7|57 default=0.0000 now=0.0000 + MIDI CC 7|58 default=0.0000 now=0.0000 + MIDI CC 7|59 default=0.0000 now=0.0000 + MIDI CC 7|60 default=0.0000 now=0.0000 + MIDI CC 7|61 default=0.0000 now=0.0000 + MIDI CC 7|62 default=0.0000 now=0.0000 + MIDI CC 7|63 default=0.0000 now=0.0000 + MIDI CC 7|64 default=0.0000 now=0.0000 + MIDI CC 7|65 default=0.0000 now=0.0000 + MIDI CC 7|66 default=0.0000 now=0.0000 + MIDI CC 7|67 default=0.0000 now=0.0000 + MIDI CC 7|68 default=0.0000 now=0.0000 + MIDI CC 7|69 default=0.0000 now=0.0000 + MIDI CC 7|70 default=0.0000 now=0.0000 + MIDI CC 7|71 default=0.0000 now=0.0000 + MIDI CC 7|72 default=0.0000 now=0.0000 + MIDI CC 7|73 default=0.0000 now=0.0000 + MIDI CC 7|74 default=0.0000 now=0.0000 + MIDI CC 7|75 default=0.0000 now=0.0000 + MIDI CC 7|76 default=0.0000 now=0.0000 + MIDI CC 7|77 default=0.0000 now=0.0000 + MIDI CC 7|78 default=0.0000 now=0.0000 + MIDI CC 7|79 default=0.0000 now=0.0000 + MIDI CC 7|80 default=0.0000 now=0.0000 + MIDI CC 7|81 default=0.0000 now=0.0000 + MIDI CC 7|82 default=0.0000 now=0.0000 + MIDI CC 7|83 default=0.0000 now=0.0000 + MIDI CC 7|84 default=0.0000 now=0.0000 + MIDI CC 7|85 default=0.0000 now=0.0000 + MIDI CC 7|86 default=0.0000 now=0.0000 + MIDI CC 7|87 default=0.0000 now=0.0000 + MIDI CC 7|88 default=0.0000 now=0.0000 + MIDI CC 7|89 default=0.0000 now=0.0000 + MIDI CC 7|90 default=0.0000 now=0.0000 + MIDI CC 7|91 default=0.0000 now=0.0000 + MIDI CC 7|92 default=0.0000 now=0.0000 + MIDI CC 7|93 default=0.0000 now=0.0000 + MIDI CC 7|94 default=0.0000 now=0.0000 + MIDI CC 7|95 default=0.0000 now=0.0000 + MIDI CC 7|96 default=0.0000 now=0.0000 + MIDI CC 7|97 default=0.0000 now=0.0000 + MIDI CC 7|98 default=0.0000 now=0.0000 + MIDI CC 7|99 default=0.0000 now=0.0000 + MIDI CC 7|100 default=0.0000 now=0.0000 + MIDI CC 7|101 default=0.0000 now=0.0000 + MIDI CC 7|102 default=0.0000 now=0.0000 + MIDI CC 7|103 default=0.0000 now=0.0000 + MIDI CC 7|104 default=0.0000 now=0.0000 + MIDI CC 7|105 default=0.0000 now=0.0000 + MIDI CC 7|106 default=0.0000 now=0.0000 + MIDI CC 7|107 default=0.0000 now=0.0000 + MIDI CC 7|108 default=0.0000 now=0.0000 + MIDI CC 7|109 default=0.0000 now=0.0000 + MIDI CC 7|110 default=0.0000 now=0.0000 + MIDI CC 7|111 default=0.0000 now=0.0000 + MIDI CC 7|112 default=0.0000 now=0.0000 + MIDI CC 7|113 default=0.0000 now=0.0000 + MIDI CC 7|114 default=0.0000 now=0.0000 + MIDI CC 7|115 default=0.0000 now=0.0000 + MIDI CC 7|116 default=0.0000 now=0.0000 + MIDI CC 7|117 default=0.0000 now=0.0000 + MIDI CC 7|118 default=0.0000 now=0.0000 + MIDI CC 7|119 default=0.0000 now=0.0000 + MIDI CC 7|120 default=0.0000 now=0.0000 + MIDI CC 7|121 default=0.0000 now=0.0000 + MIDI CC 7|122 default=0.0000 now=0.0000 + MIDI CC 7|123 default=0.0000 now=0.0000 + MIDI CC 7|124 default=0.0000 now=0.0000 + MIDI CC 7|125 default=0.0000 now=0.0000 + MIDI CC 7|126 default=0.0000 now=0.0000 + MIDI CC 7|127 default=0.0000 now=0.0000 + MIDI CC 7|128 default=0.0000 now=0.0000 + MIDI CC 7|129 default=0.0000 now=0.0000 + MIDI CC 8|0 default=0.0000 now=0.0000 + MIDI CC 8|1 default=0.0000 now=0.0000 + MIDI CC 8|2 default=0.0000 now=0.0000 + MIDI CC 8|3 default=0.0000 now=0.0000 + MIDI CC 8|4 default=0.0000 now=0.0000 + MIDI CC 8|5 default=0.0000 now=0.0000 + MIDI CC 8|6 default=0.0000 now=0.0000 + MIDI CC 8|7 default=0.0000 now=0.0000 + MIDI CC 8|8 default=0.0000 now=0.0000 + MIDI CC 8|9 default=0.0000 now=0.0000 + MIDI CC 8|10 default=0.0000 now=0.0000 + MIDI CC 8|11 default=0.0000 now=0.0000 + MIDI CC 8|12 default=0.0000 now=0.0000 + MIDI CC 8|13 default=0.0000 now=0.0000 + MIDI CC 8|14 default=0.0000 now=0.0000 + MIDI CC 8|15 default=0.0000 now=0.0000 + MIDI CC 8|16 default=0.0000 now=0.0000 + MIDI CC 8|17 default=0.0000 now=0.0000 + MIDI CC 8|18 default=0.0000 now=0.0000 + MIDI CC 8|19 default=0.0000 now=0.0000 + MIDI CC 8|20 default=0.0000 now=0.0000 + MIDI CC 8|21 default=0.0000 now=0.0000 + MIDI CC 8|22 default=0.0000 now=0.0000 + MIDI CC 8|23 default=0.0000 now=0.0000 + MIDI CC 8|24 default=0.0000 now=0.0000 + MIDI CC 8|25 default=0.0000 now=0.0000 + MIDI CC 8|26 default=0.0000 now=0.0000 + MIDI CC 8|27 default=0.0000 now=0.0000 + MIDI CC 8|28 default=0.0000 now=0.0000 + MIDI CC 8|29 default=0.0000 now=0.0000 + MIDI CC 8|30 default=0.0000 now=0.0000 + MIDI CC 8|31 default=0.0000 now=0.0000 + MIDI CC 8|32 default=0.0000 now=0.0000 + MIDI CC 8|33 default=0.0000 now=0.0000 + MIDI CC 8|34 default=0.0000 now=0.0000 + MIDI CC 8|35 default=0.0000 now=0.0000 + MIDI CC 8|36 default=0.0000 now=0.0000 + MIDI CC 8|37 default=0.0000 now=0.0000 + MIDI CC 8|38 default=0.0000 now=0.0000 + MIDI CC 8|39 default=0.0000 now=0.0000 + MIDI CC 8|40 default=0.0000 now=0.0000 + MIDI CC 8|41 default=0.0000 now=0.0000 + MIDI CC 8|42 default=0.0000 now=0.0000 + MIDI CC 8|43 default=0.0000 now=0.0000 + MIDI CC 8|44 default=0.0000 now=0.0000 + MIDI CC 8|45 default=0.0000 now=0.0000 + MIDI CC 8|46 default=0.0000 now=0.0000 + MIDI CC 8|47 default=0.0000 now=0.0000 + MIDI CC 8|48 default=0.0000 now=0.0000 + MIDI CC 8|49 default=0.0000 now=0.0000 + MIDI CC 8|50 default=0.0000 now=0.0000 + MIDI CC 8|51 default=0.0000 now=0.0000 + MIDI CC 8|52 default=0.0000 now=0.0000 + MIDI CC 8|53 default=0.0000 now=0.0000 + MIDI CC 8|54 default=0.0000 now=0.0000 + MIDI CC 8|55 default=0.0000 now=0.0000 + MIDI CC 8|56 default=0.0000 now=0.0000 + MIDI CC 8|57 default=0.0000 now=0.0000 + MIDI CC 8|58 default=0.0000 now=0.0000 + MIDI CC 8|59 default=0.0000 now=0.0000 + MIDI CC 8|60 default=0.0000 now=0.0000 + MIDI CC 8|61 default=0.0000 now=0.0000 + MIDI CC 8|62 default=0.0000 now=0.0000 + MIDI CC 8|63 default=0.0000 now=0.0000 + MIDI CC 8|64 default=0.0000 now=0.0000 + MIDI CC 8|65 default=0.0000 now=0.0000 + MIDI CC 8|66 default=0.0000 now=0.0000 + MIDI CC 8|67 default=0.0000 now=0.0000 + MIDI CC 8|68 default=0.0000 now=0.0000 + MIDI CC 8|69 default=0.0000 now=0.0000 + MIDI CC 8|70 default=0.0000 now=0.0000 + MIDI CC 8|71 default=0.0000 now=0.0000 + MIDI CC 8|72 default=0.0000 now=0.0000 + MIDI CC 8|73 default=0.0000 now=0.0000 + MIDI CC 8|74 default=0.0000 now=0.0000 + MIDI CC 8|75 default=0.0000 now=0.0000 + MIDI CC 8|76 default=0.0000 now=0.0000 + MIDI CC 8|77 default=0.0000 now=0.0000 + MIDI CC 8|78 default=0.0000 now=0.0000 + MIDI CC 8|79 default=0.0000 now=0.0000 + MIDI CC 8|80 default=0.0000 now=0.0000 + MIDI CC 8|81 default=0.0000 now=0.0000 + MIDI CC 8|82 default=0.0000 now=0.0000 + MIDI CC 8|83 default=0.0000 now=0.0000 + MIDI CC 8|84 default=0.0000 now=0.0000 + MIDI CC 8|85 default=0.0000 now=0.0000 + MIDI CC 8|86 default=0.0000 now=0.0000 + MIDI CC 8|87 default=0.0000 now=0.0000 + MIDI CC 8|88 default=0.0000 now=0.0000 + MIDI CC 8|89 default=0.0000 now=0.0000 + MIDI CC 8|90 default=0.0000 now=0.0000 + MIDI CC 8|91 default=0.0000 now=0.0000 + MIDI CC 8|92 default=0.0000 now=0.0000 + MIDI CC 8|93 default=0.0000 now=0.0000 + MIDI CC 8|94 default=0.0000 now=0.0000 + MIDI CC 8|95 default=0.0000 now=0.0000 + MIDI CC 8|96 default=0.0000 now=0.0000 + MIDI CC 8|97 default=0.0000 now=0.0000 + MIDI CC 8|98 default=0.0000 now=0.0000 + MIDI CC 8|99 default=0.0000 now=0.0000 + MIDI CC 8|100 default=0.0000 now=0.0000 + MIDI CC 8|101 default=0.0000 now=0.0000 + MIDI CC 8|102 default=0.0000 now=0.0000 + MIDI CC 8|103 default=0.0000 now=0.0000 + MIDI CC 8|104 default=0.0000 now=0.0000 + MIDI CC 8|105 default=0.0000 now=0.0000 + MIDI CC 8|106 default=0.0000 now=0.0000 + MIDI CC 8|107 default=0.0000 now=0.0000 + MIDI CC 8|108 default=0.0000 now=0.0000 + MIDI CC 8|109 default=0.0000 now=0.0000 + MIDI CC 8|110 default=0.0000 now=0.0000 + MIDI CC 8|111 default=0.0000 now=0.0000 + MIDI CC 8|112 default=0.0000 now=0.0000 + MIDI CC 8|113 default=0.0000 now=0.0000 + MIDI CC 8|114 default=0.0000 now=0.0000 + MIDI CC 8|115 default=0.0000 now=0.0000 + MIDI CC 8|116 default=0.0000 now=0.0000 + MIDI CC 8|117 default=0.0000 now=0.0000 + MIDI CC 8|118 default=0.0000 now=0.0000 + MIDI CC 8|119 default=0.0000 now=0.0000 + MIDI CC 8|120 default=0.0000 now=0.0000 + MIDI CC 8|121 default=0.0000 now=0.0000 + MIDI CC 8|122 default=0.0000 now=0.0000 + MIDI CC 8|123 default=0.0000 now=0.0000 + MIDI CC 8|124 default=0.0000 now=0.0000 + MIDI CC 8|125 default=0.0000 now=0.0000 + MIDI CC 8|126 default=0.0000 now=0.0000 + MIDI CC 8|127 default=0.0000 now=0.0000 + MIDI CC 8|128 default=0.0000 now=0.0000 + MIDI CC 8|129 default=0.0000 now=0.0000 + MIDI CC 9|0 default=0.0000 now=0.0000 + MIDI CC 9|1 default=0.0000 now=0.0000 + MIDI CC 9|2 default=0.0000 now=0.0000 + MIDI CC 9|3 default=0.0000 now=0.0000 + MIDI CC 9|4 default=0.0000 now=0.0000 + MIDI CC 9|5 default=0.0000 now=0.0000 + MIDI CC 9|6 default=0.0000 now=0.0000 + MIDI CC 9|7 default=0.0000 now=0.0000 + MIDI CC 9|8 default=0.0000 now=0.0000 + MIDI CC 9|9 default=0.0000 now=0.0000 + MIDI CC 9|10 default=0.0000 now=0.0000 + MIDI CC 9|11 default=0.0000 now=0.0000 + MIDI CC 9|12 default=0.0000 now=0.0000 + MIDI CC 9|13 default=0.0000 now=0.0000 + MIDI CC 9|14 default=0.0000 now=0.0000 + MIDI CC 9|15 default=0.0000 now=0.0000 + MIDI CC 9|16 default=0.0000 now=0.0000 + MIDI CC 9|17 default=0.0000 now=0.0000 + MIDI CC 9|18 default=0.0000 now=0.0000 + MIDI CC 9|19 default=0.0000 now=0.0000 + MIDI CC 9|20 default=0.0000 now=0.0000 + MIDI CC 9|21 default=0.0000 now=0.0000 + MIDI CC 9|22 default=0.0000 now=0.0000 + MIDI CC 9|23 default=0.0000 now=0.0000 + MIDI CC 9|24 default=0.0000 now=0.0000 + MIDI CC 9|25 default=0.0000 now=0.0000 + MIDI CC 9|26 default=0.0000 now=0.0000 + MIDI CC 9|27 default=0.0000 now=0.0000 + MIDI CC 9|28 default=0.0000 now=0.0000 + MIDI CC 9|29 default=0.0000 now=0.0000 + MIDI CC 9|30 default=0.0000 now=0.0000 + MIDI CC 9|31 default=0.0000 now=0.0000 + MIDI CC 9|32 default=0.0000 now=0.0000 + MIDI CC 9|33 default=0.0000 now=0.0000 + MIDI CC 9|34 default=0.0000 now=0.0000 + MIDI CC 9|35 default=0.0000 now=0.0000 + MIDI CC 9|36 default=0.0000 now=0.0000 + MIDI CC 9|37 default=0.0000 now=0.0000 + MIDI CC 9|38 default=0.0000 now=0.0000 + MIDI CC 9|39 default=0.0000 now=0.0000 + MIDI CC 9|40 default=0.0000 now=0.0000 + MIDI CC 9|41 default=0.0000 now=0.0000 + MIDI CC 9|42 default=0.0000 now=0.0000 + MIDI CC 9|43 default=0.0000 now=0.0000 + MIDI CC 9|44 default=0.0000 now=0.0000 + MIDI CC 9|45 default=0.0000 now=0.0000 + MIDI CC 9|46 default=0.0000 now=0.0000 + MIDI CC 9|47 default=0.0000 now=0.0000 + MIDI CC 9|48 default=0.0000 now=0.0000 + MIDI CC 9|49 default=0.0000 now=0.0000 + MIDI CC 9|50 default=0.0000 now=0.0000 + MIDI CC 9|51 default=0.0000 now=0.0000 + MIDI CC 9|52 default=0.0000 now=0.0000 + MIDI CC 9|53 default=0.0000 now=0.0000 + MIDI CC 9|54 default=0.0000 now=0.0000 + MIDI CC 9|55 default=0.0000 now=0.0000 + MIDI CC 9|56 default=0.0000 now=0.0000 + MIDI CC 9|57 default=0.0000 now=0.0000 + MIDI CC 9|58 default=0.0000 now=0.0000 + MIDI CC 9|59 default=0.0000 now=0.0000 + MIDI CC 9|60 default=0.0000 now=0.0000 + MIDI CC 9|61 default=0.0000 now=0.0000 + MIDI CC 9|62 default=0.0000 now=0.0000 + MIDI CC 9|63 default=0.0000 now=0.0000 + MIDI CC 9|64 default=0.0000 now=0.0000 + MIDI CC 9|65 default=0.0000 now=0.0000 + MIDI CC 9|66 default=0.0000 now=0.0000 + MIDI CC 9|67 default=0.0000 now=0.0000 + MIDI CC 9|68 default=0.0000 now=0.0000 + MIDI CC 9|69 default=0.0000 now=0.0000 + MIDI CC 9|70 default=0.0000 now=0.0000 + MIDI CC 9|71 default=0.0000 now=0.0000 + MIDI CC 9|72 default=0.0000 now=0.0000 + MIDI CC 9|73 default=0.0000 now=0.0000 + MIDI CC 9|74 default=0.0000 now=0.0000 + MIDI CC 9|75 default=0.0000 now=0.0000 + MIDI CC 9|76 default=0.0000 now=0.0000 + MIDI CC 9|77 default=0.0000 now=0.0000 + MIDI CC 9|78 default=0.0000 now=0.0000 + MIDI CC 9|79 default=0.0000 now=0.0000 + MIDI CC 9|80 default=0.0000 now=0.0000 + MIDI CC 9|81 default=0.0000 now=0.0000 + MIDI CC 9|82 default=0.0000 now=0.0000 + MIDI CC 9|83 default=0.0000 now=0.0000 + MIDI CC 9|84 default=0.0000 now=0.0000 + MIDI CC 9|85 default=0.0000 now=0.0000 + MIDI CC 9|86 default=0.0000 now=0.0000 + MIDI CC 9|87 default=0.0000 now=0.0000 + MIDI CC 9|88 default=0.0000 now=0.0000 + MIDI CC 9|89 default=0.0000 now=0.0000 + MIDI CC 9|90 default=0.0000 now=0.0000 + MIDI CC 9|91 default=0.0000 now=0.0000 + MIDI CC 9|92 default=0.0000 now=0.0000 + MIDI CC 9|93 default=0.0000 now=0.0000 + MIDI CC 9|94 default=0.0000 now=0.0000 + MIDI CC 9|95 default=0.0000 now=0.0000 + MIDI CC 9|96 default=0.0000 now=0.0000 + MIDI CC 9|97 default=0.0000 now=0.0000 + MIDI CC 9|98 default=0.0000 now=0.0000 + MIDI CC 9|99 default=0.0000 now=0.0000 + MIDI CC 9|100 default=0.0000 now=0.0000 + MIDI CC 9|101 default=0.0000 now=0.0000 + MIDI CC 9|102 default=0.0000 now=0.0000 + MIDI CC 9|103 default=0.0000 now=0.0000 + MIDI CC 9|104 default=0.0000 now=0.0000 + MIDI CC 9|105 default=0.0000 now=0.0000 + MIDI CC 9|106 default=0.0000 now=0.0000 + MIDI CC 9|107 default=0.0000 now=0.0000 + MIDI CC 9|108 default=0.0000 now=0.0000 + MIDI CC 9|109 default=0.0000 now=0.0000 + MIDI CC 9|110 default=0.0000 now=0.0000 + MIDI CC 9|111 default=0.0000 now=0.0000 + MIDI CC 9|112 default=0.0000 now=0.0000 + MIDI CC 9|113 default=0.0000 now=0.0000 + MIDI CC 9|114 default=0.0000 now=0.0000 + MIDI CC 9|115 default=0.0000 now=0.0000 + MIDI CC 9|116 default=0.0000 now=0.0000 + MIDI CC 9|117 default=0.0000 now=0.0000 + MIDI CC 9|118 default=0.0000 now=0.0000 + MIDI CC 9|119 default=0.0000 now=0.0000 + MIDI CC 9|120 default=0.0000 now=0.0000 + MIDI CC 9|121 default=0.0000 now=0.0000 + MIDI CC 9|122 default=0.0000 now=0.0000 + MIDI CC 9|123 default=0.0000 now=0.0000 + MIDI CC 9|124 default=0.0000 now=0.0000 + MIDI CC 9|125 default=0.0000 now=0.0000 + MIDI CC 9|126 default=0.0000 now=0.0000 + MIDI CC 9|127 default=0.0000 now=0.0000 + MIDI CC 9|128 default=0.0000 now=0.0000 + MIDI CC 9|129 default=0.0000 now=0.0000 + MIDI CC 10|0 default=0.0000 now=0.0000 + MIDI CC 10|1 default=0.0000 now=0.0000 + MIDI CC 10|2 default=0.0000 now=0.0000 + MIDI CC 10|3 default=0.0000 now=0.0000 + MIDI CC 10|4 default=0.0000 now=0.0000 + MIDI CC 10|5 default=0.0000 now=0.0000 + MIDI CC 10|6 default=0.0000 now=0.0000 + MIDI CC 10|7 default=0.0000 now=0.0000 + MIDI CC 10|8 default=0.0000 now=0.0000 + MIDI CC 10|9 default=0.0000 now=0.0000 + MIDI CC 10|10 default=0.0000 now=0.0000 + MIDI CC 10|11 default=0.0000 now=0.0000 + MIDI CC 10|12 default=0.0000 now=0.0000 + MIDI CC 10|13 default=0.0000 now=0.0000 + MIDI CC 10|14 default=0.0000 now=0.0000 + MIDI CC 10|15 default=0.0000 now=0.0000 + MIDI CC 10|16 default=0.0000 now=0.0000 + MIDI CC 10|17 default=0.0000 now=0.0000 + MIDI CC 10|18 default=0.0000 now=0.0000 + MIDI CC 10|19 default=0.0000 now=0.0000 + MIDI CC 10|20 default=0.0000 now=0.0000 + MIDI CC 10|21 default=0.0000 now=0.0000 + MIDI CC 10|22 default=0.0000 now=0.0000 + MIDI CC 10|23 default=0.0000 now=0.0000 + MIDI CC 10|24 default=0.0000 now=0.0000 + MIDI CC 10|25 default=0.0000 now=0.0000 + MIDI CC 10|26 default=0.0000 now=0.0000 + MIDI CC 10|27 default=0.0000 now=0.0000 + MIDI CC 10|28 default=0.0000 now=0.0000 + MIDI CC 10|29 default=0.0000 now=0.0000 + MIDI CC 10|30 default=0.0000 now=0.0000 + MIDI CC 10|31 default=0.0000 now=0.0000 + MIDI CC 10|32 default=0.0000 now=0.0000 + MIDI CC 10|33 default=0.0000 now=0.0000 + MIDI CC 10|34 default=0.0000 now=0.0000 + MIDI CC 10|35 default=0.0000 now=0.0000 + MIDI CC 10|36 default=0.0000 now=0.0000 + MIDI CC 10|37 default=0.0000 now=0.0000 + MIDI CC 10|38 default=0.0000 now=0.0000 + MIDI CC 10|39 default=0.0000 now=0.0000 + MIDI CC 10|40 default=0.0000 now=0.0000 + MIDI CC 10|41 default=0.0000 now=0.0000 + MIDI CC 10|42 default=0.0000 now=0.0000 + MIDI CC 10|43 default=0.0000 now=0.0000 + MIDI CC 10|44 default=0.0000 now=0.0000 + MIDI CC 10|45 default=0.0000 now=0.0000 + MIDI CC 10|46 default=0.0000 now=0.0000 + MIDI CC 10|47 default=0.0000 now=0.0000 + MIDI CC 10|48 default=0.0000 now=0.0000 + MIDI CC 10|49 default=0.0000 now=0.0000 + MIDI CC 10|50 default=0.0000 now=0.0000 + MIDI CC 10|51 default=0.0000 now=0.0000 + MIDI CC 10|52 default=0.0000 now=0.0000 + MIDI CC 10|53 default=0.0000 now=0.0000 + MIDI CC 10|54 default=0.0000 now=0.0000 + MIDI CC 10|55 default=0.0000 now=0.0000 + MIDI CC 10|56 default=0.0000 now=0.0000 + MIDI CC 10|57 default=0.0000 now=0.0000 + MIDI CC 10|58 default=0.0000 now=0.0000 + MIDI CC 10|59 default=0.0000 now=0.0000 + MIDI CC 10|60 default=0.0000 now=0.0000 + MIDI CC 10|61 default=0.0000 now=0.0000 + MIDI CC 10|62 default=0.0000 now=0.0000 + MIDI CC 10|63 default=0.0000 now=0.0000 + MIDI CC 10|64 default=0.0000 now=0.0000 + MIDI CC 10|65 default=0.0000 now=0.0000 + MIDI CC 10|66 default=0.0000 now=0.0000 + MIDI CC 10|67 default=0.0000 now=0.0000 + MIDI CC 10|68 default=0.0000 now=0.0000 + MIDI CC 10|69 default=0.0000 now=0.0000 + MIDI CC 10|70 default=0.0000 now=0.0000 + MIDI CC 10|71 default=0.0000 now=0.0000 + MIDI CC 10|72 default=0.0000 now=0.0000 + MIDI CC 10|73 default=0.0000 now=0.0000 + MIDI CC 10|74 default=0.0000 now=0.0000 + MIDI CC 10|75 default=0.0000 now=0.0000 + MIDI CC 10|76 default=0.0000 now=0.0000 + MIDI CC 10|77 default=0.0000 now=0.0000 + MIDI CC 10|78 default=0.0000 now=0.0000 + MIDI CC 10|79 default=0.0000 now=0.0000 + MIDI CC 10|80 default=0.0000 now=0.0000 + MIDI CC 10|81 default=0.0000 now=0.0000 + MIDI CC 10|82 default=0.0000 now=0.0000 + MIDI CC 10|83 default=0.0000 now=0.0000 + MIDI CC 10|84 default=0.0000 now=0.0000 + MIDI CC 10|85 default=0.0000 now=0.0000 + MIDI CC 10|86 default=0.0000 now=0.0000 + MIDI CC 10|87 default=0.0000 now=0.0000 + MIDI CC 10|88 default=0.0000 now=0.0000 + MIDI CC 10|89 default=0.0000 now=0.0000 + MIDI CC 10|90 default=0.0000 now=0.0000 + MIDI CC 10|91 default=0.0000 now=0.0000 + MIDI CC 10|92 default=0.0000 now=0.0000 + MIDI CC 10|93 default=0.0000 now=0.0000 + MIDI CC 10|94 default=0.0000 now=0.0000 + MIDI CC 10|95 default=0.0000 now=0.0000 + MIDI CC 10|96 default=0.0000 now=0.0000 + MIDI CC 10|97 default=0.0000 now=0.0000 + MIDI CC 10|98 default=0.0000 now=0.0000 + MIDI CC 10|99 default=0.0000 now=0.0000 + MIDI CC 10|100 default=0.0000 now=0.0000 + MIDI CC 10|101 default=0.0000 now=0.0000 + MIDI CC 10|102 default=0.0000 now=0.0000 + MIDI CC 10|103 default=0.0000 now=0.0000 + MIDI CC 10|104 default=0.0000 now=0.0000 + MIDI CC 10|105 default=0.0000 now=0.0000 + MIDI CC 10|106 default=0.0000 now=0.0000 + MIDI CC 10|107 default=0.0000 now=0.0000 + MIDI CC 10|108 default=0.0000 now=0.0000 + MIDI CC 10|109 default=0.0000 now=0.0000 + MIDI CC 10|110 default=0.0000 now=0.0000 + MIDI CC 10|111 default=0.0000 now=0.0000 + MIDI CC 10|112 default=0.0000 now=0.0000 + MIDI CC 10|113 default=0.0000 now=0.0000 + MIDI CC 10|114 default=0.0000 now=0.0000 + MIDI CC 10|115 default=0.0000 now=0.0000 + MIDI CC 10|116 default=0.0000 now=0.0000 + MIDI CC 10|117 default=0.0000 now=0.0000 + MIDI CC 10|118 default=0.0000 now=0.0000 + MIDI CC 10|119 default=0.0000 now=0.0000 + MIDI CC 10|120 default=0.0000 now=0.0000 + MIDI CC 10|121 default=0.0000 now=0.0000 + MIDI CC 10|122 default=0.0000 now=0.0000 + MIDI CC 10|123 default=0.0000 now=0.0000 + MIDI CC 10|124 default=0.0000 now=0.0000 + MIDI CC 10|125 default=0.0000 now=0.0000 + MIDI CC 10|126 default=0.0000 now=0.0000 + MIDI CC 10|127 default=0.0000 now=0.0000 + MIDI CC 10|128 default=0.0000 now=0.0000 + MIDI CC 10|129 default=0.0000 now=0.0000 + MIDI CC 11|0 default=0.0000 now=0.0000 + MIDI CC 11|1 default=0.0000 now=0.0000 + MIDI CC 11|2 default=0.0000 now=0.0000 + MIDI CC 11|3 default=0.0000 now=0.0000 + MIDI CC 11|4 default=0.0000 now=0.0000 + MIDI CC 11|5 default=0.0000 now=0.0000 + MIDI CC 11|6 default=0.0000 now=0.0000 + MIDI CC 11|7 default=0.0000 now=0.0000 + MIDI CC 11|8 default=0.0000 now=0.0000 + MIDI CC 11|9 default=0.0000 now=0.0000 + MIDI CC 11|10 default=0.0000 now=0.0000 + MIDI CC 11|11 default=0.0000 now=0.0000 + MIDI CC 11|12 default=0.0000 now=0.0000 + MIDI CC 11|13 default=0.0000 now=0.0000 + MIDI CC 11|14 default=0.0000 now=0.0000 + MIDI CC 11|15 default=0.0000 now=0.0000 + MIDI CC 11|16 default=0.0000 now=0.0000 + MIDI CC 11|17 default=0.0000 now=0.0000 + MIDI CC 11|18 default=0.0000 now=0.0000 + MIDI CC 11|19 default=0.0000 now=0.0000 + MIDI CC 11|20 default=0.0000 now=0.0000 + MIDI CC 11|21 default=0.0000 now=0.0000 + MIDI CC 11|22 default=0.0000 now=0.0000 + MIDI CC 11|23 default=0.0000 now=0.0000 + MIDI CC 11|24 default=0.0000 now=0.0000 + MIDI CC 11|25 default=0.0000 now=0.0000 + MIDI CC 11|26 default=0.0000 now=0.0000 + MIDI CC 11|27 default=0.0000 now=0.0000 + MIDI CC 11|28 default=0.0000 now=0.0000 + MIDI CC 11|29 default=0.0000 now=0.0000 + MIDI CC 11|30 default=0.0000 now=0.0000 + MIDI CC 11|31 default=0.0000 now=0.0000 + MIDI CC 11|32 default=0.0000 now=0.0000 + MIDI CC 11|33 default=0.0000 now=0.0000 + MIDI CC 11|34 default=0.0000 now=0.0000 + MIDI CC 11|35 default=0.0000 now=0.0000 + MIDI CC 11|36 default=0.0000 now=0.0000 + MIDI CC 11|37 default=0.0000 now=0.0000 + MIDI CC 11|38 default=0.0000 now=0.0000 + MIDI CC 11|39 default=0.0000 now=0.0000 + MIDI CC 11|40 default=0.0000 now=0.0000 + MIDI CC 11|41 default=0.0000 now=0.0000 + MIDI CC 11|42 default=0.0000 now=0.0000 + MIDI CC 11|43 default=0.0000 now=0.0000 + MIDI CC 11|44 default=0.0000 now=0.0000 + MIDI CC 11|45 default=0.0000 now=0.0000 + MIDI CC 11|46 default=0.0000 now=0.0000 + MIDI CC 11|47 default=0.0000 now=0.0000 + MIDI CC 11|48 default=0.0000 now=0.0000 + MIDI CC 11|49 default=0.0000 now=0.0000 + MIDI CC 11|50 default=0.0000 now=0.0000 + MIDI CC 11|51 default=0.0000 now=0.0000 + MIDI CC 11|52 default=0.0000 now=0.0000 + MIDI CC 11|53 default=0.0000 now=0.0000 + MIDI CC 11|54 default=0.0000 now=0.0000 + MIDI CC 11|55 default=0.0000 now=0.0000 + MIDI CC 11|56 default=0.0000 now=0.0000 + MIDI CC 11|57 default=0.0000 now=0.0000 + MIDI CC 11|58 default=0.0000 now=0.0000 + MIDI CC 11|59 default=0.0000 now=0.0000 + MIDI CC 11|60 default=0.0000 now=0.0000 + MIDI CC 11|61 default=0.0000 now=0.0000 + MIDI CC 11|62 default=0.0000 now=0.0000 + MIDI CC 11|63 default=0.0000 now=0.0000 + MIDI CC 11|64 default=0.0000 now=0.0000 + MIDI CC 11|65 default=0.0000 now=0.0000 + MIDI CC 11|66 default=0.0000 now=0.0000 + MIDI CC 11|67 default=0.0000 now=0.0000 + MIDI CC 11|68 default=0.0000 now=0.0000 + MIDI CC 11|69 default=0.0000 now=0.0000 + MIDI CC 11|70 default=0.0000 now=0.0000 + MIDI CC 11|71 default=0.0000 now=0.0000 + MIDI CC 11|72 default=0.0000 now=0.0000 + MIDI CC 11|73 default=0.0000 now=0.0000 + MIDI CC 11|74 default=0.0000 now=0.0000 + MIDI CC 11|75 default=0.0000 now=0.0000 + MIDI CC 11|76 default=0.0000 now=0.0000 + MIDI CC 11|77 default=0.0000 now=0.0000 + MIDI CC 11|78 default=0.0000 now=0.0000 + MIDI CC 11|79 default=0.0000 now=0.0000 + MIDI CC 11|80 default=0.0000 now=0.0000 + MIDI CC 11|81 default=0.0000 now=0.0000 + MIDI CC 11|82 default=0.0000 now=0.0000 + MIDI CC 11|83 default=0.0000 now=0.0000 + MIDI CC 11|84 default=0.0000 now=0.0000 + MIDI CC 11|85 default=0.0000 now=0.0000 + MIDI CC 11|86 default=0.0000 now=0.0000 + MIDI CC 11|87 default=0.0000 now=0.0000 + MIDI CC 11|88 default=0.0000 now=0.0000 + MIDI CC 11|89 default=0.0000 now=0.0000 + MIDI CC 11|90 default=0.0000 now=0.0000 + MIDI CC 11|91 default=0.0000 now=0.0000 + MIDI CC 11|92 default=0.0000 now=0.0000 + MIDI CC 11|93 default=0.0000 now=0.0000 + MIDI CC 11|94 default=0.0000 now=0.0000 + MIDI CC 11|95 default=0.0000 now=0.0000 + MIDI CC 11|96 default=0.0000 now=0.0000 + MIDI CC 11|97 default=0.0000 now=0.0000 + MIDI CC 11|98 default=0.0000 now=0.0000 + MIDI CC 11|99 default=0.0000 now=0.0000 + MIDI CC 11|100 default=0.0000 now=0.0000 + MIDI CC 11|101 default=0.0000 now=0.0000 + MIDI CC 11|102 default=0.0000 now=0.0000 + MIDI CC 11|103 default=0.0000 now=0.0000 + MIDI CC 11|104 default=0.0000 now=0.0000 + MIDI CC 11|105 default=0.0000 now=0.0000 + MIDI CC 11|106 default=0.0000 now=0.0000 + MIDI CC 11|107 default=0.0000 now=0.0000 + MIDI CC 11|108 default=0.0000 now=0.0000 + MIDI CC 11|109 default=0.0000 now=0.0000 + MIDI CC 11|110 default=0.0000 now=0.0000 + MIDI CC 11|111 default=0.0000 now=0.0000 + MIDI CC 11|112 default=0.0000 now=0.0000 + MIDI CC 11|113 default=0.0000 now=0.0000 + MIDI CC 11|114 default=0.0000 now=0.0000 + MIDI CC 11|115 default=0.0000 now=0.0000 + MIDI CC 11|116 default=0.0000 now=0.0000 + MIDI CC 11|117 default=0.0000 now=0.0000 + MIDI CC 11|118 default=0.0000 now=0.0000 + MIDI CC 11|119 default=0.0000 now=0.0000 + MIDI CC 11|120 default=0.0000 now=0.0000 + MIDI CC 11|121 default=0.0000 now=0.0000 + MIDI CC 11|122 default=0.0000 now=0.0000 + MIDI CC 11|123 default=0.0000 now=0.0000 + MIDI CC 11|124 default=0.0000 now=0.0000 + MIDI CC 11|125 default=0.0000 now=0.0000 + MIDI CC 11|126 default=0.0000 now=0.0000 + MIDI CC 11|127 default=0.0000 now=0.0000 + MIDI CC 11|128 default=0.0000 now=0.0000 + MIDI CC 11|129 default=0.0000 now=0.0000 + MIDI CC 12|0 default=0.0000 now=0.0000 + MIDI CC 12|1 default=0.0000 now=0.0000 + MIDI CC 12|2 default=0.0000 now=0.0000 + MIDI CC 12|3 default=0.0000 now=0.0000 + MIDI CC 12|4 default=0.0000 now=0.0000 + MIDI CC 12|5 default=0.0000 now=0.0000 + MIDI CC 12|6 default=0.0000 now=0.0000 + MIDI CC 12|7 default=0.0000 now=0.0000 + MIDI CC 12|8 default=0.0000 now=0.0000 + MIDI CC 12|9 default=0.0000 now=0.0000 + MIDI CC 12|10 default=0.0000 now=0.0000 + MIDI CC 12|11 default=0.0000 now=0.0000 + MIDI CC 12|12 default=0.0000 now=0.0000 + MIDI CC 12|13 default=0.0000 now=0.0000 + MIDI CC 12|14 default=0.0000 now=0.0000 + MIDI CC 12|15 default=0.0000 now=0.0000 + MIDI CC 12|16 default=0.0000 now=0.0000 + MIDI CC 12|17 default=0.0000 now=0.0000 + MIDI CC 12|18 default=0.0000 now=0.0000 + MIDI CC 12|19 default=0.0000 now=0.0000 + MIDI CC 12|20 default=0.0000 now=0.0000 + MIDI CC 12|21 default=0.0000 now=0.0000 + MIDI CC 12|22 default=0.0000 now=0.0000 + MIDI CC 12|23 default=0.0000 now=0.0000 + MIDI CC 12|24 default=0.0000 now=0.0000 + MIDI CC 12|25 default=0.0000 now=0.0000 + MIDI CC 12|26 default=0.0000 now=0.0000 + MIDI CC 12|27 default=0.0000 now=0.0000 + MIDI CC 12|28 default=0.0000 now=0.0000 + MIDI CC 12|29 default=0.0000 now=0.0000 + MIDI CC 12|30 default=0.0000 now=0.0000 + MIDI CC 12|31 default=0.0000 now=0.0000 + MIDI CC 12|32 default=0.0000 now=0.0000 + MIDI CC 12|33 default=0.0000 now=0.0000 + MIDI CC 12|34 default=0.0000 now=0.0000 + MIDI CC 12|35 default=0.0000 now=0.0000 + MIDI CC 12|36 default=0.0000 now=0.0000 + MIDI CC 12|37 default=0.0000 now=0.0000 + MIDI CC 12|38 default=0.0000 now=0.0000 + MIDI CC 12|39 default=0.0000 now=0.0000 + MIDI CC 12|40 default=0.0000 now=0.0000 + MIDI CC 12|41 default=0.0000 now=0.0000 + MIDI CC 12|42 default=0.0000 now=0.0000 + MIDI CC 12|43 default=0.0000 now=0.0000 + MIDI CC 12|44 default=0.0000 now=0.0000 + MIDI CC 12|45 default=0.0000 now=0.0000 + MIDI CC 12|46 default=0.0000 now=0.0000 + MIDI CC 12|47 default=0.0000 now=0.0000 + MIDI CC 12|48 default=0.0000 now=0.0000 + MIDI CC 12|49 default=0.0000 now=0.0000 + MIDI CC 12|50 default=0.0000 now=0.0000 + MIDI CC 12|51 default=0.0000 now=0.0000 + MIDI CC 12|52 default=0.0000 now=0.0000 + MIDI CC 12|53 default=0.0000 now=0.0000 + MIDI CC 12|54 default=0.0000 now=0.0000 + MIDI CC 12|55 default=0.0000 now=0.0000 + MIDI CC 12|56 default=0.0000 now=0.0000 + MIDI CC 12|57 default=0.0000 now=0.0000 + MIDI CC 12|58 default=0.0000 now=0.0000 + MIDI CC 12|59 default=0.0000 now=0.0000 + MIDI CC 12|60 default=0.0000 now=0.0000 + MIDI CC 12|61 default=0.0000 now=0.0000 + MIDI CC 12|62 default=0.0000 now=0.0000 + MIDI CC 12|63 default=0.0000 now=0.0000 + MIDI CC 12|64 default=0.0000 now=0.0000 + MIDI CC 12|65 default=0.0000 now=0.0000 + MIDI CC 12|66 default=0.0000 now=0.0000 + MIDI CC 12|67 default=0.0000 now=0.0000 + MIDI CC 12|68 default=0.0000 now=0.0000 + MIDI CC 12|69 default=0.0000 now=0.0000 + MIDI CC 12|70 default=0.0000 now=0.0000 + MIDI CC 12|71 default=0.0000 now=0.0000 + MIDI CC 12|72 default=0.0000 now=0.0000 + MIDI CC 12|73 default=0.0000 now=0.0000 + MIDI CC 12|74 default=0.0000 now=0.0000 + MIDI CC 12|75 default=0.0000 now=0.0000 + MIDI CC 12|76 default=0.0000 now=0.0000 + MIDI CC 12|77 default=0.0000 now=0.0000 + MIDI CC 12|78 default=0.0000 now=0.0000 + MIDI CC 12|79 default=0.0000 now=0.0000 + MIDI CC 12|80 default=0.0000 now=0.0000 + MIDI CC 12|81 default=0.0000 now=0.0000 + MIDI CC 12|82 default=0.0000 now=0.0000 + MIDI CC 12|83 default=0.0000 now=0.0000 + MIDI CC 12|84 default=0.0000 now=0.0000 + MIDI CC 12|85 default=0.0000 now=0.0000 + MIDI CC 12|86 default=0.0000 now=0.0000 + MIDI CC 12|87 default=0.0000 now=0.0000 + MIDI CC 12|88 default=0.0000 now=0.0000 + MIDI CC 12|89 default=0.0000 now=0.0000 + MIDI CC 12|90 default=0.0000 now=0.0000 + MIDI CC 12|91 default=0.0000 now=0.0000 + MIDI CC 12|92 default=0.0000 now=0.0000 + MIDI CC 12|93 default=0.0000 now=0.0000 + MIDI CC 12|94 default=0.0000 now=0.0000 + MIDI CC 12|95 default=0.0000 now=0.0000 + MIDI CC 12|96 default=0.0000 now=0.0000 + MIDI CC 12|97 default=0.0000 now=0.0000 + MIDI CC 12|98 default=0.0000 now=0.0000 + MIDI CC 12|99 default=0.0000 now=0.0000 + MIDI CC 12|100 default=0.0000 now=0.0000 + MIDI CC 12|101 default=0.0000 now=0.0000 + MIDI CC 12|102 default=0.0000 now=0.0000 + MIDI CC 12|103 default=0.0000 now=0.0000 + MIDI CC 12|104 default=0.0000 now=0.0000 + MIDI CC 12|105 default=0.0000 now=0.0000 + MIDI CC 12|106 default=0.0000 now=0.0000 + MIDI CC 12|107 default=0.0000 now=0.0000 + MIDI CC 12|108 default=0.0000 now=0.0000 + MIDI CC 12|109 default=0.0000 now=0.0000 + MIDI CC 12|110 default=0.0000 now=0.0000 + MIDI CC 12|111 default=0.0000 now=0.0000 + MIDI CC 12|112 default=0.0000 now=0.0000 + MIDI CC 12|113 default=0.0000 now=0.0000 + MIDI CC 12|114 default=0.0000 now=0.0000 + MIDI CC 12|115 default=0.0000 now=0.0000 + MIDI CC 12|116 default=0.0000 now=0.0000 + MIDI CC 12|117 default=0.0000 now=0.0000 + MIDI CC 12|118 default=0.0000 now=0.0000 + MIDI CC 12|119 default=0.0000 now=0.0000 + MIDI CC 12|120 default=0.0000 now=0.0000 + MIDI CC 12|121 default=0.0000 now=0.0000 + MIDI CC 12|122 default=0.0000 now=0.0000 + MIDI CC 12|123 default=0.0000 now=0.0000 + MIDI CC 12|124 default=0.0000 now=0.0000 + MIDI CC 12|125 default=0.0000 now=0.0000 + MIDI CC 12|126 default=0.0000 now=0.0000 + MIDI CC 12|127 default=0.0000 now=0.0000 + MIDI CC 12|128 default=0.0000 now=0.0000 + MIDI CC 12|129 default=0.0000 now=0.0000 + MIDI CC 13|0 default=0.0000 now=0.0000 + MIDI CC 13|1 default=0.0000 now=0.0000 + MIDI CC 13|2 default=0.0000 now=0.0000 + MIDI CC 13|3 default=0.0000 now=0.0000 + MIDI CC 13|4 default=0.0000 now=0.0000 + MIDI CC 13|5 default=0.0000 now=0.0000 + MIDI CC 13|6 default=0.0000 now=0.0000 + MIDI CC 13|7 default=0.0000 now=0.0000 + MIDI CC 13|8 default=0.0000 now=0.0000 + MIDI CC 13|9 default=0.0000 now=0.0000 + MIDI CC 13|10 default=0.0000 now=0.0000 + MIDI CC 13|11 default=0.0000 now=0.0000 + MIDI CC 13|12 default=0.0000 now=0.0000 + MIDI CC 13|13 default=0.0000 now=0.0000 + MIDI CC 13|14 default=0.0000 now=0.0000 + MIDI CC 13|15 default=0.0000 now=0.0000 + MIDI CC 13|16 default=0.0000 now=0.0000 + MIDI CC 13|17 default=0.0000 now=0.0000 + MIDI CC 13|18 default=0.0000 now=0.0000 + MIDI CC 13|19 default=0.0000 now=0.0000 + MIDI CC 13|20 default=0.0000 now=0.0000 + MIDI CC 13|21 default=0.0000 now=0.0000 + MIDI CC 13|22 default=0.0000 now=0.0000 + MIDI CC 13|23 default=0.0000 now=0.0000 + MIDI CC 13|24 default=0.0000 now=0.0000 + MIDI CC 13|25 default=0.0000 now=0.0000 + MIDI CC 13|26 default=0.0000 now=0.0000 + MIDI CC 13|27 default=0.0000 now=0.0000 + MIDI CC 13|28 default=0.0000 now=0.0000 + MIDI CC 13|29 default=0.0000 now=0.0000 + MIDI CC 13|30 default=0.0000 now=0.0000 + MIDI CC 13|31 default=0.0000 now=0.0000 + MIDI CC 13|32 default=0.0000 now=0.0000 + MIDI CC 13|33 default=0.0000 now=0.0000 + MIDI CC 13|34 default=0.0000 now=0.0000 + MIDI CC 13|35 default=0.0000 now=0.0000 + MIDI CC 13|36 default=0.0000 now=0.0000 + MIDI CC 13|37 default=0.0000 now=0.0000 + MIDI CC 13|38 default=0.0000 now=0.0000 + MIDI CC 13|39 default=0.0000 now=0.0000 + MIDI CC 13|40 default=0.0000 now=0.0000 + MIDI CC 13|41 default=0.0000 now=0.0000 + MIDI CC 13|42 default=0.0000 now=0.0000 + MIDI CC 13|43 default=0.0000 now=0.0000 + MIDI CC 13|44 default=0.0000 now=0.0000 + MIDI CC 13|45 default=0.0000 now=0.0000 + MIDI CC 13|46 default=0.0000 now=0.0000 + MIDI CC 13|47 default=0.0000 now=0.0000 + MIDI CC 13|48 default=0.0000 now=0.0000 + MIDI CC 13|49 default=0.0000 now=0.0000 + MIDI CC 13|50 default=0.0000 now=0.0000 + MIDI CC 13|51 default=0.0000 now=0.0000 + MIDI CC 13|52 default=0.0000 now=0.0000 + MIDI CC 13|53 default=0.0000 now=0.0000 + MIDI CC 13|54 default=0.0000 now=0.0000 + MIDI CC 13|55 default=0.0000 now=0.0000 + MIDI CC 13|56 default=0.0000 now=0.0000 + MIDI CC 13|57 default=0.0000 now=0.0000 + MIDI CC 13|58 default=0.0000 now=0.0000 + MIDI CC 13|59 default=0.0000 now=0.0000 + MIDI CC 13|60 default=0.0000 now=0.0000 + MIDI CC 13|61 default=0.0000 now=0.0000 + MIDI CC 13|62 default=0.0000 now=0.0000 + MIDI CC 13|63 default=0.0000 now=0.0000 + MIDI CC 13|64 default=0.0000 now=0.0000 + MIDI CC 13|65 default=0.0000 now=0.0000 + MIDI CC 13|66 default=0.0000 now=0.0000 + MIDI CC 13|67 default=0.0000 now=0.0000 + MIDI CC 13|68 default=0.0000 now=0.0000 + MIDI CC 13|69 default=0.0000 now=0.0000 + MIDI CC 13|70 default=0.0000 now=0.0000 + MIDI CC 13|71 default=0.0000 now=0.0000 + MIDI CC 13|72 default=0.0000 now=0.0000 + MIDI CC 13|73 default=0.0000 now=0.0000 + MIDI CC 13|74 default=0.0000 now=0.0000 + MIDI CC 13|75 default=0.0000 now=0.0000 + MIDI CC 13|76 default=0.0000 now=0.0000 + MIDI CC 13|77 default=0.0000 now=0.0000 + MIDI CC 13|78 default=0.0000 now=0.0000 + MIDI CC 13|79 default=0.0000 now=0.0000 + MIDI CC 13|80 default=0.0000 now=0.0000 + MIDI CC 13|81 default=0.0000 now=0.0000 + MIDI CC 13|82 default=0.0000 now=0.0000 + MIDI CC 13|83 default=0.0000 now=0.0000 + MIDI CC 13|84 default=0.0000 now=0.0000 + MIDI CC 13|85 default=0.0000 now=0.0000 + MIDI CC 13|86 default=0.0000 now=0.0000 + MIDI CC 13|87 default=0.0000 now=0.0000 + MIDI CC 13|88 default=0.0000 now=0.0000 + MIDI CC 13|89 default=0.0000 now=0.0000 + MIDI CC 13|90 default=0.0000 now=0.0000 + MIDI CC 13|91 default=0.0000 now=0.0000 + MIDI CC 13|92 default=0.0000 now=0.0000 + MIDI CC 13|93 default=0.0000 now=0.0000 + MIDI CC 13|94 default=0.0000 now=0.0000 + MIDI CC 13|95 default=0.0000 now=0.0000 + MIDI CC 13|96 default=0.0000 now=0.0000 + MIDI CC 13|97 default=0.0000 now=0.0000 + MIDI CC 13|98 default=0.0000 now=0.0000 + MIDI CC 13|99 default=0.0000 now=0.0000 + MIDI CC 13|100 default=0.0000 now=0.0000 + MIDI CC 13|101 default=0.0000 now=0.0000 + MIDI CC 13|102 default=0.0000 now=0.0000 + MIDI CC 13|103 default=0.0000 now=0.0000 + MIDI CC 13|104 default=0.0000 now=0.0000 + MIDI CC 13|105 default=0.0000 now=0.0000 + MIDI CC 13|106 default=0.0000 now=0.0000 + MIDI CC 13|107 default=0.0000 now=0.0000 + MIDI CC 13|108 default=0.0000 now=0.0000 + MIDI CC 13|109 default=0.0000 now=0.0000 + MIDI CC 13|110 default=0.0000 now=0.0000 + MIDI CC 13|111 default=0.0000 now=0.0000 + MIDI CC 13|112 default=0.0000 now=0.0000 + MIDI CC 13|113 default=0.0000 now=0.0000 + MIDI CC 13|114 default=0.0000 now=0.0000 + MIDI CC 13|115 default=0.0000 now=0.0000 + MIDI CC 13|116 default=0.0000 now=0.0000 + MIDI CC 13|117 default=0.0000 now=0.0000 + MIDI CC 13|118 default=0.0000 now=0.0000 + MIDI CC 13|119 default=0.0000 now=0.0000 + MIDI CC 13|120 default=0.0000 now=0.0000 + MIDI CC 13|121 default=0.0000 now=0.0000 + MIDI CC 13|122 default=0.0000 now=0.0000 + MIDI CC 13|123 default=0.0000 now=0.0000 + MIDI CC 13|124 default=0.0000 now=0.0000 + MIDI CC 13|125 default=0.0000 now=0.0000 + MIDI CC 13|126 default=0.0000 now=0.0000 + MIDI CC 13|127 default=0.0000 now=0.0000 + MIDI CC 13|128 default=0.0000 now=0.0000 + MIDI CC 13|129 default=0.0000 now=0.0000 + MIDI CC 14|0 default=0.0000 now=0.0000 + MIDI CC 14|1 default=0.0000 now=0.0000 + MIDI CC 14|2 default=0.0000 now=0.0000 + MIDI CC 14|3 default=0.0000 now=0.0000 + MIDI CC 14|4 default=0.0000 now=0.0000 + MIDI CC 14|5 default=0.0000 now=0.0000 + MIDI CC 14|6 default=0.0000 now=0.0000 + MIDI CC 14|7 default=0.0000 now=0.0000 + MIDI CC 14|8 default=0.0000 now=0.0000 + MIDI CC 14|9 default=0.0000 now=0.0000 + MIDI CC 14|10 default=0.0000 now=0.0000 + MIDI CC 14|11 default=0.0000 now=0.0000 + MIDI CC 14|12 default=0.0000 now=0.0000 + MIDI CC 14|13 default=0.0000 now=0.0000 + MIDI CC 14|14 default=0.0000 now=0.0000 + MIDI CC 14|15 default=0.0000 now=0.0000 + MIDI CC 14|16 default=0.0000 now=0.0000 + MIDI CC 14|17 default=0.0000 now=0.0000 + MIDI CC 14|18 default=0.0000 now=0.0000 + MIDI CC 14|19 default=0.0000 now=0.0000 + MIDI CC 14|20 default=0.0000 now=0.0000 + MIDI CC 14|21 default=0.0000 now=0.0000 + MIDI CC 14|22 default=0.0000 now=0.0000 + MIDI CC 14|23 default=0.0000 now=0.0000 + MIDI CC 14|24 default=0.0000 now=0.0000 + MIDI CC 14|25 default=0.0000 now=0.0000 + MIDI CC 14|26 default=0.0000 now=0.0000 + MIDI CC 14|27 default=0.0000 now=0.0000 + MIDI CC 14|28 default=0.0000 now=0.0000 + MIDI CC 14|29 default=0.0000 now=0.0000 + MIDI CC 14|30 default=0.0000 now=0.0000 + MIDI CC 14|31 default=0.0000 now=0.0000 + MIDI CC 14|32 default=0.0000 now=0.0000 + MIDI CC 14|33 default=0.0000 now=0.0000 + MIDI CC 14|34 default=0.0000 now=0.0000 + MIDI CC 14|35 default=0.0000 now=0.0000 + MIDI CC 14|36 default=0.0000 now=0.0000 + MIDI CC 14|37 default=0.0000 now=0.0000 + MIDI CC 14|38 default=0.0000 now=0.0000 + MIDI CC 14|39 default=0.0000 now=0.0000 + MIDI CC 14|40 default=0.0000 now=0.0000 + MIDI CC 14|41 default=0.0000 now=0.0000 + MIDI CC 14|42 default=0.0000 now=0.0000 + MIDI CC 14|43 default=0.0000 now=0.0000 + MIDI CC 14|44 default=0.0000 now=0.0000 + MIDI CC 14|45 default=0.0000 now=0.0000 + MIDI CC 14|46 default=0.0000 now=0.0000 + MIDI CC 14|47 default=0.0000 now=0.0000 + MIDI CC 14|48 default=0.0000 now=0.0000 + MIDI CC 14|49 default=0.0000 now=0.0000 + MIDI CC 14|50 default=0.0000 now=0.0000 + MIDI CC 14|51 default=0.0000 now=0.0000 + MIDI CC 14|52 default=0.0000 now=0.0000 + MIDI CC 14|53 default=0.0000 now=0.0000 + MIDI CC 14|54 default=0.0000 now=0.0000 + MIDI CC 14|55 default=0.0000 now=0.0000 + MIDI CC 14|56 default=0.0000 now=0.0000 + MIDI CC 14|57 default=0.0000 now=0.0000 + MIDI CC 14|58 default=0.0000 now=0.0000 + MIDI CC 14|59 default=0.0000 now=0.0000 + MIDI CC 14|60 default=0.0000 now=0.0000 + MIDI CC 14|61 default=0.0000 now=0.0000 + MIDI CC 14|62 default=0.0000 now=0.0000 + MIDI CC 14|63 default=0.0000 now=0.0000 + MIDI CC 14|64 default=0.0000 now=0.0000 + MIDI CC 14|65 default=0.0000 now=0.0000 + MIDI CC 14|66 default=0.0000 now=0.0000 + MIDI CC 14|67 default=0.0000 now=0.0000 + MIDI CC 14|68 default=0.0000 now=0.0000 + MIDI CC 14|69 default=0.0000 now=0.0000 + MIDI CC 14|70 default=0.0000 now=0.0000 + MIDI CC 14|71 default=0.0000 now=0.0000 + MIDI CC 14|72 default=0.0000 now=0.0000 + MIDI CC 14|73 default=0.0000 now=0.0000 + MIDI CC 14|74 default=0.0000 now=0.0000 + MIDI CC 14|75 default=0.0000 now=0.0000 + MIDI CC 14|76 default=0.0000 now=0.0000 + MIDI CC 14|77 default=0.0000 now=0.0000 + MIDI CC 14|78 default=0.0000 now=0.0000 + MIDI CC 14|79 default=0.0000 now=0.0000 + MIDI CC 14|80 default=0.0000 now=0.0000 + MIDI CC 14|81 default=0.0000 now=0.0000 + MIDI CC 14|82 default=0.0000 now=0.0000 + MIDI CC 14|83 default=0.0000 now=0.0000 + MIDI CC 14|84 default=0.0000 now=0.0000 + MIDI CC 14|85 default=0.0000 now=0.0000 + MIDI CC 14|86 default=0.0000 now=0.0000 + MIDI CC 14|87 default=0.0000 now=0.0000 + MIDI CC 14|88 default=0.0000 now=0.0000 + MIDI CC 14|89 default=0.0000 now=0.0000 + MIDI CC 14|90 default=0.0000 now=0.0000 + MIDI CC 14|91 default=0.0000 now=0.0000 + MIDI CC 14|92 default=0.0000 now=0.0000 + MIDI CC 14|93 default=0.0000 now=0.0000 + MIDI CC 14|94 default=0.0000 now=0.0000 + MIDI CC 14|95 default=0.0000 now=0.0000 + MIDI CC 14|96 default=0.0000 now=0.0000 + MIDI CC 14|97 default=0.0000 now=0.0000 + MIDI CC 14|98 default=0.0000 now=0.0000 + MIDI CC 14|99 default=0.0000 now=0.0000 + MIDI CC 14|100 default=0.0000 now=0.0000 + MIDI CC 14|101 default=0.0000 now=0.0000 + MIDI CC 14|102 default=0.0000 now=0.0000 + MIDI CC 14|103 default=0.0000 now=0.0000 + MIDI CC 14|104 default=0.0000 now=0.0000 + MIDI CC 14|105 default=0.0000 now=0.0000 + MIDI CC 14|106 default=0.0000 now=0.0000 + MIDI CC 14|107 default=0.0000 now=0.0000 + MIDI CC 14|108 default=0.0000 now=0.0000 + MIDI CC 14|109 default=0.0000 now=0.0000 + MIDI CC 14|110 default=0.0000 now=0.0000 + MIDI CC 14|111 default=0.0000 now=0.0000 + MIDI CC 14|112 default=0.0000 now=0.0000 + MIDI CC 14|113 default=0.0000 now=0.0000 + MIDI CC 14|114 default=0.0000 now=0.0000 + MIDI CC 14|115 default=0.0000 now=0.0000 + MIDI CC 14|116 default=0.0000 now=0.0000 + MIDI CC 14|117 default=0.0000 now=0.0000 + MIDI CC 14|118 default=0.0000 now=0.0000 + MIDI CC 14|119 default=0.0000 now=0.0000 + MIDI CC 14|120 default=0.0000 now=0.0000 + MIDI CC 14|121 default=0.0000 now=0.0000 + MIDI CC 14|122 default=0.0000 now=0.0000 + MIDI CC 14|123 default=0.0000 now=0.0000 + MIDI CC 14|124 default=0.0000 now=0.0000 + MIDI CC 14|125 default=0.0000 now=0.0000 + MIDI CC 14|126 default=0.0000 now=0.0000 + MIDI CC 14|127 default=0.0000 now=0.0000 + MIDI CC 14|128 default=0.0000 now=0.0000 + MIDI CC 14|129 default=0.0000 now=0.0000 + MIDI CC 15|0 default=0.0000 now=0.0000 + MIDI CC 15|1 default=0.0000 now=0.0000 + MIDI CC 15|2 default=0.0000 now=0.0000 + MIDI CC 15|3 default=0.0000 now=0.0000 + MIDI CC 15|4 default=0.0000 now=0.0000 + MIDI CC 15|5 default=0.0000 now=0.0000 + MIDI CC 15|6 default=0.0000 now=0.0000 + MIDI CC 15|7 default=0.0000 now=0.0000 + MIDI CC 15|8 default=0.0000 now=0.0000 + MIDI CC 15|9 default=0.0000 now=0.0000 + MIDI CC 15|10 default=0.0000 now=0.0000 + MIDI CC 15|11 default=0.0000 now=0.0000 + MIDI CC 15|12 default=0.0000 now=0.0000 + MIDI CC 15|13 default=0.0000 now=0.0000 + MIDI CC 15|14 default=0.0000 now=0.0000 + MIDI CC 15|15 default=0.0000 now=0.0000 + MIDI CC 15|16 default=0.0000 now=0.0000 + MIDI CC 15|17 default=0.0000 now=0.0000 + MIDI CC 15|18 default=0.0000 now=0.0000 + MIDI CC 15|19 default=0.0000 now=0.0000 + MIDI CC 15|20 default=0.0000 now=0.0000 + MIDI CC 15|21 default=0.0000 now=0.0000 + MIDI CC 15|22 default=0.0000 now=0.0000 + MIDI CC 15|23 default=0.0000 now=0.0000 + MIDI CC 15|24 default=0.0000 now=0.0000 + MIDI CC 15|25 default=0.0000 now=0.0000 + MIDI CC 15|26 default=0.0000 now=0.0000 + MIDI CC 15|27 default=0.0000 now=0.0000 + MIDI CC 15|28 default=0.0000 now=0.0000 + MIDI CC 15|29 default=0.0000 now=0.0000 + MIDI CC 15|30 default=0.0000 now=0.0000 + MIDI CC 15|31 default=0.0000 now=0.0000 + MIDI CC 15|32 default=0.0000 now=0.0000 + MIDI CC 15|33 default=0.0000 now=0.0000 + MIDI CC 15|34 default=0.0000 now=0.0000 + MIDI CC 15|35 default=0.0000 now=0.0000 + MIDI CC 15|36 default=0.0000 now=0.0000 + MIDI CC 15|37 default=0.0000 now=0.0000 + MIDI CC 15|38 default=0.0000 now=0.0000 + MIDI CC 15|39 default=0.0000 now=0.0000 + MIDI CC 15|40 default=0.0000 now=0.0000 + MIDI CC 15|41 default=0.0000 now=0.0000 + MIDI CC 15|42 default=0.0000 now=0.0000 + MIDI CC 15|43 default=0.0000 now=0.0000 + MIDI CC 15|44 default=0.0000 now=0.0000 + MIDI CC 15|45 default=0.0000 now=0.0000 + MIDI CC 15|46 default=0.0000 now=0.0000 + MIDI CC 15|47 default=0.0000 now=0.0000 + MIDI CC 15|48 default=0.0000 now=0.0000 + MIDI CC 15|49 default=0.0000 now=0.0000 + MIDI CC 15|50 default=0.0000 now=0.0000 + MIDI CC 15|51 default=0.0000 now=0.0000 + MIDI CC 15|52 default=0.0000 now=0.0000 + MIDI CC 15|53 default=0.0000 now=0.0000 + MIDI CC 15|54 default=0.0000 now=0.0000 + MIDI CC 15|55 default=0.0000 now=0.0000 + MIDI CC 15|56 default=0.0000 now=0.0000 + MIDI CC 15|57 default=0.0000 now=0.0000 + MIDI CC 15|58 default=0.0000 now=0.0000 + MIDI CC 15|59 default=0.0000 now=0.0000 + MIDI CC 15|60 default=0.0000 now=0.0000 + MIDI CC 15|61 default=0.0000 now=0.0000 + MIDI CC 15|62 default=0.0000 now=0.0000 + MIDI CC 15|63 default=0.0000 now=0.0000 + MIDI CC 15|64 default=0.0000 now=0.0000 + MIDI CC 15|65 default=0.0000 now=0.0000 + MIDI CC 15|66 default=0.0000 now=0.0000 + MIDI CC 15|67 default=0.0000 now=0.0000 + MIDI CC 15|68 default=0.0000 now=0.0000 + MIDI CC 15|69 default=0.0000 now=0.0000 + MIDI CC 15|70 default=0.0000 now=0.0000 + MIDI CC 15|71 default=0.0000 now=0.0000 + MIDI CC 15|72 default=0.0000 now=0.0000 + MIDI CC 15|73 default=0.0000 now=0.0000 + MIDI CC 15|74 default=0.0000 now=0.0000 + MIDI CC 15|75 default=0.0000 now=0.0000 + MIDI CC 15|76 default=0.0000 now=0.0000 + MIDI CC 15|77 default=0.0000 now=0.0000 + MIDI CC 15|78 default=0.0000 now=0.0000 + MIDI CC 15|79 default=0.0000 now=0.0000 + MIDI CC 15|80 default=0.0000 now=0.0000 + MIDI CC 15|81 default=0.0000 now=0.0000 + MIDI CC 15|82 default=0.0000 now=0.0000 + MIDI CC 15|83 default=0.0000 now=0.0000 + MIDI CC 15|84 default=0.0000 now=0.0000 + MIDI CC 15|85 default=0.0000 now=0.0000 + MIDI CC 15|86 default=0.0000 now=0.0000 + MIDI CC 15|87 default=0.0000 now=0.0000 + MIDI CC 15|88 default=0.0000 now=0.0000 + MIDI CC 15|89 default=0.0000 now=0.0000 + MIDI CC 15|90 default=0.0000 now=0.0000 + MIDI CC 15|91 default=0.0000 now=0.0000 + MIDI CC 15|92 default=0.0000 now=0.0000 + MIDI CC 15|93 default=0.0000 now=0.0000 + MIDI CC 15|94 default=0.0000 now=0.0000 + MIDI CC 15|95 default=0.0000 now=0.0000 + MIDI CC 15|96 default=0.0000 now=0.0000 + MIDI CC 15|97 default=0.0000 now=0.0000 + MIDI CC 15|98 default=0.0000 now=0.0000 + MIDI CC 15|99 default=0.0000 now=0.0000 + MIDI CC 15|100 default=0.0000 now=0.0000 + MIDI CC 15|101 default=0.0000 now=0.0000 + MIDI CC 15|102 default=0.0000 now=0.0000 + MIDI CC 15|103 default=0.0000 now=0.0000 + MIDI CC 15|104 default=0.0000 now=0.0000 + MIDI CC 15|105 default=0.0000 now=0.0000 + MIDI CC 15|106 default=0.0000 now=0.0000 + MIDI CC 15|107 default=0.0000 now=0.0000 + MIDI CC 15|108 default=0.0000 now=0.0000 + MIDI CC 15|109 default=0.0000 now=0.0000 + MIDI CC 15|110 default=0.0000 now=0.0000 + MIDI CC 15|111 default=0.0000 now=0.0000 + MIDI CC 15|112 default=0.0000 now=0.0000 + MIDI CC 15|113 default=0.0000 now=0.0000 + MIDI CC 15|114 default=0.0000 now=0.0000 + MIDI CC 15|115 default=0.0000 now=0.0000 + MIDI CC 15|116 default=0.0000 now=0.0000 + MIDI CC 15|117 default=0.0000 now=0.0000 + MIDI CC 15|118 default=0.0000 now=0.0000 + MIDI CC 15|119 default=0.0000 now=0.0000 + MIDI CC 15|120 default=0.0000 now=0.0000 + MIDI CC 15|121 default=0.0000 now=0.0000 + MIDI CC 15|122 default=0.0000 now=0.0000 + MIDI CC 15|123 default=0.0000 now=0.0000 + MIDI CC 15|124 default=0.0000 now=0.0000 + MIDI CC 15|125 default=0.0000 now=0.0000 + MIDI CC 15|126 default=0.0000 now=0.0000 + MIDI CC 15|127 default=0.0000 now=0.0000 + MIDI CC 15|128 default=0.0000 now=0.0000 + MIDI CC 15|129 default=0.0000 now=0.0000 +sr=44100 block=64 peak=0.312 rms=0.1358 finite=1 OK +sr=44100 block=512 peak=0.312 rms=0.1359 finite=1 OK +sr=44100 block=1000 peak=0.312 rms=0.1360 finite=1 OK +state round trip (1573 bytes): OK +sr=48000 block=64 peak=0.312 rms=0.1358 finite=1 OK +sr=48000 block=512 peak=0.312 rms=0.1359 finite=1 OK +sr=48000 block=1000 peak=0.312 rms=0.1358 finite=1 OK +sr=96000 block=64 peak=0.312 rms=0.1358 finite=1 OK +sr=96000 block=512 peak=0.312 rms=0.1358 finite=1 OK +sr=96000 block=1000 peak=0.312 rms=0.1358 finite=1 OK +sr=44100 audio input silence rms=0.00001 OK +sr=44100 audio input sine rms=0.07857 OK +sr=44100 midi gate: before=0.00001 held=0.1180 after-release=0.00001 OK +sr=48000 audio input silence rms=0.00001 OK +sr=48000 audio input sine rms=0.07855 OK +sr=48000 midi gate: before=0.00001 held=0.1180 after-release=0.00001 OK +sr=96000 audio input silence rms=0.00001 OK +sr=96000 audio input sine rms=0.07856 OK +sr=96000 midi gate: before=0.00001 held=0.1180 after-release=0.00001 OK +readout Echo Feedback 0.40 = 60 % OK +readout Echo Feedback 1.00 = 150 % OK +readout Echo Send 0.20 = 4 % OK +readout Volume 0.50 = -12.0 dB OK +readout Reverb Decay 0.50 = 85 % OK +readout Reverb Decay 0.10 = 42 % OK +readout Echo Warp 1.00 = On OK +readout Echo Drive 0.50 = +6.0 dB OK +readout Echo Drive 0.00 = +0.0 dB OK +readout Echo Tone 0.50 = 800 Hz OK +readout Echo Tone 0.00 = 200 Hz OK +readout Echo Tone 1.00 = 3200 Hz OK +readout Echo Pong 1.00 = On OK +readout Echo Width 0.50 = 50 % OK +readout Echo Level 0.83 = 0.0 dB OK +readout Echo Level 1.00 = +6.0 dB OK +readout Echo Level 0.50 = -12.0 dB OK +pongSurvivesStateRoundTrip: OK +classicPresetTurnsPongOff: OK +pongAtOtherRates, sr=44100 peak=0.398 OK +pongAtOtherRates, sr=48000 peak=0.399 OK +pongAtOtherRates, sr=96000 peak=0.399 OK +sr=44100 latency: declared 327, measured 329 OK +sr=48000 latency: declared 0, measured 2 OK +sr=96000 latency: declared 656, measured 659 OK +sr=44100 midi note 60: 261.6 Hz (+0.1 c); knob after release 200.7 Hz, knob alone 200.7 Hz OK +sr=48000 midi note 60: 261.7 Hz (+0.2 c); knob after release 200.7 Hz, knob alone 200.7 Hz OK +sr=96000 midi note 60: 261.7 Hz (+0.2 c); knob after release 200.7 Hz, knob alone 200.7 Hz OK +programs: 16 +presets: program 3 = "Cathedral Bloom", freq 0.43 -> 0.80, state keeps program: OK +ALL OK diff --git a/review/logs/plugin_host_test.log b/review/logs/plugin_host_test.log new file mode 100644 index 0000000..e35263f --- /dev/null +++ b/review/logs/plugin_host_test.log @@ -0,0 +1,2161 @@ +Found: Drosera (VST3) isInstrument=1 +parameter identity: OK +saved state from the baseline build: OK +Parameters: 2107 + Frequency default=82.8 Hz now=82.8 Hz + Feedback default=-6.0 dB now=-6.0 dB + Body default=9.9 ms now=9.9 ms + Lowpass default=10708 Hz now=10708 Hz + Highpass default=33 Hz now=33 Hz + Reverb Mix default=30 % now=30 % + Reverb Decay default=85 % now=85 % + Echo Send default=4 % now=4 % + Echo Time default=1.29 s now=1.29 s + Echo Feedback default=60 % now=60 % + Volume default=-6.2 dB now=-6.2 dB + Echo Warp default=Off now=Off + Input Level default=0.0 dB now=0.0 dB + MIDI Pitch default=Off now=Off + MIDI Gate default=Off now=Off + Polyphony default=Off now=Off + Coupling default=0 % now=0 % + Interval 2 default=+7 st now=+7 st + Interval 3 default=+12 st now=+12 st + String Lock default=On now=On + Echo Pong default=Off now=Off + Echo Drive default=+0.0 dB now=+0.0 dB + Echo Tone default=800 Hz now=800 Hz + Echo Width default=100 % now=100 % + Echo Level default=0.0 dB now=0.0 dB + Bypass default=Off now=Off + Program default=Default now=Default + MIDI CC 0|0 default=0.0000 now=0.0000 + MIDI CC 0|1 default=0.0000 now=0.0000 + MIDI CC 0|2 default=0.0000 now=0.0000 + MIDI CC 0|3 default=0.0000 now=0.0000 + MIDI CC 0|4 default=0.0000 now=0.0000 + MIDI CC 0|5 default=0.0000 now=0.0000 + MIDI CC 0|6 default=0.0000 now=0.0000 + MIDI CC 0|7 default=0.0000 now=0.0000 + MIDI CC 0|8 default=0.0000 now=0.0000 + MIDI CC 0|9 default=0.0000 now=0.0000 + MIDI CC 0|10 default=0.0000 now=0.0000 + MIDI CC 0|11 default=0.0000 now=0.0000 + MIDI CC 0|12 default=0.0000 now=0.0000 + MIDI CC 0|13 default=0.0000 now=0.0000 + MIDI CC 0|14 default=0.0000 now=0.0000 + MIDI CC 0|15 default=0.0000 now=0.0000 + MIDI CC 0|16 default=0.0000 now=0.0000 + MIDI CC 0|17 default=0.0000 now=0.0000 + MIDI CC 0|18 default=0.0000 now=0.0000 + MIDI CC 0|19 default=0.0000 now=0.0000 + MIDI CC 0|20 default=0.0000 now=0.0000 + MIDI CC 0|21 default=0.0000 now=0.0000 + MIDI CC 0|22 default=0.0000 now=0.0000 + MIDI CC 0|23 default=0.0000 now=0.0000 + MIDI CC 0|24 default=0.0000 now=0.0000 + MIDI CC 0|25 default=0.0000 now=0.0000 + MIDI CC 0|26 default=0.0000 now=0.0000 + MIDI CC 0|27 default=0.0000 now=0.0000 + MIDI CC 0|28 default=0.0000 now=0.0000 + MIDI CC 0|29 default=0.0000 now=0.0000 + MIDI CC 0|30 default=0.0000 now=0.0000 + MIDI CC 0|31 default=0.0000 now=0.0000 + MIDI CC 0|32 default=0.0000 now=0.0000 + MIDI CC 0|33 default=0.0000 now=0.0000 + MIDI CC 0|34 default=0.0000 now=0.0000 + MIDI CC 0|35 default=0.0000 now=0.0000 + MIDI CC 0|36 default=0.0000 now=0.0000 + MIDI CC 0|37 default=0.0000 now=0.0000 + MIDI CC 0|38 default=0.0000 now=0.0000 + MIDI CC 0|39 default=0.0000 now=0.0000 + MIDI CC 0|40 default=0.0000 now=0.0000 + MIDI CC 0|41 default=0.0000 now=0.0000 + MIDI CC 0|42 default=0.0000 now=0.0000 + MIDI CC 0|43 default=0.0000 now=0.0000 + MIDI CC 0|44 default=0.0000 now=0.0000 + MIDI CC 0|45 default=0.0000 now=0.0000 + MIDI CC 0|46 default=0.0000 now=0.0000 + MIDI CC 0|47 default=0.0000 now=0.0000 + MIDI CC 0|48 default=0.0000 now=0.0000 + MIDI CC 0|49 default=0.0000 now=0.0000 + MIDI CC 0|50 default=0.0000 now=0.0000 + MIDI CC 0|51 default=0.0000 now=0.0000 + MIDI CC 0|52 default=0.0000 now=0.0000 + MIDI CC 0|53 default=0.0000 now=0.0000 + MIDI CC 0|54 default=0.0000 now=0.0000 + MIDI CC 0|55 default=0.0000 now=0.0000 + MIDI CC 0|56 default=0.0000 now=0.0000 + MIDI CC 0|57 default=0.0000 now=0.0000 + MIDI CC 0|58 default=0.0000 now=0.0000 + MIDI CC 0|59 default=0.0000 now=0.0000 + MIDI CC 0|60 default=0.0000 now=0.0000 + MIDI CC 0|61 default=0.0000 now=0.0000 + MIDI CC 0|62 default=0.0000 now=0.0000 + MIDI CC 0|63 default=0.0000 now=0.0000 + MIDI CC 0|64 default=0.0000 now=0.0000 + MIDI CC 0|65 default=0.0000 now=0.0000 + MIDI CC 0|66 default=0.0000 now=0.0000 + MIDI CC 0|67 default=0.0000 now=0.0000 + MIDI CC 0|68 default=0.0000 now=0.0000 + MIDI CC 0|69 default=0.0000 now=0.0000 + MIDI CC 0|70 default=0.0000 now=0.0000 + MIDI CC 0|71 default=0.0000 now=0.0000 + MIDI CC 0|72 default=0.0000 now=0.0000 + MIDI CC 0|73 default=0.0000 now=0.0000 + MIDI CC 0|74 default=0.0000 now=0.0000 + MIDI CC 0|75 default=0.0000 now=0.0000 + MIDI CC 0|76 default=0.0000 now=0.0000 + MIDI CC 0|77 default=0.0000 now=0.0000 + MIDI CC 0|78 default=0.0000 now=0.0000 + MIDI CC 0|79 default=0.0000 now=0.0000 + MIDI CC 0|80 default=0.0000 now=0.0000 + MIDI CC 0|81 default=0.0000 now=0.0000 + MIDI CC 0|82 default=0.0000 now=0.0000 + MIDI CC 0|83 default=0.0000 now=0.0000 + MIDI CC 0|84 default=0.0000 now=0.0000 + MIDI CC 0|85 default=0.0000 now=0.0000 + MIDI CC 0|86 default=0.0000 now=0.0000 + MIDI CC 0|87 default=0.0000 now=0.0000 + MIDI CC 0|88 default=0.0000 now=0.0000 + MIDI CC 0|89 default=0.0000 now=0.0000 + MIDI CC 0|90 default=0.0000 now=0.0000 + MIDI CC 0|91 default=0.0000 now=0.0000 + MIDI CC 0|92 default=0.0000 now=0.0000 + MIDI CC 0|93 default=0.0000 now=0.0000 + MIDI CC 0|94 default=0.0000 now=0.0000 + MIDI CC 0|95 default=0.0000 now=0.0000 + MIDI CC 0|96 default=0.0000 now=0.0000 + MIDI CC 0|97 default=0.0000 now=0.0000 + MIDI CC 0|98 default=0.0000 now=0.0000 + MIDI CC 0|99 default=0.0000 now=0.0000 + MIDI CC 0|100 default=0.0000 now=0.0000 + MIDI CC 0|101 default=0.0000 now=0.0000 + MIDI CC 0|102 default=0.0000 now=0.0000 + MIDI CC 0|103 default=0.0000 now=0.0000 + MIDI CC 0|104 default=0.0000 now=0.0000 + MIDI CC 0|105 default=0.0000 now=0.0000 + MIDI CC 0|106 default=0.0000 now=0.0000 + MIDI CC 0|107 default=0.0000 now=0.0000 + MIDI CC 0|108 default=0.0000 now=0.0000 + MIDI CC 0|109 default=0.0000 now=0.0000 + MIDI CC 0|110 default=0.0000 now=0.0000 + MIDI CC 0|111 default=0.0000 now=0.0000 + MIDI CC 0|112 default=0.0000 now=0.0000 + MIDI CC 0|113 default=0.0000 now=0.0000 + MIDI CC 0|114 default=0.0000 now=0.0000 + MIDI CC 0|115 default=0.0000 now=0.0000 + MIDI CC 0|116 default=0.0000 now=0.0000 + MIDI CC 0|117 default=0.0000 now=0.0000 + MIDI CC 0|118 default=0.0000 now=0.0000 + MIDI CC 0|119 default=0.0000 now=0.0000 + MIDI CC 0|120 default=0.0000 now=0.0000 + MIDI CC 0|121 default=0.0000 now=0.0000 + MIDI CC 0|122 default=0.0000 now=0.0000 + MIDI CC 0|123 default=0.0000 now=0.0000 + MIDI CC 0|124 default=0.0000 now=0.0000 + MIDI CC 0|125 default=0.0000 now=0.0000 + MIDI CC 0|126 default=0.0000 now=0.0000 + MIDI CC 0|127 default=0.0000 now=0.0000 + MIDI CC 0|128 default=0.0000 now=0.0000 + MIDI CC 0|129 default=0.0000 now=0.0000 + MIDI CC 1|0 default=0.0000 now=0.0000 + MIDI CC 1|1 default=0.0000 now=0.0000 + MIDI CC 1|2 default=0.0000 now=0.0000 + MIDI CC 1|3 default=0.0000 now=0.0000 + MIDI CC 1|4 default=0.0000 now=0.0000 + MIDI CC 1|5 default=0.0000 now=0.0000 + MIDI CC 1|6 default=0.0000 now=0.0000 + MIDI CC 1|7 default=0.0000 now=0.0000 + MIDI CC 1|8 default=0.0000 now=0.0000 + MIDI CC 1|9 default=0.0000 now=0.0000 + MIDI CC 1|10 default=0.0000 now=0.0000 + MIDI CC 1|11 default=0.0000 now=0.0000 + MIDI CC 1|12 default=0.0000 now=0.0000 + MIDI CC 1|13 default=0.0000 now=0.0000 + MIDI CC 1|14 default=0.0000 now=0.0000 + MIDI CC 1|15 default=0.0000 now=0.0000 + MIDI CC 1|16 default=0.0000 now=0.0000 + MIDI CC 1|17 default=0.0000 now=0.0000 + MIDI CC 1|18 default=0.0000 now=0.0000 + MIDI CC 1|19 default=0.0000 now=0.0000 + MIDI CC 1|20 default=0.0000 now=0.0000 + MIDI CC 1|21 default=0.0000 now=0.0000 + MIDI CC 1|22 default=0.0000 now=0.0000 + MIDI CC 1|23 default=0.0000 now=0.0000 + MIDI CC 1|24 default=0.0000 now=0.0000 + MIDI CC 1|25 default=0.0000 now=0.0000 + MIDI CC 1|26 default=0.0000 now=0.0000 + MIDI CC 1|27 default=0.0000 now=0.0000 + MIDI CC 1|28 default=0.0000 now=0.0000 + MIDI CC 1|29 default=0.0000 now=0.0000 + MIDI CC 1|30 default=0.0000 now=0.0000 + MIDI CC 1|31 default=0.0000 now=0.0000 + MIDI CC 1|32 default=0.0000 now=0.0000 + MIDI CC 1|33 default=0.0000 now=0.0000 + MIDI CC 1|34 default=0.0000 now=0.0000 + MIDI CC 1|35 default=0.0000 now=0.0000 + MIDI CC 1|36 default=0.0000 now=0.0000 + MIDI CC 1|37 default=0.0000 now=0.0000 + MIDI CC 1|38 default=0.0000 now=0.0000 + MIDI CC 1|39 default=0.0000 now=0.0000 + MIDI CC 1|40 default=0.0000 now=0.0000 + MIDI CC 1|41 default=0.0000 now=0.0000 + MIDI CC 1|42 default=0.0000 now=0.0000 + MIDI CC 1|43 default=0.0000 now=0.0000 + MIDI CC 1|44 default=0.0000 now=0.0000 + MIDI CC 1|45 default=0.0000 now=0.0000 + MIDI CC 1|46 default=0.0000 now=0.0000 + MIDI CC 1|47 default=0.0000 now=0.0000 + MIDI CC 1|48 default=0.0000 now=0.0000 + MIDI CC 1|49 default=0.0000 now=0.0000 + MIDI CC 1|50 default=0.0000 now=0.0000 + MIDI CC 1|51 default=0.0000 now=0.0000 + MIDI CC 1|52 default=0.0000 now=0.0000 + MIDI CC 1|53 default=0.0000 now=0.0000 + MIDI CC 1|54 default=0.0000 now=0.0000 + MIDI CC 1|55 default=0.0000 now=0.0000 + MIDI CC 1|56 default=0.0000 now=0.0000 + MIDI CC 1|57 default=0.0000 now=0.0000 + MIDI CC 1|58 default=0.0000 now=0.0000 + MIDI CC 1|59 default=0.0000 now=0.0000 + MIDI CC 1|60 default=0.0000 now=0.0000 + MIDI CC 1|61 default=0.0000 now=0.0000 + MIDI CC 1|62 default=0.0000 now=0.0000 + MIDI CC 1|63 default=0.0000 now=0.0000 + MIDI CC 1|64 default=0.0000 now=0.0000 + MIDI CC 1|65 default=0.0000 now=0.0000 + MIDI CC 1|66 default=0.0000 now=0.0000 + MIDI CC 1|67 default=0.0000 now=0.0000 + MIDI CC 1|68 default=0.0000 now=0.0000 + MIDI CC 1|69 default=0.0000 now=0.0000 + MIDI CC 1|70 default=0.0000 now=0.0000 + MIDI CC 1|71 default=0.0000 now=0.0000 + MIDI CC 1|72 default=0.0000 now=0.0000 + MIDI CC 1|73 default=0.0000 now=0.0000 + MIDI CC 1|74 default=0.0000 now=0.0000 + MIDI CC 1|75 default=0.0000 now=0.0000 + MIDI CC 1|76 default=0.0000 now=0.0000 + MIDI CC 1|77 default=0.0000 now=0.0000 + MIDI CC 1|78 default=0.0000 now=0.0000 + MIDI CC 1|79 default=0.0000 now=0.0000 + MIDI CC 1|80 default=0.0000 now=0.0000 + MIDI CC 1|81 default=0.0000 now=0.0000 + MIDI CC 1|82 default=0.0000 now=0.0000 + MIDI CC 1|83 default=0.0000 now=0.0000 + MIDI CC 1|84 default=0.0000 now=0.0000 + MIDI CC 1|85 default=0.0000 now=0.0000 + MIDI CC 1|86 default=0.0000 now=0.0000 + MIDI CC 1|87 default=0.0000 now=0.0000 + MIDI CC 1|88 default=0.0000 now=0.0000 + MIDI CC 1|89 default=0.0000 now=0.0000 + MIDI CC 1|90 default=0.0000 now=0.0000 + MIDI CC 1|91 default=0.0000 now=0.0000 + MIDI CC 1|92 default=0.0000 now=0.0000 + MIDI CC 1|93 default=0.0000 now=0.0000 + MIDI CC 1|94 default=0.0000 now=0.0000 + MIDI CC 1|95 default=0.0000 now=0.0000 + MIDI CC 1|96 default=0.0000 now=0.0000 + MIDI CC 1|97 default=0.0000 now=0.0000 + MIDI CC 1|98 default=0.0000 now=0.0000 + MIDI CC 1|99 default=0.0000 now=0.0000 + MIDI CC 1|100 default=0.0000 now=0.0000 + MIDI CC 1|101 default=0.0000 now=0.0000 + MIDI CC 1|102 default=0.0000 now=0.0000 + MIDI CC 1|103 default=0.0000 now=0.0000 + MIDI CC 1|104 default=0.0000 now=0.0000 + MIDI CC 1|105 default=0.0000 now=0.0000 + MIDI CC 1|106 default=0.0000 now=0.0000 + MIDI CC 1|107 default=0.0000 now=0.0000 + MIDI CC 1|108 default=0.0000 now=0.0000 + MIDI CC 1|109 default=0.0000 now=0.0000 + MIDI CC 1|110 default=0.0000 now=0.0000 + MIDI CC 1|111 default=0.0000 now=0.0000 + MIDI CC 1|112 default=0.0000 now=0.0000 + MIDI CC 1|113 default=0.0000 now=0.0000 + MIDI CC 1|114 default=0.0000 now=0.0000 + MIDI CC 1|115 default=0.0000 now=0.0000 + MIDI CC 1|116 default=0.0000 now=0.0000 + MIDI CC 1|117 default=0.0000 now=0.0000 + MIDI CC 1|118 default=0.0000 now=0.0000 + MIDI CC 1|119 default=0.0000 now=0.0000 + MIDI CC 1|120 default=0.0000 now=0.0000 + MIDI CC 1|121 default=0.0000 now=0.0000 + MIDI CC 1|122 default=0.0000 now=0.0000 + MIDI CC 1|123 default=0.0000 now=0.0000 + MIDI CC 1|124 default=0.0000 now=0.0000 + MIDI CC 1|125 default=0.0000 now=0.0000 + MIDI CC 1|126 default=0.0000 now=0.0000 + MIDI CC 1|127 default=0.0000 now=0.0000 + MIDI CC 1|128 default=0.0000 now=0.0000 + MIDI CC 1|129 default=0.0000 now=0.0000 + MIDI CC 2|0 default=0.0000 now=0.0000 + MIDI CC 2|1 default=0.0000 now=0.0000 + MIDI CC 2|2 default=0.0000 now=0.0000 + MIDI CC 2|3 default=0.0000 now=0.0000 + MIDI CC 2|4 default=0.0000 now=0.0000 + MIDI CC 2|5 default=0.0000 now=0.0000 + MIDI CC 2|6 default=0.0000 now=0.0000 + MIDI CC 2|7 default=0.0000 now=0.0000 + MIDI CC 2|8 default=0.0000 now=0.0000 + MIDI CC 2|9 default=0.0000 now=0.0000 + MIDI CC 2|10 default=0.0000 now=0.0000 + MIDI CC 2|11 default=0.0000 now=0.0000 + MIDI CC 2|12 default=0.0000 now=0.0000 + MIDI CC 2|13 default=0.0000 now=0.0000 + MIDI CC 2|14 default=0.0000 now=0.0000 + MIDI CC 2|15 default=0.0000 now=0.0000 + MIDI CC 2|16 default=0.0000 now=0.0000 + MIDI CC 2|17 default=0.0000 now=0.0000 + MIDI CC 2|18 default=0.0000 now=0.0000 + MIDI CC 2|19 default=0.0000 now=0.0000 + MIDI CC 2|20 default=0.0000 now=0.0000 + MIDI CC 2|21 default=0.0000 now=0.0000 + MIDI CC 2|22 default=0.0000 now=0.0000 + MIDI CC 2|23 default=0.0000 now=0.0000 + MIDI CC 2|24 default=0.0000 now=0.0000 + MIDI CC 2|25 default=0.0000 now=0.0000 + MIDI CC 2|26 default=0.0000 now=0.0000 + MIDI CC 2|27 default=0.0000 now=0.0000 + MIDI CC 2|28 default=0.0000 now=0.0000 + MIDI CC 2|29 default=0.0000 now=0.0000 + MIDI CC 2|30 default=0.0000 now=0.0000 + MIDI CC 2|31 default=0.0000 now=0.0000 + MIDI CC 2|32 default=0.0000 now=0.0000 + MIDI CC 2|33 default=0.0000 now=0.0000 + MIDI CC 2|34 default=0.0000 now=0.0000 + MIDI CC 2|35 default=0.0000 now=0.0000 + MIDI CC 2|36 default=0.0000 now=0.0000 + MIDI CC 2|37 default=0.0000 now=0.0000 + MIDI CC 2|38 default=0.0000 now=0.0000 + MIDI CC 2|39 default=0.0000 now=0.0000 + MIDI CC 2|40 default=0.0000 now=0.0000 + MIDI CC 2|41 default=0.0000 now=0.0000 + MIDI CC 2|42 default=0.0000 now=0.0000 + MIDI CC 2|43 default=0.0000 now=0.0000 + MIDI CC 2|44 default=0.0000 now=0.0000 + MIDI CC 2|45 default=0.0000 now=0.0000 + MIDI CC 2|46 default=0.0000 now=0.0000 + MIDI CC 2|47 default=0.0000 now=0.0000 + MIDI CC 2|48 default=0.0000 now=0.0000 + MIDI CC 2|49 default=0.0000 now=0.0000 + MIDI CC 2|50 default=0.0000 now=0.0000 + MIDI CC 2|51 default=0.0000 now=0.0000 + MIDI CC 2|52 default=0.0000 now=0.0000 + MIDI CC 2|53 default=0.0000 now=0.0000 + MIDI CC 2|54 default=0.0000 now=0.0000 + MIDI CC 2|55 default=0.0000 now=0.0000 + MIDI CC 2|56 default=0.0000 now=0.0000 + MIDI CC 2|57 default=0.0000 now=0.0000 + MIDI CC 2|58 default=0.0000 now=0.0000 + MIDI CC 2|59 default=0.0000 now=0.0000 + MIDI CC 2|60 default=0.0000 now=0.0000 + MIDI CC 2|61 default=0.0000 now=0.0000 + MIDI CC 2|62 default=0.0000 now=0.0000 + MIDI CC 2|63 default=0.0000 now=0.0000 + MIDI CC 2|64 default=0.0000 now=0.0000 + MIDI CC 2|65 default=0.0000 now=0.0000 + MIDI CC 2|66 default=0.0000 now=0.0000 + MIDI CC 2|67 default=0.0000 now=0.0000 + MIDI CC 2|68 default=0.0000 now=0.0000 + MIDI CC 2|69 default=0.0000 now=0.0000 + MIDI CC 2|70 default=0.0000 now=0.0000 + MIDI CC 2|71 default=0.0000 now=0.0000 + MIDI CC 2|72 default=0.0000 now=0.0000 + MIDI CC 2|73 default=0.0000 now=0.0000 + MIDI CC 2|74 default=0.0000 now=0.0000 + MIDI CC 2|75 default=0.0000 now=0.0000 + MIDI CC 2|76 default=0.0000 now=0.0000 + MIDI CC 2|77 default=0.0000 now=0.0000 + MIDI CC 2|78 default=0.0000 now=0.0000 + MIDI CC 2|79 default=0.0000 now=0.0000 + MIDI CC 2|80 default=0.0000 now=0.0000 + MIDI CC 2|81 default=0.0000 now=0.0000 + MIDI CC 2|82 default=0.0000 now=0.0000 + MIDI CC 2|83 default=0.0000 now=0.0000 + MIDI CC 2|84 default=0.0000 now=0.0000 + MIDI CC 2|85 default=0.0000 now=0.0000 + MIDI CC 2|86 default=0.0000 now=0.0000 + MIDI CC 2|87 default=0.0000 now=0.0000 + MIDI CC 2|88 default=0.0000 now=0.0000 + MIDI CC 2|89 default=0.0000 now=0.0000 + MIDI CC 2|90 default=0.0000 now=0.0000 + MIDI CC 2|91 default=0.0000 now=0.0000 + MIDI CC 2|92 default=0.0000 now=0.0000 + MIDI CC 2|93 default=0.0000 now=0.0000 + MIDI CC 2|94 default=0.0000 now=0.0000 + MIDI CC 2|95 default=0.0000 now=0.0000 + MIDI CC 2|96 default=0.0000 now=0.0000 + MIDI CC 2|97 default=0.0000 now=0.0000 + MIDI CC 2|98 default=0.0000 now=0.0000 + MIDI CC 2|99 default=0.0000 now=0.0000 + MIDI CC 2|100 default=0.0000 now=0.0000 + MIDI CC 2|101 default=0.0000 now=0.0000 + MIDI CC 2|102 default=0.0000 now=0.0000 + MIDI CC 2|103 default=0.0000 now=0.0000 + MIDI CC 2|104 default=0.0000 now=0.0000 + MIDI CC 2|105 default=0.0000 now=0.0000 + MIDI CC 2|106 default=0.0000 now=0.0000 + MIDI CC 2|107 default=0.0000 now=0.0000 + MIDI CC 2|108 default=0.0000 now=0.0000 + MIDI CC 2|109 default=0.0000 now=0.0000 + MIDI CC 2|110 default=0.0000 now=0.0000 + MIDI CC 2|111 default=0.0000 now=0.0000 + MIDI CC 2|112 default=0.0000 now=0.0000 + MIDI CC 2|113 default=0.0000 now=0.0000 + MIDI CC 2|114 default=0.0000 now=0.0000 + MIDI CC 2|115 default=0.0000 now=0.0000 + MIDI CC 2|116 default=0.0000 now=0.0000 + MIDI CC 2|117 default=0.0000 now=0.0000 + MIDI CC 2|118 default=0.0000 now=0.0000 + MIDI CC 2|119 default=0.0000 now=0.0000 + MIDI CC 2|120 default=0.0000 now=0.0000 + MIDI CC 2|121 default=0.0000 now=0.0000 + MIDI CC 2|122 default=0.0000 now=0.0000 + MIDI CC 2|123 default=0.0000 now=0.0000 + MIDI CC 2|124 default=0.0000 now=0.0000 + MIDI CC 2|125 default=0.0000 now=0.0000 + MIDI CC 2|126 default=0.0000 now=0.0000 + MIDI CC 2|127 default=0.0000 now=0.0000 + MIDI CC 2|128 default=0.0000 now=0.0000 + MIDI CC 2|129 default=0.0000 now=0.0000 + MIDI CC 3|0 default=0.0000 now=0.0000 + MIDI CC 3|1 default=0.0000 now=0.0000 + MIDI CC 3|2 default=0.0000 now=0.0000 + MIDI CC 3|3 default=0.0000 now=0.0000 + MIDI CC 3|4 default=0.0000 now=0.0000 + MIDI CC 3|5 default=0.0000 now=0.0000 + MIDI CC 3|6 default=0.0000 now=0.0000 + MIDI CC 3|7 default=0.0000 now=0.0000 + MIDI CC 3|8 default=0.0000 now=0.0000 + MIDI CC 3|9 default=0.0000 now=0.0000 + MIDI CC 3|10 default=0.0000 now=0.0000 + MIDI CC 3|11 default=0.0000 now=0.0000 + MIDI CC 3|12 default=0.0000 now=0.0000 + MIDI CC 3|13 default=0.0000 now=0.0000 + MIDI CC 3|14 default=0.0000 now=0.0000 + MIDI CC 3|15 default=0.0000 now=0.0000 + MIDI CC 3|16 default=0.0000 now=0.0000 + MIDI CC 3|17 default=0.0000 now=0.0000 + MIDI CC 3|18 default=0.0000 now=0.0000 + MIDI CC 3|19 default=0.0000 now=0.0000 + MIDI CC 3|20 default=0.0000 now=0.0000 + MIDI CC 3|21 default=0.0000 now=0.0000 + MIDI CC 3|22 default=0.0000 now=0.0000 + MIDI CC 3|23 default=0.0000 now=0.0000 + MIDI CC 3|24 default=0.0000 now=0.0000 + MIDI CC 3|25 default=0.0000 now=0.0000 + MIDI CC 3|26 default=0.0000 now=0.0000 + MIDI CC 3|27 default=0.0000 now=0.0000 + MIDI CC 3|28 default=0.0000 now=0.0000 + MIDI CC 3|29 default=0.0000 now=0.0000 + MIDI CC 3|30 default=0.0000 now=0.0000 + MIDI CC 3|31 default=0.0000 now=0.0000 + MIDI CC 3|32 default=0.0000 now=0.0000 + MIDI CC 3|33 default=0.0000 now=0.0000 + MIDI CC 3|34 default=0.0000 now=0.0000 + MIDI CC 3|35 default=0.0000 now=0.0000 + MIDI CC 3|36 default=0.0000 now=0.0000 + MIDI CC 3|37 default=0.0000 now=0.0000 + MIDI CC 3|38 default=0.0000 now=0.0000 + MIDI CC 3|39 default=0.0000 now=0.0000 + MIDI CC 3|40 default=0.0000 now=0.0000 + MIDI CC 3|41 default=0.0000 now=0.0000 + MIDI CC 3|42 default=0.0000 now=0.0000 + MIDI CC 3|43 default=0.0000 now=0.0000 + MIDI CC 3|44 default=0.0000 now=0.0000 + MIDI CC 3|45 default=0.0000 now=0.0000 + MIDI CC 3|46 default=0.0000 now=0.0000 + MIDI CC 3|47 default=0.0000 now=0.0000 + MIDI CC 3|48 default=0.0000 now=0.0000 + MIDI CC 3|49 default=0.0000 now=0.0000 + MIDI CC 3|50 default=0.0000 now=0.0000 + MIDI CC 3|51 default=0.0000 now=0.0000 + MIDI CC 3|52 default=0.0000 now=0.0000 + MIDI CC 3|53 default=0.0000 now=0.0000 + MIDI CC 3|54 default=0.0000 now=0.0000 + MIDI CC 3|55 default=0.0000 now=0.0000 + MIDI CC 3|56 default=0.0000 now=0.0000 + MIDI CC 3|57 default=0.0000 now=0.0000 + MIDI CC 3|58 default=0.0000 now=0.0000 + MIDI CC 3|59 default=0.0000 now=0.0000 + MIDI CC 3|60 default=0.0000 now=0.0000 + MIDI CC 3|61 default=0.0000 now=0.0000 + MIDI CC 3|62 default=0.0000 now=0.0000 + MIDI CC 3|63 default=0.0000 now=0.0000 + MIDI CC 3|64 default=0.0000 now=0.0000 + MIDI CC 3|65 default=0.0000 now=0.0000 + MIDI CC 3|66 default=0.0000 now=0.0000 + MIDI CC 3|67 default=0.0000 now=0.0000 + MIDI CC 3|68 default=0.0000 now=0.0000 + MIDI CC 3|69 default=0.0000 now=0.0000 + MIDI CC 3|70 default=0.0000 now=0.0000 + MIDI CC 3|71 default=0.0000 now=0.0000 + MIDI CC 3|72 default=0.0000 now=0.0000 + MIDI CC 3|73 default=0.0000 now=0.0000 + MIDI CC 3|74 default=0.0000 now=0.0000 + MIDI CC 3|75 default=0.0000 now=0.0000 + MIDI CC 3|76 default=0.0000 now=0.0000 + MIDI CC 3|77 default=0.0000 now=0.0000 + MIDI CC 3|78 default=0.0000 now=0.0000 + MIDI CC 3|79 default=0.0000 now=0.0000 + MIDI CC 3|80 default=0.0000 now=0.0000 + MIDI CC 3|81 default=0.0000 now=0.0000 + MIDI CC 3|82 default=0.0000 now=0.0000 + MIDI CC 3|83 default=0.0000 now=0.0000 + MIDI CC 3|84 default=0.0000 now=0.0000 + MIDI CC 3|85 default=0.0000 now=0.0000 + MIDI CC 3|86 default=0.0000 now=0.0000 + MIDI CC 3|87 default=0.0000 now=0.0000 + MIDI CC 3|88 default=0.0000 now=0.0000 + MIDI CC 3|89 default=0.0000 now=0.0000 + MIDI CC 3|90 default=0.0000 now=0.0000 + MIDI CC 3|91 default=0.0000 now=0.0000 + MIDI CC 3|92 default=0.0000 now=0.0000 + MIDI CC 3|93 default=0.0000 now=0.0000 + MIDI CC 3|94 default=0.0000 now=0.0000 + MIDI CC 3|95 default=0.0000 now=0.0000 + MIDI CC 3|96 default=0.0000 now=0.0000 + MIDI CC 3|97 default=0.0000 now=0.0000 + MIDI CC 3|98 default=0.0000 now=0.0000 + MIDI CC 3|99 default=0.0000 now=0.0000 + MIDI CC 3|100 default=0.0000 now=0.0000 + MIDI CC 3|101 default=0.0000 now=0.0000 + MIDI CC 3|102 default=0.0000 now=0.0000 + MIDI CC 3|103 default=0.0000 now=0.0000 + MIDI CC 3|104 default=0.0000 now=0.0000 + MIDI CC 3|105 default=0.0000 now=0.0000 + MIDI CC 3|106 default=0.0000 now=0.0000 + MIDI CC 3|107 default=0.0000 now=0.0000 + MIDI CC 3|108 default=0.0000 now=0.0000 + MIDI CC 3|109 default=0.0000 now=0.0000 + MIDI CC 3|110 default=0.0000 now=0.0000 + MIDI CC 3|111 default=0.0000 now=0.0000 + MIDI CC 3|112 default=0.0000 now=0.0000 + MIDI CC 3|113 default=0.0000 now=0.0000 + MIDI CC 3|114 default=0.0000 now=0.0000 + MIDI CC 3|115 default=0.0000 now=0.0000 + MIDI CC 3|116 default=0.0000 now=0.0000 + MIDI CC 3|117 default=0.0000 now=0.0000 + MIDI CC 3|118 default=0.0000 now=0.0000 + MIDI CC 3|119 default=0.0000 now=0.0000 + MIDI CC 3|120 default=0.0000 now=0.0000 + MIDI CC 3|121 default=0.0000 now=0.0000 + MIDI CC 3|122 default=0.0000 now=0.0000 + MIDI CC 3|123 default=0.0000 now=0.0000 + MIDI CC 3|124 default=0.0000 now=0.0000 + MIDI CC 3|125 default=0.0000 now=0.0000 + MIDI CC 3|126 default=0.0000 now=0.0000 + MIDI CC 3|127 default=0.0000 now=0.0000 + MIDI CC 3|128 default=0.0000 now=0.0000 + MIDI CC 3|129 default=0.0000 now=0.0000 + MIDI CC 4|0 default=0.0000 now=0.0000 + MIDI CC 4|1 default=0.0000 now=0.0000 + MIDI CC 4|2 default=0.0000 now=0.0000 + MIDI CC 4|3 default=0.0000 now=0.0000 + MIDI CC 4|4 default=0.0000 now=0.0000 + MIDI CC 4|5 default=0.0000 now=0.0000 + MIDI CC 4|6 default=0.0000 now=0.0000 + MIDI CC 4|7 default=0.0000 now=0.0000 + MIDI CC 4|8 default=0.0000 now=0.0000 + MIDI CC 4|9 default=0.0000 now=0.0000 + MIDI CC 4|10 default=0.0000 now=0.0000 + MIDI CC 4|11 default=0.0000 now=0.0000 + MIDI CC 4|12 default=0.0000 now=0.0000 + MIDI CC 4|13 default=0.0000 now=0.0000 + MIDI CC 4|14 default=0.0000 now=0.0000 + MIDI CC 4|15 default=0.0000 now=0.0000 + MIDI CC 4|16 default=0.0000 now=0.0000 + MIDI CC 4|17 default=0.0000 now=0.0000 + MIDI CC 4|18 default=0.0000 now=0.0000 + MIDI CC 4|19 default=0.0000 now=0.0000 + MIDI CC 4|20 default=0.0000 now=0.0000 + MIDI CC 4|21 default=0.0000 now=0.0000 + MIDI CC 4|22 default=0.0000 now=0.0000 + MIDI CC 4|23 default=0.0000 now=0.0000 + MIDI CC 4|24 default=0.0000 now=0.0000 + MIDI CC 4|25 default=0.0000 now=0.0000 + MIDI CC 4|26 default=0.0000 now=0.0000 + MIDI CC 4|27 default=0.0000 now=0.0000 + MIDI CC 4|28 default=0.0000 now=0.0000 + MIDI CC 4|29 default=0.0000 now=0.0000 + MIDI CC 4|30 default=0.0000 now=0.0000 + MIDI CC 4|31 default=0.0000 now=0.0000 + MIDI CC 4|32 default=0.0000 now=0.0000 + MIDI CC 4|33 default=0.0000 now=0.0000 + MIDI CC 4|34 default=0.0000 now=0.0000 + MIDI CC 4|35 default=0.0000 now=0.0000 + MIDI CC 4|36 default=0.0000 now=0.0000 + MIDI CC 4|37 default=0.0000 now=0.0000 + MIDI CC 4|38 default=0.0000 now=0.0000 + MIDI CC 4|39 default=0.0000 now=0.0000 + MIDI CC 4|40 default=0.0000 now=0.0000 + MIDI CC 4|41 default=0.0000 now=0.0000 + MIDI CC 4|42 default=0.0000 now=0.0000 + MIDI CC 4|43 default=0.0000 now=0.0000 + MIDI CC 4|44 default=0.0000 now=0.0000 + MIDI CC 4|45 default=0.0000 now=0.0000 + MIDI CC 4|46 default=0.0000 now=0.0000 + MIDI CC 4|47 default=0.0000 now=0.0000 + MIDI CC 4|48 default=0.0000 now=0.0000 + MIDI CC 4|49 default=0.0000 now=0.0000 + MIDI CC 4|50 default=0.0000 now=0.0000 + MIDI CC 4|51 default=0.0000 now=0.0000 + MIDI CC 4|52 default=0.0000 now=0.0000 + MIDI CC 4|53 default=0.0000 now=0.0000 + MIDI CC 4|54 default=0.0000 now=0.0000 + MIDI CC 4|55 default=0.0000 now=0.0000 + MIDI CC 4|56 default=0.0000 now=0.0000 + MIDI CC 4|57 default=0.0000 now=0.0000 + MIDI CC 4|58 default=0.0000 now=0.0000 + MIDI CC 4|59 default=0.0000 now=0.0000 + MIDI CC 4|60 default=0.0000 now=0.0000 + MIDI CC 4|61 default=0.0000 now=0.0000 + MIDI CC 4|62 default=0.0000 now=0.0000 + MIDI CC 4|63 default=0.0000 now=0.0000 + MIDI CC 4|64 default=0.0000 now=0.0000 + MIDI CC 4|65 default=0.0000 now=0.0000 + MIDI CC 4|66 default=0.0000 now=0.0000 + MIDI CC 4|67 default=0.0000 now=0.0000 + MIDI CC 4|68 default=0.0000 now=0.0000 + MIDI CC 4|69 default=0.0000 now=0.0000 + MIDI CC 4|70 default=0.0000 now=0.0000 + MIDI CC 4|71 default=0.0000 now=0.0000 + MIDI CC 4|72 default=0.0000 now=0.0000 + MIDI CC 4|73 default=0.0000 now=0.0000 + MIDI CC 4|74 default=0.0000 now=0.0000 + MIDI CC 4|75 default=0.0000 now=0.0000 + MIDI CC 4|76 default=0.0000 now=0.0000 + MIDI CC 4|77 default=0.0000 now=0.0000 + MIDI CC 4|78 default=0.0000 now=0.0000 + MIDI CC 4|79 default=0.0000 now=0.0000 + MIDI CC 4|80 default=0.0000 now=0.0000 + MIDI CC 4|81 default=0.0000 now=0.0000 + MIDI CC 4|82 default=0.0000 now=0.0000 + MIDI CC 4|83 default=0.0000 now=0.0000 + MIDI CC 4|84 default=0.0000 now=0.0000 + MIDI CC 4|85 default=0.0000 now=0.0000 + MIDI CC 4|86 default=0.0000 now=0.0000 + MIDI CC 4|87 default=0.0000 now=0.0000 + MIDI CC 4|88 default=0.0000 now=0.0000 + MIDI CC 4|89 default=0.0000 now=0.0000 + MIDI CC 4|90 default=0.0000 now=0.0000 + MIDI CC 4|91 default=0.0000 now=0.0000 + MIDI CC 4|92 default=0.0000 now=0.0000 + MIDI CC 4|93 default=0.0000 now=0.0000 + MIDI CC 4|94 default=0.0000 now=0.0000 + MIDI CC 4|95 default=0.0000 now=0.0000 + MIDI CC 4|96 default=0.0000 now=0.0000 + MIDI CC 4|97 default=0.0000 now=0.0000 + MIDI CC 4|98 default=0.0000 now=0.0000 + MIDI CC 4|99 default=0.0000 now=0.0000 + MIDI CC 4|100 default=0.0000 now=0.0000 + MIDI CC 4|101 default=0.0000 now=0.0000 + MIDI CC 4|102 default=0.0000 now=0.0000 + MIDI CC 4|103 default=0.0000 now=0.0000 + MIDI CC 4|104 default=0.0000 now=0.0000 + MIDI CC 4|105 default=0.0000 now=0.0000 + MIDI CC 4|106 default=0.0000 now=0.0000 + MIDI CC 4|107 default=0.0000 now=0.0000 + MIDI CC 4|108 default=0.0000 now=0.0000 + MIDI CC 4|109 default=0.0000 now=0.0000 + MIDI CC 4|110 default=0.0000 now=0.0000 + MIDI CC 4|111 default=0.0000 now=0.0000 + MIDI CC 4|112 default=0.0000 now=0.0000 + MIDI CC 4|113 default=0.0000 now=0.0000 + MIDI CC 4|114 default=0.0000 now=0.0000 + MIDI CC 4|115 default=0.0000 now=0.0000 + MIDI CC 4|116 default=0.0000 now=0.0000 + MIDI CC 4|117 default=0.0000 now=0.0000 + MIDI CC 4|118 default=0.0000 now=0.0000 + MIDI CC 4|119 default=0.0000 now=0.0000 + MIDI CC 4|120 default=0.0000 now=0.0000 + MIDI CC 4|121 default=0.0000 now=0.0000 + MIDI CC 4|122 default=0.0000 now=0.0000 + MIDI CC 4|123 default=0.0000 now=0.0000 + MIDI CC 4|124 default=0.0000 now=0.0000 + MIDI CC 4|125 default=0.0000 now=0.0000 + MIDI CC 4|126 default=0.0000 now=0.0000 + MIDI CC 4|127 default=0.0000 now=0.0000 + MIDI CC 4|128 default=0.0000 now=0.0000 + MIDI CC 4|129 default=0.0000 now=0.0000 + MIDI CC 5|0 default=0.0000 now=0.0000 + MIDI CC 5|1 default=0.0000 now=0.0000 + MIDI CC 5|2 default=0.0000 now=0.0000 + MIDI CC 5|3 default=0.0000 now=0.0000 + MIDI CC 5|4 default=0.0000 now=0.0000 + MIDI CC 5|5 default=0.0000 now=0.0000 + MIDI CC 5|6 default=0.0000 now=0.0000 + MIDI CC 5|7 default=0.0000 now=0.0000 + MIDI CC 5|8 default=0.0000 now=0.0000 + MIDI CC 5|9 default=0.0000 now=0.0000 + MIDI CC 5|10 default=0.0000 now=0.0000 + MIDI CC 5|11 default=0.0000 now=0.0000 + MIDI CC 5|12 default=0.0000 now=0.0000 + MIDI CC 5|13 default=0.0000 now=0.0000 + MIDI CC 5|14 default=0.0000 now=0.0000 + MIDI CC 5|15 default=0.0000 now=0.0000 + MIDI CC 5|16 default=0.0000 now=0.0000 + MIDI CC 5|17 default=0.0000 now=0.0000 + MIDI CC 5|18 default=0.0000 now=0.0000 + MIDI CC 5|19 default=0.0000 now=0.0000 + MIDI CC 5|20 default=0.0000 now=0.0000 + MIDI CC 5|21 default=0.0000 now=0.0000 + MIDI CC 5|22 default=0.0000 now=0.0000 + MIDI CC 5|23 default=0.0000 now=0.0000 + MIDI CC 5|24 default=0.0000 now=0.0000 + MIDI CC 5|25 default=0.0000 now=0.0000 + MIDI CC 5|26 default=0.0000 now=0.0000 + MIDI CC 5|27 default=0.0000 now=0.0000 + MIDI CC 5|28 default=0.0000 now=0.0000 + MIDI CC 5|29 default=0.0000 now=0.0000 + MIDI CC 5|30 default=0.0000 now=0.0000 + MIDI CC 5|31 default=0.0000 now=0.0000 + MIDI CC 5|32 default=0.0000 now=0.0000 + MIDI CC 5|33 default=0.0000 now=0.0000 + MIDI CC 5|34 default=0.0000 now=0.0000 + MIDI CC 5|35 default=0.0000 now=0.0000 + MIDI CC 5|36 default=0.0000 now=0.0000 + MIDI CC 5|37 default=0.0000 now=0.0000 + MIDI CC 5|38 default=0.0000 now=0.0000 + MIDI CC 5|39 default=0.0000 now=0.0000 + MIDI CC 5|40 default=0.0000 now=0.0000 + MIDI CC 5|41 default=0.0000 now=0.0000 + MIDI CC 5|42 default=0.0000 now=0.0000 + MIDI CC 5|43 default=0.0000 now=0.0000 + MIDI CC 5|44 default=0.0000 now=0.0000 + MIDI CC 5|45 default=0.0000 now=0.0000 + MIDI CC 5|46 default=0.0000 now=0.0000 + MIDI CC 5|47 default=0.0000 now=0.0000 + MIDI CC 5|48 default=0.0000 now=0.0000 + MIDI CC 5|49 default=0.0000 now=0.0000 + MIDI CC 5|50 default=0.0000 now=0.0000 + MIDI CC 5|51 default=0.0000 now=0.0000 + MIDI CC 5|52 default=0.0000 now=0.0000 + MIDI CC 5|53 default=0.0000 now=0.0000 + MIDI CC 5|54 default=0.0000 now=0.0000 + MIDI CC 5|55 default=0.0000 now=0.0000 + MIDI CC 5|56 default=0.0000 now=0.0000 + MIDI CC 5|57 default=0.0000 now=0.0000 + MIDI CC 5|58 default=0.0000 now=0.0000 + MIDI CC 5|59 default=0.0000 now=0.0000 + MIDI CC 5|60 default=0.0000 now=0.0000 + MIDI CC 5|61 default=0.0000 now=0.0000 + MIDI CC 5|62 default=0.0000 now=0.0000 + MIDI CC 5|63 default=0.0000 now=0.0000 + MIDI CC 5|64 default=0.0000 now=0.0000 + MIDI CC 5|65 default=0.0000 now=0.0000 + MIDI CC 5|66 default=0.0000 now=0.0000 + MIDI CC 5|67 default=0.0000 now=0.0000 + MIDI CC 5|68 default=0.0000 now=0.0000 + MIDI CC 5|69 default=0.0000 now=0.0000 + MIDI CC 5|70 default=0.0000 now=0.0000 + MIDI CC 5|71 default=0.0000 now=0.0000 + MIDI CC 5|72 default=0.0000 now=0.0000 + MIDI CC 5|73 default=0.0000 now=0.0000 + MIDI CC 5|74 default=0.0000 now=0.0000 + MIDI CC 5|75 default=0.0000 now=0.0000 + MIDI CC 5|76 default=0.0000 now=0.0000 + MIDI CC 5|77 default=0.0000 now=0.0000 + MIDI CC 5|78 default=0.0000 now=0.0000 + MIDI CC 5|79 default=0.0000 now=0.0000 + MIDI CC 5|80 default=0.0000 now=0.0000 + MIDI CC 5|81 default=0.0000 now=0.0000 + MIDI CC 5|82 default=0.0000 now=0.0000 + MIDI CC 5|83 default=0.0000 now=0.0000 + MIDI CC 5|84 default=0.0000 now=0.0000 + MIDI CC 5|85 default=0.0000 now=0.0000 + MIDI CC 5|86 default=0.0000 now=0.0000 + MIDI CC 5|87 default=0.0000 now=0.0000 + MIDI CC 5|88 default=0.0000 now=0.0000 + MIDI CC 5|89 default=0.0000 now=0.0000 + MIDI CC 5|90 default=0.0000 now=0.0000 + MIDI CC 5|91 default=0.0000 now=0.0000 + MIDI CC 5|92 default=0.0000 now=0.0000 + MIDI CC 5|93 default=0.0000 now=0.0000 + MIDI CC 5|94 default=0.0000 now=0.0000 + MIDI CC 5|95 default=0.0000 now=0.0000 + MIDI CC 5|96 default=0.0000 now=0.0000 + MIDI CC 5|97 default=0.0000 now=0.0000 + MIDI CC 5|98 default=0.0000 now=0.0000 + MIDI CC 5|99 default=0.0000 now=0.0000 + MIDI CC 5|100 default=0.0000 now=0.0000 + MIDI CC 5|101 default=0.0000 now=0.0000 + MIDI CC 5|102 default=0.0000 now=0.0000 + MIDI CC 5|103 default=0.0000 now=0.0000 + MIDI CC 5|104 default=0.0000 now=0.0000 + MIDI CC 5|105 default=0.0000 now=0.0000 + MIDI CC 5|106 default=0.0000 now=0.0000 + MIDI CC 5|107 default=0.0000 now=0.0000 + MIDI CC 5|108 default=0.0000 now=0.0000 + MIDI CC 5|109 default=0.0000 now=0.0000 + MIDI CC 5|110 default=0.0000 now=0.0000 + MIDI CC 5|111 default=0.0000 now=0.0000 + MIDI CC 5|112 default=0.0000 now=0.0000 + MIDI CC 5|113 default=0.0000 now=0.0000 + MIDI CC 5|114 default=0.0000 now=0.0000 + MIDI CC 5|115 default=0.0000 now=0.0000 + MIDI CC 5|116 default=0.0000 now=0.0000 + MIDI CC 5|117 default=0.0000 now=0.0000 + MIDI CC 5|118 default=0.0000 now=0.0000 + MIDI CC 5|119 default=0.0000 now=0.0000 + MIDI CC 5|120 default=0.0000 now=0.0000 + MIDI CC 5|121 default=0.0000 now=0.0000 + MIDI CC 5|122 default=0.0000 now=0.0000 + MIDI CC 5|123 default=0.0000 now=0.0000 + MIDI CC 5|124 default=0.0000 now=0.0000 + MIDI CC 5|125 default=0.0000 now=0.0000 + MIDI CC 5|126 default=0.0000 now=0.0000 + MIDI CC 5|127 default=0.0000 now=0.0000 + MIDI CC 5|128 default=0.0000 now=0.0000 + MIDI CC 5|129 default=0.0000 now=0.0000 + MIDI CC 6|0 default=0.0000 now=0.0000 + MIDI CC 6|1 default=0.0000 now=0.0000 + MIDI CC 6|2 default=0.0000 now=0.0000 + MIDI CC 6|3 default=0.0000 now=0.0000 + MIDI CC 6|4 default=0.0000 now=0.0000 + MIDI CC 6|5 default=0.0000 now=0.0000 + MIDI CC 6|6 default=0.0000 now=0.0000 + MIDI CC 6|7 default=0.0000 now=0.0000 + MIDI CC 6|8 default=0.0000 now=0.0000 + MIDI CC 6|9 default=0.0000 now=0.0000 + MIDI CC 6|10 default=0.0000 now=0.0000 + MIDI CC 6|11 default=0.0000 now=0.0000 + MIDI CC 6|12 default=0.0000 now=0.0000 + MIDI CC 6|13 default=0.0000 now=0.0000 + MIDI CC 6|14 default=0.0000 now=0.0000 + MIDI CC 6|15 default=0.0000 now=0.0000 + MIDI CC 6|16 default=0.0000 now=0.0000 + MIDI CC 6|17 default=0.0000 now=0.0000 + MIDI CC 6|18 default=0.0000 now=0.0000 + MIDI CC 6|19 default=0.0000 now=0.0000 + MIDI CC 6|20 default=0.0000 now=0.0000 + MIDI CC 6|21 default=0.0000 now=0.0000 + MIDI CC 6|22 default=0.0000 now=0.0000 + MIDI CC 6|23 default=0.0000 now=0.0000 + MIDI CC 6|24 default=0.0000 now=0.0000 + MIDI CC 6|25 default=0.0000 now=0.0000 + MIDI CC 6|26 default=0.0000 now=0.0000 + MIDI CC 6|27 default=0.0000 now=0.0000 + MIDI CC 6|28 default=0.0000 now=0.0000 + MIDI CC 6|29 default=0.0000 now=0.0000 + MIDI CC 6|30 default=0.0000 now=0.0000 + MIDI CC 6|31 default=0.0000 now=0.0000 + MIDI CC 6|32 default=0.0000 now=0.0000 + MIDI CC 6|33 default=0.0000 now=0.0000 + MIDI CC 6|34 default=0.0000 now=0.0000 + MIDI CC 6|35 default=0.0000 now=0.0000 + MIDI CC 6|36 default=0.0000 now=0.0000 + MIDI CC 6|37 default=0.0000 now=0.0000 + MIDI CC 6|38 default=0.0000 now=0.0000 + MIDI CC 6|39 default=0.0000 now=0.0000 + MIDI CC 6|40 default=0.0000 now=0.0000 + MIDI CC 6|41 default=0.0000 now=0.0000 + MIDI CC 6|42 default=0.0000 now=0.0000 + MIDI CC 6|43 default=0.0000 now=0.0000 + MIDI CC 6|44 default=0.0000 now=0.0000 + MIDI CC 6|45 default=0.0000 now=0.0000 + MIDI CC 6|46 default=0.0000 now=0.0000 + MIDI CC 6|47 default=0.0000 now=0.0000 + MIDI CC 6|48 default=0.0000 now=0.0000 + MIDI CC 6|49 default=0.0000 now=0.0000 + MIDI CC 6|50 default=0.0000 now=0.0000 + MIDI CC 6|51 default=0.0000 now=0.0000 + MIDI CC 6|52 default=0.0000 now=0.0000 + MIDI CC 6|53 default=0.0000 now=0.0000 + MIDI CC 6|54 default=0.0000 now=0.0000 + MIDI CC 6|55 default=0.0000 now=0.0000 + MIDI CC 6|56 default=0.0000 now=0.0000 + MIDI CC 6|57 default=0.0000 now=0.0000 + MIDI CC 6|58 default=0.0000 now=0.0000 + MIDI CC 6|59 default=0.0000 now=0.0000 + MIDI CC 6|60 default=0.0000 now=0.0000 + MIDI CC 6|61 default=0.0000 now=0.0000 + MIDI CC 6|62 default=0.0000 now=0.0000 + MIDI CC 6|63 default=0.0000 now=0.0000 + MIDI CC 6|64 default=0.0000 now=0.0000 + MIDI CC 6|65 default=0.0000 now=0.0000 + MIDI CC 6|66 default=0.0000 now=0.0000 + MIDI CC 6|67 default=0.0000 now=0.0000 + MIDI CC 6|68 default=0.0000 now=0.0000 + MIDI CC 6|69 default=0.0000 now=0.0000 + MIDI CC 6|70 default=0.0000 now=0.0000 + MIDI CC 6|71 default=0.0000 now=0.0000 + MIDI CC 6|72 default=0.0000 now=0.0000 + MIDI CC 6|73 default=0.0000 now=0.0000 + MIDI CC 6|74 default=0.0000 now=0.0000 + MIDI CC 6|75 default=0.0000 now=0.0000 + MIDI CC 6|76 default=0.0000 now=0.0000 + MIDI CC 6|77 default=0.0000 now=0.0000 + MIDI CC 6|78 default=0.0000 now=0.0000 + MIDI CC 6|79 default=0.0000 now=0.0000 + MIDI CC 6|80 default=0.0000 now=0.0000 + MIDI CC 6|81 default=0.0000 now=0.0000 + MIDI CC 6|82 default=0.0000 now=0.0000 + MIDI CC 6|83 default=0.0000 now=0.0000 + MIDI CC 6|84 default=0.0000 now=0.0000 + MIDI CC 6|85 default=0.0000 now=0.0000 + MIDI CC 6|86 default=0.0000 now=0.0000 + MIDI CC 6|87 default=0.0000 now=0.0000 + MIDI CC 6|88 default=0.0000 now=0.0000 + MIDI CC 6|89 default=0.0000 now=0.0000 + MIDI CC 6|90 default=0.0000 now=0.0000 + MIDI CC 6|91 default=0.0000 now=0.0000 + MIDI CC 6|92 default=0.0000 now=0.0000 + MIDI CC 6|93 default=0.0000 now=0.0000 + MIDI CC 6|94 default=0.0000 now=0.0000 + MIDI CC 6|95 default=0.0000 now=0.0000 + MIDI CC 6|96 default=0.0000 now=0.0000 + MIDI CC 6|97 default=0.0000 now=0.0000 + MIDI CC 6|98 default=0.0000 now=0.0000 + MIDI CC 6|99 default=0.0000 now=0.0000 + MIDI CC 6|100 default=0.0000 now=0.0000 + MIDI CC 6|101 default=0.0000 now=0.0000 + MIDI CC 6|102 default=0.0000 now=0.0000 + MIDI CC 6|103 default=0.0000 now=0.0000 + MIDI CC 6|104 default=0.0000 now=0.0000 + MIDI CC 6|105 default=0.0000 now=0.0000 + MIDI CC 6|106 default=0.0000 now=0.0000 + MIDI CC 6|107 default=0.0000 now=0.0000 + MIDI CC 6|108 default=0.0000 now=0.0000 + MIDI CC 6|109 default=0.0000 now=0.0000 + MIDI CC 6|110 default=0.0000 now=0.0000 + MIDI CC 6|111 default=0.0000 now=0.0000 + MIDI CC 6|112 default=0.0000 now=0.0000 + MIDI CC 6|113 default=0.0000 now=0.0000 + MIDI CC 6|114 default=0.0000 now=0.0000 + MIDI CC 6|115 default=0.0000 now=0.0000 + MIDI CC 6|116 default=0.0000 now=0.0000 + MIDI CC 6|117 default=0.0000 now=0.0000 + MIDI CC 6|118 default=0.0000 now=0.0000 + MIDI CC 6|119 default=0.0000 now=0.0000 + MIDI CC 6|120 default=0.0000 now=0.0000 + MIDI CC 6|121 default=0.0000 now=0.0000 + MIDI CC 6|122 default=0.0000 now=0.0000 + MIDI CC 6|123 default=0.0000 now=0.0000 + MIDI CC 6|124 default=0.0000 now=0.0000 + MIDI CC 6|125 default=0.0000 now=0.0000 + MIDI CC 6|126 default=0.0000 now=0.0000 + MIDI CC 6|127 default=0.0000 now=0.0000 + MIDI CC 6|128 default=0.0000 now=0.0000 + MIDI CC 6|129 default=0.0000 now=0.0000 + MIDI CC 7|0 default=0.0000 now=0.0000 + MIDI CC 7|1 default=0.0000 now=0.0000 + MIDI CC 7|2 default=0.0000 now=0.0000 + MIDI CC 7|3 default=0.0000 now=0.0000 + MIDI CC 7|4 default=0.0000 now=0.0000 + MIDI CC 7|5 default=0.0000 now=0.0000 + MIDI CC 7|6 default=0.0000 now=0.0000 + MIDI CC 7|7 default=0.0000 now=0.0000 + MIDI CC 7|8 default=0.0000 now=0.0000 + MIDI CC 7|9 default=0.0000 now=0.0000 + MIDI CC 7|10 default=0.0000 now=0.0000 + MIDI CC 7|11 default=0.0000 now=0.0000 + MIDI CC 7|12 default=0.0000 now=0.0000 + MIDI CC 7|13 default=0.0000 now=0.0000 + MIDI CC 7|14 default=0.0000 now=0.0000 + MIDI CC 7|15 default=0.0000 now=0.0000 + MIDI CC 7|16 default=0.0000 now=0.0000 + MIDI CC 7|17 default=0.0000 now=0.0000 + MIDI CC 7|18 default=0.0000 now=0.0000 + MIDI CC 7|19 default=0.0000 now=0.0000 + MIDI CC 7|20 default=0.0000 now=0.0000 + MIDI CC 7|21 default=0.0000 now=0.0000 + MIDI CC 7|22 default=0.0000 now=0.0000 + MIDI CC 7|23 default=0.0000 now=0.0000 + MIDI CC 7|24 default=0.0000 now=0.0000 + MIDI CC 7|25 default=0.0000 now=0.0000 + MIDI CC 7|26 default=0.0000 now=0.0000 + MIDI CC 7|27 default=0.0000 now=0.0000 + MIDI CC 7|28 default=0.0000 now=0.0000 + MIDI CC 7|29 default=0.0000 now=0.0000 + MIDI CC 7|30 default=0.0000 now=0.0000 + MIDI CC 7|31 default=0.0000 now=0.0000 + MIDI CC 7|32 default=0.0000 now=0.0000 + MIDI CC 7|33 default=0.0000 now=0.0000 + MIDI CC 7|34 default=0.0000 now=0.0000 + MIDI CC 7|35 default=0.0000 now=0.0000 + MIDI CC 7|36 default=0.0000 now=0.0000 + MIDI CC 7|37 default=0.0000 now=0.0000 + MIDI CC 7|38 default=0.0000 now=0.0000 + MIDI CC 7|39 default=0.0000 now=0.0000 + MIDI CC 7|40 default=0.0000 now=0.0000 + MIDI CC 7|41 default=0.0000 now=0.0000 + MIDI CC 7|42 default=0.0000 now=0.0000 + MIDI CC 7|43 default=0.0000 now=0.0000 + MIDI CC 7|44 default=0.0000 now=0.0000 + MIDI CC 7|45 default=0.0000 now=0.0000 + MIDI CC 7|46 default=0.0000 now=0.0000 + MIDI CC 7|47 default=0.0000 now=0.0000 + MIDI CC 7|48 default=0.0000 now=0.0000 + MIDI CC 7|49 default=0.0000 now=0.0000 + MIDI CC 7|50 default=0.0000 now=0.0000 + MIDI CC 7|51 default=0.0000 now=0.0000 + MIDI CC 7|52 default=0.0000 now=0.0000 + MIDI CC 7|53 default=0.0000 now=0.0000 + MIDI CC 7|54 default=0.0000 now=0.0000 + MIDI CC 7|55 default=0.0000 now=0.0000 + MIDI CC 7|56 default=0.0000 now=0.0000 + MIDI CC 7|57 default=0.0000 now=0.0000 + MIDI CC 7|58 default=0.0000 now=0.0000 + MIDI CC 7|59 default=0.0000 now=0.0000 + MIDI CC 7|60 default=0.0000 now=0.0000 + MIDI CC 7|61 default=0.0000 now=0.0000 + MIDI CC 7|62 default=0.0000 now=0.0000 + MIDI CC 7|63 default=0.0000 now=0.0000 + MIDI CC 7|64 default=0.0000 now=0.0000 + MIDI CC 7|65 default=0.0000 now=0.0000 + MIDI CC 7|66 default=0.0000 now=0.0000 + MIDI CC 7|67 default=0.0000 now=0.0000 + MIDI CC 7|68 default=0.0000 now=0.0000 + MIDI CC 7|69 default=0.0000 now=0.0000 + MIDI CC 7|70 default=0.0000 now=0.0000 + MIDI CC 7|71 default=0.0000 now=0.0000 + MIDI CC 7|72 default=0.0000 now=0.0000 + MIDI CC 7|73 default=0.0000 now=0.0000 + MIDI CC 7|74 default=0.0000 now=0.0000 + MIDI CC 7|75 default=0.0000 now=0.0000 + MIDI CC 7|76 default=0.0000 now=0.0000 + MIDI CC 7|77 default=0.0000 now=0.0000 + MIDI CC 7|78 default=0.0000 now=0.0000 + MIDI CC 7|79 default=0.0000 now=0.0000 + MIDI CC 7|80 default=0.0000 now=0.0000 + MIDI CC 7|81 default=0.0000 now=0.0000 + MIDI CC 7|82 default=0.0000 now=0.0000 + MIDI CC 7|83 default=0.0000 now=0.0000 + MIDI CC 7|84 default=0.0000 now=0.0000 + MIDI CC 7|85 default=0.0000 now=0.0000 + MIDI CC 7|86 default=0.0000 now=0.0000 + MIDI CC 7|87 default=0.0000 now=0.0000 + MIDI CC 7|88 default=0.0000 now=0.0000 + MIDI CC 7|89 default=0.0000 now=0.0000 + MIDI CC 7|90 default=0.0000 now=0.0000 + MIDI CC 7|91 default=0.0000 now=0.0000 + MIDI CC 7|92 default=0.0000 now=0.0000 + MIDI CC 7|93 default=0.0000 now=0.0000 + MIDI CC 7|94 default=0.0000 now=0.0000 + MIDI CC 7|95 default=0.0000 now=0.0000 + MIDI CC 7|96 default=0.0000 now=0.0000 + MIDI CC 7|97 default=0.0000 now=0.0000 + MIDI CC 7|98 default=0.0000 now=0.0000 + MIDI CC 7|99 default=0.0000 now=0.0000 + MIDI CC 7|100 default=0.0000 now=0.0000 + MIDI CC 7|101 default=0.0000 now=0.0000 + MIDI CC 7|102 default=0.0000 now=0.0000 + MIDI CC 7|103 default=0.0000 now=0.0000 + MIDI CC 7|104 default=0.0000 now=0.0000 + MIDI CC 7|105 default=0.0000 now=0.0000 + MIDI CC 7|106 default=0.0000 now=0.0000 + MIDI CC 7|107 default=0.0000 now=0.0000 + MIDI CC 7|108 default=0.0000 now=0.0000 + MIDI CC 7|109 default=0.0000 now=0.0000 + MIDI CC 7|110 default=0.0000 now=0.0000 + MIDI CC 7|111 default=0.0000 now=0.0000 + MIDI CC 7|112 default=0.0000 now=0.0000 + MIDI CC 7|113 default=0.0000 now=0.0000 + MIDI CC 7|114 default=0.0000 now=0.0000 + MIDI CC 7|115 default=0.0000 now=0.0000 + MIDI CC 7|116 default=0.0000 now=0.0000 + MIDI CC 7|117 default=0.0000 now=0.0000 + MIDI CC 7|118 default=0.0000 now=0.0000 + MIDI CC 7|119 default=0.0000 now=0.0000 + MIDI CC 7|120 default=0.0000 now=0.0000 + MIDI CC 7|121 default=0.0000 now=0.0000 + MIDI CC 7|122 default=0.0000 now=0.0000 + MIDI CC 7|123 default=0.0000 now=0.0000 + MIDI CC 7|124 default=0.0000 now=0.0000 + MIDI CC 7|125 default=0.0000 now=0.0000 + MIDI CC 7|126 default=0.0000 now=0.0000 + MIDI CC 7|127 default=0.0000 now=0.0000 + MIDI CC 7|128 default=0.0000 now=0.0000 + MIDI CC 7|129 default=0.0000 now=0.0000 + MIDI CC 8|0 default=0.0000 now=0.0000 + MIDI CC 8|1 default=0.0000 now=0.0000 + MIDI CC 8|2 default=0.0000 now=0.0000 + MIDI CC 8|3 default=0.0000 now=0.0000 + MIDI CC 8|4 default=0.0000 now=0.0000 + MIDI CC 8|5 default=0.0000 now=0.0000 + MIDI CC 8|6 default=0.0000 now=0.0000 + MIDI CC 8|7 default=0.0000 now=0.0000 + MIDI CC 8|8 default=0.0000 now=0.0000 + MIDI CC 8|9 default=0.0000 now=0.0000 + MIDI CC 8|10 default=0.0000 now=0.0000 + MIDI CC 8|11 default=0.0000 now=0.0000 + MIDI CC 8|12 default=0.0000 now=0.0000 + MIDI CC 8|13 default=0.0000 now=0.0000 + MIDI CC 8|14 default=0.0000 now=0.0000 + MIDI CC 8|15 default=0.0000 now=0.0000 + MIDI CC 8|16 default=0.0000 now=0.0000 + MIDI CC 8|17 default=0.0000 now=0.0000 + MIDI CC 8|18 default=0.0000 now=0.0000 + MIDI CC 8|19 default=0.0000 now=0.0000 + MIDI CC 8|20 default=0.0000 now=0.0000 + MIDI CC 8|21 default=0.0000 now=0.0000 + MIDI CC 8|22 default=0.0000 now=0.0000 + MIDI CC 8|23 default=0.0000 now=0.0000 + MIDI CC 8|24 default=0.0000 now=0.0000 + MIDI CC 8|25 default=0.0000 now=0.0000 + MIDI CC 8|26 default=0.0000 now=0.0000 + MIDI CC 8|27 default=0.0000 now=0.0000 + MIDI CC 8|28 default=0.0000 now=0.0000 + MIDI CC 8|29 default=0.0000 now=0.0000 + MIDI CC 8|30 default=0.0000 now=0.0000 + MIDI CC 8|31 default=0.0000 now=0.0000 + MIDI CC 8|32 default=0.0000 now=0.0000 + MIDI CC 8|33 default=0.0000 now=0.0000 + MIDI CC 8|34 default=0.0000 now=0.0000 + MIDI CC 8|35 default=0.0000 now=0.0000 + MIDI CC 8|36 default=0.0000 now=0.0000 + MIDI CC 8|37 default=0.0000 now=0.0000 + MIDI CC 8|38 default=0.0000 now=0.0000 + MIDI CC 8|39 default=0.0000 now=0.0000 + MIDI CC 8|40 default=0.0000 now=0.0000 + MIDI CC 8|41 default=0.0000 now=0.0000 + MIDI CC 8|42 default=0.0000 now=0.0000 + MIDI CC 8|43 default=0.0000 now=0.0000 + MIDI CC 8|44 default=0.0000 now=0.0000 + MIDI CC 8|45 default=0.0000 now=0.0000 + MIDI CC 8|46 default=0.0000 now=0.0000 + MIDI CC 8|47 default=0.0000 now=0.0000 + MIDI CC 8|48 default=0.0000 now=0.0000 + MIDI CC 8|49 default=0.0000 now=0.0000 + MIDI CC 8|50 default=0.0000 now=0.0000 + MIDI CC 8|51 default=0.0000 now=0.0000 + MIDI CC 8|52 default=0.0000 now=0.0000 + MIDI CC 8|53 default=0.0000 now=0.0000 + MIDI CC 8|54 default=0.0000 now=0.0000 + MIDI CC 8|55 default=0.0000 now=0.0000 + MIDI CC 8|56 default=0.0000 now=0.0000 + MIDI CC 8|57 default=0.0000 now=0.0000 + MIDI CC 8|58 default=0.0000 now=0.0000 + MIDI CC 8|59 default=0.0000 now=0.0000 + MIDI CC 8|60 default=0.0000 now=0.0000 + MIDI CC 8|61 default=0.0000 now=0.0000 + MIDI CC 8|62 default=0.0000 now=0.0000 + MIDI CC 8|63 default=0.0000 now=0.0000 + MIDI CC 8|64 default=0.0000 now=0.0000 + MIDI CC 8|65 default=0.0000 now=0.0000 + MIDI CC 8|66 default=0.0000 now=0.0000 + MIDI CC 8|67 default=0.0000 now=0.0000 + MIDI CC 8|68 default=0.0000 now=0.0000 + MIDI CC 8|69 default=0.0000 now=0.0000 + MIDI CC 8|70 default=0.0000 now=0.0000 + MIDI CC 8|71 default=0.0000 now=0.0000 + MIDI CC 8|72 default=0.0000 now=0.0000 + MIDI CC 8|73 default=0.0000 now=0.0000 + MIDI CC 8|74 default=0.0000 now=0.0000 + MIDI CC 8|75 default=0.0000 now=0.0000 + MIDI CC 8|76 default=0.0000 now=0.0000 + MIDI CC 8|77 default=0.0000 now=0.0000 + MIDI CC 8|78 default=0.0000 now=0.0000 + MIDI CC 8|79 default=0.0000 now=0.0000 + MIDI CC 8|80 default=0.0000 now=0.0000 + MIDI CC 8|81 default=0.0000 now=0.0000 + MIDI CC 8|82 default=0.0000 now=0.0000 + MIDI CC 8|83 default=0.0000 now=0.0000 + MIDI CC 8|84 default=0.0000 now=0.0000 + MIDI CC 8|85 default=0.0000 now=0.0000 + MIDI CC 8|86 default=0.0000 now=0.0000 + MIDI CC 8|87 default=0.0000 now=0.0000 + MIDI CC 8|88 default=0.0000 now=0.0000 + MIDI CC 8|89 default=0.0000 now=0.0000 + MIDI CC 8|90 default=0.0000 now=0.0000 + MIDI CC 8|91 default=0.0000 now=0.0000 + MIDI CC 8|92 default=0.0000 now=0.0000 + MIDI CC 8|93 default=0.0000 now=0.0000 + MIDI CC 8|94 default=0.0000 now=0.0000 + MIDI CC 8|95 default=0.0000 now=0.0000 + MIDI CC 8|96 default=0.0000 now=0.0000 + MIDI CC 8|97 default=0.0000 now=0.0000 + MIDI CC 8|98 default=0.0000 now=0.0000 + MIDI CC 8|99 default=0.0000 now=0.0000 + MIDI CC 8|100 default=0.0000 now=0.0000 + MIDI CC 8|101 default=0.0000 now=0.0000 + MIDI CC 8|102 default=0.0000 now=0.0000 + MIDI CC 8|103 default=0.0000 now=0.0000 + MIDI CC 8|104 default=0.0000 now=0.0000 + MIDI CC 8|105 default=0.0000 now=0.0000 + MIDI CC 8|106 default=0.0000 now=0.0000 + MIDI CC 8|107 default=0.0000 now=0.0000 + MIDI CC 8|108 default=0.0000 now=0.0000 + MIDI CC 8|109 default=0.0000 now=0.0000 + MIDI CC 8|110 default=0.0000 now=0.0000 + MIDI CC 8|111 default=0.0000 now=0.0000 + MIDI CC 8|112 default=0.0000 now=0.0000 + MIDI CC 8|113 default=0.0000 now=0.0000 + MIDI CC 8|114 default=0.0000 now=0.0000 + MIDI CC 8|115 default=0.0000 now=0.0000 + MIDI CC 8|116 default=0.0000 now=0.0000 + MIDI CC 8|117 default=0.0000 now=0.0000 + MIDI CC 8|118 default=0.0000 now=0.0000 + MIDI CC 8|119 default=0.0000 now=0.0000 + MIDI CC 8|120 default=0.0000 now=0.0000 + MIDI CC 8|121 default=0.0000 now=0.0000 + MIDI CC 8|122 default=0.0000 now=0.0000 + MIDI CC 8|123 default=0.0000 now=0.0000 + MIDI CC 8|124 default=0.0000 now=0.0000 + MIDI CC 8|125 default=0.0000 now=0.0000 + MIDI CC 8|126 default=0.0000 now=0.0000 + MIDI CC 8|127 default=0.0000 now=0.0000 + MIDI CC 8|128 default=0.0000 now=0.0000 + MIDI CC 8|129 default=0.0000 now=0.0000 + MIDI CC 9|0 default=0.0000 now=0.0000 + MIDI CC 9|1 default=0.0000 now=0.0000 + MIDI CC 9|2 default=0.0000 now=0.0000 + MIDI CC 9|3 default=0.0000 now=0.0000 + MIDI CC 9|4 default=0.0000 now=0.0000 + MIDI CC 9|5 default=0.0000 now=0.0000 + MIDI CC 9|6 default=0.0000 now=0.0000 + MIDI CC 9|7 default=0.0000 now=0.0000 + MIDI CC 9|8 default=0.0000 now=0.0000 + MIDI CC 9|9 default=0.0000 now=0.0000 + MIDI CC 9|10 default=0.0000 now=0.0000 + MIDI CC 9|11 default=0.0000 now=0.0000 + MIDI CC 9|12 default=0.0000 now=0.0000 + MIDI CC 9|13 default=0.0000 now=0.0000 + MIDI CC 9|14 default=0.0000 now=0.0000 + MIDI CC 9|15 default=0.0000 now=0.0000 + MIDI CC 9|16 default=0.0000 now=0.0000 + MIDI CC 9|17 default=0.0000 now=0.0000 + MIDI CC 9|18 default=0.0000 now=0.0000 + MIDI CC 9|19 default=0.0000 now=0.0000 + MIDI CC 9|20 default=0.0000 now=0.0000 + MIDI CC 9|21 default=0.0000 now=0.0000 + MIDI CC 9|22 default=0.0000 now=0.0000 + MIDI CC 9|23 default=0.0000 now=0.0000 + MIDI CC 9|24 default=0.0000 now=0.0000 + MIDI CC 9|25 default=0.0000 now=0.0000 + MIDI CC 9|26 default=0.0000 now=0.0000 + MIDI CC 9|27 default=0.0000 now=0.0000 + MIDI CC 9|28 default=0.0000 now=0.0000 + MIDI CC 9|29 default=0.0000 now=0.0000 + MIDI CC 9|30 default=0.0000 now=0.0000 + MIDI CC 9|31 default=0.0000 now=0.0000 + MIDI CC 9|32 default=0.0000 now=0.0000 + MIDI CC 9|33 default=0.0000 now=0.0000 + MIDI CC 9|34 default=0.0000 now=0.0000 + MIDI CC 9|35 default=0.0000 now=0.0000 + MIDI CC 9|36 default=0.0000 now=0.0000 + MIDI CC 9|37 default=0.0000 now=0.0000 + MIDI CC 9|38 default=0.0000 now=0.0000 + MIDI CC 9|39 default=0.0000 now=0.0000 + MIDI CC 9|40 default=0.0000 now=0.0000 + MIDI CC 9|41 default=0.0000 now=0.0000 + MIDI CC 9|42 default=0.0000 now=0.0000 + MIDI CC 9|43 default=0.0000 now=0.0000 + MIDI CC 9|44 default=0.0000 now=0.0000 + MIDI CC 9|45 default=0.0000 now=0.0000 + MIDI CC 9|46 default=0.0000 now=0.0000 + MIDI CC 9|47 default=0.0000 now=0.0000 + MIDI CC 9|48 default=0.0000 now=0.0000 + MIDI CC 9|49 default=0.0000 now=0.0000 + MIDI CC 9|50 default=0.0000 now=0.0000 + MIDI CC 9|51 default=0.0000 now=0.0000 + MIDI CC 9|52 default=0.0000 now=0.0000 + MIDI CC 9|53 default=0.0000 now=0.0000 + MIDI CC 9|54 default=0.0000 now=0.0000 + MIDI CC 9|55 default=0.0000 now=0.0000 + MIDI CC 9|56 default=0.0000 now=0.0000 + MIDI CC 9|57 default=0.0000 now=0.0000 + MIDI CC 9|58 default=0.0000 now=0.0000 + MIDI CC 9|59 default=0.0000 now=0.0000 + MIDI CC 9|60 default=0.0000 now=0.0000 + MIDI CC 9|61 default=0.0000 now=0.0000 + MIDI CC 9|62 default=0.0000 now=0.0000 + MIDI CC 9|63 default=0.0000 now=0.0000 + MIDI CC 9|64 default=0.0000 now=0.0000 + MIDI CC 9|65 default=0.0000 now=0.0000 + MIDI CC 9|66 default=0.0000 now=0.0000 + MIDI CC 9|67 default=0.0000 now=0.0000 + MIDI CC 9|68 default=0.0000 now=0.0000 + MIDI CC 9|69 default=0.0000 now=0.0000 + MIDI CC 9|70 default=0.0000 now=0.0000 + MIDI CC 9|71 default=0.0000 now=0.0000 + MIDI CC 9|72 default=0.0000 now=0.0000 + MIDI CC 9|73 default=0.0000 now=0.0000 + MIDI CC 9|74 default=0.0000 now=0.0000 + MIDI CC 9|75 default=0.0000 now=0.0000 + MIDI CC 9|76 default=0.0000 now=0.0000 + MIDI CC 9|77 default=0.0000 now=0.0000 + MIDI CC 9|78 default=0.0000 now=0.0000 + MIDI CC 9|79 default=0.0000 now=0.0000 + MIDI CC 9|80 default=0.0000 now=0.0000 + MIDI CC 9|81 default=0.0000 now=0.0000 + MIDI CC 9|82 default=0.0000 now=0.0000 + MIDI CC 9|83 default=0.0000 now=0.0000 + MIDI CC 9|84 default=0.0000 now=0.0000 + MIDI CC 9|85 default=0.0000 now=0.0000 + MIDI CC 9|86 default=0.0000 now=0.0000 + MIDI CC 9|87 default=0.0000 now=0.0000 + MIDI CC 9|88 default=0.0000 now=0.0000 + MIDI CC 9|89 default=0.0000 now=0.0000 + MIDI CC 9|90 default=0.0000 now=0.0000 + MIDI CC 9|91 default=0.0000 now=0.0000 + MIDI CC 9|92 default=0.0000 now=0.0000 + MIDI CC 9|93 default=0.0000 now=0.0000 + MIDI CC 9|94 default=0.0000 now=0.0000 + MIDI CC 9|95 default=0.0000 now=0.0000 + MIDI CC 9|96 default=0.0000 now=0.0000 + MIDI CC 9|97 default=0.0000 now=0.0000 + MIDI CC 9|98 default=0.0000 now=0.0000 + MIDI CC 9|99 default=0.0000 now=0.0000 + MIDI CC 9|100 default=0.0000 now=0.0000 + MIDI CC 9|101 default=0.0000 now=0.0000 + MIDI CC 9|102 default=0.0000 now=0.0000 + MIDI CC 9|103 default=0.0000 now=0.0000 + MIDI CC 9|104 default=0.0000 now=0.0000 + MIDI CC 9|105 default=0.0000 now=0.0000 + MIDI CC 9|106 default=0.0000 now=0.0000 + MIDI CC 9|107 default=0.0000 now=0.0000 + MIDI CC 9|108 default=0.0000 now=0.0000 + MIDI CC 9|109 default=0.0000 now=0.0000 + MIDI CC 9|110 default=0.0000 now=0.0000 + MIDI CC 9|111 default=0.0000 now=0.0000 + MIDI CC 9|112 default=0.0000 now=0.0000 + MIDI CC 9|113 default=0.0000 now=0.0000 + MIDI CC 9|114 default=0.0000 now=0.0000 + MIDI CC 9|115 default=0.0000 now=0.0000 + MIDI CC 9|116 default=0.0000 now=0.0000 + MIDI CC 9|117 default=0.0000 now=0.0000 + MIDI CC 9|118 default=0.0000 now=0.0000 + MIDI CC 9|119 default=0.0000 now=0.0000 + MIDI CC 9|120 default=0.0000 now=0.0000 + MIDI CC 9|121 default=0.0000 now=0.0000 + MIDI CC 9|122 default=0.0000 now=0.0000 + MIDI CC 9|123 default=0.0000 now=0.0000 + MIDI CC 9|124 default=0.0000 now=0.0000 + MIDI CC 9|125 default=0.0000 now=0.0000 + MIDI CC 9|126 default=0.0000 now=0.0000 + MIDI CC 9|127 default=0.0000 now=0.0000 + MIDI CC 9|128 default=0.0000 now=0.0000 + MIDI CC 9|129 default=0.0000 now=0.0000 + MIDI CC 10|0 default=0.0000 now=0.0000 + MIDI CC 10|1 default=0.0000 now=0.0000 + MIDI CC 10|2 default=0.0000 now=0.0000 + MIDI CC 10|3 default=0.0000 now=0.0000 + MIDI CC 10|4 default=0.0000 now=0.0000 + MIDI CC 10|5 default=0.0000 now=0.0000 + MIDI CC 10|6 default=0.0000 now=0.0000 + MIDI CC 10|7 default=0.0000 now=0.0000 + MIDI CC 10|8 default=0.0000 now=0.0000 + MIDI CC 10|9 default=0.0000 now=0.0000 + MIDI CC 10|10 default=0.0000 now=0.0000 + MIDI CC 10|11 default=0.0000 now=0.0000 + MIDI CC 10|12 default=0.0000 now=0.0000 + MIDI CC 10|13 default=0.0000 now=0.0000 + MIDI CC 10|14 default=0.0000 now=0.0000 + MIDI CC 10|15 default=0.0000 now=0.0000 + MIDI CC 10|16 default=0.0000 now=0.0000 + MIDI CC 10|17 default=0.0000 now=0.0000 + MIDI CC 10|18 default=0.0000 now=0.0000 + MIDI CC 10|19 default=0.0000 now=0.0000 + MIDI CC 10|20 default=0.0000 now=0.0000 + MIDI CC 10|21 default=0.0000 now=0.0000 + MIDI CC 10|22 default=0.0000 now=0.0000 + MIDI CC 10|23 default=0.0000 now=0.0000 + MIDI CC 10|24 default=0.0000 now=0.0000 + MIDI CC 10|25 default=0.0000 now=0.0000 + MIDI CC 10|26 default=0.0000 now=0.0000 + MIDI CC 10|27 default=0.0000 now=0.0000 + MIDI CC 10|28 default=0.0000 now=0.0000 + MIDI CC 10|29 default=0.0000 now=0.0000 + MIDI CC 10|30 default=0.0000 now=0.0000 + MIDI CC 10|31 default=0.0000 now=0.0000 + MIDI CC 10|32 default=0.0000 now=0.0000 + MIDI CC 10|33 default=0.0000 now=0.0000 + MIDI CC 10|34 default=0.0000 now=0.0000 + MIDI CC 10|35 default=0.0000 now=0.0000 + MIDI CC 10|36 default=0.0000 now=0.0000 + MIDI CC 10|37 default=0.0000 now=0.0000 + MIDI CC 10|38 default=0.0000 now=0.0000 + MIDI CC 10|39 default=0.0000 now=0.0000 + MIDI CC 10|40 default=0.0000 now=0.0000 + MIDI CC 10|41 default=0.0000 now=0.0000 + MIDI CC 10|42 default=0.0000 now=0.0000 + MIDI CC 10|43 default=0.0000 now=0.0000 + MIDI CC 10|44 default=0.0000 now=0.0000 + MIDI CC 10|45 default=0.0000 now=0.0000 + MIDI CC 10|46 default=0.0000 now=0.0000 + MIDI CC 10|47 default=0.0000 now=0.0000 + MIDI CC 10|48 default=0.0000 now=0.0000 + MIDI CC 10|49 default=0.0000 now=0.0000 + MIDI CC 10|50 default=0.0000 now=0.0000 + MIDI CC 10|51 default=0.0000 now=0.0000 + MIDI CC 10|52 default=0.0000 now=0.0000 + MIDI CC 10|53 default=0.0000 now=0.0000 + MIDI CC 10|54 default=0.0000 now=0.0000 + MIDI CC 10|55 default=0.0000 now=0.0000 + MIDI CC 10|56 default=0.0000 now=0.0000 + MIDI CC 10|57 default=0.0000 now=0.0000 + MIDI CC 10|58 default=0.0000 now=0.0000 + MIDI CC 10|59 default=0.0000 now=0.0000 + MIDI CC 10|60 default=0.0000 now=0.0000 + MIDI CC 10|61 default=0.0000 now=0.0000 + MIDI CC 10|62 default=0.0000 now=0.0000 + MIDI CC 10|63 default=0.0000 now=0.0000 + MIDI CC 10|64 default=0.0000 now=0.0000 + MIDI CC 10|65 default=0.0000 now=0.0000 + MIDI CC 10|66 default=0.0000 now=0.0000 + MIDI CC 10|67 default=0.0000 now=0.0000 + MIDI CC 10|68 default=0.0000 now=0.0000 + MIDI CC 10|69 default=0.0000 now=0.0000 + MIDI CC 10|70 default=0.0000 now=0.0000 + MIDI CC 10|71 default=0.0000 now=0.0000 + MIDI CC 10|72 default=0.0000 now=0.0000 + MIDI CC 10|73 default=0.0000 now=0.0000 + MIDI CC 10|74 default=0.0000 now=0.0000 + MIDI CC 10|75 default=0.0000 now=0.0000 + MIDI CC 10|76 default=0.0000 now=0.0000 + MIDI CC 10|77 default=0.0000 now=0.0000 + MIDI CC 10|78 default=0.0000 now=0.0000 + MIDI CC 10|79 default=0.0000 now=0.0000 + MIDI CC 10|80 default=0.0000 now=0.0000 + MIDI CC 10|81 default=0.0000 now=0.0000 + MIDI CC 10|82 default=0.0000 now=0.0000 + MIDI CC 10|83 default=0.0000 now=0.0000 + MIDI CC 10|84 default=0.0000 now=0.0000 + MIDI CC 10|85 default=0.0000 now=0.0000 + MIDI CC 10|86 default=0.0000 now=0.0000 + MIDI CC 10|87 default=0.0000 now=0.0000 + MIDI CC 10|88 default=0.0000 now=0.0000 + MIDI CC 10|89 default=0.0000 now=0.0000 + MIDI CC 10|90 default=0.0000 now=0.0000 + MIDI CC 10|91 default=0.0000 now=0.0000 + MIDI CC 10|92 default=0.0000 now=0.0000 + MIDI CC 10|93 default=0.0000 now=0.0000 + MIDI CC 10|94 default=0.0000 now=0.0000 + MIDI CC 10|95 default=0.0000 now=0.0000 + MIDI CC 10|96 default=0.0000 now=0.0000 + MIDI CC 10|97 default=0.0000 now=0.0000 + MIDI CC 10|98 default=0.0000 now=0.0000 + MIDI CC 10|99 default=0.0000 now=0.0000 + MIDI CC 10|100 default=0.0000 now=0.0000 + MIDI CC 10|101 default=0.0000 now=0.0000 + MIDI CC 10|102 default=0.0000 now=0.0000 + MIDI CC 10|103 default=0.0000 now=0.0000 + MIDI CC 10|104 default=0.0000 now=0.0000 + MIDI CC 10|105 default=0.0000 now=0.0000 + MIDI CC 10|106 default=0.0000 now=0.0000 + MIDI CC 10|107 default=0.0000 now=0.0000 + MIDI CC 10|108 default=0.0000 now=0.0000 + MIDI CC 10|109 default=0.0000 now=0.0000 + MIDI CC 10|110 default=0.0000 now=0.0000 + MIDI CC 10|111 default=0.0000 now=0.0000 + MIDI CC 10|112 default=0.0000 now=0.0000 + MIDI CC 10|113 default=0.0000 now=0.0000 + MIDI CC 10|114 default=0.0000 now=0.0000 + MIDI CC 10|115 default=0.0000 now=0.0000 + MIDI CC 10|116 default=0.0000 now=0.0000 + MIDI CC 10|117 default=0.0000 now=0.0000 + MIDI CC 10|118 default=0.0000 now=0.0000 + MIDI CC 10|119 default=0.0000 now=0.0000 + MIDI CC 10|120 default=0.0000 now=0.0000 + MIDI CC 10|121 default=0.0000 now=0.0000 + MIDI CC 10|122 default=0.0000 now=0.0000 + MIDI CC 10|123 default=0.0000 now=0.0000 + MIDI CC 10|124 default=0.0000 now=0.0000 + MIDI CC 10|125 default=0.0000 now=0.0000 + MIDI CC 10|126 default=0.0000 now=0.0000 + MIDI CC 10|127 default=0.0000 now=0.0000 + MIDI CC 10|128 default=0.0000 now=0.0000 + MIDI CC 10|129 default=0.0000 now=0.0000 + MIDI CC 11|0 default=0.0000 now=0.0000 + MIDI CC 11|1 default=0.0000 now=0.0000 + MIDI CC 11|2 default=0.0000 now=0.0000 + MIDI CC 11|3 default=0.0000 now=0.0000 + MIDI CC 11|4 default=0.0000 now=0.0000 + MIDI CC 11|5 default=0.0000 now=0.0000 + MIDI CC 11|6 default=0.0000 now=0.0000 + MIDI CC 11|7 default=0.0000 now=0.0000 + MIDI CC 11|8 default=0.0000 now=0.0000 + MIDI CC 11|9 default=0.0000 now=0.0000 + MIDI CC 11|10 default=0.0000 now=0.0000 + MIDI CC 11|11 default=0.0000 now=0.0000 + MIDI CC 11|12 default=0.0000 now=0.0000 + MIDI CC 11|13 default=0.0000 now=0.0000 + MIDI CC 11|14 default=0.0000 now=0.0000 + MIDI CC 11|15 default=0.0000 now=0.0000 + MIDI CC 11|16 default=0.0000 now=0.0000 + MIDI CC 11|17 default=0.0000 now=0.0000 + MIDI CC 11|18 default=0.0000 now=0.0000 + MIDI CC 11|19 default=0.0000 now=0.0000 + MIDI CC 11|20 default=0.0000 now=0.0000 + MIDI CC 11|21 default=0.0000 now=0.0000 + MIDI CC 11|22 default=0.0000 now=0.0000 + MIDI CC 11|23 default=0.0000 now=0.0000 + MIDI CC 11|24 default=0.0000 now=0.0000 + MIDI CC 11|25 default=0.0000 now=0.0000 + MIDI CC 11|26 default=0.0000 now=0.0000 + MIDI CC 11|27 default=0.0000 now=0.0000 + MIDI CC 11|28 default=0.0000 now=0.0000 + MIDI CC 11|29 default=0.0000 now=0.0000 + MIDI CC 11|30 default=0.0000 now=0.0000 + MIDI CC 11|31 default=0.0000 now=0.0000 + MIDI CC 11|32 default=0.0000 now=0.0000 + MIDI CC 11|33 default=0.0000 now=0.0000 + MIDI CC 11|34 default=0.0000 now=0.0000 + MIDI CC 11|35 default=0.0000 now=0.0000 + MIDI CC 11|36 default=0.0000 now=0.0000 + MIDI CC 11|37 default=0.0000 now=0.0000 + MIDI CC 11|38 default=0.0000 now=0.0000 + MIDI CC 11|39 default=0.0000 now=0.0000 + MIDI CC 11|40 default=0.0000 now=0.0000 + MIDI CC 11|41 default=0.0000 now=0.0000 + MIDI CC 11|42 default=0.0000 now=0.0000 + MIDI CC 11|43 default=0.0000 now=0.0000 + MIDI CC 11|44 default=0.0000 now=0.0000 + MIDI CC 11|45 default=0.0000 now=0.0000 + MIDI CC 11|46 default=0.0000 now=0.0000 + MIDI CC 11|47 default=0.0000 now=0.0000 + MIDI CC 11|48 default=0.0000 now=0.0000 + MIDI CC 11|49 default=0.0000 now=0.0000 + MIDI CC 11|50 default=0.0000 now=0.0000 + MIDI CC 11|51 default=0.0000 now=0.0000 + MIDI CC 11|52 default=0.0000 now=0.0000 + MIDI CC 11|53 default=0.0000 now=0.0000 + MIDI CC 11|54 default=0.0000 now=0.0000 + MIDI CC 11|55 default=0.0000 now=0.0000 + MIDI CC 11|56 default=0.0000 now=0.0000 + MIDI CC 11|57 default=0.0000 now=0.0000 + MIDI CC 11|58 default=0.0000 now=0.0000 + MIDI CC 11|59 default=0.0000 now=0.0000 + MIDI CC 11|60 default=0.0000 now=0.0000 + MIDI CC 11|61 default=0.0000 now=0.0000 + MIDI CC 11|62 default=0.0000 now=0.0000 + MIDI CC 11|63 default=0.0000 now=0.0000 + MIDI CC 11|64 default=0.0000 now=0.0000 + MIDI CC 11|65 default=0.0000 now=0.0000 + MIDI CC 11|66 default=0.0000 now=0.0000 + MIDI CC 11|67 default=0.0000 now=0.0000 + MIDI CC 11|68 default=0.0000 now=0.0000 + MIDI CC 11|69 default=0.0000 now=0.0000 + MIDI CC 11|70 default=0.0000 now=0.0000 + MIDI CC 11|71 default=0.0000 now=0.0000 + MIDI CC 11|72 default=0.0000 now=0.0000 + MIDI CC 11|73 default=0.0000 now=0.0000 + MIDI CC 11|74 default=0.0000 now=0.0000 + MIDI CC 11|75 default=0.0000 now=0.0000 + MIDI CC 11|76 default=0.0000 now=0.0000 + MIDI CC 11|77 default=0.0000 now=0.0000 + MIDI CC 11|78 default=0.0000 now=0.0000 + MIDI CC 11|79 default=0.0000 now=0.0000 + MIDI CC 11|80 default=0.0000 now=0.0000 + MIDI CC 11|81 default=0.0000 now=0.0000 + MIDI CC 11|82 default=0.0000 now=0.0000 + MIDI CC 11|83 default=0.0000 now=0.0000 + MIDI CC 11|84 default=0.0000 now=0.0000 + MIDI CC 11|85 default=0.0000 now=0.0000 + MIDI CC 11|86 default=0.0000 now=0.0000 + MIDI CC 11|87 default=0.0000 now=0.0000 + MIDI CC 11|88 default=0.0000 now=0.0000 + MIDI CC 11|89 default=0.0000 now=0.0000 + MIDI CC 11|90 default=0.0000 now=0.0000 + MIDI CC 11|91 default=0.0000 now=0.0000 + MIDI CC 11|92 default=0.0000 now=0.0000 + MIDI CC 11|93 default=0.0000 now=0.0000 + MIDI CC 11|94 default=0.0000 now=0.0000 + MIDI CC 11|95 default=0.0000 now=0.0000 + MIDI CC 11|96 default=0.0000 now=0.0000 + MIDI CC 11|97 default=0.0000 now=0.0000 + MIDI CC 11|98 default=0.0000 now=0.0000 + MIDI CC 11|99 default=0.0000 now=0.0000 + MIDI CC 11|100 default=0.0000 now=0.0000 + MIDI CC 11|101 default=0.0000 now=0.0000 + MIDI CC 11|102 default=0.0000 now=0.0000 + MIDI CC 11|103 default=0.0000 now=0.0000 + MIDI CC 11|104 default=0.0000 now=0.0000 + MIDI CC 11|105 default=0.0000 now=0.0000 + MIDI CC 11|106 default=0.0000 now=0.0000 + MIDI CC 11|107 default=0.0000 now=0.0000 + MIDI CC 11|108 default=0.0000 now=0.0000 + MIDI CC 11|109 default=0.0000 now=0.0000 + MIDI CC 11|110 default=0.0000 now=0.0000 + MIDI CC 11|111 default=0.0000 now=0.0000 + MIDI CC 11|112 default=0.0000 now=0.0000 + MIDI CC 11|113 default=0.0000 now=0.0000 + MIDI CC 11|114 default=0.0000 now=0.0000 + MIDI CC 11|115 default=0.0000 now=0.0000 + MIDI CC 11|116 default=0.0000 now=0.0000 + MIDI CC 11|117 default=0.0000 now=0.0000 + MIDI CC 11|118 default=0.0000 now=0.0000 + MIDI CC 11|119 default=0.0000 now=0.0000 + MIDI CC 11|120 default=0.0000 now=0.0000 + MIDI CC 11|121 default=0.0000 now=0.0000 + MIDI CC 11|122 default=0.0000 now=0.0000 + MIDI CC 11|123 default=0.0000 now=0.0000 + MIDI CC 11|124 default=0.0000 now=0.0000 + MIDI CC 11|125 default=0.0000 now=0.0000 + MIDI CC 11|126 default=0.0000 now=0.0000 + MIDI CC 11|127 default=0.0000 now=0.0000 + MIDI CC 11|128 default=0.0000 now=0.0000 + MIDI CC 11|129 default=0.0000 now=0.0000 + MIDI CC 12|0 default=0.0000 now=0.0000 + MIDI CC 12|1 default=0.0000 now=0.0000 + MIDI CC 12|2 default=0.0000 now=0.0000 + MIDI CC 12|3 default=0.0000 now=0.0000 + MIDI CC 12|4 default=0.0000 now=0.0000 + MIDI CC 12|5 default=0.0000 now=0.0000 + MIDI CC 12|6 default=0.0000 now=0.0000 + MIDI CC 12|7 default=0.0000 now=0.0000 + MIDI CC 12|8 default=0.0000 now=0.0000 + MIDI CC 12|9 default=0.0000 now=0.0000 + MIDI CC 12|10 default=0.0000 now=0.0000 + MIDI CC 12|11 default=0.0000 now=0.0000 + MIDI CC 12|12 default=0.0000 now=0.0000 + MIDI CC 12|13 default=0.0000 now=0.0000 + MIDI CC 12|14 default=0.0000 now=0.0000 + MIDI CC 12|15 default=0.0000 now=0.0000 + MIDI CC 12|16 default=0.0000 now=0.0000 + MIDI CC 12|17 default=0.0000 now=0.0000 + MIDI CC 12|18 default=0.0000 now=0.0000 + MIDI CC 12|19 default=0.0000 now=0.0000 + MIDI CC 12|20 default=0.0000 now=0.0000 + MIDI CC 12|21 default=0.0000 now=0.0000 + MIDI CC 12|22 default=0.0000 now=0.0000 + MIDI CC 12|23 default=0.0000 now=0.0000 + MIDI CC 12|24 default=0.0000 now=0.0000 + MIDI CC 12|25 default=0.0000 now=0.0000 + MIDI CC 12|26 default=0.0000 now=0.0000 + MIDI CC 12|27 default=0.0000 now=0.0000 + MIDI CC 12|28 default=0.0000 now=0.0000 + MIDI CC 12|29 default=0.0000 now=0.0000 + MIDI CC 12|30 default=0.0000 now=0.0000 + MIDI CC 12|31 default=0.0000 now=0.0000 + MIDI CC 12|32 default=0.0000 now=0.0000 + MIDI CC 12|33 default=0.0000 now=0.0000 + MIDI CC 12|34 default=0.0000 now=0.0000 + MIDI CC 12|35 default=0.0000 now=0.0000 + MIDI CC 12|36 default=0.0000 now=0.0000 + MIDI CC 12|37 default=0.0000 now=0.0000 + MIDI CC 12|38 default=0.0000 now=0.0000 + MIDI CC 12|39 default=0.0000 now=0.0000 + MIDI CC 12|40 default=0.0000 now=0.0000 + MIDI CC 12|41 default=0.0000 now=0.0000 + MIDI CC 12|42 default=0.0000 now=0.0000 + MIDI CC 12|43 default=0.0000 now=0.0000 + MIDI CC 12|44 default=0.0000 now=0.0000 + MIDI CC 12|45 default=0.0000 now=0.0000 + MIDI CC 12|46 default=0.0000 now=0.0000 + MIDI CC 12|47 default=0.0000 now=0.0000 + MIDI CC 12|48 default=0.0000 now=0.0000 + MIDI CC 12|49 default=0.0000 now=0.0000 + MIDI CC 12|50 default=0.0000 now=0.0000 + MIDI CC 12|51 default=0.0000 now=0.0000 + MIDI CC 12|52 default=0.0000 now=0.0000 + MIDI CC 12|53 default=0.0000 now=0.0000 + MIDI CC 12|54 default=0.0000 now=0.0000 + MIDI CC 12|55 default=0.0000 now=0.0000 + MIDI CC 12|56 default=0.0000 now=0.0000 + MIDI CC 12|57 default=0.0000 now=0.0000 + MIDI CC 12|58 default=0.0000 now=0.0000 + MIDI CC 12|59 default=0.0000 now=0.0000 + MIDI CC 12|60 default=0.0000 now=0.0000 + MIDI CC 12|61 default=0.0000 now=0.0000 + MIDI CC 12|62 default=0.0000 now=0.0000 + MIDI CC 12|63 default=0.0000 now=0.0000 + MIDI CC 12|64 default=0.0000 now=0.0000 + MIDI CC 12|65 default=0.0000 now=0.0000 + MIDI CC 12|66 default=0.0000 now=0.0000 + MIDI CC 12|67 default=0.0000 now=0.0000 + MIDI CC 12|68 default=0.0000 now=0.0000 + MIDI CC 12|69 default=0.0000 now=0.0000 + MIDI CC 12|70 default=0.0000 now=0.0000 + MIDI CC 12|71 default=0.0000 now=0.0000 + MIDI CC 12|72 default=0.0000 now=0.0000 + MIDI CC 12|73 default=0.0000 now=0.0000 + MIDI CC 12|74 default=0.0000 now=0.0000 + MIDI CC 12|75 default=0.0000 now=0.0000 + MIDI CC 12|76 default=0.0000 now=0.0000 + MIDI CC 12|77 default=0.0000 now=0.0000 + MIDI CC 12|78 default=0.0000 now=0.0000 + MIDI CC 12|79 default=0.0000 now=0.0000 + MIDI CC 12|80 default=0.0000 now=0.0000 + MIDI CC 12|81 default=0.0000 now=0.0000 + MIDI CC 12|82 default=0.0000 now=0.0000 + MIDI CC 12|83 default=0.0000 now=0.0000 + MIDI CC 12|84 default=0.0000 now=0.0000 + MIDI CC 12|85 default=0.0000 now=0.0000 + MIDI CC 12|86 default=0.0000 now=0.0000 + MIDI CC 12|87 default=0.0000 now=0.0000 + MIDI CC 12|88 default=0.0000 now=0.0000 + MIDI CC 12|89 default=0.0000 now=0.0000 + MIDI CC 12|90 default=0.0000 now=0.0000 + MIDI CC 12|91 default=0.0000 now=0.0000 + MIDI CC 12|92 default=0.0000 now=0.0000 + MIDI CC 12|93 default=0.0000 now=0.0000 + MIDI CC 12|94 default=0.0000 now=0.0000 + MIDI CC 12|95 default=0.0000 now=0.0000 + MIDI CC 12|96 default=0.0000 now=0.0000 + MIDI CC 12|97 default=0.0000 now=0.0000 + MIDI CC 12|98 default=0.0000 now=0.0000 + MIDI CC 12|99 default=0.0000 now=0.0000 + MIDI CC 12|100 default=0.0000 now=0.0000 + MIDI CC 12|101 default=0.0000 now=0.0000 + MIDI CC 12|102 default=0.0000 now=0.0000 + MIDI CC 12|103 default=0.0000 now=0.0000 + MIDI CC 12|104 default=0.0000 now=0.0000 + MIDI CC 12|105 default=0.0000 now=0.0000 + MIDI CC 12|106 default=0.0000 now=0.0000 + MIDI CC 12|107 default=0.0000 now=0.0000 + MIDI CC 12|108 default=0.0000 now=0.0000 + MIDI CC 12|109 default=0.0000 now=0.0000 + MIDI CC 12|110 default=0.0000 now=0.0000 + MIDI CC 12|111 default=0.0000 now=0.0000 + MIDI CC 12|112 default=0.0000 now=0.0000 + MIDI CC 12|113 default=0.0000 now=0.0000 + MIDI CC 12|114 default=0.0000 now=0.0000 + MIDI CC 12|115 default=0.0000 now=0.0000 + MIDI CC 12|116 default=0.0000 now=0.0000 + MIDI CC 12|117 default=0.0000 now=0.0000 + MIDI CC 12|118 default=0.0000 now=0.0000 + MIDI CC 12|119 default=0.0000 now=0.0000 + MIDI CC 12|120 default=0.0000 now=0.0000 + MIDI CC 12|121 default=0.0000 now=0.0000 + MIDI CC 12|122 default=0.0000 now=0.0000 + MIDI CC 12|123 default=0.0000 now=0.0000 + MIDI CC 12|124 default=0.0000 now=0.0000 + MIDI CC 12|125 default=0.0000 now=0.0000 + MIDI CC 12|126 default=0.0000 now=0.0000 + MIDI CC 12|127 default=0.0000 now=0.0000 + MIDI CC 12|128 default=0.0000 now=0.0000 + MIDI CC 12|129 default=0.0000 now=0.0000 + MIDI CC 13|0 default=0.0000 now=0.0000 + MIDI CC 13|1 default=0.0000 now=0.0000 + MIDI CC 13|2 default=0.0000 now=0.0000 + MIDI CC 13|3 default=0.0000 now=0.0000 + MIDI CC 13|4 default=0.0000 now=0.0000 + MIDI CC 13|5 default=0.0000 now=0.0000 + MIDI CC 13|6 default=0.0000 now=0.0000 + MIDI CC 13|7 default=0.0000 now=0.0000 + MIDI CC 13|8 default=0.0000 now=0.0000 + MIDI CC 13|9 default=0.0000 now=0.0000 + MIDI CC 13|10 default=0.0000 now=0.0000 + MIDI CC 13|11 default=0.0000 now=0.0000 + MIDI CC 13|12 default=0.0000 now=0.0000 + MIDI CC 13|13 default=0.0000 now=0.0000 + MIDI CC 13|14 default=0.0000 now=0.0000 + MIDI CC 13|15 default=0.0000 now=0.0000 + MIDI CC 13|16 default=0.0000 now=0.0000 + MIDI CC 13|17 default=0.0000 now=0.0000 + MIDI CC 13|18 default=0.0000 now=0.0000 + MIDI CC 13|19 default=0.0000 now=0.0000 + MIDI CC 13|20 default=0.0000 now=0.0000 + MIDI CC 13|21 default=0.0000 now=0.0000 + MIDI CC 13|22 default=0.0000 now=0.0000 + MIDI CC 13|23 default=0.0000 now=0.0000 + MIDI CC 13|24 default=0.0000 now=0.0000 + MIDI CC 13|25 default=0.0000 now=0.0000 + MIDI CC 13|26 default=0.0000 now=0.0000 + MIDI CC 13|27 default=0.0000 now=0.0000 + MIDI CC 13|28 default=0.0000 now=0.0000 + MIDI CC 13|29 default=0.0000 now=0.0000 + MIDI CC 13|30 default=0.0000 now=0.0000 + MIDI CC 13|31 default=0.0000 now=0.0000 + MIDI CC 13|32 default=0.0000 now=0.0000 + MIDI CC 13|33 default=0.0000 now=0.0000 + MIDI CC 13|34 default=0.0000 now=0.0000 + MIDI CC 13|35 default=0.0000 now=0.0000 + MIDI CC 13|36 default=0.0000 now=0.0000 + MIDI CC 13|37 default=0.0000 now=0.0000 + MIDI CC 13|38 default=0.0000 now=0.0000 + MIDI CC 13|39 default=0.0000 now=0.0000 + MIDI CC 13|40 default=0.0000 now=0.0000 + MIDI CC 13|41 default=0.0000 now=0.0000 + MIDI CC 13|42 default=0.0000 now=0.0000 + MIDI CC 13|43 default=0.0000 now=0.0000 + MIDI CC 13|44 default=0.0000 now=0.0000 + MIDI CC 13|45 default=0.0000 now=0.0000 + MIDI CC 13|46 default=0.0000 now=0.0000 + MIDI CC 13|47 default=0.0000 now=0.0000 + MIDI CC 13|48 default=0.0000 now=0.0000 + MIDI CC 13|49 default=0.0000 now=0.0000 + MIDI CC 13|50 default=0.0000 now=0.0000 + MIDI CC 13|51 default=0.0000 now=0.0000 + MIDI CC 13|52 default=0.0000 now=0.0000 + MIDI CC 13|53 default=0.0000 now=0.0000 + MIDI CC 13|54 default=0.0000 now=0.0000 + MIDI CC 13|55 default=0.0000 now=0.0000 + MIDI CC 13|56 default=0.0000 now=0.0000 + MIDI CC 13|57 default=0.0000 now=0.0000 + MIDI CC 13|58 default=0.0000 now=0.0000 + MIDI CC 13|59 default=0.0000 now=0.0000 + MIDI CC 13|60 default=0.0000 now=0.0000 + MIDI CC 13|61 default=0.0000 now=0.0000 + MIDI CC 13|62 default=0.0000 now=0.0000 + MIDI CC 13|63 default=0.0000 now=0.0000 + MIDI CC 13|64 default=0.0000 now=0.0000 + MIDI CC 13|65 default=0.0000 now=0.0000 + MIDI CC 13|66 default=0.0000 now=0.0000 + MIDI CC 13|67 default=0.0000 now=0.0000 + MIDI CC 13|68 default=0.0000 now=0.0000 + MIDI CC 13|69 default=0.0000 now=0.0000 + MIDI CC 13|70 default=0.0000 now=0.0000 + MIDI CC 13|71 default=0.0000 now=0.0000 + MIDI CC 13|72 default=0.0000 now=0.0000 + MIDI CC 13|73 default=0.0000 now=0.0000 + MIDI CC 13|74 default=0.0000 now=0.0000 + MIDI CC 13|75 default=0.0000 now=0.0000 + MIDI CC 13|76 default=0.0000 now=0.0000 + MIDI CC 13|77 default=0.0000 now=0.0000 + MIDI CC 13|78 default=0.0000 now=0.0000 + MIDI CC 13|79 default=0.0000 now=0.0000 + MIDI CC 13|80 default=0.0000 now=0.0000 + MIDI CC 13|81 default=0.0000 now=0.0000 + MIDI CC 13|82 default=0.0000 now=0.0000 + MIDI CC 13|83 default=0.0000 now=0.0000 + MIDI CC 13|84 default=0.0000 now=0.0000 + MIDI CC 13|85 default=0.0000 now=0.0000 + MIDI CC 13|86 default=0.0000 now=0.0000 + MIDI CC 13|87 default=0.0000 now=0.0000 + MIDI CC 13|88 default=0.0000 now=0.0000 + MIDI CC 13|89 default=0.0000 now=0.0000 + MIDI CC 13|90 default=0.0000 now=0.0000 + MIDI CC 13|91 default=0.0000 now=0.0000 + MIDI CC 13|92 default=0.0000 now=0.0000 + MIDI CC 13|93 default=0.0000 now=0.0000 + MIDI CC 13|94 default=0.0000 now=0.0000 + MIDI CC 13|95 default=0.0000 now=0.0000 + MIDI CC 13|96 default=0.0000 now=0.0000 + MIDI CC 13|97 default=0.0000 now=0.0000 + MIDI CC 13|98 default=0.0000 now=0.0000 + MIDI CC 13|99 default=0.0000 now=0.0000 + MIDI CC 13|100 default=0.0000 now=0.0000 + MIDI CC 13|101 default=0.0000 now=0.0000 + MIDI CC 13|102 default=0.0000 now=0.0000 + MIDI CC 13|103 default=0.0000 now=0.0000 + MIDI CC 13|104 default=0.0000 now=0.0000 + MIDI CC 13|105 default=0.0000 now=0.0000 + MIDI CC 13|106 default=0.0000 now=0.0000 + MIDI CC 13|107 default=0.0000 now=0.0000 + MIDI CC 13|108 default=0.0000 now=0.0000 + MIDI CC 13|109 default=0.0000 now=0.0000 + MIDI CC 13|110 default=0.0000 now=0.0000 + MIDI CC 13|111 default=0.0000 now=0.0000 + MIDI CC 13|112 default=0.0000 now=0.0000 + MIDI CC 13|113 default=0.0000 now=0.0000 + MIDI CC 13|114 default=0.0000 now=0.0000 + MIDI CC 13|115 default=0.0000 now=0.0000 + MIDI CC 13|116 default=0.0000 now=0.0000 + MIDI CC 13|117 default=0.0000 now=0.0000 + MIDI CC 13|118 default=0.0000 now=0.0000 + MIDI CC 13|119 default=0.0000 now=0.0000 + MIDI CC 13|120 default=0.0000 now=0.0000 + MIDI CC 13|121 default=0.0000 now=0.0000 + MIDI CC 13|122 default=0.0000 now=0.0000 + MIDI CC 13|123 default=0.0000 now=0.0000 + MIDI CC 13|124 default=0.0000 now=0.0000 + MIDI CC 13|125 default=0.0000 now=0.0000 + MIDI CC 13|126 default=0.0000 now=0.0000 + MIDI CC 13|127 default=0.0000 now=0.0000 + MIDI CC 13|128 default=0.0000 now=0.0000 + MIDI CC 13|129 default=0.0000 now=0.0000 + MIDI CC 14|0 default=0.0000 now=0.0000 + MIDI CC 14|1 default=0.0000 now=0.0000 + MIDI CC 14|2 default=0.0000 now=0.0000 + MIDI CC 14|3 default=0.0000 now=0.0000 + MIDI CC 14|4 default=0.0000 now=0.0000 + MIDI CC 14|5 default=0.0000 now=0.0000 + MIDI CC 14|6 default=0.0000 now=0.0000 + MIDI CC 14|7 default=0.0000 now=0.0000 + MIDI CC 14|8 default=0.0000 now=0.0000 + MIDI CC 14|9 default=0.0000 now=0.0000 + MIDI CC 14|10 default=0.0000 now=0.0000 + MIDI CC 14|11 default=0.0000 now=0.0000 + MIDI CC 14|12 default=0.0000 now=0.0000 + MIDI CC 14|13 default=0.0000 now=0.0000 + MIDI CC 14|14 default=0.0000 now=0.0000 + MIDI CC 14|15 default=0.0000 now=0.0000 + MIDI CC 14|16 default=0.0000 now=0.0000 + MIDI CC 14|17 default=0.0000 now=0.0000 + MIDI CC 14|18 default=0.0000 now=0.0000 + MIDI CC 14|19 default=0.0000 now=0.0000 + MIDI CC 14|20 default=0.0000 now=0.0000 + MIDI CC 14|21 default=0.0000 now=0.0000 + MIDI CC 14|22 default=0.0000 now=0.0000 + MIDI CC 14|23 default=0.0000 now=0.0000 + MIDI CC 14|24 default=0.0000 now=0.0000 + MIDI CC 14|25 default=0.0000 now=0.0000 + MIDI CC 14|26 default=0.0000 now=0.0000 + MIDI CC 14|27 default=0.0000 now=0.0000 + MIDI CC 14|28 default=0.0000 now=0.0000 + MIDI CC 14|29 default=0.0000 now=0.0000 + MIDI CC 14|30 default=0.0000 now=0.0000 + MIDI CC 14|31 default=0.0000 now=0.0000 + MIDI CC 14|32 default=0.0000 now=0.0000 + MIDI CC 14|33 default=0.0000 now=0.0000 + MIDI CC 14|34 default=0.0000 now=0.0000 + MIDI CC 14|35 default=0.0000 now=0.0000 + MIDI CC 14|36 default=0.0000 now=0.0000 + MIDI CC 14|37 default=0.0000 now=0.0000 + MIDI CC 14|38 default=0.0000 now=0.0000 + MIDI CC 14|39 default=0.0000 now=0.0000 + MIDI CC 14|40 default=0.0000 now=0.0000 + MIDI CC 14|41 default=0.0000 now=0.0000 + MIDI CC 14|42 default=0.0000 now=0.0000 + MIDI CC 14|43 default=0.0000 now=0.0000 + MIDI CC 14|44 default=0.0000 now=0.0000 + MIDI CC 14|45 default=0.0000 now=0.0000 + MIDI CC 14|46 default=0.0000 now=0.0000 + MIDI CC 14|47 default=0.0000 now=0.0000 + MIDI CC 14|48 default=0.0000 now=0.0000 + MIDI CC 14|49 default=0.0000 now=0.0000 + MIDI CC 14|50 default=0.0000 now=0.0000 + MIDI CC 14|51 default=0.0000 now=0.0000 + MIDI CC 14|52 default=0.0000 now=0.0000 + MIDI CC 14|53 default=0.0000 now=0.0000 + MIDI CC 14|54 default=0.0000 now=0.0000 + MIDI CC 14|55 default=0.0000 now=0.0000 + MIDI CC 14|56 default=0.0000 now=0.0000 + MIDI CC 14|57 default=0.0000 now=0.0000 + MIDI CC 14|58 default=0.0000 now=0.0000 + MIDI CC 14|59 default=0.0000 now=0.0000 + MIDI CC 14|60 default=0.0000 now=0.0000 + MIDI CC 14|61 default=0.0000 now=0.0000 + MIDI CC 14|62 default=0.0000 now=0.0000 + MIDI CC 14|63 default=0.0000 now=0.0000 + MIDI CC 14|64 default=0.0000 now=0.0000 + MIDI CC 14|65 default=0.0000 now=0.0000 + MIDI CC 14|66 default=0.0000 now=0.0000 + MIDI CC 14|67 default=0.0000 now=0.0000 + MIDI CC 14|68 default=0.0000 now=0.0000 + MIDI CC 14|69 default=0.0000 now=0.0000 + MIDI CC 14|70 default=0.0000 now=0.0000 + MIDI CC 14|71 default=0.0000 now=0.0000 + MIDI CC 14|72 default=0.0000 now=0.0000 + MIDI CC 14|73 default=0.0000 now=0.0000 + MIDI CC 14|74 default=0.0000 now=0.0000 + MIDI CC 14|75 default=0.0000 now=0.0000 + MIDI CC 14|76 default=0.0000 now=0.0000 + MIDI CC 14|77 default=0.0000 now=0.0000 + MIDI CC 14|78 default=0.0000 now=0.0000 + MIDI CC 14|79 default=0.0000 now=0.0000 + MIDI CC 14|80 default=0.0000 now=0.0000 + MIDI CC 14|81 default=0.0000 now=0.0000 + MIDI CC 14|82 default=0.0000 now=0.0000 + MIDI CC 14|83 default=0.0000 now=0.0000 + MIDI CC 14|84 default=0.0000 now=0.0000 + MIDI CC 14|85 default=0.0000 now=0.0000 + MIDI CC 14|86 default=0.0000 now=0.0000 + MIDI CC 14|87 default=0.0000 now=0.0000 + MIDI CC 14|88 default=0.0000 now=0.0000 + MIDI CC 14|89 default=0.0000 now=0.0000 + MIDI CC 14|90 default=0.0000 now=0.0000 + MIDI CC 14|91 default=0.0000 now=0.0000 + MIDI CC 14|92 default=0.0000 now=0.0000 + MIDI CC 14|93 default=0.0000 now=0.0000 + MIDI CC 14|94 default=0.0000 now=0.0000 + MIDI CC 14|95 default=0.0000 now=0.0000 + MIDI CC 14|96 default=0.0000 now=0.0000 + MIDI CC 14|97 default=0.0000 now=0.0000 + MIDI CC 14|98 default=0.0000 now=0.0000 + MIDI CC 14|99 default=0.0000 now=0.0000 + MIDI CC 14|100 default=0.0000 now=0.0000 + MIDI CC 14|101 default=0.0000 now=0.0000 + MIDI CC 14|102 default=0.0000 now=0.0000 + MIDI CC 14|103 default=0.0000 now=0.0000 + MIDI CC 14|104 default=0.0000 now=0.0000 + MIDI CC 14|105 default=0.0000 now=0.0000 + MIDI CC 14|106 default=0.0000 now=0.0000 + MIDI CC 14|107 default=0.0000 now=0.0000 + MIDI CC 14|108 default=0.0000 now=0.0000 + MIDI CC 14|109 default=0.0000 now=0.0000 + MIDI CC 14|110 default=0.0000 now=0.0000 + MIDI CC 14|111 default=0.0000 now=0.0000 + MIDI CC 14|112 default=0.0000 now=0.0000 + MIDI CC 14|113 default=0.0000 now=0.0000 + MIDI CC 14|114 default=0.0000 now=0.0000 + MIDI CC 14|115 default=0.0000 now=0.0000 + MIDI CC 14|116 default=0.0000 now=0.0000 + MIDI CC 14|117 default=0.0000 now=0.0000 + MIDI CC 14|118 default=0.0000 now=0.0000 + MIDI CC 14|119 default=0.0000 now=0.0000 + MIDI CC 14|120 default=0.0000 now=0.0000 + MIDI CC 14|121 default=0.0000 now=0.0000 + MIDI CC 14|122 default=0.0000 now=0.0000 + MIDI CC 14|123 default=0.0000 now=0.0000 + MIDI CC 14|124 default=0.0000 now=0.0000 + MIDI CC 14|125 default=0.0000 now=0.0000 + MIDI CC 14|126 default=0.0000 now=0.0000 + MIDI CC 14|127 default=0.0000 now=0.0000 + MIDI CC 14|128 default=0.0000 now=0.0000 + MIDI CC 14|129 default=0.0000 now=0.0000 + MIDI CC 15|0 default=0.0000 now=0.0000 + MIDI CC 15|1 default=0.0000 now=0.0000 + MIDI CC 15|2 default=0.0000 now=0.0000 + MIDI CC 15|3 default=0.0000 now=0.0000 + MIDI CC 15|4 default=0.0000 now=0.0000 + MIDI CC 15|5 default=0.0000 now=0.0000 + MIDI CC 15|6 default=0.0000 now=0.0000 + MIDI CC 15|7 default=0.0000 now=0.0000 + MIDI CC 15|8 default=0.0000 now=0.0000 + MIDI CC 15|9 default=0.0000 now=0.0000 + MIDI CC 15|10 default=0.0000 now=0.0000 + MIDI CC 15|11 default=0.0000 now=0.0000 + MIDI CC 15|12 default=0.0000 now=0.0000 + MIDI CC 15|13 default=0.0000 now=0.0000 + MIDI CC 15|14 default=0.0000 now=0.0000 + MIDI CC 15|15 default=0.0000 now=0.0000 + MIDI CC 15|16 default=0.0000 now=0.0000 + MIDI CC 15|17 default=0.0000 now=0.0000 + MIDI CC 15|18 default=0.0000 now=0.0000 + MIDI CC 15|19 default=0.0000 now=0.0000 + MIDI CC 15|20 default=0.0000 now=0.0000 + MIDI CC 15|21 default=0.0000 now=0.0000 + MIDI CC 15|22 default=0.0000 now=0.0000 + MIDI CC 15|23 default=0.0000 now=0.0000 + MIDI CC 15|24 default=0.0000 now=0.0000 + MIDI CC 15|25 default=0.0000 now=0.0000 + MIDI CC 15|26 default=0.0000 now=0.0000 + MIDI CC 15|27 default=0.0000 now=0.0000 + MIDI CC 15|28 default=0.0000 now=0.0000 + MIDI CC 15|29 default=0.0000 now=0.0000 + MIDI CC 15|30 default=0.0000 now=0.0000 + MIDI CC 15|31 default=0.0000 now=0.0000 + MIDI CC 15|32 default=0.0000 now=0.0000 + MIDI CC 15|33 default=0.0000 now=0.0000 + MIDI CC 15|34 default=0.0000 now=0.0000 + MIDI CC 15|35 default=0.0000 now=0.0000 + MIDI CC 15|36 default=0.0000 now=0.0000 + MIDI CC 15|37 default=0.0000 now=0.0000 + MIDI CC 15|38 default=0.0000 now=0.0000 + MIDI CC 15|39 default=0.0000 now=0.0000 + MIDI CC 15|40 default=0.0000 now=0.0000 + MIDI CC 15|41 default=0.0000 now=0.0000 + MIDI CC 15|42 default=0.0000 now=0.0000 + MIDI CC 15|43 default=0.0000 now=0.0000 + MIDI CC 15|44 default=0.0000 now=0.0000 + MIDI CC 15|45 default=0.0000 now=0.0000 + MIDI CC 15|46 default=0.0000 now=0.0000 + MIDI CC 15|47 default=0.0000 now=0.0000 + MIDI CC 15|48 default=0.0000 now=0.0000 + MIDI CC 15|49 default=0.0000 now=0.0000 + MIDI CC 15|50 default=0.0000 now=0.0000 + MIDI CC 15|51 default=0.0000 now=0.0000 + MIDI CC 15|52 default=0.0000 now=0.0000 + MIDI CC 15|53 default=0.0000 now=0.0000 + MIDI CC 15|54 default=0.0000 now=0.0000 + MIDI CC 15|55 default=0.0000 now=0.0000 + MIDI CC 15|56 default=0.0000 now=0.0000 + MIDI CC 15|57 default=0.0000 now=0.0000 + MIDI CC 15|58 default=0.0000 now=0.0000 + MIDI CC 15|59 default=0.0000 now=0.0000 + MIDI CC 15|60 default=0.0000 now=0.0000 + MIDI CC 15|61 default=0.0000 now=0.0000 + MIDI CC 15|62 default=0.0000 now=0.0000 + MIDI CC 15|63 default=0.0000 now=0.0000 + MIDI CC 15|64 default=0.0000 now=0.0000 + MIDI CC 15|65 default=0.0000 now=0.0000 + MIDI CC 15|66 default=0.0000 now=0.0000 + MIDI CC 15|67 default=0.0000 now=0.0000 + MIDI CC 15|68 default=0.0000 now=0.0000 + MIDI CC 15|69 default=0.0000 now=0.0000 + MIDI CC 15|70 default=0.0000 now=0.0000 + MIDI CC 15|71 default=0.0000 now=0.0000 + MIDI CC 15|72 default=0.0000 now=0.0000 + MIDI CC 15|73 default=0.0000 now=0.0000 + MIDI CC 15|74 default=0.0000 now=0.0000 + MIDI CC 15|75 default=0.0000 now=0.0000 + MIDI CC 15|76 default=0.0000 now=0.0000 + MIDI CC 15|77 default=0.0000 now=0.0000 + MIDI CC 15|78 default=0.0000 now=0.0000 + MIDI CC 15|79 default=0.0000 now=0.0000 + MIDI CC 15|80 default=0.0000 now=0.0000 + MIDI CC 15|81 default=0.0000 now=0.0000 + MIDI CC 15|82 default=0.0000 now=0.0000 + MIDI CC 15|83 default=0.0000 now=0.0000 + MIDI CC 15|84 default=0.0000 now=0.0000 + MIDI CC 15|85 default=0.0000 now=0.0000 + MIDI CC 15|86 default=0.0000 now=0.0000 + MIDI CC 15|87 default=0.0000 now=0.0000 + MIDI CC 15|88 default=0.0000 now=0.0000 + MIDI CC 15|89 default=0.0000 now=0.0000 + MIDI CC 15|90 default=0.0000 now=0.0000 + MIDI CC 15|91 default=0.0000 now=0.0000 + MIDI CC 15|92 default=0.0000 now=0.0000 + MIDI CC 15|93 default=0.0000 now=0.0000 + MIDI CC 15|94 default=0.0000 now=0.0000 + MIDI CC 15|95 default=0.0000 now=0.0000 + MIDI CC 15|96 default=0.0000 now=0.0000 + MIDI CC 15|97 default=0.0000 now=0.0000 + MIDI CC 15|98 default=0.0000 now=0.0000 + MIDI CC 15|99 default=0.0000 now=0.0000 + MIDI CC 15|100 default=0.0000 now=0.0000 + MIDI CC 15|101 default=0.0000 now=0.0000 + MIDI CC 15|102 default=0.0000 now=0.0000 + MIDI CC 15|103 default=0.0000 now=0.0000 + MIDI CC 15|104 default=0.0000 now=0.0000 + MIDI CC 15|105 default=0.0000 now=0.0000 + MIDI CC 15|106 default=0.0000 now=0.0000 + MIDI CC 15|107 default=0.0000 now=0.0000 + MIDI CC 15|108 default=0.0000 now=0.0000 + MIDI CC 15|109 default=0.0000 now=0.0000 + MIDI CC 15|110 default=0.0000 now=0.0000 + MIDI CC 15|111 default=0.0000 now=0.0000 + MIDI CC 15|112 default=0.0000 now=0.0000 + MIDI CC 15|113 default=0.0000 now=0.0000 + MIDI CC 15|114 default=0.0000 now=0.0000 + MIDI CC 15|115 default=0.0000 now=0.0000 + MIDI CC 15|116 default=0.0000 now=0.0000 + MIDI CC 15|117 default=0.0000 now=0.0000 + MIDI CC 15|118 default=0.0000 now=0.0000 + MIDI CC 15|119 default=0.0000 now=0.0000 + MIDI CC 15|120 default=0.0000 now=0.0000 + MIDI CC 15|121 default=0.0000 now=0.0000 + MIDI CC 15|122 default=0.0000 now=0.0000 + MIDI CC 15|123 default=0.0000 now=0.0000 + MIDI CC 15|124 default=0.0000 now=0.0000 + MIDI CC 15|125 default=0.0000 now=0.0000 + MIDI CC 15|126 default=0.0000 now=0.0000 + MIDI CC 15|127 default=0.0000 now=0.0000 + MIDI CC 15|128 default=0.0000 now=0.0000 + MIDI CC 15|129 default=0.0000 now=0.0000 +sr=44100 block=64 peak=0.310 rms=0.1356 finite=1 OK +sr=44100 block=512 peak=0.310 rms=0.1357 finite=1 OK +sr=44100 block=1000 peak=0.310 rms=0.1358 finite=1 OK +state round trip (1573 bytes): OK +sr=48000 block=64 peak=0.310 rms=0.1356 finite=1 OK +sr=48000 block=512 peak=0.310 rms=0.1356 finite=1 OK +sr=48000 block=1000 peak=0.310 rms=0.1356 finite=1 OK +sr=96000 block=64 peak=0.310 rms=0.1356 finite=1 OK +sr=96000 block=512 peak=0.310 rms=0.1356 finite=1 OK +sr=96000 block=1000 peak=0.310 rms=0.1356 finite=1 OK +sr=44100 audio input silence rms=0.00001 OK +sr=44100 audio input sine rms=0.07857 OK +sr=44100 midi gate: before=0.00001 held=0.1180 after-release=0.00001 OK +sr=48000 audio input silence rms=0.00001 OK +sr=48000 audio input sine rms=0.07855 OK +sr=48000 midi gate: before=0.00001 held=0.1180 after-release=0.00001 OK +sr=96000 audio input silence rms=0.00001 OK +sr=96000 audio input sine rms=0.07856 OK +sr=96000 midi gate: before=0.00001 held=0.1180 after-release=0.00001 OK +readout Echo Feedback 0.40 = 60 % OK +readout Echo Feedback 1.00 = 150 % OK +readout Echo Send 0.20 = 4 % OK +readout Volume 0.50 = -12.0 dB OK +readout Reverb Decay 0.50 = 85 % OK +readout Reverb Decay 0.10 = 42 % OK +readout Echo Warp 1.00 = On OK +readout Echo Drive 0.50 = +6.0 dB OK +readout Echo Drive 0.00 = +0.0 dB OK +readout Echo Tone 0.50 = 800 Hz OK +readout Echo Tone 0.00 = 200 Hz OK +readout Echo Tone 1.00 = 3200 Hz OK +readout Echo Pong 1.00 = On OK +readout Echo Width 0.50 = 50 % OK +readout Echo Level 0.83 = 0.0 dB OK +readout Echo Level 1.00 = +6.0 dB OK +readout Echo Level 0.50 = -12.0 dB OK +pongSurvivesStateRoundTrip: OK +classicPresetTurnsPongOff: OK +pongAtOtherRates, sr=44100 peak=0.394 OK +pongAtOtherRates, sr=48000 peak=0.394 OK +pongAtOtherRates, sr=96000 peak=0.394 OK +sr=44100 latency: declared 327, measured 329 OK +sr=48000 latency: declared 0, measured 2 OK +sr=96000 latency: declared 656, measured 659 OK +sr=44100 midi note 60: 261.6 Hz (+0.1 c); knob after release 200.7 Hz, knob alone 200.7 Hz OK +sr=48000 midi note 60: 261.7 Hz (+0.2 c); knob after release 200.7 Hz, knob alone 200.7 Hz OK +sr=96000 midi note 60: 261.7 Hz (+0.2 c); knob after release 200.7 Hz, knob alone 200.7 Hz OK +programs: 16 +presets: program 3 = "Cathedral Bloom", freq 0.43 -> 0.80, state keeps program: OK +ALL OK diff --git a/review/logs/render_test-after-fixes.log b/review/logs/render_test-after-fixes.log new file mode 100644 index 0000000..c2ca712 --- /dev/null +++ b/review/logs/render_test-after-fixes.log @@ -0,0 +1,474 @@ +default_drone block=4 peak=0.333 rms=0.1371 finite=1 sound=1 OK +default_drone block=64 peak=0.333 rms=0.1371 finite=1 sound=1 OK +default_drone block=512 peak=0.333 rms=0.1371 finite=1 sound=1 OK +default_drone block=480 peak=0.333 rms=0.1371 finite=1 sound=1 OK +low_dark_verb block=4 peak=0.727 rms=0.2838 finite=1 sound=1 OK +low_dark_verb block=64 peak=0.727 rms=0.2838 finite=1 sound=1 OK +low_dark_verb block=512 peak=0.727 rms=0.2838 finite=1 sound=1 OK +low_dark_verb block=480 peak=0.727 rms=0.2838 finite=1 sound=1 OK +echo_runaway block=4 peak=0.726 rms=0.2691 finite=1 sound=1 OK +echo_runaway block=64 peak=0.726 rms=0.2691 finite=1 sound=1 OK +echo_runaway block=512 peak=0.726 rms=0.2691 finite=1 sound=1 OK +echo_runaway block=480 peak=0.726 rms=0.2691 finite=1 sound=1 OK +everything_max block=4 peak=0.750 rms=0.2610 finite=1 sound=1 OK +everything_max block=64 peak=0.750 rms=0.2610 finite=1 sound=1 OK +everything_max block=512 peak=0.750 rms=0.2610 finite=1 sound=1 OK +everything_max block=480 peak=0.750 rms=0.2610 finite=1 sound=1 OK +gain_zero block=4 peak=0.000 rms=0.0000 finite=1 sound=0 OK +gain_zero block=64 peak=0.000 rms=0.0000 finite=1 sound=0 OK +gain_zero block=512 peak=0.000 rms=0.0000 finite=1 sound=0 OK +gain_zero block=480 peak=0.000 rms=0.0000 finite=1 sound=0 OK +input passthrough rms=0.0786 OK +midi pitch dry on note (<25c) 68/69, worst of those 2.2 c OK +midi pitch Body min on note (<25c) 68/69, worst of those 2.2 c OK +midi pitch Body max on note (<25c) 67/69, worst of those 24.4 c OK +midi pitch Default preset on note (<25c) 66/69, worst of those 24.2 c OK +gate open rms=0.1176 closed rms=0.00001 (-84.0 dB) OK +resampler 48k->44.1k 1 kHz passes 0.00 dB OK +resampler 48k->44.1k 15 kHz passes -0.00 dB OK +resampler 48k->44.1k 23 kHz folded image -94.34 dB OK +resampler 48k->96k 1 kHz passes -0.00 dB OK +resampler 48k->96k 10 kHz image at 38 kHz -123.92 dB OK +resampler 96k->48k 30 kHz folded image -94.98 dB OK +resampler 44.1k->48k 1 kHz passes -0.00 dB OK +preset Default rms=0.1273 ( -17.9 dBFS) peak=0.333 OK +preset Sub Cellar rms=0.1548 ( -16.2 dBFS) peak=0.475 OK +preset Glass Wind rms=0.2116 ( -13.5 dBFS) peak=0.558 OK +preset Cathedral Bloom rms=0.2673 ( -11.5 dBFS) peak=0.786 OK +preset Echo Drift rms=0.0834 ( -21.6 dBFS) peak=0.250 OK +preset Doppler Void rms=0.1120 ( -19.0 dBFS) peak=0.361 OK +preset Dark Tide rms=0.1933 ( -14.3 dBFS) peak=0.672 OK +preset Razor Feedback rms=0.1446 ( -16.8 dBFS) peak=0.290 OK +preset Quiet Room rms=0.0818 ( -21.7 dBFS) peak=0.225 OK +preset Keys (play notes) rms=0.1321 ( -17.6 dBFS) peak=0.330 OK +preset Resonator (needs input) rms=0.0000 (-104.7 dBFS) peak=0.000 OK +preset Init (silent) rms=0.0000 (-102.5 dBFS) peak=0.000 OK +preset Open Fifths rms=0.1734 ( -15.2 dBFS) peak=0.462 OK +threeStringsSound Open Fifths strongest partial 151.2 Hz holds 53% of the power OK +preset Sympathetic rms=0.1366 ( -17.3 dBFS) peak=0.523 OK +threeStringsSound Sympathetic strongest partial 354.1 Hz holds 18% of the power OK +preset Chord Keys rms=0.1094 ( -19.2 dBFS) peak=0.281 OK +preset Ember Pong rms=0.0897 ( -20.9 dBFS) peak=0.231 OK +allocations while rendering, NaN recovery included: 0 OK +recovery from NaN: finite=1 rms of last second=0.0936 OK +echo first repeat at 0.248 s, knob 0.248 s: OK +filter state cleared by Init: OK +published Body, knob: 0.00991 s (knob 0.00991) OK +published note 60.000, Body 0.01170 s (3 periods 0.01147) OK +Echo Time with WARP: 0.359 s (expected 0.359) OK +engine, voice 0 independent at Coupling 0: same=1 others differ=1 OK +engine, unison voices differ: 1/0=1 2/1=1 OK +engine, Coupling rings a closed voice: 0.000067 -> 0.987463 (+83.4 dB) OK +engine, LPF 18000 Hz, ramp at 2 s: largest jump 0.31237, before 0.41388 OK +engine, LPF 18000 Hz, ramp at 2 s: largest jump 0.29941, before 0.36154 OK +engine, LPF 18000 Hz, ramp at 4 s: largest jump 0.36308, before 0.50708 OK +engine, LPF 18000 Hz, ramp at 4 s: largest jump 0.35730, before 0.48575 OK +engine, LPF 800 Hz, ramp at 2 s: largest jump 0.03125, before 0.03164 OK +engine, LPF 800 Hz, ramp at 2 s: largest jump 0.03141, before 0.03165 OK +engine, LPF 800 Hz, ramp at 4 s: largest jump 0.03301, before 0.05445 OK +engine, LPF 800 Hz, ramp at 4 s: largest jump 0.04374, before 0.05448 OK +engine, ramp end: default off=1 on=1 during=1 at 959=1 off at 961=1 off after Init=1 OK +engine, ramp settles on the sum: largest error 0.0000000 OK +engine, restart from silence: peak 0.000077 (was 1.956) OK +engine, ramp reversing from on: finite=1 largest jump 0.51978, before 0.50241 OK +engine, ramp reversing from off: finite=1 largest jump 0.31447, before 0.41388 OK +poly chord 36 43 52, Coupling 0%, voice 0: -0.6 c OK +poly chord 36 43 52, Coupling 0%, voice 1: -0.1 c OK +poly chord 36 43 52, Coupling 0%, voice 2: +0.1 c OK +poly chord 45 52 57, Coupling 0%, voice 0: +0.2 c OK +poly chord 45 52 57, Coupling 0%, voice 1: +0.1 c OK +poly chord 45 52 57, Coupling 0%, voice 2: +0.2 c OK +poly chord 48 55 64, Coupling 0%, voice 0: +0.2 c OK +poly chord 48 55 64, Coupling 0%, voice 1: +0.2 c OK +poly chord 48 55 64, Coupling 0%, voice 2: +0.3 c OK +poly chord 60 64 67, Coupling 0%, voice 0: +0.2 c OK +poly chord 60 64 67, Coupling 0%, voice 1: +0.3 c OK +poly chord 60 64 67, Coupling 0%, voice 2: +0.2 c OK +poly chord 64 69 76, Coupling 0%, voice 0: +0.3 c OK +poly chord 64 69 76, Coupling 0%, voice 1: +0.2 c OK +poly chord 64 69 76, Coupling 0%, voice 2: +0.2 c OK +poly chord 36 43 52, Coupling 100%, voice 0: -1.0 c OK +poly chord 36 43 52, Coupling 100%, voice 1: -0.0 c OK +poly chord 36 43 52, Coupling 100%, voice 2: -0.0 c OK +poly chord 45 52 57, Coupling 100%, voice 0: +0.1 c OK +poly chord 45 52 57, Coupling 100%, voice 1: +0.0 c OK +poly chord 45 52 57, Coupling 100%, voice 2: -0.3 c OK +poly chord 48 55 64, Coupling 100%, voice 0: +0.0 c OK +poly chord 48 55 64, Coupling 100%, voice 1: +0.0 c OK +poly chord 48 55 64, Coupling 100%, voice 2: +0.0 c OK +poly chord 60 64 67, Coupling 100%, voice 0: +0.5 c OK +poly chord 60 64 67, Coupling 100%, voice 1: +0.5 c OK +poly chord 60 64 67, Coupling 100%, voice 2: -0.6 c OK +poly chord 64 69 76, Coupling 100%, voice 0: +0.4 c OK +poly chord 64 69 76, Coupling 100%, voice 1: +0.1 c OK +poly chord 64 69 76, Coupling 100%, voice 2: +0.1 c OK +poly chord 24 28 31 holds at Coupling 100%, voice 0: +0.8 c OK +poly chord 24 28 31 holds at Coupling 100%, voice 1: -0.9 c OK +poly chord 24 28 31 holds at Coupling 100%, voice 2: +0.7 c OK +poly chord 24 27 31 holds at Coupling 100%, voice 0: +0.6 c OK +poly chord 24 27 31 holds at Coupling 100%, voice 1: -0.4 c OK +poly chord 24 27 31 holds at Coupling 100%, voice 2: +1.6 c OK +poly chord 24 31 36 holds at Coupling 100%, voice 0: +0.4 c OK +poly chord 24 31 36 holds at Coupling 100%, voice 1: +0.0 c OK +poly chord 24 31 36 holds at Coupling 100%, voice 2: -0.4 c OK +poly chord 24 29 31 holds at Coupling 100%, voice 0: +0.9 c OK +poly chord 24 29 31 holds at Coupling 100%, voice 1: -0.2 c OK +poly chord 24 29 31 holds at Coupling 100%, voice 2: +0.8 c OK +poly chord 24 26 31 holds at Coupling 100%, voice 0: +0.8 c OK +poly chord 24 26 31 holds at Coupling 100%, voice 1: -0.3 c OK +poly chord 24 26 31 holds at Coupling 100%, voice 2: +1.3 c OK +poly chord 24 25 26 holds at Coupling 100%, voice 0: +1.7 c OK +poly chord 24 25 26 holds at Coupling 100%, voice 1: -1.7 c OK +poly chord 24 25 26 holds at Coupling 100%, voice 2: -2.6 c OK +poly chord 24 31 40 holds at Coupling 100%, voice 0: +0.7 c OK +poly chord 24 31 40 holds at Coupling 100%, voice 1: +0.4 c OK +poly chord 24 31 40 holds at Coupling 100%, voice 2: +0.9 c OK +poly chord 24 36 48 holds at Coupling 100%, voice 0: +0.6 c OK +poly chord 24 36 48 holds at Coupling 100%, voice 1: -1.0 c OK +poly chord 24 36 48 holds at Coupling 100%, voice 2: +0.2 c OK +poly chord 30 34 37 holds at Coupling 100%, voice 0: -0.4 c OK +poly chord 30 34 37 holds at Coupling 100%, voice 1: -0.4 c OK +poly chord 30 34 37 holds at Coupling 100%, voice 2: +2.0 c OK +poly chord 30 33 37 holds at Coupling 100%, voice 0: -0.8 c OK +poly chord 30 33 37 holds at Coupling 100%, voice 1: -0.7 c OK +poly chord 30 33 37 holds at Coupling 100%, voice 2: +1.9 c OK +poly chord 30 37 42 holds at Coupling 100%, voice 0: -0.3 c OK +poly chord 30 37 42 holds at Coupling 100%, voice 1: +0.1 c OK +poly chord 30 37 42 holds at Coupling 100%, voice 2: -0.3 c OK +poly chord 30 35 37 holds at Coupling 100%, voice 0: -0.4 c OK +poly chord 30 35 37 holds at Coupling 100%, voice 1: -0.7 c OK +poly chord 30 35 37 holds at Coupling 100%, voice 2: +1.9 c OK +poly chord 30 32 37 holds at Coupling 100%, voice 0: -0.9 c OK +poly chord 30 32 37 holds at Coupling 100%, voice 1: -0.2 c OK +poly chord 30 32 37 holds at Coupling 100%, voice 2: +1.4 c OK +poly chord 30 31 32 holds at Coupling 100%, voice 0: -2.7 c OK +poly chord 30 31 32 holds at Coupling 100%, voice 1: +1.6 c OK +poly chord 30 31 32 holds at Coupling 100%, voice 2: +2.3 c OK +poly chord 30 37 46 holds at Coupling 100%, voice 0: +0.0 c OK +poly chord 30 37 46 holds at Coupling 100%, voice 1: +0.4 c OK +poly chord 30 37 46 holds at Coupling 100%, voice 2: +0.4 c OK +poly chord 30 42 54 holds at Coupling 100%, voice 0: +0.1 c OK +poly chord 30 42 54 holds at Coupling 100%, voice 1: -0.1 c OK +poly chord 30 42 54 holds at Coupling 100%, voice 2: -0.5 c OK +poly chord 36 40 43 holds at Coupling 100%, voice 0: -1.6 c OK +poly chord 36 40 43 holds at Coupling 100%, voice 1: +0.1 c OK +poly chord 36 40 43 holds at Coupling 100%, voice 2: +1.0 c OK +poly chord 36 39 43 holds at Coupling 100%, voice 0: -1.7 c OK +poly chord 36 39 43 holds at Coupling 100%, voice 1: +0.6 c OK +poly chord 36 39 43 holds at Coupling 100%, voice 2: +0.7 c OK +poly chord 36 43 48 holds at Coupling 100%, voice 0: -1.3 c OK +poly chord 36 43 48 holds at Coupling 100%, voice 1: -0.1 c OK +poly chord 36 43 48 holds at Coupling 100%, voice 2: -0.9 c OK +poly chord 36 41 43 holds at Coupling 100%, voice 0: -1.5 c OK +poly chord 36 41 43 holds at Coupling 100%, voice 1: +0.1 c OK +poly chord 36 41 43 holds at Coupling 100%, voice 2: +1.0 c OK +poly chord 36 38 43 holds at Coupling 100%, voice 0: -1.9 c OK +poly chord 36 38 43 holds at Coupling 100%, voice 1: +0.6 c OK +poly chord 36 38 43 holds at Coupling 100%, voice 2: +0.4 c OK +poly chord 36 37 38 holds at Coupling 100%, voice 0: -2.8 c OK +poly chord 36 37 38 holds at Coupling 100%, voice 1: +2.9 c OK +poly chord 36 37 38 holds at Coupling 100%, voice 2: +2.7 c OK +poly chord 36 43 52 holds at Coupling 100%, voice 0: -1.0 c OK +poly chord 36 43 52 holds at Coupling 100%, voice 1: -0.0 c OK +poly chord 36 43 52 holds at Coupling 100%, voice 2: -0.0 c OK +poly chord 36 48 60 holds at Coupling 100%, voice 0: -0.7 c OK +poly chord 36 48 60 holds at Coupling 100%, voice 1: -0.5 c OK +poly chord 36 48 60 holds at Coupling 100%, voice 2: +0.2 c OK +poly chord 42 46 49 holds at Coupling 100%, voice 0: -0.7 c OK +poly chord 42 46 49 holds at Coupling 100%, voice 1: +0.2 c OK +poly chord 42 46 49 holds at Coupling 100%, voice 2: +0.1 c OK +poly chord 42 45 49 holds at Coupling 100%, voice 0: -0.7 c OK +poly chord 42 45 49 holds at Coupling 100%, voice 1: +0.5 c OK +poly chord 42 45 49 holds at Coupling 100%, voice 2: -0.0 c OK +poly chord 42 49 54 holds at Coupling 100%, voice 0: -0.1 c OK +poly chord 42 49 54 holds at Coupling 100%, voice 1: +0.0 c OK +poly chord 42 49 54 holds at Coupling 100%, voice 2: -0.2 c OK +poly chord 42 47 49 holds at Coupling 100%, voice 0: -0.7 c OK +poly chord 42 47 49 holds at Coupling 100%, voice 1: +0.2 c OK +poly chord 42 47 49 holds at Coupling 100%, voice 2: +0.1 c OK +poly chord 42 44 49 holds at Coupling 100%, voice 0: -0.7 c OK +poly chord 42 44 49 holds at Coupling 100%, voice 1: +0.3 c OK +poly chord 42 44 49 holds at Coupling 100%, voice 2: -0.1 c OK +poly chord 42 43 44 holds at Coupling 100%, voice 0: -0.6 c OK +poly chord 42 43 44 holds at Coupling 100%, voice 1: +2.9 c OK +poly chord 42 43 44 holds at Coupling 100%, voice 2: +0.5 c OK +poly chord 42 49 58 holds at Coupling 100%, voice 0: -0.3 c OK +poly chord 42 49 58 holds at Coupling 100%, voice 1: -0.0 c OK +poly chord 42 49 58 holds at Coupling 100%, voice 2: -0.0 c OK +poly chord 42 54 66 holds at Coupling 100%, voice 0: -0.2 c OK +poly chord 42 54 66 holds at Coupling 100%, voice 1: -0.0 c OK +poly chord 42 54 66 holds at Coupling 100%, voice 2: +0.0 c OK +poly chord 48 52 55 holds at Coupling 100%, voice 0: -0.1 c OK +poly chord 48 52 55 holds at Coupling 100%, voice 1: +0.1 c OK +poly chord 48 52 55 holds at Coupling 100%, voice 2: -0.4 c OK +poly chord 48 51 55 holds at Coupling 100%, voice 0: -0.0 c OK +poly chord 48 51 55 holds at Coupling 100%, voice 1: +0.1 c OK +poly chord 48 51 55 holds at Coupling 100%, voice 2: -0.4 c OK +poly chord 48 55 60 holds at Coupling 100%, voice 0: -0.4 c OK +poly chord 48 55 60 holds at Coupling 100%, voice 1: +0.0 c OK +poly chord 48 55 60 holds at Coupling 100%, voice 2: -0.5 c OK +poly chord 48 53 55 holds at Coupling 100%, voice 0: -0.1 c OK +poly chord 48 53 55 holds at Coupling 100%, voice 1: +0.3 c OK +poly chord 48 53 55 holds at Coupling 100%, voice 2: -0.6 c OK +poly chord 48 50 55 holds at Coupling 100%, voice 0: +0.1 c OK +poly chord 48 50 55 holds at Coupling 100%, voice 1: +0.0 c OK +poly chord 48 50 55 holds at Coupling 100%, voice 2: -0.4 c OK +poly chord 48 49 50 holds at Coupling 100%, voice 0: +2.3 c OK +poly chord 48 49 50 holds at Coupling 100%, voice 1: +2.7 c OK +poly chord 48 49 50 holds at Coupling 100%, voice 2: -2.5 c OK +poly chord 48 55 64 holds at Coupling 100%, voice 0: +0.0 c OK +poly chord 48 55 64 holds at Coupling 100%, voice 1: +0.0 c OK +poly chord 48 55 64 holds at Coupling 100%, voice 2: +0.0 c OK +poly chord 48 60 72 holds at Coupling 100%, voice 0: +0.1 c OK +poly chord 48 60 72 holds at Coupling 100%, voice 1: -0.1 c OK +poly chord 48 60 72 holds at Coupling 100%, voice 2: +0.5 c OK +poly chord 54 58 61 holds at Coupling 100%, voice 0: +0.4 c OK +poly chord 54 58 61 holds at Coupling 100%, voice 1: +0.4 c OK +poly chord 54 58 61 holds at Coupling 100%, voice 2: -0.6 c OK +poly chord 54 57 61 holds at Coupling 100%, voice 0: +0.5 c OK +poly chord 54 57 61 holds at Coupling 100%, voice 1: -0.0 c OK +poly chord 54 57 61 holds at Coupling 100%, voice 2: -0.5 c OK +poly chord 54 61 66 holds at Coupling 100%, voice 0: +0.2 c OK +poly chord 54 61 66 holds at Coupling 100%, voice 1: +0.1 c OK +poly chord 54 61 66 holds at Coupling 100%, voice 2: -0.0 c OK +poly chord 54 59 61 holds at Coupling 100%, voice 0: +0.2 c OK +poly chord 54 59 61 holds at Coupling 100%, voice 1: +0.7 c OK +poly chord 54 59 61 holds at Coupling 100%, voice 2: -0.7 c OK +poly chord 54 56 61 holds at Coupling 100%, voice 0: +0.7 c OK +poly chord 54 56 61 holds at Coupling 100%, voice 1: -0.3 c OK +poly chord 54 56 61 holds at Coupling 100%, voice 2: -0.4 c OK +poly chord 54 55 56 holds at Coupling 100%, voice 0: +4.2 c OK +poly chord 54 55 56 holds at Coupling 100%, voice 1: +2.6 c OK +poly chord 54 55 56 holds at Coupling 100%, voice 2: -4.4 c OK +poly chord 54 61 70 holds at Coupling 100%, voice 0: +0.2 c OK +poly chord 54 61 70 holds at Coupling 100%, voice 1: +0.0 c OK +poly chord 54 61 70 holds at Coupling 100%, voice 2: -0.0 c OK +poly chord 54 66 78 holds at Coupling 100%, voice 0: +0.1 c OK +poly chord 54 66 78 holds at Coupling 100%, voice 1: +0.1 c OK +poly chord 54 66 78 holds at Coupling 100%, voice 2: +0.0 c OK +poly chord 60 64 67 holds at Coupling 100%, voice 0: +0.5 c OK +poly chord 60 64 67 holds at Coupling 100%, voice 1: +0.5 c OK +poly chord 60 64 67 holds at Coupling 100%, voice 2: -0.6 c OK +poly chord 60 63 67 holds at Coupling 100%, voice 0: +0.8 c OK +poly chord 60 63 67 holds at Coupling 100%, voice 1: -0.1 c OK +poly chord 60 63 67 holds at Coupling 100%, voice 2: -0.4 c OK +poly chord 60 67 72 holds at Coupling 100%, voice 0: +0.2 c OK +poly chord 60 67 72 holds at Coupling 100%, voice 1: +0.2 c OK +poly chord 60 67 72 holds at Coupling 100%, voice 2: +0.2 c OK +poly chord 60 65 67 holds at Coupling 100%, voice 0: +0.3 c OK +poly chord 60 65 67 holds at Coupling 100%, voice 1: +0.9 c OK +poly chord 60 65 67 holds at Coupling 100%, voice 2: -0.7 c OK +poly chord 60 62 67 holds at Coupling 100%, voice 0: +1.0 c OK +poly chord 60 62 67 holds at Coupling 100%, voice 1: -0.3 c OK +poly chord 60 62 67 holds at Coupling 100%, voice 2: -0.2 c OK +poly chord 60 61 62 holds at Coupling 100%, voice 0: +3.5 c OK +poly chord 60 61 62 holds at Coupling 100%, voice 1: +1.6 c OK +poly chord 60 61 62 holds at Coupling 100%, voice 2: -3.2 c OK +poly chord 60 67 76 holds at Coupling 100%, voice 0: +0.3 c OK +poly chord 60 67 76 holds at Coupling 100%, voice 1: +0.1 c OK +poly chord 60 67 76 holds at Coupling 100%, voice 2: +0.0 c OK +poly chord 60 72 84 holds at Coupling 100%, voice 0: +0.1 c OK +poly chord 60 72 84 holds at Coupling 100%, voice 1: +0.2 c OK +poly chord 60 72 84 holds at Coupling 100%, voice 2: +0.2 c OK +preset Chord Keys, chord 36 40 43, voice 0: -11.8 c OK +preset Chord Keys, chord 36 40 43, voice 1: -1.5 c OK +preset Chord Keys, chord 36 40 43, voice 2: +1.3 c OK +preset Chord Keys, chord 36 39 43, voice 0: -12.1 c OK +preset Chord Keys, chord 36 39 43, voice 1: -8.0 c OK +preset Chord Keys, chord 36 39 43, voice 2: +1.2 c OK +preset Chord Keys, chord 36 43 48, voice 0: -7.9 c OK +preset Chord Keys, chord 36 43 48, voice 1: +0.9 c OK +preset Chord Keys, chord 36 43 48, voice 2: +5.6 c OK +preset Chord Keys, chord 36 41 43, voice 0: -11.3 c OK +preset Chord Keys, chord 36 41 43, voice 1: +3.6 c OK +preset Chord Keys, chord 36 41 43, voice 2: +1.3 c OK +preset Chord Keys, chord 36 38 43, voice 0: -11.3 c OK +preset Chord Keys, chord 36 38 43, voice 1: +0.7 c OK +preset Chord Keys, chord 36 38 43, voice 2: +1.1 c OK +preset Chord Keys, chord 42 46 49, voice 0: +2.2 c OK +preset Chord Keys, chord 42 46 49, voice 1: -6.6 c OK +preset Chord Keys, chord 42 46 49, voice 2: -6.4 c OK +preset Chord Keys, chord 42 45 49, voice 0: +3.1 c OK +preset Chord Keys, chord 42 45 49, voice 1: -1.8 c OK +preset Chord Keys, chord 42 45 49, voice 2: -6.5 c OK +preset Chord Keys, chord 42 49 54, voice 0: +2.6 c OK +preset Chord Keys, chord 42 49 54, voice 1: -6.4 c OK +preset Chord Keys, chord 42 49 54, voice 2: +0.8 c OK +preset Chord Keys, chord 42 47 49, voice 0: +2.5 c OK +preset Chord Keys, chord 42 47 49, voice 1: +0.2 c OK +preset Chord Keys, chord 42 47 49, voice 2: -6.5 c OK +preset Chord Keys, chord 42 44 49, voice 0: +3.1 c OK +preset Chord Keys, chord 42 44 49, voice 1: -1.8 c OK +preset Chord Keys, chord 42 44 49, voice 2: -6.5 c OK +preset Chord Keys, chord 48 52 55, voice 0: +5.6 c OK +preset Chord Keys, chord 48 52 55, voice 1: +0.9 c OK +preset Chord Keys, chord 48 52 55, voice 2: +1.1 c OK +preset Chord Keys, chord 48 51 55, voice 0: +5.7 c OK +preset Chord Keys, chord 48 51 55, voice 1: +3.8 c OK +preset Chord Keys, chord 48 51 55, voice 2: +1.3 c OK +preset Chord Keys, chord 48 55 60, voice 0: +6.7 c OK +preset Chord Keys, chord 48 55 60, voice 1: +1.3 c OK +preset Chord Keys, chord 48 55 60, voice 2: +0.2 c OK +preset Chord Keys, chord 48 53 55, voice 0: +6.2 c OK +preset Chord Keys, chord 48 53 55, voice 1: +5.8 c OK +preset Chord Keys, chord 48 53 55, voice 2: +1.2 c OK +preset Chord Keys, chord 48 50 55, voice 0: +5.2 c OK +preset Chord Keys, chord 48 50 55, voice 1: +2.7 c OK +preset Chord Keys, chord 48 50 55, voice 2: +1.4 c OK +preset Chord Keys, chord 54 58 61, voice 0: +2.5 c OK +preset Chord Keys, chord 54 58 61, voice 1: +0.0 c OK +preset Chord Keys, chord 54 58 61, voice 2: -0.9 c OK +preset Chord Keys, chord 54 57 61, voice 0: +2.3 c OK +preset Chord Keys, chord 54 57 61, voice 1: +1.5 c OK +preset Chord Keys, chord 54 57 61, voice 2: -1.1 c OK +preset Chord Keys, chord 54 61 66, voice 0: +2.1 c OK +preset Chord Keys, chord 54 61 66, voice 1: -0.7 c OK +preset Chord Keys, chord 54 61 66, voice 2: -2.0 c OK +preset Chord Keys, chord 54 59 61, voice 0: +2.2 c OK +preset Chord Keys, chord 54 59 61, voice 1: -0.2 c OK +preset Chord Keys, chord 54 59 61, voice 2: -1.1 c OK +preset Chord Keys, chord 54 56 61, voice 0: +2.6 c OK +preset Chord Keys, chord 54 56 61, voice 1: +0.9 c OK +preset Chord Keys, chord 54 56 61, voice 2: -1.0 c OK +preset Chord Keys, chord 60 64 67, voice 0: +0.4 c OK +preset Chord Keys, chord 60 64 67, voice 1: -0.2 c OK +preset Chord Keys, chord 60 64 67, voice 2: +1.3 c OK +preset Chord Keys, chord 60 63 67, voice 0: +0.7 c OK +preset Chord Keys, chord 60 63 67, voice 1: +0.5 c OK +preset Chord Keys, chord 60 63 67, voice 2: +1.3 c OK +preset Chord Keys, chord 60 67 72, voice 0: +0.3 c OK +preset Chord Keys, chord 60 67 72, voice 1: +1.5 c OK +preset Chord Keys, chord 60 67 72, voice 2: -0.7 c OK +preset Chord Keys, chord 60 65 67, voice 0: +0.7 c OK +preset Chord Keys, chord 60 65 67, voice 1: -2.7 c OK +preset Chord Keys, chord 60 65 67, voice 2: +1.3 c OK +preset Chord Keys, chord 60 62 67, voice 0: +0.5 c OK +preset Chord Keys, chord 60 62 67, voice 1: +0.9 c OK +preset Chord Keys, chord 60 62 67, voice 2: +1.4 c OK +poly restart starts on the new notes: 52.00 57.00 OK +poly restart with a new chord, voice 0: +0.4 c OK +poly restart with a new chord, voice 1: +0.2 c OK +poly restart with a new chord, voice 2: +0.2 c OK +poly restart builds as fast, voice 1: 0.35 s, fresh 0.35 s OK +poly restart builds as fast, voice 2: 0.40 s, fresh 0.35 s OK +poly restart keeps the filters: voice 1 slope rms 0.03231, fresh 0.03231 OK +poly knob intervals: +7.000 +12.000 OK +poly interval +24 at Frequency 1.0: voice 1 note 84.00 finite=1 in range=1 OK +poly interval -24 at Frequency 0.0: voice 1 note 16.00 finite=1 in range=1 OK +poly never assigned voice stays closed: -84.1 dB below voice 0 OK +poly gate per voice: closed voice -83.9 dB, open voice -0.0 dB OK +poly chord audible at once: rms 0.9846 0.9809 0.9798, voice 1 early=1, no ramp (error 0.00000) OK +poly stability at maximum, chord 16 50 84: finite=1 peak=0.655 recoveries=0 OK +poly stability at maximum, chord 48 48 48: finite=1 peak=0.694 recoveries=0 OK +poly stability at maximum, LOCK from the knobs: finite=1 peak=0.554 recoveries=0 OK +poly stability at maximum, knobs, Body 0: finite=1 peak=0.714 recoveries=0 OK +poly stability at maximum, knobs, Body 1: finite=1 peak=0.683 recoveries=0 OK +poly closed voice at Coupling 100%, reverb 0.0, voice 0 open, interval 0: -83.9 dB OK +poly closed voice at Coupling 100%, reverb 0.0, voice 0 open, interval 7: -84.0 dB OK +poly closed voice at Coupling 100%, reverb 0.0, voice 0 open, interval 6: -83.9 dB OK +poly closed voice at Coupling 100%, reverb 0.0, voices 0 and 1 open, interval 0: -83.9 dB OK +poly closed voice at Coupling 100%, reverb 0.0, voices 0 and 1 open, interval 7: -84.0 dB OK +poly closed voice at Coupling 100%, reverb 0.0, voices 0 and 1 open, interval 6: -83.9 dB OK +poly closed voice at Coupling 100%, reverb 0.0, voices 1 and 2 open, interval 0: -83.9 dB OK +poly closed voice at Coupling 100%, reverb 0.0, voices 1 and 2 open, interval 7: -84.0 dB OK +poly closed voice at Coupling 100%, reverb 0.0, voices 1 and 2 open, interval 6: -83.9 dB OK +poly closed voice at Coupling 100%, reverb 0.5, voice 0 open, interval 0: -87.8 dB OK +poly closed voice at Coupling 100%, reverb 0.5, voice 0 open, interval 7: -88.0 dB OK +poly closed voice at Coupling 100%, reverb 0.5, voice 0 open, interval 6: -87.8 dB OK +poly closed voice at Coupling 100%, reverb 0.5, voices 0 and 1 open, interval 0: -87.8 dB OK +poly closed voice at Coupling 100%, reverb 0.5, voices 0 and 1 open, interval 7: -88.1 dB OK +poly closed voice at Coupling 100%, reverb 0.5, voices 0 and 1 open, interval 6: -87.8 dB OK +poly closed voice at Coupling 100%, reverb 0.5, voices 1 and 2 open, interval 0: -87.8 dB OK +poly closed voice at Coupling 100%, reverb 0.5, voices 1 and 2 open, interval 7: -87.8 dB OK +poly closed voice at Coupling 100%, reverb 0.5, voices 1 and 2 open, interval 6: -87.8 dB OK +poly voice restarting closed at Coupling 100%: -84.1 dB OK +poly LOCK from the knobs, Frequency 0.30 Body 0.3: worst voice 0.8 c OK +poly LOCK from the knobs, Frequency 0.30 Body 0.6: worst voice 0.8 c OK +poly LOCK from the knobs, Frequency 0.30 Body 0.9: worst voice 0.5 c OK +poly LOCK from the knobs, Frequency 0.43 Body 0.3: worst voice 0.2 c OK +poly LOCK from the knobs, Frequency 0.43 Body 0.6: worst voice 0.2 c OK +poly LOCK from the knobs, Frequency 0.43 Body 0.9: worst voice 0.2 c OK +poly LOCK from the knobs, Frequency 0.55 Body 0.3: worst voice 0.2 c OK +poly LOCK from the knobs, Frequency 0.55 Body 0.6: worst voice 0.2 c OK +poly LOCK from the knobs, Frequency 0.55 Body 0.9: worst voice 0.2 c OK +poly LOCK from the knobs, Frequency 0.70 Body 0.3: worst voice 0.2 c OK +poly LOCK from the knobs, Frequency 0.70 Body 0.6: worst voice 0.2 c OK +poly LOCK from the knobs, Frequency 0.70 Body 0.9: worst voice 0.2 c OK +poly free voices on one pitch: 6 of 42 settings OK +poly LOCK at Highpass 0.8: rms 0.00003, free 0.120 OK +poly LOCK off at Coupling 0%, Frequency 0.30 Body 0.3: largest kink 0.00109, before 0.00092 OK +poly LOCK off at Coupling 0%, Frequency 0.30 Body 0.7: largest kink 0.00108, before 0.00087 OK +poly LOCK off at Coupling 0%, Frequency 0.43 Body 0.3: largest kink 0.00266, before 0.00351 OK +poly LOCK off at Coupling 0%, Frequency 0.43 Body 0.7: largest kink 0.00260, before 0.00348 OK +poly LOCK off at Coupling 100%, Frequency 0.30 Body 0.3: largest kink 0.00081, before 0.00095 OK +poly LOCK off at Coupling 100%, Frequency 0.30 Body 0.7: largest kink 0.00170, before 0.00090 OK +poly LOCK off at Coupling 100%, Frequency 0.43 Body 0.3: largest kink 0.00288, before 0.00365 OK +poly LOCK off at Coupling 100%, Frequency 0.43 Body 0.7: largest kink 0.00512, before 0.00343 OK +poly Coupling 100% changes the spectrum, chord 48 55 64: 0.167 OK +poly Coupling 100% changes the spectrum, chord 60 64 67: 0.445 OK +poly Coupling 100% changes the spectrum, knobs +7 +12: 0.547 OK +poly Coupling 100% changes the spectrum, LOCK, knobs +7 +12: 0.190 OK +poly Body 0.7, Coupling 80%: 0 of 84 voices moved off their notes, worst 0.6 c OK +poly Body 0.7, Coupling 100%: 0 of 84 voices moved off their notes, worst 0.6 c OK +poly Body 0.8, Coupling 80%: 0 of 84 voices moved off their notes, worst 0.5 c OK +poly Body 0.8, Coupling 100%: 0 of 84 voices moved off their notes, worst 0.5 c OK +poly Body 0.9, Coupling 80%: 0 of 83 voices moved off their notes, worst 0.5 c OK +poly Body 0.9, Coupling 100%: 0 of 83 voices moved off their notes, worst 0.5 c OK +poly Body 1.0, Coupling 80%: 0 of 84 voices moved off their notes, worst 0.5 c OK +poly Body 1.0, Coupling 100%: 0 of 84 voices moved off their notes, worst 0.5 c OK +poly Coupling 100% changes the spectrum at Body 0.5: 0.286 OK +poly ramp on at Coupling 100%, L: largest jump 0.01056, before 0.01099, finite=1 OK +poly ramp on at Coupling 100%, R: largest jump 0.01063, before 0.01099, finite=1 OK +poly ramp off, reversing at Coupling 100%, L: largest jump 0.01459, before 0.02057, finite=1 OK +poly ramp off, reversing at Coupling 100%, R: largest jump 0.01058, before 0.02072, finite=1 OK +poly Recover restores all voices: rms 0.9852 0.9809 0.9798 OK +CPU, polyphony off: 0.0115 s per second of audio +CPU, polyphony on: 0.0287 s per second of audio +pongMonoSum: L + R with PONG on is 4.72 dB from PONG off OK +pongSameColorThroughCore: spectral difference 0.065 OK +pongBackToFirmware: OK +pongToneSweepWhileRunningAway: peak 0.286, recoveries 0 OK +pongToneSurvivesRecover: peak at 271 Hz after Init OK +pongSwitchDuringRunaway at 4.00 s: largest jump 0.10246, limit 0.21063 OK +pongSwitchDuringRunaway at 4.00 s: largest jump 0.11989, limit 0.18387 OK +pongSwitchDuringRunaway at 6.00 s: largest jump 0.09754, limit 0.18993 OK +pongSwitchDuringRunaway at 6.00 s: largest jump 0.09551, limit 0.13366 OK +pongOnFromFirstBlock: OK +pongSwitchClickFree at 2.00 s: largest jump 0.33666, limit 0.50092 OK +pongSwitchClickFree at 2.00 s: largest jump 0.33835, limit 0.42447 OK +pongSwitchClickFree at 4.00 s: largest jump 0.33256, limit 0.40118 OK +pongSwitchClickFree at 4.00 s: largest jump 0.31472, limit 0.38138 OK +pongSwitchClickFree at 2.00 s: largest jump 0.05727, limit 0.07253 OK +pongSwitchClickFree at 2.00 s: largest jump 0.05562, limit 0.07392 OK +pongSwitchClickFree at 4.00 s: largest jump 0.03375, limit 0.06055 OK +pongSwitchClickFree at 4.00 s: largest jump 0.03673, limit 0.06286 OK +pongSwitchReverses: mix 0.000 20 ms after switching back OK +pongSwitchReverses at 2.00 s: largest jump 0.05727, limit 0.07253 OK +pongSwitchReverses at 2.00 s: largest jump 0.05631, limit 0.07392 OK +pongBoundsAtMaximum: peak 0.477, recoveries 0, mean 0.00006, 0.00006 OK +pongBouncesThroughCore, repeat 1: L over R 73.8 dB OK +pongBouncesThroughCore, repeat 2: L over R -68.7 dB OK +pongWidthAndLevelThroughCore: Width 0 L over R -0.00 dB and -6.01 dB from full width, Level -12 dB gives -11.99 dB OK +pongRecoversFromNan: tail RMS 0.10852 before, 0.000008 after, mix 1.00 OK +pongSurvivesTimeSweep: peak 0.299, recoveries 0 OK +everyPresetWithPongOn: OK +pongIndependentOfBlockSize: OK +emberPongSelfSustains: Ember Pong, RMS 0.0245 with nothing feeding it OK +stereoBounces: OK +stereoTiming, T 12000 samples: OK +stereoTiming, T 17250 samples: OK +stereoSameColor: largest difference 0.000 dB OK +stereoToneMovesCenter, Tone 300 Hz: peak at 271 Hz OK +stereoToneMovesCenter, Tone 3000 Hz: peak at 2936 Hz OK +stereoRunaway, Drive 1, Feedback 0.6: RMS 0.48065 after 20 s OK +stereoRunaway, Drive 1, Feedback 0.4: RMS 0.00000 after 20 s OK +stereoRunaway, Drive 0, Feedback 0.9: RMS 0.00000 after 20 s OK +stereoFeedbackZeroIsOneRepeat: OK +stereoWidthZeroIsMono: repeat 0.046821, half the side 0.046821 OK +stereoWidthAndLevelLeaveTheLoop: largest difference 1.5e-08 OK +stereoAliasing at 3100 Hz, Drive 1, Tone 3200 Hz: -54.0 dB at Feedback 0, -31.4 dB at Feedback 0.9 OK +stereoRampSettles: 1.0000000 after switching on, 0.0000000 after switching off OK +echoCenterReturnsBitForBit: OK +echoShapedAtUnityIsProcess: OK +stereoEchoMatchesTwoLines: OK +ALL OK diff --git a/review/logs/render_test-asan-ubsan-after-fixes.log b/review/logs/render_test-asan-ubsan-after-fixes.log new file mode 100644 index 0000000..eac1ee6 --- /dev/null +++ b/review/logs/render_test-asan-ubsan-after-fixes.log @@ -0,0 +1,474 @@ +default_drone block=4 peak=0.333 rms=0.1371 finite=1 sound=1 OK +default_drone block=64 peak=0.333 rms=0.1371 finite=1 sound=1 OK +default_drone block=512 peak=0.333 rms=0.1371 finite=1 sound=1 OK +default_drone block=480 peak=0.333 rms=0.1371 finite=1 sound=1 OK +low_dark_verb block=4 peak=0.727 rms=0.2838 finite=1 sound=1 OK +low_dark_verb block=64 peak=0.727 rms=0.2838 finite=1 sound=1 OK +low_dark_verb block=512 peak=0.727 rms=0.2838 finite=1 sound=1 OK +low_dark_verb block=480 peak=0.727 rms=0.2838 finite=1 sound=1 OK +echo_runaway block=4 peak=0.726 rms=0.2691 finite=1 sound=1 OK +echo_runaway block=64 peak=0.726 rms=0.2691 finite=1 sound=1 OK +echo_runaway block=512 peak=0.726 rms=0.2691 finite=1 sound=1 OK +echo_runaway block=480 peak=0.726 rms=0.2691 finite=1 sound=1 OK +everything_max block=4 peak=0.750 rms=0.2610 finite=1 sound=1 OK +everything_max block=64 peak=0.750 rms=0.2610 finite=1 sound=1 OK +everything_max block=512 peak=0.750 rms=0.2610 finite=1 sound=1 OK +everything_max block=480 peak=0.750 rms=0.2610 finite=1 sound=1 OK +gain_zero block=4 peak=0.000 rms=0.0000 finite=1 sound=0 OK +gain_zero block=64 peak=0.000 rms=0.0000 finite=1 sound=0 OK +gain_zero block=512 peak=0.000 rms=0.0000 finite=1 sound=0 OK +gain_zero block=480 peak=0.000 rms=0.0000 finite=1 sound=0 OK +input passthrough rms=0.0786 OK +midi pitch dry on note (<25c) 68/69, worst of those 2.2 c OK +midi pitch Body min on note (<25c) 68/69, worst of those 2.2 c OK +midi pitch Body max on note (<25c) 67/69, worst of those 24.4 c OK +midi pitch Default preset on note (<25c) 66/69, worst of those 24.2 c OK +gate open rms=0.1176 closed rms=0.00001 (-84.0 dB) OK +resampler 48k->44.1k 1 kHz passes -0.00 dB OK +resampler 48k->44.1k 15 kHz passes -0.00 dB OK +resampler 48k->44.1k 23 kHz folded image -94.34 dB OK +resampler 48k->96k 1 kHz passes -0.00 dB OK +resampler 48k->96k 10 kHz image at 38 kHz -124.13 dB OK +resampler 96k->48k 30 kHz folded image -94.98 dB OK +resampler 44.1k->48k 1 kHz passes -0.00 dB OK +preset Default rms=0.1273 ( -17.9 dBFS) peak=0.333 OK +preset Sub Cellar rms=0.1548 ( -16.2 dBFS) peak=0.475 OK +preset Glass Wind rms=0.2116 ( -13.5 dBFS) peak=0.558 OK +preset Cathedral Bloom rms=0.2673 ( -11.5 dBFS) peak=0.786 OK +preset Echo Drift rms=0.0834 ( -21.6 dBFS) peak=0.250 OK +preset Doppler Void rms=0.1120 ( -19.0 dBFS) peak=0.361 OK +preset Dark Tide rms=0.1933 ( -14.3 dBFS) peak=0.672 OK +preset Razor Feedback rms=0.1446 ( -16.8 dBFS) peak=0.290 OK +preset Quiet Room rms=0.0818 ( -21.7 dBFS) peak=0.225 OK +preset Keys (play notes) rms=0.1321 ( -17.6 dBFS) peak=0.330 OK +preset Resonator (needs input) rms=0.0000 (-104.7 dBFS) peak=0.000 OK +preset Init (silent) rms=0.0000 (-102.5 dBFS) peak=0.000 OK +preset Open Fifths rms=0.1734 ( -15.2 dBFS) peak=0.462 OK +threeStringsSound Open Fifths strongest partial 151.2 Hz holds 53% of the power OK +preset Sympathetic rms=0.1366 ( -17.3 dBFS) peak=0.523 OK +threeStringsSound Sympathetic strongest partial 354.1 Hz holds 18% of the power OK +preset Chord Keys rms=0.1094 ( -19.2 dBFS) peak=0.281 OK +preset Ember Pong rms=0.0897 ( -20.9 dBFS) peak=0.231 OK +allocations while rendering, NaN recovery included: 0 OK +recovery from NaN: finite=1 rms of last second=0.0936 OK +echo first repeat at 0.248 s, knob 0.248 s: OK +filter state cleared by Init: OK +published Body, knob: 0.00991 s (knob 0.00991) OK +published note 60.000, Body 0.01170 s (3 periods 0.01147) OK +Echo Time with WARP: 0.359 s (expected 0.359) OK +engine, voice 0 independent at Coupling 0: same=1 others differ=1 OK +engine, unison voices differ: 1/0=1 2/1=1 OK +engine, Coupling rings a closed voice: 0.000067 -> 0.987463 (+83.4 dB) OK +engine, LPF 18000 Hz, ramp at 2 s: largest jump 0.31237, before 0.41388 OK +engine, LPF 18000 Hz, ramp at 2 s: largest jump 0.29941, before 0.36154 OK +engine, LPF 18000 Hz, ramp at 4 s: largest jump 0.36308, before 0.50708 OK +engine, LPF 18000 Hz, ramp at 4 s: largest jump 0.35730, before 0.48575 OK +engine, LPF 800 Hz, ramp at 2 s: largest jump 0.03125, before 0.03164 OK +engine, LPF 800 Hz, ramp at 2 s: largest jump 0.03141, before 0.03165 OK +engine, LPF 800 Hz, ramp at 4 s: largest jump 0.03301, before 0.05445 OK +engine, LPF 800 Hz, ramp at 4 s: largest jump 0.04374, before 0.05448 OK +engine, ramp end: default off=1 on=1 during=1 at 959=1 off at 961=1 off after Init=1 OK +engine, ramp settles on the sum: largest error 0.0000000 OK +engine, restart from silence: peak 0.000077 (was 1.956) OK +engine, ramp reversing from on: finite=1 largest jump 0.51978, before 0.50241 OK +engine, ramp reversing from off: finite=1 largest jump 0.31447, before 0.41388 OK +poly chord 36 43 52, Coupling 0%, voice 0: -0.6 c OK +poly chord 36 43 52, Coupling 0%, voice 1: -0.1 c OK +poly chord 36 43 52, Coupling 0%, voice 2: +0.1 c OK +poly chord 45 52 57, Coupling 0%, voice 0: +0.2 c OK +poly chord 45 52 57, Coupling 0%, voice 1: +0.1 c OK +poly chord 45 52 57, Coupling 0%, voice 2: +0.2 c OK +poly chord 48 55 64, Coupling 0%, voice 0: +0.2 c OK +poly chord 48 55 64, Coupling 0%, voice 1: +0.2 c OK +poly chord 48 55 64, Coupling 0%, voice 2: +0.3 c OK +poly chord 60 64 67, Coupling 0%, voice 0: +0.2 c OK +poly chord 60 64 67, Coupling 0%, voice 1: +0.3 c OK +poly chord 60 64 67, Coupling 0%, voice 2: +0.2 c OK +poly chord 64 69 76, Coupling 0%, voice 0: +0.3 c OK +poly chord 64 69 76, Coupling 0%, voice 1: +0.2 c OK +poly chord 64 69 76, Coupling 0%, voice 2: +0.2 c OK +poly chord 36 43 52, Coupling 100%, voice 0: -1.0 c OK +poly chord 36 43 52, Coupling 100%, voice 1: -0.0 c OK +poly chord 36 43 52, Coupling 100%, voice 2: -0.0 c OK +poly chord 45 52 57, Coupling 100%, voice 0: +0.1 c OK +poly chord 45 52 57, Coupling 100%, voice 1: +0.0 c OK +poly chord 45 52 57, Coupling 100%, voice 2: -0.3 c OK +poly chord 48 55 64, Coupling 100%, voice 0: +0.0 c OK +poly chord 48 55 64, Coupling 100%, voice 1: +0.0 c OK +poly chord 48 55 64, Coupling 100%, voice 2: +0.0 c OK +poly chord 60 64 67, Coupling 100%, voice 0: +0.5 c OK +poly chord 60 64 67, Coupling 100%, voice 1: +0.5 c OK +poly chord 60 64 67, Coupling 100%, voice 2: -0.6 c OK +poly chord 64 69 76, Coupling 100%, voice 0: +0.4 c OK +poly chord 64 69 76, Coupling 100%, voice 1: +0.1 c OK +poly chord 64 69 76, Coupling 100%, voice 2: +0.1 c OK +poly chord 24 28 31 holds at Coupling 100%, voice 0: +0.8 c OK +poly chord 24 28 31 holds at Coupling 100%, voice 1: -0.9 c OK +poly chord 24 28 31 holds at Coupling 100%, voice 2: +0.7 c OK +poly chord 24 27 31 holds at Coupling 100%, voice 0: +0.6 c OK +poly chord 24 27 31 holds at Coupling 100%, voice 1: -0.4 c OK +poly chord 24 27 31 holds at Coupling 100%, voice 2: +1.6 c OK +poly chord 24 31 36 holds at Coupling 100%, voice 0: +0.4 c OK +poly chord 24 31 36 holds at Coupling 100%, voice 1: +0.0 c OK +poly chord 24 31 36 holds at Coupling 100%, voice 2: -0.4 c OK +poly chord 24 29 31 holds at Coupling 100%, voice 0: +0.9 c OK +poly chord 24 29 31 holds at Coupling 100%, voice 1: -0.2 c OK +poly chord 24 29 31 holds at Coupling 100%, voice 2: +0.8 c OK +poly chord 24 26 31 holds at Coupling 100%, voice 0: +0.8 c OK +poly chord 24 26 31 holds at Coupling 100%, voice 1: -0.3 c OK +poly chord 24 26 31 holds at Coupling 100%, voice 2: +1.3 c OK +poly chord 24 25 26 holds at Coupling 100%, voice 0: +1.7 c OK +poly chord 24 25 26 holds at Coupling 100%, voice 1: -1.7 c OK +poly chord 24 25 26 holds at Coupling 100%, voice 2: -2.6 c OK +poly chord 24 31 40 holds at Coupling 100%, voice 0: +0.7 c OK +poly chord 24 31 40 holds at Coupling 100%, voice 1: +0.4 c OK +poly chord 24 31 40 holds at Coupling 100%, voice 2: +0.9 c OK +poly chord 24 36 48 holds at Coupling 100%, voice 0: +0.6 c OK +poly chord 24 36 48 holds at Coupling 100%, voice 1: -1.0 c OK +poly chord 24 36 48 holds at Coupling 100%, voice 2: +0.2 c OK +poly chord 30 34 37 holds at Coupling 100%, voice 0: -0.4 c OK +poly chord 30 34 37 holds at Coupling 100%, voice 1: -0.4 c OK +poly chord 30 34 37 holds at Coupling 100%, voice 2: +2.0 c OK +poly chord 30 33 37 holds at Coupling 100%, voice 0: -0.8 c OK +poly chord 30 33 37 holds at Coupling 100%, voice 1: -0.7 c OK +poly chord 30 33 37 holds at Coupling 100%, voice 2: +1.9 c OK +poly chord 30 37 42 holds at Coupling 100%, voice 0: -0.3 c OK +poly chord 30 37 42 holds at Coupling 100%, voice 1: +0.1 c OK +poly chord 30 37 42 holds at Coupling 100%, voice 2: -0.3 c OK +poly chord 30 35 37 holds at Coupling 100%, voice 0: -0.4 c OK +poly chord 30 35 37 holds at Coupling 100%, voice 1: -0.7 c OK +poly chord 30 35 37 holds at Coupling 100%, voice 2: +1.9 c OK +poly chord 30 32 37 holds at Coupling 100%, voice 0: -0.9 c OK +poly chord 30 32 37 holds at Coupling 100%, voice 1: -0.2 c OK +poly chord 30 32 37 holds at Coupling 100%, voice 2: +1.4 c OK +poly chord 30 31 32 holds at Coupling 100%, voice 0: -2.7 c OK +poly chord 30 31 32 holds at Coupling 100%, voice 1: +1.6 c OK +poly chord 30 31 32 holds at Coupling 100%, voice 2: +2.3 c OK +poly chord 30 37 46 holds at Coupling 100%, voice 0: +0.0 c OK +poly chord 30 37 46 holds at Coupling 100%, voice 1: +0.4 c OK +poly chord 30 37 46 holds at Coupling 100%, voice 2: +0.4 c OK +poly chord 30 42 54 holds at Coupling 100%, voice 0: +0.1 c OK +poly chord 30 42 54 holds at Coupling 100%, voice 1: -0.1 c OK +poly chord 30 42 54 holds at Coupling 100%, voice 2: -0.5 c OK +poly chord 36 40 43 holds at Coupling 100%, voice 0: -1.6 c OK +poly chord 36 40 43 holds at Coupling 100%, voice 1: +0.1 c OK +poly chord 36 40 43 holds at Coupling 100%, voice 2: +1.0 c OK +poly chord 36 39 43 holds at Coupling 100%, voice 0: -1.7 c OK +poly chord 36 39 43 holds at Coupling 100%, voice 1: +0.6 c OK +poly chord 36 39 43 holds at Coupling 100%, voice 2: +0.7 c OK +poly chord 36 43 48 holds at Coupling 100%, voice 0: -1.3 c OK +poly chord 36 43 48 holds at Coupling 100%, voice 1: -0.1 c OK +poly chord 36 43 48 holds at Coupling 100%, voice 2: -0.9 c OK +poly chord 36 41 43 holds at Coupling 100%, voice 0: -1.5 c OK +poly chord 36 41 43 holds at Coupling 100%, voice 1: +0.1 c OK +poly chord 36 41 43 holds at Coupling 100%, voice 2: +1.0 c OK +poly chord 36 38 43 holds at Coupling 100%, voice 0: -1.9 c OK +poly chord 36 38 43 holds at Coupling 100%, voice 1: +0.6 c OK +poly chord 36 38 43 holds at Coupling 100%, voice 2: +0.4 c OK +poly chord 36 37 38 holds at Coupling 100%, voice 0: -2.8 c OK +poly chord 36 37 38 holds at Coupling 100%, voice 1: +2.9 c OK +poly chord 36 37 38 holds at Coupling 100%, voice 2: +2.7 c OK +poly chord 36 43 52 holds at Coupling 100%, voice 0: -1.0 c OK +poly chord 36 43 52 holds at Coupling 100%, voice 1: -0.0 c OK +poly chord 36 43 52 holds at Coupling 100%, voice 2: -0.0 c OK +poly chord 36 48 60 holds at Coupling 100%, voice 0: -0.7 c OK +poly chord 36 48 60 holds at Coupling 100%, voice 1: -0.5 c OK +poly chord 36 48 60 holds at Coupling 100%, voice 2: +0.2 c OK +poly chord 42 46 49 holds at Coupling 100%, voice 0: -0.7 c OK +poly chord 42 46 49 holds at Coupling 100%, voice 1: +0.2 c OK +poly chord 42 46 49 holds at Coupling 100%, voice 2: +0.1 c OK +poly chord 42 45 49 holds at Coupling 100%, voice 0: -0.7 c OK +poly chord 42 45 49 holds at Coupling 100%, voice 1: +0.5 c OK +poly chord 42 45 49 holds at Coupling 100%, voice 2: -0.0 c OK +poly chord 42 49 54 holds at Coupling 100%, voice 0: -0.1 c OK +poly chord 42 49 54 holds at Coupling 100%, voice 1: +0.0 c OK +poly chord 42 49 54 holds at Coupling 100%, voice 2: -0.2 c OK +poly chord 42 47 49 holds at Coupling 100%, voice 0: -0.7 c OK +poly chord 42 47 49 holds at Coupling 100%, voice 1: +0.2 c OK +poly chord 42 47 49 holds at Coupling 100%, voice 2: +0.1 c OK +poly chord 42 44 49 holds at Coupling 100%, voice 0: -0.7 c OK +poly chord 42 44 49 holds at Coupling 100%, voice 1: +0.3 c OK +poly chord 42 44 49 holds at Coupling 100%, voice 2: -0.1 c OK +poly chord 42 43 44 holds at Coupling 100%, voice 0: -0.6 c OK +poly chord 42 43 44 holds at Coupling 100%, voice 1: +2.9 c OK +poly chord 42 43 44 holds at Coupling 100%, voice 2: +0.5 c OK +poly chord 42 49 58 holds at Coupling 100%, voice 0: -0.3 c OK +poly chord 42 49 58 holds at Coupling 100%, voice 1: -0.0 c OK +poly chord 42 49 58 holds at Coupling 100%, voice 2: -0.0 c OK +poly chord 42 54 66 holds at Coupling 100%, voice 0: -0.2 c OK +poly chord 42 54 66 holds at Coupling 100%, voice 1: -0.0 c OK +poly chord 42 54 66 holds at Coupling 100%, voice 2: +0.0 c OK +poly chord 48 52 55 holds at Coupling 100%, voice 0: -0.1 c OK +poly chord 48 52 55 holds at Coupling 100%, voice 1: +0.1 c OK +poly chord 48 52 55 holds at Coupling 100%, voice 2: -0.4 c OK +poly chord 48 51 55 holds at Coupling 100%, voice 0: -0.0 c OK +poly chord 48 51 55 holds at Coupling 100%, voice 1: +0.1 c OK +poly chord 48 51 55 holds at Coupling 100%, voice 2: -0.4 c OK +poly chord 48 55 60 holds at Coupling 100%, voice 0: -0.4 c OK +poly chord 48 55 60 holds at Coupling 100%, voice 1: +0.0 c OK +poly chord 48 55 60 holds at Coupling 100%, voice 2: -0.5 c OK +poly chord 48 53 55 holds at Coupling 100%, voice 0: -0.1 c OK +poly chord 48 53 55 holds at Coupling 100%, voice 1: +0.3 c OK +poly chord 48 53 55 holds at Coupling 100%, voice 2: -0.6 c OK +poly chord 48 50 55 holds at Coupling 100%, voice 0: +0.1 c OK +poly chord 48 50 55 holds at Coupling 100%, voice 1: +0.0 c OK +poly chord 48 50 55 holds at Coupling 100%, voice 2: -0.4 c OK +poly chord 48 49 50 holds at Coupling 100%, voice 0: +2.3 c OK +poly chord 48 49 50 holds at Coupling 100%, voice 1: +2.7 c OK +poly chord 48 49 50 holds at Coupling 100%, voice 2: -2.5 c OK +poly chord 48 55 64 holds at Coupling 100%, voice 0: +0.0 c OK +poly chord 48 55 64 holds at Coupling 100%, voice 1: +0.0 c OK +poly chord 48 55 64 holds at Coupling 100%, voice 2: +0.0 c OK +poly chord 48 60 72 holds at Coupling 100%, voice 0: +0.1 c OK +poly chord 48 60 72 holds at Coupling 100%, voice 1: -0.1 c OK +poly chord 48 60 72 holds at Coupling 100%, voice 2: +0.5 c OK +poly chord 54 58 61 holds at Coupling 100%, voice 0: +0.4 c OK +poly chord 54 58 61 holds at Coupling 100%, voice 1: +0.4 c OK +poly chord 54 58 61 holds at Coupling 100%, voice 2: -0.6 c OK +poly chord 54 57 61 holds at Coupling 100%, voice 0: +0.5 c OK +poly chord 54 57 61 holds at Coupling 100%, voice 1: -0.0 c OK +poly chord 54 57 61 holds at Coupling 100%, voice 2: -0.5 c OK +poly chord 54 61 66 holds at Coupling 100%, voice 0: +0.2 c OK +poly chord 54 61 66 holds at Coupling 100%, voice 1: +0.1 c OK +poly chord 54 61 66 holds at Coupling 100%, voice 2: -0.0 c OK +poly chord 54 59 61 holds at Coupling 100%, voice 0: +0.2 c OK +poly chord 54 59 61 holds at Coupling 100%, voice 1: +0.7 c OK +poly chord 54 59 61 holds at Coupling 100%, voice 2: -0.7 c OK +poly chord 54 56 61 holds at Coupling 100%, voice 0: +0.7 c OK +poly chord 54 56 61 holds at Coupling 100%, voice 1: -0.3 c OK +poly chord 54 56 61 holds at Coupling 100%, voice 2: -0.4 c OK +poly chord 54 55 56 holds at Coupling 100%, voice 0: +4.2 c OK +poly chord 54 55 56 holds at Coupling 100%, voice 1: +2.6 c OK +poly chord 54 55 56 holds at Coupling 100%, voice 2: -4.4 c OK +poly chord 54 61 70 holds at Coupling 100%, voice 0: +0.2 c OK +poly chord 54 61 70 holds at Coupling 100%, voice 1: +0.0 c OK +poly chord 54 61 70 holds at Coupling 100%, voice 2: -0.0 c OK +poly chord 54 66 78 holds at Coupling 100%, voice 0: +0.1 c OK +poly chord 54 66 78 holds at Coupling 100%, voice 1: +0.1 c OK +poly chord 54 66 78 holds at Coupling 100%, voice 2: +0.0 c OK +poly chord 60 64 67 holds at Coupling 100%, voice 0: +0.5 c OK +poly chord 60 64 67 holds at Coupling 100%, voice 1: +0.5 c OK +poly chord 60 64 67 holds at Coupling 100%, voice 2: -0.6 c OK +poly chord 60 63 67 holds at Coupling 100%, voice 0: +0.8 c OK +poly chord 60 63 67 holds at Coupling 100%, voice 1: -0.1 c OK +poly chord 60 63 67 holds at Coupling 100%, voice 2: -0.4 c OK +poly chord 60 67 72 holds at Coupling 100%, voice 0: +0.2 c OK +poly chord 60 67 72 holds at Coupling 100%, voice 1: +0.2 c OK +poly chord 60 67 72 holds at Coupling 100%, voice 2: +0.2 c OK +poly chord 60 65 67 holds at Coupling 100%, voice 0: +0.3 c OK +poly chord 60 65 67 holds at Coupling 100%, voice 1: +0.9 c OK +poly chord 60 65 67 holds at Coupling 100%, voice 2: -0.7 c OK +poly chord 60 62 67 holds at Coupling 100%, voice 0: +1.0 c OK +poly chord 60 62 67 holds at Coupling 100%, voice 1: -0.3 c OK +poly chord 60 62 67 holds at Coupling 100%, voice 2: -0.2 c OK +poly chord 60 61 62 holds at Coupling 100%, voice 0: +3.5 c OK +poly chord 60 61 62 holds at Coupling 100%, voice 1: +1.6 c OK +poly chord 60 61 62 holds at Coupling 100%, voice 2: -3.2 c OK +poly chord 60 67 76 holds at Coupling 100%, voice 0: +0.3 c OK +poly chord 60 67 76 holds at Coupling 100%, voice 1: +0.1 c OK +poly chord 60 67 76 holds at Coupling 100%, voice 2: +0.0 c OK +poly chord 60 72 84 holds at Coupling 100%, voice 0: +0.1 c OK +poly chord 60 72 84 holds at Coupling 100%, voice 1: +0.2 c OK +poly chord 60 72 84 holds at Coupling 100%, voice 2: +0.2 c OK +preset Chord Keys, chord 36 40 43, voice 0: -11.8 c OK +preset Chord Keys, chord 36 40 43, voice 1: -1.5 c OK +preset Chord Keys, chord 36 40 43, voice 2: +1.3 c OK +preset Chord Keys, chord 36 39 43, voice 0: -12.1 c OK +preset Chord Keys, chord 36 39 43, voice 1: -8.0 c OK +preset Chord Keys, chord 36 39 43, voice 2: +1.2 c OK +preset Chord Keys, chord 36 43 48, voice 0: -7.9 c OK +preset Chord Keys, chord 36 43 48, voice 1: +0.9 c OK +preset Chord Keys, chord 36 43 48, voice 2: +5.6 c OK +preset Chord Keys, chord 36 41 43, voice 0: -11.3 c OK +preset Chord Keys, chord 36 41 43, voice 1: +3.6 c OK +preset Chord Keys, chord 36 41 43, voice 2: +1.3 c OK +preset Chord Keys, chord 36 38 43, voice 0: -11.3 c OK +preset Chord Keys, chord 36 38 43, voice 1: +0.7 c OK +preset Chord Keys, chord 36 38 43, voice 2: +1.1 c OK +preset Chord Keys, chord 42 46 49, voice 0: +2.2 c OK +preset Chord Keys, chord 42 46 49, voice 1: -6.6 c OK +preset Chord Keys, chord 42 46 49, voice 2: -6.4 c OK +preset Chord Keys, chord 42 45 49, voice 0: +3.1 c OK +preset Chord Keys, chord 42 45 49, voice 1: -1.8 c OK +preset Chord Keys, chord 42 45 49, voice 2: -6.5 c OK +preset Chord Keys, chord 42 49 54, voice 0: +2.6 c OK +preset Chord Keys, chord 42 49 54, voice 1: -6.4 c OK +preset Chord Keys, chord 42 49 54, voice 2: +0.8 c OK +preset Chord Keys, chord 42 47 49, voice 0: +2.5 c OK +preset Chord Keys, chord 42 47 49, voice 1: +0.2 c OK +preset Chord Keys, chord 42 47 49, voice 2: -6.5 c OK +preset Chord Keys, chord 42 44 49, voice 0: +3.1 c OK +preset Chord Keys, chord 42 44 49, voice 1: -1.8 c OK +preset Chord Keys, chord 42 44 49, voice 2: -6.5 c OK +preset Chord Keys, chord 48 52 55, voice 0: +5.6 c OK +preset Chord Keys, chord 48 52 55, voice 1: +0.9 c OK +preset Chord Keys, chord 48 52 55, voice 2: +1.1 c OK +preset Chord Keys, chord 48 51 55, voice 0: +5.7 c OK +preset Chord Keys, chord 48 51 55, voice 1: +3.8 c OK +preset Chord Keys, chord 48 51 55, voice 2: +1.3 c OK +preset Chord Keys, chord 48 55 60, voice 0: +6.7 c OK +preset Chord Keys, chord 48 55 60, voice 1: +1.3 c OK +preset Chord Keys, chord 48 55 60, voice 2: +0.2 c OK +preset Chord Keys, chord 48 53 55, voice 0: +6.2 c OK +preset Chord Keys, chord 48 53 55, voice 1: +5.8 c OK +preset Chord Keys, chord 48 53 55, voice 2: +1.2 c OK +preset Chord Keys, chord 48 50 55, voice 0: +5.2 c OK +preset Chord Keys, chord 48 50 55, voice 1: +2.7 c OK +preset Chord Keys, chord 48 50 55, voice 2: +1.4 c OK +preset Chord Keys, chord 54 58 61, voice 0: +2.5 c OK +preset Chord Keys, chord 54 58 61, voice 1: +0.0 c OK +preset Chord Keys, chord 54 58 61, voice 2: -0.9 c OK +preset Chord Keys, chord 54 57 61, voice 0: +2.3 c OK +preset Chord Keys, chord 54 57 61, voice 1: +1.5 c OK +preset Chord Keys, chord 54 57 61, voice 2: -1.1 c OK +preset Chord Keys, chord 54 61 66, voice 0: +2.1 c OK +preset Chord Keys, chord 54 61 66, voice 1: -0.7 c OK +preset Chord Keys, chord 54 61 66, voice 2: -2.0 c OK +preset Chord Keys, chord 54 59 61, voice 0: +2.2 c OK +preset Chord Keys, chord 54 59 61, voice 1: -0.2 c OK +preset Chord Keys, chord 54 59 61, voice 2: -1.1 c OK +preset Chord Keys, chord 54 56 61, voice 0: +2.6 c OK +preset Chord Keys, chord 54 56 61, voice 1: +0.9 c OK +preset Chord Keys, chord 54 56 61, voice 2: -1.0 c OK +preset Chord Keys, chord 60 64 67, voice 0: +0.4 c OK +preset Chord Keys, chord 60 64 67, voice 1: -0.2 c OK +preset Chord Keys, chord 60 64 67, voice 2: +1.3 c OK +preset Chord Keys, chord 60 63 67, voice 0: +0.7 c OK +preset Chord Keys, chord 60 63 67, voice 1: +0.5 c OK +preset Chord Keys, chord 60 63 67, voice 2: +1.3 c OK +preset Chord Keys, chord 60 67 72, voice 0: +0.3 c OK +preset Chord Keys, chord 60 67 72, voice 1: +1.5 c OK +preset Chord Keys, chord 60 67 72, voice 2: -0.7 c OK +preset Chord Keys, chord 60 65 67, voice 0: +0.7 c OK +preset Chord Keys, chord 60 65 67, voice 1: -2.7 c OK +preset Chord Keys, chord 60 65 67, voice 2: +1.3 c OK +preset Chord Keys, chord 60 62 67, voice 0: +0.5 c OK +preset Chord Keys, chord 60 62 67, voice 1: +0.9 c OK +preset Chord Keys, chord 60 62 67, voice 2: +1.4 c OK +poly restart starts on the new notes: 52.00 57.00 OK +poly restart with a new chord, voice 0: +0.4 c OK +poly restart with a new chord, voice 1: +0.2 c OK +poly restart with a new chord, voice 2: +0.2 c OK +poly restart builds as fast, voice 1: 0.35 s, fresh 0.35 s OK +poly restart builds as fast, voice 2: 0.40 s, fresh 0.35 s OK +poly restart keeps the filters: voice 1 slope rms 0.03231, fresh 0.03231 OK +poly knob intervals: +7.000 +12.000 OK +poly interval +24 at Frequency 1.0: voice 1 note 84.00 finite=1 in range=1 OK +poly interval -24 at Frequency 0.0: voice 1 note 16.00 finite=1 in range=1 OK +poly never assigned voice stays closed: -84.1 dB below voice 0 OK +poly gate per voice: closed voice -83.9 dB, open voice -0.0 dB OK +poly chord audible at once: rms 0.9846 0.9809 0.9798, voice 1 early=1, no ramp (error 0.00000) OK +poly stability at maximum, chord 16 50 84: finite=1 peak=0.655 recoveries=0 OK +poly stability at maximum, chord 48 48 48: finite=1 peak=0.694 recoveries=0 OK +poly stability at maximum, LOCK from the knobs: finite=1 peak=0.554 recoveries=0 OK +poly stability at maximum, knobs, Body 0: finite=1 peak=0.714 recoveries=0 OK +poly stability at maximum, knobs, Body 1: finite=1 peak=0.683 recoveries=0 OK +poly closed voice at Coupling 100%, reverb 0.0, voice 0 open, interval 0: -83.9 dB OK +poly closed voice at Coupling 100%, reverb 0.0, voice 0 open, interval 7: -84.0 dB OK +poly closed voice at Coupling 100%, reverb 0.0, voice 0 open, interval 6: -83.9 dB OK +poly closed voice at Coupling 100%, reverb 0.0, voices 0 and 1 open, interval 0: -83.9 dB OK +poly closed voice at Coupling 100%, reverb 0.0, voices 0 and 1 open, interval 7: -84.0 dB OK +poly closed voice at Coupling 100%, reverb 0.0, voices 0 and 1 open, interval 6: -83.9 dB OK +poly closed voice at Coupling 100%, reverb 0.0, voices 1 and 2 open, interval 0: -83.9 dB OK +poly closed voice at Coupling 100%, reverb 0.0, voices 1 and 2 open, interval 7: -84.0 dB OK +poly closed voice at Coupling 100%, reverb 0.0, voices 1 and 2 open, interval 6: -83.9 dB OK +poly closed voice at Coupling 100%, reverb 0.5, voice 0 open, interval 0: -87.8 dB OK +poly closed voice at Coupling 100%, reverb 0.5, voice 0 open, interval 7: -88.0 dB OK +poly closed voice at Coupling 100%, reverb 0.5, voice 0 open, interval 6: -87.8 dB OK +poly closed voice at Coupling 100%, reverb 0.5, voices 0 and 1 open, interval 0: -87.8 dB OK +poly closed voice at Coupling 100%, reverb 0.5, voices 0 and 1 open, interval 7: -88.1 dB OK +poly closed voice at Coupling 100%, reverb 0.5, voices 0 and 1 open, interval 6: -87.8 dB OK +poly closed voice at Coupling 100%, reverb 0.5, voices 1 and 2 open, interval 0: -87.8 dB OK +poly closed voice at Coupling 100%, reverb 0.5, voices 1 and 2 open, interval 7: -87.8 dB OK +poly closed voice at Coupling 100%, reverb 0.5, voices 1 and 2 open, interval 6: -87.8 dB OK +poly voice restarting closed at Coupling 100%: -84.1 dB OK +poly LOCK from the knobs, Frequency 0.30 Body 0.3: worst voice 0.8 c OK +poly LOCK from the knobs, Frequency 0.30 Body 0.6: worst voice 0.8 c OK +poly LOCK from the knobs, Frequency 0.30 Body 0.9: worst voice 0.5 c OK +poly LOCK from the knobs, Frequency 0.43 Body 0.3: worst voice 0.2 c OK +poly LOCK from the knobs, Frequency 0.43 Body 0.6: worst voice 0.2 c OK +poly LOCK from the knobs, Frequency 0.43 Body 0.9: worst voice 0.2 c OK +poly LOCK from the knobs, Frequency 0.55 Body 0.3: worst voice 0.2 c OK +poly LOCK from the knobs, Frequency 0.55 Body 0.6: worst voice 0.2 c OK +poly LOCK from the knobs, Frequency 0.55 Body 0.9: worst voice 0.2 c OK +poly LOCK from the knobs, Frequency 0.70 Body 0.3: worst voice 0.2 c OK +poly LOCK from the knobs, Frequency 0.70 Body 0.6: worst voice 0.2 c OK +poly LOCK from the knobs, Frequency 0.70 Body 0.9: worst voice 0.2 c OK +poly free voices on one pitch: 6 of 42 settings OK +poly LOCK at Highpass 0.8: rms 0.00003, free 0.120 OK +poly LOCK off at Coupling 0%, Frequency 0.30 Body 0.3: largest kink 0.00109, before 0.00092 OK +poly LOCK off at Coupling 0%, Frequency 0.30 Body 0.7: largest kink 0.00108, before 0.00087 OK +poly LOCK off at Coupling 0%, Frequency 0.43 Body 0.3: largest kink 0.00266, before 0.00351 OK +poly LOCK off at Coupling 0%, Frequency 0.43 Body 0.7: largest kink 0.00260, before 0.00348 OK +poly LOCK off at Coupling 100%, Frequency 0.30 Body 0.3: largest kink 0.00081, before 0.00095 OK +poly LOCK off at Coupling 100%, Frequency 0.30 Body 0.7: largest kink 0.00170, before 0.00090 OK +poly LOCK off at Coupling 100%, Frequency 0.43 Body 0.3: largest kink 0.00288, before 0.00365 OK +poly LOCK off at Coupling 100%, Frequency 0.43 Body 0.7: largest kink 0.00512, before 0.00343 OK +poly Coupling 100% changes the spectrum, chord 48 55 64: 0.167 OK +poly Coupling 100% changes the spectrum, chord 60 64 67: 0.445 OK +poly Coupling 100% changes the spectrum, knobs +7 +12: 0.547 OK +poly Coupling 100% changes the spectrum, LOCK, knobs +7 +12: 0.190 OK +poly Body 0.7, Coupling 80%: 0 of 84 voices moved off their notes, worst 0.6 c OK +poly Body 0.7, Coupling 100%: 0 of 84 voices moved off their notes, worst 0.6 c OK +poly Body 0.8, Coupling 80%: 0 of 84 voices moved off their notes, worst 0.5 c OK +poly Body 0.8, Coupling 100%: 0 of 84 voices moved off their notes, worst 0.5 c OK +poly Body 0.9, Coupling 80%: 0 of 83 voices moved off their notes, worst 0.5 c OK +poly Body 0.9, Coupling 100%: 0 of 83 voices moved off their notes, worst 0.5 c OK +poly Body 1.0, Coupling 80%: 0 of 84 voices moved off their notes, worst 0.5 c OK +poly Body 1.0, Coupling 100%: 0 of 84 voices moved off their notes, worst 0.5 c OK +poly Coupling 100% changes the spectrum at Body 0.5: 0.286 OK +poly ramp on at Coupling 100%, L: largest jump 0.01056, before 0.01099, finite=1 OK +poly ramp on at Coupling 100%, R: largest jump 0.01063, before 0.01099, finite=1 OK +poly ramp off, reversing at Coupling 100%, L: largest jump 0.01459, before 0.02057, finite=1 OK +poly ramp off, reversing at Coupling 100%, R: largest jump 0.01058, before 0.02072, finite=1 OK +poly Recover restores all voices: rms 0.9852 0.9809 0.9798 OK +CPU, polyphony off: 0.1717 s per second of audio +CPU, polyphony on: 0.4314 s per second of audio +pongMonoSum: L + R with PONG on is 4.72 dB from PONG off OK +pongSameColorThroughCore: spectral difference 0.065 OK +pongBackToFirmware: OK +pongToneSweepWhileRunningAway: peak 0.286, recoveries 0 OK +pongToneSurvivesRecover: peak at 271 Hz after Init OK +pongSwitchDuringRunaway at 4.00 s: largest jump 0.10246, limit 0.21063 OK +pongSwitchDuringRunaway at 4.00 s: largest jump 0.11989, limit 0.18387 OK +pongSwitchDuringRunaway at 6.00 s: largest jump 0.09754, limit 0.18993 OK +pongSwitchDuringRunaway at 6.00 s: largest jump 0.09551, limit 0.13366 OK +pongOnFromFirstBlock: OK +pongSwitchClickFree at 2.00 s: largest jump 0.33666, limit 0.50092 OK +pongSwitchClickFree at 2.00 s: largest jump 0.33835, limit 0.42447 OK +pongSwitchClickFree at 4.00 s: largest jump 0.33256, limit 0.40118 OK +pongSwitchClickFree at 4.00 s: largest jump 0.31472, limit 0.38138 OK +pongSwitchClickFree at 2.00 s: largest jump 0.05727, limit 0.07253 OK +pongSwitchClickFree at 2.00 s: largest jump 0.05562, limit 0.07392 OK +pongSwitchClickFree at 4.00 s: largest jump 0.03375, limit 0.06055 OK +pongSwitchClickFree at 4.00 s: largest jump 0.03673, limit 0.06286 OK +pongSwitchReverses: mix 0.000 20 ms after switching back OK +pongSwitchReverses at 2.00 s: largest jump 0.05727, limit 0.07253 OK +pongSwitchReverses at 2.00 s: largest jump 0.05631, limit 0.07392 OK +pongBoundsAtMaximum: peak 0.477, recoveries 0, mean 0.00006, 0.00006 OK +pongBouncesThroughCore, repeat 1: L over R 73.8 dB OK +pongBouncesThroughCore, repeat 2: L over R -68.7 dB OK +pongWidthAndLevelThroughCore: Width 0 L over R -0.00 dB and -6.01 dB from full width, Level -12 dB gives -11.99 dB OK +pongRecoversFromNan: tail RMS 0.10852 before, 0.000008 after, mix 1.00 OK +pongSurvivesTimeSweep: peak 0.299, recoveries 0 OK +everyPresetWithPongOn: OK +pongIndependentOfBlockSize: OK +emberPongSelfSustains: Ember Pong, RMS 0.0245 with nothing feeding it OK +stereoBounces: OK +stereoTiming, T 12000 samples: OK +stereoTiming, T 17250 samples: OK +stereoSameColor: largest difference 0.000 dB OK +stereoToneMovesCenter, Tone 300 Hz: peak at 271 Hz OK +stereoToneMovesCenter, Tone 3000 Hz: peak at 2936 Hz OK +stereoRunaway, Drive 1, Feedback 0.6: RMS 0.48065 after 20 s OK +stereoRunaway, Drive 1, Feedback 0.4: RMS 0.00000 after 20 s OK +stereoRunaway, Drive 0, Feedback 0.9: RMS 0.00000 after 20 s OK +stereoFeedbackZeroIsOneRepeat: OK +stereoWidthZeroIsMono: repeat 0.046821, half the side 0.046821 OK +stereoWidthAndLevelLeaveTheLoop: largest difference 1.5e-08 OK +stereoAliasing at 3100 Hz, Drive 1, Tone 3200 Hz: -54.0 dB at Feedback 0, -31.4 dB at Feedback 0.9 OK +stereoRampSettles: 1.0000000 after switching on, 0.0000000 after switching off OK +echoCenterReturnsBitForBit: OK +echoShapedAtUnityIsProcess: OK +stereoEchoMatchesTwoLines: OK +ALL OK diff --git a/review/logs/render_test-asan-ubsan-sandbox-prefix.log b/review/logs/render_test-asan-ubsan-sandbox-prefix.log new file mode 100644 index 0000000..7a955eb --- /dev/null +++ b/review/logs/render_test-asan-ubsan-sandbox-prefix.log @@ -0,0 +1,473 @@ +default_drone block=4 peak=0.337 rms=0.1375 finite=1 sound=1 OK +default_drone block=64 peak=0.337 rms=0.1375 finite=1 sound=1 OK +default_drone block=512 peak=0.337 rms=0.1375 finite=1 sound=1 OK +default_drone block=480 peak=0.337 rms=0.1375 finite=1 sound=1 OK +low_dark_verb block=4 peak=0.724 rms=0.2844 finite=1 sound=1 OK +low_dark_verb block=64 peak=0.724 rms=0.2844 finite=1 sound=1 OK +low_dark_verb block=512 peak=0.724 rms=0.2844 finite=1 sound=1 OK +low_dark_verb block=480 peak=0.724 rms=0.2844 finite=1 sound=1 OK +echo_runaway block=4 peak=0.737 rms=0.2704 finite=1 sound=1 OK +echo_runaway block=64 peak=0.737 rms=0.2704 finite=1 sound=1 OK +echo_runaway block=512 peak=0.737 rms=0.2704 finite=1 sound=1 OK +echo_runaway block=480 peak=0.737 rms=0.2704 finite=1 sound=1 OK +everything_max block=4 peak=0.750 rms=0.2610 finite=1 sound=1 OK +everything_max block=64 peak=0.750 rms=0.2610 finite=1 sound=1 OK +everything_max block=512 peak=0.750 rms=0.2610 finite=1 sound=1 OK +everything_max block=480 peak=0.750 rms=0.2610 finite=1 sound=1 OK +gain_zero block=4 peak=0.000 rms=0.0000 finite=1 sound=0 OK +gain_zero block=64 peak=0.000 rms=0.0000 finite=1 sound=0 OK +gain_zero block=512 peak=0.000 rms=0.0000 finite=1 sound=0 OK +gain_zero block=480 peak=0.000 rms=0.0000 finite=1 sound=0 OK +input passthrough rms=0.0786 OK +midi pitch dry on note (<25c) 68/69, worst of those 2.2 c OK +midi pitch Body min on note (<25c) 68/69, worst of those 2.2 c OK +midi pitch Body max on note (<25c) 67/69, worst of those 24.4 c OK +midi pitch Default preset on note (<25c) 66/69, worst of those 24.2 c OK +gate open rms=0.1176 closed rms=0.00001 (-84.0 dB) OK +resampler 48k->44.1k 1 kHz passes -0.00 dB OK +resampler 48k->44.1k 15 kHz passes -0.00 dB OK +resampler 48k->44.1k 23 kHz folded image -94.34 dB OK +resampler 48k->96k 1 kHz passes -0.00 dB OK +resampler 48k->96k 10 kHz image at 38 kHz -124.13 dB OK +resampler 96k->48k 30 kHz folded image -94.98 dB OK +resampler 44.1k->48k 1 kHz passes -0.00 dB OK +preset Default rms=0.1279 ( -17.9 dBFS) peak=0.337 OK +preset Sub Cellar rms=0.1550 ( -16.2 dBFS) peak=0.475 OK +preset Glass Wind rms=0.2108 ( -13.5 dBFS) peak=0.547 OK +preset Cathedral Bloom rms=0.2667 ( -11.5 dBFS) peak=0.786 OK +preset Echo Drift rms=0.1572 ( -16.1 dBFS) peak=0.259 OK +preset Doppler Void rms=0.1061 ( -19.5 dBFS) peak=0.349 OK +preset Dark Tide rms=0.1946 ( -14.2 dBFS) peak=0.672 OK +preset Razor Feedback rms=0.1447 ( -16.8 dBFS) peak=0.290 OK +preset Quiet Room rms=0.0818 ( -21.7 dBFS) peak=0.225 OK +preset Keys (play notes) rms=0.1321 ( -17.6 dBFS) peak=0.332 OK +preset Resonator (needs input) rms=0.0000 (-104.7 dBFS) peak=0.000 OK +preset Init (silent) rms=0.0000 (-102.5 dBFS) peak=0.000 OK +preset Open Fifths rms=0.1736 ( -15.2 dBFS) peak=0.461 OK +threeStringsSound Open Fifths strongest partial 151.2 Hz holds 53% of the power OK +preset Sympathetic rms=0.1365 ( -17.3 dBFS) peak=0.519 OK +threeStringsSound Sympathetic strongest partial 354.1 Hz holds 18% of the power OK +preset Chord Keys rms=0.1094 ( -19.2 dBFS) peak=0.283 OK +preset Ember Pong rms=0.0977 ( -20.2 dBFS) peak=0.236 OK +allocations while rendering, NaN recovery included: 0 OK +recovery from NaN: finite=1 rms of last second=0.0926 OK +filter state cleared by Init: OK +published Body, knob: 0.00991 s (knob 0.00991) OK +published note 60.000, Body 0.01170 s (3 periods 0.01147) OK +Echo Time with WARP: 0.359 s (expected 0.359) OK +engine, voice 0 independent at Coupling 0: same=1 others differ=1 OK +engine, unison voices differ: 1/0=1 2/1=1 OK +engine, Coupling rings a closed voice: 0.000067 -> 0.987463 (+83.4 dB) OK +engine, LPF 18000 Hz, ramp at 2 s: largest jump 0.31237, before 0.41388 OK +engine, LPF 18000 Hz, ramp at 2 s: largest jump 0.29941, before 0.36154 OK +engine, LPF 18000 Hz, ramp at 4 s: largest jump 0.36308, before 0.50708 OK +engine, LPF 18000 Hz, ramp at 4 s: largest jump 0.35730, before 0.48575 OK +engine, LPF 800 Hz, ramp at 2 s: largest jump 0.03125, before 0.03164 OK +engine, LPF 800 Hz, ramp at 2 s: largest jump 0.03141, before 0.03165 OK +engine, LPF 800 Hz, ramp at 4 s: largest jump 0.03301, before 0.05445 OK +engine, LPF 800 Hz, ramp at 4 s: largest jump 0.04374, before 0.05448 OK +engine, ramp end: default off=1 on=1 during=1 at 959=1 off at 961=1 off after Init=1 OK +engine, ramp settles on the sum: largest error 0.0000000 OK +engine, restart from silence: peak 0.000077 (was 1.956) OK +engine, ramp reversing from on: finite=1 largest jump 0.51978, before 0.50241 OK +engine, ramp reversing from off: finite=1 largest jump 0.31447, before 0.41388 OK +poly chord 36 43 52, Coupling 0%, voice 0: -0.6 c OK +poly chord 36 43 52, Coupling 0%, voice 1: -0.1 c OK +poly chord 36 43 52, Coupling 0%, voice 2: +0.1 c OK +poly chord 45 52 57, Coupling 0%, voice 0: +0.2 c OK +poly chord 45 52 57, Coupling 0%, voice 1: +0.1 c OK +poly chord 45 52 57, Coupling 0%, voice 2: +0.2 c OK +poly chord 48 55 64, Coupling 0%, voice 0: +0.2 c OK +poly chord 48 55 64, Coupling 0%, voice 1: +0.2 c OK +poly chord 48 55 64, Coupling 0%, voice 2: +0.3 c OK +poly chord 60 64 67, Coupling 0%, voice 0: +0.2 c OK +poly chord 60 64 67, Coupling 0%, voice 1: +0.3 c OK +poly chord 60 64 67, Coupling 0%, voice 2: +0.2 c OK +poly chord 64 69 76, Coupling 0%, voice 0: +0.3 c OK +poly chord 64 69 76, Coupling 0%, voice 1: +0.2 c OK +poly chord 64 69 76, Coupling 0%, voice 2: +0.2 c OK +poly chord 36 43 52, Coupling 100%, voice 0: -1.0 c OK +poly chord 36 43 52, Coupling 100%, voice 1: -0.0 c OK +poly chord 36 43 52, Coupling 100%, voice 2: -0.0 c OK +poly chord 45 52 57, Coupling 100%, voice 0: +0.1 c OK +poly chord 45 52 57, Coupling 100%, voice 1: +0.0 c OK +poly chord 45 52 57, Coupling 100%, voice 2: -0.3 c OK +poly chord 48 55 64, Coupling 100%, voice 0: +0.0 c OK +poly chord 48 55 64, Coupling 100%, voice 1: +0.0 c OK +poly chord 48 55 64, Coupling 100%, voice 2: +0.0 c OK +poly chord 60 64 67, Coupling 100%, voice 0: +0.5 c OK +poly chord 60 64 67, Coupling 100%, voice 1: +0.5 c OK +poly chord 60 64 67, Coupling 100%, voice 2: -0.6 c OK +poly chord 64 69 76, Coupling 100%, voice 0: +0.4 c OK +poly chord 64 69 76, Coupling 100%, voice 1: +0.1 c OK +poly chord 64 69 76, Coupling 100%, voice 2: +0.1 c OK +poly chord 24 28 31 holds at Coupling 100%, voice 0: +0.8 c OK +poly chord 24 28 31 holds at Coupling 100%, voice 1: -0.9 c OK +poly chord 24 28 31 holds at Coupling 100%, voice 2: +0.7 c OK +poly chord 24 27 31 holds at Coupling 100%, voice 0: +0.6 c OK +poly chord 24 27 31 holds at Coupling 100%, voice 1: -0.4 c OK +poly chord 24 27 31 holds at Coupling 100%, voice 2: +1.6 c OK +poly chord 24 31 36 holds at Coupling 100%, voice 0: +0.4 c OK +poly chord 24 31 36 holds at Coupling 100%, voice 1: +0.0 c OK +poly chord 24 31 36 holds at Coupling 100%, voice 2: -0.4 c OK +poly chord 24 29 31 holds at Coupling 100%, voice 0: +0.9 c OK +poly chord 24 29 31 holds at Coupling 100%, voice 1: -0.2 c OK +poly chord 24 29 31 holds at Coupling 100%, voice 2: +0.8 c OK +poly chord 24 26 31 holds at Coupling 100%, voice 0: +0.8 c OK +poly chord 24 26 31 holds at Coupling 100%, voice 1: -0.3 c OK +poly chord 24 26 31 holds at Coupling 100%, voice 2: +1.3 c OK +poly chord 24 25 26 holds at Coupling 100%, voice 0: +1.7 c OK +poly chord 24 25 26 holds at Coupling 100%, voice 1: -1.7 c OK +poly chord 24 25 26 holds at Coupling 100%, voice 2: -2.6 c OK +poly chord 24 31 40 holds at Coupling 100%, voice 0: +0.7 c OK +poly chord 24 31 40 holds at Coupling 100%, voice 1: +0.4 c OK +poly chord 24 31 40 holds at Coupling 100%, voice 2: +0.9 c OK +poly chord 24 36 48 holds at Coupling 100%, voice 0: +0.6 c OK +poly chord 24 36 48 holds at Coupling 100%, voice 1: -1.0 c OK +poly chord 24 36 48 holds at Coupling 100%, voice 2: +0.2 c OK +poly chord 30 34 37 holds at Coupling 100%, voice 0: -0.4 c OK +poly chord 30 34 37 holds at Coupling 100%, voice 1: -0.4 c OK +poly chord 30 34 37 holds at Coupling 100%, voice 2: +2.0 c OK +poly chord 30 33 37 holds at Coupling 100%, voice 0: -0.8 c OK +poly chord 30 33 37 holds at Coupling 100%, voice 1: -0.7 c OK +poly chord 30 33 37 holds at Coupling 100%, voice 2: +1.9 c OK +poly chord 30 37 42 holds at Coupling 100%, voice 0: -0.3 c OK +poly chord 30 37 42 holds at Coupling 100%, voice 1: +0.1 c OK +poly chord 30 37 42 holds at Coupling 100%, voice 2: -0.3 c OK +poly chord 30 35 37 holds at Coupling 100%, voice 0: -0.4 c OK +poly chord 30 35 37 holds at Coupling 100%, voice 1: -0.7 c OK +poly chord 30 35 37 holds at Coupling 100%, voice 2: +1.9 c OK +poly chord 30 32 37 holds at Coupling 100%, voice 0: -0.9 c OK +poly chord 30 32 37 holds at Coupling 100%, voice 1: -0.2 c OK +poly chord 30 32 37 holds at Coupling 100%, voice 2: +1.4 c OK +poly chord 30 31 32 holds at Coupling 100%, voice 0: -2.7 c OK +poly chord 30 31 32 holds at Coupling 100%, voice 1: +1.6 c OK +poly chord 30 31 32 holds at Coupling 100%, voice 2: +2.3 c OK +poly chord 30 37 46 holds at Coupling 100%, voice 0: +0.0 c OK +poly chord 30 37 46 holds at Coupling 100%, voice 1: +0.4 c OK +poly chord 30 37 46 holds at Coupling 100%, voice 2: +0.4 c OK +poly chord 30 42 54 holds at Coupling 100%, voice 0: +0.1 c OK +poly chord 30 42 54 holds at Coupling 100%, voice 1: -0.1 c OK +poly chord 30 42 54 holds at Coupling 100%, voice 2: -0.5 c OK +poly chord 36 40 43 holds at Coupling 100%, voice 0: -1.6 c OK +poly chord 36 40 43 holds at Coupling 100%, voice 1: +0.1 c OK +poly chord 36 40 43 holds at Coupling 100%, voice 2: +1.0 c OK +poly chord 36 39 43 holds at Coupling 100%, voice 0: -1.7 c OK +poly chord 36 39 43 holds at Coupling 100%, voice 1: +0.6 c OK +poly chord 36 39 43 holds at Coupling 100%, voice 2: +0.7 c OK +poly chord 36 43 48 holds at Coupling 100%, voice 0: -1.3 c OK +poly chord 36 43 48 holds at Coupling 100%, voice 1: -0.1 c OK +poly chord 36 43 48 holds at Coupling 100%, voice 2: -0.9 c OK +poly chord 36 41 43 holds at Coupling 100%, voice 0: -1.5 c OK +poly chord 36 41 43 holds at Coupling 100%, voice 1: +0.1 c OK +poly chord 36 41 43 holds at Coupling 100%, voice 2: +1.0 c OK +poly chord 36 38 43 holds at Coupling 100%, voice 0: -1.9 c OK +poly chord 36 38 43 holds at Coupling 100%, voice 1: +0.6 c OK +poly chord 36 38 43 holds at Coupling 100%, voice 2: +0.4 c OK +poly chord 36 37 38 holds at Coupling 100%, voice 0: -2.8 c OK +poly chord 36 37 38 holds at Coupling 100%, voice 1: +2.9 c OK +poly chord 36 37 38 holds at Coupling 100%, voice 2: +2.7 c OK +poly chord 36 43 52 holds at Coupling 100%, voice 0: -1.0 c OK +poly chord 36 43 52 holds at Coupling 100%, voice 1: -0.0 c OK +poly chord 36 43 52 holds at Coupling 100%, voice 2: -0.0 c OK +poly chord 36 48 60 holds at Coupling 100%, voice 0: -0.7 c OK +poly chord 36 48 60 holds at Coupling 100%, voice 1: -0.5 c OK +poly chord 36 48 60 holds at Coupling 100%, voice 2: +0.2 c OK +poly chord 42 46 49 holds at Coupling 100%, voice 0: -0.7 c OK +poly chord 42 46 49 holds at Coupling 100%, voice 1: +0.2 c OK +poly chord 42 46 49 holds at Coupling 100%, voice 2: +0.1 c OK +poly chord 42 45 49 holds at Coupling 100%, voice 0: -0.7 c OK +poly chord 42 45 49 holds at Coupling 100%, voice 1: +0.5 c OK +poly chord 42 45 49 holds at Coupling 100%, voice 2: -0.0 c OK +poly chord 42 49 54 holds at Coupling 100%, voice 0: -0.1 c OK +poly chord 42 49 54 holds at Coupling 100%, voice 1: +0.0 c OK +poly chord 42 49 54 holds at Coupling 100%, voice 2: -0.2 c OK +poly chord 42 47 49 holds at Coupling 100%, voice 0: -0.7 c OK +poly chord 42 47 49 holds at Coupling 100%, voice 1: +0.2 c OK +poly chord 42 47 49 holds at Coupling 100%, voice 2: +0.1 c OK +poly chord 42 44 49 holds at Coupling 100%, voice 0: -0.7 c OK +poly chord 42 44 49 holds at Coupling 100%, voice 1: +0.3 c OK +poly chord 42 44 49 holds at Coupling 100%, voice 2: -0.1 c OK +poly chord 42 43 44 holds at Coupling 100%, voice 0: -0.6 c OK +poly chord 42 43 44 holds at Coupling 100%, voice 1: +2.9 c OK +poly chord 42 43 44 holds at Coupling 100%, voice 2: +0.5 c OK +poly chord 42 49 58 holds at Coupling 100%, voice 0: -0.3 c OK +poly chord 42 49 58 holds at Coupling 100%, voice 1: -0.0 c OK +poly chord 42 49 58 holds at Coupling 100%, voice 2: -0.0 c OK +poly chord 42 54 66 holds at Coupling 100%, voice 0: -0.2 c OK +poly chord 42 54 66 holds at Coupling 100%, voice 1: -0.0 c OK +poly chord 42 54 66 holds at Coupling 100%, voice 2: +0.0 c OK +poly chord 48 52 55 holds at Coupling 100%, voice 0: -0.1 c OK +poly chord 48 52 55 holds at Coupling 100%, voice 1: +0.1 c OK +poly chord 48 52 55 holds at Coupling 100%, voice 2: -0.4 c OK +poly chord 48 51 55 holds at Coupling 100%, voice 0: -0.0 c OK +poly chord 48 51 55 holds at Coupling 100%, voice 1: +0.1 c OK +poly chord 48 51 55 holds at Coupling 100%, voice 2: -0.4 c OK +poly chord 48 55 60 holds at Coupling 100%, voice 0: -0.4 c OK +poly chord 48 55 60 holds at Coupling 100%, voice 1: +0.0 c OK +poly chord 48 55 60 holds at Coupling 100%, voice 2: -0.5 c OK +poly chord 48 53 55 holds at Coupling 100%, voice 0: -0.1 c OK +poly chord 48 53 55 holds at Coupling 100%, voice 1: +0.3 c OK +poly chord 48 53 55 holds at Coupling 100%, voice 2: -0.6 c OK +poly chord 48 50 55 holds at Coupling 100%, voice 0: +0.1 c OK +poly chord 48 50 55 holds at Coupling 100%, voice 1: +0.0 c OK +poly chord 48 50 55 holds at Coupling 100%, voice 2: -0.4 c OK +poly chord 48 49 50 holds at Coupling 100%, voice 0: +2.3 c OK +poly chord 48 49 50 holds at Coupling 100%, voice 1: +2.7 c OK +poly chord 48 49 50 holds at Coupling 100%, voice 2: -2.5 c OK +poly chord 48 55 64 holds at Coupling 100%, voice 0: +0.0 c OK +poly chord 48 55 64 holds at Coupling 100%, voice 1: +0.0 c OK +poly chord 48 55 64 holds at Coupling 100%, voice 2: +0.0 c OK +poly chord 48 60 72 holds at Coupling 100%, voice 0: +0.1 c OK +poly chord 48 60 72 holds at Coupling 100%, voice 1: -0.1 c OK +poly chord 48 60 72 holds at Coupling 100%, voice 2: +0.5 c OK +poly chord 54 58 61 holds at Coupling 100%, voice 0: +0.4 c OK +poly chord 54 58 61 holds at Coupling 100%, voice 1: +0.4 c OK +poly chord 54 58 61 holds at Coupling 100%, voice 2: -0.6 c OK +poly chord 54 57 61 holds at Coupling 100%, voice 0: +0.5 c OK +poly chord 54 57 61 holds at Coupling 100%, voice 1: -0.0 c OK +poly chord 54 57 61 holds at Coupling 100%, voice 2: -0.5 c OK +poly chord 54 61 66 holds at Coupling 100%, voice 0: +0.2 c OK +poly chord 54 61 66 holds at Coupling 100%, voice 1: +0.1 c OK +poly chord 54 61 66 holds at Coupling 100%, voice 2: -0.0 c OK +poly chord 54 59 61 holds at Coupling 100%, voice 0: +0.2 c OK +poly chord 54 59 61 holds at Coupling 100%, voice 1: +0.7 c OK +poly chord 54 59 61 holds at Coupling 100%, voice 2: -0.7 c OK +poly chord 54 56 61 holds at Coupling 100%, voice 0: +0.7 c OK +poly chord 54 56 61 holds at Coupling 100%, voice 1: -0.3 c OK +poly chord 54 56 61 holds at Coupling 100%, voice 2: -0.4 c OK +poly chord 54 55 56 holds at Coupling 100%, voice 0: +4.2 c OK +poly chord 54 55 56 holds at Coupling 100%, voice 1: +2.6 c OK +poly chord 54 55 56 holds at Coupling 100%, voice 2: -4.4 c OK +poly chord 54 61 70 holds at Coupling 100%, voice 0: +0.2 c OK +poly chord 54 61 70 holds at Coupling 100%, voice 1: +0.0 c OK +poly chord 54 61 70 holds at Coupling 100%, voice 2: -0.0 c OK +poly chord 54 66 78 holds at Coupling 100%, voice 0: +0.1 c OK +poly chord 54 66 78 holds at Coupling 100%, voice 1: +0.1 c OK +poly chord 54 66 78 holds at Coupling 100%, voice 2: +0.0 c OK +poly chord 60 64 67 holds at Coupling 100%, voice 0: +0.5 c OK +poly chord 60 64 67 holds at Coupling 100%, voice 1: +0.5 c OK +poly chord 60 64 67 holds at Coupling 100%, voice 2: -0.6 c OK +poly chord 60 63 67 holds at Coupling 100%, voice 0: +0.8 c OK +poly chord 60 63 67 holds at Coupling 100%, voice 1: -0.1 c OK +poly chord 60 63 67 holds at Coupling 100%, voice 2: -0.4 c OK +poly chord 60 67 72 holds at Coupling 100%, voice 0: +0.2 c OK +poly chord 60 67 72 holds at Coupling 100%, voice 1: +0.2 c OK +poly chord 60 67 72 holds at Coupling 100%, voice 2: +0.2 c OK +poly chord 60 65 67 holds at Coupling 100%, voice 0: +0.3 c OK +poly chord 60 65 67 holds at Coupling 100%, voice 1: +0.9 c OK +poly chord 60 65 67 holds at Coupling 100%, voice 2: -0.7 c OK +poly chord 60 62 67 holds at Coupling 100%, voice 0: +1.0 c OK +poly chord 60 62 67 holds at Coupling 100%, voice 1: -0.3 c OK +poly chord 60 62 67 holds at Coupling 100%, voice 2: -0.2 c OK +poly chord 60 61 62 holds at Coupling 100%, voice 0: +3.5 c OK +poly chord 60 61 62 holds at Coupling 100%, voice 1: +1.6 c OK +poly chord 60 61 62 holds at Coupling 100%, voice 2: -3.2 c OK +poly chord 60 67 76 holds at Coupling 100%, voice 0: +0.3 c OK +poly chord 60 67 76 holds at Coupling 100%, voice 1: +0.1 c OK +poly chord 60 67 76 holds at Coupling 100%, voice 2: +0.0 c OK +poly chord 60 72 84 holds at Coupling 100%, voice 0: +0.1 c OK +poly chord 60 72 84 holds at Coupling 100%, voice 1: +0.2 c OK +poly chord 60 72 84 holds at Coupling 100%, voice 2: +0.2 c OK +preset Chord Keys, chord 36 40 43, voice 0: -11.8 c OK +preset Chord Keys, chord 36 40 43, voice 1: -1.5 c OK +preset Chord Keys, chord 36 40 43, voice 2: +1.3 c OK +preset Chord Keys, chord 36 39 43, voice 0: -12.1 c OK +preset Chord Keys, chord 36 39 43, voice 1: -8.0 c OK +preset Chord Keys, chord 36 39 43, voice 2: +1.2 c OK +preset Chord Keys, chord 36 43 48, voice 0: -7.9 c OK +preset Chord Keys, chord 36 43 48, voice 1: +0.9 c OK +preset Chord Keys, chord 36 43 48, voice 2: +5.6 c OK +preset Chord Keys, chord 36 41 43, voice 0: -11.3 c OK +preset Chord Keys, chord 36 41 43, voice 1: +3.6 c OK +preset Chord Keys, chord 36 41 43, voice 2: +1.3 c OK +preset Chord Keys, chord 36 38 43, voice 0: -11.3 c OK +preset Chord Keys, chord 36 38 43, voice 1: +0.7 c OK +preset Chord Keys, chord 36 38 43, voice 2: +1.1 c OK +preset Chord Keys, chord 42 46 49, voice 0: +2.2 c OK +preset Chord Keys, chord 42 46 49, voice 1: -6.6 c OK +preset Chord Keys, chord 42 46 49, voice 2: -6.4 c OK +preset Chord Keys, chord 42 45 49, voice 0: +3.1 c OK +preset Chord Keys, chord 42 45 49, voice 1: -1.8 c OK +preset Chord Keys, chord 42 45 49, voice 2: -6.5 c OK +preset Chord Keys, chord 42 49 54, voice 0: +2.6 c OK +preset Chord Keys, chord 42 49 54, voice 1: -6.4 c OK +preset Chord Keys, chord 42 49 54, voice 2: +0.8 c OK +preset Chord Keys, chord 42 47 49, voice 0: +2.5 c OK +preset Chord Keys, chord 42 47 49, voice 1: +0.2 c OK +preset Chord Keys, chord 42 47 49, voice 2: -6.5 c OK +preset Chord Keys, chord 42 44 49, voice 0: +3.1 c OK +preset Chord Keys, chord 42 44 49, voice 1: -1.8 c OK +preset Chord Keys, chord 42 44 49, voice 2: -6.5 c OK +preset Chord Keys, chord 48 52 55, voice 0: +5.6 c OK +preset Chord Keys, chord 48 52 55, voice 1: +0.9 c OK +preset Chord Keys, chord 48 52 55, voice 2: +1.1 c OK +preset Chord Keys, chord 48 51 55, voice 0: +5.7 c OK +preset Chord Keys, chord 48 51 55, voice 1: +3.8 c OK +preset Chord Keys, chord 48 51 55, voice 2: +1.3 c OK +preset Chord Keys, chord 48 55 60, voice 0: +6.7 c OK +preset Chord Keys, chord 48 55 60, voice 1: +1.3 c OK +preset Chord Keys, chord 48 55 60, voice 2: +0.2 c OK +preset Chord Keys, chord 48 53 55, voice 0: +6.2 c OK +preset Chord Keys, chord 48 53 55, voice 1: +5.8 c OK +preset Chord Keys, chord 48 53 55, voice 2: +1.2 c OK +preset Chord Keys, chord 48 50 55, voice 0: +5.2 c OK +preset Chord Keys, chord 48 50 55, voice 1: +2.7 c OK +preset Chord Keys, chord 48 50 55, voice 2: +1.4 c OK +preset Chord Keys, chord 54 58 61, voice 0: +2.5 c OK +preset Chord Keys, chord 54 58 61, voice 1: +0.0 c OK +preset Chord Keys, chord 54 58 61, voice 2: -0.9 c OK +preset Chord Keys, chord 54 57 61, voice 0: +2.3 c OK +preset Chord Keys, chord 54 57 61, voice 1: +1.5 c OK +preset Chord Keys, chord 54 57 61, voice 2: -1.1 c OK +preset Chord Keys, chord 54 61 66, voice 0: +2.1 c OK +preset Chord Keys, chord 54 61 66, voice 1: -0.7 c OK +preset Chord Keys, chord 54 61 66, voice 2: -2.0 c OK +preset Chord Keys, chord 54 59 61, voice 0: +2.2 c OK +preset Chord Keys, chord 54 59 61, voice 1: -0.2 c OK +preset Chord Keys, chord 54 59 61, voice 2: -1.1 c OK +preset Chord Keys, chord 54 56 61, voice 0: +2.6 c OK +preset Chord Keys, chord 54 56 61, voice 1: +0.9 c OK +preset Chord Keys, chord 54 56 61, voice 2: -1.0 c OK +preset Chord Keys, chord 60 64 67, voice 0: +0.4 c OK +preset Chord Keys, chord 60 64 67, voice 1: -0.2 c OK +preset Chord Keys, chord 60 64 67, voice 2: +1.3 c OK +preset Chord Keys, chord 60 63 67, voice 0: +0.7 c OK +preset Chord Keys, chord 60 63 67, voice 1: +0.5 c OK +preset Chord Keys, chord 60 63 67, voice 2: +1.3 c OK +preset Chord Keys, chord 60 67 72, voice 0: +0.3 c OK +preset Chord Keys, chord 60 67 72, voice 1: +1.5 c OK +preset Chord Keys, chord 60 67 72, voice 2: -0.7 c OK +preset Chord Keys, chord 60 65 67, voice 0: +0.7 c OK +preset Chord Keys, chord 60 65 67, voice 1: -2.7 c OK +preset Chord Keys, chord 60 65 67, voice 2: +1.3 c OK +preset Chord Keys, chord 60 62 67, voice 0: +0.5 c OK +preset Chord Keys, chord 60 62 67, voice 1: +0.9 c OK +preset Chord Keys, chord 60 62 67, voice 2: +1.4 c OK +poly restart starts on the new notes: 52.00 57.00 OK +poly restart with a new chord, voice 0: +0.4 c OK +poly restart with a new chord, voice 1: +0.2 c OK +poly restart with a new chord, voice 2: +0.2 c OK +poly restart builds as fast, voice 1: 0.35 s, fresh 0.35 s OK +poly restart builds as fast, voice 2: 0.40 s, fresh 0.35 s OK +poly restart keeps the filters: voice 1 slope rms 0.03231, fresh 0.03231 OK +poly knob intervals: +7.000 +12.000 OK +poly interval +24 at Frequency 1.0: voice 1 note 84.00 finite=1 in range=1 OK +poly interval -24 at Frequency 0.0: voice 1 note 16.00 finite=1 in range=1 OK +poly never assigned voice stays closed: -84.1 dB below voice 0 OK +poly gate per voice: closed voice -83.9 dB, open voice -0.0 dB OK +poly chord audible at once: rms 0.9846 0.9809 0.9798, voice 1 early=1, no ramp (error 0.00000) OK +poly stability at maximum, chord 16 50 84: finite=1 peak=0.655 recoveries=0 OK +poly stability at maximum, chord 48 48 48: finite=1 peak=0.694 recoveries=0 OK +poly stability at maximum, LOCK from the knobs: finite=1 peak=0.554 recoveries=0 OK +poly stability at maximum, knobs, Body 0: finite=1 peak=0.714 recoveries=0 OK +poly stability at maximum, knobs, Body 1: finite=1 peak=0.683 recoveries=0 OK +poly closed voice at Coupling 100%, reverb 0.0, voice 0 open, interval 0: -83.9 dB OK +poly closed voice at Coupling 100%, reverb 0.0, voice 0 open, interval 7: -84.0 dB OK +poly closed voice at Coupling 100%, reverb 0.0, voice 0 open, interval 6: -83.9 dB OK +poly closed voice at Coupling 100%, reverb 0.0, voices 0 and 1 open, interval 0: -83.9 dB OK +poly closed voice at Coupling 100%, reverb 0.0, voices 0 and 1 open, interval 7: -84.0 dB OK +poly closed voice at Coupling 100%, reverb 0.0, voices 0 and 1 open, interval 6: -83.9 dB OK +poly closed voice at Coupling 100%, reverb 0.0, voices 1 and 2 open, interval 0: -83.9 dB OK +poly closed voice at Coupling 100%, reverb 0.0, voices 1 and 2 open, interval 7: -84.0 dB OK +poly closed voice at Coupling 100%, reverb 0.0, voices 1 and 2 open, interval 6: -83.9 dB OK +poly closed voice at Coupling 100%, reverb 0.5, voice 0 open, interval 0: -87.8 dB OK +poly closed voice at Coupling 100%, reverb 0.5, voice 0 open, interval 7: -88.0 dB OK +poly closed voice at Coupling 100%, reverb 0.5, voice 0 open, interval 6: -87.8 dB OK +poly closed voice at Coupling 100%, reverb 0.5, voices 0 and 1 open, interval 0: -87.8 dB OK +poly closed voice at Coupling 100%, reverb 0.5, voices 0 and 1 open, interval 7: -88.1 dB OK +poly closed voice at Coupling 100%, reverb 0.5, voices 0 and 1 open, interval 6: -87.8 dB OK +poly closed voice at Coupling 100%, reverb 0.5, voices 1 and 2 open, interval 0: -87.8 dB OK +poly closed voice at Coupling 100%, reverb 0.5, voices 1 and 2 open, interval 7: -87.8 dB OK +poly closed voice at Coupling 100%, reverb 0.5, voices 1 and 2 open, interval 6: -87.8 dB OK +poly voice restarting closed at Coupling 100%: -84.1 dB OK +poly LOCK from the knobs, Frequency 0.30 Body 0.3: worst voice 0.8 c OK +poly LOCK from the knobs, Frequency 0.30 Body 0.6: worst voice 0.8 c OK +poly LOCK from the knobs, Frequency 0.30 Body 0.9: worst voice 0.5 c OK +poly LOCK from the knobs, Frequency 0.43 Body 0.3: worst voice 0.2 c OK +poly LOCK from the knobs, Frequency 0.43 Body 0.6: worst voice 0.2 c OK +poly LOCK from the knobs, Frequency 0.43 Body 0.9: worst voice 0.2 c OK +poly LOCK from the knobs, Frequency 0.55 Body 0.3: worst voice 0.2 c OK +poly LOCK from the knobs, Frequency 0.55 Body 0.6: worst voice 0.2 c OK +poly LOCK from the knobs, Frequency 0.55 Body 0.9: worst voice 0.2 c OK +poly LOCK from the knobs, Frequency 0.70 Body 0.3: worst voice 0.2 c OK +poly LOCK from the knobs, Frequency 0.70 Body 0.6: worst voice 0.2 c OK +poly LOCK from the knobs, Frequency 0.70 Body 0.9: worst voice 0.2 c OK +poly free voices on one pitch: 6 of 42 settings OK +poly LOCK at Highpass 0.8: rms 0.00003, free 0.120 OK +poly LOCK off at Coupling 0%, Frequency 0.30 Body 0.3: largest kink 0.00109, before 0.00092 OK +poly LOCK off at Coupling 0%, Frequency 0.30 Body 0.7: largest kink 0.00108, before 0.00087 OK +poly LOCK off at Coupling 0%, Frequency 0.43 Body 0.3: largest kink 0.00266, before 0.00351 OK +poly LOCK off at Coupling 0%, Frequency 0.43 Body 0.7: largest kink 0.00260, before 0.00348 OK +poly LOCK off at Coupling 100%, Frequency 0.30 Body 0.3: largest kink 0.00081, before 0.00095 OK +poly LOCK off at Coupling 100%, Frequency 0.30 Body 0.7: largest kink 0.00170, before 0.00090 OK +poly LOCK off at Coupling 100%, Frequency 0.43 Body 0.3: largest kink 0.00288, before 0.00365 OK +poly LOCK off at Coupling 100%, Frequency 0.43 Body 0.7: largest kink 0.00512, before 0.00343 OK +poly Coupling 100% changes the spectrum, chord 48 55 64: 0.167 OK +poly Coupling 100% changes the spectrum, chord 60 64 67: 0.445 OK +poly Coupling 100% changes the spectrum, knobs +7 +12: 0.547 OK +poly Coupling 100% changes the spectrum, LOCK, knobs +7 +12: 0.190 OK +poly Body 0.7, Coupling 80%: 0 of 84 voices moved off their notes, worst 0.6 c OK +poly Body 0.7, Coupling 100%: 0 of 84 voices moved off their notes, worst 0.6 c OK +poly Body 0.8, Coupling 80%: 0 of 84 voices moved off their notes, worst 0.5 c OK +poly Body 0.8, Coupling 100%: 0 of 84 voices moved off their notes, worst 0.5 c OK +poly Body 0.9, Coupling 80%: 0 of 83 voices moved off their notes, worst 0.5 c OK +poly Body 0.9, Coupling 100%: 0 of 83 voices moved off their notes, worst 0.5 c OK +poly Body 1.0, Coupling 80%: 0 of 84 voices moved off their notes, worst 0.5 c OK +poly Body 1.0, Coupling 100%: 0 of 84 voices moved off their notes, worst 0.5 c OK +poly Coupling 100% changes the spectrum at Body 0.5: 0.286 OK +poly ramp on at Coupling 100%, L: largest jump 0.01056, before 0.01099, finite=1 OK +poly ramp on at Coupling 100%, R: largest jump 0.01063, before 0.01099, finite=1 OK +poly ramp off, reversing at Coupling 100%, L: largest jump 0.01459, before 0.02057, finite=1 OK +poly ramp off, reversing at Coupling 100%, R: largest jump 0.01058, before 0.02072, finite=1 OK +poly Recover restores all voices: rms 0.9852 0.9809 0.9798 OK +CPU, polyphony off: 0.2118 s per second of audio +CPU, polyphony on: 0.5848 s per second of audio +pongMonoSum: L + R with PONG on is 4.74 dB from PONG off OK +pongSameColorThroughCore: spectral difference 0.065 OK +pongBackToFirmware: OK +pongToneSweepWhileRunningAway: peak 0.283, recoveries 0 OK +pongToneSurvivesRecover: peak at 271 Hz after Init OK +pongSwitchDuringRunaway at 4.00 s: largest jump 0.13367, limit 0.21139 OK +pongSwitchDuringRunaway at 4.00 s: largest jump 0.13270, limit 0.19273 OK +pongSwitchDuringRunaway at 6.00 s: largest jump 0.09231, limit 0.15567 OK +pongSwitchDuringRunaway at 6.00 s: largest jump 0.09741, limit 0.14231 OK +pongOnFromFirstBlock: OK +pongSwitchClickFree at 2.00 s: largest jump 0.33666, limit 0.50092 OK +pongSwitchClickFree at 2.00 s: largest jump 0.33835, limit 0.42447 OK +pongSwitchClickFree at 4.00 s: largest jump 0.33256, limit 0.40118 OK +pongSwitchClickFree at 4.00 s: largest jump 0.31472, limit 0.38138 OK +pongSwitchClickFree at 2.00 s: largest jump 0.05727, limit 0.07253 OK +pongSwitchClickFree at 2.00 s: largest jump 0.05562, limit 0.07392 OK +pongSwitchClickFree at 4.00 s: largest jump 0.03375, limit 0.06055 OK +pongSwitchClickFree at 4.00 s: largest jump 0.03673, limit 0.06286 OK +pongSwitchReverses: mix 0.000 20 ms after switching back OK +pongSwitchReverses at 2.00 s: largest jump 0.05727, limit 0.07253 OK +pongSwitchReverses at 2.00 s: largest jump 0.05631, limit 0.07392 OK +pongBoundsAtMaximum: peak 0.484, recoveries 0, mean 0.00001, 0.00001 OK +pongBouncesThroughCore, repeat 1: L over R 73.8 dB OK +pongBouncesThroughCore, repeat 2: L over R -68.7 dB OK +pongWidthAndLevelThroughCore: Width 0 L over R 0.00 dB and -6.01 dB from full width, Level -12 dB gives -11.99 dB OK +pongRecoversFromNan: tail RMS 0.10670 before, 0.000008 after, mix 1.00 OK +pongSurvivesTimeSweep: peak 0.265, recoveries 0 OK +everyPresetWithPongOn: OK +pongIndependentOfBlockSize: OK +emberPongSelfSustains: Ember Pong, RMS 0.0224 with nothing feeding it OK +stereoBounces: OK +stereoTiming, T 12000 samples: OK +stereoTiming, T 17250 samples: OK +stereoSameColor: largest difference 0.000 dB OK +stereoToneMovesCenter, Tone 300 Hz: peak at 271 Hz OK +stereoToneMovesCenter, Tone 3000 Hz: peak at 2936 Hz OK +stereoRunaway, Drive 1, Feedback 0.6: RMS 0.48065 after 20 s OK +stereoRunaway, Drive 1, Feedback 0.4: RMS 0.00000 after 20 s OK +stereoRunaway, Drive 0, Feedback 0.9: RMS 0.00000 after 20 s OK +stereoFeedbackZeroIsOneRepeat: OK +stereoWidthZeroIsMono: repeat 0.046821, half the side 0.046821 OK +stereoWidthAndLevelLeaveTheLoop: largest difference 1.5e-08 OK +stereoAliasing at 3100 Hz, Drive 1, Tone 3200 Hz: -54.0 dB at Feedback 0, -31.4 dB at Feedback 0.9 OK +stereoRampSettles: 1.0000000 after switching on, 0.0000000 after switching off OK +echoCenterReturnsBitForBit: OK +echoShapedAtUnityIsProcess: OK +stereoEchoMatchesTwoLines: OK +ALL OK diff --git a/review/logs/render_test.log b/review/logs/render_test.log new file mode 100644 index 0000000..50f9e49 --- /dev/null +++ b/review/logs/render_test.log @@ -0,0 +1,473 @@ +default_drone block=4 peak=0.337 rms=0.1375 finite=1 sound=1 OK +default_drone block=64 peak=0.337 rms=0.1375 finite=1 sound=1 OK +default_drone block=512 peak=0.337 rms=0.1375 finite=1 sound=1 OK +default_drone block=480 peak=0.337 rms=0.1375 finite=1 sound=1 OK +low_dark_verb block=4 peak=0.724 rms=0.2844 finite=1 sound=1 OK +low_dark_verb block=64 peak=0.724 rms=0.2844 finite=1 sound=1 OK +low_dark_verb block=512 peak=0.724 rms=0.2844 finite=1 sound=1 OK +low_dark_verb block=480 peak=0.724 rms=0.2844 finite=1 sound=1 OK +echo_runaway block=4 peak=0.737 rms=0.2704 finite=1 sound=1 OK +echo_runaway block=64 peak=0.737 rms=0.2704 finite=1 sound=1 OK +echo_runaway block=512 peak=0.737 rms=0.2704 finite=1 sound=1 OK +echo_runaway block=480 peak=0.737 rms=0.2704 finite=1 sound=1 OK +everything_max block=4 peak=0.750 rms=0.2610 finite=1 sound=1 OK +everything_max block=64 peak=0.750 rms=0.2610 finite=1 sound=1 OK +everything_max block=512 peak=0.750 rms=0.2610 finite=1 sound=1 OK +everything_max block=480 peak=0.750 rms=0.2610 finite=1 sound=1 OK +gain_zero block=4 peak=0.000 rms=0.0000 finite=1 sound=0 OK +gain_zero block=64 peak=0.000 rms=0.0000 finite=1 sound=0 OK +gain_zero block=512 peak=0.000 rms=0.0000 finite=1 sound=0 OK +gain_zero block=480 peak=0.000 rms=0.0000 finite=1 sound=0 OK +input passthrough rms=0.0786 OK +midi pitch dry on note (<25c) 68/69, worst of those 2.2 c OK +midi pitch Body min on note (<25c) 68/69, worst of those 2.2 c OK +midi pitch Body max on note (<25c) 67/69, worst of those 24.4 c OK +midi pitch Default preset on note (<25c) 66/69, worst of those 24.2 c OK +gate open rms=0.1176 closed rms=0.00001 (-84.0 dB) OK +resampler 48k->44.1k 1 kHz passes 0.00 dB OK +resampler 48k->44.1k 15 kHz passes -0.00 dB OK +resampler 48k->44.1k 23 kHz folded image -94.34 dB OK +resampler 48k->96k 1 kHz passes -0.00 dB OK +resampler 48k->96k 10 kHz image at 38 kHz -123.92 dB OK +resampler 96k->48k 30 kHz folded image -94.98 dB OK +resampler 44.1k->48k 1 kHz passes -0.00 dB OK +preset Default rms=0.1279 ( -17.9 dBFS) peak=0.337 OK +preset Sub Cellar rms=0.1550 ( -16.2 dBFS) peak=0.475 OK +preset Glass Wind rms=0.2108 ( -13.5 dBFS) peak=0.547 OK +preset Cathedral Bloom rms=0.2667 ( -11.5 dBFS) peak=0.786 OK +preset Echo Drift rms=0.1572 ( -16.1 dBFS) peak=0.259 OK +preset Doppler Void rms=0.1061 ( -19.5 dBFS) peak=0.349 OK +preset Dark Tide rms=0.1946 ( -14.2 dBFS) peak=0.672 OK +preset Razor Feedback rms=0.1447 ( -16.8 dBFS) peak=0.290 OK +preset Quiet Room rms=0.0818 ( -21.7 dBFS) peak=0.225 OK +preset Keys (play notes) rms=0.1321 ( -17.6 dBFS) peak=0.332 OK +preset Resonator (needs input) rms=0.0000 (-104.7 dBFS) peak=0.000 OK +preset Init (silent) rms=0.0000 (-102.5 dBFS) peak=0.000 OK +preset Open Fifths rms=0.1736 ( -15.2 dBFS) peak=0.461 OK +threeStringsSound Open Fifths strongest partial 151.2 Hz holds 53% of the power OK +preset Sympathetic rms=0.1365 ( -17.3 dBFS) peak=0.519 OK +threeStringsSound Sympathetic strongest partial 354.1 Hz holds 18% of the power OK +preset Chord Keys rms=0.1094 ( -19.2 dBFS) peak=0.283 OK +preset Ember Pong rms=0.0977 ( -20.2 dBFS) peak=0.236 OK +allocations while rendering, NaN recovery included: 0 OK +recovery from NaN: finite=1 rms of last second=0.0926 OK +filter state cleared by Init: OK +published Body, knob: 0.00991 s (knob 0.00991) OK +published note 60.000, Body 0.01170 s (3 periods 0.01147) OK +Echo Time with WARP: 0.359 s (expected 0.359) OK +engine, voice 0 independent at Coupling 0: same=1 others differ=1 OK +engine, unison voices differ: 1/0=1 2/1=1 OK +engine, Coupling rings a closed voice: 0.000067 -> 0.987463 (+83.4 dB) OK +engine, LPF 18000 Hz, ramp at 2 s: largest jump 0.31237, before 0.41388 OK +engine, LPF 18000 Hz, ramp at 2 s: largest jump 0.29941, before 0.36154 OK +engine, LPF 18000 Hz, ramp at 4 s: largest jump 0.36308, before 0.50708 OK +engine, LPF 18000 Hz, ramp at 4 s: largest jump 0.35730, before 0.48575 OK +engine, LPF 800 Hz, ramp at 2 s: largest jump 0.03125, before 0.03164 OK +engine, LPF 800 Hz, ramp at 2 s: largest jump 0.03141, before 0.03165 OK +engine, LPF 800 Hz, ramp at 4 s: largest jump 0.03301, before 0.05445 OK +engine, LPF 800 Hz, ramp at 4 s: largest jump 0.04374, before 0.05448 OK +engine, ramp end: default off=1 on=1 during=1 at 959=1 off at 961=1 off after Init=1 OK +engine, ramp settles on the sum: largest error 0.0000000 OK +engine, restart from silence: peak 0.000077 (was 1.956) OK +engine, ramp reversing from on: finite=1 largest jump 0.51978, before 0.50241 OK +engine, ramp reversing from off: finite=1 largest jump 0.31447, before 0.41388 OK +poly chord 36 43 52, Coupling 0%, voice 0: -0.6 c OK +poly chord 36 43 52, Coupling 0%, voice 1: -0.1 c OK +poly chord 36 43 52, Coupling 0%, voice 2: +0.1 c OK +poly chord 45 52 57, Coupling 0%, voice 0: +0.2 c OK +poly chord 45 52 57, Coupling 0%, voice 1: +0.1 c OK +poly chord 45 52 57, Coupling 0%, voice 2: +0.2 c OK +poly chord 48 55 64, Coupling 0%, voice 0: +0.2 c OK +poly chord 48 55 64, Coupling 0%, voice 1: +0.2 c OK +poly chord 48 55 64, Coupling 0%, voice 2: +0.3 c OK +poly chord 60 64 67, Coupling 0%, voice 0: +0.2 c OK +poly chord 60 64 67, Coupling 0%, voice 1: +0.3 c OK +poly chord 60 64 67, Coupling 0%, voice 2: +0.2 c OK +poly chord 64 69 76, Coupling 0%, voice 0: +0.3 c OK +poly chord 64 69 76, Coupling 0%, voice 1: +0.2 c OK +poly chord 64 69 76, Coupling 0%, voice 2: +0.2 c OK +poly chord 36 43 52, Coupling 100%, voice 0: -1.0 c OK +poly chord 36 43 52, Coupling 100%, voice 1: -0.0 c OK +poly chord 36 43 52, Coupling 100%, voice 2: -0.0 c OK +poly chord 45 52 57, Coupling 100%, voice 0: +0.1 c OK +poly chord 45 52 57, Coupling 100%, voice 1: +0.0 c OK +poly chord 45 52 57, Coupling 100%, voice 2: -0.3 c OK +poly chord 48 55 64, Coupling 100%, voice 0: +0.0 c OK +poly chord 48 55 64, Coupling 100%, voice 1: +0.0 c OK +poly chord 48 55 64, Coupling 100%, voice 2: +0.0 c OK +poly chord 60 64 67, Coupling 100%, voice 0: +0.5 c OK +poly chord 60 64 67, Coupling 100%, voice 1: +0.5 c OK +poly chord 60 64 67, Coupling 100%, voice 2: -0.6 c OK +poly chord 64 69 76, Coupling 100%, voice 0: +0.4 c OK +poly chord 64 69 76, Coupling 100%, voice 1: +0.1 c OK +poly chord 64 69 76, Coupling 100%, voice 2: +0.1 c OK +poly chord 24 28 31 holds at Coupling 100%, voice 0: +0.8 c OK +poly chord 24 28 31 holds at Coupling 100%, voice 1: -0.9 c OK +poly chord 24 28 31 holds at Coupling 100%, voice 2: +0.7 c OK +poly chord 24 27 31 holds at Coupling 100%, voice 0: +0.6 c OK +poly chord 24 27 31 holds at Coupling 100%, voice 1: -0.4 c OK +poly chord 24 27 31 holds at Coupling 100%, voice 2: +1.6 c OK +poly chord 24 31 36 holds at Coupling 100%, voice 0: +0.4 c OK +poly chord 24 31 36 holds at Coupling 100%, voice 1: +0.0 c OK +poly chord 24 31 36 holds at Coupling 100%, voice 2: -0.4 c OK +poly chord 24 29 31 holds at Coupling 100%, voice 0: +0.9 c OK +poly chord 24 29 31 holds at Coupling 100%, voice 1: -0.2 c OK +poly chord 24 29 31 holds at Coupling 100%, voice 2: +0.8 c OK +poly chord 24 26 31 holds at Coupling 100%, voice 0: +0.8 c OK +poly chord 24 26 31 holds at Coupling 100%, voice 1: -0.3 c OK +poly chord 24 26 31 holds at Coupling 100%, voice 2: +1.3 c OK +poly chord 24 25 26 holds at Coupling 100%, voice 0: +1.7 c OK +poly chord 24 25 26 holds at Coupling 100%, voice 1: -1.7 c OK +poly chord 24 25 26 holds at Coupling 100%, voice 2: -2.6 c OK +poly chord 24 31 40 holds at Coupling 100%, voice 0: +0.7 c OK +poly chord 24 31 40 holds at Coupling 100%, voice 1: +0.4 c OK +poly chord 24 31 40 holds at Coupling 100%, voice 2: +0.9 c OK +poly chord 24 36 48 holds at Coupling 100%, voice 0: +0.6 c OK +poly chord 24 36 48 holds at Coupling 100%, voice 1: -1.0 c OK +poly chord 24 36 48 holds at Coupling 100%, voice 2: +0.2 c OK +poly chord 30 34 37 holds at Coupling 100%, voice 0: -0.4 c OK +poly chord 30 34 37 holds at Coupling 100%, voice 1: -0.4 c OK +poly chord 30 34 37 holds at Coupling 100%, voice 2: +2.0 c OK +poly chord 30 33 37 holds at Coupling 100%, voice 0: -0.8 c OK +poly chord 30 33 37 holds at Coupling 100%, voice 1: -0.7 c OK +poly chord 30 33 37 holds at Coupling 100%, voice 2: +1.9 c OK +poly chord 30 37 42 holds at Coupling 100%, voice 0: -0.3 c OK +poly chord 30 37 42 holds at Coupling 100%, voice 1: +0.1 c OK +poly chord 30 37 42 holds at Coupling 100%, voice 2: -0.3 c OK +poly chord 30 35 37 holds at Coupling 100%, voice 0: -0.4 c OK +poly chord 30 35 37 holds at Coupling 100%, voice 1: -0.7 c OK +poly chord 30 35 37 holds at Coupling 100%, voice 2: +1.9 c OK +poly chord 30 32 37 holds at Coupling 100%, voice 0: -0.9 c OK +poly chord 30 32 37 holds at Coupling 100%, voice 1: -0.2 c OK +poly chord 30 32 37 holds at Coupling 100%, voice 2: +1.4 c OK +poly chord 30 31 32 holds at Coupling 100%, voice 0: -2.7 c OK +poly chord 30 31 32 holds at Coupling 100%, voice 1: +1.6 c OK +poly chord 30 31 32 holds at Coupling 100%, voice 2: +2.3 c OK +poly chord 30 37 46 holds at Coupling 100%, voice 0: +0.0 c OK +poly chord 30 37 46 holds at Coupling 100%, voice 1: +0.4 c OK +poly chord 30 37 46 holds at Coupling 100%, voice 2: +0.4 c OK +poly chord 30 42 54 holds at Coupling 100%, voice 0: +0.1 c OK +poly chord 30 42 54 holds at Coupling 100%, voice 1: -0.1 c OK +poly chord 30 42 54 holds at Coupling 100%, voice 2: -0.5 c OK +poly chord 36 40 43 holds at Coupling 100%, voice 0: -1.6 c OK +poly chord 36 40 43 holds at Coupling 100%, voice 1: +0.1 c OK +poly chord 36 40 43 holds at Coupling 100%, voice 2: +1.0 c OK +poly chord 36 39 43 holds at Coupling 100%, voice 0: -1.7 c OK +poly chord 36 39 43 holds at Coupling 100%, voice 1: +0.6 c OK +poly chord 36 39 43 holds at Coupling 100%, voice 2: +0.7 c OK +poly chord 36 43 48 holds at Coupling 100%, voice 0: -1.3 c OK +poly chord 36 43 48 holds at Coupling 100%, voice 1: -0.1 c OK +poly chord 36 43 48 holds at Coupling 100%, voice 2: -0.9 c OK +poly chord 36 41 43 holds at Coupling 100%, voice 0: -1.5 c OK +poly chord 36 41 43 holds at Coupling 100%, voice 1: +0.1 c OK +poly chord 36 41 43 holds at Coupling 100%, voice 2: +1.0 c OK +poly chord 36 38 43 holds at Coupling 100%, voice 0: -1.9 c OK +poly chord 36 38 43 holds at Coupling 100%, voice 1: +0.6 c OK +poly chord 36 38 43 holds at Coupling 100%, voice 2: +0.4 c OK +poly chord 36 37 38 holds at Coupling 100%, voice 0: -2.8 c OK +poly chord 36 37 38 holds at Coupling 100%, voice 1: +2.9 c OK +poly chord 36 37 38 holds at Coupling 100%, voice 2: +2.7 c OK +poly chord 36 43 52 holds at Coupling 100%, voice 0: -1.0 c OK +poly chord 36 43 52 holds at Coupling 100%, voice 1: -0.0 c OK +poly chord 36 43 52 holds at Coupling 100%, voice 2: -0.0 c OK +poly chord 36 48 60 holds at Coupling 100%, voice 0: -0.7 c OK +poly chord 36 48 60 holds at Coupling 100%, voice 1: -0.5 c OK +poly chord 36 48 60 holds at Coupling 100%, voice 2: +0.2 c OK +poly chord 42 46 49 holds at Coupling 100%, voice 0: -0.7 c OK +poly chord 42 46 49 holds at Coupling 100%, voice 1: +0.2 c OK +poly chord 42 46 49 holds at Coupling 100%, voice 2: +0.1 c OK +poly chord 42 45 49 holds at Coupling 100%, voice 0: -0.7 c OK +poly chord 42 45 49 holds at Coupling 100%, voice 1: +0.5 c OK +poly chord 42 45 49 holds at Coupling 100%, voice 2: -0.0 c OK +poly chord 42 49 54 holds at Coupling 100%, voice 0: -0.1 c OK +poly chord 42 49 54 holds at Coupling 100%, voice 1: +0.0 c OK +poly chord 42 49 54 holds at Coupling 100%, voice 2: -0.2 c OK +poly chord 42 47 49 holds at Coupling 100%, voice 0: -0.7 c OK +poly chord 42 47 49 holds at Coupling 100%, voice 1: +0.2 c OK +poly chord 42 47 49 holds at Coupling 100%, voice 2: +0.1 c OK +poly chord 42 44 49 holds at Coupling 100%, voice 0: -0.7 c OK +poly chord 42 44 49 holds at Coupling 100%, voice 1: +0.3 c OK +poly chord 42 44 49 holds at Coupling 100%, voice 2: -0.1 c OK +poly chord 42 43 44 holds at Coupling 100%, voice 0: -0.6 c OK +poly chord 42 43 44 holds at Coupling 100%, voice 1: +2.9 c OK +poly chord 42 43 44 holds at Coupling 100%, voice 2: +0.5 c OK +poly chord 42 49 58 holds at Coupling 100%, voice 0: -0.3 c OK +poly chord 42 49 58 holds at Coupling 100%, voice 1: -0.0 c OK +poly chord 42 49 58 holds at Coupling 100%, voice 2: -0.0 c OK +poly chord 42 54 66 holds at Coupling 100%, voice 0: -0.2 c OK +poly chord 42 54 66 holds at Coupling 100%, voice 1: -0.0 c OK +poly chord 42 54 66 holds at Coupling 100%, voice 2: +0.0 c OK +poly chord 48 52 55 holds at Coupling 100%, voice 0: -0.1 c OK +poly chord 48 52 55 holds at Coupling 100%, voice 1: +0.1 c OK +poly chord 48 52 55 holds at Coupling 100%, voice 2: -0.4 c OK +poly chord 48 51 55 holds at Coupling 100%, voice 0: -0.0 c OK +poly chord 48 51 55 holds at Coupling 100%, voice 1: +0.1 c OK +poly chord 48 51 55 holds at Coupling 100%, voice 2: -0.4 c OK +poly chord 48 55 60 holds at Coupling 100%, voice 0: -0.4 c OK +poly chord 48 55 60 holds at Coupling 100%, voice 1: +0.0 c OK +poly chord 48 55 60 holds at Coupling 100%, voice 2: -0.5 c OK +poly chord 48 53 55 holds at Coupling 100%, voice 0: -0.1 c OK +poly chord 48 53 55 holds at Coupling 100%, voice 1: +0.3 c OK +poly chord 48 53 55 holds at Coupling 100%, voice 2: -0.6 c OK +poly chord 48 50 55 holds at Coupling 100%, voice 0: +0.1 c OK +poly chord 48 50 55 holds at Coupling 100%, voice 1: +0.0 c OK +poly chord 48 50 55 holds at Coupling 100%, voice 2: -0.4 c OK +poly chord 48 49 50 holds at Coupling 100%, voice 0: +2.3 c OK +poly chord 48 49 50 holds at Coupling 100%, voice 1: +2.7 c OK +poly chord 48 49 50 holds at Coupling 100%, voice 2: -2.5 c OK +poly chord 48 55 64 holds at Coupling 100%, voice 0: +0.0 c OK +poly chord 48 55 64 holds at Coupling 100%, voice 1: +0.0 c OK +poly chord 48 55 64 holds at Coupling 100%, voice 2: +0.0 c OK +poly chord 48 60 72 holds at Coupling 100%, voice 0: +0.1 c OK +poly chord 48 60 72 holds at Coupling 100%, voice 1: -0.1 c OK +poly chord 48 60 72 holds at Coupling 100%, voice 2: +0.5 c OK +poly chord 54 58 61 holds at Coupling 100%, voice 0: +0.4 c OK +poly chord 54 58 61 holds at Coupling 100%, voice 1: +0.4 c OK +poly chord 54 58 61 holds at Coupling 100%, voice 2: -0.6 c OK +poly chord 54 57 61 holds at Coupling 100%, voice 0: +0.5 c OK +poly chord 54 57 61 holds at Coupling 100%, voice 1: -0.0 c OK +poly chord 54 57 61 holds at Coupling 100%, voice 2: -0.5 c OK +poly chord 54 61 66 holds at Coupling 100%, voice 0: +0.2 c OK +poly chord 54 61 66 holds at Coupling 100%, voice 1: +0.1 c OK +poly chord 54 61 66 holds at Coupling 100%, voice 2: -0.0 c OK +poly chord 54 59 61 holds at Coupling 100%, voice 0: +0.2 c OK +poly chord 54 59 61 holds at Coupling 100%, voice 1: +0.7 c OK +poly chord 54 59 61 holds at Coupling 100%, voice 2: -0.7 c OK +poly chord 54 56 61 holds at Coupling 100%, voice 0: +0.7 c OK +poly chord 54 56 61 holds at Coupling 100%, voice 1: -0.3 c OK +poly chord 54 56 61 holds at Coupling 100%, voice 2: -0.4 c OK +poly chord 54 55 56 holds at Coupling 100%, voice 0: +4.2 c OK +poly chord 54 55 56 holds at Coupling 100%, voice 1: +2.6 c OK +poly chord 54 55 56 holds at Coupling 100%, voice 2: -4.4 c OK +poly chord 54 61 70 holds at Coupling 100%, voice 0: +0.2 c OK +poly chord 54 61 70 holds at Coupling 100%, voice 1: +0.0 c OK +poly chord 54 61 70 holds at Coupling 100%, voice 2: -0.0 c OK +poly chord 54 66 78 holds at Coupling 100%, voice 0: +0.1 c OK +poly chord 54 66 78 holds at Coupling 100%, voice 1: +0.1 c OK +poly chord 54 66 78 holds at Coupling 100%, voice 2: +0.0 c OK +poly chord 60 64 67 holds at Coupling 100%, voice 0: +0.5 c OK +poly chord 60 64 67 holds at Coupling 100%, voice 1: +0.5 c OK +poly chord 60 64 67 holds at Coupling 100%, voice 2: -0.6 c OK +poly chord 60 63 67 holds at Coupling 100%, voice 0: +0.8 c OK +poly chord 60 63 67 holds at Coupling 100%, voice 1: -0.1 c OK +poly chord 60 63 67 holds at Coupling 100%, voice 2: -0.4 c OK +poly chord 60 67 72 holds at Coupling 100%, voice 0: +0.2 c OK +poly chord 60 67 72 holds at Coupling 100%, voice 1: +0.2 c OK +poly chord 60 67 72 holds at Coupling 100%, voice 2: +0.2 c OK +poly chord 60 65 67 holds at Coupling 100%, voice 0: +0.3 c OK +poly chord 60 65 67 holds at Coupling 100%, voice 1: +0.9 c OK +poly chord 60 65 67 holds at Coupling 100%, voice 2: -0.7 c OK +poly chord 60 62 67 holds at Coupling 100%, voice 0: +1.0 c OK +poly chord 60 62 67 holds at Coupling 100%, voice 1: -0.3 c OK +poly chord 60 62 67 holds at Coupling 100%, voice 2: -0.2 c OK +poly chord 60 61 62 holds at Coupling 100%, voice 0: +3.5 c OK +poly chord 60 61 62 holds at Coupling 100%, voice 1: +1.6 c OK +poly chord 60 61 62 holds at Coupling 100%, voice 2: -3.2 c OK +poly chord 60 67 76 holds at Coupling 100%, voice 0: +0.3 c OK +poly chord 60 67 76 holds at Coupling 100%, voice 1: +0.1 c OK +poly chord 60 67 76 holds at Coupling 100%, voice 2: +0.0 c OK +poly chord 60 72 84 holds at Coupling 100%, voice 0: +0.1 c OK +poly chord 60 72 84 holds at Coupling 100%, voice 1: +0.2 c OK +poly chord 60 72 84 holds at Coupling 100%, voice 2: +0.2 c OK +preset Chord Keys, chord 36 40 43, voice 0: -11.8 c OK +preset Chord Keys, chord 36 40 43, voice 1: -1.5 c OK +preset Chord Keys, chord 36 40 43, voice 2: +1.3 c OK +preset Chord Keys, chord 36 39 43, voice 0: -12.1 c OK +preset Chord Keys, chord 36 39 43, voice 1: -8.0 c OK +preset Chord Keys, chord 36 39 43, voice 2: +1.2 c OK +preset Chord Keys, chord 36 43 48, voice 0: -7.9 c OK +preset Chord Keys, chord 36 43 48, voice 1: +0.9 c OK +preset Chord Keys, chord 36 43 48, voice 2: +5.6 c OK +preset Chord Keys, chord 36 41 43, voice 0: -11.3 c OK +preset Chord Keys, chord 36 41 43, voice 1: +3.6 c OK +preset Chord Keys, chord 36 41 43, voice 2: +1.3 c OK +preset Chord Keys, chord 36 38 43, voice 0: -11.3 c OK +preset Chord Keys, chord 36 38 43, voice 1: +0.7 c OK +preset Chord Keys, chord 36 38 43, voice 2: +1.1 c OK +preset Chord Keys, chord 42 46 49, voice 0: +2.2 c OK +preset Chord Keys, chord 42 46 49, voice 1: -6.6 c OK +preset Chord Keys, chord 42 46 49, voice 2: -6.4 c OK +preset Chord Keys, chord 42 45 49, voice 0: +3.1 c OK +preset Chord Keys, chord 42 45 49, voice 1: -1.8 c OK +preset Chord Keys, chord 42 45 49, voice 2: -6.5 c OK +preset Chord Keys, chord 42 49 54, voice 0: +2.6 c OK +preset Chord Keys, chord 42 49 54, voice 1: -6.4 c OK +preset Chord Keys, chord 42 49 54, voice 2: +0.8 c OK +preset Chord Keys, chord 42 47 49, voice 0: +2.5 c OK +preset Chord Keys, chord 42 47 49, voice 1: +0.2 c OK +preset Chord Keys, chord 42 47 49, voice 2: -6.5 c OK +preset Chord Keys, chord 42 44 49, voice 0: +3.1 c OK +preset Chord Keys, chord 42 44 49, voice 1: -1.8 c OK +preset Chord Keys, chord 42 44 49, voice 2: -6.5 c OK +preset Chord Keys, chord 48 52 55, voice 0: +5.6 c OK +preset Chord Keys, chord 48 52 55, voice 1: +0.9 c OK +preset Chord Keys, chord 48 52 55, voice 2: +1.1 c OK +preset Chord Keys, chord 48 51 55, voice 0: +5.7 c OK +preset Chord Keys, chord 48 51 55, voice 1: +3.8 c OK +preset Chord Keys, chord 48 51 55, voice 2: +1.3 c OK +preset Chord Keys, chord 48 55 60, voice 0: +6.7 c OK +preset Chord Keys, chord 48 55 60, voice 1: +1.3 c OK +preset Chord Keys, chord 48 55 60, voice 2: +0.2 c OK +preset Chord Keys, chord 48 53 55, voice 0: +6.2 c OK +preset Chord Keys, chord 48 53 55, voice 1: +5.8 c OK +preset Chord Keys, chord 48 53 55, voice 2: +1.2 c OK +preset Chord Keys, chord 48 50 55, voice 0: +5.2 c OK +preset Chord Keys, chord 48 50 55, voice 1: +2.7 c OK +preset Chord Keys, chord 48 50 55, voice 2: +1.4 c OK +preset Chord Keys, chord 54 58 61, voice 0: +2.5 c OK +preset Chord Keys, chord 54 58 61, voice 1: +0.0 c OK +preset Chord Keys, chord 54 58 61, voice 2: -0.9 c OK +preset Chord Keys, chord 54 57 61, voice 0: +2.3 c OK +preset Chord Keys, chord 54 57 61, voice 1: +1.5 c OK +preset Chord Keys, chord 54 57 61, voice 2: -1.1 c OK +preset Chord Keys, chord 54 61 66, voice 0: +2.1 c OK +preset Chord Keys, chord 54 61 66, voice 1: -0.7 c OK +preset Chord Keys, chord 54 61 66, voice 2: -2.0 c OK +preset Chord Keys, chord 54 59 61, voice 0: +2.2 c OK +preset Chord Keys, chord 54 59 61, voice 1: -0.2 c OK +preset Chord Keys, chord 54 59 61, voice 2: -1.1 c OK +preset Chord Keys, chord 54 56 61, voice 0: +2.6 c OK +preset Chord Keys, chord 54 56 61, voice 1: +0.9 c OK +preset Chord Keys, chord 54 56 61, voice 2: -1.0 c OK +preset Chord Keys, chord 60 64 67, voice 0: +0.4 c OK +preset Chord Keys, chord 60 64 67, voice 1: -0.2 c OK +preset Chord Keys, chord 60 64 67, voice 2: +1.3 c OK +preset Chord Keys, chord 60 63 67, voice 0: +0.7 c OK +preset Chord Keys, chord 60 63 67, voice 1: +0.5 c OK +preset Chord Keys, chord 60 63 67, voice 2: +1.3 c OK +preset Chord Keys, chord 60 67 72, voice 0: +0.3 c OK +preset Chord Keys, chord 60 67 72, voice 1: +1.5 c OK +preset Chord Keys, chord 60 67 72, voice 2: -0.7 c OK +preset Chord Keys, chord 60 65 67, voice 0: +0.7 c OK +preset Chord Keys, chord 60 65 67, voice 1: -2.7 c OK +preset Chord Keys, chord 60 65 67, voice 2: +1.3 c OK +preset Chord Keys, chord 60 62 67, voice 0: +0.5 c OK +preset Chord Keys, chord 60 62 67, voice 1: +0.9 c OK +preset Chord Keys, chord 60 62 67, voice 2: +1.4 c OK +poly restart starts on the new notes: 52.00 57.00 OK +poly restart with a new chord, voice 0: +0.4 c OK +poly restart with a new chord, voice 1: +0.2 c OK +poly restart with a new chord, voice 2: +0.2 c OK +poly restart builds as fast, voice 1: 0.35 s, fresh 0.35 s OK +poly restart builds as fast, voice 2: 0.40 s, fresh 0.35 s OK +poly restart keeps the filters: voice 1 slope rms 0.03231, fresh 0.03231 OK +poly knob intervals: +7.000 +12.000 OK +poly interval +24 at Frequency 1.0: voice 1 note 84.00 finite=1 in range=1 OK +poly interval -24 at Frequency 0.0: voice 1 note 16.00 finite=1 in range=1 OK +poly never assigned voice stays closed: -84.1 dB below voice 0 OK +poly gate per voice: closed voice -83.9 dB, open voice -0.0 dB OK +poly chord audible at once: rms 0.9846 0.9809 0.9798, voice 1 early=1, no ramp (error 0.00000) OK +poly stability at maximum, chord 16 50 84: finite=1 peak=0.655 recoveries=0 OK +poly stability at maximum, chord 48 48 48: finite=1 peak=0.694 recoveries=0 OK +poly stability at maximum, LOCK from the knobs: finite=1 peak=0.554 recoveries=0 OK +poly stability at maximum, knobs, Body 0: finite=1 peak=0.714 recoveries=0 OK +poly stability at maximum, knobs, Body 1: finite=1 peak=0.683 recoveries=0 OK +poly closed voice at Coupling 100%, reverb 0.0, voice 0 open, interval 0: -83.9 dB OK +poly closed voice at Coupling 100%, reverb 0.0, voice 0 open, interval 7: -84.0 dB OK +poly closed voice at Coupling 100%, reverb 0.0, voice 0 open, interval 6: -83.9 dB OK +poly closed voice at Coupling 100%, reverb 0.0, voices 0 and 1 open, interval 0: -83.9 dB OK +poly closed voice at Coupling 100%, reverb 0.0, voices 0 and 1 open, interval 7: -84.0 dB OK +poly closed voice at Coupling 100%, reverb 0.0, voices 0 and 1 open, interval 6: -83.9 dB OK +poly closed voice at Coupling 100%, reverb 0.0, voices 1 and 2 open, interval 0: -83.9 dB OK +poly closed voice at Coupling 100%, reverb 0.0, voices 1 and 2 open, interval 7: -84.0 dB OK +poly closed voice at Coupling 100%, reverb 0.0, voices 1 and 2 open, interval 6: -83.9 dB OK +poly closed voice at Coupling 100%, reverb 0.5, voice 0 open, interval 0: -87.8 dB OK +poly closed voice at Coupling 100%, reverb 0.5, voice 0 open, interval 7: -88.0 dB OK +poly closed voice at Coupling 100%, reverb 0.5, voice 0 open, interval 6: -87.8 dB OK +poly closed voice at Coupling 100%, reverb 0.5, voices 0 and 1 open, interval 0: -87.8 dB OK +poly closed voice at Coupling 100%, reverb 0.5, voices 0 and 1 open, interval 7: -88.1 dB OK +poly closed voice at Coupling 100%, reverb 0.5, voices 0 and 1 open, interval 6: -87.8 dB OK +poly closed voice at Coupling 100%, reverb 0.5, voices 1 and 2 open, interval 0: -87.8 dB OK +poly closed voice at Coupling 100%, reverb 0.5, voices 1 and 2 open, interval 7: -87.8 dB OK +poly closed voice at Coupling 100%, reverb 0.5, voices 1 and 2 open, interval 6: -87.8 dB OK +poly voice restarting closed at Coupling 100%: -84.1 dB OK +poly LOCK from the knobs, Frequency 0.30 Body 0.3: worst voice 0.8 c OK +poly LOCK from the knobs, Frequency 0.30 Body 0.6: worst voice 0.8 c OK +poly LOCK from the knobs, Frequency 0.30 Body 0.9: worst voice 0.5 c OK +poly LOCK from the knobs, Frequency 0.43 Body 0.3: worst voice 0.2 c OK +poly LOCK from the knobs, Frequency 0.43 Body 0.6: worst voice 0.2 c OK +poly LOCK from the knobs, Frequency 0.43 Body 0.9: worst voice 0.2 c OK +poly LOCK from the knobs, Frequency 0.55 Body 0.3: worst voice 0.2 c OK +poly LOCK from the knobs, Frequency 0.55 Body 0.6: worst voice 0.2 c OK +poly LOCK from the knobs, Frequency 0.55 Body 0.9: worst voice 0.2 c OK +poly LOCK from the knobs, Frequency 0.70 Body 0.3: worst voice 0.2 c OK +poly LOCK from the knobs, Frequency 0.70 Body 0.6: worst voice 0.2 c OK +poly LOCK from the knobs, Frequency 0.70 Body 0.9: worst voice 0.2 c OK +poly free voices on one pitch: 6 of 42 settings OK +poly LOCK at Highpass 0.8: rms 0.00003, free 0.120 OK +poly LOCK off at Coupling 0%, Frequency 0.30 Body 0.3: largest kink 0.00109, before 0.00092 OK +poly LOCK off at Coupling 0%, Frequency 0.30 Body 0.7: largest kink 0.00108, before 0.00087 OK +poly LOCK off at Coupling 0%, Frequency 0.43 Body 0.3: largest kink 0.00266, before 0.00351 OK +poly LOCK off at Coupling 0%, Frequency 0.43 Body 0.7: largest kink 0.00260, before 0.00348 OK +poly LOCK off at Coupling 100%, Frequency 0.30 Body 0.3: largest kink 0.00081, before 0.00095 OK +poly LOCK off at Coupling 100%, Frequency 0.30 Body 0.7: largest kink 0.00170, before 0.00090 OK +poly LOCK off at Coupling 100%, Frequency 0.43 Body 0.3: largest kink 0.00288, before 0.00365 OK +poly LOCK off at Coupling 100%, Frequency 0.43 Body 0.7: largest kink 0.00512, before 0.00343 OK +poly Coupling 100% changes the spectrum, chord 48 55 64: 0.167 OK +poly Coupling 100% changes the spectrum, chord 60 64 67: 0.445 OK +poly Coupling 100% changes the spectrum, knobs +7 +12: 0.547 OK +poly Coupling 100% changes the spectrum, LOCK, knobs +7 +12: 0.190 OK +poly Body 0.7, Coupling 80%: 0 of 84 voices moved off their notes, worst 0.6 c OK +poly Body 0.7, Coupling 100%: 0 of 84 voices moved off their notes, worst 0.6 c OK +poly Body 0.8, Coupling 80%: 0 of 84 voices moved off their notes, worst 0.5 c OK +poly Body 0.8, Coupling 100%: 0 of 84 voices moved off their notes, worst 0.5 c OK +poly Body 0.9, Coupling 80%: 0 of 83 voices moved off their notes, worst 0.5 c OK +poly Body 0.9, Coupling 100%: 0 of 83 voices moved off their notes, worst 0.5 c OK +poly Body 1.0, Coupling 80%: 0 of 84 voices moved off their notes, worst 0.5 c OK +poly Body 1.0, Coupling 100%: 0 of 84 voices moved off their notes, worst 0.5 c OK +poly Coupling 100% changes the spectrum at Body 0.5: 0.286 OK +poly ramp on at Coupling 100%, L: largest jump 0.01056, before 0.01099, finite=1 OK +poly ramp on at Coupling 100%, R: largest jump 0.01063, before 0.01099, finite=1 OK +poly ramp off, reversing at Coupling 100%, L: largest jump 0.01459, before 0.02057, finite=1 OK +poly ramp off, reversing at Coupling 100%, R: largest jump 0.01058, before 0.02072, finite=1 OK +poly Recover restores all voices: rms 0.9852 0.9809 0.9798 OK +CPU, polyphony off: 0.0090 s per second of audio +CPU, polyphony on: 0.0213 s per second of audio +pongMonoSum: L + R with PONG on is 4.74 dB from PONG off OK +pongSameColorThroughCore: spectral difference 0.065 OK +pongBackToFirmware: OK +pongToneSweepWhileRunningAway: peak 0.283, recoveries 0 OK +pongToneSurvivesRecover: peak at 271 Hz after Init OK +pongSwitchDuringRunaway at 4.00 s: largest jump 0.13367, limit 0.21139 OK +pongSwitchDuringRunaway at 4.00 s: largest jump 0.13270, limit 0.19273 OK +pongSwitchDuringRunaway at 6.00 s: largest jump 0.09231, limit 0.15567 OK +pongSwitchDuringRunaway at 6.00 s: largest jump 0.09741, limit 0.14231 OK +pongOnFromFirstBlock: OK +pongSwitchClickFree at 2.00 s: largest jump 0.33666, limit 0.50092 OK +pongSwitchClickFree at 2.00 s: largest jump 0.33835, limit 0.42447 OK +pongSwitchClickFree at 4.00 s: largest jump 0.33256, limit 0.40118 OK +pongSwitchClickFree at 4.00 s: largest jump 0.31472, limit 0.38138 OK +pongSwitchClickFree at 2.00 s: largest jump 0.05727, limit 0.07253 OK +pongSwitchClickFree at 2.00 s: largest jump 0.05562, limit 0.07392 OK +pongSwitchClickFree at 4.00 s: largest jump 0.03375, limit 0.06055 OK +pongSwitchClickFree at 4.00 s: largest jump 0.03673, limit 0.06286 OK +pongSwitchReverses: mix 0.000 20 ms after switching back OK +pongSwitchReverses at 2.00 s: largest jump 0.05727, limit 0.07253 OK +pongSwitchReverses at 2.00 s: largest jump 0.05631, limit 0.07392 OK +pongBoundsAtMaximum: peak 0.484, recoveries 0, mean 0.00001, 0.00001 OK +pongBouncesThroughCore, repeat 1: L over R 73.8 dB OK +pongBouncesThroughCore, repeat 2: L over R -68.7 dB OK +pongWidthAndLevelThroughCore: Width 0 L over R 0.00 dB and -6.01 dB from full width, Level -12 dB gives -11.99 dB OK +pongRecoversFromNan: tail RMS 0.10670 before, 0.000008 after, mix 1.00 OK +pongSurvivesTimeSweep: peak 0.265, recoveries 0 OK +everyPresetWithPongOn: OK +pongIndependentOfBlockSize: OK +emberPongSelfSustains: Ember Pong, RMS 0.0224 with nothing feeding it OK +stereoBounces: OK +stereoTiming, T 12000 samples: OK +stereoTiming, T 17250 samples: OK +stereoSameColor: largest difference 0.000 dB OK +stereoToneMovesCenter, Tone 300 Hz: peak at 271 Hz OK +stereoToneMovesCenter, Tone 3000 Hz: peak at 2936 Hz OK +stereoRunaway, Drive 1, Feedback 0.6: RMS 0.48065 after 20 s OK +stereoRunaway, Drive 1, Feedback 0.4: RMS 0.00000 after 20 s OK +stereoRunaway, Drive 0, Feedback 0.9: RMS 0.00000 after 20 s OK +stereoFeedbackZeroIsOneRepeat: OK +stereoWidthZeroIsMono: repeat 0.046821, half the side 0.046821 OK +stereoWidthAndLevelLeaveTheLoop: largest difference 1.5e-08 OK +stereoAliasing at 3100 Hz, Drive 1, Tone 3200 Hz: -54.0 dB at Feedback 0, -31.4 dB at Feedback 0.9 OK +stereoRampSettles: 1.0000000 after switching on, 0.0000000 after switching off OK +echoCenterReturnsBitForBit: OK +echoShapedAtUnityIsProcess: OK +stereoEchoMatchesTwoLines: OK +ALL OK diff --git a/review/logs/sanitizers-first-run-halted-by-whitenoise.log b/review/logs/sanitizers-first-run-halted-by-whitenoise.log new file mode 100644 index 0000000..e21764c --- /dev/null +++ b/review/logs/sanitizers-first-run-halted-by-whitenoise.log @@ -0,0 +1,12 @@ +=== ui_test (asan, whitenoise suppressed) +exit 134 +presetReachesHiddenControls OK +1 +=== render_test (asan, whitenoise suppressed) +$SB/build/asan/render_test > $SB/build/render_test-asan.log 2>&1 0.01s user 0.01s system 19% cpu 0.091 total +exit 134 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Noise/whitenoise.h:34:19 +1 +0 + +[exited with code 1] diff --git a/review/logs/ui_test-after-fixes.log b/review/logs/ui_test-after-fixes.log new file mode 100644 index 0000000..f947ebe --- /dev/null +++ b/review/logs/ui_test-after-fixes.log @@ -0,0 +1,116 @@ +tapKeepsOrder OK +tapDropsWhenFull OK +tapInactiveIgnores OK +tapSanitises OK +tapFlush OK +tapMonoSum OK +bandEnds OK +sineLightsItsBand 48 kHz OK +sineLightsItsBand 96 kHz OK +calibration OK +silenceRests OK +aboveNyquistRests OK +zeroRateRests OK +lowBandsHaveNoHoles OK +ballistics OK +bandAmountRange OK +frequency with a MIDI note OK +frequency between notes OK +frequency from the knob OK +body snapped OK +body from the knob OK +echo time with WARP OK +echo time from the knob OK +echo shaping with PONG on OK +echo shaping with PONG off OK +interval from the knob OK +interval with a MIDI note OK +interval with no note OK +note names OK +plantRestsWithNoAudio OK +plantRespondsToSound OK +plantFallsWithSilence OK +plantFallsWhenHostStops OK + level swing with 2048-sample blocks: 0.00 dB +plantStillWithLongBlocks OK +plantRestsWithNoSampleRate OK +tabPersists OK +tabSurvivesBadState OK +tabSurvivesMissingState OK +stateRestoredOffThreadWithWindowOpen OK +windowSize OK +tabsShowTheirControls OK +noTapeControls OK +hiddenValuesFollow OK +presetReachesHiddenControls OK +noTagsWithoutMidi OK +midiTagsAndNote OK +midiDimsButDoesNotDisable OK +knobTakesPitchBack OK +lockOnByDefault OK +lockMeansNothingWithPolyOff OK +lockSnapsBody OK +freeBodyHasNoTag OK +lockStateRoundTrip OK +presetsSetLock OK +warpShowsRealTime OK + WARP with no audio: 0.9 reads 1.05 s, 0.2 reads 0.10 s +warpReadoutWithoutAudio OK + allocations in 100 blocks: 0 +audioPathDoesNotAllocate OK +defaultsOff OK +polyStateRoundTrip OK +newParametersKeepAudioUnitOrder OK +oldPresetsTurnPolyOff OK +presetCountAndOrder OK +threeNotesThreeVoices OK +singleNoteLeavesOthersClosed OK +fourthNoteSteals OK +releaseKeepsDroneWithoutGate OK +knobTakesAllVoicesBack OK + latched note, polyphony on: rms 0.0617 +polyOnWithLatchedNote OK +polyOnWithHeldKeys OK +polyOffAfterChord OK + chord at 44.1 kHz: rms 0.1106 +chordAt44100 OK +voiceNoteIncludesBend OK + released 55: its level -26.3 dB, 48's +3.4 dB +releasedNoteCloses OK + bend +2: voice 0 at 50 +60.8 dB, voice 1 at 57 +63.2 dB (55: +9.1), voice 2 at 66 +55.7 dB (64: -7.8) +bendMovesAllVoices OK + allocations in 100 polyphonic blocks: 0 +polyAudioPathDoesNotAllocate OK +feedbackHasATitle OK +stringsTabShowsItsControls OK +tabsFitTheWindow OK +pongTabSitsAfterEcho OK +otherTabsKeepTheirPlaces OK +echoTabShowsItsControls OK +pongTabShowsItsControls OK +pongControlsFit OK +shapingTagWithPongOff OK +shapingStaysEditableWithPongOff OK +shapingTagWithPongOn OK +pongTabPersists OK +intervalFromKnobWithoutMidi OK +intervalReadoutFollowsMidi OK +intervalWithoutANote OK +presetNotifiesHost OK +closingStopsTap OK +reopenDoesNotBurst OK +old state: fixture holds the plugin's OK +old state: instance modified first OK +old state: POLY returns to its default OK +old state: Coupling returns to its default OK +old state: Interval 2 returns to default OK +old state: Interval 3 returns to default OK +old state: LOCK returns to default OK +old state: Frequency loads OK +old state: Feedback loads OK +old state: Lowpass loads OK + bypass at 44100 Hz: declared 327, measured 327, peak 0.90 +bypassKeepsLatency OK + bypass at 48000 Hz: declared 0, measured 0, peak 0.90 +bypassPassesThrough OK +ALL OK diff --git a/review/logs/ui_test-asan-ubsan-after-fixes.log b/review/logs/ui_test-asan-ubsan-after-fixes.log new file mode 100644 index 0000000..7e71aeb --- /dev/null +++ b/review/logs/ui_test-asan-ubsan-after-fixes.log @@ -0,0 +1,117 @@ +JUCE v8.0.9 +tapKeepsOrder OK +tapDropsWhenFull OK +tapInactiveIgnores OK +tapSanitises OK +tapFlush OK +tapMonoSum OK +bandEnds OK +sineLightsItsBand 48 kHz OK +sineLightsItsBand 96 kHz OK +calibration OK +silenceRests OK +aboveNyquistRests OK +zeroRateRests OK +lowBandsHaveNoHoles OK +ballistics OK +bandAmountRange OK +frequency with a MIDI note OK +frequency between notes OK +frequency from the knob OK +body snapped OK +body from the knob OK +echo time with WARP OK +echo time from the knob OK +echo shaping with PONG on OK +echo shaping with PONG off OK +interval from the knob OK +interval with a MIDI note OK +interval with no note OK +note names OK +plantRestsWithNoAudio OK +plantRespondsToSound OK +plantFallsWithSilence OK +plantFallsWhenHostStops OK + level swing with 2048-sample blocks: 0.00 dB +plantStillWithLongBlocks OK +plantRestsWithNoSampleRate OK +tabPersists OK +tabSurvivesBadState OK +tabSurvivesMissingState OK +stateRestoredOffThreadWithWindowOpen OK +windowSize OK +tabsShowTheirControls OK +noTapeControls OK +hiddenValuesFollow OK +presetReachesHiddenControls OK +noTagsWithoutMidi OK +midiTagsAndNote OK +midiDimsButDoesNotDisable OK +knobTakesPitchBack OK +lockOnByDefault OK +lockMeansNothingWithPolyOff OK +lockSnapsBody OK +freeBodyHasNoTag OK +lockStateRoundTrip OK +presetsSetLock OK +warpShowsRealTime OK + WARP with no audio: 0.9 reads 1.05 s, 0.2 reads 0.10 s +warpReadoutWithoutAudio OK + allocations in 100 blocks: 0 +audioPathDoesNotAllocate OK +defaultsOff OK +polyStateRoundTrip OK +newParametersKeepAudioUnitOrder OK +oldPresetsTurnPolyOff OK +presetCountAndOrder OK +threeNotesThreeVoices OK +singleNoteLeavesOthersClosed OK +fourthNoteSteals OK +releaseKeepsDroneWithoutGate OK +knobTakesAllVoicesBack OK + latched note, polyphony on: rms 0.0617 +polyOnWithLatchedNote OK +polyOnWithHeldKeys OK +polyOffAfterChord OK + chord at 44.1 kHz: rms 0.1106 +chordAt44100 OK +voiceNoteIncludesBend OK + released 55: its level -26.3 dB, 48's +3.4 dB +releasedNoteCloses OK + bend +2: voice 0 at 50 +60.8 dB, voice 1 at 57 +63.2 dB (55: +9.1), voice 2 at 66 +55.7 dB (64: -7.8) +bendMovesAllVoices OK + allocations in 100 polyphonic blocks: 0 +polyAudioPathDoesNotAllocate OK +feedbackHasATitle OK +stringsTabShowsItsControls OK +tabsFitTheWindow OK +pongTabSitsAfterEcho OK +otherTabsKeepTheirPlaces OK +echoTabShowsItsControls OK +pongTabShowsItsControls OK +pongControlsFit OK +shapingTagWithPongOff OK +shapingStaysEditableWithPongOff OK +shapingTagWithPongOn OK +pongTabPersists OK +intervalFromKnobWithoutMidi OK +intervalReadoutFollowsMidi OK +intervalWithoutANote OK +presetNotifiesHost OK +closingStopsTap OK +reopenDoesNotBurst OK +old state: fixture holds the plugin's OK +old state: instance modified first OK +old state: POLY returns to its default OK +old state: Coupling returns to its default OK +old state: Interval 2 returns to default OK +old state: Interval 3 returns to default OK +old state: LOCK returns to default OK +old state: Frequency loads OK +old state: Feedback loads OK +old state: Lowpass loads OK + bypass at 44100 Hz: declared 327, measured 327, peak 0.90 +bypassKeepsLatency OK + bypass at 48000 Hz: declared 0, measured 0, peak 0.90 +bypassPassesThrough OK +ALL OK diff --git a/review/logs/ui_test-asan-ubsan.log b/review/logs/ui_test-asan-ubsan.log new file mode 100644 index 0000000..bc83c3c --- /dev/null +++ b/review/logs/ui_test-asan-ubsan.log @@ -0,0 +1,113 @@ +JUCE v8.0.9 +tapKeepsOrder OK +tapDropsWhenFull OK +tapInactiveIgnores OK +tapSanitises OK +tapFlush OK +tapMonoSum OK +bandEnds OK +sineLightsItsBand 48 kHz OK +sineLightsItsBand 96 kHz OK +calibration OK +silenceRests OK +aboveNyquistRests OK +zeroRateRests OK +lowBandsHaveNoHoles OK +ballistics OK +bandAmountRange OK +frequency with a MIDI note OK +frequency between notes OK +frequency from the knob OK +body snapped OK +body from the knob OK +echo time with WARP OK +echo time from the knob OK +echo shaping with PONG on OK +echo shaping with PONG off OK +interval from the knob OK +interval with a MIDI note OK +interval with no note OK +note names OK +plantRestsWithNoAudio OK +plantRespondsToSound OK +plantFallsWithSilence OK +plantFallsWhenHostStops OK + level swing with 2048-sample blocks: 0.00 dB +plantStillWithLongBlocks OK +plantRestsWithNoSampleRate OK +tabPersists OK +tabSurvivesBadState OK +tabSurvivesMissingState OK +stateRestoredOffThreadWithWindowOpen OK +windowSize OK +tabsShowTheirControls OK +noTapeControls OK +hiddenValuesFollow OK +presetReachesHiddenControls OK +noTagsWithoutMidi OK +midiTagsAndNote OK +midiDimsButDoesNotDisable OK +knobTakesPitchBack OK +lockOnByDefault OK +lockMeansNothingWithPolyOff OK +lockSnapsBody OK +freeBodyHasNoTag OK +lockStateRoundTrip OK +presetsSetLock OK +warpShowsRealTime OK + WARP with no audio: 0.9 reads 1.05 s, 0.2 reads 0.10 s +warpReadoutWithoutAudio OK + allocations in 100 blocks: 0 +audioPathDoesNotAllocate OK +defaultsOff OK +polyStateRoundTrip OK +newParametersKeepAudioUnitOrder OK +oldPresetsTurnPolyOff OK +presetCountAndOrder OK +threeNotesThreeVoices OK +singleNoteLeavesOthersClosed OK +fourthNoteSteals OK +releaseKeepsDroneWithoutGate OK +knobTakesAllVoicesBack OK + latched note, polyphony on: rms 0.0615 +polyOnWithLatchedNote OK +polyOnWithHeldKeys OK +polyOffAfterChord OK + chord at 44.1 kHz: rms 0.1105 +chordAt44100 OK +voiceNoteIncludesBend OK + released 55: its level -27.8 dB, 48's +3.4 dB +releasedNoteCloses OK + bend +2: voice 0 at 50 +60.8 dB, voice 1 at 57 +63.2 dB (55: +9.1), voice 2 at 66 +55.9 dB (64: -8.1) +bendMovesAllVoices OK + allocations in 100 polyphonic blocks: 0 +polyAudioPathDoesNotAllocate OK +feedbackHasATitle OK +stringsTabShowsItsControls OK +tabsFitTheWindow OK +pongTabSitsAfterEcho OK +otherTabsKeepTheirPlaces OK +echoTabShowsItsControls OK +pongTabShowsItsControls OK +pongControlsFit OK +shapingTagWithPongOff OK +shapingStaysEditableWithPongOff OK +shapingTagWithPongOn OK +pongTabPersists OK +intervalFromKnobWithoutMidi OK +intervalReadoutFollowsMidi OK +intervalWithoutANote OK +presetNotifiesHost OK +closingStopsTap OK +reopenDoesNotBurst OK +old state: fixture holds the plugin's OK +old state: instance modified first OK +old state: POLY returns to its default OK +old state: Coupling returns to its default OK +old state: Interval 2 returns to default OK +old state: Interval 3 returns to default OK +old state: LOCK returns to default OK +old state: Frequency loads OK +old state: Feedback loads OK +old state: Lowpass loads OK +ALL OK diff --git a/src/dsp/DroseraCore.h b/src/dsp/DroseraCore.h index a565de3..7656010 100644 --- a/src/dsp/DroseraCore.h +++ b/src/dsp/DroseraCore.h @@ -44,6 +44,7 @@ class DroseraCore { for (auto& l : limiter_) l.Init(); phase_ = 0; first_ = true; + echo_jump_ = true; voices_running_ = false; tracking_.fill(false); } @@ -124,6 +125,7 @@ class DroseraCore { /// Clears the engine's state and keeps the current parameters. Safe on the audio thread. void Recover() { engine_->Init(kRate); + echo_jump_ = true; tracking_.fill(false); for (auto& l : limiter_) l.Init(); } @@ -136,12 +138,12 @@ class DroseraCore { int RecoveryCount() const { return recovery_count_; } private: - using Registry = ParameterRegistry; + using Registry = ParameterRegistry; - // Their own registries: registry_ iterates an unordered_map, so more entries could reorder its handlers. - enum VoiceParam : int { Voice1Pitch, Voice2Pitch, Voice1Gain, Voice2Gain, Coupling, Voice0Receive, Voice1Receive, Voice2Receive }; + // Their own registries, so registry_ keeps the handler order the reference renders were made with. + enum VoiceParam : int { Voice1Pitch, Voice2Pitch, Voice1Gain, Voice2Gain, Coupling, Voice0Receive, Voice1Receive, Voice2Receive, NumVoiceParams }; - enum EchoParam : int { Drive, Tone, Width, Level }; + enum EchoParam : int { Drive, Tone, Width, Level, NumEchoParams }; void pushControls() { const bool imm = first_; // jump to initial values instead of gliding from defaults @@ -219,8 +221,9 @@ class DroseraCore { std::bind(&Engine::SetReverbFeedback, &e, _1)); registry_.Register(EchoSend, 0.0f, 0.0f, 1.0f, std::bind(&Engine::SetEchoDelaySendAmount, &e, _1), 0.05f, daisysp::Mapping::EXP); + // Engine::Init leaves the echo at 5 s: jump there on the first tick, or the first repeats come late and warped. registry_.Register(EchoTime, 0.5f, kEchoMin, kEchoMax, - std::bind(&Engine::SetEchoDelayTime, &e, _1), 0.1f, daisysp::Mapping::EXP); + [this, &e](float s) { e.SetEchoDelayTime(s, echo_jump_); echo_jump_ = false; }, 0.1f, daisysp::Mapping::EXP); registry_.Register(EchoFeedback, 0.0f, 0.0f, 1.5f, std::bind(&Engine::SetEchoDelayFeedback, &e, _1)); registry_.Register(OutputVolume, 0.5f, 0.0f, 1.0f, @@ -343,8 +346,8 @@ class DroseraCore { float body_s_ = 0.001f, lpf_hz_ = 18000.0f, hpf_hz_ = 250.0f; std::array tracking_ {}; Registry registry_; - ParameterRegistry voice_registry_; - ParameterRegistry echo_registry_; + ParameterRegistry voice_registry_; + ParameterRegistry echo_registry_; daisysp::Limiter limiter_[2]; std::array norm_ {}; bool echo_warp_ = false; @@ -359,7 +362,7 @@ class DroseraCore { float coupling_norm_ = 0.0f; std::array interval_ { 0, 7, 12 }; int recovery_count_ = 0; - bool first_ = true; + bool first_ = true, echo_jump_ = true; size_t phase_ = 0; std::atomic published_note_[kNumVoices] { { 40.0f }, { 40.0f }, { 40.0f } }; std::atomic published_body_s_[kNumVoices] { { 0.001f }, { 0.001f }, { 0.001f } }; diff --git a/src/dsp/FeedbackSynthEngine.cpp b/src/dsp/FeedbackSynthEngine.cpp index c5b0a7c..af01e02 100644 --- a/src/dsp/FeedbackSynthEngine.cpp +++ b/src/dsp/FeedbackSynthEngine.cpp @@ -64,8 +64,8 @@ void Engine::SetFeedbackHPFCutoff(const float cutoff_hz) { for (auto &voice : voices_) voice.SetFeedbackHPFCutoff(cutoff_hz); } -void Engine::SetEchoDelayTime(const float echo_time) { - stereo_echo_->SetDelayTime(echo_time); +void Engine::SetEchoDelayTime(const float echo_time, const bool immediately) { + stereo_echo_->SetDelayTime(echo_time, immediately); } void Engine::SetEchoDelayFeedback(const float echo_fb) { diff --git a/src/dsp/FeedbackSynthEngine.h b/src/dsp/FeedbackSynthEngine.h index 06ef6fb..2f2dbac 100644 --- a/src/dsp/FeedbackSynthEngine.h +++ b/src/dsp/FeedbackSynthEngine.h @@ -31,7 +31,8 @@ class Engine { void SetFeedbackLPFCutoff(const float cutoff_hz); void SetFeedbackHPFCutoff(const float cutoff_hz); - void SetEchoDelayTime(const float echo_time); + // Immediate skips the echo's own 0.5 s lag, which otherwise glides from Init's 5 s + void SetEchoDelayTime(const float echo_time, const bool immediately = false); void SetEchoDelayFeedback(const float echo_fb); void SetEchoDelaySendAmount(const float echo_send); diff --git a/src/dsp/ParameterRegistry.h b/src/dsp/ParameterRegistry.h index 120200f..ad3b7b8 100644 --- a/src/dsp/ParameterRegistry.h +++ b/src/dsp/ParameterRegistry.h @@ -2,8 +2,9 @@ #ifndef INFS_CONTROLS_H #define INFS_CONTROLS_H +#include #include -#include +#include #include #include "SmoothedValue.h" #include "DSPUtils.h" @@ -12,68 +13,61 @@ namespace infrasonic { /** * @brief - * Generic control parameter registry with built in update smoothing + * Control parameter registry with built in update smoothing. Fixed storage: no allocation after Register. * - * @tparam ParamId Template parameter specifying the parameter ID type + * Process applies the handlers from the highest id down to the lowest. That is the order the firmware's + * unordered_map happened to give, and the reference renders depend on it: a handler may read what another + * wrote in the same tick (see DroseraCore::applyPitchAndBody). + * + * @tparam ParamId Enum whose values are 0 .. NumParams - 1 */ -template +template class ParameterRegistry { public: using Handler = std::function; - ParameterRegistry() {}; - ~ParameterRegistry() {}; - void Init(const float control_rate) { control_rate_ = control_rate; } + // Registering an id again leaves the first registration, smoothing state included. void Register(const ParamId id, const float initial_value, const float min, const float max, Handler handler, const float smooth_time = 0.05f, const daisysp::Mapping mapping = daisysp::Mapping::LINEAR) { - const float coef = onepole_coef_t60(smooth_time, control_rate_); - ParamState state(initial_value, min, max, coef, mapping, handler); - param_states_.insert({id, state}); + auto &state = param_states_[(size_t) id]; + if (state) return; + state.emplace(initial_value, min, max, onepole_coef_t60(smooth_time, control_rate_), mapping, std::move(handler)); } // Called in response to new control input. Updates target, does not apply value. void Update(const ParamId id, const float value, const bool immediate = false) { - auto it = param_states_.find(id); - if (it != param_states_.end()) { - auto &state = it->second; - auto clampedValue = daisysp::fclamp(value, state.min, state.max); - state.value.set(clampedValue, immediate); + if (auto &state = param_states_[(size_t) id]) { + state->value.set(daisysp::fclamp(value, state->min, state->max), immediate); } } void UpdateNormalized(const ParamId id, const float normValue, const bool immediate = false) { - auto it = param_states_.find(id); - if (it != param_states_.end()) { - auto &state = it->second; - auto mappedValue = daisysp::fmap(daisysp::fclamp(normValue, 0.0f, 1.0f), state.min, state.max, state.mapping); - state.value.set(mappedValue, immediate); + if (auto &state = param_states_[(size_t) id]) { + state->value.set(daisysp::fmap(daisysp::fclamp(normValue, 0.0f, 1.0f), state->min, state->max, state->mapping), immediate); } } // Updates param values with smoothing and applies using handler. void Process() { - for (auto ¶m : param_states_) { - auto &state = param.second; - state.handler(state.value.get()); + for (size_t i = NumParams; i-- > 0;) { + if (auto &state = param_states_[i]) state->handler(state->value.get()); } } private: - static constexpr float kParamSmoothingThresh = 0.001f; - struct ParamState { SmoothedValue value; @@ -82,24 +76,19 @@ class ParameterRegistry { const daisysp::Mapping mapping; const Handler handler; - ParamState() = delete; - ParamState(const float initial, const float min, const float max, - const float coef, const daisysp::Mapping mapping, const Handler handler) + ParamState(const float initial, const float min_, const float max_, + const float coef, const daisysp::Mapping mapping_, Handler handler_) : value(initial, coef) - , min(min) - , max(max) - , mapping(mapping) - , handler(handler) + , min(min_) + , max(max_) + , mapping(mapping_) + , handler(std::move(handler_)) { } }; - // TODO: redo this to use libDaisy Parameter objects and - // avoid using STL container - using ParamStates = std::unordered_map; - - float control_rate_; - ParamStates param_states_; + float control_rate_ = 0.0f; + std::array, NumParams> param_states_; }; } diff --git a/src/plugin/PluginProcessor.cpp b/src/plugin/PluginProcessor.cpp index f8a92a7..3ee7c2e 100644 --- a/src/plugin/PluginProcessor.cpp +++ b/src/plugin/PluginProcessor.cpp @@ -138,6 +138,7 @@ class DroseraProcessor final : public juce::AudioProcessor, public EditorBridge } void prepareToPlay(double sampleRate, int) override { + if (sampleRate <= 0.0) sampleRate = DroseraCore::kRate; // some hosts prepare with a placeholder rate core->Init(); // allocates; only ever called off the audio thread ratio = (double) DroseraCore::kRate / sampleRate; // engine samples consumed per host output sample inRatio = sampleRate / (double) DroseraCore::kRate; // host samples consumed per engine input sample @@ -168,11 +169,33 @@ class DroseraProcessor final : public juce::AudioProcessor, public EditorBridge const auto latency = (double) SincResampler::kLatencyInputSamples + ((double) kPrime + SincResampler::kLatencyInputSamples) / ratio; setLatencySamples(useResampler && getTotalNumInputChannels() > 0 ? juce::roundToInt(latency) : 0); + for (auto& ring : bypassRing) ring.assign((size_t) std::max(1, getLatencySamples()), 0.0f); + bypassPos = 0; prepared = true; } void releaseResources() override { prepared = false; } + // Bypass must delay the input by the declared latency, or the host's compensation shifts the bypassed audio. + void processBlockBypassed(juce::AudioBuffer& buffer, juce::MidiBuffer&) override { + const int total = buffer.getNumSamples(), latency = prepared ? getLatencySamples() : 0; + const int numIn = prepared ? getTotalNumInputChannels() : 0; + for (int c = 0; c < buffer.getNumChannels(); ++c) { + float* d = buffer.getWritePointer(c); + if (c >= numIn) { juce::FloatVectorOperations::clear(d, total); continue; } + if (latency == 0 || c >= 2) continue; + float* ring = bypassRing[(size_t) c].data(); + int p = bypassPos; + for (int i = 0; i < total; ++i) { + const float in = d[i]; + d[i] = ring[p]; + ring[p] = in; + if (++p == latency) p = 0; + } + } + if (latency > 0) bypassPos = (bypassPos + total) % latency; + } + void processBlock(juce::AudioBuffer& buffer, juce::MidiBuffer& midi) override { juce::ScopedNoDenormals noDenormals; const int total = buffer.getNumSamples(); @@ -468,6 +491,8 @@ class DroseraProcessor final : public juce::AudioProcessor, public EditorBridge SincResampler resampleL, resampleR, resampleIn; std::vector outL, outR, inFifo, in48, inMono; size_t outCount = 0, inCount = 0; + std::vector bypassRing[2]; // the input, delayed by the declared latency while bypassed + int bypassPos = 0; JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(DroseraProcessor) }; diff --git a/tests/render_test.cpp b/tests/render_test.cpp index 4c9ba1d..cdfaf3b 100644 --- a/tests/render_test.cpp +++ b/tests/render_test.cpp @@ -313,6 +313,24 @@ static bool recoversFromNan() { return pass; } +// The echo's own delay line starts at 5 s (Engine::Init). The first repeat must still come at the knob's time. +static bool echoStartsAtKnobTime() { + // freq gain body lpf hpf rvMix rvDec eSend eTime eFb vol + const float p[] = {0.43f, 0.00f, 0.30f, 0.90f, 0.20f, 0.00f, 0.50f, 1.00f, 0.20f, 0.00f, 0.70f}; + const float expect = DroseraCore::EchoTimeSeconds(p[DroseraCore::EchoTime], false); + const size_t N = 48000 * 2; + std::vector in(N, 0.0f), L(N), R(N); + in[0] = 0.5f; + DroseraCore core; makeCore(core, p); + for (size_t pos = 0; pos < N; pos += 64) core.Render(&in[pos], &L[pos], &R[pos], 64); + size_t at = 4800; // past the string's own ring + for (size_t i = 4800; i < N; ++i) if (std::fabs(L[i]) > std::fabs(L[at])) at = i; + const double seconds = (double) at / 48000.0; + const bool pass = std::fabs(seconds - expect) < 0.01; + printf("echo first repeat at %.3f s, knob %.3f s: %s\n", seconds, expect, pass ? "OK" : "FAIL"); + return pass; +} + static bool filtersClearOnInit() { infrasonic::LPF12 lpf; lpf.Init(48000.0f); @@ -1919,6 +1937,7 @@ int main(int argc, char** argv) { ok &= presetTests(outDir); ok &= noAllocationOnRender(); ok &= recoversFromNan(); + ok &= echoStartsAtKnobTime(); ok &= filtersClearOnInit(); ok &= publishedValues(); ok &= engineVoiceTests(); diff --git a/tests/ui_test.cpp b/tests/ui_test.cpp index aa9f2a4..2f5bee5 100644 --- a/tests/ui_test.cpp +++ b/tests/ui_test.cpp @@ -847,6 +847,29 @@ static void stateTests() { check(std::abs(param("lpf")->getValue() - 0.37f) < 0.001f, "old state: Lowpass loads"); } +// Bypassed, the input must come out delayed by the declared latency, and untouched when there is none. +static void bypassTests() { + for (double sr : {44100.0, 48000.0}) { + std::unique_ptr p(createPluginFilter()); + p->enableAllBuses(); + p->prepareToPlay(sr, 512); + const int declared = p->getLatencySamples(); + juce::AudioBuffer buffer(2, 512); + juce::MidiBuffer none; + long peakAt = -1; float peak = 0.0f; + for (int b = 0; b < 4; ++b) { + buffer.clear(); + if (b == 1) buffer.setSample(0, 100, 0.9f); + p->processBlockBypassed(buffer, none); + for (int i = 0; i < 512; ++i) + if (std::abs(buffer.getSample(0, i)) > peak) { peak = std::abs(buffer.getSample(0, i)); peakAt = b * 512 + i; } + } + const long measured = peakAt - (512 + 100); + std::printf(" bypass at %.0f Hz: declared %d, measured %ld, peak %.2f\n", sr, declared, measured, peak); + check(peak > 0.89f && measured == declared && (sr != 48000.0 || declared == 0), sr == 44100.0 ? "bypassKeepsLatency" : "bypassPassesThrough"); + } +} + int main() { juce::ScopedJuceInitialiser_GUI init; tapTests(); @@ -855,6 +878,7 @@ int main() { plantTests(); editorTests(); stateTests(); + bypassTests(); std::printf(failures == 0 ? "ALL OK\n" : "SOME FAILED\n"); return failures == 0 ? 0 : 1; } diff --git a/third_party/DaisySP/PATCHES.txt b/third_party/DaisySP/PATCHES.txt index 23f327a..109f109 100644 --- a/third_party/DaisySP/PATCHES.txt +++ b/third_party/DaisySP/PATCHES.txt @@ -1 +1,3 @@ -Vendored DaisySP commit 7f67768 (MIT). Only change: headers got #include /. +Vendored DaisySP commit 7f67768 (MIT). Changes: +- Headers got #include /. +- Noise/whitenoise.h: the LCG multiplies as uint32_t, so it no longer overflows a signed int (undefined behaviour). Same output bits. diff --git a/third_party/DaisySP/Source/Noise/whitenoise.h b/third_party/DaisySP/Source/Noise/whitenoise.h index 1cfcdb7..f172008 100644 --- a/third_party/DaisySP/Source/Noise/whitenoise.h +++ b/third_party/DaisySP/Source/Noise/whitenoise.h @@ -31,7 +31,8 @@ class WhiteNoise */ inline float Process() { - randseed_ *= 16807; + // Unsigned: the signed product overflows (undefined behaviour), the unsigned one wraps to the same bits. + randseed_ = (int32_t) ((uint32_t) randseed_ * 16807u); return (randseed_ * coeff_) * amp_; } diff --git a/tools/hardware-comparison/reference/SHA256SUMS b/tools/hardware-comparison/reference/SHA256SUMS index 5de47af..a49fadd 100644 --- a/tools/hardware-comparison/reference/SHA256SUMS +++ b/tools/hardware-comparison/reference/SHA256SUMS @@ -2,9 +2,9 @@ 15889e0cc73498d1dfd160c47a0a60957cf6c60f778bc3ab4ee14a3825e49717 p02_low_dark.wav db4c6212396e32d22fb3db066e7e50d095be258cf92e6c8dcc695621c555313f p03_high_bright.wav 23f4eb9396fdf50dc3b7ec7934172f5bf7ae26f0745f1849db5f5440180c962c p04_reverb_wash.wav -eec58b696c53776d2ae85fae5ad4f440d6b6fc3116a0dcf57bdd40fd394c672f p05_echo_swell.wav -cdbb872cd47a77e2193c89363af9132b8ee81c348314d279ea94c891a82f0202 p06_echo_halved.wav +a4c2a63a2976e54d986194af93f8fbc81b3c265cf651eac3af6827cbec75e966 p05_echo_swell.wav +83df7687a6581d726fbb3c9acff51a059d9f255381ec2a64af1a21128d22822c p06_echo_halved.wav 142c5207b3f664ccb5cf5fd83faa6072d9fa3c07f1f4f3c4a6136bab77dd84a4 p07_long_body.wav 890175fe2850f783d2a40a4d581df12e7fdf13235e77f93633f882699d630f30 p08_max_feedback.wav d905d42d25c665e9cd57565bbb48f047c65a6dca8b34b86bc6d68dcd0356af1e p09_dark_filtered.wav -66bb1b52526a3e264d4c546f5d92be88b811509dbb0a36dc226d484776da7154 p10_everything_mid.wav +7fb72bf06b3015dabdb914ccce42114d146a68c8e790a4a9d63f94b7ae94cbe8 p10_everything_mid.wav From ec6e1503918c635d0d7020dbe7a80dd347e07b9b Mon Sep 17 00:00:00 2001 From: Stefano Veloccia Date: Tue, 3 Nov 2026 15:42:24 +0100 Subject: [PATCH 2/5] Add the Standalone recording analysis to the review 20 s of the Standalone's output, taken through BlackHole at 48 kHz, compared with the engine rendering the same restored state: levels, partials, echo period and stereo correlation match, with no clipping or dropouts. The scripts that render the state and compute the comparison sit with the other experiments. --- review/experiments/analyze.py | 37 +++++++++++++++++++ review/experiments/render_state.cpp | 17 +++++++++ review/logs/standalone-recording-analysis.txt | 16 ++++++++ 3 files changed, 70 insertions(+) create mode 100644 review/experiments/analyze.py create mode 100644 review/experiments/render_state.cpp create mode 100644 review/logs/standalone-recording-analysis.txt diff --git a/review/experiments/analyze.py b/review/experiments/analyze.py new file mode 100644 index 0000000..1c92eb8 --- /dev/null +++ b/review/experiments/analyze.py @@ -0,0 +1,37 @@ +import numpy as np, struct, sys +sr = 48000 +def load_wav_f32(p): + d = open(p, "rb").read()[44:] + return np.frombuffer(d, dtype=" 5 for g, _ in out): out.append((f[i], db(X[i]))) + if len(out) == n: break + return sorted(out, key=lambda t: -t[1]) +def centroid(x): + m = x.mean(axis=1); X = np.abs(np.fft.rfft(m)); f = np.fft.rfftfreq(len(m), 1/sr) + return (f*X).sum()/X.sum() +def echo(x, lo=0.3, hi=3.0): + e = np.abs(x.mean(axis=1)); e = e - e.mean() + E = np.fft.rfft(e, 2*len(e)); ac = np.fft.irfft(E*np.conj(E))[:len(e)]; ac /= ac[0] + a, b = int(lo*sr), int(hi*sr); k = a + np.argmax(ac[a:b]); return k/sr, ac[k] +def report(name, x): + L, R = x[:,0], x[:,1] + print(f"--- {name}: {len(x)/sr:.1f} s") + print(f" rms L/R {db(np.sqrt((L**2).mean())):6.1f} / {db(np.sqrt((R**2).mean())):6.1f} dBFS peak {np.abs(x).max():.3f} DC {L.mean():+.4f}/{R.mean():+.4f}") + print(f" clipped samples (|x|>=0.999): {(np.abs(x)>=0.999).sum()} zero runs >= 5 ms: {int(np.sum(np.convolve((np.abs(L)<1e-6).astype(int), np.ones(240), 'valid')==240)>0)}") + print(f" L/R correlation {np.corrcoef(L, R)[0,1]:+.3f} spectral centroid {centroid(x):.0f} Hz") + t, c = echo(x); print(f" envelope autocorrelation peak at {t:.3f} s (strength {c:.2f}); knob Echo Time = 0.254 s (state), PONG on") + print(" strongest partials:", " ".join(f"{f:.1f} Hz ({d:.1f} dB)" for f, d in partials(x))) + rms_t = [db(np.sqrt((seg(x, s, s+1)**2).mean())) for s in range(0, int(len(x)/sr))] + print(" rms per second:", " ".join(f"{v:.0f}" for v in rms_t)) +report("STANDALONE (BlackHole)", rec) +report("OFFLINE render_cli, Default", off) diff --git a/review/experiments/render_state.cpp b/review/experiments/render_state.cpp new file mode 100644 index 0000000..c367463 --- /dev/null +++ b/review/experiments/render_state.cpp @@ -0,0 +1,17 @@ +// Renders the state the Standalone restored (decoded from Drosera.settings) with the engine, 25 s at 48 kHz. +#include +#include +#include "DroseraCore.h" +using infrasonic::DroseraCore; +int main(int argc, char** argv) { + DroseraCore c; c.Init(); + const float knobs[11] = {0.765f, 0.929f, 0.745f, 0.799f, 0.458f, 0.300f, 0.500f, 0.882f, 0.203f, 0.818f, 0.700f}; + for (int i = 0; i < 11; ++i) c.SetParam((DroseraCore::Param) i, knobs[i]); + c.SetEchoWarp(false); c.SetPolyphony(true); c.SetCoupling(0.597f); c.SetIntervals(0, -7); c.SetStringLock(true); + c.SetEchoPong(true); c.SetEchoDrive(1.0f); c.SetEchoTone(0.640f); c.SetEchoWidth(0.865f); c.SetEchoLevel(0.833f); + const size_t n = 48000 * 25; std::vector L(n), R(n); + for (size_t p = 0; p < n; p += 512) c.Render(nullptr, &L[p], &R[p], 512); + FILE* f = fopen(argv[1], "wb"); char hdr[44] = {}; fwrite(hdr, 1, 44, f); + for (size_t i = 0; i < n; ++i) { fwrite(&L[i], 4, 1, f); fwrite(&R[i], 4, 1, f); } + fclose(f); std::printf("rendered %zu samples, recoveries %d\n", n, c.RecoveryCount()); +} diff --git a/review/logs/standalone-recording-analysis.txt b/review/logs/standalone-recording-analysis.txt new file mode 100644 index 0000000..1976b53 --- /dev/null +++ b/review/logs/standalone-recording-analysis.txt @@ -0,0 +1,16 @@ +Standalone output recorded through BlackHole 2ch at 48 kHz, 20 s, compared with the engine rendering the same restored state. + +--- STANDALONE (BlackHole): 20.0 s + rms L/R -15.6 / -14.6 dBFS peak 0.585 DC -0.0001/-0.0000 + clipped samples (|x|>=0.999): 0 zero runs >= 5 ms: 0 + L/R correlation +0.027 spectral centroid 3481 Hz + envelope autocorrelation peak at 0.304 s (strength 0.23); knob Echo Time = 0.254 s (state), PONG on + strongest partials: 1223.7 Hz (-22.2 dB) 244.6 Hz (-27.6 dB) 1211.8 Hz (-31.4 dB) 1168.4 Hz (-31.6 dB) 162.4 Hz (-32.0 dB) 1148.8 Hz (-35.2 dB) 1188.2 Hz (-35.7 dB) 1140.7 Hz (-35.7 dB) + rms per second: -16 -16 -16 -16 -15 -15 -15 -16 -13 -16 -15 -16 -15 -13 -15 -15 -14 -16 -15 -16 +--- OFFLINE render_cli, Default: 25.0 s + rms L/R -15.5 / -14.5 dBFS peak 0.610 DC -0.0000/-0.0000 + clipped samples (|x|>=0.999): 0 zero runs >= 5 ms: 0 + L/R correlation +0.050 spectral centroid 3308 Hz + envelope autocorrelation peak at 0.304 s (strength 0.34); knob Echo Time = 0.254 s (state), PONG on + strongest partials: 244.6 Hz (-18.4 dB) 1224.4 Hz (-31.8 dB) 1141.8 Hz (-32.0 dB) 162.8 Hz (-32.1 dB) 1251.9 Hz (-38.6 dB) 736.6 Hz (-38.6 dB) 1212.5 Hz (-39.2 dB) 1149.7 Hz (-39.6 dB) + rms per second: -17 -11 -15 -16 -16 -16 -16 -15 -16 -16 -15 -15 -15 -16 -13 -15 -16 -16 -16 -14 -15 -15 -14 -16 -16 From 0237f4988ca3729559f950b65500329b447ce83d Mon Sep 17 00:00:00 2001 From: Stefano Veloccia Date: Tue, 3 Nov 2026 15:50:19 +0100 Subject: [PATCH 3/5] Add sound-design measurements to the review Automatic measurements on the engine and on the hosted VST3: preset levels and birth times, the MIDI pitch map with and without reverb, repeatability of a loaded state, mono compatibility, ten-minute runs at the extremes, extreme settings and input, and the same presets at 44.1, 48 and 96 kHz. The two findings worth acting on: five presets settle on a different partial depending on when the host delivers the state, and the reverb in the loop detunes MIDI notes below 48 by up to 46 cents at 35 % mix. The measurement programs sit with the other experiments. --- review/2026-11-03-code-review.md | 10 + .../2026-11-03-sound-design-measurements.md | 175 ++++++++++++++ review/experiments/CMakeLists-sr_probe.txt | 6 + review/experiments/sd_measure.cpp | 215 ++++++++++++++++++ review/experiments/sr_probe.cpp | 44 ++++ 5 files changed, 450 insertions(+) create mode 100644 review/2026-11-03-sound-design-measurements.md create mode 100644 review/experiments/CMakeLists-sr_probe.txt create mode 100644 review/experiments/sd_measure.cpp create mode 100644 review/experiments/sr_probe.cpp diff --git a/review/2026-11-03-code-review.md b/review/2026-11-03-code-review.md index 0200abc..0527369 100644 --- a/review/2026-11-03-code-review.md +++ b/review/2026-11-03-code-review.md @@ -499,6 +499,16 @@ Restano aperti gli opzionali 8–14 del piano e la nota sullo scarto residuo del --- +## 14. Misure per il sound design + +Le misure automatiche su livelli dei preset, tessitura MIDI, ripetibilità del caricamento, compatibilità mono, +durata, combinazioni estreme e sample rate sono in `review/2026-11-03-sound-design-measurements.md`. I due +punti da portare nel piano: lo stesso progetto può assestarsi su una parziale diversa a seconda di quando +l'host consegna lo stato (rimedio: salto immediato dei parametri al ripristino), e il riverbero nell'anello +stona le note MIDI sotto il 48 fino a ±46 cent al 35 % di Mix. + +--- + ## Valutazione complessiva e roadmap Il progetto è solido: il thread audio è pulito, il DSP è corretto e misurato (intonazione MIDI entro diff --git a/review/2026-11-03-sound-design-measurements.md b/review/2026-11-03-sound-design-measurements.md new file mode 100644 index 0000000..92b3bd6 --- /dev/null +++ b/review/2026-11-03-sound-design-measurements.md @@ -0,0 +1,175 @@ +# Drosera – Misure per il sound design + +Data: 2026-11-03, sul commit `ec6e150` (fix della revisione inclusi). Motore a 48 kHz tramite `DroseraCore` +(`review/experiments/sd_measure.cpp`), VST3 caricato in un host JUCE per il confronto fra sample rate +(`review/experiments/sr_probe.cpp`). Tutto automatico: nessun ascolto. Le letture qui sotto dicono dove vale +la pena ascoltare. + +## Cosa dicono le misure + +1. **I preset non sono allineati di livello.** Da −9,2 dBFS (Cathedral Bloom) a −22,5 dBFS (Quiet Room): 13 dB di + escursione cambiando preset. Glass Wind e Cathedral Bloom sono i più caldi e hanno la cresta più bassa + (il limiter lavora). Glass Wind oscilla di 11,5 dB fra finestre di 2 s e ci mette 3,6 s a nascere: è il + preset più instabile. Razor Feedback e Chord Keys sono istantanei e fermi (spread 0,3–0,4 dB). + +2. **Tessitura sotto MIDI.** A secco tutte le note da 18 a 84 sono entro ±17 cent a ogni Body, con una sola + eccezione (nota 80, Body 0,7: −36 cent). La nota 16 suona sempre 11 semitoni sopra (+1104 cent): va + esclusa dal range MIDI o documentata come oggi. Nessuna nota muta in queste impostazioni (Lowpass 0,8, + Highpass 0,2). **Con Reverb Mix al 35 %** l'intonazione si rompe sotto la nota 48: +46 a 18, −25 a 24, + −27 a 36, −25 a 43, e un +105 a 52 con Body 0,9. Sopra 48 resta entro ±20. Il riverbero nell'anello + stona i bassi: è il limite più serio per un uso melodico, e suggerisce un avviso nel manuale ("sotto + il Do 3 tenere il riverbero basso") o la compensazione di fase del riverbero. + +3. **Lo stesso progetto non suona sempre uguale.** Un host applica lo stato *dopo* `prepareToPlay`, così i + parametri scivolano dai default al preset con lo smoothing (fino a 1 s per Body). Simulando l'arrivo + dello stato dopo 0, 1, 10 o 100 blocchi: 9 preset su 14 si assestano sulla stessa parziale, ma Doppler + Void (704 o 198 Hz), Dark Tide (195, 124 o 315 Hz, con 4 dB di differenza di livello), Echo Drift + (1142 o 832 Hz), Ember Pong (832 o 766 Hz) e Sub Cellar (668 o 721 Hz) cambiano "nota" a seconda del + momento. Per chi salva un brano è un problema reale. Rimedio piccolo: al ripristino dello stato far + saltare i parametri al valore (come fa `first_` dopo `Init`) invece di farli scivolare; i preset + caricati dalla finestra possono continuare a scivolare. + +4. **Mono.** Tutti i preset perdono fra 0,5 e 4,4 dB sommati a mono. I due canali sono quasi indipendenti + (correlazione ~0: Echo Drift, Razor, Sympathetic, Ember Pong, Keys), per via dello sfasamento di 4 + campioni fra i delay di sinistra e destra: −3 dB è la somma di due segnali scorrelati. Chord Keys ha + correlazione negativa (−0,27) e perde 4,4 dB: in mono si svuota. Glass Wind, Cathedral Bloom e Open + Fifths sono invece quasi mono (correlazione 0,6–0,8). Da decidere se è la larghezza voluta; un controllo + di Width sulle voci, come quello del PONG, lo renderebbe scelta e non caso. + +5. **Durata.** Nessuna deriva di livello, nessun DC, nessun recupero in 30 minuti complessivi ai valori + estremi. Un comportamento da conoscere: con Reverb Decay a 1,0 il centroide scende da 1130 a 160 Hz in + dieci minuti (già a 300 Hz dopo due): il drone affonda in un rombo grave e non torna. È il riverbero + infinito che accumula il basso che il DC blocker lascia passare. Udibile e forse voluto, ma vale un + ascolto lungo. + +6. **Combinazioni estreme.** Highpass sopra Lowpass dà silenzio assoluto (−171 dBFS): la finestra non lo + segnala. Le altre combinazioni restano limitate (picco ≤ 0,58) e suonano, compreso il runaway del PONG. + Il Resonator con una sinusoide in ingresso si aggancia all'ingresso (220 Hz), e con raffiche + intermittenti risuona sulla nota (110 Hz) fra una raffica e l'altra. + +7. **Sample rate.** Nel VST3 a 44,1, 48 e 96 kHz livelli identici al decimo di dB e stesse parziali in 7 preset + su 9; le due eccezioni (Echo Drift a 96 kHz, Chord Keys a 48 kHz) hanno RMS identico e cadono su parziali + vicine di livello (per Chord Keys sono il Mi e il Sol dell'accordo): la finestra d'analisi è a numero fisso + di campioni, a 96 kHz dura la metà. Letto come artefatto di misura, non verificato all'ascolto. + +## Cosa resta all'orecchio + +Ascolto dei 16 preset con queste tabelle davanti; fraseggio MIDI (glide fisso di 200 ms, velocity ignorata, +nessun sustain); movimento delle manopole; sorgenti reali nel Resonator; giudizio sull'aliasing del PONG a +Drive e Tone massimi. + +## Tabelle + +### A. Preset: livello, dinamica e tempo di nascita (20 s da Init) + +| Preset | RMS 5-20 s | Picco | Cresta | -3 dB dopo | Spread 2 s | Dominante | Centroide | +|---|---|---|---|---|---|---|---| +| Default | -18.3 dBFS | 0.33 | 8.8 dB | 0.95 s | 3.8 dB | 500 Hz | 3398 Hz | +| Sub Cellar | -17.5 dBFS | 0.47 | 11.1 dB | 0.85 s | 3.5 dB | 668 Hz | 1051 Hz | +| Glass Wind | -11.7 dBFS | 0.62 | 7.6 dB | 3.60 s | 11.5 dB | 294 Hz | 2066 Hz | +| Cathedral Bloom | -9.2 dBFS | 0.76 | 6.8 dB | 3.20 s | 4.3 dB | 175 Hz | 1154 Hz | +| Echo Drift | -19.8 dBFS | 0.26 | 8.1 dB | 0.45 s | 7.6 dB | 1142 Hz | 2433 Hz | +| Doppler Void | -19.3 dBFS | 0.36 | 10.4 dB | 0.60 s | 2.6 dB | 704 Hz | 1730 Hz | +| Dark Tide | -13.1 dBFS | 0.68 | 9.7 dB | 1.35 s | 5.1 dB | 195 Hz | 397 Hz | +| Razor Feedback | -16.8 dBFS | 0.26 | 5.1 dB | 0.05 s | 0.3 dB | 512 Hz | 7329 Hz | +| Quiet Room | -22.5 dBFS | 0.27 | 11.1 dB | 2.05 s | 3.8 dB | 543 Hz | 1117 Hz | +| Keys (play notes) | -18.3 dBFS | 0.33 | 8.8 dB | 0.40 s | 2.5 dB | 133 Hz | 765 Hz | +| Resonator (needs input) | (richiede ingresso: vedi F) | | | | | | | +| Init (silent) | (richiede ingresso: vedi F) | | | | | | | +| Open Fifths | -14.9 dBFS | 0.48 | 8.5 dB | 0.65 s | 2.9 dB | 151 Hz | 1075 Hz | +| Sympathetic | -17.5 dBFS | 0.52 | 11.8 dB | 0.75 s | 1.5 dB | 597 Hz | 1980 Hz | +| Chord Keys | -19.2 dBFS | 0.28 | 8.3 dB | 0.15 s | 0.4 dB | 165 Hz | 1253 Hz | +| Ember Pong | -21.3 dBFS | 0.23 | 8.4 dB | 0.35 s | 1.4 dB | 832 Hz | 3492 Hz | + +### B. Mappa della tessitura sotto MIDI Pitch (scarto in cent della parziale dominante; `mute` = sotto -40 dBFS; `*` = oltre 25 cent) + +#### Reverb Mix 0.00 + +| Body \ nota | 16 | 18 | 20 | 24 | 28 | 31 | 36 | 40 | 43 | 48 | 52 | 55 | 60 | 64 | 67 | 72 | 76 | 79 | 80 | 84 | +|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---| +| 0.1 | +1104* | +1 | +1 | +1 | +0 | +1 | +0 | +1 | -3 | +2 | +2 | +2 | +5 | +7 | +0 | +0 | +0 | +16 | +17 | +0 | +| 0.3 | +1104* | +1 | +1 | +1 | +0 | +1 | +0 | +1 | -3 | +2 | +2 | +2 | -0 | +0 | +6 | +0 | +0 | +0 | +0 | +0 | +| 0.5 | +1104* | +1 | +1 | +1 | +0 | +1 | +0 | +1 | +0 | +2 | +2 | +2 | +3 | -0 | +4 | +0 | +4 | +0 | +0 | +0 | +| 0.7 | +1104* | +1 | +1 | +1 | +0 | +1 | +0 | +1 | +1 | +3 | +1 | +1 | +1 | -0 | +1 | +3 | +3 | +0 | -36* | +0 | +| 0.9 | +1104* | +1 | +1 | +1 | -0 | +1 | +0 | +1 | +1 | +1 | +2 | +2 | +1 | +1 | +1 | +1 | +1 | +2 | +0 | +0 | + +#### Reverb Mix 0.35 + +| Body \ nota | 16 | 18 | 20 | 24 | 28 | 31 | 36 | 40 | 43 | 48 | 52 | 55 | 60 | 64 | 67 | 72 | 76 | 79 | 80 | 84 | +|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---| +| 0.1 | +1125* | +46* | -15 | -25* | +0 | +15 | -27* | -7 | -25* | +20 | +13 | +8 | -1 | -9 | +10 | +3 | +9 | -1 | -1 | +19 | +| 0.3 | +1125* | +46* | -15 | -25* | +0 | +15 | -27* | -7 | -25* | +20 | +13 | +8 | -8 | -15 | +10 | +4 | +7 | +2 | +11 | +10 | +| 0.5 | +1125* | +46* | -15 | -25* | +0 | +15 | -27* | -7 | -9 | +19 | +11 | +7 | +14 | +2 | +9 | -0 | +5 | +1 | +8 | -1 | +| 0.7 | +1125* | +46* | -15 | -25* | +0 | +15 | -24 | -5 | -8 | +10 | +9 | +7 | +6 | -1 | +7 | +3 | +4 | +3 | +0 | +32* | +| 0.9 | +1125* | +46* | -15 | -28* | -5 | +10 | +18 | -5 | -7 | +5 | +105* | +3 | -1 | -0 | +6 | -0 | +32* | +2 | -0 | +21 | + +### C. Ripetibilita: lo stesso preset raggiunto subito da Init, o dopo 1 / 10 / 100 blocchi ai valori di default (come un host che carica lo stato dopo prepareToPlay) + +| Preset | Dominante subito | dopo 1 blocco | dopo 10 | dopo 100 | RMS subito / 1 / 10 / 100 | +|---|---|---|---|---|---| +| Default | 500 Hz | 500 Hz | 500 Hz | 501 Hz | -19 / -19 / -19 / -19 | +| Sub Cellar | 668 Hz | 668 Hz | 668 Hz | 721 Hz | -17 / -17 / -17 / -17 | +| Glass Wind | 294 Hz | 294 Hz | 294 Hz | 296 Hz | -12 / -12 / -12 / -12 | +| Cathedral Bloom | 175 Hz | 175 Hz | 175 Hz | 176 Hz | -10 / -10 / -9 / -10 | +| Echo Drift | 1142 Hz | 832 Hz | 1142 Hz | 832 Hz | -20 / -21 / -21 / -18 | +| Doppler Void | 704 Hz | 198 Hz | 703 Hz | 198 Hz | -20 / -18 / -20 / -18 | +| Dark Tide | 195 Hz | 124 Hz | 124 Hz | 315 Hz | -14 / -16 / -17 / -18 | +| Razor Feedback | 512 Hz | 512 Hz | 512 Hz | 512 Hz | -17 / -17 / -17 / -17 | +| Quiet Room | 543 Hz | 543 Hz | 543 Hz | 544 Hz | -23 / -23 / -23 / -22 | +| Keys (play notes) | 133 Hz | 133 Hz | 133 Hz | 133 Hz | -18 / -18 / -18 / -18 | +| Open Fifths | 151 Hz | 151 Hz | 151 Hz | 151 Hz | -15 / -15 / -15 / -15 | +| Sympathetic | 597 Hz | 597 Hz | 597 Hz | 597 Hz | -18 / -17 / -17 / -18 | +| Chord Keys | 165 Hz | 165 Hz | 165 Hz | 165 Hz | -19 / -19 / -19 / -19 | +| Ember Pong | 832 Hz | 766 Hz | 766 Hz | 766 Hz | -21 / -20 / -20 / -20 | + +### D. Compatibilita mono (5-20 s): somma mono contro media dei canali, energia del lato, correlazione L/R + +| Preset | Mono - stereo | Side - Mid | Corr. L/R | +|---|---|---|---| +| Default | -1.9 dB | -2.6 dB | +0.29 | +| Sub Cellar | -2.7 dB | -0.6 dB | +0.07 | +| Glass Wind | -0.6 dB | -8.4 dB | +0.75 | +| Cathedral Bloom | -0.5 dB | -9.6 dB | +0.80 | +| Echo Drift | -3.2 dB | +0.4 dB | -0.04 | +| Doppler Void | -2.3 dB | -1.6 dB | +0.18 | +| Dark Tide | -2.0 dB | -2.3 dB | +0.26 | +| Razor Feedback | -3.2 dB | +0.4 dB | -0.04 | +| Quiet Room | -2.6 dB | -0.9 dB | +0.10 | +| Keys (play notes) | -3.5 dB | +0.9 dB | -0.11 | +| Open Fifths | -0.9 dB | -6.3 dB | +0.62 | +| Sympathetic | -3.1 dB | +0.1 dB | -0.01 | +| Chord Keys | -4.4 dB | +2.4 dB | -0.27 | +| Ember Pong | -3.1 dB | +0.2 dB | -0.03 | + +### F. Combinazioni estreme e ingresso (20 s) + +| Caso | RMS 5-20 s | Picco | Dominante | Centroide | Note | +|---|---|---|---|---|---| +| Highpass 4 kHz sopra Lowpass 100 Hz | -171.0 dBFS | 0.00 | 2319 Hz | 3467 Hz | i filtri si escludono | +| Sympathetic, LOCK off, Coupling 100 % | -16.2 dBFS | 0.58 | 597 Hz | 1888 Hz | voci libere accoppiate | +| Ember Pong, Echo Feedback 150 %, Drive max, Tone 3.2 kHz | -18.1 dBFS | 0.29 | 832 Hz | 6777 Hz | runaway saturato | +| Default, Feedback +12 dB, Body minimo | -20.3 dBFS | 0.27 | 1076 Hz | 6036 Hz | anello corto al massimo | +| Resonator, sinusoide 220 Hz in ingresso, nota MIDI 57 | -16.9 dBFS | 0.40 | 220 Hz | 642 Hz | ingresso continuo | +| Resonator, 110 Hz a raffiche di 0.5 s, nota 45 | -25.5 dBFS | 0.19 | 110 Hz | 254 Hz | ingresso intermittente | + +### E. Dieci minuti ai valori estremi: livello e centroide per minuto + +| Caso | RMS per minuto (dBFS) | Centroide per minuto (Hz) | Picco | DC | Recuperi | +|---|---|---|---|---|---| +| Reverb Decay 1.0, Feedback max | -11 -9 -9 -9 -10 -10 -11 -11 -11 -11 | 1130 300 226 199 177 167 165 159 157 159 | 0.74 | -0.00013 | 0 | +| Echo feedback 150 %, PONG drive max | -16 -16 -17 -16 -16 -17 -17 -16 -17 -17 | 2452 2721 2555 2526 2557 2563 2490 2578 2526 2775 | 0.45 | +0.00000 | 0 | +| Poly, Coupling max, Feedback max | -19 -19 -20 -19 -19 -19 -20 -19 -20 -19 | 4862 4999 4882 5237 5057 5259 5222 5005 4832 5114 | 0.41 | -0.00000 | 0 | + +### G. VST3 ai tre sample rate (15 s, RMS 5-15 s, spettro da 8 s) + +| Preset | 44.1 kHz: RMS / dominante / centroide | 48 kHz | 96 kHz | +|---|---|---|---| +| Default | -20.6 dBFS / 500 Hz / 3176 Hz | -20.6 dBFS / 501 Hz / 3156 Hz | -20.6 dBFS / 501 Hz / 2889 Hz | +| Sub Cellar | -19.4 dBFS / 721 Hz / 998 Hz | -19.4 dBFS / 721 Hz / 994 Hz | -19.4 dBFS / 721 Hz / 1011 Hz | +| Glass Wind | -12.4 dBFS / 294 Hz / 2081 Hz | -12.4 dBFS / 294 Hz / 1885 Hz | -12.4 dBFS / 292 Hz / 1521 Hz | +| Echo Drift | -23.2 dBFS / 832 Hz / 2354 Hz | -23.2 dBFS / 832 Hz / 2349 Hz | -23.2 dBFS / 1142 Hz / 2243 Hz | +| Razor Feedback | -20.0 dBFS / 511 Hz / 7083 Hz | -20.0 dBFS / 512 Hz / 7195 Hz | -20.0 dBFS / 511 Hz / 7061 Hz | +| Open Fifths | -15.4 dBFS / 151 Hz / 987 Hz | -15.4 dBFS / 151 Hz / 976 Hz | -15.4 dBFS / 151 Hz / 860 Hz | +| Sympathetic | -20.6 dBFS / 592 Hz / 2036 Hz | -20.6 dBFS / 592 Hz / 2035 Hz | -20.6 dBFS / 593 Hz / 2058 Hz | +| Ember Pong | -24.5 dBFS / 1981 Hz / 3575 Hz | -24.5 dBFS / 1981 Hz / 3566 Hz | -24.5 dBFS / 1981 Hz / 3452 Hz | +| Chord Keys (C E G) | -23.8 dBFS / 197 Hz / 1241 Hz | -23.5 dBFS / 165 Hz / 1235 Hz | -23.8 dBFS / 197 Hz / 1217 Hz | diff --git a/review/experiments/CMakeLists-sr_probe.txt b/review/experiments/CMakeLists-sr_probe.txt new file mode 100644 index 0000000..8c5dc48 --- /dev/null +++ b/review/experiments/CMakeLists-sr_probe.txt @@ -0,0 +1,6 @@ + juce_add_console_app(sr_probe PRODUCT_NAME "sr_probe") + target_sources(sr_probe PRIVATE tests/sr_probe.cpp) + target_include_directories(sr_probe PRIVATE tests) + target_compile_definitions(sr_probe PRIVATE JUCE_PLUGINHOST_VST3=1 JUCE_WEB_BROWSER=0 JUCE_USE_CURL=0) + target_link_libraries(sr_probe PRIVATE juce::juce_audio_processors juce::juce_recommended_config_flags) +endif() diff --git a/review/experiments/sd_measure.cpp b/review/experiments/sd_measure.cpp new file mode 100644 index 0000000..13ec29a --- /dev/null +++ b/review/experiments/sd_measure.cpp @@ -0,0 +1,215 @@ +// Sound-design measurements on the engine (host independent, 48 kHz). Prints Markdown tables. +// A) every preset: RMS, peak, crest, time to reach -3 dB of its steady level, loudness spread over 2 s windows +// B) pitch map under MIDI: cents error of the dominant partial per note and Body, silent notes, and with reverb +// C) repeatability: the same preset reached from Init at once or after gliding from the defaults +// D) mono compatibility: mono sum against the stereo average, and L/R correlation +// E) long runs: 10 minutes at the extremes, level and centroid per minute +// F) extreme combinations +#include +#include +#include +#include +#include +#include +#include "DroseraCore.h" +#include "Presets.h" +#include "pitch_estimator.h" + +using infrasonic::DroseraCore; +using infrasonic::Preset; +static constexpr double kSr = 48000.0; + +struct Stereo { std::vector L, R; }; + +static void apply(DroseraCore& c, const Preset& p) { + for (int i = 0; i < DroseraCore::NumParams; ++i) c.SetParam((DroseraCore::Param) i, p.knob[i]); + c.SetEchoWarp(p.echoHalve); c.SetPolyphony(p.poly); c.SetCoupling(p.coupling); + c.SetIntervals(p.interval2, p.interval3); c.SetStringLock(p.stringLock); + c.SetEchoPong(p.echoPong); c.SetEchoDrive(p.echoDrive); c.SetEchoTone(p.echoTone); + c.SetEchoWidth(p.echoWidth); c.SetEchoLevel(p.echoLevel); +} +// MIDI presets need a note; the resonator needs an input. +static void play(DroseraCore& c, const Preset& p) { + if (!p.midiPitch && !p.midiGate) return; + c.SetMidiPitch(true, 48.0f); + if (p.poly) { c.SetVoiceNote(1, 52.0f); c.SetVoiceNote(2, 55.0f); for (size_t v = 0; v < 3; ++v) c.SetVoiceGate(v, true, true); } + else c.SetGate(p.midiGate, true); +} +static Stereo render(DroseraCore& c, double seconds, const float* in = nullptr) { + const size_t n = (size_t) (seconds * kSr); + Stereo s; s.L.assign(n, 0.0f); s.R.assign(n, 0.0f); + for (size_t p = 0; p < n; p += 256) c.Render(in ? in + p : nullptr, &s.L[p], &s.R[p], std::min(256, n - p)); + return s; +} +static double rmsDb(const std::vector& v, size_t a, size_t b) { + double s = 0; for (size_t i = a; i < b; ++i) s += (double) v[i] * v[i]; + return 20.0 * std::log10(std::sqrt(s / (double) (b - a)) + 1e-12); +} +static double rmsDb(const Stereo& s, double a, double b) { + return 10.0 * std::log10(0.5 * (std::pow(10.0, rmsDb(s.L, (size_t) (a * kSr), (size_t) (b * kSr)) / 10.0) + std::pow(10.0, rmsDb(s.R, (size_t) (a * kSr), (size_t) (b * kSr)) / 10.0))); +} +static double peakOf(const Stereo& s, double a, double b) { + double p = 0; for (size_t i = (size_t) (a * kSr); i < (size_t) (b * kSr); ++i) p = std::max({p, (double) std::fabs(s.L[i]), (double) std::fabs(s.R[i])}); + return p; +} +static std::vector mono(const Stereo& s) { std::vector m(s.L.size()); for (size_t i = 0; i < m.size(); ++i) m[i] = 0.5f * (s.L[i] + s.R[i]); return m; } +static std::vector side(const Stereo& s) { std::vector m(s.L.size()); for (size_t i = 0; i < m.size(); ++i) m[i] = 0.5f * (s.L[i] - s.R[i]); return m; } + +// Spectrum of 2^17 samples from `start`: dominant partial and centroid +struct Spec { double dominantHz, centroidHz; std::vector> top; }; +static Spec spectrum(const std::vector& x, size_t start) { + const size_t N = 1 << 17; + std::vector> a(N); + for (size_t i = 0; i < N; ++i) a[i] = (double) x[start + i] * (0.5 - 0.5 * std::cos(2.0 * M_PI * (double) i / (double) N)); + fft(a); + const double bin = kSr / (double) N; + double num = 0, den = 0; std::vector> peaks; + for (size_t k = 1; k < N / 2; ++k) { + const double m = std::abs(a[k]); num += m * k * bin; den += m; + if (k > 2 && m > std::abs(a[k - 1]) && m >= std::abs(a[k + 1]) && k * bin > 15.0) peaks.push_back({k * bin, m}); + } + std::sort(peaks.begin(), peaks.end(), [](auto& p, auto& q) { return p.second > q.second; }); + Spec s; s.centroidHz = den > 0 ? num / den : 0; s.dominantHz = peaks.empty() ? 0 : peaks[0].first; + for (size_t i = 0; i < std::min(3, peaks.size()); ++i) s.top.push_back({peaks[i].first, 20 * std::log10(peaks[i].second / (peaks[0].second + 1e-30))}); + return s; +} + +static void loudnessTable() { + std::printf("\n## A. Preset: livello, dinamica e tempo di nascita (20 s da Init)\n\n"); + std::printf("| Preset | RMS 5-20 s | Picco | Cresta | -3 dB dopo | Spread 2 s | Dominante | Centroide |\n|---|---|---|---|---|---|---|---|\n"); + for (const auto& p : infrasonic::kFactoryPresets) { + if (p.needsInput) { std::printf("| %s | (richiede ingresso: vedi F) | | | | | | |\n", p.name); continue; } + DroseraCore c; c.Init(); apply(c, p); play(c, p); + const Stereo s = render(c, 20.0); + const double steady = rmsDb(s, 5.0, 20.0), peak = peakOf(s, 5.0, 20.0); + double born = -1; for (double t = 0.0; t < 20.0; t += 0.05) if (rmsDb(s, t, t + 0.1) >= steady - 3.0) { born = t; break; } + double lo = 1e9, hi = -1e9; for (double t = 5.0; t + 2.0 <= 20.0; t += 1.0) { const double r = rmsDb(s, t, t + 2.0); lo = std::min(lo, r); hi = std::max(hi, r); } + const Spec sp = spectrum(mono(s), (size_t) (10.0 * kSr)); + std::printf("| %s | %.1f dBFS | %.2f | %.1f dB | %.2f s | %.1f dB | %.0f Hz | %.0f Hz |\n", p.name, steady, peak, 20 * std::log10(peak + 1e-12) - steady, born, hi - lo, sp.dominantHz, sp.centroidHz); + } +} + +static void pitchMap() { + std::printf("\n## B. Mappa della tessitura sotto MIDI Pitch (scarto in cent della parziale dominante; `mute` = sotto -40 dBFS; `*` = oltre 25 cent)\n"); + const float base[] = {0.43f, 0.75f, 0.30f, 0.80f, 0.20f, 0.00f, 0.50f, 0.00f, 0.50f, 0.00f, 0.70f}; // Keys preset, dry + const float bodies[] = {0.1f, 0.3f, 0.5f, 0.7f, 0.9f}; + const int notes[] = {16, 18, 20, 24, 28, 31, 36, 40, 43, 48, 52, 55, 60, 64, 67, 72, 76, 79, 80, 84}; + for (float revmix : {0.0f, 0.35f}) { + std::printf("\n### Reverb Mix %.2f\n\n| Body \\ nota |", revmix); + for (int n : notes) std::printf(" %d |", n); + std::printf("\n|---|"); for (size_t i = 0; i < sizeof(notes) / sizeof(notes[0]); ++i) std::printf("---|"); std::printf("\n"); + for (float body : bodies) { + std::printf("| %.1f |", body); + for (int n : notes) { + DroseraCore c; c.Init(); + for (int i = 0; i < DroseraCore::NumParams; ++i) c.SetParam((DroseraCore::Param) i, base[i]); + c.SetParam(DroseraCore::FeedbackBody, body); c.SetParam(DroseraCore::ReverbMix, revmix); + c.SetMidiPitch(true, (float) n); c.SetGate(true, true); + const Stereo s = render(c, 5.0); + const double level = rmsDb(s, 2.0, 5.0); + if (level < -40.0) { std::printf(" mute |"); continue; } + const double hz = dominantHz(mono(s), (size_t) (2.0 * kSr), kSr); + const double cents = 1200.0 * std::log2(hz / (440.0 * std::pow(2.0, (n - 69) / 12.0))); + std::printf(" %+.0f%s |", cents, std::fabs(cents) > 25 ? "*" : ""); + } + std::printf("\n"); + } + } +} + +static void repeatability() { + std::printf("\n## C. Ripetibilita: lo stesso preset raggiunto subito da Init, o dopo 1 / 10 / 100 blocchi ai valori di default (come un host che carica lo stato dopo prepareToPlay)\n\n"); + std::printf("| Preset | Dominante subito | dopo 1 blocco | dopo 10 | dopo 100 | RMS subito / 1 / 10 / 100 |\n|---|---|---|---|---|---|\n"); + for (const auto& p : infrasonic::kFactoryPresets) { + if (p.needsInput) continue; + std::printf("| %s |", p.name); + std::string rms; + for (int delayBlocks : {0, 1, 10, 100}) { + DroseraCore c; c.Init(); apply(c, infrasonic::kFactoryPresets[0]); // the defaults first + float l[256], r[256]; + for (int b = 0; b < delayBlocks; ++b) c.Render(nullptr, l, r, 256); + apply(c, p); play(c, p); + const Stereo s = render(c, 15.0); + const Spec sp = spectrum(mono(s), (size_t) (10.0 * kSr)); + std::printf(" %.0f Hz |", sp.dominantHz); + rms += (rms.empty() ? "" : " / ") + std::to_string((int) std::lround(rmsDb(s, 5.0, 15.0))); + } + std::printf(" %s |\n", rms.c_str()); + } +} + +static void monoCompat() { + std::printf("\n## D. Compatibilita mono (5-20 s): somma mono contro media dei canali, energia del lato, correlazione L/R\n\n"); + std::printf("| Preset | Mono - stereo | Side - Mid | Corr. L/R |\n|---|---|---|---|\n"); + for (const auto& p : infrasonic::kFactoryPresets) { + if (p.needsInput) continue; + DroseraCore c; c.Init(); apply(c, p); play(c, p); + const Stereo s = render(c, 20.0); + const auto m = mono(s), sd = side(s); + const size_t a = (size_t) (5.0 * kSr), b = s.L.size(); + const double mid = rmsDb(m, a, b), sideDb = rmsDb(sd, a, b), stereo = rmsDb(s, 5.0, 20.0); + double num = 0, dl = 0, dr = 0; for (size_t i = a; i < b; ++i) { num += (double) s.L[i] * s.R[i]; dl += (double) s.L[i] * s.L[i]; dr += (double) s.R[i] * s.R[i]; } + std::printf("| %s | %+.1f dB | %+.1f dB | %+.2f |\n", p.name, mid - stereo, sideDb - mid, num / std::sqrt(dl * dr + 1e-30)); + } +} + +static void longRuns() { + std::printf("\n## E. Dieci minuti ai valori estremi: livello e centroide per minuto\n\n"); + struct Case { const char* name; float knobs[11]; bool poly; float coupling; bool pong; float drive; }; + const Case cases[] = { + {"Reverb Decay 1.0, Feedback max", {0.43f, 1.0f, 0.3f, 0.9f, 0.2f, 0.5f, 1.0f, 0.2f, 0.5f, 0.4f, 0.7f}, false, 0, false, 0}, + {"Echo feedback 150 %, PONG drive max", {0.43f, 0.75f, 0.3f, 0.9f, 0.2f, 0.3f, 0.5f, 1.0f, 0.5f, 1.0f, 0.7f}, false, 0, true, 1}, + {"Poly, Coupling max, Feedback max", {0.43f, 1.0f, 0.3f, 0.9f, 0.2f, 0.3f, 0.5f, 0.2f, 0.5f, 0.4f, 0.7f}, true, 1, false, 0}, + }; + std::printf("| Caso | RMS per minuto (dBFS) | Centroide per minuto (Hz) | Picco | DC | Recuperi |\n|---|---|---|---|---|---|\n"); + for (const auto& k : cases) { + DroseraCore c; c.Init(); + for (int i = 0; i < 11; ++i) c.SetParam((DroseraCore::Param) i, k.knobs[i]); + c.SetPolyphony(k.poly); c.SetCoupling(k.coupling); c.SetEchoPong(k.pong); c.SetEchoDrive(k.drive); + std::string rms, cen; double peak = 0, dc = 0; size_t count = 0; + for (int minute = 0; minute < 10; ++minute) { + const Stereo s = render(c, 60.0); + rms += (minute ? " " : "") + std::to_string((int) std::lround(rmsDb(s, 0.0, 60.0))); + cen += (minute ? " " : "") + std::to_string((int) std::lround(spectrum(mono(s), (size_t) (30.0 * kSr)).centroidHz)); + peak = std::max(peak, peakOf(s, 0.0, 60.0)); + for (float v : s.L) { dc += v; ++count; } + } + std::printf("| %s | %s | %s | %.2f | %+.5f | %d |\n", k.name, rms.c_str(), cen.c_str(), peak, dc / (double) count, c.RecoveryCount()); + } +} + +static void extremes() { + std::printf("\n## F. Combinazioni estreme e ingresso (20 s)\n\n| Caso | RMS 5-20 s | Picco | Dominante | Centroide | Note |\n|---|---|---|---|---|---|\n"); + auto row = [](const char* name, DroseraCore& c, const float* in, const char* note) { + const Stereo s = render(c, 20.0, in); + const Spec sp = spectrum(mono(s), (size_t) (10.0 * kSr)); + std::printf("| %s | %.1f dBFS | %.2f | %.0f Hz | %.0f Hz | %s |\n", name, rmsDb(s, 5.0, 20.0), peakOf(s, 5.0, 20.0), sp.dominantHz, sp.centroidHz, note); + }; + { DroseraCore c; c.Init(); apply(c, infrasonic::kFactoryPresets[0]); c.SetParam(DroseraCore::FeedbackLPF, 0.0f); c.SetParam(DroseraCore::FeedbackHPF, 1.0f); + row("Highpass 4 kHz sopra Lowpass 100 Hz", c, nullptr, "i filtri si escludono"); } + { DroseraCore c; c.Init(); apply(c, infrasonic::kFactoryPresets[13]); c.SetStringLock(false); c.SetCoupling(1.0f); + row("Sympathetic, LOCK off, Coupling 100 %", c, nullptr, "voci libere accoppiate"); } + { DroseraCore c; c.Init(); apply(c, infrasonic::kFactoryPresets[15]); c.SetParam(DroseraCore::EchoFeedback, 1.0f); c.SetEchoDrive(1.0f); c.SetEchoTone(1.0f); + row("Ember Pong, Echo Feedback 150 %, Drive max, Tone 3.2 kHz", c, nullptr, "runaway saturato"); } + { DroseraCore c; c.Init(); apply(c, infrasonic::kFactoryPresets[0]); c.SetParam(DroseraCore::FeedbackGain, 1.0f); c.SetParam(DroseraCore::FeedbackBody, 0.0f); + row("Default, Feedback +12 dB, Body minimo", c, nullptr, "anello corto al massimo"); } + { // the resonator preset with a 220 Hz sine, then with pink-ish noise bursts + const size_t n = (size_t) (20.0 * kSr); std::vector sine(n), bursts(n); + for (size_t i = 0; i < n; ++i) { sine[i] = 0.3f * (float) std::sin(2.0 * M_PI * 220.0 * i / kSr); bursts[i] = ((i / 24000) % 2 == 0) ? 0.3f * (float) std::sin(2.0 * M_PI * 110.0 * i / kSr) : 0.0f; } + DroseraCore c; c.Init(); apply(c, infrasonic::kFactoryPresets[10]); c.SetMidiPitch(true, 57.0f); + row("Resonator, sinusoide 220 Hz in ingresso, nota MIDI 57", c, sine.data(), "ingresso continuo"); + DroseraCore d; d.Init(); apply(d, infrasonic::kFactoryPresets[10]); d.SetMidiPitch(true, 45.0f); + row("Resonator, 110 Hz a raffiche di 0.5 s, nota 45", d, bursts.data(), "ingresso intermittente"); + } +} + +int main(int argc, char** argv) { + const std::string which = argc > 1 ? argv[1] : "all"; + if (which == "all" || which == "A") loudnessTable(); + if (which == "all" || which == "B") pitchMap(); + if (which == "all" || which == "C") repeatability(); + if (which == "all" || which == "D") monoCompat(); + if (which == "all" || which == "F") extremes(); + if (which == "all" || which == "E") longRuns(); + return 0; +} diff --git a/review/experiments/sr_probe.cpp b/review/experiments/sr_probe.cpp new file mode 100644 index 0000000..943c8a4 --- /dev/null +++ b/review/experiments/sr_probe.cpp @@ -0,0 +1,44 @@ +// REVIEW EXPERIMENT: the same preset through the VST3 at 44.1, 48 and 96 kHz: level, dominant partial, centroid. +#include +#include +#include "pitch_estimator.h" + +static std::vector renderMono(juce::AudioPluginInstance& inst, double sr, int block, double seconds, juce::MidiBuffer* first) { + std::vector out; juce::AudioBuffer buf(2, block); juce::MidiBuffer none; + for (int b = 0; b < (int) (sr * seconds / block); ++b) { + buf.clear(); inst.processBlock(buf, first != nullptr && b == 0 ? *first : none); + for (int i = 0; i < block; ++i) out.push_back(0.5f * (buf.getSample(0, i) + buf.getSample(1, i))); + } + return out; +} +int main(int argc, char** argv) { + if (argc < 2) return 2; + juce::ScopedJuceInitialiser_GUI init; juce::VST3PluginFormat vst3; juce::OwnedArray descs; + vst3.findAllTypesForFile(descs, argv[1]); if (descs.isEmpty()) { std::printf("no plugin\n"); return 1; } + const struct { int program; const char* name; bool chord; } cases[] = { + {0, "Default", false}, {1, "Sub Cellar", false}, {2, "Glass Wind", false}, {4, "Echo Drift", false}, {7, "Razor Feedback", false}, + {12, "Open Fifths", false}, {13, "Sympathetic", false}, {15, "Ember Pong", false}, {14, "Chord Keys (C E G)", true}}; + std::printf("| Preset | 44.1 kHz: RMS / dominante / centroide | 48 kHz | 96 kHz |\n|---|---|---|---|\n"); + for (const auto& k : cases) { + std::printf("| %s |", k.name); + for (double sr : {44100.0, 48000.0, 96000.0}) { + juce::String err; auto inst = vst3.createInstanceFromDescription(*descs[0], sr, 512, err); + inst->setCurrentProgram(k.program); + inst->prepareToPlay(sr, 512); + juce::MidiBuffer chord; + if (k.chord) { chord.addEvent(juce::MidiMessage::noteOn(1, 48, (juce::uint8) 100), 0); chord.addEvent(juce::MidiMessage::noteOn(1, 52, (juce::uint8) 100), 0); chord.addEvent(juce::MidiMessage::noteOn(1, 55, (juce::uint8) 100), 0); } + auto x = renderMono(*inst, sr, 512, 15.0, k.chord ? &chord : nullptr); + const size_t a = (size_t) (5.0 * sr); double s = 0; for (size_t i = a; i < x.size(); ++i) s += (double) x[i] * x[i]; + const double rms = 20 * std::log10(std::sqrt(s / (double) (x.size() - a)) + 1e-12); + // centroid and dominant over 2^17 samples from 8 s + const size_t N = 1 << 17, start = (size_t) (8.0 * sr); std::vector> f(N); + for (size_t i = 0; i < N; ++i) f[i] = (double) x[start + i] * (0.5 - 0.5 * std::cos(2.0 * M_PI * (double) i / (double) N)); + fft(f); const double bin = sr / (double) N; double num = 0, den = 0, mx = 0, dom = 0; + for (size_t q = 1; q < N / 2; ++q) { const double m = std::abs(f[q]); num += m * q * bin; den += m; if (q * bin > 15 && q * bin < 20000 && m > mx) { mx = m; dom = q * bin; } } + std::printf(" %.1f dBFS / %.0f Hz / %.0f Hz |", rms, dom, den > 0 ? num / den : 0); + inst->releaseResources(); + } + std::printf("\n"); + } + return 0; +} From bac7cf62e5aba2ed45d8310c38619a6a012c8f23 Mon Sep 17 00:00:00 2001 From: Stefano Veloccia Date: Tue, 3 Nov 2026 15:54:17 +0100 Subject: [PATCH 4/5] Load a restored project without gliding, and document how reverb detunes low notes A host hands the plugin its state after prepareToPlay, so the parameters glided from the defaults to the project's values. The drone is chaotic: the path taken decided which resonance it settled on, and five presets landed on a different partial, up to an octave away, depending on when the state arrived. The next block after setStateInformation now takes the parameters at once, as the first block after Init does; presets chosen in the window still glide. New ui_test checks that a restored state jumps while a knob move still glides. The manual's MIDI tab and known limits give the measured detuning: dry, notes 18 to 84 stay within 17 cents; at 35 % Reverb Mix, notes below 48 read up to 46 cents off. --- CHANGELOG.md | 3 +++ docs/MANUAL.md | 7 ++++++- src/dsp/DroseraCore.h | 4 ++++ src/plugin/PluginProcessor.cpp | 3 +++ tests/ui_test.cpp | 20 ++++++++++++++++++++ 5 files changed, 36 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e3a05a1..d0e40ae 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -27,6 +27,9 @@ The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). Ver fixed order, the one the reference renders were made with. - The Audio Unit is built and validated with `auval` and `pluginval` in CI. - JUCE is fetched by commit, not by tag. +- A restored project takes its parameters at once instead of gliding from the defaults, so it settles on the + same drone every time it loads. Presets chosen in the window still glide. +- The manual says how far Reverb Mix detunes low MIDI notes, from measurement. ## [0.1.1] - 2026-11-01 diff --git a/docs/MANUAL.md b/docs/MANUAL.md index 486036e..38de4f0 100644 --- a/docs/MANUAL.md +++ b/docs/MANUAL.md @@ -103,6 +103,9 @@ accepted. While a note is in control: - Body is snapped to a whole number of the note's periods, so the Body knob selects a multiple. - A band-pass on the note keeps the loop on the fundamental. +Keep Reverb Mix low while playing notes below C3 (note 48): the reverb sits in the loop and pulls low notes out +of tune, up to about half a semitone at 35 % (see the known limits). + Moving Frequency returns control to the knob once no key is held. A knob moved while a key is down does not take pitch back after release: move it again. @@ -169,7 +172,9 @@ others turns POLY off. "Ember Pong" uses PONG and sustains itself, and choosing the free drone finds another resonance instead. - With MIDI Pitch or LOCK on and Body at about 0.7 or more, a few chord notes sit up to about 60 cents off, at any Coupling, on a neighbouring Body resonance. -- Reverb Mix detunes MIDI notes, because the reverb sits in the loop and its phase is not compensated. With POLY on, +- Reverb Mix detunes MIDI notes, because the reverb sits in the loop and its phase is not compensated. Measured + dry, notes 18 to 84 stay within 17 cents at every Body; at 35 % Mix, notes below 48 read up to 46 cents off + (and one case of +105 cents at Body 0.9), while notes from 48 up stay within about 20 cents. With POLY on, chords can go sour: with "Chord Keys" otherwise as it is, at Reverb Mix 35 % a C major chord read +20, -28 and -8 cents. - The values of "Open Fifths", "Sympathetic", "Chord Keys" and "Ember Pong", and the defaults of Echo Drive, Echo Tone and Echo Level, were chosen by measurement and have not been judged by ear. diff --git a/src/dsp/DroseraCore.h b/src/dsp/DroseraCore.h index 7656010..8278fa2 100644 --- a/src/dsp/DroseraCore.h +++ b/src/dsp/DroseraCore.h @@ -122,6 +122,10 @@ class DroseraCore { } } + /// The next Render takes the parameters as they are, with no glide, as the first one after Init does. For a + /// restored project: gliding from the defaults can land the drone on another resonance each time it loads. + void JumpToTargets() { first_ = true; echo_jump_ = true; } + /// Clears the engine's state and keeps the current parameters. Safe on the audio thread. void Recover() { engine_->Init(kRate); diff --git a/src/plugin/PluginProcessor.cpp b/src/plugin/PluginProcessor.cpp index 3ee7c2e..d46ec9a 100644 --- a/src/plugin/PluginProcessor.cpp +++ b/src/plugin/PluginProcessor.cpp @@ -238,6 +238,7 @@ class DroseraProcessor final : public juce::AudioProcessor, public EditorBridge uiTab.store(xml->getIntAttribute(kTabProperty, 0)); // an atomic: hosts may call this off the message thread apvts.replaceState(juce::ValueTree::fromXml(*xml)); currentProgram = juce::jlimit(0, getNumPrograms() - 1, (int) apvts.state.getProperty("program", 0)); + stateJump.store(true); // a project must load onto the same drone every time: no glide from the defaults } } @@ -273,6 +274,7 @@ class DroseraProcessor final : public juce::AudioProcessor, public EditorBridge allocator.Assign(held, heldCount); if (heldCount == 0 && haveNote) { allocator.NoteOn(lastNote); allocator.NoteOff(lastNote); } // a latched drone keeps sounding } + if (stateJump.exchange(false)) core->JumpToTargets(); for (int i = 0; i < DroseraCore::NumParams; ++i) core->SetParam((DroseraCore::Param) i, raw[i]->load()); core->SetEchoWarp(halveRaw->load() > 0.5f); @@ -479,6 +481,7 @@ class DroseraProcessor final : public juce::AudioProcessor, public EditorBridge std::atomic midiPitchActive_ { false }; // read by the editor std::atomic polyMidiActive_ { false }; std::atomic polyLocked_ { false }; + std::atomic stateJump { false }; // set by setStateInformation, taken by the next block std::atomic voiceNotes_[VoiceAllocator::kVoices] { -1.0f, -1.0f, -1.0f }; drosera::SpectrumTap tap; diff --git a/tests/ui_test.cpp b/tests/ui_test.cpp index 2f5bee5..470c3a2 100644 --- a/tests/ui_test.cpp +++ b/tests/ui_test.cpp @@ -870,6 +870,25 @@ static void bypassTests() { } } +// A restored state must not glide from the defaults: the drone would settle differently on every load. +static void stateJumpTests() { + std::unique_ptr source(createPluginFilter()); + setParameter(*source, "freq", 0.9f); + juce::MemoryBlock state; source->getStateInformation(state); + const float target = 16.0f + 0.9f * 56.0f; // the knob's note + + std::unique_ptr glided(createPluginFilter()), jumped(createPluginFilter()); + for (auto* p : {glided.get(), jumped.get()}) { p->prepareToPlay(48000.0, 512); render(*p, 0.1); } + setParameter(*glided, "freq", 0.9f); // a knob move glides (0.2 s) + jumped->setStateInformation(state.getData(), (int) state.getSize()); // a loaded project jumps + render(*glided, 512.0 / 48000.0); render(*jumped, 512.0 / 48000.0); + const float noteGlided = dynamic_cast(glided.get())->soundingNote(); + const float noteJumped = dynamic_cast(jumped.get())->soundingNote(); + std::printf(" after one block: knob move %.1f, state restore %.1f, target %.1f\n", noteGlided, noteJumped, target); + check(std::abs(noteJumped - target) < 0.01f, "restoredStateJumps"); + check(noteGlided < target - 1.0f, "knobMoveStillGlides"); +} + int main() { juce::ScopedJuceInitialiser_GUI init; tapTests(); @@ -879,6 +898,7 @@ int main() { editorTests(); stateTests(); bypassTests(); + stateJumpTests(); std::printf(failures == 0 ? "ALL OK\n" : "SOME FAILED\n"); return failures == 0 ? 0 : 1; } From 0756bf3d643a860e3ff7911cb05533370e1a2511 Mon Sep 17 00:00:00 2001 From: Stefano Veloccia Date: Tue, 3 Nov 2026 15:59:07 +0100 Subject: [PATCH 5/5] Keep the review's build and test logs out of the repository The report and the measurements stay; the 600 KB of logs they cited were evidence for the review session, not something to carry in the history. --- review/2026-11-03-code-review.md | 8 +- review/logs/build-asan-build.log | 91 - review/logs/build-asan-configure.log | 20 - review/logs/build-build.log | 443 ---- review/logs/build-configure.log | 20 - review/logs/build-release.log | 475 ---- review/logs/clang-tidy.log | 144 -- review/logs/exp1_cpu.log | 7 - review/logs/exp2_edges.log | 13 - review/logs/exp3_order.log | 2 - ...probe-longrun-and-checksums-with-patch.log | 22 - review/logs/host_probe.log | 31 - review/logs/plugin_host_test-after-fixes.log | 2161 ----------------- review/logs/plugin_host_test.log | 2161 ----------------- review/logs/render_test-after-fixes.log | 474 ---- .../render_test-asan-ubsan-after-fixes.log | 474 ---- .../render_test-asan-ubsan-sandbox-prefix.log | 473 ---- review/logs/render_test.log | 473 ---- ...itizers-first-run-halted-by-whitenoise.log | 12 - review/logs/standalone-recording-analysis.txt | 16 - review/logs/ui_test-after-fixes.log | 116 - .../logs/ui_test-asan-ubsan-after-fixes.log | 117 - review/logs/ui_test-asan-ubsan.log | 113 - 23 files changed, 4 insertions(+), 7862 deletions(-) delete mode 100644 review/logs/build-asan-build.log delete mode 100644 review/logs/build-asan-configure.log delete mode 100644 review/logs/build-build.log delete mode 100644 review/logs/build-configure.log delete mode 100644 review/logs/build-release.log delete mode 100644 review/logs/clang-tidy.log delete mode 100644 review/logs/exp1_cpu.log delete mode 100644 review/logs/exp2_edges.log delete mode 100644 review/logs/exp3_order.log delete mode 100644 review/logs/host_probe-longrun-and-checksums-with-patch.log delete mode 100644 review/logs/host_probe.log delete mode 100644 review/logs/plugin_host_test-after-fixes.log delete mode 100644 review/logs/plugin_host_test.log delete mode 100644 review/logs/render_test-after-fixes.log delete mode 100644 review/logs/render_test-asan-ubsan-after-fixes.log delete mode 100644 review/logs/render_test-asan-ubsan-sandbox-prefix.log delete mode 100644 review/logs/render_test.log delete mode 100644 review/logs/sanitizers-first-run-halted-by-whitenoise.log delete mode 100644 review/logs/standalone-recording-analysis.txt delete mode 100644 review/logs/ui_test-after-fixes.log delete mode 100644 review/logs/ui_test-asan-ubsan-after-fixes.log delete mode 100644 review/logs/ui_test-asan-ubsan.log diff --git a/review/2026-11-03-code-review.md b/review/2026-11-03-code-review.md index 0527369..69f1ef1 100644 --- a/review/2026-11-03-code-review.md +++ b/review/2026-11-03-code-review.md @@ -2,7 +2,7 @@ Data: 2026-11-03. Commit analizzato: `9447f73` (branch `claude/audio-plugin-vst3-au-review-9b137d`). Revisione eseguita su una copia isolata del progetto; il repository originale non è stato modificato. -Gli esperimenti, le patch di prova e i log citati sono in `review/experiments/` e `review/logs/`. +Gli esperimenti e le patch di prova sono in `review/experiments/`. I log di build e test citati sono stati tenuti fuori dal repository. --- @@ -136,7 +136,7 @@ intenzionale), `PluginProcessor.cpp:50` (`switch-enum`). Nessuno indica un bug. | `tools/hardware-comparison/check_reference.sh` | 10/10 WAV con SHA-256 identico ai riferimenti | | `tools/test_release_check.py` | 8 test OK | | `voice_allocator_test` sotto ASan+UBSan | OK, nessun report | -| `render_test` e `ui_test` sotto ASan+UBSan | Prima esecuzione: **interrotte al primo campione** dall'overflow in `whitenoise.h:34` (D-01). Con la patch di D-01 applicata alla copia sandbox: `ui_test` ALL OK e `render_test` 471/471 OK, **zero report** di ASan e UBSan in entrambi (`review/logs/render_test-asan-ubsan-sandbox-prefix.log`). | +| `render_test` e `ui_test` sotto ASan+UBSan | Prima esecuzione: **interrotte al primo campione** dall'overflow in `whitenoise.h:34` (D-01). Con la patch di D-01 applicata alla copia sandbox: `ui_test` ALL OK e `render_test` 471/471 OK, **zero report** di ASan e UBSan in entrambi. | | `host_probe` (esperimento, VST3 nell'host JUCE) | ALL OK: 22.05/44.1/88.2/176.4/192 kHz × blocchi 1/7/2048/8192 con input; latenza dichiarata = misurata a 22.05/88.2/192 kHz (±5); 60 s a 44.1 kHz con blocchi misti (4096, 64, 1000, 3, 2048, 512) senza buchi; blocco vuoto; bypass; stato corrotto e troncato; note-on con velocity 0 | | Esperimenti DSP (`exp1_cpu`, `exp2_edges`, `exp3_order`, `exp4_size`) | Vedi §7, §8, §9 | @@ -479,11 +479,11 @@ funzionalità; CI con pluginval. ## 13. Interventi applicati (dopo la revisione) Su richiesta, gli interventi 1–7 del piano sono stati applicati nel worktree (non committati). Diff: 13 file, -+144/−56 righe. Log in `review/logs/*-after-fixes.log`. ++144/−56 righe. | # | ID | Cosa è cambiato | Verifica | |---|---|---|---| -| 1 | D-01 | `whitenoise.h`: prodotto in `uint32_t` riconvertito a `int32_t`; nota in `PATCHES.txt` | 7 render senza echo identici al bit; `ui_test` e `voice_allocator_test` passano sotto ASan+UBSan senza report; `render_test` sotto ASan+UBSan: 472/472 OK, zero report (`review/logs/render_test-asan-ubsan-after-fixes.log`) | +| 1 | D-01 | `whitenoise.h`: prodotto in `uint32_t` riconvertito a `int32_t`; nota in `PATCHES.txt` | 7 render senza echo identici al bit; `ui_test` e `voice_allocator_test` passano sotto ASan+UBSan senza report; `render_test` sotto ASan+UBSan: 472/472 OK, zero report | | 2 | D-03 | `ParameterRegistry` su `std::array, N>`, `Process` scorre dall'id più alto al più basso (l'ordine che libc++ dava); gli enum hanno `NumVoiceParams`/`NumEchoParams`; −9 righe nette | I 7 render senza echo restano identici al bit; i 3 con echo cambiano solo per D-02 | | 3 | D-02 | `Engine::SetEchoDelayTime(t, immediate)`; `DroseraCore` fa saltare l'echo al primo tick dopo `Init` e dopo `Recover` (`echo_jump_`); nuovo test `echoStartsAtKnobTime` | Prima ripetizione a 0,248 s con manopola a 0,248 s (prima: 0,954 s). `SHA256SUMS` rigenerati: p05, p06, p10 cambiano, gli altri 7 no. Motivo nel CHANGELOG | | 4 | D-04 | `processBlockBypassed` con un ring per canale lungo `getLatencySamples()`, allocato in `prepareToPlay`; nuovo test `bypassKeepsLatency`/`bypassPassesThrough` | Bypass a 44,1 kHz: dichiarati 327, misurati 327; a 48 kHz passa inalterato | diff --git a/review/logs/build-asan-build.log b/review/logs/build-asan-build.log deleted file mode 100644 index f8d0993..0000000 --- a/review/logs/build-asan-build.log +++ /dev/null @@ -1,91 +0,0 @@ -[0/2] Re-checking globbed directories... -[1/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Control/line.cpp.o -[2/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Control/adsr.cpp.o -[3/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Control/adenv.cpp.o -[4/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Control/phasor.cpp.o -[5/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Drums/analogbassdrum.cpp.o -[6/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Dynamics/balance.cpp.o -[7/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Drums/analogsnaredrum.cpp.o -[8/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Drums/synthbassdrum.cpp.o -[9/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/autowah.cpp.o -[10/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/decimator.cpp.o -[11/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Drums/synthsnaredrum.cpp.o -[12/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/bitcrush.cpp.o -[13/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Dynamics/crossfade.cpp.o -[14/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Drums/hihat.cpp.o -[15/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/fold.cpp.o -[16/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/wavefolder.cpp.o -[17/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/reverbsc.cpp.o -[18/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Dynamics/limiter.cpp.o -[19/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Dynamics/compressor.cpp.o -[20/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Filters/allpass.cpp.o -[21/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Filters/mode.cpp.o -[22/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/overdrive.cpp.o -[23/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/flanger.cpp.o -[24/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/chorus.cpp.o -[25/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/tremolo.cpp.o -[26/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/phaser.cpp.o -[27/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Filters/nlfilt.cpp.o -[28/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/sampleratereducer.cpp.o -[29/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Filters/comb.cpp.o -[30/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Filters/biquad.cpp.o -[31/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Filters/atone.cpp.o -[32/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Filters/moogladder.cpp.o -[33/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/PhysicalModeling/pluck.cpp.o -[34/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Noise/clockednoise.cpp.o -[35/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Filters/tone.cpp.o -[36/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Filters/svf.cpp.o -[37/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Noise/grainlet.cpp.o -[38/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Noise/particle.cpp.o -[39/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Synthesis/blosc.cpp.o -[40/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/PhysicalModeling/KarplusString.cpp.o -[41/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/PhysicalModeling/drip.cpp.o -[42/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/PhysicalModeling/modalvoice.cpp.o -[43/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/PhysicalModeling/resonator.cpp.o -[44/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/PhysicalModeling/stringvoice.cpp.o -[45/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Utility/dcblock.cpp.o -[46/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Utility/jitter.cpp.o -[47/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Utility/port.cpp.o -[48/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Synthesis/oscillator.cpp.o -[49/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Synthesis/fm2.cpp.o -[50/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Synthesis/formantosc.cpp.o -[51/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Synthesis/variablesawosc.cpp.o -[52/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Synthesis/oscillatorbank.cpp.o -[53/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Synthesis/variableshapeosc.cpp.o -[54/91] Building CXX object CMakeFiles/voice_allocator_test.dir/tests/voice_allocator_test.cpp.o -[55/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Synthesis/zoscillator.cpp.o -[56/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Synthesis/vosim.cpp.o -[57/91] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Utility/metro.cpp.o -[58/91] Linking CXX static library libDaisySP.a -[59/91] Building CXX object CMakeFiles/DroseraDSP.dir/src/dsp/BiquadFilters.cpp.o -[60/91] Building CXX object CMakeFiles/DroseraDSP.dir/src/dsp/KarplusString.cpp.o -[61/91] Building CXX object CMakeFiles/DroseraDSP.dir/src/dsp/FeedbackVoice.cpp.o -[62/91] Building CXX object CMakeFiles/DroseraDSP.dir/src/dsp/FeedbackSynthEngine.cpp.o -[63/91] Building CXX object CMakeFiles/ui_test.dir/build/_deps/juce-src/modules/juce_audio_processors/juce_audio_processors_ara.cpp.o -[64/91] Linking CXX static library libDroseraDSP.a -[65/91] Building CXX object CMakeFiles/ui_test.dir/build/_deps/juce-src/modules/juce_audio_processors/juce_audio_processors_lv2_libs.cpp.o -[66/91] Building CXX object CMakeFiles/render_test.dir/tests/render_test.cpp.o -[67/91] Building CXX object CMakeFiles/ui_test.dir/src/plugin/ui/DroseraLookAndFeel.cpp.o -[68/91] Building CXX object CMakeFiles/ui_test.dir/src/plugin/ui/PlantView.cpp.o -[69/91] Building C object CMakeFiles/ui_test.dir/build/_deps/juce-src/modules/juce_graphics/juce_graphics_Sheenbidi.c.o -[70/91] Building CXX object CMakeFiles/ui_test.dir/src/plugin/ui/TabPanel.cpp.o -[71/91] Building CXX object CMakeFiles/ui_test.dir/src/plugin/PluginEditor.cpp.o -[72/91] Building CXX object CMakeFiles/ui_test.dir/build/_deps/juce-src/modules/juce_core/juce_core_CompilationTime.cpp.o -[73/91] Building CXX object CMakeFiles/ui_test.dir/tests/ui_test.cpp.o -[74/91] Building CXX object CMakeFiles/ui_test.dir/src/plugin/PluginProcessor.cpp.o -[75/91] Building CXX object CMakeFiles/ui_test.dir/build/_deps/juce-src/modules/juce_data_structures/juce_data_structures.mm.o -[76/91] Building CXX object CMakeFiles/ui_test.dir/build/_deps/juce-src/modules/juce_audio_utils/juce_audio_utils.mm.o -[77/91] Building CXX object CMakeFiles/ui_test.dir/build/_deps/juce-src/modules/juce_events/juce_events.mm.o -[78/91] Building CXX object CMakeFiles/ui_test.dir/build/_deps/juce-src/modules/juce_gui_extra/juce_gui_extra.mm.o -[79/91] Linking CXX executable render_test -[80/91] Linking CXX executable voice_allocator_test -[81/91] Building CXX object CMakeFiles/ui_test.dir/build/_deps/juce-src/modules/juce_audio_basics/juce_audio_basics.mm.o -[82/91] Building CXX object CMakeFiles/ui_test.dir/build/_deps/juce-src/modules/juce_audio_processors/juce_audio_processors.mm.o -[83/91] Building CXX object CMakeFiles/ui_test.dir/build/_deps/juce-src/modules/juce_audio_devices/juce_audio_devices.mm.o -[84/91] Building CXX object CMakeFiles/ui_test.dir/build/_deps/juce-src/modules/juce_dsp/juce_dsp.mm.o -[85/91] Building CXX object CMakeFiles/ui_test.dir/build/_deps/juce-src/modules/juce_core/juce_core.mm.o -[86/91] Building CXX object CMakeFiles/ui_test.dir/build/_deps/juce-src/modules/juce_audio_formats/juce_audio_formats.mm.o -[87/91] Building CXX object CMakeFiles/ui_test.dir/build/_deps/juce-src/modules/juce_graphics/juce_graphics_Harfbuzz.cpp.o -[88/91] Building CXX object CMakeFiles/ui_test.dir/build/_deps/juce-src/modules/juce_graphics/juce_graphics.mm.o -[89/91] Building CXX object CMakeFiles/ui_test.dir/build/_deps/juce-src/modules/juce_gui_basics/juce_gui_basics.mm.o -[90/91] Linking CXX executable ui_test_artefacts/Debug/ui_test diff --git a/review/logs/build-asan-configure.log b/review/logs/build-asan-configure.log deleted file mode 100644 index 80586c7..0000000 --- a/review/logs/build-asan-configure.log +++ /dev/null @@ -1,20 +0,0 @@ --- The C compiler identification is AppleClang 21.0.0.21000401 --- The CXX compiler identification is AppleClang 21.0.0.21000401 --- Detecting C compiler ABI info --- Detecting C compiler ABI info - done --- Check for working C compiler: /usr/bin/cc - skipped --- Detecting C compile features --- Detecting C compile features - done --- Detecting CXX compiler ABI info --- Detecting CXX compiler ABI info - done --- Check for working CXX compiler: /usr/bin/c++ - skipped --- Detecting CXX compile features --- Detecting CXX compile features - done --- Configuring juceaide --- Building juceaide --- Exporting juceaide --- Testing juceaide --- Finished setting up juceaide --- Configuring done (13.3s) --- Generating done (0.0s) --- Build files have been written to: /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/build-asan diff --git a/review/logs/build-build.log b/review/logs/build-build.log deleted file mode 100644 index 27b9d69..0000000 --- a/review/logs/build-build.log +++ /dev/null @@ -1,443 +0,0 @@ -[0/2] Re-checking globbed directories... -[1/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Control/line.cpp.o -[2/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Control/adenv.cpp.o -[3/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Control/adsr.cpp.o -[4/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Dynamics/limiter.cpp.o -[5/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Dynamics/balance.cpp.o -[6/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Control/phasor.cpp.o -[7/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Dynamics/crossfade.cpp.o -[8/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Drums/analogsnaredrum.cpp.o -[9/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Drums/hihat.cpp.o -[10/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Drums/synthbassdrum.cpp.o -[11/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Drums/synthsnaredrum.cpp.o -[12/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/autowah.cpp.o -[13/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/decimator.cpp.o -[14/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/bitcrush.cpp.o -[15/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/fold.cpp.o -[16/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/reverbsc.cpp.o -[17/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/wavefolder.cpp.o -[18/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Filters/allpass.cpp.o -[19/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Dynamics/compressor.cpp.o -[20/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Drums/analogbassdrum.cpp.o -[21/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Filters/mode.cpp.o -[22/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/flanger.cpp.o -[23/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/tremolo.cpp.o -[24/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/sampleratereducer.cpp.o -[25/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/overdrive.cpp.o -[26/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/phaser.cpp.o -[27/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/chorus.cpp.o -[28/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Filters/nlfilt.cpp.o -[29/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Filters/atone.cpp.o -[30/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Filters/comb.cpp.o -[31/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Filters/biquad.cpp.o -[32/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Filters/moogladder.cpp.o -[33/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/PhysicalModeling/pluck.cpp.o -[34/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Filters/tone.cpp.o -[35/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Noise/particle.cpp.o -[36/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Filters/svf.cpp.o -[37/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Noise/clockednoise.cpp.o -[38/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Noise/grainlet.cpp.o -[39/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/PhysicalModeling/KarplusString.cpp.o -[40/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Synthesis/blosc.cpp.o -[41/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/PhysicalModeling/drip.cpp.o -[42/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/PhysicalModeling/modalvoice.cpp.o -[43/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/PhysicalModeling/resonator.cpp.o -[44/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/PhysicalModeling/stringvoice.cpp.o -[45/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Utility/dcblock.cpp.o -[46/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Utility/jitter.cpp.o -[47/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Utility/port.cpp.o -[48/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Synthesis/oscillatorbank.cpp.o -[49/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Synthesis/formantosc.cpp.o -[50/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Synthesis/fm2.cpp.o -[51/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Synthesis/oscillator.cpp.o -[52/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Synthesis/vosim.cpp.o -[53/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Synthesis/variablesawosc.cpp.o -[54/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Synthesis/variableshapeosc.cpp.o -[55/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Synthesis/zoscillator.cpp.o -[56/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Utility/metro.cpp.o -[57/199] Linking CXX static library libDaisySP.a -[58/199] Building CXX object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_audio_processors/juce_audio_processors_ara.cpp.o -[59/199] Building CXX object CMakeFiles/DroseraDSP.dir/src/dsp/BiquadFilters.cpp.o -[60/199] Building CXX object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_audio_processors/juce_audio_processors_lv2_libs.cpp.o -[61/199] Building CXX object CMakeFiles/DroseraDSP.dir/src/dsp/FeedbackVoice.cpp.o -[62/199] Building CXX object CMakeFiles/DroseraDSP.dir/src/dsp/KarplusString.cpp.o -[63/199] Building CXX object CMakeFiles/DroseraDSP.dir/src/dsp/FeedbackSynthEngine.cpp.o -[64/199] Linking CXX static library libDroseraDSP.a -[65/199] Building C object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_graphics/juce_graphics_Sheenbidi.c.o -[66/199] Building CXX object CMakeFiles/Drosera.dir/src/plugin/ui/DroseraLookAndFeel.cpp.o -[67/199] Building CXX object CMakeFiles/Drosera.dir/src/plugin/ui/PlantView.cpp.o -[68/199] Building CXX object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_core/juce_core_CompilationTime.cpp.o -[69/199] Building CXX object CMakeFiles/Drosera.dir/src/plugin/PluginEditor.cpp.o -[70/199] Building CXX object CMakeFiles/Drosera.dir/src/plugin/ui/TabPanel.cpp.o -[71/199] Building CXX object CMakeFiles/Drosera.dir/src/plugin/PluginProcessor.cpp.o -In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/src/plugin/PluginProcessor.cpp:9: -In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/src/dsp/DroseraCore.h:14: -In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/daisysp.h:27: -In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Drums/analogbassdrum.h:10: -In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Synthesis/oscillator.h:7: -/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Utility/dsp.h:70:10: warning: cast from 'float *' to 'long *' increases required alignment from 4 to 8 [-Wcast-align] - 70 | lp = (long *)(&f); - | ^~~~~~~~~~~~ -/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Utility/dsp.h:82:10: warning: cast from 'float *' to 'long *' increases required alignment from 4 to 8 [-Wcast-align] - 82 | lp = (long *)(&f); - | ^~~~~~~~~~~~ -/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Utility/dsp.h:114:10: warning: implicit conversion from 'int' to 'float' may lose precision [-Wimplicit-int-float-conversion] - 114 | f += exp; - | ~~ ^~~ -/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Utility/dsp.h:246:31: warning: comparing floating point with == or != is unsafe [-Wfloat-equal] - 246 | if(!std::isnormal(x) && x != 0) - | ~ ^ ~ -In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/src/plugin/PluginProcessor.cpp:9: -In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/src/dsp/DroseraCore.h:14: -In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/daisysp.h:36: -/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Dynamics/crossfade.h:48:43: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] - 48 | curve_ = curve < CROSSFADE_LAST ? curve : CROSSFADE_LIN; - | ~ ^~~~~ -/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Dynamics/crossfade.h:69:31: warning: unused parameter 'pos' [-Wunused-parameter] - 69 | inline float GetPos(float pos) { return pos_; } - | ^ -/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Dynamics/crossfade.h:72:37: warning: unused parameter 'curve' [-Wunused-parameter] - 72 | inline uint8_t GetCurve(uint8_t curve) { return curve_; } - | ^ -In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/src/plugin/PluginProcessor.cpp:9: -In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/src/dsp/DroseraCore.h:14: -In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/daisysp.h:49: -/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Effects/pitchshifter.h:94:29: warning: implicit conversion from 'uint32_t' (aka 'unsigned int') to 'float' may lose precision [-Wimplicit-int-float-conversion] - 94 | * (del_size_ * 0.5f); - | ^~~~~~~~~ ~ -/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Effects/pitchshifter.h:101:29: warning: implicit conversion from 'uint32_t' (aka 'unsigned int') to 'float' may lose precision [-Wimplicit-int-float-conversion] - 101 | * (del_size_ * 0.5f); - | ^~~~~~~~~ ~ -/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Effects/pitchshifter.h:114:38: warning: implicit conversion from 'uint32_t' (aka 'unsigned int') to 'float' may lose precision [-Wimplicit-int-float-conversion] - 114 | mod_[0] = fade1 * (del_size_ - 1); - | ~ ~~~~~~~~~~^~~ -/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Effects/pitchshifter.h:115:38: warning: implicit conversion from 'uint32_t' (aka 'unsigned int') to 'float' may lose precision [-Wimplicit-int-float-conversion] - 115 | mod_[1] = fade2 * (del_size_ - 1); - | ~ ~~~~~~~~~~^~~ -/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Effects/pitchshifter.h:145:23: warning: comparing floating point with == or != is unsafe [-Wfloat-equal] - 145 | if(transpose_ != transpose || force_recalc_) - | ~~~~~~~~~~ ^ ~~~~~~~~~ -/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Effects/pitchshifter.h:159:50: warning: implicit conversion from 'uint32_t' (aka 'unsigned int') to 'float' may lose precision [-Wimplicit-int-float-conversion] - 159 | mod_freq_ = ((ratio - 1.0f) * sr_) / del_size_; - | ~ ^~~~~~~~~ -In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/src/plugin/PluginProcessor.cpp:9: -In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/src/dsp/DroseraCore.h:14: -In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/daisysp.h:52: -In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Effects/wavefolder.h:8: -/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Utility/dcblock.h:16:16: warning: extra ';' after member function definition [-Wextra-semi] - 16 | DcBlock(){}; - | ^ -/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Utility/dcblock.h:17:17: warning: extra ';' after member function definition [-Wextra-semi] - 17 | ~DcBlock(){}; - | ^ -In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/src/plugin/PluginProcessor.cpp:9: -In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/src/dsp/DroseraCore.h:14: -In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/daisysp.h:68: -/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Noise/dust.h:36:29: warning: implicit conversion from 'int' to 'float' may lose precision [-Wimplicit-int-float-conversion] - 36 | float u = rand() * kRandFrac; - | ^~~~~~ ~ -In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/src/plugin/PluginProcessor.cpp:9: -In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/src/dsp/DroseraCore.h:14: -In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/daisysp.h:72: -/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Noise/whitenoise.h:36:17: warning: implicit conversion from 'int32_t' (aka 'int') to 'float' may lose precision [-Wimplicit-int-float-conversion] - 36 | return (randseed_ * coeff_) * amp_; - | ^~~~~~~~~ ~ -In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/src/plugin/PluginProcessor.cpp:9: -In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/src/dsp/DroseraCore.h:14: -In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/daisysp.h:76: -In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/PhysicalModeling/modalvoice.h:9: -/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/PhysicalModeling/resonator.h:108:36: warning: implicit conversion loses floating-point precision: 'double' to 'const float' [-Wimplicit-float-conversion] - 108 | const float a = 3.260e-01 * kPiPow3; - | ~ ~~~~~~~~~~^~~~~~~~~ -/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/PhysicalModeling/resonator.h:109:36: warning: implicit conversion loses floating-point precision: 'double' to 'const float' [-Wimplicit-float-conversion] - 109 | const float b = 1.823e-01 * kPiPow5; - | ~ ~~~~~~~~~~^~~~~~~~~ -In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/src/plugin/PluginProcessor.cpp:9: -In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/src/dsp/DroseraCore.h:14: -In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/daisysp.h:84: -/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Synthesis/blosc.h:49:54: warning: extra ';' after member function definition [-Wextra-semi] - 49 | inline void SetFreq(float freq) { freq_ = freq; }; - | ^ -/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Synthesis/blosc.h:52:50: warning: extra ';' after member function definition [-Wextra-semi] - 52 | inline void SetAmp(float amp) { amp_ = amp; }; - | ^ -/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Synthesis/blosc.h:55:50: warning: extra ';' after member function definition [-Wextra-semi] - 55 | inline void SetPw(float pw) { pw_ = 1 - pw; }; - | ^ -In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/src/plugin/PluginProcessor.cpp:9: -In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/src/dsp/DroseraCore.h:14: -In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/daisysp.h:100: -/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Utility/looper.h:67:26: warning: implicit conversion from 'size_t' (aka 'unsigned long') to 'float' may lose precision [-Wimplicit-int-float-conversion] - 67 | win_ = WindowVal(win_idx_ * kWindowFactor); - | ^~~~~~~~ ~ -/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Utility/looper.h:73:23: warning: implicit conversion turns floating-point number into integer: 'float' to 'size_t' (aka 'unsigned long') [-Wfloat-conversion] - 73 | Write(pos_, input * win_); - | ~~~~~ ^~~~ -/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Utility/looper.h:76:28: warning: implicit conversion turns floating-point number into integer: 'float' to 'size_t' (aka 'unsigned long') [-Wfloat-conversion] - 76 | recsize_ = pos_; - | ~ ^~~~ -/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Utility/looper.h:78:40: warning: implicit conversion from 'size_t' (aka 'unsigned long') to 'float' may lose precision [-Wimplicit-int-float-conversion] - 78 | if(pos_ > buffer_size_ - 1) - | ~ ~~~~~~~~~~~~~^~~ -/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Utility/looper.h:81:37: warning: implicit conversion turns floating-point number into integer: 'float' to 'size_t' (aka 'unsigned long') [-Wfloat-conversion] - 81 | recsize_ = pos_ - 1; - | ~ ~~~~~^~~ -/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Utility/looper.h:86:28: warning: implicit conversion turns floating-point number into integer: 'float' to 'size_t' (aka 'unsigned long') [-Wfloat-conversion] - 86 | sig = Read(pos_); - | ~~~~ ^~~~ -/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Utility/looper.h:92:27: warning: implicit conversion turns floating-point number into integer: 'float' to 'size_t' (aka 'unsigned long') [-Wfloat-conversion] - 92 | Write(pos_, sig + input * (1.f - win_)); - | ~~~~~ ^~~~ -/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Utility/looper.h:97:36: warning: implicit conversion from 'size_t' (aka 'unsigned long') to 'float' may lose precision [-Wimplicit-int-float-conversion] - 97 | if(pos_ > recsize_ - 1) - | ~ ~~~~~~~~~^~~ -/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Utility/looper.h:104:40: warning: implicit conversion from 'size_t' (aka 'unsigned long') to 'float' may lose precision [-Wimplicit-int-float-conversion] - 104 | pos_ = recsize_ - 1; - | ~ ~~~~~~~~~^~~ -/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Utility/looper.h:119:28: warning: implicit conversion turns floating-point number into integer: 'float' to 'size_t' (aka 'unsigned long') [-Wfloat-conversion] - 119 | sig = Read(pos_); - | ~~~~ ^~~~ -/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Utility/looper.h:122:47: warning: implicit conversion turns floating-point number into integer: 'float' to 'size_t' (aka 'unsigned long') [-Wfloat-conversion] - 122 | case Mode::REPLACE: Write(pos_, input * win_); break; - | ~~~~~ ^~~~ -/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Utility/looper.h:124:31: warning: implicit conversion turns floating-point number into integer: 'float' to 'size_t' (aka 'unsigned long') [-Wfloat-conversion] - 124 | Write(pos_, (input * win_) + (sig * kFripDecayVal)); - | ~~~~~ ^~~~ -/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Utility/looper.h:128:36: warning: implicit conversion turns floating-point number into integer: 'float' to 'size_t' (aka 'unsigned long') [-Wfloat-conversion] - 128 | default: Write(pos_, (input * win_) + sig); break; - | ~~~~~ ^~~~ -/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Utility/looper.h:133:36: warning: implicit conversion from 'size_t' (aka 'unsigned long') to 'float' may lose precision [-Wimplicit-int-float-conversion] - 133 | if(pos_ > recsize_ - 1) - | ~ ~~~~~~~~~^~~ -/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Utility/looper.h:140:40: warning: implicit conversion from 'size_t' (aka 'unsigned long') to 'float' may lose precision [-Wimplicit-int-float-conversion] - 140 | pos_ = recsize_ - 1; - | ~ ~~~~~~~~~^~~ -/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Utility/looper.h:256:32: warning: implicit conversion from 'uint32_t' (aka 'unsigned int') to 'float' may lose precision [-Wimplicit-int-float-conversion] - 256 | frac = pos - i_idx; - | ~ ^~~~~ -In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/src/plugin/PluginProcessor.cpp:9: -In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/src/dsp/DroseraCore.h:14: -In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/daisysp.h:105: -/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Utility/smooth_random.h:51:25: warning: implicit conversion from 'int' to 'float' may lose precision [-Wimplicit-int-float-conversion] - 51 | interval_ = rand() * kRandFrac * 2.0f - 1.0f - from_; - | ^~~~~~ ~ -In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/src/plugin/PluginProcessor.cpp:9: -/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/src/dsp/DroseraCore.h:53:48: warning: implicit conversion changes signedness: 'Param' to 'size_type' (aka 'unsigned long') [-Wsign-conversion] - 53 | void SetParam(Param p, float norm) { norm_[p] = norm; } - | ~~~~~ ^ -/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/src/plugin/PluginProcessor.cpp:50:13: warning: enumeration value 'Percent' not explicitly handled in switch [-Wswitch-enum] - 50 | switch (s.show) { - | ^~~~~~ -/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/src/plugin/PluginProcessor.cpp:50:13: note: add missing switch cases - 50 | switch (s.show) { - | ^ - 51 | // The engine's real values, not the knob's position: these curves are far from linear. - 52 | case Show::ValuePercent: return juce::String(juce::roundToInt(v * 100.0f)) + " %"; -/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/src/plugin/PluginProcessor.cpp:266:22: warning: comparing floating point with == or != is unsafe [-Wfloat-equal] - 266 | if (freqKnob != lastFreqKnob) { - | ~~~~~~~~ ^ ~~~~~~~~~~~~ -In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/src/plugin/PluginProcessor.cpp:9: -In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/src/dsp/DroseraCore.h:14: -In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/daisysp.h:42: -In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Effects/chorus.h:9: -/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Utility/delayline.h:58:62: warning: operand of ? changes signedness: 'int32_t' (aka 'int') to 'unsigned long' [-Wsign-conversion] - 58 | delay_ = static_cast(int_delay) < max_size ? int_delay - | ~ ^~~~~~~~~ -/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Effects/pitchshifter.h:129:15: note: in instantiation of member function 'daisysp::DelayLine::SetDelay' requested here - 129 | d_[0].SetDelay(mod_[0] + mod_a_amt_); - | ^ -/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/third_party/DaisySP/Source/Effects/pitchshifter.h:196:49: warning: private field 'pitch_shift_' is not used [-Wunused-private-field] - 196 | float pitch_shift_, mod_freq_; - | ^ -44 warnings generated. -[72/199] Building CXX object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_data_structures/juce_data_structures.mm.o -[73/199] Building CXX object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_events/juce_events.mm.o -[74/199] Building CXX object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_gui_extra/juce_gui_extra.mm.o -[75/199] Building CXX object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_audio_utils/juce_audio_utils.mm.o -[76/199] Building CXX object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_audio_processors/juce_audio_processors.mm.o -[77/199] Copying OS X Content Drosera_artefacts/Release/Standalone/Drosera.app/Contents/Resources/RecentFilesMenuTemplate.nib -[78/199] Building CXX object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_audio_basics/juce_audio_basics.mm.o -[79/199] Building CXX object CMakeFiles/voice_allocator_test.dir/tests/voice_allocator_test.cpp.o -[80/199] Building CXX object CMakeFiles/pitch_probe.dir/tests/pitch_probe.cpp.o -[81/199] Building CXX object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_audio_devices/juce_audio_devices.mm.o -[82/199] Building CXX object CMakeFiles/Drosera_vst3_helper.dir/_deps/juce-src/modules/juce_audio_plugin_client/VST3/juce_VST3ManifestHelper.mm.o -In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/build/_deps/juce-src/modules/juce_audio_plugin_client/VST3/juce_VST3ManifestHelper.mm:35: -In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/build/_deps/juce-src/modules/juce_audio_plugin_client/VST3/juce_VST3ManifestHelper.cpp:47: -In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/functional:601: -In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/vector:363: -In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/locale:203: -/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale_dir/wstring_convert.h:179:1: warning: 'wstring_convert, char16_t>' is deprecated [-Wdeprecated-declarations] - 179 | wstring_convert<_Codecvt, _Elem, _WideAlloc, _ByteAlloc>::to_bytes(const _Elem* __frm, const _Elem* __frm_end) { - | ^ -/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/build/_deps/juce-src/modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/commonstringconvert.cpp:92:22: note: in instantiation of member function 'std::wstring_convert, char16_t>::to_bytes' requested here - 92 | return converter ().to_bytes (reinterpret_cast (str.data ()), - | ^ -/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale_dir/wstring_convert.h:34:7: note: 'wstring_convert, char16_t>' has been explicitly marked deprecated here - 34 | class _LIBCPP_DEPRECATED_IN_CXX17 wstring_convert { - | ^ -/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__config:540:41: note: expanded from macro '_LIBCPP_DEPRECATED_IN_CXX17' - 540 | # define _LIBCPP_DEPRECATED_IN_CXX17 _LIBCPP_DEPRECATED - | ^ -/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__config:504:49: note: expanded from macro '_LIBCPP_DEPRECATED' - 504 | # define _LIBCPP_DEPRECATED __attribute__((__deprecated__)) - | ^ -1 warning generated. -[83/199] Linking CXX executable Drosera_vst3_helper -[84/199] Building CXX object CMakeFiles/render_cli.dir/tests/render_cli.cpp.o -[85/199] Building CXX object CMakeFiles/editor_snapshot.dir/tests/editor_snapshot.cpp.o -[86/199] Building CXX object CMakeFiles/render_test.dir/tests/render_test.cpp.o -[87/199] Building CXX object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_dsp/juce_dsp.mm.o -[88/199] Building CXX object CMakeFiles/editor_snapshot.dir/src/plugin/PluginEditor.cpp.o -[89/199] Building CXX object CMakeFiles/editor_snapshot.dir/src/plugin/ui/DroseraLookAndFeel.cpp.o -[90/199] Building CXX object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_audio_processors/juce_audio_processors_ara.cpp.o -[91/199] Building CXX object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_audio_processors/juce_audio_processors_lv2_libs.cpp.o -[92/199] Building CXX object CMakeFiles/editor_snapshot.dir/src/plugin/PluginProcessor.cpp.o -[93/199] Building CXX object CMakeFiles/editor_snapshot.dir/src/plugin/ui/PlantView.cpp.o -[94/199] Building CXX object CMakeFiles/editor_snapshot.dir/src/plugin/ui/TabPanel.cpp.o -[95/199] Building CXX object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_audio_formats/juce_audio_formats.mm.o -[96/199] Building C object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_graphics/juce_graphics_Sheenbidi.c.o -[97/199] Building CXX object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_core/juce_core.mm.o -[98/199] Building CXX object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_audio_utils/juce_audio_utils.mm.o -[99/199] Building CXX object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_core/juce_core_CompilationTime.cpp.o -[100/199] Building CXX object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_gui_extra/juce_gui_extra.mm.o -[101/199] Building CXX object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_events/juce_events.mm.o -[102/199] Building CXX object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_data_structures/juce_data_structures.mm.o -[103/199] Building CXX object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_audio_processors/juce_audio_processors.mm.o -[104/199] Building CXX object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_graphics/juce_graphics.mm.o -[105/199] Building CXX object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_graphics/juce_graphics_Harfbuzz.cpp.o -[106/199] Building CXX object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_audio_basics/juce_audio_basics.mm.o -[107/199] Building CXX object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_audio_devices/juce_audio_devices.mm.o -[108/199] Building CXX object CMakeFiles/ui_test.dir/tests/ui_test.cpp.o -[109/199] Building CXX object CMakeFiles/ui_test.dir/src/plugin/PluginProcessor.cpp.o -[110/199] Building CXX object CMakeFiles/ui_test.dir/src/plugin/PluginEditor.cpp.o -[111/199] Building CXX object CMakeFiles/ui_test.dir/src/plugin/ui/DroseraLookAndFeel.cpp.o -[112/199] Building CXX object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_dsp/juce_dsp.mm.o -[113/199] Building CXX object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_audio_processors/juce_audio_processors_ara.cpp.o -[114/199] Building CXX object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_audio_processors/juce_audio_processors_lv2_libs.cpp.o -[115/199] Building CXX object CMakeFiles/ui_test.dir/src/plugin/ui/PlantView.cpp.o -[116/199] Building CXX object CMakeFiles/ui_test.dir/src/plugin/ui/TabPanel.cpp.o -[117/199] Building CXX object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_core/juce_core.mm.o -[118/199] Building CXX object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_audio_formats/juce_audio_formats.mm.o -[119/199] Building C object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_graphics/juce_graphics_Sheenbidi.c.o -[120/199] Building CXX object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_gui_basics/juce_gui_basics.mm.o -In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/build/_deps/juce-src/modules/juce_gui_basics/juce_gui_basics.mm:35: -In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/build/_deps/juce-src/modules/juce_gui_basics/juce_gui_basics.cpp:189: -/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/build/_deps/juce-src/modules/juce_gui_basics/native/juce_NSViewComponentPeer_mac.mm:1923:17: warning: enumeration value 'NSEventTypeMouseCancelled' not explicitly handled in switch [-Wswitch-enum] - 1923 | switch ([e type]) - | ^~~~~~~~ -/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/build/_deps/juce-src/modules/juce_gui_basics/native/juce_NSViewComponentPeer_mac.mm:1923:17: note: add missing switch cases - 1923 | switch ([e type]) - | ^ -1 warning generated. -[121/199] Linking CXX static library Drosera_artefacts/Release/libDrosera_SharedCode.a -[122/199] Generating Drosera_artefacts/JuceLibraryCode/Drosera_VST3/PkgInfo -[123/199] Building CXX object CMakeFiles/Drosera_VST3.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_AAX_utils.cpp.o -[124/199] Building CXX object CMakeFiles/Drosera_VST3.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_ARA.cpp.o -[125/199] Building CXX object CMakeFiles/Drosera_VST3.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_Standalone.cpp.o -[126/199] Building CXX object CMakeFiles/Drosera_VST3.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_Unity.cpp.o -[127/199] Building CXX object CMakeFiles/Drosera_VST3.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_AAX.mm.o -[128/199] Building CXX object CMakeFiles/Drosera_VST3.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_AU_1.mm.o -[129/199] Building CXX object CMakeFiles/Drosera_VST3.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_AU_2.mm.o -[130/199] Building CXX object CMakeFiles/Drosera_VST3.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_AUv3.mm.o -[131/199] Building CXX object CMakeFiles/Drosera_VST3.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_LV2.mm.o -[132/199] Building CXX object CMakeFiles/Drosera_VST3.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_VST2.mm.o -[133/199] Building CXX object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_audio_utils/juce_audio_utils.mm.o -[134/199] Generating Drosera_artefacts/JuceLibraryCode/Drosera_Standalone/PkgInfo -[135/199] Generating Drosera_artefacts/JuceLibraryCode/Drosera_AU/PkgInfo -[136/199] Building CXX object CMakeFiles/Drosera_Standalone.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_AAX_utils.cpp.o -[137/199] Building CXX object CMakeFiles/Drosera_Standalone.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_ARA.cpp.o -[138/199] Building CXX object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_gui_extra/juce_gui_extra.mm.o -[139/199] Building CXX object CMakeFiles/Drosera_Standalone.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_Unity.cpp.o -[140/199] Building CXX object CMakeFiles/Drosera_Standalone.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_AAX.mm.o -[141/199] Building CXX object CMakeFiles/Drosera_Standalone.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_AU_1.mm.o -[142/199] Building CXX object CMakeFiles/Drosera_Standalone.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_AU_2.mm.o -[143/199] Building CXX object CMakeFiles/Drosera_Standalone.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_AUv3.mm.o -[144/199] Building CXX object CMakeFiles/Drosera_Standalone.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_LV2.mm.o -[145/199] Building CXX object CMakeFiles/Drosera_Standalone.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_VST2.mm.o -[146/199] Building CXX object CMakeFiles/Drosera_Standalone.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_VST3.mm.o -[147/199] Building CXX object CMakeFiles/Drosera_AU.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_AAX_utils.cpp.o -[148/199] Building CXX object CMakeFiles/Drosera_AU.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_ARA.cpp.o -[149/199] Building CXX object CMakeFiles/Drosera_AU.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_Standalone.cpp.o -[150/199] Building CXX object CMakeFiles/Drosera_AU.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_Unity.cpp.o -[151/199] Building CXX object CMakeFiles/Drosera_AU.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_AAX.mm.o -[152/199] Building CXX object CMakeFiles/Drosera_Standalone.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_Standalone.cpp.o -[153/199] Building CXX object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_audio_processors/juce_audio_processors.mm.o -[154/199] Building CXX object CMakeFiles/Drosera_AU.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_AUv3.mm.o -[155/199] Building CXX object CMakeFiles/Drosera_AU.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_LV2.mm.o -[156/199] Building CXX object CMakeFiles/Drosera_AU.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_VST2.mm.o -[157/199] Building CXX object CMakeFiles/Drosera_AU.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_VST3.mm.o -[158/199] Building CXX object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_graphics/juce_graphics.mm.o -[159/199] Building CXX object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_graphics/juce_graphics_Harfbuzz.cpp.o -[160/199] Building CXX object CMakeFiles/plugin_host_test.dir/_deps/juce-src/modules/juce_audio_processors/juce_audio_processors_ara.cpp.o -[161/199] Building CXX object CMakeFiles/plugin_host_test.dir/_deps/juce-src/modules/juce_audio_processors/juce_audio_processors_lv2_libs.cpp.o -[162/199] Building CXX object CMakeFiles/Drosera_AU.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_AU_2.mm.o -[163/199] Building CXX object CMakeFiles/plugin_host_test.dir/tests/plugin_host_test.cpp.o -[164/199] Building CXX object CMakeFiles/Drosera_AU.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_AU_1.mm.o -[165/199] Building C object CMakeFiles/plugin_host_test.dir/_deps/juce-src/modules/juce_graphics/juce_graphics_Sheenbidi.c.o -[166/199] Building CXX object CMakeFiles/Drosera_VST3.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_VST3.mm.o -[167/199] Building CXX object CMakeFiles/plugin_host_test.dir/_deps/juce-src/modules/juce_gui_extra/juce_gui_extra.mm.o -[168/199] Linking CXX CFBundle shared module Drosera_artefacts/Release/VST3/Drosera.vst3/Contents/MacOS/Drosera -/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/build/Drosera_artefacts/Release/VST3/Drosera.vst3: code has no resources but signature indicates they must be present --- Replacing invalid signature with ad-hoc signature -/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/build/Drosera_artefacts/Release/VST3/Drosera.vst3: replacing existing signature -removing moduleinfo.json -creating /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/build/Drosera_artefacts/Release/VST3/Drosera.vst3 -/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/build/Drosera_artefacts/Release/VST3/Drosera.vst3: replacing existing signature -[169/199] Building CXX object CMakeFiles/plugin_host_test.dir/_deps/juce-src/modules/juce_core/juce_core_CompilationTime.cpp.o -[170/199] Building CXX object CMakeFiles/plugin_host_test.dir/_deps/juce-src/modules/juce_events/juce_events.mm.o -[171/199] Building CXX object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_gui_basics/juce_gui_basics.mm.o -[172/199] Building CXX object CMakeFiles/plugin_host_test.dir/_deps/juce-src/modules/juce_data_structures/juce_data_structures.mm.o -[173/199] Building CXX object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_events/juce_events.mm.o -[174/199] Building CXX object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_core/juce_core_CompilationTime.cpp.o -[175/199] Building CXX object CMakeFiles/plugin_host_test.dir/_deps/juce-src/modules/juce_audio_basics/juce_audio_basics.mm.o -[176/199] Building CXX object CMakeFiles/plugin_host_test.dir/_deps/juce-src/modules/juce_audio_processors/juce_audio_processors.mm.o -In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/build/_deps/juce-src/modules/juce_audio_processors/juce_audio_processors.mm:35: -In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/build/_deps/juce-src/modules/juce_audio_processors/juce_audio_processors.cpp:50: -In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/build/_deps/juce-src/modules/juce_audio_processors/juce_audio_processors.h:66: -In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/build/_deps/juce-src/modules/juce_gui_basics/juce_gui_basics.h:68: -In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/build/_deps/juce-src/modules/juce_graphics/juce_graphics.h:67: -In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/build/_deps/juce-src/modules/juce_core/juce_core.h:215: -In file included from /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/build/_deps/juce-src/modules/juce_core/system/juce_StandardHeader.h:68: -In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/functional:601: -In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/vector:363: -In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/locale:203: -/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale_dir/wstring_convert.h:179:1: warning: 'wstring_convert, char16_t>' is deprecated [-Wdeprecated-declarations] - 179 | wstring_convert<_Codecvt, _Elem, _WideAlloc, _ByteAlloc>::to_bytes(const _Elem* __frm, const _Elem* __frm_end) { - | ^ -/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/build/_deps/juce-src/modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/commonstringconvert.cpp:92:22: note: in instantiation of member function 'std::wstring_convert, char16_t>::to_bytes' requested here - 92 | return converter ().to_bytes (reinterpret_cast (str.data ()), - | ^ -/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale_dir/wstring_convert.h:34:7: note: 'wstring_convert, char16_t>' has been explicitly marked deprecated here - 34 | class _LIBCPP_DEPRECATED_IN_CXX17 wstring_convert { - | ^ -/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__config:540:41: note: expanded from macro '_LIBCPP_DEPRECATED_IN_CXX17' - 540 | # define _LIBCPP_DEPRECATED_IN_CXX17 _LIBCPP_DEPRECATED - | ^ -/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__config:504:49: note: expanded from macro '_LIBCPP_DEPRECATED' - 504 | # define _LIBCPP_DEPRECATED __attribute__((__deprecated__)) - | ^ -1 warning generated. -[177/199] Building CXX object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_data_structures/juce_data_structures.mm.o -[178/199] Building CXX object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_graphics/juce_graphics.mm.o -[179/199] Building CXX object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_graphics/juce_graphics_Harfbuzz.cpp.o -[180/199] Building CXX object CMakeFiles/plugin_host_test.dir/_deps/juce-src/modules/juce_core/juce_core.mm.o -[181/199] Linking CXX executable render_test -[182/199] Linking CXX executable voice_allocator_test -[183/199] Linking CXX executable pitch_probe -[184/199] Linking CXX executable render_cli -[185/199] Linking CXX executable Drosera_artefacts/Release/Standalone/Drosera.app/Contents/MacOS/Drosera -/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/build/Drosera_artefacts/Release/Standalone/Drosera.app: replacing existing signature -[186/199] Linking CXX CFBundle shared module Drosera_artefacts/Release/AU/Drosera.component/Contents/MacOS/Drosera -/Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/build/Drosera_artefacts/Release/AU/Drosera.component: replacing existing signature -[187/199] Linking CXX executable editor_snapshot_artefacts/Release/editor_snapshot -[188/199] Building CXX object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_audio_basics/juce_audio_basics.mm.o -[189/199] Building CXX object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_audio_devices/juce_audio_devices.mm.o -[190/199] Building CXX object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_dsp/juce_dsp.mm.o -[191/199] Building CXX object CMakeFiles/plugin_host_test.dir/_deps/juce-src/modules/juce_graphics/juce_graphics.mm.o -[192/199] Building CXX object CMakeFiles/plugin_host_test.dir/_deps/juce-src/modules/juce_graphics/juce_graphics_Harfbuzz.cpp.o -[193/199] Building CXX object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_gui_basics/juce_gui_basics.mm.o -[194/199] Building CXX object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_core/juce_core.mm.o -[195/199] Building CXX object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_audio_formats/juce_audio_formats.mm.o -[196/199] Linking CXX executable ui_test_artefacts/Release/ui_test -[197/199] Building CXX object CMakeFiles/plugin_host_test.dir/_deps/juce-src/modules/juce_gui_basics/juce_gui_basics.mm.o -[198/199] Linking CXX executable plugin_host_test_artefacts/Release/plugin_host_test diff --git a/review/logs/build-configure.log b/review/logs/build-configure.log deleted file mode 100644 index cf5470f..0000000 --- a/review/logs/build-configure.log +++ /dev/null @@ -1,20 +0,0 @@ --- The C compiler identification is AppleClang 21.0.0.21000401 --- The CXX compiler identification is AppleClang 21.0.0.21000401 --- Detecting C compiler ABI info --- Detecting C compiler ABI info - done --- Check for working C compiler: /usr/bin/cc - skipped --- Detecting C compile features --- Detecting C compile features - done --- Detecting CXX compiler ABI info --- Detecting CXX compiler ABI info - done --- Check for working CXX compiler: /usr/bin/c++ - skipped --- Detecting CXX compile features --- Detecting CXX compile features - done --- Configuring juceaide --- Building juceaide --- Exporting juceaide --- Testing juceaide --- Finished setting up juceaide --- Configuring done (20.0s) --- Generating done (0.0s) --- Build files have been written to: /Users/sveloccia/Workspace/codeskine/Drosera/.claude/worktrees/audio-plugin-vst3-au-review-9b137d/build diff --git a/review/logs/build-release.log b/review/logs/build-release.log deleted file mode 100644 index 93333d7..0000000 --- a/review/logs/build-release.log +++ /dev/null @@ -1,475 +0,0 @@ -[0/2] Re-checking globbed directories... -[1/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Control/line.cpp.o -[2/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Control/adsr.cpp.o -[3/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Control/adenv.cpp.o -[4/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Dynamics/balance.cpp.o -[5/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Drums/hihat.cpp.o -[6/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Control/phasor.cpp.o -[7/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Drums/analogbassdrum.cpp.o -[8/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Drums/synthsnaredrum.cpp.o -[9/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Dynamics/crossfade.cpp.o -[10/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Drums/analogsnaredrum.cpp.o -[11/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/bitcrush.cpp.o -[12/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/decimator.cpp.o -[13/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/autowah.cpp.o -[14/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/fold.cpp.o -[15/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/reverbsc.cpp.o -[16/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Dynamics/compressor.cpp.o -[17/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Drums/synthbassdrum.cpp.o -[18/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Dynamics/limiter.cpp.o -[19/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/wavefolder.cpp.o -[20/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Filters/allpass.cpp.o -[21/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Filters/mode.cpp.o -[22/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/sampleratereducer.cpp.o -[23/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/overdrive.cpp.o -[24/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/chorus.cpp.o -[25/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/phaser.cpp.o -[26/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/tremolo.cpp.o -[27/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Effects/flanger.cpp.o -[28/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Filters/nlfilt.cpp.o -[29/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Filters/biquad.cpp.o -[30/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Filters/atone.cpp.o -[31/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Filters/comb.cpp.o -[32/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Filters/moogladder.cpp.o -[33/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/PhysicalModeling/pluck.cpp.o -[34/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Filters/svf.cpp.o -[35/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Noise/clockednoise.cpp.o -[36/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Noise/particle.cpp.o -[37/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Filters/tone.cpp.o -[38/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Noise/grainlet.cpp.o -[39/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/PhysicalModeling/drip.cpp.o -[40/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Synthesis/blosc.cpp.o -[41/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/PhysicalModeling/KarplusString.cpp.o -[42/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/PhysicalModeling/modalvoice.cpp.o -[43/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/PhysicalModeling/stringvoice.cpp.o -[44/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/PhysicalModeling/resonator.cpp.o -[45/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Utility/dcblock.cpp.o -[46/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Utility/jitter.cpp.o -[47/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Utility/port.cpp.o -[48/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Synthesis/variablesawosc.cpp.o -[49/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Synthesis/formantosc.cpp.o -[50/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Synthesis/oscillator.cpp.o -[51/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Synthesis/oscillatorbank.cpp.o -[52/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Synthesis/fm2.cpp.o -[53/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Synthesis/vosim.cpp.o -[54/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Synthesis/variableshapeosc.cpp.o -[55/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Synthesis/zoscillator.cpp.o -[56/199] Building CXX object CMakeFiles/DaisySP.dir/third_party/DaisySP/Source/Utility/metro.cpp.o -[57/199] Building CXX object CMakeFiles/DroseraDSP.dir/src/dsp/BiquadFilters.cpp.o -[58/199] Building CXX object CMakeFiles/DroseraDSP.dir/src/dsp/KarplusString.cpp.o -[59/199] Building CXX object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_audio_processors/juce_audio_processors_ara.cpp.o -[60/199] Building CXX object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_audio_processors/juce_audio_processors_lv2_libs.cpp.o -[61/199] Linking CXX static library libDaisySP.a -[62/199] Building CXX object CMakeFiles/DroseraDSP.dir/src/dsp/FeedbackVoice.cpp.o -[63/199] Building CXX object CMakeFiles/DroseraDSP.dir/src/dsp/FeedbackSynthEngine.cpp.o -[64/199] Linking CXX static library libDroseraDSP.a -[65/199] Building C object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_graphics/juce_graphics_Sheenbidi.c.o -[66/199] Building CXX object CMakeFiles/Drosera.dir/src/plugin/ui/DroseraLookAndFeel.cpp.o -[67/199] Building CXX object CMakeFiles/Drosera.dir/src/plugin/ui/PlantView.cpp.o -[68/199] Building CXX object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_core/juce_core_CompilationTime.cpp.o -[69/199] Building CXX object CMakeFiles/Drosera.dir/src/plugin/ui/TabPanel.cpp.o -[70/199] Building CXX object CMakeFiles/Drosera.dir/src/plugin/PluginEditor.cpp.o -[71/199] Building CXX object CMakeFiles/Drosera.dir/src/plugin/PluginProcessor.cpp.o -In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginProcessor.cpp:9: -In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/DroseraCore.h:14: -In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/daisysp.h:27: -In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Drums/analogbassdrum.h:10: -In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Synthesis/oscillator.h:7: -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Utility/dsp.h:70:10: warning: cast from 'float *' to 'long *' increases required alignment from 4 to 8 [-Wcast-align] - 70 | lp = (long *)(&f); - | ^~~~~~~~~~~~ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Utility/dsp.h:82:10: warning: cast from 'float *' to 'long *' increases required alignment from 4 to 8 [-Wcast-align] - 82 | lp = (long *)(&f); - | ^~~~~~~~~~~~ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Utility/dsp.h:114:10: warning: implicit conversion from 'int' to 'float' may lose precision [-Wimplicit-int-float-conversion] - 114 | f += exp; - | ~~ ^~~ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Utility/dsp.h:246:31: warning: comparing floating point with == or != is unsafe [-Wfloat-equal] - 246 | if(!std::isnormal(x) && x != 0) - | ~ ^ ~ -In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginProcessor.cpp:9: -In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/DroseraCore.h:14: -In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/daisysp.h:36: -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Dynamics/crossfade.h:48:43: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] - 48 | curve_ = curve < CROSSFADE_LAST ? curve : CROSSFADE_LIN; - | ~ ^~~~~ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Dynamics/crossfade.h:69:31: warning: unused parameter 'pos' [-Wunused-parameter] - 69 | inline float GetPos(float pos) { return pos_; } - | ^ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Dynamics/crossfade.h:72:37: warning: unused parameter 'curve' [-Wunused-parameter] - 72 | inline uint8_t GetCurve(uint8_t curve) { return curve_; } - | ^ -In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginProcessor.cpp:9: -In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/DroseraCore.h:14: -In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/daisysp.h:49: -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Effects/pitchshifter.h:94:29: warning: implicit conversion from 'uint32_t' (aka 'unsigned int') to 'float' may lose precision [-Wimplicit-int-float-conversion] - 94 | * (del_size_ * 0.5f); - | ^~~~~~~~~ ~ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Effects/pitchshifter.h:101:29: warning: implicit conversion from 'uint32_t' (aka 'unsigned int') to 'float' may lose precision [-Wimplicit-int-float-conversion] - 101 | * (del_size_ * 0.5f); - | ^~~~~~~~~ ~ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Effects/pitchshifter.h:114:38: warning: implicit conversion from 'uint32_t' (aka 'unsigned int') to 'float' may lose precision [-Wimplicit-int-float-conversion] - 114 | mod_[0] = fade1 * (del_size_ - 1); - | ~ ~~~~~~~~~~^~~ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Effects/pitchshifter.h:115:38: warning: implicit conversion from 'uint32_t' (aka 'unsigned int') to 'float' may lose precision [-Wimplicit-int-float-conversion] - 115 | mod_[1] = fade2 * (del_size_ - 1); - | ~ ~~~~~~~~~~^~~ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Effects/pitchshifter.h:145:23: warning: comparing floating point with == or != is unsafe [-Wfloat-equal] - 145 | if(transpose_ != transpose || force_recalc_) - | ~~~~~~~~~~ ^ ~~~~~~~~~ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Effects/pitchshifter.h:159:50: warning: implicit conversion from 'uint32_t' (aka 'unsigned int') to 'float' may lose precision [-Wimplicit-int-float-conversion] - 159 | mod_freq_ = ((ratio - 1.0f) * sr_) / del_size_; - | ~ ^~~~~~~~~ -In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginProcessor.cpp:9: -In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/DroseraCore.h:14: -In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/daisysp.h:52: -In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Effects/wavefolder.h:8: -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Utility/dcblock.h:16:16: warning: extra ';' after member function definition [-Wextra-semi] - 16 | DcBlock(){}; - | ^ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Utility/dcblock.h:17:17: warning: extra ';' after member function definition [-Wextra-semi] - 17 | ~DcBlock(){}; - | ^ -In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginProcessor.cpp:9: -In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/DroseraCore.h:14: -In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/daisysp.h:68: -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Noise/dust.h:36:29: warning: implicit conversion from 'int' to 'float' may lose precision [-Wimplicit-int-float-conversion] - 36 | float u = rand() * kRandFrac; - | ^~~~~~ ~ -In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginProcessor.cpp:9: -In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/DroseraCore.h:14: -In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/daisysp.h:72: -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Noise/whitenoise.h:35:17: warning: implicit conversion from 'int32_t' (aka 'int') to 'float' may lose precision [-Wimplicit-int-float-conversion] - 35 | return (randseed_ * coeff_) * amp_; - | ^~~~~~~~~ ~ -In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginProcessor.cpp:9: -In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/DroseraCore.h:14: -In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/daisysp.h:76: -In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/PhysicalModeling/modalvoice.h:9: -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/PhysicalModeling/resonator.h:108:36: warning: implicit conversion loses floating-point precision: 'double' to 'const float' [-Wimplicit-float-conversion] - 108 | const float a = 3.260e-01 * kPiPow3; - | ~ ~~~~~~~~~~^~~~~~~~~ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/PhysicalModeling/resonator.h:109:36: warning: implicit conversion loses floating-point precision: 'double' to 'const float' [-Wimplicit-float-conversion] - 109 | const float b = 1.823e-01 * kPiPow5; - | ~ ~~~~~~~~~~^~~~~~~~~ -In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginProcessor.cpp:9: -In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/DroseraCore.h:14: -In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/daisysp.h:84: -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Synthesis/blosc.h:49:54: warning: extra ';' after member function definition [-Wextra-semi] - 49 | inline void SetFreq(float freq) { freq_ = freq; }; - | ^ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Synthesis/blosc.h:52:50: warning: extra ';' after member function definition [-Wextra-semi] - 52 | inline void SetAmp(float amp) { amp_ = amp; }; - | ^ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Synthesis/blosc.h:55:50: warning: extra ';' after member function definition [-Wextra-semi] - 55 | inline void SetPw(float pw) { pw_ = 1 - pw; }; - | ^ -In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginProcessor.cpp:9: -In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/DroseraCore.h:14: -In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/daisysp.h:100: -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Utility/looper.h:67:26: warning: implicit conversion from 'size_t' (aka 'unsigned long') to 'float' may lose precision [-Wimplicit-int-float-conversion] - 67 | win_ = WindowVal(win_idx_ * kWindowFactor); - | ^~~~~~~~ ~ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Utility/looper.h:73:23: warning: implicit conversion turns floating-point number into integer: 'float' to 'size_t' (aka 'unsigned long') [-Wfloat-conversion] - 73 | Write(pos_, input * win_); - | ~~~~~ ^~~~ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Utility/looper.h:76:28: warning: implicit conversion turns floating-point number into integer: 'float' to 'size_t' (aka 'unsigned long') [-Wfloat-conversion] - 76 | recsize_ = pos_; - | ~ ^~~~ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Utility/looper.h:78:40: warning: implicit conversion from 'size_t' (aka 'unsigned long') to 'float' may lose precision [-Wimplicit-int-float-conversion] - 78 | if(pos_ > buffer_size_ - 1) - | ~ ~~~~~~~~~~~~~^~~ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Utility/looper.h:81:37: warning: implicit conversion turns floating-point number into integer: 'float' to 'size_t' (aka 'unsigned long') [-Wfloat-conversion] - 81 | recsize_ = pos_ - 1; - | ~ ~~~~~^~~ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Utility/looper.h:86:28: warning: implicit conversion turns floating-point number into integer: 'float' to 'size_t' (aka 'unsigned long') [-Wfloat-conversion] - 86 | sig = Read(pos_); - | ~~~~ ^~~~ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Utility/looper.h:92:27: warning: implicit conversion turns floating-point number into integer: 'float' to 'size_t' (aka 'unsigned long') [-Wfloat-conversion] - 92 | Write(pos_, sig + input * (1.f - win_)); - | ~~~~~ ^~~~ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Utility/looper.h:97:36: warning: implicit conversion from 'size_t' (aka 'unsigned long') to 'float' may lose precision [-Wimplicit-int-float-conversion] - 97 | if(pos_ > recsize_ - 1) - | ~ ~~~~~~~~~^~~ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Utility/looper.h:104:40: warning: implicit conversion from 'size_t' (aka 'unsigned long') to 'float' may lose precision [-Wimplicit-int-float-conversion] - 104 | pos_ = recsize_ - 1; - | ~ ~~~~~~~~~^~~ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Utility/looper.h:119:28: warning: implicit conversion turns floating-point number into integer: 'float' to 'size_t' (aka 'unsigned long') [-Wfloat-conversion] - 119 | sig = Read(pos_); - | ~~~~ ^~~~ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Utility/looper.h:122:47: warning: implicit conversion turns floating-point number into integer: 'float' to 'size_t' (aka 'unsigned long') [-Wfloat-conversion] - 122 | case Mode::REPLACE: Write(pos_, input * win_); break; - | ~~~~~ ^~~~ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Utility/looper.h:124:31: warning: implicit conversion turns floating-point number into integer: 'float' to 'size_t' (aka 'unsigned long') [-Wfloat-conversion] - 124 | Write(pos_, (input * win_) + (sig * kFripDecayVal)); - | ~~~~~ ^~~~ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Utility/looper.h:128:36: warning: implicit conversion turns floating-point number into integer: 'float' to 'size_t' (aka 'unsigned long') [-Wfloat-conversion] - 128 | default: Write(pos_, (input * win_) + sig); break; - | ~~~~~ ^~~~ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Utility/looper.h:133:36: warning: implicit conversion from 'size_t' (aka 'unsigned long') to 'float' may lose precision [-Wimplicit-int-float-conversion] - 133 | if(pos_ > recsize_ - 1) - | ~ ~~~~~~~~~^~~ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Utility/looper.h:140:40: warning: implicit conversion from 'size_t' (aka 'unsigned long') to 'float' may lose precision [-Wimplicit-int-float-conversion] - 140 | pos_ = recsize_ - 1; - | ~ ~~~~~~~~~^~~ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Utility/looper.h:256:32: warning: implicit conversion from 'uint32_t' (aka 'unsigned int') to 'float' may lose precision [-Wimplicit-int-float-conversion] - 256 | frac = pos - i_idx; - | ~ ^~~~~ -In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginProcessor.cpp:9: -In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/DroseraCore.h:14: -In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/daisysp.h:105: -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Utility/smooth_random.h:51:25: warning: implicit conversion from 'int' to 'float' may lose precision [-Wimplicit-int-float-conversion] - 51 | interval_ = rand() * kRandFrac * 2.0f - 1.0f - from_; - | ^~~~~~ ~ -In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginProcessor.cpp:9: -In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/DroseraCore.h:16: -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/ParameterRegistry.h:26:31: warning: extra ';' after member function definition [-Wextra-semi] - 26 | ParameterRegistry() {}; - | ^ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/ParameterRegistry.h:27:32: warning: extra ';' after member function definition [-Wextra-semi] - 27 | ~ParameterRegistry() {}; - | ^ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/ParameterRegistry.h:86:57: warning: constructor parameter 'min' shadows the field 'min' of 'ParamState' [-Wshadow-field-in-constructor] - 86 | ParamState(const float initial, const float min, const float max, - | ^ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/ParameterRegistry.h:80:25: note: previous declaration is here - 80 | const float min; - | ^ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/ParameterRegistry.h:86:74: warning: constructor parameter 'max' shadows the field 'max' of 'ParamState' [-Wshadow-field-in-constructor] - 86 | ParamState(const float initial, const float min, const float max, - | ^ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/ParameterRegistry.h:81:25: note: previous declaration is here - 81 | const float max; - | ^ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/ParameterRegistry.h:87:65: warning: constructor parameter 'mapping' shadows the field 'mapping' of 'ParamState' [-Wshadow-field-in-constructor] - 87 | const float coef, const daisysp::Mapping mapping, const Handler handler) - | ^ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/ParameterRegistry.h:82:36: note: previous declaration is here - 82 | const daisysp::Mapping mapping; - | ^ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/ParameterRegistry.h:87:88: warning: constructor parameter 'handler' shadows the field 'handler' of 'ParamState' [-Wshadow-field-in-constructor] - 87 | const float coef, const daisysp::Mapping mapping, const Handler handler) - | ^ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/ParameterRegistry.h:83:27: note: previous declaration is here - 83 | const Handler handler; - | ^ -In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginProcessor.cpp:9: -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/DroseraCore.h:52:48: warning: implicit conversion changes signedness: 'Param' to 'size_type' (aka 'unsigned long') [-Wsign-conversion] - 52 | void SetParam(Param p, float norm) { norm_[p] = norm; } - | ~~~~~ ^ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginProcessor.cpp:50:13: warning: enumeration value 'Percent' not explicitly handled in switch [-Wswitch-enum] - 50 | switch (s.show) { - | ^~~~~~ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginProcessor.cpp:50:13: note: add missing switch cases - 50 | switch (s.show) { - | ^ - 51 | // The engine's real values, not the knob's position: these curves are far from linear. - 52 | case Show::ValuePercent: return juce::String(juce::roundToInt(v * 100.0f)) + " %"; -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginProcessor.cpp:243:22: warning: comparing floating point with == or != is unsafe [-Wfloat-equal] - 243 | if (freqKnob != lastFreqKnob) { - | ~~~~~~~~ ^ ~~~~~~~~~~~~ -In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginProcessor.cpp:9: -In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/DroseraCore.h:14: -In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/daisysp.h:42: -In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Effects/chorus.h:9: -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Utility/delayline.h:58:62: warning: operand of ? changes signedness: 'int32_t' (aka 'int') to 'unsigned long' [-Wsign-conversion] - 58 | delay_ = static_cast(int_delay) < max_size ? int_delay - | ~ ^~~~~~~~~ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Effects/pitchshifter.h:129:15: note: in instantiation of member function 'daisysp::DelayLine::SetDelay' requested here - 129 | d_[0].SetDelay(mod_[0] + mod_a_amt_); - | ^ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Effects/pitchshifter.h:196:49: warning: private field 'pitch_shift_' is not used [-Wunused-private-field] - 196 | float pitch_shift_, mod_freq_; - | ^ -50 warnings generated. -[72/199] Building CXX object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_data_structures/juce_data_structures.mm.o -[73/199] Building CXX object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_events/juce_events.mm.o -[74/199] Building CXX object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_gui_extra/juce_gui_extra.mm.o -[75/199] Building CXX object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_audio_utils/juce_audio_utils.mm.o -[76/199] Building CXX object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_audio_basics/juce_audio_basics.mm.o -[77/199] Copying OS X Content Drosera_artefacts/Release/Standalone/Drosera.app/Contents/Resources/RecentFilesMenuTemplate.nib -[78/199] Building CXX object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_audio_processors/juce_audio_processors.mm.o -[79/199] Building CXX object CMakeFiles/voice_allocator_test.dir/tests/voice_allocator_test.cpp.o -[80/199] Building CXX object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_audio_devices/juce_audio_devices.mm.o -[81/199] Building CXX object CMakeFiles/pitch_probe.dir/tests/pitch_probe.cpp.o -[82/199] Building CXX object CMakeFiles/render_cli.dir/tests/render_cli.cpp.o -[83/199] Building CXX object CMakeFiles/Drosera_vst3_helper.dir/_deps/juce-src/modules/juce_audio_plugin_client/VST3/juce_VST3ManifestHelper.mm.o -In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/build/release/_deps/juce-src/modules/juce_audio_plugin_client/VST3/juce_VST3ManifestHelper.mm:35: -In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/build/release/_deps/juce-src/modules/juce_audio_plugin_client/VST3/juce_VST3ManifestHelper.cpp:47: -In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/functional:601: -In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/vector:363: -In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/locale:203: -/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale_dir/wstring_convert.h:179:1: warning: 'wstring_convert, char16_t>' is deprecated [-Wdeprecated-declarations] - 179 | wstring_convert<_Codecvt, _Elem, _WideAlloc, _ByteAlloc>::to_bytes(const _Elem* __frm, const _Elem* __frm_end) { - | ^ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/build/release/_deps/juce-src/modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/commonstringconvert.cpp:92:22: note: in instantiation of member function 'std::wstring_convert, char16_t>::to_bytes' requested here - 92 | return converter ().to_bytes (reinterpret_cast (str.data ()), - | ^ -/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale_dir/wstring_convert.h:34:7: note: 'wstring_convert, char16_t>' has been explicitly marked deprecated here - 34 | class _LIBCPP_DEPRECATED_IN_CXX17 wstring_convert { - | ^ -/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__config:540:41: note: expanded from macro '_LIBCPP_DEPRECATED_IN_CXX17' - 540 | # define _LIBCPP_DEPRECATED_IN_CXX17 _LIBCPP_DEPRECATED - | ^ -/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__config:504:49: note: expanded from macro '_LIBCPP_DEPRECATED' - 504 | # define _LIBCPP_DEPRECATED __attribute__((__deprecated__)) - | ^ -1 warning generated. -[84/199] Linking CXX executable Drosera_vst3_helper -[85/199] Building CXX object CMakeFiles/render_test.dir/tests/render_test.cpp.o -[86/199] Building CXX object CMakeFiles/editor_snapshot.dir/tests/editor_snapshot.cpp.o -[87/199] Building CXX object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_dsp/juce_dsp.mm.o -[88/199] Building CXX object CMakeFiles/editor_snapshot.dir/src/plugin/PluginEditor.cpp.o -[89/199] Building CXX object CMakeFiles/editor_snapshot.dir/src/plugin/ui/DroseraLookAndFeel.cpp.o -[90/199] Building CXX object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_audio_processors/juce_audio_processors_ara.cpp.o -[91/199] Building CXX object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_audio_processors/juce_audio_processors_lv2_libs.cpp.o -[92/199] Building CXX object CMakeFiles/editor_snapshot.dir/src/plugin/ui/PlantView.cpp.o -[93/199] Building CXX object CMakeFiles/editor_snapshot.dir/src/plugin/PluginProcessor.cpp.o -[94/199] Building CXX object CMakeFiles/editor_snapshot.dir/src/plugin/ui/TabPanel.cpp.o -[95/199] Building CXX object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_audio_formats/juce_audio_formats.mm.o -[96/199] Building C object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_graphics/juce_graphics_Sheenbidi.c.o -[97/199] Building CXX object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_core/juce_core.mm.o -[98/199] Building CXX object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_audio_utils/juce_audio_utils.mm.o -[99/199] Building CXX object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_core/juce_core_CompilationTime.cpp.o -[100/199] Building CXX object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_events/juce_events.mm.o -[101/199] Building CXX object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_gui_extra/juce_gui_extra.mm.o -[102/199] Building CXX object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_data_structures/juce_data_structures.mm.o -[103/199] Building CXX object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_audio_processors/juce_audio_processors.mm.o -[104/199] Building CXX object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_graphics/juce_graphics.mm.o -[105/199] Building CXX object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_graphics/juce_graphics_Harfbuzz.cpp.o -[106/199] Building CXX object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_audio_basics/juce_audio_basics.mm.o -[107/199] Building CXX object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_audio_devices/juce_audio_devices.mm.o -[108/199] Building CXX object CMakeFiles/ui_test.dir/tests/ui_test.cpp.o -[109/199] Building CXX object CMakeFiles/ui_test.dir/src/plugin/PluginProcessor.cpp.o -[110/199] Building CXX object CMakeFiles/ui_test.dir/src/plugin/PluginEditor.cpp.o -[111/199] Building CXX object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_dsp/juce_dsp.mm.o -[112/199] Building CXX object CMakeFiles/ui_test.dir/src/plugin/ui/DroseraLookAndFeel.cpp.o -[113/199] Building CXX object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_audio_processors/juce_audio_processors_ara.cpp.o -[114/199] Building CXX object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_audio_processors/juce_audio_processors_lv2_libs.cpp.o -[115/199] Building CXX object CMakeFiles/ui_test.dir/src/plugin/ui/PlantView.cpp.o -[116/199] Building CXX object CMakeFiles/ui_test.dir/src/plugin/ui/TabPanel.cpp.o -[117/199] Building CXX object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_core/juce_core.mm.o -[118/199] Building CXX object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_audio_formats/juce_audio_formats.mm.o -[119/199] Building C object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_graphics/juce_graphics_Sheenbidi.c.o -[120/199] Building CXX object CMakeFiles/Drosera.dir/_deps/juce-src/modules/juce_gui_basics/juce_gui_basics.mm.o -In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/build/release/_deps/juce-src/modules/juce_gui_basics/juce_gui_basics.mm:35: -In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/build/release/_deps/juce-src/modules/juce_gui_basics/juce_gui_basics.cpp:189: -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/build/release/_deps/juce-src/modules/juce_gui_basics/native/juce_NSViewComponentPeer_mac.mm:1923:17: warning: enumeration value 'NSEventTypeMouseCancelled' not explicitly handled in switch [-Wswitch-enum] - 1923 | switch ([e type]) - | ^~~~~~~~ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/build/release/_deps/juce-src/modules/juce_gui_basics/native/juce_NSViewComponentPeer_mac.mm:1923:17: note: add missing switch cases - 1923 | switch ([e type]) - | ^ -1 warning generated. -[121/199] Linking CXX static library Drosera_artefacts/Release/libDrosera_SharedCode.a -[122/199] Generating Drosera_artefacts/JuceLibraryCode/Drosera_VST3/PkgInfo -[123/199] Building CXX object CMakeFiles/Drosera_VST3.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_AAX_utils.cpp.o -[124/199] Building CXX object CMakeFiles/Drosera_VST3.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_ARA.cpp.o -[125/199] Building CXX object CMakeFiles/Drosera_VST3.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_Standalone.cpp.o -[126/199] Building CXX object CMakeFiles/Drosera_VST3.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_Unity.cpp.o -[127/199] Building CXX object CMakeFiles/Drosera_VST3.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_AAX.mm.o -[128/199] Building CXX object CMakeFiles/Drosera_VST3.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_AU_1.mm.o -[129/199] Building CXX object CMakeFiles/Drosera_VST3.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_AU_2.mm.o -[130/199] Building CXX object CMakeFiles/Drosera_VST3.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_AUv3.mm.o -[131/199] Building CXX object CMakeFiles/Drosera_VST3.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_LV2.mm.o -[132/199] Building CXX object CMakeFiles/Drosera_VST3.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_VST2.mm.o -[133/199] Building CXX object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_audio_utils/juce_audio_utils.mm.o -[134/199] Generating Drosera_artefacts/JuceLibraryCode/Drosera_Standalone/PkgInfo -[135/199] Generating Drosera_artefacts/JuceLibraryCode/Drosera_AU/PkgInfo -[136/199] Building CXX object CMakeFiles/Drosera_Standalone.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_AAX_utils.cpp.o -[137/199] Building CXX object CMakeFiles/Drosera_Standalone.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_ARA.cpp.o -[138/199] Building CXX object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_gui_extra/juce_gui_extra.mm.o -[139/199] Building CXX object CMakeFiles/Drosera_Standalone.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_Unity.cpp.o -[140/199] Building CXX object CMakeFiles/Drosera_Standalone.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_AAX.mm.o -[141/199] Building CXX object CMakeFiles/Drosera_Standalone.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_AU_1.mm.o -[142/199] Building CXX object CMakeFiles/Drosera_Standalone.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_AU_2.mm.o -[143/199] Building CXX object CMakeFiles/Drosera_Standalone.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_AUv3.mm.o -[144/199] Building CXX object CMakeFiles/Drosera_Standalone.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_LV2.mm.o -[145/199] Building CXX object CMakeFiles/Drosera_Standalone.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_VST2.mm.o -[146/199] Building CXX object CMakeFiles/Drosera_Standalone.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_VST3.mm.o -[147/199] Building CXX object CMakeFiles/Drosera_AU.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_AAX_utils.cpp.o -[148/199] Building CXX object CMakeFiles/Drosera_AU.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_ARA.cpp.o -[149/199] Building CXX object CMakeFiles/Drosera_AU.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_Standalone.cpp.o -[150/199] Building CXX object CMakeFiles/Drosera_AU.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_Unity.cpp.o -[151/199] Building CXX object CMakeFiles/Drosera_AU.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_AAX.mm.o -[152/199] Building CXX object CMakeFiles/Drosera_Standalone.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_Standalone.cpp.o -[153/199] Building CXX object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_audio_processors/juce_audio_processors.mm.o -[154/199] Building CXX object CMakeFiles/Drosera_AU.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_AUv3.mm.o -[155/199] Building CXX object CMakeFiles/Drosera_AU.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_LV2.mm.o -[156/199] Building CXX object CMakeFiles/Drosera_AU.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_VST2.mm.o -[157/199] Building CXX object CMakeFiles/Drosera_AU.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_VST3.mm.o -[158/199] Building CXX object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_graphics/juce_graphics.mm.o -[159/199] Building CXX object CMakeFiles/plugin_host_test.dir/_deps/juce-src/modules/juce_audio_processors/juce_audio_processors_ara.cpp.o -[160/199] Building CXX object CMakeFiles/plugin_host_test.dir/_deps/juce-src/modules/juce_audio_processors/juce_audio_processors_lv2_libs.cpp.o -[161/199] Building CXX object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_graphics/juce_graphics_Harfbuzz.cpp.o -[162/199] Building CXX object CMakeFiles/Drosera_AU.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_AU_2.mm.o -[163/199] Building CXX object CMakeFiles/plugin_host_test.dir/tests/plugin_host_test.cpp.o -[164/199] Building CXX object CMakeFiles/Drosera_AU.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_AU_1.mm.o -[165/199] Building C object CMakeFiles/plugin_host_test.dir/_deps/juce-src/modules/juce_graphics/juce_graphics_Sheenbidi.c.o -[166/199] Building CXX object CMakeFiles/Drosera_VST3.dir/_deps/juce-src/modules/juce_audio_plugin_client/juce_audio_plugin_client_VST3.mm.o -[167/199] Building CXX object CMakeFiles/plugin_host_test.dir/_deps/juce-src/modules/juce_gui_extra/juce_gui_extra.mm.o -[168/199] Linking CXX CFBundle shared module Drosera_artefacts/Release/VST3/Drosera.vst3/Contents/MacOS/Drosera -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/build/release/Drosera_artefacts/Release/VST3/Drosera.vst3: code has no resources but signature indicates they must be present --- Replacing invalid signature with ad-hoc signature -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/build/release/Drosera_artefacts/Release/VST3/Drosera.vst3: replacing existing signature -removing moduleinfo.json -creating /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/build/release/Drosera_artefacts/Release/VST3/Drosera.vst3 -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/build/release/Drosera_artefacts/Release/VST3/Drosera.vst3: replacing existing signature -[169/199] Building CXX object CMakeFiles/plugin_host_test.dir/_deps/juce-src/modules/juce_core/juce_core_CompilationTime.cpp.o -[170/199] Building CXX object CMakeFiles/plugin_host_test.dir/_deps/juce-src/modules/juce_events/juce_events.mm.o -[171/199] Building CXX object CMakeFiles/editor_snapshot.dir/_deps/juce-src/modules/juce_gui_basics/juce_gui_basics.mm.o -[172/199] Building CXX object CMakeFiles/plugin_host_test.dir/_deps/juce-src/modules/juce_data_structures/juce_data_structures.mm.o -[173/199] Building CXX object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_events/juce_events.mm.o -[174/199] Building CXX object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_core/juce_core_CompilationTime.cpp.o -[175/199] Building CXX object CMakeFiles/plugin_host_test.dir/_deps/juce-src/modules/juce_audio_basics/juce_audio_basics.mm.o -[176/199] Building CXX object CMakeFiles/plugin_host_test.dir/_deps/juce-src/modules/juce_audio_processors/juce_audio_processors.mm.o -In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/build/release/_deps/juce-src/modules/juce_audio_processors/juce_audio_processors.mm:35: -In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/build/release/_deps/juce-src/modules/juce_audio_processors/juce_audio_processors.cpp:50: -In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/build/release/_deps/juce-src/modules/juce_audio_processors/juce_audio_processors.h:66: -In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/build/release/_deps/juce-src/modules/juce_gui_basics/juce_gui_basics.h:68: -In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/build/release/_deps/juce-src/modules/juce_graphics/juce_graphics.h:67: -In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/build/release/_deps/juce-src/modules/juce_core/juce_core.h:215: -In file included from /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/build/release/_deps/juce-src/modules/juce_core/system/juce_StandardHeader.h:68: -In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/functional:601: -In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/vector:363: -In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/locale:203: -/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale_dir/wstring_convert.h:179:1: warning: 'wstring_convert, char16_t>' is deprecated [-Wdeprecated-declarations] - 179 | wstring_convert<_Codecvt, _Elem, _WideAlloc, _ByteAlloc>::to_bytes(const _Elem* __frm, const _Elem* __frm_end) { - | ^ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/build/release/_deps/juce-src/modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/commonstringconvert.cpp:92:22: note: in instantiation of member function 'std::wstring_convert, char16_t>::to_bytes' requested here - 92 | return converter ().to_bytes (reinterpret_cast (str.data ()), - | ^ -/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale_dir/wstring_convert.h:34:7: note: 'wstring_convert, char16_t>' has been explicitly marked deprecated here - 34 | class _LIBCPP_DEPRECATED_IN_CXX17 wstring_convert { - | ^ -/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__config:540:41: note: expanded from macro '_LIBCPP_DEPRECATED_IN_CXX17' - 540 | # define _LIBCPP_DEPRECATED_IN_CXX17 _LIBCPP_DEPRECATED - | ^ -/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__config:504:49: note: expanded from macro '_LIBCPP_DEPRECATED' - 504 | # define _LIBCPP_DEPRECATED __attribute__((__deprecated__)) - | ^ -1 warning generated. -[177/199] Building CXX object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_data_structures/juce_data_structures.mm.o -[178/199] Building CXX object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_graphics/juce_graphics.mm.o -[179/199] Building CXX object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_graphics/juce_graphics_Harfbuzz.cpp.o -[180/199] Building CXX object CMakeFiles/plugin_host_test.dir/_deps/juce-src/modules/juce_core/juce_core.mm.o -[181/199] Linking CXX executable render_test -[182/199] Linking CXX executable voice_allocator_test -[183/199] Linking CXX executable pitch_probe -[184/199] Linking CXX executable render_cli -[185/199] Linking CXX executable Drosera_artefacts/Release/Standalone/Drosera.app/Contents/MacOS/Drosera -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/build/release/Drosera_artefacts/Release/Standalone/Drosera.app: replacing existing signature -[186/199] Linking CXX CFBundle shared module Drosera_artefacts/Release/AU/Drosera.component/Contents/MacOS/Drosera -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/build/release/Drosera_artefacts/Release/AU/Drosera.component: replacing existing signature -[187/199] Linking CXX executable editor_snapshot_artefacts/Release/editor_snapshot -[188/199] Building CXX object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_audio_basics/juce_audio_basics.mm.o -[189/199] Building CXX object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_audio_devices/juce_audio_devices.mm.o -[190/199] Building CXX object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_dsp/juce_dsp.mm.o -[191/199] Building CXX object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_gui_basics/juce_gui_basics.mm.o -[192/199] Building CXX object CMakeFiles/plugin_host_test.dir/_deps/juce-src/modules/juce_graphics/juce_graphics.mm.o -[193/199] Building CXX object CMakeFiles/plugin_host_test.dir/_deps/juce-src/modules/juce_graphics/juce_graphics_Harfbuzz.cpp.o -[194/199] Building CXX object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_core/juce_core.mm.o -[195/199] Building CXX object CMakeFiles/ui_test.dir/_deps/juce-src/modules/juce_audio_formats/juce_audio_formats.mm.o -[196/199] Linking CXX executable ui_test_artefacts/Release/ui_test -[197/199] Building CXX object CMakeFiles/plugin_host_test.dir/_deps/juce-src/modules/juce_gui_basics/juce_gui_basics.mm.o -[198/199] Linking CXX executable plugin_host_test_artefacts/Release/plugin_host_test diff --git a/review/logs/clang-tidy.log b/review/logs/clang-tidy.log deleted file mode 100644 index 38eb72b..0000000 --- a/review/logs/clang-tidy.log +++ /dev/null @@ -1,144 +0,0 @@ -[1/9] Processing file /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/BiquadFilters.cpp. -[2/9] Processing file /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/FeedbackSynthEngine.cpp. -[3/9] Processing file /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/FeedbackVoice.cpp. -[4/9] Processing file /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/KarplusString.cpp. -[5/9] (1/3) Processing file /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginProcessor.cpp. -Error while processing /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginProcessor.cpp. -[5/9] (2/3) Processing file /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginProcessor.cpp. -Error while processing /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginProcessor.cpp. -[5/9] (3/3) Processing file /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginProcessor.cpp. -Error while processing /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginProcessor.cpp. -[6/9] (1/3) Processing file /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginEditor.cpp. -Error while processing /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginEditor.cpp. -[6/9] (2/3) Processing file /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginEditor.cpp. -Error while processing /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginEditor.cpp. -[6/9] (3/3) Processing file /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginEditor.cpp. -Error while processing /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginEditor.cpp. -[7/9] (1/3) Processing file /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/ui/DroseraLookAndFeel.cpp. -Error while processing /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/ui/DroseraLookAndFeel.cpp. -[7/9] (2/3) Processing file /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/ui/DroseraLookAndFeel.cpp. -Error while processing /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/ui/DroseraLookAndFeel.cpp. -[7/9] (3/3) Processing file /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/ui/DroseraLookAndFeel.cpp. -Error while processing /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/ui/DroseraLookAndFeel.cpp. -[8/9] (1/3) Processing file /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/ui/PlantView.cpp. -Error while processing /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/ui/PlantView.cpp. -[8/9] (2/3) Processing file /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/ui/PlantView.cpp. -Error while processing /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/ui/PlantView.cpp. -[8/9] (3/3) Processing file /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/ui/PlantView.cpp. -Error while processing /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/ui/PlantView.cpp. -[9/9] (1/3) Processing file /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/ui/TabPanel.cpp. -Error while processing /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/ui/TabPanel.cpp. -[9/9] (2/3) Processing file /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/ui/TabPanel.cpp. -Error while processing /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/ui/TabPanel.cpp. -[9/9] (3/3) Processing file /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/ui/TabPanel.cpp. -Error while processing /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/ui/TabPanel.cpp. -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/build/release/_deps/juce-src/modules/juce_audio_processors/processors/juce_AudioPluginInstance.h:173:74: error: no matching constructor for initialization of 'AudioProcessor' [clang-diagnostic-error] - 173 | AudioPluginInstance (const short channelLayoutList[numLayouts][2]) : AudioProcessor (channelLayoutList) {} - | ^ ~~~~~~~~~~~~~~~~~ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/build/release/_deps/juce-src/modules/juce_audio_processors/processors/juce_AudioProcessor.h:74:5: note: candidate constructor not viable: no known conversion from 'const short (*)[2]' to 'const BusesProperties' for 1st argument - 74 | AudioProcessor (const BusesProperties& ioLayouts); - | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/build/release/_deps/juce-src/modules/juce_audio_processors/processors/juce_AudioProcessor.h:79:5: note: candidate constructor not viable: no known conversion from 'const short (*)[2]' to 'const std::initializer_list' for 1st argument - 79 | AudioProcessor (const std::initializer_list& channelLayoutList) - | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/build/release/_deps/juce-src/modules/juce_audio_processors/processors/juce_AudioProcessor.h:1650:51: note: candidate constructor not viable: no known conversion from 'const short (*)[2]' to 'const AudioProcessor' for 1st argument - 1650 | JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (AudioProcessor) - | ^ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/build/release/_deps/juce-src/modules/juce_core/system/juce_PlatformDefs.h:264:31: note: expanded from macro 'JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR' - 264 | JUCE_DECLARE_NON_COPYABLE(className) \ - | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/build/release/_deps/juce-src/modules/juce_core/system/juce_PlatformDefs.h:250:5: note: expanded from macro 'JUCE_DECLARE_NON_COPYABLE' - 250 | className (const className&) = delete;\ - | ^ ~~~~~~~~~~~~~~~~ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/build/release/_deps/juce-src/modules/juce_audio_processors/processors/juce_AudioProcessor.h:67:5: note: candidate constructor not viable: requires 0 arguments, but 1 was provided - 67 | AudioProcessor(); - | ^ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/BiquadFilters.h:19:20: warning: enum 'FilterType' uses a larger base type ('int', size: 4 bytes) than necessary for its value set, consider using 'std::uint8_t' (1 byte) as the base type to reduce its size [performance-enum-size] - 19 | enum class FilterType { - | ^ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/DroseraCore.h:25:10: warning: enum 'Param' uses a larger base type ('int', size: 4 bytes) than necessary for its value set, consider using 'std::uint8_t' (1 byte) as the base type to reduce its size [performance-enum-size] - 25 | enum Param : int { - | ^ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/DroseraCore.h:142:10: warning: enum 'VoiceParam' uses a larger base type ('int', size: 4 bytes) than necessary for its value set, consider using 'std::uint8_t' (1 byte) as the base type to reduce its size [performance-enum-size] - 142 | enum VoiceParam : int { Voice1Pitch, Voice2Pitch, Voice1Gain, Voice2Gain, Coupling, Voice0Receive, Voice1Receive, Voice2Receive }; - | ^ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/DroseraCore.h:144:10: warning: enum 'EchoParam' uses a larger base type ('int', size: 4 bytes) than necessary for its value set, consider using 'std::uint8_t' (1 byte) as the base type to reduce its size [performance-enum-size] - 144 | enum EchoParam : int { Drive, Tone, Width, Level }; - | ^ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/DroseraCore.h:321:10: warning: enum 'BiquadKind' uses a larger base type ('unsigned int', size: 4 bytes) than necessary for its value set, consider using 'std::uint8_t' (1 byte) as the base type to reduce its size [performance-enum-size] - 321 | enum BiquadKind { LP, HP }; - | ^ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/FeedbackSynthEngine.h:77:53: warning: performing an implicit widening conversion to type 'const size_t' (aka 'const unsigned long') of a multiplication performed in type 'int' [bugprone-implicit-widening-of-multiplication-result] - 77 | static constexpr size_t kMaxEchoDelaySamp = 48000 * 5; - | ^ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/FeedbackSynthEngine.h:77:53: note: make conversion explicit to silence this warning - 5 | static constexpr size_t kMaxEchoDelaySamp = 48000 * 5; - | ^~~~~~~~~ - | static_cast( ) -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/FeedbackSynthEngine.h:77:53: note: perform multiplication in a wider type - 77 | static constexpr size_t kMaxEchoDelaySamp = 48000 * 5; - | ^~~~~ - | static_cast( ) -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/ParameterRegistry.h:39:70: warning: parameter 'handler' of type 'Handler' (aka 'std::function') is passed by value and only copied once; consider moving it to avoid unnecessary copies [performance-unnecessary-value-param] - 7 | ParamState state(initial_value, min, max, coef, mapping, handler); - | ^ - | std::move( ) -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/ParameterRegistry.h:87:88: warning: the const qualified parameter 'handler' of type 'const Handler' (aka 'const std::function') is copied for each invocation; consider making it a reference [performance-unnecessary-value-param] - 87 | const float coef, const daisysp::Mapping mapping, const Handler handler) - | ^ - | & -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/SincResampler.h:24:23: warning: either cast from 'int' to 'size_t' (aka 'unsigned long') is ineffective, or there is loss of precision before the conversion [bugprone-misplaced-widening-cast] - 24 | table_.assign((size_t)((kPhases + 1) * kTaps), 0.0f); - | ^ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/SincResampler.h:28:34: warning: either cast from 'int' to 'size_t' (aka 'unsigned long') is ineffective, or there is loss of precision before the conversion [bugprone-misplaced-widening-cast] - 28 | float* row = &table_[(size_t)(p * kTaps)]; - | ^ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/SincResampler.h:32:47: warning: result of integer division used in a floating point context; possible loss of precision [bugprone-integer-division] - 32 | const double x = (double)(t - kTaps / 2) + frac; - | ^ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/dsp/SincResampler.h:63:38: warning: either cast from 'int' to 'size_t' (aka 'unsigned long') is ineffective, or there is loss of precision before the conversion [bugprone-misplaced-widening-cast] - 63 | const float* a = &table_[(size_t)(p * kTaps)]; - | ^ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginProcessor.cpp:22:12: warning: enum 'Show' uses a larger base type ('int', size: 4 bytes) than necessary for its value set, consider using 'std::uint8_t' (1 byte) as the base type to reduce its size [performance-enum-size] - 22 | enum class Show { Percent, ValuePercent, LevelDb, ReverbFeedback, NoteHz, Db, Millis, Hz, Seconds }; - | ^ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginProcessor.cpp:147:21: warning: performing an implicit widening conversion to type 'size_t' (aka 'unsigned long') of a multiplication performed in type 'int' [bugprone-implicit-widening-of-multiplication-result] - 147 | outL.assign(kMaxChunk * 2 * maxRatio + 4096, 0.0f); - | ^ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginProcessor.cpp:147:21: note: make conversion explicit to silence this warning - 8 | outL.assign(kMaxChunk * 2 * maxRatio + 4096, 0.0f); - | ^~~~~~~~~~~~~ - | static_cast( ) -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginProcessor.cpp:147:21: note: perform multiplication in a wider type - 147 | outL.assign(kMaxChunk * 2 * maxRatio + 4096, 0.0f); - | ^~~~~~~~~ - | static_cast( ) -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginProcessor.cpp:150:21: warning: performing an implicit widening conversion to type 'size_t' (aka 'unsigned long') of a multiplication performed in type 'int' [bugprone-implicit-widening-of-multiplication-result] - 150 | in48.assign(kMaxChunk * 2 * maxRatio + 64, 0.0f); - | ^ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginProcessor.cpp:150:21: note: make conversion explicit to silence this warning - 150 | in48.assign(kMaxChunk * 2 * maxRatio + 64, 0.0f); - | ^~~~~~~~~~~~~ - | static_cast( ) -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/PluginProcessor.cpp:150:21: note: perform multiplication in a wider type - 150 | in48.assign(kMaxChunk * 2 * maxRatio + 64, 0.0f); - | ^~~~~~~~~ - | static_cast( ) -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/ui/PlantView.h:29:53: warning: use of a signed integer operand with a binary bitwise operator [bugprone-signed-bitwise] - 29 | static constexpr int kFftOrder = 11, kFftSize = 1 << kFftOrder; - | ^ ~~ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/ui/PlantView.h:36:23: warning: performing an implicit widening conversion to type 'size_t' (aka 'unsigned long') of a multiplication performed in type 'int' [bugprone-implicit-widening-of-multiplication-result] - 36 | std::array fftData_ {}; - | ^ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/ui/PlantView.h:36:23: note: make conversion explicit to silence this warning - 8 | std::array fftData_ {}; - | ^~~~~~~~~~~~ - | static_cast( ) -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/ui/PlantView.h:36:23: note: perform multiplication in a wider type - 36 | std::array fftData_ {}; - | ^ - | static_cast( ) -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/ui/Readouts.h:14:5: warning: the value returned by this function should not be disregarded; neglecting it may lead to errors [cert-err33-c] - 14 | std::snprintf(text, sizeof(text), pattern, value); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -/private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/src/plugin/ui/Readouts.h:14:5: note: cast the expression to void to silence this warning diff --git a/review/logs/exp1_cpu.log b/review/logs/exp1_cpu.log deleted file mode 100644 index a7bc037..0000000 --- a/review/logs/exp1_cpu.log +++ /dev/null @@ -1,7 +0,0 @@ -Default (mono knob) 0.56% of one core peak 0.329 samples > 1.0: 0 recoveries 0 -Keys (mono MIDI tracking) 0.95% of one core peak 0.336 samples > 1.0: 0 recoveries 0 -Open Fifths (poly, lock) 2.14% of one core peak 0.476 samples > 1.0: 0 recoveries 0 -Sympathetic (poly, free) 1.37% of one core peak 0.497 samples > 1.0: 0 recoveries 0 -Chord Keys (poly MIDI) 2.22% of one core peak 0.283 samples > 1.0: 0 recoveries 0 -Ember Pong (pong on) 0.59% of one core peak 0.243 samples > 1.0: 0 recoveries 0 -Razor Feedback (gain 0.95) 0.53% of one core peak 0.285 samples > 1.0: 0 recoveries 0 diff --git a/review/logs/exp2_edges.log b/review/logs/exp2_edges.log deleted file mode 100644 index 1f7016a..0000000 --- a/review/logs/exp2_edges.log +++ /dev/null @@ -1,13 +0,0 @@ -A) impulse at 0 s: first repeat after 0.954 s (knob says 0.248 s), level 0.007 -A) impulse at 2 s: first repeat after 0.296 s (knob says 0.248 s), level 0.014 -A) impulse at 6 s: first repeat after 0.248 s (knob says 0.248 s), level 0.015 -C) 48k->44.1k 1000 Hz: amplitude 1.0001 (0.00 dB), output rms 0.7071 -C) 48k->44.1k 10000 Hz: amplitude 1.0000 (-0.00 dB), output rms 0.7071 -C) 48k->44.1k 18000 Hz: amplitude 1.0000 (-0.00 dB), output rms 0.7071 -C) 48k->44.1k 21000 Hz: amplitude 0.1505 (-16.45 dB), output rms 0.1064 -C) 48k->44.1k 23000 Hz: amplitude 0.0000 (-94.34 dB), output rms 0.0000 -D) knob note 72 with +24 st: voice 1 publishes note 84.0 (voice 0 72.0), voice 2 (+12) 84.0 -B) everything max, reverb 1.0 3 min: peak 0.767, samples > 1.0: 0, rms(2nd half) 0.407, recoveries 0 -B) max + pong drive max 3 min: peak 0.767, samples > 1.0: 0, rms(2nd half) 0.407, recoveries 0 -B) max + poly + coupling max 3 min: peak 0.771, samples > 1.0: 0, rms(2nd half) 0.271, recoveries 0 -B) low + poly + coupling max 3 min: peak 0.824, samples > 1.0: 0, rms(2nd half) 0.281, recoveries 0 diff --git a/review/logs/exp3_order.log b/review/logs/exp3_order.log deleted file mode 100644 index adc951b..0000000 --- a/review/logs/exp3_order.log +++ /dev/null @@ -1,2 +0,0 @@ -registration order: Frequency .. OutputVolume -handler order: OutputVolume EchoFeedback EchoTime EchoSend ReverbDecay ReverbMix FeedbackHPF FeedbackLPF FeedbackBody FeedbackGain Frequency diff --git a/review/logs/host_probe-longrun-and-checksums-with-patch.log b/review/logs/host_probe-longrun-and-checksums-with-patch.log deleted file mode 100644 index a64a3d0..0000000 --- a/review/logs/host_probe-longrun-and-checksums-with-patch.log +++ /dev/null @@ -1,22 +0,0 @@ -patched -build exit 0 -=== host_probe (long run + latency drift) -60 s at 44.1k, mixed block sizes: finite=1 quiet blocks=0, latency after: declared 327 measured 329 OK -HOST PROBE ALL OK -=== check_reference with the whitenoise patch -p01_mid_drone.wav: OK -p02_low_dark.wav: OK -p03_high_bright.wav: OK -p04_reverb_wash.wav: OK -p05_echo_swell.wav: OK -p06_echo_halved.wav: OK -p07_long_body.wav: OK -p08_max_feedback.wav: OK -p09_dark_filtered.wav: OK -p10_everything_mid.wav: OK -exit 0 -=== render_test with the patch -exit 0 -ALL OK - -[exited with code 0] diff --git a/review/logs/host_probe.log b/review/logs/host_probe.log deleted file mode 100644 index 575647d..0000000 --- a/review/logs/host_probe.log +++ /dev/null @@ -1,31 +0,0 @@ -build exit 0 -sr=22050 block=1 peak=0.293 rms=0.1241 finite=1 latency=188 OK -sr=22050 block=7 peak=0.293 rms=0.1241 finite=1 latency=188 OK -sr=22050 block=2048 peak=0.293 rms=0.1244 finite=1 latency=188 OK -sr=22050 block=8192 peak=0.293 rms=0.1249 finite=1 latency=188 OK -sr=44100 block=1 peak=0.318 rms=0.1457 finite=1 latency=327 OK -sr=44100 block=7 peak=0.318 rms=0.1457 finite=1 latency=327 OK -sr=44100 block=2048 peak=0.318 rms=0.1458 finite=1 latency=327 OK -sr=44100 block=8192 peak=0.318 rms=0.1457 finite=1 latency=327 OK -sr=88200 block=1 peak=0.313 rms=0.1463 finite=1 latency=607 OK -sr=88200 block=7 peak=0.313 rms=0.1463 finite=1 latency=607 OK -sr=88200 block=2048 peak=0.313 rms=0.1464 finite=1 latency=607 OK -sr=88200 block=8192 peak=0.313 rms=0.1460 finite=1 latency=607 OK -sr=176400 block=1 peak=0.306 rms=0.1449 finite=1 latency=1165 OK -sr=176400 block=7 peak=0.306 rms=0.1449 finite=1 latency=1165 OK -sr=176400 block=2048 peak=0.306 rms=0.1450 finite=1 latency=1165 OK -sr=176400 block=8192 peak=0.306 rms=0.1450 finite=1 latency=1165 OK -sr=192000 block=1 peak=0.306 rms=0.1437 finite=1 latency=1264 OK -sr=192000 block=7 peak=0.306 rms=0.1437 finite=1 latency=1264 OK -sr=192000 block=2048 peak=0.306 rms=0.1436 finite=1 latency=1264 OK -sr=192000 block=8192 peak=0.306 rms=0.1438 finite=1 latency=1264 OK -sr=22050 latency: declared 188, measured 188 OK -sr=88200 latency: declared 607, measured 609 OK -sr=192000 latency: declared 1264, measured 1269 OK -60 s at 44.1k, mixed block sizes: finite=1 quiet blocks=0 OK -empty block and bypass: finite=1 peak=0.000 OK -garbage and truncated state: still processing, finite=1 OK -note-on velocity 0 releases the gate: rms after 0.00050 OK -HOST PROBE ALL OK - -[exited with code 0] diff --git a/review/logs/plugin_host_test-after-fixes.log b/review/logs/plugin_host_test-after-fixes.log deleted file mode 100644 index 29c407f..0000000 --- a/review/logs/plugin_host_test-after-fixes.log +++ /dev/null @@ -1,2161 +0,0 @@ -Found: Drosera (VST3) isInstrument=1 -parameter identity: OK -saved state from the baseline build: OK -Parameters: 2107 - Frequency default=82.8 Hz now=82.8 Hz - Feedback default=-6.0 dB now=-6.0 dB - Body default=9.9 ms now=9.9 ms - Lowpass default=10708 Hz now=10708 Hz - Highpass default=33 Hz now=33 Hz - Reverb Mix default=30 % now=30 % - Reverb Decay default=85 % now=85 % - Echo Send default=4 % now=4 % - Echo Time default=1.29 s now=1.29 s - Echo Feedback default=60 % now=60 % - Volume default=-6.2 dB now=-6.2 dB - Echo Warp default=Off now=Off - Input Level default=0.0 dB now=0.0 dB - MIDI Pitch default=Off now=Off - MIDI Gate default=Off now=Off - Polyphony default=Off now=Off - Coupling default=0 % now=0 % - Interval 2 default=+7 st now=+7 st - Interval 3 default=+12 st now=+12 st - String Lock default=On now=On - Echo Pong default=Off now=Off - Echo Drive default=+0.0 dB now=+0.0 dB - Echo Tone default=800 Hz now=800 Hz - Echo Width default=100 % now=100 % - Echo Level default=0.0 dB now=0.0 dB - Bypass default=Off now=Off - Program default=Default now=Default - MIDI CC 0|0 default=0.0000 now=0.0000 - MIDI CC 0|1 default=0.0000 now=0.0000 - MIDI CC 0|2 default=0.0000 now=0.0000 - MIDI CC 0|3 default=0.0000 now=0.0000 - MIDI CC 0|4 default=0.0000 now=0.0000 - MIDI CC 0|5 default=0.0000 now=0.0000 - MIDI CC 0|6 default=0.0000 now=0.0000 - MIDI CC 0|7 default=0.0000 now=0.0000 - MIDI CC 0|8 default=0.0000 now=0.0000 - MIDI CC 0|9 default=0.0000 now=0.0000 - MIDI CC 0|10 default=0.0000 now=0.0000 - MIDI CC 0|11 default=0.0000 now=0.0000 - MIDI CC 0|12 default=0.0000 now=0.0000 - MIDI CC 0|13 default=0.0000 now=0.0000 - MIDI CC 0|14 default=0.0000 now=0.0000 - MIDI CC 0|15 default=0.0000 now=0.0000 - MIDI CC 0|16 default=0.0000 now=0.0000 - MIDI CC 0|17 default=0.0000 now=0.0000 - MIDI CC 0|18 default=0.0000 now=0.0000 - MIDI CC 0|19 default=0.0000 now=0.0000 - MIDI CC 0|20 default=0.0000 now=0.0000 - MIDI CC 0|21 default=0.0000 now=0.0000 - MIDI CC 0|22 default=0.0000 now=0.0000 - MIDI CC 0|23 default=0.0000 now=0.0000 - MIDI CC 0|24 default=0.0000 now=0.0000 - MIDI CC 0|25 default=0.0000 now=0.0000 - MIDI CC 0|26 default=0.0000 now=0.0000 - MIDI CC 0|27 default=0.0000 now=0.0000 - MIDI CC 0|28 default=0.0000 now=0.0000 - MIDI CC 0|29 default=0.0000 now=0.0000 - MIDI CC 0|30 default=0.0000 now=0.0000 - MIDI CC 0|31 default=0.0000 now=0.0000 - MIDI CC 0|32 default=0.0000 now=0.0000 - MIDI CC 0|33 default=0.0000 now=0.0000 - MIDI CC 0|34 default=0.0000 now=0.0000 - MIDI CC 0|35 default=0.0000 now=0.0000 - MIDI CC 0|36 default=0.0000 now=0.0000 - MIDI CC 0|37 default=0.0000 now=0.0000 - MIDI CC 0|38 default=0.0000 now=0.0000 - MIDI CC 0|39 default=0.0000 now=0.0000 - MIDI CC 0|40 default=0.0000 now=0.0000 - MIDI CC 0|41 default=0.0000 now=0.0000 - MIDI CC 0|42 default=0.0000 now=0.0000 - MIDI CC 0|43 default=0.0000 now=0.0000 - MIDI CC 0|44 default=0.0000 now=0.0000 - MIDI CC 0|45 default=0.0000 now=0.0000 - MIDI CC 0|46 default=0.0000 now=0.0000 - MIDI CC 0|47 default=0.0000 now=0.0000 - MIDI CC 0|48 default=0.0000 now=0.0000 - MIDI CC 0|49 default=0.0000 now=0.0000 - MIDI CC 0|50 default=0.0000 now=0.0000 - MIDI CC 0|51 default=0.0000 now=0.0000 - MIDI CC 0|52 default=0.0000 now=0.0000 - MIDI CC 0|53 default=0.0000 now=0.0000 - MIDI CC 0|54 default=0.0000 now=0.0000 - MIDI CC 0|55 default=0.0000 now=0.0000 - MIDI CC 0|56 default=0.0000 now=0.0000 - MIDI CC 0|57 default=0.0000 now=0.0000 - MIDI CC 0|58 default=0.0000 now=0.0000 - MIDI CC 0|59 default=0.0000 now=0.0000 - MIDI CC 0|60 default=0.0000 now=0.0000 - MIDI CC 0|61 default=0.0000 now=0.0000 - MIDI CC 0|62 default=0.0000 now=0.0000 - MIDI CC 0|63 default=0.0000 now=0.0000 - MIDI CC 0|64 default=0.0000 now=0.0000 - MIDI CC 0|65 default=0.0000 now=0.0000 - MIDI CC 0|66 default=0.0000 now=0.0000 - MIDI CC 0|67 default=0.0000 now=0.0000 - MIDI CC 0|68 default=0.0000 now=0.0000 - MIDI CC 0|69 default=0.0000 now=0.0000 - MIDI CC 0|70 default=0.0000 now=0.0000 - MIDI CC 0|71 default=0.0000 now=0.0000 - MIDI CC 0|72 default=0.0000 now=0.0000 - MIDI CC 0|73 default=0.0000 now=0.0000 - MIDI CC 0|74 default=0.0000 now=0.0000 - MIDI CC 0|75 default=0.0000 now=0.0000 - MIDI CC 0|76 default=0.0000 now=0.0000 - MIDI CC 0|77 default=0.0000 now=0.0000 - MIDI CC 0|78 default=0.0000 now=0.0000 - MIDI CC 0|79 default=0.0000 now=0.0000 - MIDI CC 0|80 default=0.0000 now=0.0000 - MIDI CC 0|81 default=0.0000 now=0.0000 - MIDI CC 0|82 default=0.0000 now=0.0000 - MIDI CC 0|83 default=0.0000 now=0.0000 - MIDI CC 0|84 default=0.0000 now=0.0000 - MIDI CC 0|85 default=0.0000 now=0.0000 - MIDI CC 0|86 default=0.0000 now=0.0000 - MIDI CC 0|87 default=0.0000 now=0.0000 - MIDI CC 0|88 default=0.0000 now=0.0000 - MIDI CC 0|89 default=0.0000 now=0.0000 - MIDI CC 0|90 default=0.0000 now=0.0000 - MIDI CC 0|91 default=0.0000 now=0.0000 - MIDI CC 0|92 default=0.0000 now=0.0000 - MIDI CC 0|93 default=0.0000 now=0.0000 - MIDI CC 0|94 default=0.0000 now=0.0000 - MIDI CC 0|95 default=0.0000 now=0.0000 - MIDI CC 0|96 default=0.0000 now=0.0000 - MIDI CC 0|97 default=0.0000 now=0.0000 - MIDI CC 0|98 default=0.0000 now=0.0000 - MIDI CC 0|99 default=0.0000 now=0.0000 - MIDI CC 0|100 default=0.0000 now=0.0000 - MIDI CC 0|101 default=0.0000 now=0.0000 - MIDI CC 0|102 default=0.0000 now=0.0000 - MIDI CC 0|103 default=0.0000 now=0.0000 - MIDI CC 0|104 default=0.0000 now=0.0000 - MIDI CC 0|105 default=0.0000 now=0.0000 - MIDI CC 0|106 default=0.0000 now=0.0000 - MIDI CC 0|107 default=0.0000 now=0.0000 - MIDI CC 0|108 default=0.0000 now=0.0000 - MIDI CC 0|109 default=0.0000 now=0.0000 - MIDI CC 0|110 default=0.0000 now=0.0000 - MIDI CC 0|111 default=0.0000 now=0.0000 - MIDI CC 0|112 default=0.0000 now=0.0000 - MIDI CC 0|113 default=0.0000 now=0.0000 - MIDI CC 0|114 default=0.0000 now=0.0000 - MIDI CC 0|115 default=0.0000 now=0.0000 - MIDI CC 0|116 default=0.0000 now=0.0000 - MIDI CC 0|117 default=0.0000 now=0.0000 - MIDI CC 0|118 default=0.0000 now=0.0000 - MIDI CC 0|119 default=0.0000 now=0.0000 - MIDI CC 0|120 default=0.0000 now=0.0000 - MIDI CC 0|121 default=0.0000 now=0.0000 - MIDI CC 0|122 default=0.0000 now=0.0000 - MIDI CC 0|123 default=0.0000 now=0.0000 - MIDI CC 0|124 default=0.0000 now=0.0000 - MIDI CC 0|125 default=0.0000 now=0.0000 - MIDI CC 0|126 default=0.0000 now=0.0000 - MIDI CC 0|127 default=0.0000 now=0.0000 - MIDI CC 0|128 default=0.0000 now=0.0000 - MIDI CC 0|129 default=0.0000 now=0.0000 - MIDI CC 1|0 default=0.0000 now=0.0000 - MIDI CC 1|1 default=0.0000 now=0.0000 - MIDI CC 1|2 default=0.0000 now=0.0000 - MIDI CC 1|3 default=0.0000 now=0.0000 - MIDI CC 1|4 default=0.0000 now=0.0000 - MIDI CC 1|5 default=0.0000 now=0.0000 - MIDI CC 1|6 default=0.0000 now=0.0000 - MIDI CC 1|7 default=0.0000 now=0.0000 - MIDI CC 1|8 default=0.0000 now=0.0000 - MIDI CC 1|9 default=0.0000 now=0.0000 - MIDI CC 1|10 default=0.0000 now=0.0000 - MIDI CC 1|11 default=0.0000 now=0.0000 - MIDI CC 1|12 default=0.0000 now=0.0000 - MIDI CC 1|13 default=0.0000 now=0.0000 - MIDI CC 1|14 default=0.0000 now=0.0000 - MIDI CC 1|15 default=0.0000 now=0.0000 - MIDI CC 1|16 default=0.0000 now=0.0000 - MIDI CC 1|17 default=0.0000 now=0.0000 - MIDI CC 1|18 default=0.0000 now=0.0000 - MIDI CC 1|19 default=0.0000 now=0.0000 - MIDI CC 1|20 default=0.0000 now=0.0000 - MIDI CC 1|21 default=0.0000 now=0.0000 - MIDI CC 1|22 default=0.0000 now=0.0000 - MIDI CC 1|23 default=0.0000 now=0.0000 - MIDI CC 1|24 default=0.0000 now=0.0000 - MIDI CC 1|25 default=0.0000 now=0.0000 - MIDI CC 1|26 default=0.0000 now=0.0000 - MIDI CC 1|27 default=0.0000 now=0.0000 - MIDI CC 1|28 default=0.0000 now=0.0000 - MIDI CC 1|29 default=0.0000 now=0.0000 - MIDI CC 1|30 default=0.0000 now=0.0000 - MIDI CC 1|31 default=0.0000 now=0.0000 - MIDI CC 1|32 default=0.0000 now=0.0000 - MIDI CC 1|33 default=0.0000 now=0.0000 - MIDI CC 1|34 default=0.0000 now=0.0000 - MIDI CC 1|35 default=0.0000 now=0.0000 - MIDI CC 1|36 default=0.0000 now=0.0000 - MIDI CC 1|37 default=0.0000 now=0.0000 - MIDI CC 1|38 default=0.0000 now=0.0000 - MIDI CC 1|39 default=0.0000 now=0.0000 - MIDI CC 1|40 default=0.0000 now=0.0000 - MIDI CC 1|41 default=0.0000 now=0.0000 - MIDI CC 1|42 default=0.0000 now=0.0000 - MIDI CC 1|43 default=0.0000 now=0.0000 - MIDI CC 1|44 default=0.0000 now=0.0000 - MIDI CC 1|45 default=0.0000 now=0.0000 - MIDI CC 1|46 default=0.0000 now=0.0000 - MIDI CC 1|47 default=0.0000 now=0.0000 - MIDI CC 1|48 default=0.0000 now=0.0000 - MIDI CC 1|49 default=0.0000 now=0.0000 - MIDI CC 1|50 default=0.0000 now=0.0000 - MIDI CC 1|51 default=0.0000 now=0.0000 - MIDI CC 1|52 default=0.0000 now=0.0000 - MIDI CC 1|53 default=0.0000 now=0.0000 - MIDI CC 1|54 default=0.0000 now=0.0000 - MIDI CC 1|55 default=0.0000 now=0.0000 - MIDI CC 1|56 default=0.0000 now=0.0000 - MIDI CC 1|57 default=0.0000 now=0.0000 - MIDI CC 1|58 default=0.0000 now=0.0000 - MIDI CC 1|59 default=0.0000 now=0.0000 - MIDI CC 1|60 default=0.0000 now=0.0000 - MIDI CC 1|61 default=0.0000 now=0.0000 - MIDI CC 1|62 default=0.0000 now=0.0000 - MIDI CC 1|63 default=0.0000 now=0.0000 - MIDI CC 1|64 default=0.0000 now=0.0000 - MIDI CC 1|65 default=0.0000 now=0.0000 - MIDI CC 1|66 default=0.0000 now=0.0000 - MIDI CC 1|67 default=0.0000 now=0.0000 - MIDI CC 1|68 default=0.0000 now=0.0000 - MIDI CC 1|69 default=0.0000 now=0.0000 - MIDI CC 1|70 default=0.0000 now=0.0000 - MIDI CC 1|71 default=0.0000 now=0.0000 - MIDI CC 1|72 default=0.0000 now=0.0000 - MIDI CC 1|73 default=0.0000 now=0.0000 - MIDI CC 1|74 default=0.0000 now=0.0000 - MIDI CC 1|75 default=0.0000 now=0.0000 - MIDI CC 1|76 default=0.0000 now=0.0000 - MIDI CC 1|77 default=0.0000 now=0.0000 - MIDI CC 1|78 default=0.0000 now=0.0000 - MIDI CC 1|79 default=0.0000 now=0.0000 - MIDI CC 1|80 default=0.0000 now=0.0000 - MIDI CC 1|81 default=0.0000 now=0.0000 - MIDI CC 1|82 default=0.0000 now=0.0000 - MIDI CC 1|83 default=0.0000 now=0.0000 - MIDI CC 1|84 default=0.0000 now=0.0000 - MIDI CC 1|85 default=0.0000 now=0.0000 - MIDI CC 1|86 default=0.0000 now=0.0000 - MIDI CC 1|87 default=0.0000 now=0.0000 - MIDI CC 1|88 default=0.0000 now=0.0000 - MIDI CC 1|89 default=0.0000 now=0.0000 - MIDI CC 1|90 default=0.0000 now=0.0000 - MIDI CC 1|91 default=0.0000 now=0.0000 - MIDI CC 1|92 default=0.0000 now=0.0000 - MIDI CC 1|93 default=0.0000 now=0.0000 - MIDI CC 1|94 default=0.0000 now=0.0000 - MIDI CC 1|95 default=0.0000 now=0.0000 - MIDI CC 1|96 default=0.0000 now=0.0000 - MIDI CC 1|97 default=0.0000 now=0.0000 - MIDI CC 1|98 default=0.0000 now=0.0000 - MIDI CC 1|99 default=0.0000 now=0.0000 - MIDI CC 1|100 default=0.0000 now=0.0000 - MIDI CC 1|101 default=0.0000 now=0.0000 - MIDI CC 1|102 default=0.0000 now=0.0000 - MIDI CC 1|103 default=0.0000 now=0.0000 - MIDI CC 1|104 default=0.0000 now=0.0000 - MIDI CC 1|105 default=0.0000 now=0.0000 - MIDI CC 1|106 default=0.0000 now=0.0000 - MIDI CC 1|107 default=0.0000 now=0.0000 - MIDI CC 1|108 default=0.0000 now=0.0000 - MIDI CC 1|109 default=0.0000 now=0.0000 - MIDI CC 1|110 default=0.0000 now=0.0000 - MIDI CC 1|111 default=0.0000 now=0.0000 - MIDI CC 1|112 default=0.0000 now=0.0000 - MIDI CC 1|113 default=0.0000 now=0.0000 - MIDI CC 1|114 default=0.0000 now=0.0000 - MIDI CC 1|115 default=0.0000 now=0.0000 - MIDI CC 1|116 default=0.0000 now=0.0000 - MIDI CC 1|117 default=0.0000 now=0.0000 - MIDI CC 1|118 default=0.0000 now=0.0000 - MIDI CC 1|119 default=0.0000 now=0.0000 - MIDI CC 1|120 default=0.0000 now=0.0000 - MIDI CC 1|121 default=0.0000 now=0.0000 - MIDI CC 1|122 default=0.0000 now=0.0000 - MIDI CC 1|123 default=0.0000 now=0.0000 - MIDI CC 1|124 default=0.0000 now=0.0000 - MIDI CC 1|125 default=0.0000 now=0.0000 - MIDI CC 1|126 default=0.0000 now=0.0000 - MIDI CC 1|127 default=0.0000 now=0.0000 - MIDI CC 1|128 default=0.0000 now=0.0000 - MIDI CC 1|129 default=0.0000 now=0.0000 - MIDI CC 2|0 default=0.0000 now=0.0000 - MIDI CC 2|1 default=0.0000 now=0.0000 - MIDI CC 2|2 default=0.0000 now=0.0000 - MIDI CC 2|3 default=0.0000 now=0.0000 - MIDI CC 2|4 default=0.0000 now=0.0000 - MIDI CC 2|5 default=0.0000 now=0.0000 - MIDI CC 2|6 default=0.0000 now=0.0000 - MIDI CC 2|7 default=0.0000 now=0.0000 - MIDI CC 2|8 default=0.0000 now=0.0000 - MIDI CC 2|9 default=0.0000 now=0.0000 - MIDI CC 2|10 default=0.0000 now=0.0000 - MIDI CC 2|11 default=0.0000 now=0.0000 - MIDI CC 2|12 default=0.0000 now=0.0000 - MIDI CC 2|13 default=0.0000 now=0.0000 - MIDI CC 2|14 default=0.0000 now=0.0000 - MIDI CC 2|15 default=0.0000 now=0.0000 - MIDI CC 2|16 default=0.0000 now=0.0000 - MIDI CC 2|17 default=0.0000 now=0.0000 - MIDI CC 2|18 default=0.0000 now=0.0000 - MIDI CC 2|19 default=0.0000 now=0.0000 - MIDI CC 2|20 default=0.0000 now=0.0000 - MIDI CC 2|21 default=0.0000 now=0.0000 - MIDI CC 2|22 default=0.0000 now=0.0000 - MIDI CC 2|23 default=0.0000 now=0.0000 - MIDI CC 2|24 default=0.0000 now=0.0000 - MIDI CC 2|25 default=0.0000 now=0.0000 - MIDI CC 2|26 default=0.0000 now=0.0000 - MIDI CC 2|27 default=0.0000 now=0.0000 - MIDI CC 2|28 default=0.0000 now=0.0000 - MIDI CC 2|29 default=0.0000 now=0.0000 - MIDI CC 2|30 default=0.0000 now=0.0000 - MIDI CC 2|31 default=0.0000 now=0.0000 - MIDI CC 2|32 default=0.0000 now=0.0000 - MIDI CC 2|33 default=0.0000 now=0.0000 - MIDI CC 2|34 default=0.0000 now=0.0000 - MIDI CC 2|35 default=0.0000 now=0.0000 - MIDI CC 2|36 default=0.0000 now=0.0000 - MIDI CC 2|37 default=0.0000 now=0.0000 - MIDI CC 2|38 default=0.0000 now=0.0000 - MIDI CC 2|39 default=0.0000 now=0.0000 - MIDI CC 2|40 default=0.0000 now=0.0000 - MIDI CC 2|41 default=0.0000 now=0.0000 - MIDI CC 2|42 default=0.0000 now=0.0000 - MIDI CC 2|43 default=0.0000 now=0.0000 - MIDI CC 2|44 default=0.0000 now=0.0000 - MIDI CC 2|45 default=0.0000 now=0.0000 - MIDI CC 2|46 default=0.0000 now=0.0000 - MIDI CC 2|47 default=0.0000 now=0.0000 - MIDI CC 2|48 default=0.0000 now=0.0000 - MIDI CC 2|49 default=0.0000 now=0.0000 - MIDI CC 2|50 default=0.0000 now=0.0000 - MIDI CC 2|51 default=0.0000 now=0.0000 - MIDI CC 2|52 default=0.0000 now=0.0000 - MIDI CC 2|53 default=0.0000 now=0.0000 - MIDI CC 2|54 default=0.0000 now=0.0000 - MIDI CC 2|55 default=0.0000 now=0.0000 - MIDI CC 2|56 default=0.0000 now=0.0000 - MIDI CC 2|57 default=0.0000 now=0.0000 - MIDI CC 2|58 default=0.0000 now=0.0000 - MIDI CC 2|59 default=0.0000 now=0.0000 - MIDI CC 2|60 default=0.0000 now=0.0000 - MIDI CC 2|61 default=0.0000 now=0.0000 - MIDI CC 2|62 default=0.0000 now=0.0000 - MIDI CC 2|63 default=0.0000 now=0.0000 - MIDI CC 2|64 default=0.0000 now=0.0000 - MIDI CC 2|65 default=0.0000 now=0.0000 - MIDI CC 2|66 default=0.0000 now=0.0000 - MIDI CC 2|67 default=0.0000 now=0.0000 - MIDI CC 2|68 default=0.0000 now=0.0000 - MIDI CC 2|69 default=0.0000 now=0.0000 - MIDI CC 2|70 default=0.0000 now=0.0000 - MIDI CC 2|71 default=0.0000 now=0.0000 - MIDI CC 2|72 default=0.0000 now=0.0000 - MIDI CC 2|73 default=0.0000 now=0.0000 - MIDI CC 2|74 default=0.0000 now=0.0000 - MIDI CC 2|75 default=0.0000 now=0.0000 - MIDI CC 2|76 default=0.0000 now=0.0000 - MIDI CC 2|77 default=0.0000 now=0.0000 - MIDI CC 2|78 default=0.0000 now=0.0000 - MIDI CC 2|79 default=0.0000 now=0.0000 - MIDI CC 2|80 default=0.0000 now=0.0000 - MIDI CC 2|81 default=0.0000 now=0.0000 - MIDI CC 2|82 default=0.0000 now=0.0000 - MIDI CC 2|83 default=0.0000 now=0.0000 - MIDI CC 2|84 default=0.0000 now=0.0000 - MIDI CC 2|85 default=0.0000 now=0.0000 - MIDI CC 2|86 default=0.0000 now=0.0000 - MIDI CC 2|87 default=0.0000 now=0.0000 - MIDI CC 2|88 default=0.0000 now=0.0000 - MIDI CC 2|89 default=0.0000 now=0.0000 - MIDI CC 2|90 default=0.0000 now=0.0000 - MIDI CC 2|91 default=0.0000 now=0.0000 - MIDI CC 2|92 default=0.0000 now=0.0000 - MIDI CC 2|93 default=0.0000 now=0.0000 - MIDI CC 2|94 default=0.0000 now=0.0000 - MIDI CC 2|95 default=0.0000 now=0.0000 - MIDI CC 2|96 default=0.0000 now=0.0000 - MIDI CC 2|97 default=0.0000 now=0.0000 - MIDI CC 2|98 default=0.0000 now=0.0000 - MIDI CC 2|99 default=0.0000 now=0.0000 - MIDI CC 2|100 default=0.0000 now=0.0000 - MIDI CC 2|101 default=0.0000 now=0.0000 - MIDI CC 2|102 default=0.0000 now=0.0000 - MIDI CC 2|103 default=0.0000 now=0.0000 - MIDI CC 2|104 default=0.0000 now=0.0000 - MIDI CC 2|105 default=0.0000 now=0.0000 - MIDI CC 2|106 default=0.0000 now=0.0000 - MIDI CC 2|107 default=0.0000 now=0.0000 - MIDI CC 2|108 default=0.0000 now=0.0000 - MIDI CC 2|109 default=0.0000 now=0.0000 - MIDI CC 2|110 default=0.0000 now=0.0000 - MIDI CC 2|111 default=0.0000 now=0.0000 - MIDI CC 2|112 default=0.0000 now=0.0000 - MIDI CC 2|113 default=0.0000 now=0.0000 - MIDI CC 2|114 default=0.0000 now=0.0000 - MIDI CC 2|115 default=0.0000 now=0.0000 - MIDI CC 2|116 default=0.0000 now=0.0000 - MIDI CC 2|117 default=0.0000 now=0.0000 - MIDI CC 2|118 default=0.0000 now=0.0000 - MIDI CC 2|119 default=0.0000 now=0.0000 - MIDI CC 2|120 default=0.0000 now=0.0000 - MIDI CC 2|121 default=0.0000 now=0.0000 - MIDI CC 2|122 default=0.0000 now=0.0000 - MIDI CC 2|123 default=0.0000 now=0.0000 - MIDI CC 2|124 default=0.0000 now=0.0000 - MIDI CC 2|125 default=0.0000 now=0.0000 - MIDI CC 2|126 default=0.0000 now=0.0000 - MIDI CC 2|127 default=0.0000 now=0.0000 - MIDI CC 2|128 default=0.0000 now=0.0000 - MIDI CC 2|129 default=0.0000 now=0.0000 - MIDI CC 3|0 default=0.0000 now=0.0000 - MIDI CC 3|1 default=0.0000 now=0.0000 - MIDI CC 3|2 default=0.0000 now=0.0000 - MIDI CC 3|3 default=0.0000 now=0.0000 - MIDI CC 3|4 default=0.0000 now=0.0000 - MIDI CC 3|5 default=0.0000 now=0.0000 - MIDI CC 3|6 default=0.0000 now=0.0000 - MIDI CC 3|7 default=0.0000 now=0.0000 - MIDI CC 3|8 default=0.0000 now=0.0000 - MIDI CC 3|9 default=0.0000 now=0.0000 - MIDI CC 3|10 default=0.0000 now=0.0000 - MIDI CC 3|11 default=0.0000 now=0.0000 - MIDI CC 3|12 default=0.0000 now=0.0000 - MIDI CC 3|13 default=0.0000 now=0.0000 - MIDI CC 3|14 default=0.0000 now=0.0000 - MIDI CC 3|15 default=0.0000 now=0.0000 - MIDI CC 3|16 default=0.0000 now=0.0000 - MIDI CC 3|17 default=0.0000 now=0.0000 - MIDI CC 3|18 default=0.0000 now=0.0000 - MIDI CC 3|19 default=0.0000 now=0.0000 - MIDI CC 3|20 default=0.0000 now=0.0000 - MIDI CC 3|21 default=0.0000 now=0.0000 - MIDI CC 3|22 default=0.0000 now=0.0000 - MIDI CC 3|23 default=0.0000 now=0.0000 - MIDI CC 3|24 default=0.0000 now=0.0000 - MIDI CC 3|25 default=0.0000 now=0.0000 - MIDI CC 3|26 default=0.0000 now=0.0000 - MIDI CC 3|27 default=0.0000 now=0.0000 - MIDI CC 3|28 default=0.0000 now=0.0000 - MIDI CC 3|29 default=0.0000 now=0.0000 - MIDI CC 3|30 default=0.0000 now=0.0000 - MIDI CC 3|31 default=0.0000 now=0.0000 - MIDI CC 3|32 default=0.0000 now=0.0000 - MIDI CC 3|33 default=0.0000 now=0.0000 - MIDI CC 3|34 default=0.0000 now=0.0000 - MIDI CC 3|35 default=0.0000 now=0.0000 - MIDI CC 3|36 default=0.0000 now=0.0000 - MIDI CC 3|37 default=0.0000 now=0.0000 - MIDI CC 3|38 default=0.0000 now=0.0000 - MIDI CC 3|39 default=0.0000 now=0.0000 - MIDI CC 3|40 default=0.0000 now=0.0000 - MIDI CC 3|41 default=0.0000 now=0.0000 - MIDI CC 3|42 default=0.0000 now=0.0000 - MIDI CC 3|43 default=0.0000 now=0.0000 - MIDI CC 3|44 default=0.0000 now=0.0000 - MIDI CC 3|45 default=0.0000 now=0.0000 - MIDI CC 3|46 default=0.0000 now=0.0000 - MIDI CC 3|47 default=0.0000 now=0.0000 - MIDI CC 3|48 default=0.0000 now=0.0000 - MIDI CC 3|49 default=0.0000 now=0.0000 - MIDI CC 3|50 default=0.0000 now=0.0000 - MIDI CC 3|51 default=0.0000 now=0.0000 - MIDI CC 3|52 default=0.0000 now=0.0000 - MIDI CC 3|53 default=0.0000 now=0.0000 - MIDI CC 3|54 default=0.0000 now=0.0000 - MIDI CC 3|55 default=0.0000 now=0.0000 - MIDI CC 3|56 default=0.0000 now=0.0000 - MIDI CC 3|57 default=0.0000 now=0.0000 - MIDI CC 3|58 default=0.0000 now=0.0000 - MIDI CC 3|59 default=0.0000 now=0.0000 - MIDI CC 3|60 default=0.0000 now=0.0000 - MIDI CC 3|61 default=0.0000 now=0.0000 - MIDI CC 3|62 default=0.0000 now=0.0000 - MIDI CC 3|63 default=0.0000 now=0.0000 - MIDI CC 3|64 default=0.0000 now=0.0000 - MIDI CC 3|65 default=0.0000 now=0.0000 - MIDI CC 3|66 default=0.0000 now=0.0000 - MIDI CC 3|67 default=0.0000 now=0.0000 - MIDI CC 3|68 default=0.0000 now=0.0000 - MIDI CC 3|69 default=0.0000 now=0.0000 - MIDI CC 3|70 default=0.0000 now=0.0000 - MIDI CC 3|71 default=0.0000 now=0.0000 - MIDI CC 3|72 default=0.0000 now=0.0000 - MIDI CC 3|73 default=0.0000 now=0.0000 - MIDI CC 3|74 default=0.0000 now=0.0000 - MIDI CC 3|75 default=0.0000 now=0.0000 - MIDI CC 3|76 default=0.0000 now=0.0000 - MIDI CC 3|77 default=0.0000 now=0.0000 - MIDI CC 3|78 default=0.0000 now=0.0000 - MIDI CC 3|79 default=0.0000 now=0.0000 - MIDI CC 3|80 default=0.0000 now=0.0000 - MIDI CC 3|81 default=0.0000 now=0.0000 - MIDI CC 3|82 default=0.0000 now=0.0000 - MIDI CC 3|83 default=0.0000 now=0.0000 - MIDI CC 3|84 default=0.0000 now=0.0000 - MIDI CC 3|85 default=0.0000 now=0.0000 - MIDI CC 3|86 default=0.0000 now=0.0000 - MIDI CC 3|87 default=0.0000 now=0.0000 - MIDI CC 3|88 default=0.0000 now=0.0000 - MIDI CC 3|89 default=0.0000 now=0.0000 - MIDI CC 3|90 default=0.0000 now=0.0000 - MIDI CC 3|91 default=0.0000 now=0.0000 - MIDI CC 3|92 default=0.0000 now=0.0000 - MIDI CC 3|93 default=0.0000 now=0.0000 - MIDI CC 3|94 default=0.0000 now=0.0000 - MIDI CC 3|95 default=0.0000 now=0.0000 - MIDI CC 3|96 default=0.0000 now=0.0000 - MIDI CC 3|97 default=0.0000 now=0.0000 - MIDI CC 3|98 default=0.0000 now=0.0000 - MIDI CC 3|99 default=0.0000 now=0.0000 - MIDI CC 3|100 default=0.0000 now=0.0000 - MIDI CC 3|101 default=0.0000 now=0.0000 - MIDI CC 3|102 default=0.0000 now=0.0000 - MIDI CC 3|103 default=0.0000 now=0.0000 - MIDI CC 3|104 default=0.0000 now=0.0000 - MIDI CC 3|105 default=0.0000 now=0.0000 - MIDI CC 3|106 default=0.0000 now=0.0000 - MIDI CC 3|107 default=0.0000 now=0.0000 - MIDI CC 3|108 default=0.0000 now=0.0000 - MIDI CC 3|109 default=0.0000 now=0.0000 - MIDI CC 3|110 default=0.0000 now=0.0000 - MIDI CC 3|111 default=0.0000 now=0.0000 - MIDI CC 3|112 default=0.0000 now=0.0000 - MIDI CC 3|113 default=0.0000 now=0.0000 - MIDI CC 3|114 default=0.0000 now=0.0000 - MIDI CC 3|115 default=0.0000 now=0.0000 - MIDI CC 3|116 default=0.0000 now=0.0000 - MIDI CC 3|117 default=0.0000 now=0.0000 - MIDI CC 3|118 default=0.0000 now=0.0000 - MIDI CC 3|119 default=0.0000 now=0.0000 - MIDI CC 3|120 default=0.0000 now=0.0000 - MIDI CC 3|121 default=0.0000 now=0.0000 - MIDI CC 3|122 default=0.0000 now=0.0000 - MIDI CC 3|123 default=0.0000 now=0.0000 - MIDI CC 3|124 default=0.0000 now=0.0000 - MIDI CC 3|125 default=0.0000 now=0.0000 - MIDI CC 3|126 default=0.0000 now=0.0000 - MIDI CC 3|127 default=0.0000 now=0.0000 - MIDI CC 3|128 default=0.0000 now=0.0000 - MIDI CC 3|129 default=0.0000 now=0.0000 - MIDI CC 4|0 default=0.0000 now=0.0000 - MIDI CC 4|1 default=0.0000 now=0.0000 - MIDI CC 4|2 default=0.0000 now=0.0000 - MIDI CC 4|3 default=0.0000 now=0.0000 - MIDI CC 4|4 default=0.0000 now=0.0000 - MIDI CC 4|5 default=0.0000 now=0.0000 - MIDI CC 4|6 default=0.0000 now=0.0000 - MIDI CC 4|7 default=0.0000 now=0.0000 - MIDI CC 4|8 default=0.0000 now=0.0000 - MIDI CC 4|9 default=0.0000 now=0.0000 - MIDI CC 4|10 default=0.0000 now=0.0000 - MIDI CC 4|11 default=0.0000 now=0.0000 - MIDI CC 4|12 default=0.0000 now=0.0000 - MIDI CC 4|13 default=0.0000 now=0.0000 - MIDI CC 4|14 default=0.0000 now=0.0000 - MIDI CC 4|15 default=0.0000 now=0.0000 - MIDI CC 4|16 default=0.0000 now=0.0000 - MIDI CC 4|17 default=0.0000 now=0.0000 - MIDI CC 4|18 default=0.0000 now=0.0000 - MIDI CC 4|19 default=0.0000 now=0.0000 - MIDI CC 4|20 default=0.0000 now=0.0000 - MIDI CC 4|21 default=0.0000 now=0.0000 - MIDI CC 4|22 default=0.0000 now=0.0000 - MIDI CC 4|23 default=0.0000 now=0.0000 - MIDI CC 4|24 default=0.0000 now=0.0000 - MIDI CC 4|25 default=0.0000 now=0.0000 - MIDI CC 4|26 default=0.0000 now=0.0000 - MIDI CC 4|27 default=0.0000 now=0.0000 - MIDI CC 4|28 default=0.0000 now=0.0000 - MIDI CC 4|29 default=0.0000 now=0.0000 - MIDI CC 4|30 default=0.0000 now=0.0000 - MIDI CC 4|31 default=0.0000 now=0.0000 - MIDI CC 4|32 default=0.0000 now=0.0000 - MIDI CC 4|33 default=0.0000 now=0.0000 - MIDI CC 4|34 default=0.0000 now=0.0000 - MIDI CC 4|35 default=0.0000 now=0.0000 - MIDI CC 4|36 default=0.0000 now=0.0000 - MIDI CC 4|37 default=0.0000 now=0.0000 - MIDI CC 4|38 default=0.0000 now=0.0000 - MIDI CC 4|39 default=0.0000 now=0.0000 - MIDI CC 4|40 default=0.0000 now=0.0000 - MIDI CC 4|41 default=0.0000 now=0.0000 - MIDI CC 4|42 default=0.0000 now=0.0000 - MIDI CC 4|43 default=0.0000 now=0.0000 - MIDI CC 4|44 default=0.0000 now=0.0000 - MIDI CC 4|45 default=0.0000 now=0.0000 - MIDI CC 4|46 default=0.0000 now=0.0000 - MIDI CC 4|47 default=0.0000 now=0.0000 - MIDI CC 4|48 default=0.0000 now=0.0000 - MIDI CC 4|49 default=0.0000 now=0.0000 - MIDI CC 4|50 default=0.0000 now=0.0000 - MIDI CC 4|51 default=0.0000 now=0.0000 - MIDI CC 4|52 default=0.0000 now=0.0000 - MIDI CC 4|53 default=0.0000 now=0.0000 - MIDI CC 4|54 default=0.0000 now=0.0000 - MIDI CC 4|55 default=0.0000 now=0.0000 - MIDI CC 4|56 default=0.0000 now=0.0000 - MIDI CC 4|57 default=0.0000 now=0.0000 - MIDI CC 4|58 default=0.0000 now=0.0000 - MIDI CC 4|59 default=0.0000 now=0.0000 - MIDI CC 4|60 default=0.0000 now=0.0000 - MIDI CC 4|61 default=0.0000 now=0.0000 - MIDI CC 4|62 default=0.0000 now=0.0000 - MIDI CC 4|63 default=0.0000 now=0.0000 - MIDI CC 4|64 default=0.0000 now=0.0000 - MIDI CC 4|65 default=0.0000 now=0.0000 - MIDI CC 4|66 default=0.0000 now=0.0000 - MIDI CC 4|67 default=0.0000 now=0.0000 - MIDI CC 4|68 default=0.0000 now=0.0000 - MIDI CC 4|69 default=0.0000 now=0.0000 - MIDI CC 4|70 default=0.0000 now=0.0000 - MIDI CC 4|71 default=0.0000 now=0.0000 - MIDI CC 4|72 default=0.0000 now=0.0000 - MIDI CC 4|73 default=0.0000 now=0.0000 - MIDI CC 4|74 default=0.0000 now=0.0000 - MIDI CC 4|75 default=0.0000 now=0.0000 - MIDI CC 4|76 default=0.0000 now=0.0000 - MIDI CC 4|77 default=0.0000 now=0.0000 - MIDI CC 4|78 default=0.0000 now=0.0000 - MIDI CC 4|79 default=0.0000 now=0.0000 - MIDI CC 4|80 default=0.0000 now=0.0000 - MIDI CC 4|81 default=0.0000 now=0.0000 - MIDI CC 4|82 default=0.0000 now=0.0000 - MIDI CC 4|83 default=0.0000 now=0.0000 - MIDI CC 4|84 default=0.0000 now=0.0000 - MIDI CC 4|85 default=0.0000 now=0.0000 - MIDI CC 4|86 default=0.0000 now=0.0000 - MIDI CC 4|87 default=0.0000 now=0.0000 - MIDI CC 4|88 default=0.0000 now=0.0000 - MIDI CC 4|89 default=0.0000 now=0.0000 - MIDI CC 4|90 default=0.0000 now=0.0000 - MIDI CC 4|91 default=0.0000 now=0.0000 - MIDI CC 4|92 default=0.0000 now=0.0000 - MIDI CC 4|93 default=0.0000 now=0.0000 - MIDI CC 4|94 default=0.0000 now=0.0000 - MIDI CC 4|95 default=0.0000 now=0.0000 - MIDI CC 4|96 default=0.0000 now=0.0000 - MIDI CC 4|97 default=0.0000 now=0.0000 - MIDI CC 4|98 default=0.0000 now=0.0000 - MIDI CC 4|99 default=0.0000 now=0.0000 - MIDI CC 4|100 default=0.0000 now=0.0000 - MIDI CC 4|101 default=0.0000 now=0.0000 - MIDI CC 4|102 default=0.0000 now=0.0000 - MIDI CC 4|103 default=0.0000 now=0.0000 - MIDI CC 4|104 default=0.0000 now=0.0000 - MIDI CC 4|105 default=0.0000 now=0.0000 - MIDI CC 4|106 default=0.0000 now=0.0000 - MIDI CC 4|107 default=0.0000 now=0.0000 - MIDI CC 4|108 default=0.0000 now=0.0000 - MIDI CC 4|109 default=0.0000 now=0.0000 - MIDI CC 4|110 default=0.0000 now=0.0000 - MIDI CC 4|111 default=0.0000 now=0.0000 - MIDI CC 4|112 default=0.0000 now=0.0000 - MIDI CC 4|113 default=0.0000 now=0.0000 - MIDI CC 4|114 default=0.0000 now=0.0000 - MIDI CC 4|115 default=0.0000 now=0.0000 - MIDI CC 4|116 default=0.0000 now=0.0000 - MIDI CC 4|117 default=0.0000 now=0.0000 - MIDI CC 4|118 default=0.0000 now=0.0000 - MIDI CC 4|119 default=0.0000 now=0.0000 - MIDI CC 4|120 default=0.0000 now=0.0000 - MIDI CC 4|121 default=0.0000 now=0.0000 - MIDI CC 4|122 default=0.0000 now=0.0000 - MIDI CC 4|123 default=0.0000 now=0.0000 - MIDI CC 4|124 default=0.0000 now=0.0000 - MIDI CC 4|125 default=0.0000 now=0.0000 - MIDI CC 4|126 default=0.0000 now=0.0000 - MIDI CC 4|127 default=0.0000 now=0.0000 - MIDI CC 4|128 default=0.0000 now=0.0000 - MIDI CC 4|129 default=0.0000 now=0.0000 - MIDI CC 5|0 default=0.0000 now=0.0000 - MIDI CC 5|1 default=0.0000 now=0.0000 - MIDI CC 5|2 default=0.0000 now=0.0000 - MIDI CC 5|3 default=0.0000 now=0.0000 - MIDI CC 5|4 default=0.0000 now=0.0000 - MIDI CC 5|5 default=0.0000 now=0.0000 - MIDI CC 5|6 default=0.0000 now=0.0000 - MIDI CC 5|7 default=0.0000 now=0.0000 - MIDI CC 5|8 default=0.0000 now=0.0000 - MIDI CC 5|9 default=0.0000 now=0.0000 - MIDI CC 5|10 default=0.0000 now=0.0000 - MIDI CC 5|11 default=0.0000 now=0.0000 - MIDI CC 5|12 default=0.0000 now=0.0000 - MIDI CC 5|13 default=0.0000 now=0.0000 - MIDI CC 5|14 default=0.0000 now=0.0000 - MIDI CC 5|15 default=0.0000 now=0.0000 - MIDI CC 5|16 default=0.0000 now=0.0000 - MIDI CC 5|17 default=0.0000 now=0.0000 - MIDI CC 5|18 default=0.0000 now=0.0000 - MIDI CC 5|19 default=0.0000 now=0.0000 - MIDI CC 5|20 default=0.0000 now=0.0000 - MIDI CC 5|21 default=0.0000 now=0.0000 - MIDI CC 5|22 default=0.0000 now=0.0000 - MIDI CC 5|23 default=0.0000 now=0.0000 - MIDI CC 5|24 default=0.0000 now=0.0000 - MIDI CC 5|25 default=0.0000 now=0.0000 - MIDI CC 5|26 default=0.0000 now=0.0000 - MIDI CC 5|27 default=0.0000 now=0.0000 - MIDI CC 5|28 default=0.0000 now=0.0000 - MIDI CC 5|29 default=0.0000 now=0.0000 - MIDI CC 5|30 default=0.0000 now=0.0000 - MIDI CC 5|31 default=0.0000 now=0.0000 - MIDI CC 5|32 default=0.0000 now=0.0000 - MIDI CC 5|33 default=0.0000 now=0.0000 - MIDI CC 5|34 default=0.0000 now=0.0000 - MIDI CC 5|35 default=0.0000 now=0.0000 - MIDI CC 5|36 default=0.0000 now=0.0000 - MIDI CC 5|37 default=0.0000 now=0.0000 - MIDI CC 5|38 default=0.0000 now=0.0000 - MIDI CC 5|39 default=0.0000 now=0.0000 - MIDI CC 5|40 default=0.0000 now=0.0000 - MIDI CC 5|41 default=0.0000 now=0.0000 - MIDI CC 5|42 default=0.0000 now=0.0000 - MIDI CC 5|43 default=0.0000 now=0.0000 - MIDI CC 5|44 default=0.0000 now=0.0000 - MIDI CC 5|45 default=0.0000 now=0.0000 - MIDI CC 5|46 default=0.0000 now=0.0000 - MIDI CC 5|47 default=0.0000 now=0.0000 - MIDI CC 5|48 default=0.0000 now=0.0000 - MIDI CC 5|49 default=0.0000 now=0.0000 - MIDI CC 5|50 default=0.0000 now=0.0000 - MIDI CC 5|51 default=0.0000 now=0.0000 - MIDI CC 5|52 default=0.0000 now=0.0000 - MIDI CC 5|53 default=0.0000 now=0.0000 - MIDI CC 5|54 default=0.0000 now=0.0000 - MIDI CC 5|55 default=0.0000 now=0.0000 - MIDI CC 5|56 default=0.0000 now=0.0000 - MIDI CC 5|57 default=0.0000 now=0.0000 - MIDI CC 5|58 default=0.0000 now=0.0000 - MIDI CC 5|59 default=0.0000 now=0.0000 - MIDI CC 5|60 default=0.0000 now=0.0000 - MIDI CC 5|61 default=0.0000 now=0.0000 - MIDI CC 5|62 default=0.0000 now=0.0000 - MIDI CC 5|63 default=0.0000 now=0.0000 - MIDI CC 5|64 default=0.0000 now=0.0000 - MIDI CC 5|65 default=0.0000 now=0.0000 - MIDI CC 5|66 default=0.0000 now=0.0000 - MIDI CC 5|67 default=0.0000 now=0.0000 - MIDI CC 5|68 default=0.0000 now=0.0000 - MIDI CC 5|69 default=0.0000 now=0.0000 - MIDI CC 5|70 default=0.0000 now=0.0000 - MIDI CC 5|71 default=0.0000 now=0.0000 - MIDI CC 5|72 default=0.0000 now=0.0000 - MIDI CC 5|73 default=0.0000 now=0.0000 - MIDI CC 5|74 default=0.0000 now=0.0000 - MIDI CC 5|75 default=0.0000 now=0.0000 - MIDI CC 5|76 default=0.0000 now=0.0000 - MIDI CC 5|77 default=0.0000 now=0.0000 - MIDI CC 5|78 default=0.0000 now=0.0000 - MIDI CC 5|79 default=0.0000 now=0.0000 - MIDI CC 5|80 default=0.0000 now=0.0000 - MIDI CC 5|81 default=0.0000 now=0.0000 - MIDI CC 5|82 default=0.0000 now=0.0000 - MIDI CC 5|83 default=0.0000 now=0.0000 - MIDI CC 5|84 default=0.0000 now=0.0000 - MIDI CC 5|85 default=0.0000 now=0.0000 - MIDI CC 5|86 default=0.0000 now=0.0000 - MIDI CC 5|87 default=0.0000 now=0.0000 - MIDI CC 5|88 default=0.0000 now=0.0000 - MIDI CC 5|89 default=0.0000 now=0.0000 - MIDI CC 5|90 default=0.0000 now=0.0000 - MIDI CC 5|91 default=0.0000 now=0.0000 - MIDI CC 5|92 default=0.0000 now=0.0000 - MIDI CC 5|93 default=0.0000 now=0.0000 - MIDI CC 5|94 default=0.0000 now=0.0000 - MIDI CC 5|95 default=0.0000 now=0.0000 - MIDI CC 5|96 default=0.0000 now=0.0000 - MIDI CC 5|97 default=0.0000 now=0.0000 - MIDI CC 5|98 default=0.0000 now=0.0000 - MIDI CC 5|99 default=0.0000 now=0.0000 - MIDI CC 5|100 default=0.0000 now=0.0000 - MIDI CC 5|101 default=0.0000 now=0.0000 - MIDI CC 5|102 default=0.0000 now=0.0000 - MIDI CC 5|103 default=0.0000 now=0.0000 - MIDI CC 5|104 default=0.0000 now=0.0000 - MIDI CC 5|105 default=0.0000 now=0.0000 - MIDI CC 5|106 default=0.0000 now=0.0000 - MIDI CC 5|107 default=0.0000 now=0.0000 - MIDI CC 5|108 default=0.0000 now=0.0000 - MIDI CC 5|109 default=0.0000 now=0.0000 - MIDI CC 5|110 default=0.0000 now=0.0000 - MIDI CC 5|111 default=0.0000 now=0.0000 - MIDI CC 5|112 default=0.0000 now=0.0000 - MIDI CC 5|113 default=0.0000 now=0.0000 - MIDI CC 5|114 default=0.0000 now=0.0000 - MIDI CC 5|115 default=0.0000 now=0.0000 - MIDI CC 5|116 default=0.0000 now=0.0000 - MIDI CC 5|117 default=0.0000 now=0.0000 - MIDI CC 5|118 default=0.0000 now=0.0000 - MIDI CC 5|119 default=0.0000 now=0.0000 - MIDI CC 5|120 default=0.0000 now=0.0000 - MIDI CC 5|121 default=0.0000 now=0.0000 - MIDI CC 5|122 default=0.0000 now=0.0000 - MIDI CC 5|123 default=0.0000 now=0.0000 - MIDI CC 5|124 default=0.0000 now=0.0000 - MIDI CC 5|125 default=0.0000 now=0.0000 - MIDI CC 5|126 default=0.0000 now=0.0000 - MIDI CC 5|127 default=0.0000 now=0.0000 - MIDI CC 5|128 default=0.0000 now=0.0000 - MIDI CC 5|129 default=0.0000 now=0.0000 - MIDI CC 6|0 default=0.0000 now=0.0000 - MIDI CC 6|1 default=0.0000 now=0.0000 - MIDI CC 6|2 default=0.0000 now=0.0000 - MIDI CC 6|3 default=0.0000 now=0.0000 - MIDI CC 6|4 default=0.0000 now=0.0000 - MIDI CC 6|5 default=0.0000 now=0.0000 - MIDI CC 6|6 default=0.0000 now=0.0000 - MIDI CC 6|7 default=0.0000 now=0.0000 - MIDI CC 6|8 default=0.0000 now=0.0000 - MIDI CC 6|9 default=0.0000 now=0.0000 - MIDI CC 6|10 default=0.0000 now=0.0000 - MIDI CC 6|11 default=0.0000 now=0.0000 - MIDI CC 6|12 default=0.0000 now=0.0000 - MIDI CC 6|13 default=0.0000 now=0.0000 - MIDI CC 6|14 default=0.0000 now=0.0000 - MIDI CC 6|15 default=0.0000 now=0.0000 - MIDI CC 6|16 default=0.0000 now=0.0000 - MIDI CC 6|17 default=0.0000 now=0.0000 - MIDI CC 6|18 default=0.0000 now=0.0000 - MIDI CC 6|19 default=0.0000 now=0.0000 - MIDI CC 6|20 default=0.0000 now=0.0000 - MIDI CC 6|21 default=0.0000 now=0.0000 - MIDI CC 6|22 default=0.0000 now=0.0000 - MIDI CC 6|23 default=0.0000 now=0.0000 - MIDI CC 6|24 default=0.0000 now=0.0000 - MIDI CC 6|25 default=0.0000 now=0.0000 - MIDI CC 6|26 default=0.0000 now=0.0000 - MIDI CC 6|27 default=0.0000 now=0.0000 - MIDI CC 6|28 default=0.0000 now=0.0000 - MIDI CC 6|29 default=0.0000 now=0.0000 - MIDI CC 6|30 default=0.0000 now=0.0000 - MIDI CC 6|31 default=0.0000 now=0.0000 - MIDI CC 6|32 default=0.0000 now=0.0000 - MIDI CC 6|33 default=0.0000 now=0.0000 - MIDI CC 6|34 default=0.0000 now=0.0000 - MIDI CC 6|35 default=0.0000 now=0.0000 - MIDI CC 6|36 default=0.0000 now=0.0000 - MIDI CC 6|37 default=0.0000 now=0.0000 - MIDI CC 6|38 default=0.0000 now=0.0000 - MIDI CC 6|39 default=0.0000 now=0.0000 - MIDI CC 6|40 default=0.0000 now=0.0000 - MIDI CC 6|41 default=0.0000 now=0.0000 - MIDI CC 6|42 default=0.0000 now=0.0000 - MIDI CC 6|43 default=0.0000 now=0.0000 - MIDI CC 6|44 default=0.0000 now=0.0000 - MIDI CC 6|45 default=0.0000 now=0.0000 - MIDI CC 6|46 default=0.0000 now=0.0000 - MIDI CC 6|47 default=0.0000 now=0.0000 - MIDI CC 6|48 default=0.0000 now=0.0000 - MIDI CC 6|49 default=0.0000 now=0.0000 - MIDI CC 6|50 default=0.0000 now=0.0000 - MIDI CC 6|51 default=0.0000 now=0.0000 - MIDI CC 6|52 default=0.0000 now=0.0000 - MIDI CC 6|53 default=0.0000 now=0.0000 - MIDI CC 6|54 default=0.0000 now=0.0000 - MIDI CC 6|55 default=0.0000 now=0.0000 - MIDI CC 6|56 default=0.0000 now=0.0000 - MIDI CC 6|57 default=0.0000 now=0.0000 - MIDI CC 6|58 default=0.0000 now=0.0000 - MIDI CC 6|59 default=0.0000 now=0.0000 - MIDI CC 6|60 default=0.0000 now=0.0000 - MIDI CC 6|61 default=0.0000 now=0.0000 - MIDI CC 6|62 default=0.0000 now=0.0000 - MIDI CC 6|63 default=0.0000 now=0.0000 - MIDI CC 6|64 default=0.0000 now=0.0000 - MIDI CC 6|65 default=0.0000 now=0.0000 - MIDI CC 6|66 default=0.0000 now=0.0000 - MIDI CC 6|67 default=0.0000 now=0.0000 - MIDI CC 6|68 default=0.0000 now=0.0000 - MIDI CC 6|69 default=0.0000 now=0.0000 - MIDI CC 6|70 default=0.0000 now=0.0000 - MIDI CC 6|71 default=0.0000 now=0.0000 - MIDI CC 6|72 default=0.0000 now=0.0000 - MIDI CC 6|73 default=0.0000 now=0.0000 - MIDI CC 6|74 default=0.0000 now=0.0000 - MIDI CC 6|75 default=0.0000 now=0.0000 - MIDI CC 6|76 default=0.0000 now=0.0000 - MIDI CC 6|77 default=0.0000 now=0.0000 - MIDI CC 6|78 default=0.0000 now=0.0000 - MIDI CC 6|79 default=0.0000 now=0.0000 - MIDI CC 6|80 default=0.0000 now=0.0000 - MIDI CC 6|81 default=0.0000 now=0.0000 - MIDI CC 6|82 default=0.0000 now=0.0000 - MIDI CC 6|83 default=0.0000 now=0.0000 - MIDI CC 6|84 default=0.0000 now=0.0000 - MIDI CC 6|85 default=0.0000 now=0.0000 - MIDI CC 6|86 default=0.0000 now=0.0000 - MIDI CC 6|87 default=0.0000 now=0.0000 - MIDI CC 6|88 default=0.0000 now=0.0000 - MIDI CC 6|89 default=0.0000 now=0.0000 - MIDI CC 6|90 default=0.0000 now=0.0000 - MIDI CC 6|91 default=0.0000 now=0.0000 - MIDI CC 6|92 default=0.0000 now=0.0000 - MIDI CC 6|93 default=0.0000 now=0.0000 - MIDI CC 6|94 default=0.0000 now=0.0000 - MIDI CC 6|95 default=0.0000 now=0.0000 - MIDI CC 6|96 default=0.0000 now=0.0000 - MIDI CC 6|97 default=0.0000 now=0.0000 - MIDI CC 6|98 default=0.0000 now=0.0000 - MIDI CC 6|99 default=0.0000 now=0.0000 - MIDI CC 6|100 default=0.0000 now=0.0000 - MIDI CC 6|101 default=0.0000 now=0.0000 - MIDI CC 6|102 default=0.0000 now=0.0000 - MIDI CC 6|103 default=0.0000 now=0.0000 - MIDI CC 6|104 default=0.0000 now=0.0000 - MIDI CC 6|105 default=0.0000 now=0.0000 - MIDI CC 6|106 default=0.0000 now=0.0000 - MIDI CC 6|107 default=0.0000 now=0.0000 - MIDI CC 6|108 default=0.0000 now=0.0000 - MIDI CC 6|109 default=0.0000 now=0.0000 - MIDI CC 6|110 default=0.0000 now=0.0000 - MIDI CC 6|111 default=0.0000 now=0.0000 - MIDI CC 6|112 default=0.0000 now=0.0000 - MIDI CC 6|113 default=0.0000 now=0.0000 - MIDI CC 6|114 default=0.0000 now=0.0000 - MIDI CC 6|115 default=0.0000 now=0.0000 - MIDI CC 6|116 default=0.0000 now=0.0000 - MIDI CC 6|117 default=0.0000 now=0.0000 - MIDI CC 6|118 default=0.0000 now=0.0000 - MIDI CC 6|119 default=0.0000 now=0.0000 - MIDI CC 6|120 default=0.0000 now=0.0000 - MIDI CC 6|121 default=0.0000 now=0.0000 - MIDI CC 6|122 default=0.0000 now=0.0000 - MIDI CC 6|123 default=0.0000 now=0.0000 - MIDI CC 6|124 default=0.0000 now=0.0000 - MIDI CC 6|125 default=0.0000 now=0.0000 - MIDI CC 6|126 default=0.0000 now=0.0000 - MIDI CC 6|127 default=0.0000 now=0.0000 - MIDI CC 6|128 default=0.0000 now=0.0000 - MIDI CC 6|129 default=0.0000 now=0.0000 - MIDI CC 7|0 default=0.0000 now=0.0000 - MIDI CC 7|1 default=0.0000 now=0.0000 - MIDI CC 7|2 default=0.0000 now=0.0000 - MIDI CC 7|3 default=0.0000 now=0.0000 - MIDI CC 7|4 default=0.0000 now=0.0000 - MIDI CC 7|5 default=0.0000 now=0.0000 - MIDI CC 7|6 default=0.0000 now=0.0000 - MIDI CC 7|7 default=0.0000 now=0.0000 - MIDI CC 7|8 default=0.0000 now=0.0000 - MIDI CC 7|9 default=0.0000 now=0.0000 - MIDI CC 7|10 default=0.0000 now=0.0000 - MIDI CC 7|11 default=0.0000 now=0.0000 - MIDI CC 7|12 default=0.0000 now=0.0000 - MIDI CC 7|13 default=0.0000 now=0.0000 - MIDI CC 7|14 default=0.0000 now=0.0000 - MIDI CC 7|15 default=0.0000 now=0.0000 - MIDI CC 7|16 default=0.0000 now=0.0000 - MIDI CC 7|17 default=0.0000 now=0.0000 - MIDI CC 7|18 default=0.0000 now=0.0000 - MIDI CC 7|19 default=0.0000 now=0.0000 - MIDI CC 7|20 default=0.0000 now=0.0000 - MIDI CC 7|21 default=0.0000 now=0.0000 - MIDI CC 7|22 default=0.0000 now=0.0000 - MIDI CC 7|23 default=0.0000 now=0.0000 - MIDI CC 7|24 default=0.0000 now=0.0000 - MIDI CC 7|25 default=0.0000 now=0.0000 - MIDI CC 7|26 default=0.0000 now=0.0000 - MIDI CC 7|27 default=0.0000 now=0.0000 - MIDI CC 7|28 default=0.0000 now=0.0000 - MIDI CC 7|29 default=0.0000 now=0.0000 - MIDI CC 7|30 default=0.0000 now=0.0000 - MIDI CC 7|31 default=0.0000 now=0.0000 - MIDI CC 7|32 default=0.0000 now=0.0000 - MIDI CC 7|33 default=0.0000 now=0.0000 - MIDI CC 7|34 default=0.0000 now=0.0000 - MIDI CC 7|35 default=0.0000 now=0.0000 - MIDI CC 7|36 default=0.0000 now=0.0000 - MIDI CC 7|37 default=0.0000 now=0.0000 - MIDI CC 7|38 default=0.0000 now=0.0000 - MIDI CC 7|39 default=0.0000 now=0.0000 - MIDI CC 7|40 default=0.0000 now=0.0000 - MIDI CC 7|41 default=0.0000 now=0.0000 - MIDI CC 7|42 default=0.0000 now=0.0000 - MIDI CC 7|43 default=0.0000 now=0.0000 - MIDI CC 7|44 default=0.0000 now=0.0000 - MIDI CC 7|45 default=0.0000 now=0.0000 - MIDI CC 7|46 default=0.0000 now=0.0000 - MIDI CC 7|47 default=0.0000 now=0.0000 - MIDI CC 7|48 default=0.0000 now=0.0000 - MIDI CC 7|49 default=0.0000 now=0.0000 - MIDI CC 7|50 default=0.0000 now=0.0000 - MIDI CC 7|51 default=0.0000 now=0.0000 - MIDI CC 7|52 default=0.0000 now=0.0000 - MIDI CC 7|53 default=0.0000 now=0.0000 - MIDI CC 7|54 default=0.0000 now=0.0000 - MIDI CC 7|55 default=0.0000 now=0.0000 - MIDI CC 7|56 default=0.0000 now=0.0000 - MIDI CC 7|57 default=0.0000 now=0.0000 - MIDI CC 7|58 default=0.0000 now=0.0000 - MIDI CC 7|59 default=0.0000 now=0.0000 - MIDI CC 7|60 default=0.0000 now=0.0000 - MIDI CC 7|61 default=0.0000 now=0.0000 - MIDI CC 7|62 default=0.0000 now=0.0000 - MIDI CC 7|63 default=0.0000 now=0.0000 - MIDI CC 7|64 default=0.0000 now=0.0000 - MIDI CC 7|65 default=0.0000 now=0.0000 - MIDI CC 7|66 default=0.0000 now=0.0000 - MIDI CC 7|67 default=0.0000 now=0.0000 - MIDI CC 7|68 default=0.0000 now=0.0000 - MIDI CC 7|69 default=0.0000 now=0.0000 - MIDI CC 7|70 default=0.0000 now=0.0000 - MIDI CC 7|71 default=0.0000 now=0.0000 - MIDI CC 7|72 default=0.0000 now=0.0000 - MIDI CC 7|73 default=0.0000 now=0.0000 - MIDI CC 7|74 default=0.0000 now=0.0000 - MIDI CC 7|75 default=0.0000 now=0.0000 - MIDI CC 7|76 default=0.0000 now=0.0000 - MIDI CC 7|77 default=0.0000 now=0.0000 - MIDI CC 7|78 default=0.0000 now=0.0000 - MIDI CC 7|79 default=0.0000 now=0.0000 - MIDI CC 7|80 default=0.0000 now=0.0000 - MIDI CC 7|81 default=0.0000 now=0.0000 - MIDI CC 7|82 default=0.0000 now=0.0000 - MIDI CC 7|83 default=0.0000 now=0.0000 - MIDI CC 7|84 default=0.0000 now=0.0000 - MIDI CC 7|85 default=0.0000 now=0.0000 - MIDI CC 7|86 default=0.0000 now=0.0000 - MIDI CC 7|87 default=0.0000 now=0.0000 - MIDI CC 7|88 default=0.0000 now=0.0000 - MIDI CC 7|89 default=0.0000 now=0.0000 - MIDI CC 7|90 default=0.0000 now=0.0000 - MIDI CC 7|91 default=0.0000 now=0.0000 - MIDI CC 7|92 default=0.0000 now=0.0000 - MIDI CC 7|93 default=0.0000 now=0.0000 - MIDI CC 7|94 default=0.0000 now=0.0000 - MIDI CC 7|95 default=0.0000 now=0.0000 - MIDI CC 7|96 default=0.0000 now=0.0000 - MIDI CC 7|97 default=0.0000 now=0.0000 - MIDI CC 7|98 default=0.0000 now=0.0000 - MIDI CC 7|99 default=0.0000 now=0.0000 - MIDI CC 7|100 default=0.0000 now=0.0000 - MIDI CC 7|101 default=0.0000 now=0.0000 - MIDI CC 7|102 default=0.0000 now=0.0000 - MIDI CC 7|103 default=0.0000 now=0.0000 - MIDI CC 7|104 default=0.0000 now=0.0000 - MIDI CC 7|105 default=0.0000 now=0.0000 - MIDI CC 7|106 default=0.0000 now=0.0000 - MIDI CC 7|107 default=0.0000 now=0.0000 - MIDI CC 7|108 default=0.0000 now=0.0000 - MIDI CC 7|109 default=0.0000 now=0.0000 - MIDI CC 7|110 default=0.0000 now=0.0000 - MIDI CC 7|111 default=0.0000 now=0.0000 - MIDI CC 7|112 default=0.0000 now=0.0000 - MIDI CC 7|113 default=0.0000 now=0.0000 - MIDI CC 7|114 default=0.0000 now=0.0000 - MIDI CC 7|115 default=0.0000 now=0.0000 - MIDI CC 7|116 default=0.0000 now=0.0000 - MIDI CC 7|117 default=0.0000 now=0.0000 - MIDI CC 7|118 default=0.0000 now=0.0000 - MIDI CC 7|119 default=0.0000 now=0.0000 - MIDI CC 7|120 default=0.0000 now=0.0000 - MIDI CC 7|121 default=0.0000 now=0.0000 - MIDI CC 7|122 default=0.0000 now=0.0000 - MIDI CC 7|123 default=0.0000 now=0.0000 - MIDI CC 7|124 default=0.0000 now=0.0000 - MIDI CC 7|125 default=0.0000 now=0.0000 - MIDI CC 7|126 default=0.0000 now=0.0000 - MIDI CC 7|127 default=0.0000 now=0.0000 - MIDI CC 7|128 default=0.0000 now=0.0000 - MIDI CC 7|129 default=0.0000 now=0.0000 - MIDI CC 8|0 default=0.0000 now=0.0000 - MIDI CC 8|1 default=0.0000 now=0.0000 - MIDI CC 8|2 default=0.0000 now=0.0000 - MIDI CC 8|3 default=0.0000 now=0.0000 - MIDI CC 8|4 default=0.0000 now=0.0000 - MIDI CC 8|5 default=0.0000 now=0.0000 - MIDI CC 8|6 default=0.0000 now=0.0000 - MIDI CC 8|7 default=0.0000 now=0.0000 - MIDI CC 8|8 default=0.0000 now=0.0000 - MIDI CC 8|9 default=0.0000 now=0.0000 - MIDI CC 8|10 default=0.0000 now=0.0000 - MIDI CC 8|11 default=0.0000 now=0.0000 - MIDI CC 8|12 default=0.0000 now=0.0000 - MIDI CC 8|13 default=0.0000 now=0.0000 - MIDI CC 8|14 default=0.0000 now=0.0000 - MIDI CC 8|15 default=0.0000 now=0.0000 - MIDI CC 8|16 default=0.0000 now=0.0000 - MIDI CC 8|17 default=0.0000 now=0.0000 - MIDI CC 8|18 default=0.0000 now=0.0000 - MIDI CC 8|19 default=0.0000 now=0.0000 - MIDI CC 8|20 default=0.0000 now=0.0000 - MIDI CC 8|21 default=0.0000 now=0.0000 - MIDI CC 8|22 default=0.0000 now=0.0000 - MIDI CC 8|23 default=0.0000 now=0.0000 - MIDI CC 8|24 default=0.0000 now=0.0000 - MIDI CC 8|25 default=0.0000 now=0.0000 - MIDI CC 8|26 default=0.0000 now=0.0000 - MIDI CC 8|27 default=0.0000 now=0.0000 - MIDI CC 8|28 default=0.0000 now=0.0000 - MIDI CC 8|29 default=0.0000 now=0.0000 - MIDI CC 8|30 default=0.0000 now=0.0000 - MIDI CC 8|31 default=0.0000 now=0.0000 - MIDI CC 8|32 default=0.0000 now=0.0000 - MIDI CC 8|33 default=0.0000 now=0.0000 - MIDI CC 8|34 default=0.0000 now=0.0000 - MIDI CC 8|35 default=0.0000 now=0.0000 - MIDI CC 8|36 default=0.0000 now=0.0000 - MIDI CC 8|37 default=0.0000 now=0.0000 - MIDI CC 8|38 default=0.0000 now=0.0000 - MIDI CC 8|39 default=0.0000 now=0.0000 - MIDI CC 8|40 default=0.0000 now=0.0000 - MIDI CC 8|41 default=0.0000 now=0.0000 - MIDI CC 8|42 default=0.0000 now=0.0000 - MIDI CC 8|43 default=0.0000 now=0.0000 - MIDI CC 8|44 default=0.0000 now=0.0000 - MIDI CC 8|45 default=0.0000 now=0.0000 - MIDI CC 8|46 default=0.0000 now=0.0000 - MIDI CC 8|47 default=0.0000 now=0.0000 - MIDI CC 8|48 default=0.0000 now=0.0000 - MIDI CC 8|49 default=0.0000 now=0.0000 - MIDI CC 8|50 default=0.0000 now=0.0000 - MIDI CC 8|51 default=0.0000 now=0.0000 - MIDI CC 8|52 default=0.0000 now=0.0000 - MIDI CC 8|53 default=0.0000 now=0.0000 - MIDI CC 8|54 default=0.0000 now=0.0000 - MIDI CC 8|55 default=0.0000 now=0.0000 - MIDI CC 8|56 default=0.0000 now=0.0000 - MIDI CC 8|57 default=0.0000 now=0.0000 - MIDI CC 8|58 default=0.0000 now=0.0000 - MIDI CC 8|59 default=0.0000 now=0.0000 - MIDI CC 8|60 default=0.0000 now=0.0000 - MIDI CC 8|61 default=0.0000 now=0.0000 - MIDI CC 8|62 default=0.0000 now=0.0000 - MIDI CC 8|63 default=0.0000 now=0.0000 - MIDI CC 8|64 default=0.0000 now=0.0000 - MIDI CC 8|65 default=0.0000 now=0.0000 - MIDI CC 8|66 default=0.0000 now=0.0000 - MIDI CC 8|67 default=0.0000 now=0.0000 - MIDI CC 8|68 default=0.0000 now=0.0000 - MIDI CC 8|69 default=0.0000 now=0.0000 - MIDI CC 8|70 default=0.0000 now=0.0000 - MIDI CC 8|71 default=0.0000 now=0.0000 - MIDI CC 8|72 default=0.0000 now=0.0000 - MIDI CC 8|73 default=0.0000 now=0.0000 - MIDI CC 8|74 default=0.0000 now=0.0000 - MIDI CC 8|75 default=0.0000 now=0.0000 - MIDI CC 8|76 default=0.0000 now=0.0000 - MIDI CC 8|77 default=0.0000 now=0.0000 - MIDI CC 8|78 default=0.0000 now=0.0000 - MIDI CC 8|79 default=0.0000 now=0.0000 - MIDI CC 8|80 default=0.0000 now=0.0000 - MIDI CC 8|81 default=0.0000 now=0.0000 - MIDI CC 8|82 default=0.0000 now=0.0000 - MIDI CC 8|83 default=0.0000 now=0.0000 - MIDI CC 8|84 default=0.0000 now=0.0000 - MIDI CC 8|85 default=0.0000 now=0.0000 - MIDI CC 8|86 default=0.0000 now=0.0000 - MIDI CC 8|87 default=0.0000 now=0.0000 - MIDI CC 8|88 default=0.0000 now=0.0000 - MIDI CC 8|89 default=0.0000 now=0.0000 - MIDI CC 8|90 default=0.0000 now=0.0000 - MIDI CC 8|91 default=0.0000 now=0.0000 - MIDI CC 8|92 default=0.0000 now=0.0000 - MIDI CC 8|93 default=0.0000 now=0.0000 - MIDI CC 8|94 default=0.0000 now=0.0000 - MIDI CC 8|95 default=0.0000 now=0.0000 - MIDI CC 8|96 default=0.0000 now=0.0000 - MIDI CC 8|97 default=0.0000 now=0.0000 - MIDI CC 8|98 default=0.0000 now=0.0000 - MIDI CC 8|99 default=0.0000 now=0.0000 - MIDI CC 8|100 default=0.0000 now=0.0000 - MIDI CC 8|101 default=0.0000 now=0.0000 - MIDI CC 8|102 default=0.0000 now=0.0000 - MIDI CC 8|103 default=0.0000 now=0.0000 - MIDI CC 8|104 default=0.0000 now=0.0000 - MIDI CC 8|105 default=0.0000 now=0.0000 - MIDI CC 8|106 default=0.0000 now=0.0000 - MIDI CC 8|107 default=0.0000 now=0.0000 - MIDI CC 8|108 default=0.0000 now=0.0000 - MIDI CC 8|109 default=0.0000 now=0.0000 - MIDI CC 8|110 default=0.0000 now=0.0000 - MIDI CC 8|111 default=0.0000 now=0.0000 - MIDI CC 8|112 default=0.0000 now=0.0000 - MIDI CC 8|113 default=0.0000 now=0.0000 - MIDI CC 8|114 default=0.0000 now=0.0000 - MIDI CC 8|115 default=0.0000 now=0.0000 - MIDI CC 8|116 default=0.0000 now=0.0000 - MIDI CC 8|117 default=0.0000 now=0.0000 - MIDI CC 8|118 default=0.0000 now=0.0000 - MIDI CC 8|119 default=0.0000 now=0.0000 - MIDI CC 8|120 default=0.0000 now=0.0000 - MIDI CC 8|121 default=0.0000 now=0.0000 - MIDI CC 8|122 default=0.0000 now=0.0000 - MIDI CC 8|123 default=0.0000 now=0.0000 - MIDI CC 8|124 default=0.0000 now=0.0000 - MIDI CC 8|125 default=0.0000 now=0.0000 - MIDI CC 8|126 default=0.0000 now=0.0000 - MIDI CC 8|127 default=0.0000 now=0.0000 - MIDI CC 8|128 default=0.0000 now=0.0000 - MIDI CC 8|129 default=0.0000 now=0.0000 - MIDI CC 9|0 default=0.0000 now=0.0000 - MIDI CC 9|1 default=0.0000 now=0.0000 - MIDI CC 9|2 default=0.0000 now=0.0000 - MIDI CC 9|3 default=0.0000 now=0.0000 - MIDI CC 9|4 default=0.0000 now=0.0000 - MIDI CC 9|5 default=0.0000 now=0.0000 - MIDI CC 9|6 default=0.0000 now=0.0000 - MIDI CC 9|7 default=0.0000 now=0.0000 - MIDI CC 9|8 default=0.0000 now=0.0000 - MIDI CC 9|9 default=0.0000 now=0.0000 - MIDI CC 9|10 default=0.0000 now=0.0000 - MIDI CC 9|11 default=0.0000 now=0.0000 - MIDI CC 9|12 default=0.0000 now=0.0000 - MIDI CC 9|13 default=0.0000 now=0.0000 - MIDI CC 9|14 default=0.0000 now=0.0000 - MIDI CC 9|15 default=0.0000 now=0.0000 - MIDI CC 9|16 default=0.0000 now=0.0000 - MIDI CC 9|17 default=0.0000 now=0.0000 - MIDI CC 9|18 default=0.0000 now=0.0000 - MIDI CC 9|19 default=0.0000 now=0.0000 - MIDI CC 9|20 default=0.0000 now=0.0000 - MIDI CC 9|21 default=0.0000 now=0.0000 - MIDI CC 9|22 default=0.0000 now=0.0000 - MIDI CC 9|23 default=0.0000 now=0.0000 - MIDI CC 9|24 default=0.0000 now=0.0000 - MIDI CC 9|25 default=0.0000 now=0.0000 - MIDI CC 9|26 default=0.0000 now=0.0000 - MIDI CC 9|27 default=0.0000 now=0.0000 - MIDI CC 9|28 default=0.0000 now=0.0000 - MIDI CC 9|29 default=0.0000 now=0.0000 - MIDI CC 9|30 default=0.0000 now=0.0000 - MIDI CC 9|31 default=0.0000 now=0.0000 - MIDI CC 9|32 default=0.0000 now=0.0000 - MIDI CC 9|33 default=0.0000 now=0.0000 - MIDI CC 9|34 default=0.0000 now=0.0000 - MIDI CC 9|35 default=0.0000 now=0.0000 - MIDI CC 9|36 default=0.0000 now=0.0000 - MIDI CC 9|37 default=0.0000 now=0.0000 - MIDI CC 9|38 default=0.0000 now=0.0000 - MIDI CC 9|39 default=0.0000 now=0.0000 - MIDI CC 9|40 default=0.0000 now=0.0000 - MIDI CC 9|41 default=0.0000 now=0.0000 - MIDI CC 9|42 default=0.0000 now=0.0000 - MIDI CC 9|43 default=0.0000 now=0.0000 - MIDI CC 9|44 default=0.0000 now=0.0000 - MIDI CC 9|45 default=0.0000 now=0.0000 - MIDI CC 9|46 default=0.0000 now=0.0000 - MIDI CC 9|47 default=0.0000 now=0.0000 - MIDI CC 9|48 default=0.0000 now=0.0000 - MIDI CC 9|49 default=0.0000 now=0.0000 - MIDI CC 9|50 default=0.0000 now=0.0000 - MIDI CC 9|51 default=0.0000 now=0.0000 - MIDI CC 9|52 default=0.0000 now=0.0000 - MIDI CC 9|53 default=0.0000 now=0.0000 - MIDI CC 9|54 default=0.0000 now=0.0000 - MIDI CC 9|55 default=0.0000 now=0.0000 - MIDI CC 9|56 default=0.0000 now=0.0000 - MIDI CC 9|57 default=0.0000 now=0.0000 - MIDI CC 9|58 default=0.0000 now=0.0000 - MIDI CC 9|59 default=0.0000 now=0.0000 - MIDI CC 9|60 default=0.0000 now=0.0000 - MIDI CC 9|61 default=0.0000 now=0.0000 - MIDI CC 9|62 default=0.0000 now=0.0000 - MIDI CC 9|63 default=0.0000 now=0.0000 - MIDI CC 9|64 default=0.0000 now=0.0000 - MIDI CC 9|65 default=0.0000 now=0.0000 - MIDI CC 9|66 default=0.0000 now=0.0000 - MIDI CC 9|67 default=0.0000 now=0.0000 - MIDI CC 9|68 default=0.0000 now=0.0000 - MIDI CC 9|69 default=0.0000 now=0.0000 - MIDI CC 9|70 default=0.0000 now=0.0000 - MIDI CC 9|71 default=0.0000 now=0.0000 - MIDI CC 9|72 default=0.0000 now=0.0000 - MIDI CC 9|73 default=0.0000 now=0.0000 - MIDI CC 9|74 default=0.0000 now=0.0000 - MIDI CC 9|75 default=0.0000 now=0.0000 - MIDI CC 9|76 default=0.0000 now=0.0000 - MIDI CC 9|77 default=0.0000 now=0.0000 - MIDI CC 9|78 default=0.0000 now=0.0000 - MIDI CC 9|79 default=0.0000 now=0.0000 - MIDI CC 9|80 default=0.0000 now=0.0000 - MIDI CC 9|81 default=0.0000 now=0.0000 - MIDI CC 9|82 default=0.0000 now=0.0000 - MIDI CC 9|83 default=0.0000 now=0.0000 - MIDI CC 9|84 default=0.0000 now=0.0000 - MIDI CC 9|85 default=0.0000 now=0.0000 - MIDI CC 9|86 default=0.0000 now=0.0000 - MIDI CC 9|87 default=0.0000 now=0.0000 - MIDI CC 9|88 default=0.0000 now=0.0000 - MIDI CC 9|89 default=0.0000 now=0.0000 - MIDI CC 9|90 default=0.0000 now=0.0000 - MIDI CC 9|91 default=0.0000 now=0.0000 - MIDI CC 9|92 default=0.0000 now=0.0000 - MIDI CC 9|93 default=0.0000 now=0.0000 - MIDI CC 9|94 default=0.0000 now=0.0000 - MIDI CC 9|95 default=0.0000 now=0.0000 - MIDI CC 9|96 default=0.0000 now=0.0000 - MIDI CC 9|97 default=0.0000 now=0.0000 - MIDI CC 9|98 default=0.0000 now=0.0000 - MIDI CC 9|99 default=0.0000 now=0.0000 - MIDI CC 9|100 default=0.0000 now=0.0000 - MIDI CC 9|101 default=0.0000 now=0.0000 - MIDI CC 9|102 default=0.0000 now=0.0000 - MIDI CC 9|103 default=0.0000 now=0.0000 - MIDI CC 9|104 default=0.0000 now=0.0000 - MIDI CC 9|105 default=0.0000 now=0.0000 - MIDI CC 9|106 default=0.0000 now=0.0000 - MIDI CC 9|107 default=0.0000 now=0.0000 - MIDI CC 9|108 default=0.0000 now=0.0000 - MIDI CC 9|109 default=0.0000 now=0.0000 - MIDI CC 9|110 default=0.0000 now=0.0000 - MIDI CC 9|111 default=0.0000 now=0.0000 - MIDI CC 9|112 default=0.0000 now=0.0000 - MIDI CC 9|113 default=0.0000 now=0.0000 - MIDI CC 9|114 default=0.0000 now=0.0000 - MIDI CC 9|115 default=0.0000 now=0.0000 - MIDI CC 9|116 default=0.0000 now=0.0000 - MIDI CC 9|117 default=0.0000 now=0.0000 - MIDI CC 9|118 default=0.0000 now=0.0000 - MIDI CC 9|119 default=0.0000 now=0.0000 - MIDI CC 9|120 default=0.0000 now=0.0000 - MIDI CC 9|121 default=0.0000 now=0.0000 - MIDI CC 9|122 default=0.0000 now=0.0000 - MIDI CC 9|123 default=0.0000 now=0.0000 - MIDI CC 9|124 default=0.0000 now=0.0000 - MIDI CC 9|125 default=0.0000 now=0.0000 - MIDI CC 9|126 default=0.0000 now=0.0000 - MIDI CC 9|127 default=0.0000 now=0.0000 - MIDI CC 9|128 default=0.0000 now=0.0000 - MIDI CC 9|129 default=0.0000 now=0.0000 - MIDI CC 10|0 default=0.0000 now=0.0000 - MIDI CC 10|1 default=0.0000 now=0.0000 - MIDI CC 10|2 default=0.0000 now=0.0000 - MIDI CC 10|3 default=0.0000 now=0.0000 - MIDI CC 10|4 default=0.0000 now=0.0000 - MIDI CC 10|5 default=0.0000 now=0.0000 - MIDI CC 10|6 default=0.0000 now=0.0000 - MIDI CC 10|7 default=0.0000 now=0.0000 - MIDI CC 10|8 default=0.0000 now=0.0000 - MIDI CC 10|9 default=0.0000 now=0.0000 - MIDI CC 10|10 default=0.0000 now=0.0000 - MIDI CC 10|11 default=0.0000 now=0.0000 - MIDI CC 10|12 default=0.0000 now=0.0000 - MIDI CC 10|13 default=0.0000 now=0.0000 - MIDI CC 10|14 default=0.0000 now=0.0000 - MIDI CC 10|15 default=0.0000 now=0.0000 - MIDI CC 10|16 default=0.0000 now=0.0000 - MIDI CC 10|17 default=0.0000 now=0.0000 - MIDI CC 10|18 default=0.0000 now=0.0000 - MIDI CC 10|19 default=0.0000 now=0.0000 - MIDI CC 10|20 default=0.0000 now=0.0000 - MIDI CC 10|21 default=0.0000 now=0.0000 - MIDI CC 10|22 default=0.0000 now=0.0000 - MIDI CC 10|23 default=0.0000 now=0.0000 - MIDI CC 10|24 default=0.0000 now=0.0000 - MIDI CC 10|25 default=0.0000 now=0.0000 - MIDI CC 10|26 default=0.0000 now=0.0000 - MIDI CC 10|27 default=0.0000 now=0.0000 - MIDI CC 10|28 default=0.0000 now=0.0000 - MIDI CC 10|29 default=0.0000 now=0.0000 - MIDI CC 10|30 default=0.0000 now=0.0000 - MIDI CC 10|31 default=0.0000 now=0.0000 - MIDI CC 10|32 default=0.0000 now=0.0000 - MIDI CC 10|33 default=0.0000 now=0.0000 - MIDI CC 10|34 default=0.0000 now=0.0000 - MIDI CC 10|35 default=0.0000 now=0.0000 - MIDI CC 10|36 default=0.0000 now=0.0000 - MIDI CC 10|37 default=0.0000 now=0.0000 - MIDI CC 10|38 default=0.0000 now=0.0000 - MIDI CC 10|39 default=0.0000 now=0.0000 - MIDI CC 10|40 default=0.0000 now=0.0000 - MIDI CC 10|41 default=0.0000 now=0.0000 - MIDI CC 10|42 default=0.0000 now=0.0000 - MIDI CC 10|43 default=0.0000 now=0.0000 - MIDI CC 10|44 default=0.0000 now=0.0000 - MIDI CC 10|45 default=0.0000 now=0.0000 - MIDI CC 10|46 default=0.0000 now=0.0000 - MIDI CC 10|47 default=0.0000 now=0.0000 - MIDI CC 10|48 default=0.0000 now=0.0000 - MIDI CC 10|49 default=0.0000 now=0.0000 - MIDI CC 10|50 default=0.0000 now=0.0000 - MIDI CC 10|51 default=0.0000 now=0.0000 - MIDI CC 10|52 default=0.0000 now=0.0000 - MIDI CC 10|53 default=0.0000 now=0.0000 - MIDI CC 10|54 default=0.0000 now=0.0000 - MIDI CC 10|55 default=0.0000 now=0.0000 - MIDI CC 10|56 default=0.0000 now=0.0000 - MIDI CC 10|57 default=0.0000 now=0.0000 - MIDI CC 10|58 default=0.0000 now=0.0000 - MIDI CC 10|59 default=0.0000 now=0.0000 - MIDI CC 10|60 default=0.0000 now=0.0000 - MIDI CC 10|61 default=0.0000 now=0.0000 - MIDI CC 10|62 default=0.0000 now=0.0000 - MIDI CC 10|63 default=0.0000 now=0.0000 - MIDI CC 10|64 default=0.0000 now=0.0000 - MIDI CC 10|65 default=0.0000 now=0.0000 - MIDI CC 10|66 default=0.0000 now=0.0000 - MIDI CC 10|67 default=0.0000 now=0.0000 - MIDI CC 10|68 default=0.0000 now=0.0000 - MIDI CC 10|69 default=0.0000 now=0.0000 - MIDI CC 10|70 default=0.0000 now=0.0000 - MIDI CC 10|71 default=0.0000 now=0.0000 - MIDI CC 10|72 default=0.0000 now=0.0000 - MIDI CC 10|73 default=0.0000 now=0.0000 - MIDI CC 10|74 default=0.0000 now=0.0000 - MIDI CC 10|75 default=0.0000 now=0.0000 - MIDI CC 10|76 default=0.0000 now=0.0000 - MIDI CC 10|77 default=0.0000 now=0.0000 - MIDI CC 10|78 default=0.0000 now=0.0000 - MIDI CC 10|79 default=0.0000 now=0.0000 - MIDI CC 10|80 default=0.0000 now=0.0000 - MIDI CC 10|81 default=0.0000 now=0.0000 - MIDI CC 10|82 default=0.0000 now=0.0000 - MIDI CC 10|83 default=0.0000 now=0.0000 - MIDI CC 10|84 default=0.0000 now=0.0000 - MIDI CC 10|85 default=0.0000 now=0.0000 - MIDI CC 10|86 default=0.0000 now=0.0000 - MIDI CC 10|87 default=0.0000 now=0.0000 - MIDI CC 10|88 default=0.0000 now=0.0000 - MIDI CC 10|89 default=0.0000 now=0.0000 - MIDI CC 10|90 default=0.0000 now=0.0000 - MIDI CC 10|91 default=0.0000 now=0.0000 - MIDI CC 10|92 default=0.0000 now=0.0000 - MIDI CC 10|93 default=0.0000 now=0.0000 - MIDI CC 10|94 default=0.0000 now=0.0000 - MIDI CC 10|95 default=0.0000 now=0.0000 - MIDI CC 10|96 default=0.0000 now=0.0000 - MIDI CC 10|97 default=0.0000 now=0.0000 - MIDI CC 10|98 default=0.0000 now=0.0000 - MIDI CC 10|99 default=0.0000 now=0.0000 - MIDI CC 10|100 default=0.0000 now=0.0000 - MIDI CC 10|101 default=0.0000 now=0.0000 - MIDI CC 10|102 default=0.0000 now=0.0000 - MIDI CC 10|103 default=0.0000 now=0.0000 - MIDI CC 10|104 default=0.0000 now=0.0000 - MIDI CC 10|105 default=0.0000 now=0.0000 - MIDI CC 10|106 default=0.0000 now=0.0000 - MIDI CC 10|107 default=0.0000 now=0.0000 - MIDI CC 10|108 default=0.0000 now=0.0000 - MIDI CC 10|109 default=0.0000 now=0.0000 - MIDI CC 10|110 default=0.0000 now=0.0000 - MIDI CC 10|111 default=0.0000 now=0.0000 - MIDI CC 10|112 default=0.0000 now=0.0000 - MIDI CC 10|113 default=0.0000 now=0.0000 - MIDI CC 10|114 default=0.0000 now=0.0000 - MIDI CC 10|115 default=0.0000 now=0.0000 - MIDI CC 10|116 default=0.0000 now=0.0000 - MIDI CC 10|117 default=0.0000 now=0.0000 - MIDI CC 10|118 default=0.0000 now=0.0000 - MIDI CC 10|119 default=0.0000 now=0.0000 - MIDI CC 10|120 default=0.0000 now=0.0000 - MIDI CC 10|121 default=0.0000 now=0.0000 - MIDI CC 10|122 default=0.0000 now=0.0000 - MIDI CC 10|123 default=0.0000 now=0.0000 - MIDI CC 10|124 default=0.0000 now=0.0000 - MIDI CC 10|125 default=0.0000 now=0.0000 - MIDI CC 10|126 default=0.0000 now=0.0000 - MIDI CC 10|127 default=0.0000 now=0.0000 - MIDI CC 10|128 default=0.0000 now=0.0000 - MIDI CC 10|129 default=0.0000 now=0.0000 - MIDI CC 11|0 default=0.0000 now=0.0000 - MIDI CC 11|1 default=0.0000 now=0.0000 - MIDI CC 11|2 default=0.0000 now=0.0000 - MIDI CC 11|3 default=0.0000 now=0.0000 - MIDI CC 11|4 default=0.0000 now=0.0000 - MIDI CC 11|5 default=0.0000 now=0.0000 - MIDI CC 11|6 default=0.0000 now=0.0000 - MIDI CC 11|7 default=0.0000 now=0.0000 - MIDI CC 11|8 default=0.0000 now=0.0000 - MIDI CC 11|9 default=0.0000 now=0.0000 - MIDI CC 11|10 default=0.0000 now=0.0000 - MIDI CC 11|11 default=0.0000 now=0.0000 - MIDI CC 11|12 default=0.0000 now=0.0000 - MIDI CC 11|13 default=0.0000 now=0.0000 - MIDI CC 11|14 default=0.0000 now=0.0000 - MIDI CC 11|15 default=0.0000 now=0.0000 - MIDI CC 11|16 default=0.0000 now=0.0000 - MIDI CC 11|17 default=0.0000 now=0.0000 - MIDI CC 11|18 default=0.0000 now=0.0000 - MIDI CC 11|19 default=0.0000 now=0.0000 - MIDI CC 11|20 default=0.0000 now=0.0000 - MIDI CC 11|21 default=0.0000 now=0.0000 - MIDI CC 11|22 default=0.0000 now=0.0000 - MIDI CC 11|23 default=0.0000 now=0.0000 - MIDI CC 11|24 default=0.0000 now=0.0000 - MIDI CC 11|25 default=0.0000 now=0.0000 - MIDI CC 11|26 default=0.0000 now=0.0000 - MIDI CC 11|27 default=0.0000 now=0.0000 - MIDI CC 11|28 default=0.0000 now=0.0000 - MIDI CC 11|29 default=0.0000 now=0.0000 - MIDI CC 11|30 default=0.0000 now=0.0000 - MIDI CC 11|31 default=0.0000 now=0.0000 - MIDI CC 11|32 default=0.0000 now=0.0000 - MIDI CC 11|33 default=0.0000 now=0.0000 - MIDI CC 11|34 default=0.0000 now=0.0000 - MIDI CC 11|35 default=0.0000 now=0.0000 - MIDI CC 11|36 default=0.0000 now=0.0000 - MIDI CC 11|37 default=0.0000 now=0.0000 - MIDI CC 11|38 default=0.0000 now=0.0000 - MIDI CC 11|39 default=0.0000 now=0.0000 - MIDI CC 11|40 default=0.0000 now=0.0000 - MIDI CC 11|41 default=0.0000 now=0.0000 - MIDI CC 11|42 default=0.0000 now=0.0000 - MIDI CC 11|43 default=0.0000 now=0.0000 - MIDI CC 11|44 default=0.0000 now=0.0000 - MIDI CC 11|45 default=0.0000 now=0.0000 - MIDI CC 11|46 default=0.0000 now=0.0000 - MIDI CC 11|47 default=0.0000 now=0.0000 - MIDI CC 11|48 default=0.0000 now=0.0000 - MIDI CC 11|49 default=0.0000 now=0.0000 - MIDI CC 11|50 default=0.0000 now=0.0000 - MIDI CC 11|51 default=0.0000 now=0.0000 - MIDI CC 11|52 default=0.0000 now=0.0000 - MIDI CC 11|53 default=0.0000 now=0.0000 - MIDI CC 11|54 default=0.0000 now=0.0000 - MIDI CC 11|55 default=0.0000 now=0.0000 - MIDI CC 11|56 default=0.0000 now=0.0000 - MIDI CC 11|57 default=0.0000 now=0.0000 - MIDI CC 11|58 default=0.0000 now=0.0000 - MIDI CC 11|59 default=0.0000 now=0.0000 - MIDI CC 11|60 default=0.0000 now=0.0000 - MIDI CC 11|61 default=0.0000 now=0.0000 - MIDI CC 11|62 default=0.0000 now=0.0000 - MIDI CC 11|63 default=0.0000 now=0.0000 - MIDI CC 11|64 default=0.0000 now=0.0000 - MIDI CC 11|65 default=0.0000 now=0.0000 - MIDI CC 11|66 default=0.0000 now=0.0000 - MIDI CC 11|67 default=0.0000 now=0.0000 - MIDI CC 11|68 default=0.0000 now=0.0000 - MIDI CC 11|69 default=0.0000 now=0.0000 - MIDI CC 11|70 default=0.0000 now=0.0000 - MIDI CC 11|71 default=0.0000 now=0.0000 - MIDI CC 11|72 default=0.0000 now=0.0000 - MIDI CC 11|73 default=0.0000 now=0.0000 - MIDI CC 11|74 default=0.0000 now=0.0000 - MIDI CC 11|75 default=0.0000 now=0.0000 - MIDI CC 11|76 default=0.0000 now=0.0000 - MIDI CC 11|77 default=0.0000 now=0.0000 - MIDI CC 11|78 default=0.0000 now=0.0000 - MIDI CC 11|79 default=0.0000 now=0.0000 - MIDI CC 11|80 default=0.0000 now=0.0000 - MIDI CC 11|81 default=0.0000 now=0.0000 - MIDI CC 11|82 default=0.0000 now=0.0000 - MIDI CC 11|83 default=0.0000 now=0.0000 - MIDI CC 11|84 default=0.0000 now=0.0000 - MIDI CC 11|85 default=0.0000 now=0.0000 - MIDI CC 11|86 default=0.0000 now=0.0000 - MIDI CC 11|87 default=0.0000 now=0.0000 - MIDI CC 11|88 default=0.0000 now=0.0000 - MIDI CC 11|89 default=0.0000 now=0.0000 - MIDI CC 11|90 default=0.0000 now=0.0000 - MIDI CC 11|91 default=0.0000 now=0.0000 - MIDI CC 11|92 default=0.0000 now=0.0000 - MIDI CC 11|93 default=0.0000 now=0.0000 - MIDI CC 11|94 default=0.0000 now=0.0000 - MIDI CC 11|95 default=0.0000 now=0.0000 - MIDI CC 11|96 default=0.0000 now=0.0000 - MIDI CC 11|97 default=0.0000 now=0.0000 - MIDI CC 11|98 default=0.0000 now=0.0000 - MIDI CC 11|99 default=0.0000 now=0.0000 - MIDI CC 11|100 default=0.0000 now=0.0000 - MIDI CC 11|101 default=0.0000 now=0.0000 - MIDI CC 11|102 default=0.0000 now=0.0000 - MIDI CC 11|103 default=0.0000 now=0.0000 - MIDI CC 11|104 default=0.0000 now=0.0000 - MIDI CC 11|105 default=0.0000 now=0.0000 - MIDI CC 11|106 default=0.0000 now=0.0000 - MIDI CC 11|107 default=0.0000 now=0.0000 - MIDI CC 11|108 default=0.0000 now=0.0000 - MIDI CC 11|109 default=0.0000 now=0.0000 - MIDI CC 11|110 default=0.0000 now=0.0000 - MIDI CC 11|111 default=0.0000 now=0.0000 - MIDI CC 11|112 default=0.0000 now=0.0000 - MIDI CC 11|113 default=0.0000 now=0.0000 - MIDI CC 11|114 default=0.0000 now=0.0000 - MIDI CC 11|115 default=0.0000 now=0.0000 - MIDI CC 11|116 default=0.0000 now=0.0000 - MIDI CC 11|117 default=0.0000 now=0.0000 - MIDI CC 11|118 default=0.0000 now=0.0000 - MIDI CC 11|119 default=0.0000 now=0.0000 - MIDI CC 11|120 default=0.0000 now=0.0000 - MIDI CC 11|121 default=0.0000 now=0.0000 - MIDI CC 11|122 default=0.0000 now=0.0000 - MIDI CC 11|123 default=0.0000 now=0.0000 - MIDI CC 11|124 default=0.0000 now=0.0000 - MIDI CC 11|125 default=0.0000 now=0.0000 - MIDI CC 11|126 default=0.0000 now=0.0000 - MIDI CC 11|127 default=0.0000 now=0.0000 - MIDI CC 11|128 default=0.0000 now=0.0000 - MIDI CC 11|129 default=0.0000 now=0.0000 - MIDI CC 12|0 default=0.0000 now=0.0000 - MIDI CC 12|1 default=0.0000 now=0.0000 - MIDI CC 12|2 default=0.0000 now=0.0000 - MIDI CC 12|3 default=0.0000 now=0.0000 - MIDI CC 12|4 default=0.0000 now=0.0000 - MIDI CC 12|5 default=0.0000 now=0.0000 - MIDI CC 12|6 default=0.0000 now=0.0000 - MIDI CC 12|7 default=0.0000 now=0.0000 - MIDI CC 12|8 default=0.0000 now=0.0000 - MIDI CC 12|9 default=0.0000 now=0.0000 - MIDI CC 12|10 default=0.0000 now=0.0000 - MIDI CC 12|11 default=0.0000 now=0.0000 - MIDI CC 12|12 default=0.0000 now=0.0000 - MIDI CC 12|13 default=0.0000 now=0.0000 - MIDI CC 12|14 default=0.0000 now=0.0000 - MIDI CC 12|15 default=0.0000 now=0.0000 - MIDI CC 12|16 default=0.0000 now=0.0000 - MIDI CC 12|17 default=0.0000 now=0.0000 - MIDI CC 12|18 default=0.0000 now=0.0000 - MIDI CC 12|19 default=0.0000 now=0.0000 - MIDI CC 12|20 default=0.0000 now=0.0000 - MIDI CC 12|21 default=0.0000 now=0.0000 - MIDI CC 12|22 default=0.0000 now=0.0000 - MIDI CC 12|23 default=0.0000 now=0.0000 - MIDI CC 12|24 default=0.0000 now=0.0000 - MIDI CC 12|25 default=0.0000 now=0.0000 - MIDI CC 12|26 default=0.0000 now=0.0000 - MIDI CC 12|27 default=0.0000 now=0.0000 - MIDI CC 12|28 default=0.0000 now=0.0000 - MIDI CC 12|29 default=0.0000 now=0.0000 - MIDI CC 12|30 default=0.0000 now=0.0000 - MIDI CC 12|31 default=0.0000 now=0.0000 - MIDI CC 12|32 default=0.0000 now=0.0000 - MIDI CC 12|33 default=0.0000 now=0.0000 - MIDI CC 12|34 default=0.0000 now=0.0000 - MIDI CC 12|35 default=0.0000 now=0.0000 - MIDI CC 12|36 default=0.0000 now=0.0000 - MIDI CC 12|37 default=0.0000 now=0.0000 - MIDI CC 12|38 default=0.0000 now=0.0000 - MIDI CC 12|39 default=0.0000 now=0.0000 - MIDI CC 12|40 default=0.0000 now=0.0000 - MIDI CC 12|41 default=0.0000 now=0.0000 - MIDI CC 12|42 default=0.0000 now=0.0000 - MIDI CC 12|43 default=0.0000 now=0.0000 - MIDI CC 12|44 default=0.0000 now=0.0000 - MIDI CC 12|45 default=0.0000 now=0.0000 - MIDI CC 12|46 default=0.0000 now=0.0000 - MIDI CC 12|47 default=0.0000 now=0.0000 - MIDI CC 12|48 default=0.0000 now=0.0000 - MIDI CC 12|49 default=0.0000 now=0.0000 - MIDI CC 12|50 default=0.0000 now=0.0000 - MIDI CC 12|51 default=0.0000 now=0.0000 - MIDI CC 12|52 default=0.0000 now=0.0000 - MIDI CC 12|53 default=0.0000 now=0.0000 - MIDI CC 12|54 default=0.0000 now=0.0000 - MIDI CC 12|55 default=0.0000 now=0.0000 - MIDI CC 12|56 default=0.0000 now=0.0000 - MIDI CC 12|57 default=0.0000 now=0.0000 - MIDI CC 12|58 default=0.0000 now=0.0000 - MIDI CC 12|59 default=0.0000 now=0.0000 - MIDI CC 12|60 default=0.0000 now=0.0000 - MIDI CC 12|61 default=0.0000 now=0.0000 - MIDI CC 12|62 default=0.0000 now=0.0000 - MIDI CC 12|63 default=0.0000 now=0.0000 - MIDI CC 12|64 default=0.0000 now=0.0000 - MIDI CC 12|65 default=0.0000 now=0.0000 - MIDI CC 12|66 default=0.0000 now=0.0000 - MIDI CC 12|67 default=0.0000 now=0.0000 - MIDI CC 12|68 default=0.0000 now=0.0000 - MIDI CC 12|69 default=0.0000 now=0.0000 - MIDI CC 12|70 default=0.0000 now=0.0000 - MIDI CC 12|71 default=0.0000 now=0.0000 - MIDI CC 12|72 default=0.0000 now=0.0000 - MIDI CC 12|73 default=0.0000 now=0.0000 - MIDI CC 12|74 default=0.0000 now=0.0000 - MIDI CC 12|75 default=0.0000 now=0.0000 - MIDI CC 12|76 default=0.0000 now=0.0000 - MIDI CC 12|77 default=0.0000 now=0.0000 - MIDI CC 12|78 default=0.0000 now=0.0000 - MIDI CC 12|79 default=0.0000 now=0.0000 - MIDI CC 12|80 default=0.0000 now=0.0000 - MIDI CC 12|81 default=0.0000 now=0.0000 - MIDI CC 12|82 default=0.0000 now=0.0000 - MIDI CC 12|83 default=0.0000 now=0.0000 - MIDI CC 12|84 default=0.0000 now=0.0000 - MIDI CC 12|85 default=0.0000 now=0.0000 - MIDI CC 12|86 default=0.0000 now=0.0000 - MIDI CC 12|87 default=0.0000 now=0.0000 - MIDI CC 12|88 default=0.0000 now=0.0000 - MIDI CC 12|89 default=0.0000 now=0.0000 - MIDI CC 12|90 default=0.0000 now=0.0000 - MIDI CC 12|91 default=0.0000 now=0.0000 - MIDI CC 12|92 default=0.0000 now=0.0000 - MIDI CC 12|93 default=0.0000 now=0.0000 - MIDI CC 12|94 default=0.0000 now=0.0000 - MIDI CC 12|95 default=0.0000 now=0.0000 - MIDI CC 12|96 default=0.0000 now=0.0000 - MIDI CC 12|97 default=0.0000 now=0.0000 - MIDI CC 12|98 default=0.0000 now=0.0000 - MIDI CC 12|99 default=0.0000 now=0.0000 - MIDI CC 12|100 default=0.0000 now=0.0000 - MIDI CC 12|101 default=0.0000 now=0.0000 - MIDI CC 12|102 default=0.0000 now=0.0000 - MIDI CC 12|103 default=0.0000 now=0.0000 - MIDI CC 12|104 default=0.0000 now=0.0000 - MIDI CC 12|105 default=0.0000 now=0.0000 - MIDI CC 12|106 default=0.0000 now=0.0000 - MIDI CC 12|107 default=0.0000 now=0.0000 - MIDI CC 12|108 default=0.0000 now=0.0000 - MIDI CC 12|109 default=0.0000 now=0.0000 - MIDI CC 12|110 default=0.0000 now=0.0000 - MIDI CC 12|111 default=0.0000 now=0.0000 - MIDI CC 12|112 default=0.0000 now=0.0000 - MIDI CC 12|113 default=0.0000 now=0.0000 - MIDI CC 12|114 default=0.0000 now=0.0000 - MIDI CC 12|115 default=0.0000 now=0.0000 - MIDI CC 12|116 default=0.0000 now=0.0000 - MIDI CC 12|117 default=0.0000 now=0.0000 - MIDI CC 12|118 default=0.0000 now=0.0000 - MIDI CC 12|119 default=0.0000 now=0.0000 - MIDI CC 12|120 default=0.0000 now=0.0000 - MIDI CC 12|121 default=0.0000 now=0.0000 - MIDI CC 12|122 default=0.0000 now=0.0000 - MIDI CC 12|123 default=0.0000 now=0.0000 - MIDI CC 12|124 default=0.0000 now=0.0000 - MIDI CC 12|125 default=0.0000 now=0.0000 - MIDI CC 12|126 default=0.0000 now=0.0000 - MIDI CC 12|127 default=0.0000 now=0.0000 - MIDI CC 12|128 default=0.0000 now=0.0000 - MIDI CC 12|129 default=0.0000 now=0.0000 - MIDI CC 13|0 default=0.0000 now=0.0000 - MIDI CC 13|1 default=0.0000 now=0.0000 - MIDI CC 13|2 default=0.0000 now=0.0000 - MIDI CC 13|3 default=0.0000 now=0.0000 - MIDI CC 13|4 default=0.0000 now=0.0000 - MIDI CC 13|5 default=0.0000 now=0.0000 - MIDI CC 13|6 default=0.0000 now=0.0000 - MIDI CC 13|7 default=0.0000 now=0.0000 - MIDI CC 13|8 default=0.0000 now=0.0000 - MIDI CC 13|9 default=0.0000 now=0.0000 - MIDI CC 13|10 default=0.0000 now=0.0000 - MIDI CC 13|11 default=0.0000 now=0.0000 - MIDI CC 13|12 default=0.0000 now=0.0000 - MIDI CC 13|13 default=0.0000 now=0.0000 - MIDI CC 13|14 default=0.0000 now=0.0000 - MIDI CC 13|15 default=0.0000 now=0.0000 - MIDI CC 13|16 default=0.0000 now=0.0000 - MIDI CC 13|17 default=0.0000 now=0.0000 - MIDI CC 13|18 default=0.0000 now=0.0000 - MIDI CC 13|19 default=0.0000 now=0.0000 - MIDI CC 13|20 default=0.0000 now=0.0000 - MIDI CC 13|21 default=0.0000 now=0.0000 - MIDI CC 13|22 default=0.0000 now=0.0000 - MIDI CC 13|23 default=0.0000 now=0.0000 - MIDI CC 13|24 default=0.0000 now=0.0000 - MIDI CC 13|25 default=0.0000 now=0.0000 - MIDI CC 13|26 default=0.0000 now=0.0000 - MIDI CC 13|27 default=0.0000 now=0.0000 - MIDI CC 13|28 default=0.0000 now=0.0000 - MIDI CC 13|29 default=0.0000 now=0.0000 - MIDI CC 13|30 default=0.0000 now=0.0000 - MIDI CC 13|31 default=0.0000 now=0.0000 - MIDI CC 13|32 default=0.0000 now=0.0000 - MIDI CC 13|33 default=0.0000 now=0.0000 - MIDI CC 13|34 default=0.0000 now=0.0000 - MIDI CC 13|35 default=0.0000 now=0.0000 - MIDI CC 13|36 default=0.0000 now=0.0000 - MIDI CC 13|37 default=0.0000 now=0.0000 - MIDI CC 13|38 default=0.0000 now=0.0000 - MIDI CC 13|39 default=0.0000 now=0.0000 - MIDI CC 13|40 default=0.0000 now=0.0000 - MIDI CC 13|41 default=0.0000 now=0.0000 - MIDI CC 13|42 default=0.0000 now=0.0000 - MIDI CC 13|43 default=0.0000 now=0.0000 - MIDI CC 13|44 default=0.0000 now=0.0000 - MIDI CC 13|45 default=0.0000 now=0.0000 - MIDI CC 13|46 default=0.0000 now=0.0000 - MIDI CC 13|47 default=0.0000 now=0.0000 - MIDI CC 13|48 default=0.0000 now=0.0000 - MIDI CC 13|49 default=0.0000 now=0.0000 - MIDI CC 13|50 default=0.0000 now=0.0000 - MIDI CC 13|51 default=0.0000 now=0.0000 - MIDI CC 13|52 default=0.0000 now=0.0000 - MIDI CC 13|53 default=0.0000 now=0.0000 - MIDI CC 13|54 default=0.0000 now=0.0000 - MIDI CC 13|55 default=0.0000 now=0.0000 - MIDI CC 13|56 default=0.0000 now=0.0000 - MIDI CC 13|57 default=0.0000 now=0.0000 - MIDI CC 13|58 default=0.0000 now=0.0000 - MIDI CC 13|59 default=0.0000 now=0.0000 - MIDI CC 13|60 default=0.0000 now=0.0000 - MIDI CC 13|61 default=0.0000 now=0.0000 - MIDI CC 13|62 default=0.0000 now=0.0000 - MIDI CC 13|63 default=0.0000 now=0.0000 - MIDI CC 13|64 default=0.0000 now=0.0000 - MIDI CC 13|65 default=0.0000 now=0.0000 - MIDI CC 13|66 default=0.0000 now=0.0000 - MIDI CC 13|67 default=0.0000 now=0.0000 - MIDI CC 13|68 default=0.0000 now=0.0000 - MIDI CC 13|69 default=0.0000 now=0.0000 - MIDI CC 13|70 default=0.0000 now=0.0000 - MIDI CC 13|71 default=0.0000 now=0.0000 - MIDI CC 13|72 default=0.0000 now=0.0000 - MIDI CC 13|73 default=0.0000 now=0.0000 - MIDI CC 13|74 default=0.0000 now=0.0000 - MIDI CC 13|75 default=0.0000 now=0.0000 - MIDI CC 13|76 default=0.0000 now=0.0000 - MIDI CC 13|77 default=0.0000 now=0.0000 - MIDI CC 13|78 default=0.0000 now=0.0000 - MIDI CC 13|79 default=0.0000 now=0.0000 - MIDI CC 13|80 default=0.0000 now=0.0000 - MIDI CC 13|81 default=0.0000 now=0.0000 - MIDI CC 13|82 default=0.0000 now=0.0000 - MIDI CC 13|83 default=0.0000 now=0.0000 - MIDI CC 13|84 default=0.0000 now=0.0000 - MIDI CC 13|85 default=0.0000 now=0.0000 - MIDI CC 13|86 default=0.0000 now=0.0000 - MIDI CC 13|87 default=0.0000 now=0.0000 - MIDI CC 13|88 default=0.0000 now=0.0000 - MIDI CC 13|89 default=0.0000 now=0.0000 - MIDI CC 13|90 default=0.0000 now=0.0000 - MIDI CC 13|91 default=0.0000 now=0.0000 - MIDI CC 13|92 default=0.0000 now=0.0000 - MIDI CC 13|93 default=0.0000 now=0.0000 - MIDI CC 13|94 default=0.0000 now=0.0000 - MIDI CC 13|95 default=0.0000 now=0.0000 - MIDI CC 13|96 default=0.0000 now=0.0000 - MIDI CC 13|97 default=0.0000 now=0.0000 - MIDI CC 13|98 default=0.0000 now=0.0000 - MIDI CC 13|99 default=0.0000 now=0.0000 - MIDI CC 13|100 default=0.0000 now=0.0000 - MIDI CC 13|101 default=0.0000 now=0.0000 - MIDI CC 13|102 default=0.0000 now=0.0000 - MIDI CC 13|103 default=0.0000 now=0.0000 - MIDI CC 13|104 default=0.0000 now=0.0000 - MIDI CC 13|105 default=0.0000 now=0.0000 - MIDI CC 13|106 default=0.0000 now=0.0000 - MIDI CC 13|107 default=0.0000 now=0.0000 - MIDI CC 13|108 default=0.0000 now=0.0000 - MIDI CC 13|109 default=0.0000 now=0.0000 - MIDI CC 13|110 default=0.0000 now=0.0000 - MIDI CC 13|111 default=0.0000 now=0.0000 - MIDI CC 13|112 default=0.0000 now=0.0000 - MIDI CC 13|113 default=0.0000 now=0.0000 - MIDI CC 13|114 default=0.0000 now=0.0000 - MIDI CC 13|115 default=0.0000 now=0.0000 - MIDI CC 13|116 default=0.0000 now=0.0000 - MIDI CC 13|117 default=0.0000 now=0.0000 - MIDI CC 13|118 default=0.0000 now=0.0000 - MIDI CC 13|119 default=0.0000 now=0.0000 - MIDI CC 13|120 default=0.0000 now=0.0000 - MIDI CC 13|121 default=0.0000 now=0.0000 - MIDI CC 13|122 default=0.0000 now=0.0000 - MIDI CC 13|123 default=0.0000 now=0.0000 - MIDI CC 13|124 default=0.0000 now=0.0000 - MIDI CC 13|125 default=0.0000 now=0.0000 - MIDI CC 13|126 default=0.0000 now=0.0000 - MIDI CC 13|127 default=0.0000 now=0.0000 - MIDI CC 13|128 default=0.0000 now=0.0000 - MIDI CC 13|129 default=0.0000 now=0.0000 - MIDI CC 14|0 default=0.0000 now=0.0000 - MIDI CC 14|1 default=0.0000 now=0.0000 - MIDI CC 14|2 default=0.0000 now=0.0000 - MIDI CC 14|3 default=0.0000 now=0.0000 - MIDI CC 14|4 default=0.0000 now=0.0000 - MIDI CC 14|5 default=0.0000 now=0.0000 - MIDI CC 14|6 default=0.0000 now=0.0000 - MIDI CC 14|7 default=0.0000 now=0.0000 - MIDI CC 14|8 default=0.0000 now=0.0000 - MIDI CC 14|9 default=0.0000 now=0.0000 - MIDI CC 14|10 default=0.0000 now=0.0000 - MIDI CC 14|11 default=0.0000 now=0.0000 - MIDI CC 14|12 default=0.0000 now=0.0000 - MIDI CC 14|13 default=0.0000 now=0.0000 - MIDI CC 14|14 default=0.0000 now=0.0000 - MIDI CC 14|15 default=0.0000 now=0.0000 - MIDI CC 14|16 default=0.0000 now=0.0000 - MIDI CC 14|17 default=0.0000 now=0.0000 - MIDI CC 14|18 default=0.0000 now=0.0000 - MIDI CC 14|19 default=0.0000 now=0.0000 - MIDI CC 14|20 default=0.0000 now=0.0000 - MIDI CC 14|21 default=0.0000 now=0.0000 - MIDI CC 14|22 default=0.0000 now=0.0000 - MIDI CC 14|23 default=0.0000 now=0.0000 - MIDI CC 14|24 default=0.0000 now=0.0000 - MIDI CC 14|25 default=0.0000 now=0.0000 - MIDI CC 14|26 default=0.0000 now=0.0000 - MIDI CC 14|27 default=0.0000 now=0.0000 - MIDI CC 14|28 default=0.0000 now=0.0000 - MIDI CC 14|29 default=0.0000 now=0.0000 - MIDI CC 14|30 default=0.0000 now=0.0000 - MIDI CC 14|31 default=0.0000 now=0.0000 - MIDI CC 14|32 default=0.0000 now=0.0000 - MIDI CC 14|33 default=0.0000 now=0.0000 - MIDI CC 14|34 default=0.0000 now=0.0000 - MIDI CC 14|35 default=0.0000 now=0.0000 - MIDI CC 14|36 default=0.0000 now=0.0000 - MIDI CC 14|37 default=0.0000 now=0.0000 - MIDI CC 14|38 default=0.0000 now=0.0000 - MIDI CC 14|39 default=0.0000 now=0.0000 - MIDI CC 14|40 default=0.0000 now=0.0000 - MIDI CC 14|41 default=0.0000 now=0.0000 - MIDI CC 14|42 default=0.0000 now=0.0000 - MIDI CC 14|43 default=0.0000 now=0.0000 - MIDI CC 14|44 default=0.0000 now=0.0000 - MIDI CC 14|45 default=0.0000 now=0.0000 - MIDI CC 14|46 default=0.0000 now=0.0000 - MIDI CC 14|47 default=0.0000 now=0.0000 - MIDI CC 14|48 default=0.0000 now=0.0000 - MIDI CC 14|49 default=0.0000 now=0.0000 - MIDI CC 14|50 default=0.0000 now=0.0000 - MIDI CC 14|51 default=0.0000 now=0.0000 - MIDI CC 14|52 default=0.0000 now=0.0000 - MIDI CC 14|53 default=0.0000 now=0.0000 - MIDI CC 14|54 default=0.0000 now=0.0000 - MIDI CC 14|55 default=0.0000 now=0.0000 - MIDI CC 14|56 default=0.0000 now=0.0000 - MIDI CC 14|57 default=0.0000 now=0.0000 - MIDI CC 14|58 default=0.0000 now=0.0000 - MIDI CC 14|59 default=0.0000 now=0.0000 - MIDI CC 14|60 default=0.0000 now=0.0000 - MIDI CC 14|61 default=0.0000 now=0.0000 - MIDI CC 14|62 default=0.0000 now=0.0000 - MIDI CC 14|63 default=0.0000 now=0.0000 - MIDI CC 14|64 default=0.0000 now=0.0000 - MIDI CC 14|65 default=0.0000 now=0.0000 - MIDI CC 14|66 default=0.0000 now=0.0000 - MIDI CC 14|67 default=0.0000 now=0.0000 - MIDI CC 14|68 default=0.0000 now=0.0000 - MIDI CC 14|69 default=0.0000 now=0.0000 - MIDI CC 14|70 default=0.0000 now=0.0000 - MIDI CC 14|71 default=0.0000 now=0.0000 - MIDI CC 14|72 default=0.0000 now=0.0000 - MIDI CC 14|73 default=0.0000 now=0.0000 - MIDI CC 14|74 default=0.0000 now=0.0000 - MIDI CC 14|75 default=0.0000 now=0.0000 - MIDI CC 14|76 default=0.0000 now=0.0000 - MIDI CC 14|77 default=0.0000 now=0.0000 - MIDI CC 14|78 default=0.0000 now=0.0000 - MIDI CC 14|79 default=0.0000 now=0.0000 - MIDI CC 14|80 default=0.0000 now=0.0000 - MIDI CC 14|81 default=0.0000 now=0.0000 - MIDI CC 14|82 default=0.0000 now=0.0000 - MIDI CC 14|83 default=0.0000 now=0.0000 - MIDI CC 14|84 default=0.0000 now=0.0000 - MIDI CC 14|85 default=0.0000 now=0.0000 - MIDI CC 14|86 default=0.0000 now=0.0000 - MIDI CC 14|87 default=0.0000 now=0.0000 - MIDI CC 14|88 default=0.0000 now=0.0000 - MIDI CC 14|89 default=0.0000 now=0.0000 - MIDI CC 14|90 default=0.0000 now=0.0000 - MIDI CC 14|91 default=0.0000 now=0.0000 - MIDI CC 14|92 default=0.0000 now=0.0000 - MIDI CC 14|93 default=0.0000 now=0.0000 - MIDI CC 14|94 default=0.0000 now=0.0000 - MIDI CC 14|95 default=0.0000 now=0.0000 - MIDI CC 14|96 default=0.0000 now=0.0000 - MIDI CC 14|97 default=0.0000 now=0.0000 - MIDI CC 14|98 default=0.0000 now=0.0000 - MIDI CC 14|99 default=0.0000 now=0.0000 - MIDI CC 14|100 default=0.0000 now=0.0000 - MIDI CC 14|101 default=0.0000 now=0.0000 - MIDI CC 14|102 default=0.0000 now=0.0000 - MIDI CC 14|103 default=0.0000 now=0.0000 - MIDI CC 14|104 default=0.0000 now=0.0000 - MIDI CC 14|105 default=0.0000 now=0.0000 - MIDI CC 14|106 default=0.0000 now=0.0000 - MIDI CC 14|107 default=0.0000 now=0.0000 - MIDI CC 14|108 default=0.0000 now=0.0000 - MIDI CC 14|109 default=0.0000 now=0.0000 - MIDI CC 14|110 default=0.0000 now=0.0000 - MIDI CC 14|111 default=0.0000 now=0.0000 - MIDI CC 14|112 default=0.0000 now=0.0000 - MIDI CC 14|113 default=0.0000 now=0.0000 - MIDI CC 14|114 default=0.0000 now=0.0000 - MIDI CC 14|115 default=0.0000 now=0.0000 - MIDI CC 14|116 default=0.0000 now=0.0000 - MIDI CC 14|117 default=0.0000 now=0.0000 - MIDI CC 14|118 default=0.0000 now=0.0000 - MIDI CC 14|119 default=0.0000 now=0.0000 - MIDI CC 14|120 default=0.0000 now=0.0000 - MIDI CC 14|121 default=0.0000 now=0.0000 - MIDI CC 14|122 default=0.0000 now=0.0000 - MIDI CC 14|123 default=0.0000 now=0.0000 - MIDI CC 14|124 default=0.0000 now=0.0000 - MIDI CC 14|125 default=0.0000 now=0.0000 - MIDI CC 14|126 default=0.0000 now=0.0000 - MIDI CC 14|127 default=0.0000 now=0.0000 - MIDI CC 14|128 default=0.0000 now=0.0000 - MIDI CC 14|129 default=0.0000 now=0.0000 - MIDI CC 15|0 default=0.0000 now=0.0000 - MIDI CC 15|1 default=0.0000 now=0.0000 - MIDI CC 15|2 default=0.0000 now=0.0000 - MIDI CC 15|3 default=0.0000 now=0.0000 - MIDI CC 15|4 default=0.0000 now=0.0000 - MIDI CC 15|5 default=0.0000 now=0.0000 - MIDI CC 15|6 default=0.0000 now=0.0000 - MIDI CC 15|7 default=0.0000 now=0.0000 - MIDI CC 15|8 default=0.0000 now=0.0000 - MIDI CC 15|9 default=0.0000 now=0.0000 - MIDI CC 15|10 default=0.0000 now=0.0000 - MIDI CC 15|11 default=0.0000 now=0.0000 - MIDI CC 15|12 default=0.0000 now=0.0000 - MIDI CC 15|13 default=0.0000 now=0.0000 - MIDI CC 15|14 default=0.0000 now=0.0000 - MIDI CC 15|15 default=0.0000 now=0.0000 - MIDI CC 15|16 default=0.0000 now=0.0000 - MIDI CC 15|17 default=0.0000 now=0.0000 - MIDI CC 15|18 default=0.0000 now=0.0000 - MIDI CC 15|19 default=0.0000 now=0.0000 - MIDI CC 15|20 default=0.0000 now=0.0000 - MIDI CC 15|21 default=0.0000 now=0.0000 - MIDI CC 15|22 default=0.0000 now=0.0000 - MIDI CC 15|23 default=0.0000 now=0.0000 - MIDI CC 15|24 default=0.0000 now=0.0000 - MIDI CC 15|25 default=0.0000 now=0.0000 - MIDI CC 15|26 default=0.0000 now=0.0000 - MIDI CC 15|27 default=0.0000 now=0.0000 - MIDI CC 15|28 default=0.0000 now=0.0000 - MIDI CC 15|29 default=0.0000 now=0.0000 - MIDI CC 15|30 default=0.0000 now=0.0000 - MIDI CC 15|31 default=0.0000 now=0.0000 - MIDI CC 15|32 default=0.0000 now=0.0000 - MIDI CC 15|33 default=0.0000 now=0.0000 - MIDI CC 15|34 default=0.0000 now=0.0000 - MIDI CC 15|35 default=0.0000 now=0.0000 - MIDI CC 15|36 default=0.0000 now=0.0000 - MIDI CC 15|37 default=0.0000 now=0.0000 - MIDI CC 15|38 default=0.0000 now=0.0000 - MIDI CC 15|39 default=0.0000 now=0.0000 - MIDI CC 15|40 default=0.0000 now=0.0000 - MIDI CC 15|41 default=0.0000 now=0.0000 - MIDI CC 15|42 default=0.0000 now=0.0000 - MIDI CC 15|43 default=0.0000 now=0.0000 - MIDI CC 15|44 default=0.0000 now=0.0000 - MIDI CC 15|45 default=0.0000 now=0.0000 - MIDI CC 15|46 default=0.0000 now=0.0000 - MIDI CC 15|47 default=0.0000 now=0.0000 - MIDI CC 15|48 default=0.0000 now=0.0000 - MIDI CC 15|49 default=0.0000 now=0.0000 - MIDI CC 15|50 default=0.0000 now=0.0000 - MIDI CC 15|51 default=0.0000 now=0.0000 - MIDI CC 15|52 default=0.0000 now=0.0000 - MIDI CC 15|53 default=0.0000 now=0.0000 - MIDI CC 15|54 default=0.0000 now=0.0000 - MIDI CC 15|55 default=0.0000 now=0.0000 - MIDI CC 15|56 default=0.0000 now=0.0000 - MIDI CC 15|57 default=0.0000 now=0.0000 - MIDI CC 15|58 default=0.0000 now=0.0000 - MIDI CC 15|59 default=0.0000 now=0.0000 - MIDI CC 15|60 default=0.0000 now=0.0000 - MIDI CC 15|61 default=0.0000 now=0.0000 - MIDI CC 15|62 default=0.0000 now=0.0000 - MIDI CC 15|63 default=0.0000 now=0.0000 - MIDI CC 15|64 default=0.0000 now=0.0000 - MIDI CC 15|65 default=0.0000 now=0.0000 - MIDI CC 15|66 default=0.0000 now=0.0000 - MIDI CC 15|67 default=0.0000 now=0.0000 - MIDI CC 15|68 default=0.0000 now=0.0000 - MIDI CC 15|69 default=0.0000 now=0.0000 - MIDI CC 15|70 default=0.0000 now=0.0000 - MIDI CC 15|71 default=0.0000 now=0.0000 - MIDI CC 15|72 default=0.0000 now=0.0000 - MIDI CC 15|73 default=0.0000 now=0.0000 - MIDI CC 15|74 default=0.0000 now=0.0000 - MIDI CC 15|75 default=0.0000 now=0.0000 - MIDI CC 15|76 default=0.0000 now=0.0000 - MIDI CC 15|77 default=0.0000 now=0.0000 - MIDI CC 15|78 default=0.0000 now=0.0000 - MIDI CC 15|79 default=0.0000 now=0.0000 - MIDI CC 15|80 default=0.0000 now=0.0000 - MIDI CC 15|81 default=0.0000 now=0.0000 - MIDI CC 15|82 default=0.0000 now=0.0000 - MIDI CC 15|83 default=0.0000 now=0.0000 - MIDI CC 15|84 default=0.0000 now=0.0000 - MIDI CC 15|85 default=0.0000 now=0.0000 - MIDI CC 15|86 default=0.0000 now=0.0000 - MIDI CC 15|87 default=0.0000 now=0.0000 - MIDI CC 15|88 default=0.0000 now=0.0000 - MIDI CC 15|89 default=0.0000 now=0.0000 - MIDI CC 15|90 default=0.0000 now=0.0000 - MIDI CC 15|91 default=0.0000 now=0.0000 - MIDI CC 15|92 default=0.0000 now=0.0000 - MIDI CC 15|93 default=0.0000 now=0.0000 - MIDI CC 15|94 default=0.0000 now=0.0000 - MIDI CC 15|95 default=0.0000 now=0.0000 - MIDI CC 15|96 default=0.0000 now=0.0000 - MIDI CC 15|97 default=0.0000 now=0.0000 - MIDI CC 15|98 default=0.0000 now=0.0000 - MIDI CC 15|99 default=0.0000 now=0.0000 - MIDI CC 15|100 default=0.0000 now=0.0000 - MIDI CC 15|101 default=0.0000 now=0.0000 - MIDI CC 15|102 default=0.0000 now=0.0000 - MIDI CC 15|103 default=0.0000 now=0.0000 - MIDI CC 15|104 default=0.0000 now=0.0000 - MIDI CC 15|105 default=0.0000 now=0.0000 - MIDI CC 15|106 default=0.0000 now=0.0000 - MIDI CC 15|107 default=0.0000 now=0.0000 - MIDI CC 15|108 default=0.0000 now=0.0000 - MIDI CC 15|109 default=0.0000 now=0.0000 - MIDI CC 15|110 default=0.0000 now=0.0000 - MIDI CC 15|111 default=0.0000 now=0.0000 - MIDI CC 15|112 default=0.0000 now=0.0000 - MIDI CC 15|113 default=0.0000 now=0.0000 - MIDI CC 15|114 default=0.0000 now=0.0000 - MIDI CC 15|115 default=0.0000 now=0.0000 - MIDI CC 15|116 default=0.0000 now=0.0000 - MIDI CC 15|117 default=0.0000 now=0.0000 - MIDI CC 15|118 default=0.0000 now=0.0000 - MIDI CC 15|119 default=0.0000 now=0.0000 - MIDI CC 15|120 default=0.0000 now=0.0000 - MIDI CC 15|121 default=0.0000 now=0.0000 - MIDI CC 15|122 default=0.0000 now=0.0000 - MIDI CC 15|123 default=0.0000 now=0.0000 - MIDI CC 15|124 default=0.0000 now=0.0000 - MIDI CC 15|125 default=0.0000 now=0.0000 - MIDI CC 15|126 default=0.0000 now=0.0000 - MIDI CC 15|127 default=0.0000 now=0.0000 - MIDI CC 15|128 default=0.0000 now=0.0000 - MIDI CC 15|129 default=0.0000 now=0.0000 -sr=44100 block=64 peak=0.312 rms=0.1358 finite=1 OK -sr=44100 block=512 peak=0.312 rms=0.1359 finite=1 OK -sr=44100 block=1000 peak=0.312 rms=0.1360 finite=1 OK -state round trip (1573 bytes): OK -sr=48000 block=64 peak=0.312 rms=0.1358 finite=1 OK -sr=48000 block=512 peak=0.312 rms=0.1359 finite=1 OK -sr=48000 block=1000 peak=0.312 rms=0.1358 finite=1 OK -sr=96000 block=64 peak=0.312 rms=0.1358 finite=1 OK -sr=96000 block=512 peak=0.312 rms=0.1358 finite=1 OK -sr=96000 block=1000 peak=0.312 rms=0.1358 finite=1 OK -sr=44100 audio input silence rms=0.00001 OK -sr=44100 audio input sine rms=0.07857 OK -sr=44100 midi gate: before=0.00001 held=0.1180 after-release=0.00001 OK -sr=48000 audio input silence rms=0.00001 OK -sr=48000 audio input sine rms=0.07855 OK -sr=48000 midi gate: before=0.00001 held=0.1180 after-release=0.00001 OK -sr=96000 audio input silence rms=0.00001 OK -sr=96000 audio input sine rms=0.07856 OK -sr=96000 midi gate: before=0.00001 held=0.1180 after-release=0.00001 OK -readout Echo Feedback 0.40 = 60 % OK -readout Echo Feedback 1.00 = 150 % OK -readout Echo Send 0.20 = 4 % OK -readout Volume 0.50 = -12.0 dB OK -readout Reverb Decay 0.50 = 85 % OK -readout Reverb Decay 0.10 = 42 % OK -readout Echo Warp 1.00 = On OK -readout Echo Drive 0.50 = +6.0 dB OK -readout Echo Drive 0.00 = +0.0 dB OK -readout Echo Tone 0.50 = 800 Hz OK -readout Echo Tone 0.00 = 200 Hz OK -readout Echo Tone 1.00 = 3200 Hz OK -readout Echo Pong 1.00 = On OK -readout Echo Width 0.50 = 50 % OK -readout Echo Level 0.83 = 0.0 dB OK -readout Echo Level 1.00 = +6.0 dB OK -readout Echo Level 0.50 = -12.0 dB OK -pongSurvivesStateRoundTrip: OK -classicPresetTurnsPongOff: OK -pongAtOtherRates, sr=44100 peak=0.398 OK -pongAtOtherRates, sr=48000 peak=0.399 OK -pongAtOtherRates, sr=96000 peak=0.399 OK -sr=44100 latency: declared 327, measured 329 OK -sr=48000 latency: declared 0, measured 2 OK -sr=96000 latency: declared 656, measured 659 OK -sr=44100 midi note 60: 261.6 Hz (+0.1 c); knob after release 200.7 Hz, knob alone 200.7 Hz OK -sr=48000 midi note 60: 261.7 Hz (+0.2 c); knob after release 200.7 Hz, knob alone 200.7 Hz OK -sr=96000 midi note 60: 261.7 Hz (+0.2 c); knob after release 200.7 Hz, knob alone 200.7 Hz OK -programs: 16 -presets: program 3 = "Cathedral Bloom", freq 0.43 -> 0.80, state keeps program: OK -ALL OK diff --git a/review/logs/plugin_host_test.log b/review/logs/plugin_host_test.log deleted file mode 100644 index e35263f..0000000 --- a/review/logs/plugin_host_test.log +++ /dev/null @@ -1,2161 +0,0 @@ -Found: Drosera (VST3) isInstrument=1 -parameter identity: OK -saved state from the baseline build: OK -Parameters: 2107 - Frequency default=82.8 Hz now=82.8 Hz - Feedback default=-6.0 dB now=-6.0 dB - Body default=9.9 ms now=9.9 ms - Lowpass default=10708 Hz now=10708 Hz - Highpass default=33 Hz now=33 Hz - Reverb Mix default=30 % now=30 % - Reverb Decay default=85 % now=85 % - Echo Send default=4 % now=4 % - Echo Time default=1.29 s now=1.29 s - Echo Feedback default=60 % now=60 % - Volume default=-6.2 dB now=-6.2 dB - Echo Warp default=Off now=Off - Input Level default=0.0 dB now=0.0 dB - MIDI Pitch default=Off now=Off - MIDI Gate default=Off now=Off - Polyphony default=Off now=Off - Coupling default=0 % now=0 % - Interval 2 default=+7 st now=+7 st - Interval 3 default=+12 st now=+12 st - String Lock default=On now=On - Echo Pong default=Off now=Off - Echo Drive default=+0.0 dB now=+0.0 dB - Echo Tone default=800 Hz now=800 Hz - Echo Width default=100 % now=100 % - Echo Level default=0.0 dB now=0.0 dB - Bypass default=Off now=Off - Program default=Default now=Default - MIDI CC 0|0 default=0.0000 now=0.0000 - MIDI CC 0|1 default=0.0000 now=0.0000 - MIDI CC 0|2 default=0.0000 now=0.0000 - MIDI CC 0|3 default=0.0000 now=0.0000 - MIDI CC 0|4 default=0.0000 now=0.0000 - MIDI CC 0|5 default=0.0000 now=0.0000 - MIDI CC 0|6 default=0.0000 now=0.0000 - MIDI CC 0|7 default=0.0000 now=0.0000 - MIDI CC 0|8 default=0.0000 now=0.0000 - MIDI CC 0|9 default=0.0000 now=0.0000 - MIDI CC 0|10 default=0.0000 now=0.0000 - MIDI CC 0|11 default=0.0000 now=0.0000 - MIDI CC 0|12 default=0.0000 now=0.0000 - MIDI CC 0|13 default=0.0000 now=0.0000 - MIDI CC 0|14 default=0.0000 now=0.0000 - MIDI CC 0|15 default=0.0000 now=0.0000 - MIDI CC 0|16 default=0.0000 now=0.0000 - MIDI CC 0|17 default=0.0000 now=0.0000 - MIDI CC 0|18 default=0.0000 now=0.0000 - MIDI CC 0|19 default=0.0000 now=0.0000 - MIDI CC 0|20 default=0.0000 now=0.0000 - MIDI CC 0|21 default=0.0000 now=0.0000 - MIDI CC 0|22 default=0.0000 now=0.0000 - MIDI CC 0|23 default=0.0000 now=0.0000 - MIDI CC 0|24 default=0.0000 now=0.0000 - MIDI CC 0|25 default=0.0000 now=0.0000 - MIDI CC 0|26 default=0.0000 now=0.0000 - MIDI CC 0|27 default=0.0000 now=0.0000 - MIDI CC 0|28 default=0.0000 now=0.0000 - MIDI CC 0|29 default=0.0000 now=0.0000 - MIDI CC 0|30 default=0.0000 now=0.0000 - MIDI CC 0|31 default=0.0000 now=0.0000 - MIDI CC 0|32 default=0.0000 now=0.0000 - MIDI CC 0|33 default=0.0000 now=0.0000 - MIDI CC 0|34 default=0.0000 now=0.0000 - MIDI CC 0|35 default=0.0000 now=0.0000 - MIDI CC 0|36 default=0.0000 now=0.0000 - MIDI CC 0|37 default=0.0000 now=0.0000 - MIDI CC 0|38 default=0.0000 now=0.0000 - MIDI CC 0|39 default=0.0000 now=0.0000 - MIDI CC 0|40 default=0.0000 now=0.0000 - MIDI CC 0|41 default=0.0000 now=0.0000 - MIDI CC 0|42 default=0.0000 now=0.0000 - MIDI CC 0|43 default=0.0000 now=0.0000 - MIDI CC 0|44 default=0.0000 now=0.0000 - MIDI CC 0|45 default=0.0000 now=0.0000 - MIDI CC 0|46 default=0.0000 now=0.0000 - MIDI CC 0|47 default=0.0000 now=0.0000 - MIDI CC 0|48 default=0.0000 now=0.0000 - MIDI CC 0|49 default=0.0000 now=0.0000 - MIDI CC 0|50 default=0.0000 now=0.0000 - MIDI CC 0|51 default=0.0000 now=0.0000 - MIDI CC 0|52 default=0.0000 now=0.0000 - MIDI CC 0|53 default=0.0000 now=0.0000 - MIDI CC 0|54 default=0.0000 now=0.0000 - MIDI CC 0|55 default=0.0000 now=0.0000 - MIDI CC 0|56 default=0.0000 now=0.0000 - MIDI CC 0|57 default=0.0000 now=0.0000 - MIDI CC 0|58 default=0.0000 now=0.0000 - MIDI CC 0|59 default=0.0000 now=0.0000 - MIDI CC 0|60 default=0.0000 now=0.0000 - MIDI CC 0|61 default=0.0000 now=0.0000 - MIDI CC 0|62 default=0.0000 now=0.0000 - MIDI CC 0|63 default=0.0000 now=0.0000 - MIDI CC 0|64 default=0.0000 now=0.0000 - MIDI CC 0|65 default=0.0000 now=0.0000 - MIDI CC 0|66 default=0.0000 now=0.0000 - MIDI CC 0|67 default=0.0000 now=0.0000 - MIDI CC 0|68 default=0.0000 now=0.0000 - MIDI CC 0|69 default=0.0000 now=0.0000 - MIDI CC 0|70 default=0.0000 now=0.0000 - MIDI CC 0|71 default=0.0000 now=0.0000 - MIDI CC 0|72 default=0.0000 now=0.0000 - MIDI CC 0|73 default=0.0000 now=0.0000 - MIDI CC 0|74 default=0.0000 now=0.0000 - MIDI CC 0|75 default=0.0000 now=0.0000 - MIDI CC 0|76 default=0.0000 now=0.0000 - MIDI CC 0|77 default=0.0000 now=0.0000 - MIDI CC 0|78 default=0.0000 now=0.0000 - MIDI CC 0|79 default=0.0000 now=0.0000 - MIDI CC 0|80 default=0.0000 now=0.0000 - MIDI CC 0|81 default=0.0000 now=0.0000 - MIDI CC 0|82 default=0.0000 now=0.0000 - MIDI CC 0|83 default=0.0000 now=0.0000 - MIDI CC 0|84 default=0.0000 now=0.0000 - MIDI CC 0|85 default=0.0000 now=0.0000 - MIDI CC 0|86 default=0.0000 now=0.0000 - MIDI CC 0|87 default=0.0000 now=0.0000 - MIDI CC 0|88 default=0.0000 now=0.0000 - MIDI CC 0|89 default=0.0000 now=0.0000 - MIDI CC 0|90 default=0.0000 now=0.0000 - MIDI CC 0|91 default=0.0000 now=0.0000 - MIDI CC 0|92 default=0.0000 now=0.0000 - MIDI CC 0|93 default=0.0000 now=0.0000 - MIDI CC 0|94 default=0.0000 now=0.0000 - MIDI CC 0|95 default=0.0000 now=0.0000 - MIDI CC 0|96 default=0.0000 now=0.0000 - MIDI CC 0|97 default=0.0000 now=0.0000 - MIDI CC 0|98 default=0.0000 now=0.0000 - MIDI CC 0|99 default=0.0000 now=0.0000 - MIDI CC 0|100 default=0.0000 now=0.0000 - MIDI CC 0|101 default=0.0000 now=0.0000 - MIDI CC 0|102 default=0.0000 now=0.0000 - MIDI CC 0|103 default=0.0000 now=0.0000 - MIDI CC 0|104 default=0.0000 now=0.0000 - MIDI CC 0|105 default=0.0000 now=0.0000 - MIDI CC 0|106 default=0.0000 now=0.0000 - MIDI CC 0|107 default=0.0000 now=0.0000 - MIDI CC 0|108 default=0.0000 now=0.0000 - MIDI CC 0|109 default=0.0000 now=0.0000 - MIDI CC 0|110 default=0.0000 now=0.0000 - MIDI CC 0|111 default=0.0000 now=0.0000 - MIDI CC 0|112 default=0.0000 now=0.0000 - MIDI CC 0|113 default=0.0000 now=0.0000 - MIDI CC 0|114 default=0.0000 now=0.0000 - MIDI CC 0|115 default=0.0000 now=0.0000 - MIDI CC 0|116 default=0.0000 now=0.0000 - MIDI CC 0|117 default=0.0000 now=0.0000 - MIDI CC 0|118 default=0.0000 now=0.0000 - MIDI CC 0|119 default=0.0000 now=0.0000 - MIDI CC 0|120 default=0.0000 now=0.0000 - MIDI CC 0|121 default=0.0000 now=0.0000 - MIDI CC 0|122 default=0.0000 now=0.0000 - MIDI CC 0|123 default=0.0000 now=0.0000 - MIDI CC 0|124 default=0.0000 now=0.0000 - MIDI CC 0|125 default=0.0000 now=0.0000 - MIDI CC 0|126 default=0.0000 now=0.0000 - MIDI CC 0|127 default=0.0000 now=0.0000 - MIDI CC 0|128 default=0.0000 now=0.0000 - MIDI CC 0|129 default=0.0000 now=0.0000 - MIDI CC 1|0 default=0.0000 now=0.0000 - MIDI CC 1|1 default=0.0000 now=0.0000 - MIDI CC 1|2 default=0.0000 now=0.0000 - MIDI CC 1|3 default=0.0000 now=0.0000 - MIDI CC 1|4 default=0.0000 now=0.0000 - MIDI CC 1|5 default=0.0000 now=0.0000 - MIDI CC 1|6 default=0.0000 now=0.0000 - MIDI CC 1|7 default=0.0000 now=0.0000 - MIDI CC 1|8 default=0.0000 now=0.0000 - MIDI CC 1|9 default=0.0000 now=0.0000 - MIDI CC 1|10 default=0.0000 now=0.0000 - MIDI CC 1|11 default=0.0000 now=0.0000 - MIDI CC 1|12 default=0.0000 now=0.0000 - MIDI CC 1|13 default=0.0000 now=0.0000 - MIDI CC 1|14 default=0.0000 now=0.0000 - MIDI CC 1|15 default=0.0000 now=0.0000 - MIDI CC 1|16 default=0.0000 now=0.0000 - MIDI CC 1|17 default=0.0000 now=0.0000 - MIDI CC 1|18 default=0.0000 now=0.0000 - MIDI CC 1|19 default=0.0000 now=0.0000 - MIDI CC 1|20 default=0.0000 now=0.0000 - MIDI CC 1|21 default=0.0000 now=0.0000 - MIDI CC 1|22 default=0.0000 now=0.0000 - MIDI CC 1|23 default=0.0000 now=0.0000 - MIDI CC 1|24 default=0.0000 now=0.0000 - MIDI CC 1|25 default=0.0000 now=0.0000 - MIDI CC 1|26 default=0.0000 now=0.0000 - MIDI CC 1|27 default=0.0000 now=0.0000 - MIDI CC 1|28 default=0.0000 now=0.0000 - MIDI CC 1|29 default=0.0000 now=0.0000 - MIDI CC 1|30 default=0.0000 now=0.0000 - MIDI CC 1|31 default=0.0000 now=0.0000 - MIDI CC 1|32 default=0.0000 now=0.0000 - MIDI CC 1|33 default=0.0000 now=0.0000 - MIDI CC 1|34 default=0.0000 now=0.0000 - MIDI CC 1|35 default=0.0000 now=0.0000 - MIDI CC 1|36 default=0.0000 now=0.0000 - MIDI CC 1|37 default=0.0000 now=0.0000 - MIDI CC 1|38 default=0.0000 now=0.0000 - MIDI CC 1|39 default=0.0000 now=0.0000 - MIDI CC 1|40 default=0.0000 now=0.0000 - MIDI CC 1|41 default=0.0000 now=0.0000 - MIDI CC 1|42 default=0.0000 now=0.0000 - MIDI CC 1|43 default=0.0000 now=0.0000 - MIDI CC 1|44 default=0.0000 now=0.0000 - MIDI CC 1|45 default=0.0000 now=0.0000 - MIDI CC 1|46 default=0.0000 now=0.0000 - MIDI CC 1|47 default=0.0000 now=0.0000 - MIDI CC 1|48 default=0.0000 now=0.0000 - MIDI CC 1|49 default=0.0000 now=0.0000 - MIDI CC 1|50 default=0.0000 now=0.0000 - MIDI CC 1|51 default=0.0000 now=0.0000 - MIDI CC 1|52 default=0.0000 now=0.0000 - MIDI CC 1|53 default=0.0000 now=0.0000 - MIDI CC 1|54 default=0.0000 now=0.0000 - MIDI CC 1|55 default=0.0000 now=0.0000 - MIDI CC 1|56 default=0.0000 now=0.0000 - MIDI CC 1|57 default=0.0000 now=0.0000 - MIDI CC 1|58 default=0.0000 now=0.0000 - MIDI CC 1|59 default=0.0000 now=0.0000 - MIDI CC 1|60 default=0.0000 now=0.0000 - MIDI CC 1|61 default=0.0000 now=0.0000 - MIDI CC 1|62 default=0.0000 now=0.0000 - MIDI CC 1|63 default=0.0000 now=0.0000 - MIDI CC 1|64 default=0.0000 now=0.0000 - MIDI CC 1|65 default=0.0000 now=0.0000 - MIDI CC 1|66 default=0.0000 now=0.0000 - MIDI CC 1|67 default=0.0000 now=0.0000 - MIDI CC 1|68 default=0.0000 now=0.0000 - MIDI CC 1|69 default=0.0000 now=0.0000 - MIDI CC 1|70 default=0.0000 now=0.0000 - MIDI CC 1|71 default=0.0000 now=0.0000 - MIDI CC 1|72 default=0.0000 now=0.0000 - MIDI CC 1|73 default=0.0000 now=0.0000 - MIDI CC 1|74 default=0.0000 now=0.0000 - MIDI CC 1|75 default=0.0000 now=0.0000 - MIDI CC 1|76 default=0.0000 now=0.0000 - MIDI CC 1|77 default=0.0000 now=0.0000 - MIDI CC 1|78 default=0.0000 now=0.0000 - MIDI CC 1|79 default=0.0000 now=0.0000 - MIDI CC 1|80 default=0.0000 now=0.0000 - MIDI CC 1|81 default=0.0000 now=0.0000 - MIDI CC 1|82 default=0.0000 now=0.0000 - MIDI CC 1|83 default=0.0000 now=0.0000 - MIDI CC 1|84 default=0.0000 now=0.0000 - MIDI CC 1|85 default=0.0000 now=0.0000 - MIDI CC 1|86 default=0.0000 now=0.0000 - MIDI CC 1|87 default=0.0000 now=0.0000 - MIDI CC 1|88 default=0.0000 now=0.0000 - MIDI CC 1|89 default=0.0000 now=0.0000 - MIDI CC 1|90 default=0.0000 now=0.0000 - MIDI CC 1|91 default=0.0000 now=0.0000 - MIDI CC 1|92 default=0.0000 now=0.0000 - MIDI CC 1|93 default=0.0000 now=0.0000 - MIDI CC 1|94 default=0.0000 now=0.0000 - MIDI CC 1|95 default=0.0000 now=0.0000 - MIDI CC 1|96 default=0.0000 now=0.0000 - MIDI CC 1|97 default=0.0000 now=0.0000 - MIDI CC 1|98 default=0.0000 now=0.0000 - MIDI CC 1|99 default=0.0000 now=0.0000 - MIDI CC 1|100 default=0.0000 now=0.0000 - MIDI CC 1|101 default=0.0000 now=0.0000 - MIDI CC 1|102 default=0.0000 now=0.0000 - MIDI CC 1|103 default=0.0000 now=0.0000 - MIDI CC 1|104 default=0.0000 now=0.0000 - MIDI CC 1|105 default=0.0000 now=0.0000 - MIDI CC 1|106 default=0.0000 now=0.0000 - MIDI CC 1|107 default=0.0000 now=0.0000 - MIDI CC 1|108 default=0.0000 now=0.0000 - MIDI CC 1|109 default=0.0000 now=0.0000 - MIDI CC 1|110 default=0.0000 now=0.0000 - MIDI CC 1|111 default=0.0000 now=0.0000 - MIDI CC 1|112 default=0.0000 now=0.0000 - MIDI CC 1|113 default=0.0000 now=0.0000 - MIDI CC 1|114 default=0.0000 now=0.0000 - MIDI CC 1|115 default=0.0000 now=0.0000 - MIDI CC 1|116 default=0.0000 now=0.0000 - MIDI CC 1|117 default=0.0000 now=0.0000 - MIDI CC 1|118 default=0.0000 now=0.0000 - MIDI CC 1|119 default=0.0000 now=0.0000 - MIDI CC 1|120 default=0.0000 now=0.0000 - MIDI CC 1|121 default=0.0000 now=0.0000 - MIDI CC 1|122 default=0.0000 now=0.0000 - MIDI CC 1|123 default=0.0000 now=0.0000 - MIDI CC 1|124 default=0.0000 now=0.0000 - MIDI CC 1|125 default=0.0000 now=0.0000 - MIDI CC 1|126 default=0.0000 now=0.0000 - MIDI CC 1|127 default=0.0000 now=0.0000 - MIDI CC 1|128 default=0.0000 now=0.0000 - MIDI CC 1|129 default=0.0000 now=0.0000 - MIDI CC 2|0 default=0.0000 now=0.0000 - MIDI CC 2|1 default=0.0000 now=0.0000 - MIDI CC 2|2 default=0.0000 now=0.0000 - MIDI CC 2|3 default=0.0000 now=0.0000 - MIDI CC 2|4 default=0.0000 now=0.0000 - MIDI CC 2|5 default=0.0000 now=0.0000 - MIDI CC 2|6 default=0.0000 now=0.0000 - MIDI CC 2|7 default=0.0000 now=0.0000 - MIDI CC 2|8 default=0.0000 now=0.0000 - MIDI CC 2|9 default=0.0000 now=0.0000 - MIDI CC 2|10 default=0.0000 now=0.0000 - MIDI CC 2|11 default=0.0000 now=0.0000 - MIDI CC 2|12 default=0.0000 now=0.0000 - MIDI CC 2|13 default=0.0000 now=0.0000 - MIDI CC 2|14 default=0.0000 now=0.0000 - MIDI CC 2|15 default=0.0000 now=0.0000 - MIDI CC 2|16 default=0.0000 now=0.0000 - MIDI CC 2|17 default=0.0000 now=0.0000 - MIDI CC 2|18 default=0.0000 now=0.0000 - MIDI CC 2|19 default=0.0000 now=0.0000 - MIDI CC 2|20 default=0.0000 now=0.0000 - MIDI CC 2|21 default=0.0000 now=0.0000 - MIDI CC 2|22 default=0.0000 now=0.0000 - MIDI CC 2|23 default=0.0000 now=0.0000 - MIDI CC 2|24 default=0.0000 now=0.0000 - MIDI CC 2|25 default=0.0000 now=0.0000 - MIDI CC 2|26 default=0.0000 now=0.0000 - MIDI CC 2|27 default=0.0000 now=0.0000 - MIDI CC 2|28 default=0.0000 now=0.0000 - MIDI CC 2|29 default=0.0000 now=0.0000 - MIDI CC 2|30 default=0.0000 now=0.0000 - MIDI CC 2|31 default=0.0000 now=0.0000 - MIDI CC 2|32 default=0.0000 now=0.0000 - MIDI CC 2|33 default=0.0000 now=0.0000 - MIDI CC 2|34 default=0.0000 now=0.0000 - MIDI CC 2|35 default=0.0000 now=0.0000 - MIDI CC 2|36 default=0.0000 now=0.0000 - MIDI CC 2|37 default=0.0000 now=0.0000 - MIDI CC 2|38 default=0.0000 now=0.0000 - MIDI CC 2|39 default=0.0000 now=0.0000 - MIDI CC 2|40 default=0.0000 now=0.0000 - MIDI CC 2|41 default=0.0000 now=0.0000 - MIDI CC 2|42 default=0.0000 now=0.0000 - MIDI CC 2|43 default=0.0000 now=0.0000 - MIDI CC 2|44 default=0.0000 now=0.0000 - MIDI CC 2|45 default=0.0000 now=0.0000 - MIDI CC 2|46 default=0.0000 now=0.0000 - MIDI CC 2|47 default=0.0000 now=0.0000 - MIDI CC 2|48 default=0.0000 now=0.0000 - MIDI CC 2|49 default=0.0000 now=0.0000 - MIDI CC 2|50 default=0.0000 now=0.0000 - MIDI CC 2|51 default=0.0000 now=0.0000 - MIDI CC 2|52 default=0.0000 now=0.0000 - MIDI CC 2|53 default=0.0000 now=0.0000 - MIDI CC 2|54 default=0.0000 now=0.0000 - MIDI CC 2|55 default=0.0000 now=0.0000 - MIDI CC 2|56 default=0.0000 now=0.0000 - MIDI CC 2|57 default=0.0000 now=0.0000 - MIDI CC 2|58 default=0.0000 now=0.0000 - MIDI CC 2|59 default=0.0000 now=0.0000 - MIDI CC 2|60 default=0.0000 now=0.0000 - MIDI CC 2|61 default=0.0000 now=0.0000 - MIDI CC 2|62 default=0.0000 now=0.0000 - MIDI CC 2|63 default=0.0000 now=0.0000 - MIDI CC 2|64 default=0.0000 now=0.0000 - MIDI CC 2|65 default=0.0000 now=0.0000 - MIDI CC 2|66 default=0.0000 now=0.0000 - MIDI CC 2|67 default=0.0000 now=0.0000 - MIDI CC 2|68 default=0.0000 now=0.0000 - MIDI CC 2|69 default=0.0000 now=0.0000 - MIDI CC 2|70 default=0.0000 now=0.0000 - MIDI CC 2|71 default=0.0000 now=0.0000 - MIDI CC 2|72 default=0.0000 now=0.0000 - MIDI CC 2|73 default=0.0000 now=0.0000 - MIDI CC 2|74 default=0.0000 now=0.0000 - MIDI CC 2|75 default=0.0000 now=0.0000 - MIDI CC 2|76 default=0.0000 now=0.0000 - MIDI CC 2|77 default=0.0000 now=0.0000 - MIDI CC 2|78 default=0.0000 now=0.0000 - MIDI CC 2|79 default=0.0000 now=0.0000 - MIDI CC 2|80 default=0.0000 now=0.0000 - MIDI CC 2|81 default=0.0000 now=0.0000 - MIDI CC 2|82 default=0.0000 now=0.0000 - MIDI CC 2|83 default=0.0000 now=0.0000 - MIDI CC 2|84 default=0.0000 now=0.0000 - MIDI CC 2|85 default=0.0000 now=0.0000 - MIDI CC 2|86 default=0.0000 now=0.0000 - MIDI CC 2|87 default=0.0000 now=0.0000 - MIDI CC 2|88 default=0.0000 now=0.0000 - MIDI CC 2|89 default=0.0000 now=0.0000 - MIDI CC 2|90 default=0.0000 now=0.0000 - MIDI CC 2|91 default=0.0000 now=0.0000 - MIDI CC 2|92 default=0.0000 now=0.0000 - MIDI CC 2|93 default=0.0000 now=0.0000 - MIDI CC 2|94 default=0.0000 now=0.0000 - MIDI CC 2|95 default=0.0000 now=0.0000 - MIDI CC 2|96 default=0.0000 now=0.0000 - MIDI CC 2|97 default=0.0000 now=0.0000 - MIDI CC 2|98 default=0.0000 now=0.0000 - MIDI CC 2|99 default=0.0000 now=0.0000 - MIDI CC 2|100 default=0.0000 now=0.0000 - MIDI CC 2|101 default=0.0000 now=0.0000 - MIDI CC 2|102 default=0.0000 now=0.0000 - MIDI CC 2|103 default=0.0000 now=0.0000 - MIDI CC 2|104 default=0.0000 now=0.0000 - MIDI CC 2|105 default=0.0000 now=0.0000 - MIDI CC 2|106 default=0.0000 now=0.0000 - MIDI CC 2|107 default=0.0000 now=0.0000 - MIDI CC 2|108 default=0.0000 now=0.0000 - MIDI CC 2|109 default=0.0000 now=0.0000 - MIDI CC 2|110 default=0.0000 now=0.0000 - MIDI CC 2|111 default=0.0000 now=0.0000 - MIDI CC 2|112 default=0.0000 now=0.0000 - MIDI CC 2|113 default=0.0000 now=0.0000 - MIDI CC 2|114 default=0.0000 now=0.0000 - MIDI CC 2|115 default=0.0000 now=0.0000 - MIDI CC 2|116 default=0.0000 now=0.0000 - MIDI CC 2|117 default=0.0000 now=0.0000 - MIDI CC 2|118 default=0.0000 now=0.0000 - MIDI CC 2|119 default=0.0000 now=0.0000 - MIDI CC 2|120 default=0.0000 now=0.0000 - MIDI CC 2|121 default=0.0000 now=0.0000 - MIDI CC 2|122 default=0.0000 now=0.0000 - MIDI CC 2|123 default=0.0000 now=0.0000 - MIDI CC 2|124 default=0.0000 now=0.0000 - MIDI CC 2|125 default=0.0000 now=0.0000 - MIDI CC 2|126 default=0.0000 now=0.0000 - MIDI CC 2|127 default=0.0000 now=0.0000 - MIDI CC 2|128 default=0.0000 now=0.0000 - MIDI CC 2|129 default=0.0000 now=0.0000 - MIDI CC 3|0 default=0.0000 now=0.0000 - MIDI CC 3|1 default=0.0000 now=0.0000 - MIDI CC 3|2 default=0.0000 now=0.0000 - MIDI CC 3|3 default=0.0000 now=0.0000 - MIDI CC 3|4 default=0.0000 now=0.0000 - MIDI CC 3|5 default=0.0000 now=0.0000 - MIDI CC 3|6 default=0.0000 now=0.0000 - MIDI CC 3|7 default=0.0000 now=0.0000 - MIDI CC 3|8 default=0.0000 now=0.0000 - MIDI CC 3|9 default=0.0000 now=0.0000 - MIDI CC 3|10 default=0.0000 now=0.0000 - MIDI CC 3|11 default=0.0000 now=0.0000 - MIDI CC 3|12 default=0.0000 now=0.0000 - MIDI CC 3|13 default=0.0000 now=0.0000 - MIDI CC 3|14 default=0.0000 now=0.0000 - MIDI CC 3|15 default=0.0000 now=0.0000 - MIDI CC 3|16 default=0.0000 now=0.0000 - MIDI CC 3|17 default=0.0000 now=0.0000 - MIDI CC 3|18 default=0.0000 now=0.0000 - MIDI CC 3|19 default=0.0000 now=0.0000 - MIDI CC 3|20 default=0.0000 now=0.0000 - MIDI CC 3|21 default=0.0000 now=0.0000 - MIDI CC 3|22 default=0.0000 now=0.0000 - MIDI CC 3|23 default=0.0000 now=0.0000 - MIDI CC 3|24 default=0.0000 now=0.0000 - MIDI CC 3|25 default=0.0000 now=0.0000 - MIDI CC 3|26 default=0.0000 now=0.0000 - MIDI CC 3|27 default=0.0000 now=0.0000 - MIDI CC 3|28 default=0.0000 now=0.0000 - MIDI CC 3|29 default=0.0000 now=0.0000 - MIDI CC 3|30 default=0.0000 now=0.0000 - MIDI CC 3|31 default=0.0000 now=0.0000 - MIDI CC 3|32 default=0.0000 now=0.0000 - MIDI CC 3|33 default=0.0000 now=0.0000 - MIDI CC 3|34 default=0.0000 now=0.0000 - MIDI CC 3|35 default=0.0000 now=0.0000 - MIDI CC 3|36 default=0.0000 now=0.0000 - MIDI CC 3|37 default=0.0000 now=0.0000 - MIDI CC 3|38 default=0.0000 now=0.0000 - MIDI CC 3|39 default=0.0000 now=0.0000 - MIDI CC 3|40 default=0.0000 now=0.0000 - MIDI CC 3|41 default=0.0000 now=0.0000 - MIDI CC 3|42 default=0.0000 now=0.0000 - MIDI CC 3|43 default=0.0000 now=0.0000 - MIDI CC 3|44 default=0.0000 now=0.0000 - MIDI CC 3|45 default=0.0000 now=0.0000 - MIDI CC 3|46 default=0.0000 now=0.0000 - MIDI CC 3|47 default=0.0000 now=0.0000 - MIDI CC 3|48 default=0.0000 now=0.0000 - MIDI CC 3|49 default=0.0000 now=0.0000 - MIDI CC 3|50 default=0.0000 now=0.0000 - MIDI CC 3|51 default=0.0000 now=0.0000 - MIDI CC 3|52 default=0.0000 now=0.0000 - MIDI CC 3|53 default=0.0000 now=0.0000 - MIDI CC 3|54 default=0.0000 now=0.0000 - MIDI CC 3|55 default=0.0000 now=0.0000 - MIDI CC 3|56 default=0.0000 now=0.0000 - MIDI CC 3|57 default=0.0000 now=0.0000 - MIDI CC 3|58 default=0.0000 now=0.0000 - MIDI CC 3|59 default=0.0000 now=0.0000 - MIDI CC 3|60 default=0.0000 now=0.0000 - MIDI CC 3|61 default=0.0000 now=0.0000 - MIDI CC 3|62 default=0.0000 now=0.0000 - MIDI CC 3|63 default=0.0000 now=0.0000 - MIDI CC 3|64 default=0.0000 now=0.0000 - MIDI CC 3|65 default=0.0000 now=0.0000 - MIDI CC 3|66 default=0.0000 now=0.0000 - MIDI CC 3|67 default=0.0000 now=0.0000 - MIDI CC 3|68 default=0.0000 now=0.0000 - MIDI CC 3|69 default=0.0000 now=0.0000 - MIDI CC 3|70 default=0.0000 now=0.0000 - MIDI CC 3|71 default=0.0000 now=0.0000 - MIDI CC 3|72 default=0.0000 now=0.0000 - MIDI CC 3|73 default=0.0000 now=0.0000 - MIDI CC 3|74 default=0.0000 now=0.0000 - MIDI CC 3|75 default=0.0000 now=0.0000 - MIDI CC 3|76 default=0.0000 now=0.0000 - MIDI CC 3|77 default=0.0000 now=0.0000 - MIDI CC 3|78 default=0.0000 now=0.0000 - MIDI CC 3|79 default=0.0000 now=0.0000 - MIDI CC 3|80 default=0.0000 now=0.0000 - MIDI CC 3|81 default=0.0000 now=0.0000 - MIDI CC 3|82 default=0.0000 now=0.0000 - MIDI CC 3|83 default=0.0000 now=0.0000 - MIDI CC 3|84 default=0.0000 now=0.0000 - MIDI CC 3|85 default=0.0000 now=0.0000 - MIDI CC 3|86 default=0.0000 now=0.0000 - MIDI CC 3|87 default=0.0000 now=0.0000 - MIDI CC 3|88 default=0.0000 now=0.0000 - MIDI CC 3|89 default=0.0000 now=0.0000 - MIDI CC 3|90 default=0.0000 now=0.0000 - MIDI CC 3|91 default=0.0000 now=0.0000 - MIDI CC 3|92 default=0.0000 now=0.0000 - MIDI CC 3|93 default=0.0000 now=0.0000 - MIDI CC 3|94 default=0.0000 now=0.0000 - MIDI CC 3|95 default=0.0000 now=0.0000 - MIDI CC 3|96 default=0.0000 now=0.0000 - MIDI CC 3|97 default=0.0000 now=0.0000 - MIDI CC 3|98 default=0.0000 now=0.0000 - MIDI CC 3|99 default=0.0000 now=0.0000 - MIDI CC 3|100 default=0.0000 now=0.0000 - MIDI CC 3|101 default=0.0000 now=0.0000 - MIDI CC 3|102 default=0.0000 now=0.0000 - MIDI CC 3|103 default=0.0000 now=0.0000 - MIDI CC 3|104 default=0.0000 now=0.0000 - MIDI CC 3|105 default=0.0000 now=0.0000 - MIDI CC 3|106 default=0.0000 now=0.0000 - MIDI CC 3|107 default=0.0000 now=0.0000 - MIDI CC 3|108 default=0.0000 now=0.0000 - MIDI CC 3|109 default=0.0000 now=0.0000 - MIDI CC 3|110 default=0.0000 now=0.0000 - MIDI CC 3|111 default=0.0000 now=0.0000 - MIDI CC 3|112 default=0.0000 now=0.0000 - MIDI CC 3|113 default=0.0000 now=0.0000 - MIDI CC 3|114 default=0.0000 now=0.0000 - MIDI CC 3|115 default=0.0000 now=0.0000 - MIDI CC 3|116 default=0.0000 now=0.0000 - MIDI CC 3|117 default=0.0000 now=0.0000 - MIDI CC 3|118 default=0.0000 now=0.0000 - MIDI CC 3|119 default=0.0000 now=0.0000 - MIDI CC 3|120 default=0.0000 now=0.0000 - MIDI CC 3|121 default=0.0000 now=0.0000 - MIDI CC 3|122 default=0.0000 now=0.0000 - MIDI CC 3|123 default=0.0000 now=0.0000 - MIDI CC 3|124 default=0.0000 now=0.0000 - MIDI CC 3|125 default=0.0000 now=0.0000 - MIDI CC 3|126 default=0.0000 now=0.0000 - MIDI CC 3|127 default=0.0000 now=0.0000 - MIDI CC 3|128 default=0.0000 now=0.0000 - MIDI CC 3|129 default=0.0000 now=0.0000 - MIDI CC 4|0 default=0.0000 now=0.0000 - MIDI CC 4|1 default=0.0000 now=0.0000 - MIDI CC 4|2 default=0.0000 now=0.0000 - MIDI CC 4|3 default=0.0000 now=0.0000 - MIDI CC 4|4 default=0.0000 now=0.0000 - MIDI CC 4|5 default=0.0000 now=0.0000 - MIDI CC 4|6 default=0.0000 now=0.0000 - MIDI CC 4|7 default=0.0000 now=0.0000 - MIDI CC 4|8 default=0.0000 now=0.0000 - MIDI CC 4|9 default=0.0000 now=0.0000 - MIDI CC 4|10 default=0.0000 now=0.0000 - MIDI CC 4|11 default=0.0000 now=0.0000 - MIDI CC 4|12 default=0.0000 now=0.0000 - MIDI CC 4|13 default=0.0000 now=0.0000 - MIDI CC 4|14 default=0.0000 now=0.0000 - MIDI CC 4|15 default=0.0000 now=0.0000 - MIDI CC 4|16 default=0.0000 now=0.0000 - MIDI CC 4|17 default=0.0000 now=0.0000 - MIDI CC 4|18 default=0.0000 now=0.0000 - MIDI CC 4|19 default=0.0000 now=0.0000 - MIDI CC 4|20 default=0.0000 now=0.0000 - MIDI CC 4|21 default=0.0000 now=0.0000 - MIDI CC 4|22 default=0.0000 now=0.0000 - MIDI CC 4|23 default=0.0000 now=0.0000 - MIDI CC 4|24 default=0.0000 now=0.0000 - MIDI CC 4|25 default=0.0000 now=0.0000 - MIDI CC 4|26 default=0.0000 now=0.0000 - MIDI CC 4|27 default=0.0000 now=0.0000 - MIDI CC 4|28 default=0.0000 now=0.0000 - MIDI CC 4|29 default=0.0000 now=0.0000 - MIDI CC 4|30 default=0.0000 now=0.0000 - MIDI CC 4|31 default=0.0000 now=0.0000 - MIDI CC 4|32 default=0.0000 now=0.0000 - MIDI CC 4|33 default=0.0000 now=0.0000 - MIDI CC 4|34 default=0.0000 now=0.0000 - MIDI CC 4|35 default=0.0000 now=0.0000 - MIDI CC 4|36 default=0.0000 now=0.0000 - MIDI CC 4|37 default=0.0000 now=0.0000 - MIDI CC 4|38 default=0.0000 now=0.0000 - MIDI CC 4|39 default=0.0000 now=0.0000 - MIDI CC 4|40 default=0.0000 now=0.0000 - MIDI CC 4|41 default=0.0000 now=0.0000 - MIDI CC 4|42 default=0.0000 now=0.0000 - MIDI CC 4|43 default=0.0000 now=0.0000 - MIDI CC 4|44 default=0.0000 now=0.0000 - MIDI CC 4|45 default=0.0000 now=0.0000 - MIDI CC 4|46 default=0.0000 now=0.0000 - MIDI CC 4|47 default=0.0000 now=0.0000 - MIDI CC 4|48 default=0.0000 now=0.0000 - MIDI CC 4|49 default=0.0000 now=0.0000 - MIDI CC 4|50 default=0.0000 now=0.0000 - MIDI CC 4|51 default=0.0000 now=0.0000 - MIDI CC 4|52 default=0.0000 now=0.0000 - MIDI CC 4|53 default=0.0000 now=0.0000 - MIDI CC 4|54 default=0.0000 now=0.0000 - MIDI CC 4|55 default=0.0000 now=0.0000 - MIDI CC 4|56 default=0.0000 now=0.0000 - MIDI CC 4|57 default=0.0000 now=0.0000 - MIDI CC 4|58 default=0.0000 now=0.0000 - MIDI CC 4|59 default=0.0000 now=0.0000 - MIDI CC 4|60 default=0.0000 now=0.0000 - MIDI CC 4|61 default=0.0000 now=0.0000 - MIDI CC 4|62 default=0.0000 now=0.0000 - MIDI CC 4|63 default=0.0000 now=0.0000 - MIDI CC 4|64 default=0.0000 now=0.0000 - MIDI CC 4|65 default=0.0000 now=0.0000 - MIDI CC 4|66 default=0.0000 now=0.0000 - MIDI CC 4|67 default=0.0000 now=0.0000 - MIDI CC 4|68 default=0.0000 now=0.0000 - MIDI CC 4|69 default=0.0000 now=0.0000 - MIDI CC 4|70 default=0.0000 now=0.0000 - MIDI CC 4|71 default=0.0000 now=0.0000 - MIDI CC 4|72 default=0.0000 now=0.0000 - MIDI CC 4|73 default=0.0000 now=0.0000 - MIDI CC 4|74 default=0.0000 now=0.0000 - MIDI CC 4|75 default=0.0000 now=0.0000 - MIDI CC 4|76 default=0.0000 now=0.0000 - MIDI CC 4|77 default=0.0000 now=0.0000 - MIDI CC 4|78 default=0.0000 now=0.0000 - MIDI CC 4|79 default=0.0000 now=0.0000 - MIDI CC 4|80 default=0.0000 now=0.0000 - MIDI CC 4|81 default=0.0000 now=0.0000 - MIDI CC 4|82 default=0.0000 now=0.0000 - MIDI CC 4|83 default=0.0000 now=0.0000 - MIDI CC 4|84 default=0.0000 now=0.0000 - MIDI CC 4|85 default=0.0000 now=0.0000 - MIDI CC 4|86 default=0.0000 now=0.0000 - MIDI CC 4|87 default=0.0000 now=0.0000 - MIDI CC 4|88 default=0.0000 now=0.0000 - MIDI CC 4|89 default=0.0000 now=0.0000 - MIDI CC 4|90 default=0.0000 now=0.0000 - MIDI CC 4|91 default=0.0000 now=0.0000 - MIDI CC 4|92 default=0.0000 now=0.0000 - MIDI CC 4|93 default=0.0000 now=0.0000 - MIDI CC 4|94 default=0.0000 now=0.0000 - MIDI CC 4|95 default=0.0000 now=0.0000 - MIDI CC 4|96 default=0.0000 now=0.0000 - MIDI CC 4|97 default=0.0000 now=0.0000 - MIDI CC 4|98 default=0.0000 now=0.0000 - MIDI CC 4|99 default=0.0000 now=0.0000 - MIDI CC 4|100 default=0.0000 now=0.0000 - MIDI CC 4|101 default=0.0000 now=0.0000 - MIDI CC 4|102 default=0.0000 now=0.0000 - MIDI CC 4|103 default=0.0000 now=0.0000 - MIDI CC 4|104 default=0.0000 now=0.0000 - MIDI CC 4|105 default=0.0000 now=0.0000 - MIDI CC 4|106 default=0.0000 now=0.0000 - MIDI CC 4|107 default=0.0000 now=0.0000 - MIDI CC 4|108 default=0.0000 now=0.0000 - MIDI CC 4|109 default=0.0000 now=0.0000 - MIDI CC 4|110 default=0.0000 now=0.0000 - MIDI CC 4|111 default=0.0000 now=0.0000 - MIDI CC 4|112 default=0.0000 now=0.0000 - MIDI CC 4|113 default=0.0000 now=0.0000 - MIDI CC 4|114 default=0.0000 now=0.0000 - MIDI CC 4|115 default=0.0000 now=0.0000 - MIDI CC 4|116 default=0.0000 now=0.0000 - MIDI CC 4|117 default=0.0000 now=0.0000 - MIDI CC 4|118 default=0.0000 now=0.0000 - MIDI CC 4|119 default=0.0000 now=0.0000 - MIDI CC 4|120 default=0.0000 now=0.0000 - MIDI CC 4|121 default=0.0000 now=0.0000 - MIDI CC 4|122 default=0.0000 now=0.0000 - MIDI CC 4|123 default=0.0000 now=0.0000 - MIDI CC 4|124 default=0.0000 now=0.0000 - MIDI CC 4|125 default=0.0000 now=0.0000 - MIDI CC 4|126 default=0.0000 now=0.0000 - MIDI CC 4|127 default=0.0000 now=0.0000 - MIDI CC 4|128 default=0.0000 now=0.0000 - MIDI CC 4|129 default=0.0000 now=0.0000 - MIDI CC 5|0 default=0.0000 now=0.0000 - MIDI CC 5|1 default=0.0000 now=0.0000 - MIDI CC 5|2 default=0.0000 now=0.0000 - MIDI CC 5|3 default=0.0000 now=0.0000 - MIDI CC 5|4 default=0.0000 now=0.0000 - MIDI CC 5|5 default=0.0000 now=0.0000 - MIDI CC 5|6 default=0.0000 now=0.0000 - MIDI CC 5|7 default=0.0000 now=0.0000 - MIDI CC 5|8 default=0.0000 now=0.0000 - MIDI CC 5|9 default=0.0000 now=0.0000 - MIDI CC 5|10 default=0.0000 now=0.0000 - MIDI CC 5|11 default=0.0000 now=0.0000 - MIDI CC 5|12 default=0.0000 now=0.0000 - MIDI CC 5|13 default=0.0000 now=0.0000 - MIDI CC 5|14 default=0.0000 now=0.0000 - MIDI CC 5|15 default=0.0000 now=0.0000 - MIDI CC 5|16 default=0.0000 now=0.0000 - MIDI CC 5|17 default=0.0000 now=0.0000 - MIDI CC 5|18 default=0.0000 now=0.0000 - MIDI CC 5|19 default=0.0000 now=0.0000 - MIDI CC 5|20 default=0.0000 now=0.0000 - MIDI CC 5|21 default=0.0000 now=0.0000 - MIDI CC 5|22 default=0.0000 now=0.0000 - MIDI CC 5|23 default=0.0000 now=0.0000 - MIDI CC 5|24 default=0.0000 now=0.0000 - MIDI CC 5|25 default=0.0000 now=0.0000 - MIDI CC 5|26 default=0.0000 now=0.0000 - MIDI CC 5|27 default=0.0000 now=0.0000 - MIDI CC 5|28 default=0.0000 now=0.0000 - MIDI CC 5|29 default=0.0000 now=0.0000 - MIDI CC 5|30 default=0.0000 now=0.0000 - MIDI CC 5|31 default=0.0000 now=0.0000 - MIDI CC 5|32 default=0.0000 now=0.0000 - MIDI CC 5|33 default=0.0000 now=0.0000 - MIDI CC 5|34 default=0.0000 now=0.0000 - MIDI CC 5|35 default=0.0000 now=0.0000 - MIDI CC 5|36 default=0.0000 now=0.0000 - MIDI CC 5|37 default=0.0000 now=0.0000 - MIDI CC 5|38 default=0.0000 now=0.0000 - MIDI CC 5|39 default=0.0000 now=0.0000 - MIDI CC 5|40 default=0.0000 now=0.0000 - MIDI CC 5|41 default=0.0000 now=0.0000 - MIDI CC 5|42 default=0.0000 now=0.0000 - MIDI CC 5|43 default=0.0000 now=0.0000 - MIDI CC 5|44 default=0.0000 now=0.0000 - MIDI CC 5|45 default=0.0000 now=0.0000 - MIDI CC 5|46 default=0.0000 now=0.0000 - MIDI CC 5|47 default=0.0000 now=0.0000 - MIDI CC 5|48 default=0.0000 now=0.0000 - MIDI CC 5|49 default=0.0000 now=0.0000 - MIDI CC 5|50 default=0.0000 now=0.0000 - MIDI CC 5|51 default=0.0000 now=0.0000 - MIDI CC 5|52 default=0.0000 now=0.0000 - MIDI CC 5|53 default=0.0000 now=0.0000 - MIDI CC 5|54 default=0.0000 now=0.0000 - MIDI CC 5|55 default=0.0000 now=0.0000 - MIDI CC 5|56 default=0.0000 now=0.0000 - MIDI CC 5|57 default=0.0000 now=0.0000 - MIDI CC 5|58 default=0.0000 now=0.0000 - MIDI CC 5|59 default=0.0000 now=0.0000 - MIDI CC 5|60 default=0.0000 now=0.0000 - MIDI CC 5|61 default=0.0000 now=0.0000 - MIDI CC 5|62 default=0.0000 now=0.0000 - MIDI CC 5|63 default=0.0000 now=0.0000 - MIDI CC 5|64 default=0.0000 now=0.0000 - MIDI CC 5|65 default=0.0000 now=0.0000 - MIDI CC 5|66 default=0.0000 now=0.0000 - MIDI CC 5|67 default=0.0000 now=0.0000 - MIDI CC 5|68 default=0.0000 now=0.0000 - MIDI CC 5|69 default=0.0000 now=0.0000 - MIDI CC 5|70 default=0.0000 now=0.0000 - MIDI CC 5|71 default=0.0000 now=0.0000 - MIDI CC 5|72 default=0.0000 now=0.0000 - MIDI CC 5|73 default=0.0000 now=0.0000 - MIDI CC 5|74 default=0.0000 now=0.0000 - MIDI CC 5|75 default=0.0000 now=0.0000 - MIDI CC 5|76 default=0.0000 now=0.0000 - MIDI CC 5|77 default=0.0000 now=0.0000 - MIDI CC 5|78 default=0.0000 now=0.0000 - MIDI CC 5|79 default=0.0000 now=0.0000 - MIDI CC 5|80 default=0.0000 now=0.0000 - MIDI CC 5|81 default=0.0000 now=0.0000 - MIDI CC 5|82 default=0.0000 now=0.0000 - MIDI CC 5|83 default=0.0000 now=0.0000 - MIDI CC 5|84 default=0.0000 now=0.0000 - MIDI CC 5|85 default=0.0000 now=0.0000 - MIDI CC 5|86 default=0.0000 now=0.0000 - MIDI CC 5|87 default=0.0000 now=0.0000 - MIDI CC 5|88 default=0.0000 now=0.0000 - MIDI CC 5|89 default=0.0000 now=0.0000 - MIDI CC 5|90 default=0.0000 now=0.0000 - MIDI CC 5|91 default=0.0000 now=0.0000 - MIDI CC 5|92 default=0.0000 now=0.0000 - MIDI CC 5|93 default=0.0000 now=0.0000 - MIDI CC 5|94 default=0.0000 now=0.0000 - MIDI CC 5|95 default=0.0000 now=0.0000 - MIDI CC 5|96 default=0.0000 now=0.0000 - MIDI CC 5|97 default=0.0000 now=0.0000 - MIDI CC 5|98 default=0.0000 now=0.0000 - MIDI CC 5|99 default=0.0000 now=0.0000 - MIDI CC 5|100 default=0.0000 now=0.0000 - MIDI CC 5|101 default=0.0000 now=0.0000 - MIDI CC 5|102 default=0.0000 now=0.0000 - MIDI CC 5|103 default=0.0000 now=0.0000 - MIDI CC 5|104 default=0.0000 now=0.0000 - MIDI CC 5|105 default=0.0000 now=0.0000 - MIDI CC 5|106 default=0.0000 now=0.0000 - MIDI CC 5|107 default=0.0000 now=0.0000 - MIDI CC 5|108 default=0.0000 now=0.0000 - MIDI CC 5|109 default=0.0000 now=0.0000 - MIDI CC 5|110 default=0.0000 now=0.0000 - MIDI CC 5|111 default=0.0000 now=0.0000 - MIDI CC 5|112 default=0.0000 now=0.0000 - MIDI CC 5|113 default=0.0000 now=0.0000 - MIDI CC 5|114 default=0.0000 now=0.0000 - MIDI CC 5|115 default=0.0000 now=0.0000 - MIDI CC 5|116 default=0.0000 now=0.0000 - MIDI CC 5|117 default=0.0000 now=0.0000 - MIDI CC 5|118 default=0.0000 now=0.0000 - MIDI CC 5|119 default=0.0000 now=0.0000 - MIDI CC 5|120 default=0.0000 now=0.0000 - MIDI CC 5|121 default=0.0000 now=0.0000 - MIDI CC 5|122 default=0.0000 now=0.0000 - MIDI CC 5|123 default=0.0000 now=0.0000 - MIDI CC 5|124 default=0.0000 now=0.0000 - MIDI CC 5|125 default=0.0000 now=0.0000 - MIDI CC 5|126 default=0.0000 now=0.0000 - MIDI CC 5|127 default=0.0000 now=0.0000 - MIDI CC 5|128 default=0.0000 now=0.0000 - MIDI CC 5|129 default=0.0000 now=0.0000 - MIDI CC 6|0 default=0.0000 now=0.0000 - MIDI CC 6|1 default=0.0000 now=0.0000 - MIDI CC 6|2 default=0.0000 now=0.0000 - MIDI CC 6|3 default=0.0000 now=0.0000 - MIDI CC 6|4 default=0.0000 now=0.0000 - MIDI CC 6|5 default=0.0000 now=0.0000 - MIDI CC 6|6 default=0.0000 now=0.0000 - MIDI CC 6|7 default=0.0000 now=0.0000 - MIDI CC 6|8 default=0.0000 now=0.0000 - MIDI CC 6|9 default=0.0000 now=0.0000 - MIDI CC 6|10 default=0.0000 now=0.0000 - MIDI CC 6|11 default=0.0000 now=0.0000 - MIDI CC 6|12 default=0.0000 now=0.0000 - MIDI CC 6|13 default=0.0000 now=0.0000 - MIDI CC 6|14 default=0.0000 now=0.0000 - MIDI CC 6|15 default=0.0000 now=0.0000 - MIDI CC 6|16 default=0.0000 now=0.0000 - MIDI CC 6|17 default=0.0000 now=0.0000 - MIDI CC 6|18 default=0.0000 now=0.0000 - MIDI CC 6|19 default=0.0000 now=0.0000 - MIDI CC 6|20 default=0.0000 now=0.0000 - MIDI CC 6|21 default=0.0000 now=0.0000 - MIDI CC 6|22 default=0.0000 now=0.0000 - MIDI CC 6|23 default=0.0000 now=0.0000 - MIDI CC 6|24 default=0.0000 now=0.0000 - MIDI CC 6|25 default=0.0000 now=0.0000 - MIDI CC 6|26 default=0.0000 now=0.0000 - MIDI CC 6|27 default=0.0000 now=0.0000 - MIDI CC 6|28 default=0.0000 now=0.0000 - MIDI CC 6|29 default=0.0000 now=0.0000 - MIDI CC 6|30 default=0.0000 now=0.0000 - MIDI CC 6|31 default=0.0000 now=0.0000 - MIDI CC 6|32 default=0.0000 now=0.0000 - MIDI CC 6|33 default=0.0000 now=0.0000 - MIDI CC 6|34 default=0.0000 now=0.0000 - MIDI CC 6|35 default=0.0000 now=0.0000 - MIDI CC 6|36 default=0.0000 now=0.0000 - MIDI CC 6|37 default=0.0000 now=0.0000 - MIDI CC 6|38 default=0.0000 now=0.0000 - MIDI CC 6|39 default=0.0000 now=0.0000 - MIDI CC 6|40 default=0.0000 now=0.0000 - MIDI CC 6|41 default=0.0000 now=0.0000 - MIDI CC 6|42 default=0.0000 now=0.0000 - MIDI CC 6|43 default=0.0000 now=0.0000 - MIDI CC 6|44 default=0.0000 now=0.0000 - MIDI CC 6|45 default=0.0000 now=0.0000 - MIDI CC 6|46 default=0.0000 now=0.0000 - MIDI CC 6|47 default=0.0000 now=0.0000 - MIDI CC 6|48 default=0.0000 now=0.0000 - MIDI CC 6|49 default=0.0000 now=0.0000 - MIDI CC 6|50 default=0.0000 now=0.0000 - MIDI CC 6|51 default=0.0000 now=0.0000 - MIDI CC 6|52 default=0.0000 now=0.0000 - MIDI CC 6|53 default=0.0000 now=0.0000 - MIDI CC 6|54 default=0.0000 now=0.0000 - MIDI CC 6|55 default=0.0000 now=0.0000 - MIDI CC 6|56 default=0.0000 now=0.0000 - MIDI CC 6|57 default=0.0000 now=0.0000 - MIDI CC 6|58 default=0.0000 now=0.0000 - MIDI CC 6|59 default=0.0000 now=0.0000 - MIDI CC 6|60 default=0.0000 now=0.0000 - MIDI CC 6|61 default=0.0000 now=0.0000 - MIDI CC 6|62 default=0.0000 now=0.0000 - MIDI CC 6|63 default=0.0000 now=0.0000 - MIDI CC 6|64 default=0.0000 now=0.0000 - MIDI CC 6|65 default=0.0000 now=0.0000 - MIDI CC 6|66 default=0.0000 now=0.0000 - MIDI CC 6|67 default=0.0000 now=0.0000 - MIDI CC 6|68 default=0.0000 now=0.0000 - MIDI CC 6|69 default=0.0000 now=0.0000 - MIDI CC 6|70 default=0.0000 now=0.0000 - MIDI CC 6|71 default=0.0000 now=0.0000 - MIDI CC 6|72 default=0.0000 now=0.0000 - MIDI CC 6|73 default=0.0000 now=0.0000 - MIDI CC 6|74 default=0.0000 now=0.0000 - MIDI CC 6|75 default=0.0000 now=0.0000 - MIDI CC 6|76 default=0.0000 now=0.0000 - MIDI CC 6|77 default=0.0000 now=0.0000 - MIDI CC 6|78 default=0.0000 now=0.0000 - MIDI CC 6|79 default=0.0000 now=0.0000 - MIDI CC 6|80 default=0.0000 now=0.0000 - MIDI CC 6|81 default=0.0000 now=0.0000 - MIDI CC 6|82 default=0.0000 now=0.0000 - MIDI CC 6|83 default=0.0000 now=0.0000 - MIDI CC 6|84 default=0.0000 now=0.0000 - MIDI CC 6|85 default=0.0000 now=0.0000 - MIDI CC 6|86 default=0.0000 now=0.0000 - MIDI CC 6|87 default=0.0000 now=0.0000 - MIDI CC 6|88 default=0.0000 now=0.0000 - MIDI CC 6|89 default=0.0000 now=0.0000 - MIDI CC 6|90 default=0.0000 now=0.0000 - MIDI CC 6|91 default=0.0000 now=0.0000 - MIDI CC 6|92 default=0.0000 now=0.0000 - MIDI CC 6|93 default=0.0000 now=0.0000 - MIDI CC 6|94 default=0.0000 now=0.0000 - MIDI CC 6|95 default=0.0000 now=0.0000 - MIDI CC 6|96 default=0.0000 now=0.0000 - MIDI CC 6|97 default=0.0000 now=0.0000 - MIDI CC 6|98 default=0.0000 now=0.0000 - MIDI CC 6|99 default=0.0000 now=0.0000 - MIDI CC 6|100 default=0.0000 now=0.0000 - MIDI CC 6|101 default=0.0000 now=0.0000 - MIDI CC 6|102 default=0.0000 now=0.0000 - MIDI CC 6|103 default=0.0000 now=0.0000 - MIDI CC 6|104 default=0.0000 now=0.0000 - MIDI CC 6|105 default=0.0000 now=0.0000 - MIDI CC 6|106 default=0.0000 now=0.0000 - MIDI CC 6|107 default=0.0000 now=0.0000 - MIDI CC 6|108 default=0.0000 now=0.0000 - MIDI CC 6|109 default=0.0000 now=0.0000 - MIDI CC 6|110 default=0.0000 now=0.0000 - MIDI CC 6|111 default=0.0000 now=0.0000 - MIDI CC 6|112 default=0.0000 now=0.0000 - MIDI CC 6|113 default=0.0000 now=0.0000 - MIDI CC 6|114 default=0.0000 now=0.0000 - MIDI CC 6|115 default=0.0000 now=0.0000 - MIDI CC 6|116 default=0.0000 now=0.0000 - MIDI CC 6|117 default=0.0000 now=0.0000 - MIDI CC 6|118 default=0.0000 now=0.0000 - MIDI CC 6|119 default=0.0000 now=0.0000 - MIDI CC 6|120 default=0.0000 now=0.0000 - MIDI CC 6|121 default=0.0000 now=0.0000 - MIDI CC 6|122 default=0.0000 now=0.0000 - MIDI CC 6|123 default=0.0000 now=0.0000 - MIDI CC 6|124 default=0.0000 now=0.0000 - MIDI CC 6|125 default=0.0000 now=0.0000 - MIDI CC 6|126 default=0.0000 now=0.0000 - MIDI CC 6|127 default=0.0000 now=0.0000 - MIDI CC 6|128 default=0.0000 now=0.0000 - MIDI CC 6|129 default=0.0000 now=0.0000 - MIDI CC 7|0 default=0.0000 now=0.0000 - MIDI CC 7|1 default=0.0000 now=0.0000 - MIDI CC 7|2 default=0.0000 now=0.0000 - MIDI CC 7|3 default=0.0000 now=0.0000 - MIDI CC 7|4 default=0.0000 now=0.0000 - MIDI CC 7|5 default=0.0000 now=0.0000 - MIDI CC 7|6 default=0.0000 now=0.0000 - MIDI CC 7|7 default=0.0000 now=0.0000 - MIDI CC 7|8 default=0.0000 now=0.0000 - MIDI CC 7|9 default=0.0000 now=0.0000 - MIDI CC 7|10 default=0.0000 now=0.0000 - MIDI CC 7|11 default=0.0000 now=0.0000 - MIDI CC 7|12 default=0.0000 now=0.0000 - MIDI CC 7|13 default=0.0000 now=0.0000 - MIDI CC 7|14 default=0.0000 now=0.0000 - MIDI CC 7|15 default=0.0000 now=0.0000 - MIDI CC 7|16 default=0.0000 now=0.0000 - MIDI CC 7|17 default=0.0000 now=0.0000 - MIDI CC 7|18 default=0.0000 now=0.0000 - MIDI CC 7|19 default=0.0000 now=0.0000 - MIDI CC 7|20 default=0.0000 now=0.0000 - MIDI CC 7|21 default=0.0000 now=0.0000 - MIDI CC 7|22 default=0.0000 now=0.0000 - MIDI CC 7|23 default=0.0000 now=0.0000 - MIDI CC 7|24 default=0.0000 now=0.0000 - MIDI CC 7|25 default=0.0000 now=0.0000 - MIDI CC 7|26 default=0.0000 now=0.0000 - MIDI CC 7|27 default=0.0000 now=0.0000 - MIDI CC 7|28 default=0.0000 now=0.0000 - MIDI CC 7|29 default=0.0000 now=0.0000 - MIDI CC 7|30 default=0.0000 now=0.0000 - MIDI CC 7|31 default=0.0000 now=0.0000 - MIDI CC 7|32 default=0.0000 now=0.0000 - MIDI CC 7|33 default=0.0000 now=0.0000 - MIDI CC 7|34 default=0.0000 now=0.0000 - MIDI CC 7|35 default=0.0000 now=0.0000 - MIDI CC 7|36 default=0.0000 now=0.0000 - MIDI CC 7|37 default=0.0000 now=0.0000 - MIDI CC 7|38 default=0.0000 now=0.0000 - MIDI CC 7|39 default=0.0000 now=0.0000 - MIDI CC 7|40 default=0.0000 now=0.0000 - MIDI CC 7|41 default=0.0000 now=0.0000 - MIDI CC 7|42 default=0.0000 now=0.0000 - MIDI CC 7|43 default=0.0000 now=0.0000 - MIDI CC 7|44 default=0.0000 now=0.0000 - MIDI CC 7|45 default=0.0000 now=0.0000 - MIDI CC 7|46 default=0.0000 now=0.0000 - MIDI CC 7|47 default=0.0000 now=0.0000 - MIDI CC 7|48 default=0.0000 now=0.0000 - MIDI CC 7|49 default=0.0000 now=0.0000 - MIDI CC 7|50 default=0.0000 now=0.0000 - MIDI CC 7|51 default=0.0000 now=0.0000 - MIDI CC 7|52 default=0.0000 now=0.0000 - MIDI CC 7|53 default=0.0000 now=0.0000 - MIDI CC 7|54 default=0.0000 now=0.0000 - MIDI CC 7|55 default=0.0000 now=0.0000 - MIDI CC 7|56 default=0.0000 now=0.0000 - MIDI CC 7|57 default=0.0000 now=0.0000 - MIDI CC 7|58 default=0.0000 now=0.0000 - MIDI CC 7|59 default=0.0000 now=0.0000 - MIDI CC 7|60 default=0.0000 now=0.0000 - MIDI CC 7|61 default=0.0000 now=0.0000 - MIDI CC 7|62 default=0.0000 now=0.0000 - MIDI CC 7|63 default=0.0000 now=0.0000 - MIDI CC 7|64 default=0.0000 now=0.0000 - MIDI CC 7|65 default=0.0000 now=0.0000 - MIDI CC 7|66 default=0.0000 now=0.0000 - MIDI CC 7|67 default=0.0000 now=0.0000 - MIDI CC 7|68 default=0.0000 now=0.0000 - MIDI CC 7|69 default=0.0000 now=0.0000 - MIDI CC 7|70 default=0.0000 now=0.0000 - MIDI CC 7|71 default=0.0000 now=0.0000 - MIDI CC 7|72 default=0.0000 now=0.0000 - MIDI CC 7|73 default=0.0000 now=0.0000 - MIDI CC 7|74 default=0.0000 now=0.0000 - MIDI CC 7|75 default=0.0000 now=0.0000 - MIDI CC 7|76 default=0.0000 now=0.0000 - MIDI CC 7|77 default=0.0000 now=0.0000 - MIDI CC 7|78 default=0.0000 now=0.0000 - MIDI CC 7|79 default=0.0000 now=0.0000 - MIDI CC 7|80 default=0.0000 now=0.0000 - MIDI CC 7|81 default=0.0000 now=0.0000 - MIDI CC 7|82 default=0.0000 now=0.0000 - MIDI CC 7|83 default=0.0000 now=0.0000 - MIDI CC 7|84 default=0.0000 now=0.0000 - MIDI CC 7|85 default=0.0000 now=0.0000 - MIDI CC 7|86 default=0.0000 now=0.0000 - MIDI CC 7|87 default=0.0000 now=0.0000 - MIDI CC 7|88 default=0.0000 now=0.0000 - MIDI CC 7|89 default=0.0000 now=0.0000 - MIDI CC 7|90 default=0.0000 now=0.0000 - MIDI CC 7|91 default=0.0000 now=0.0000 - MIDI CC 7|92 default=0.0000 now=0.0000 - MIDI CC 7|93 default=0.0000 now=0.0000 - MIDI CC 7|94 default=0.0000 now=0.0000 - MIDI CC 7|95 default=0.0000 now=0.0000 - MIDI CC 7|96 default=0.0000 now=0.0000 - MIDI CC 7|97 default=0.0000 now=0.0000 - MIDI CC 7|98 default=0.0000 now=0.0000 - MIDI CC 7|99 default=0.0000 now=0.0000 - MIDI CC 7|100 default=0.0000 now=0.0000 - MIDI CC 7|101 default=0.0000 now=0.0000 - MIDI CC 7|102 default=0.0000 now=0.0000 - MIDI CC 7|103 default=0.0000 now=0.0000 - MIDI CC 7|104 default=0.0000 now=0.0000 - MIDI CC 7|105 default=0.0000 now=0.0000 - MIDI CC 7|106 default=0.0000 now=0.0000 - MIDI CC 7|107 default=0.0000 now=0.0000 - MIDI CC 7|108 default=0.0000 now=0.0000 - MIDI CC 7|109 default=0.0000 now=0.0000 - MIDI CC 7|110 default=0.0000 now=0.0000 - MIDI CC 7|111 default=0.0000 now=0.0000 - MIDI CC 7|112 default=0.0000 now=0.0000 - MIDI CC 7|113 default=0.0000 now=0.0000 - MIDI CC 7|114 default=0.0000 now=0.0000 - MIDI CC 7|115 default=0.0000 now=0.0000 - MIDI CC 7|116 default=0.0000 now=0.0000 - MIDI CC 7|117 default=0.0000 now=0.0000 - MIDI CC 7|118 default=0.0000 now=0.0000 - MIDI CC 7|119 default=0.0000 now=0.0000 - MIDI CC 7|120 default=0.0000 now=0.0000 - MIDI CC 7|121 default=0.0000 now=0.0000 - MIDI CC 7|122 default=0.0000 now=0.0000 - MIDI CC 7|123 default=0.0000 now=0.0000 - MIDI CC 7|124 default=0.0000 now=0.0000 - MIDI CC 7|125 default=0.0000 now=0.0000 - MIDI CC 7|126 default=0.0000 now=0.0000 - MIDI CC 7|127 default=0.0000 now=0.0000 - MIDI CC 7|128 default=0.0000 now=0.0000 - MIDI CC 7|129 default=0.0000 now=0.0000 - MIDI CC 8|0 default=0.0000 now=0.0000 - MIDI CC 8|1 default=0.0000 now=0.0000 - MIDI CC 8|2 default=0.0000 now=0.0000 - MIDI CC 8|3 default=0.0000 now=0.0000 - MIDI CC 8|4 default=0.0000 now=0.0000 - MIDI CC 8|5 default=0.0000 now=0.0000 - MIDI CC 8|6 default=0.0000 now=0.0000 - MIDI CC 8|7 default=0.0000 now=0.0000 - MIDI CC 8|8 default=0.0000 now=0.0000 - MIDI CC 8|9 default=0.0000 now=0.0000 - MIDI CC 8|10 default=0.0000 now=0.0000 - MIDI CC 8|11 default=0.0000 now=0.0000 - MIDI CC 8|12 default=0.0000 now=0.0000 - MIDI CC 8|13 default=0.0000 now=0.0000 - MIDI CC 8|14 default=0.0000 now=0.0000 - MIDI CC 8|15 default=0.0000 now=0.0000 - MIDI CC 8|16 default=0.0000 now=0.0000 - MIDI CC 8|17 default=0.0000 now=0.0000 - MIDI CC 8|18 default=0.0000 now=0.0000 - MIDI CC 8|19 default=0.0000 now=0.0000 - MIDI CC 8|20 default=0.0000 now=0.0000 - MIDI CC 8|21 default=0.0000 now=0.0000 - MIDI CC 8|22 default=0.0000 now=0.0000 - MIDI CC 8|23 default=0.0000 now=0.0000 - MIDI CC 8|24 default=0.0000 now=0.0000 - MIDI CC 8|25 default=0.0000 now=0.0000 - MIDI CC 8|26 default=0.0000 now=0.0000 - MIDI CC 8|27 default=0.0000 now=0.0000 - MIDI CC 8|28 default=0.0000 now=0.0000 - MIDI CC 8|29 default=0.0000 now=0.0000 - MIDI CC 8|30 default=0.0000 now=0.0000 - MIDI CC 8|31 default=0.0000 now=0.0000 - MIDI CC 8|32 default=0.0000 now=0.0000 - MIDI CC 8|33 default=0.0000 now=0.0000 - MIDI CC 8|34 default=0.0000 now=0.0000 - MIDI CC 8|35 default=0.0000 now=0.0000 - MIDI CC 8|36 default=0.0000 now=0.0000 - MIDI CC 8|37 default=0.0000 now=0.0000 - MIDI CC 8|38 default=0.0000 now=0.0000 - MIDI CC 8|39 default=0.0000 now=0.0000 - MIDI CC 8|40 default=0.0000 now=0.0000 - MIDI CC 8|41 default=0.0000 now=0.0000 - MIDI CC 8|42 default=0.0000 now=0.0000 - MIDI CC 8|43 default=0.0000 now=0.0000 - MIDI CC 8|44 default=0.0000 now=0.0000 - MIDI CC 8|45 default=0.0000 now=0.0000 - MIDI CC 8|46 default=0.0000 now=0.0000 - MIDI CC 8|47 default=0.0000 now=0.0000 - MIDI CC 8|48 default=0.0000 now=0.0000 - MIDI CC 8|49 default=0.0000 now=0.0000 - MIDI CC 8|50 default=0.0000 now=0.0000 - MIDI CC 8|51 default=0.0000 now=0.0000 - MIDI CC 8|52 default=0.0000 now=0.0000 - MIDI CC 8|53 default=0.0000 now=0.0000 - MIDI CC 8|54 default=0.0000 now=0.0000 - MIDI CC 8|55 default=0.0000 now=0.0000 - MIDI CC 8|56 default=0.0000 now=0.0000 - MIDI CC 8|57 default=0.0000 now=0.0000 - MIDI CC 8|58 default=0.0000 now=0.0000 - MIDI CC 8|59 default=0.0000 now=0.0000 - MIDI CC 8|60 default=0.0000 now=0.0000 - MIDI CC 8|61 default=0.0000 now=0.0000 - MIDI CC 8|62 default=0.0000 now=0.0000 - MIDI CC 8|63 default=0.0000 now=0.0000 - MIDI CC 8|64 default=0.0000 now=0.0000 - MIDI CC 8|65 default=0.0000 now=0.0000 - MIDI CC 8|66 default=0.0000 now=0.0000 - MIDI CC 8|67 default=0.0000 now=0.0000 - MIDI CC 8|68 default=0.0000 now=0.0000 - MIDI CC 8|69 default=0.0000 now=0.0000 - MIDI CC 8|70 default=0.0000 now=0.0000 - MIDI CC 8|71 default=0.0000 now=0.0000 - MIDI CC 8|72 default=0.0000 now=0.0000 - MIDI CC 8|73 default=0.0000 now=0.0000 - MIDI CC 8|74 default=0.0000 now=0.0000 - MIDI CC 8|75 default=0.0000 now=0.0000 - MIDI CC 8|76 default=0.0000 now=0.0000 - MIDI CC 8|77 default=0.0000 now=0.0000 - MIDI CC 8|78 default=0.0000 now=0.0000 - MIDI CC 8|79 default=0.0000 now=0.0000 - MIDI CC 8|80 default=0.0000 now=0.0000 - MIDI CC 8|81 default=0.0000 now=0.0000 - MIDI CC 8|82 default=0.0000 now=0.0000 - MIDI CC 8|83 default=0.0000 now=0.0000 - MIDI CC 8|84 default=0.0000 now=0.0000 - MIDI CC 8|85 default=0.0000 now=0.0000 - MIDI CC 8|86 default=0.0000 now=0.0000 - MIDI CC 8|87 default=0.0000 now=0.0000 - MIDI CC 8|88 default=0.0000 now=0.0000 - MIDI CC 8|89 default=0.0000 now=0.0000 - MIDI CC 8|90 default=0.0000 now=0.0000 - MIDI CC 8|91 default=0.0000 now=0.0000 - MIDI CC 8|92 default=0.0000 now=0.0000 - MIDI CC 8|93 default=0.0000 now=0.0000 - MIDI CC 8|94 default=0.0000 now=0.0000 - MIDI CC 8|95 default=0.0000 now=0.0000 - MIDI CC 8|96 default=0.0000 now=0.0000 - MIDI CC 8|97 default=0.0000 now=0.0000 - MIDI CC 8|98 default=0.0000 now=0.0000 - MIDI CC 8|99 default=0.0000 now=0.0000 - MIDI CC 8|100 default=0.0000 now=0.0000 - MIDI CC 8|101 default=0.0000 now=0.0000 - MIDI CC 8|102 default=0.0000 now=0.0000 - MIDI CC 8|103 default=0.0000 now=0.0000 - MIDI CC 8|104 default=0.0000 now=0.0000 - MIDI CC 8|105 default=0.0000 now=0.0000 - MIDI CC 8|106 default=0.0000 now=0.0000 - MIDI CC 8|107 default=0.0000 now=0.0000 - MIDI CC 8|108 default=0.0000 now=0.0000 - MIDI CC 8|109 default=0.0000 now=0.0000 - MIDI CC 8|110 default=0.0000 now=0.0000 - MIDI CC 8|111 default=0.0000 now=0.0000 - MIDI CC 8|112 default=0.0000 now=0.0000 - MIDI CC 8|113 default=0.0000 now=0.0000 - MIDI CC 8|114 default=0.0000 now=0.0000 - MIDI CC 8|115 default=0.0000 now=0.0000 - MIDI CC 8|116 default=0.0000 now=0.0000 - MIDI CC 8|117 default=0.0000 now=0.0000 - MIDI CC 8|118 default=0.0000 now=0.0000 - MIDI CC 8|119 default=0.0000 now=0.0000 - MIDI CC 8|120 default=0.0000 now=0.0000 - MIDI CC 8|121 default=0.0000 now=0.0000 - MIDI CC 8|122 default=0.0000 now=0.0000 - MIDI CC 8|123 default=0.0000 now=0.0000 - MIDI CC 8|124 default=0.0000 now=0.0000 - MIDI CC 8|125 default=0.0000 now=0.0000 - MIDI CC 8|126 default=0.0000 now=0.0000 - MIDI CC 8|127 default=0.0000 now=0.0000 - MIDI CC 8|128 default=0.0000 now=0.0000 - MIDI CC 8|129 default=0.0000 now=0.0000 - MIDI CC 9|0 default=0.0000 now=0.0000 - MIDI CC 9|1 default=0.0000 now=0.0000 - MIDI CC 9|2 default=0.0000 now=0.0000 - MIDI CC 9|3 default=0.0000 now=0.0000 - MIDI CC 9|4 default=0.0000 now=0.0000 - MIDI CC 9|5 default=0.0000 now=0.0000 - MIDI CC 9|6 default=0.0000 now=0.0000 - MIDI CC 9|7 default=0.0000 now=0.0000 - MIDI CC 9|8 default=0.0000 now=0.0000 - MIDI CC 9|9 default=0.0000 now=0.0000 - MIDI CC 9|10 default=0.0000 now=0.0000 - MIDI CC 9|11 default=0.0000 now=0.0000 - MIDI CC 9|12 default=0.0000 now=0.0000 - MIDI CC 9|13 default=0.0000 now=0.0000 - MIDI CC 9|14 default=0.0000 now=0.0000 - MIDI CC 9|15 default=0.0000 now=0.0000 - MIDI CC 9|16 default=0.0000 now=0.0000 - MIDI CC 9|17 default=0.0000 now=0.0000 - MIDI CC 9|18 default=0.0000 now=0.0000 - MIDI CC 9|19 default=0.0000 now=0.0000 - MIDI CC 9|20 default=0.0000 now=0.0000 - MIDI CC 9|21 default=0.0000 now=0.0000 - MIDI CC 9|22 default=0.0000 now=0.0000 - MIDI CC 9|23 default=0.0000 now=0.0000 - MIDI CC 9|24 default=0.0000 now=0.0000 - MIDI CC 9|25 default=0.0000 now=0.0000 - MIDI CC 9|26 default=0.0000 now=0.0000 - MIDI CC 9|27 default=0.0000 now=0.0000 - MIDI CC 9|28 default=0.0000 now=0.0000 - MIDI CC 9|29 default=0.0000 now=0.0000 - MIDI CC 9|30 default=0.0000 now=0.0000 - MIDI CC 9|31 default=0.0000 now=0.0000 - MIDI CC 9|32 default=0.0000 now=0.0000 - MIDI CC 9|33 default=0.0000 now=0.0000 - MIDI CC 9|34 default=0.0000 now=0.0000 - MIDI CC 9|35 default=0.0000 now=0.0000 - MIDI CC 9|36 default=0.0000 now=0.0000 - MIDI CC 9|37 default=0.0000 now=0.0000 - MIDI CC 9|38 default=0.0000 now=0.0000 - MIDI CC 9|39 default=0.0000 now=0.0000 - MIDI CC 9|40 default=0.0000 now=0.0000 - MIDI CC 9|41 default=0.0000 now=0.0000 - MIDI CC 9|42 default=0.0000 now=0.0000 - MIDI CC 9|43 default=0.0000 now=0.0000 - MIDI CC 9|44 default=0.0000 now=0.0000 - MIDI CC 9|45 default=0.0000 now=0.0000 - MIDI CC 9|46 default=0.0000 now=0.0000 - MIDI CC 9|47 default=0.0000 now=0.0000 - MIDI CC 9|48 default=0.0000 now=0.0000 - MIDI CC 9|49 default=0.0000 now=0.0000 - MIDI CC 9|50 default=0.0000 now=0.0000 - MIDI CC 9|51 default=0.0000 now=0.0000 - MIDI CC 9|52 default=0.0000 now=0.0000 - MIDI CC 9|53 default=0.0000 now=0.0000 - MIDI CC 9|54 default=0.0000 now=0.0000 - MIDI CC 9|55 default=0.0000 now=0.0000 - MIDI CC 9|56 default=0.0000 now=0.0000 - MIDI CC 9|57 default=0.0000 now=0.0000 - MIDI CC 9|58 default=0.0000 now=0.0000 - MIDI CC 9|59 default=0.0000 now=0.0000 - MIDI CC 9|60 default=0.0000 now=0.0000 - MIDI CC 9|61 default=0.0000 now=0.0000 - MIDI CC 9|62 default=0.0000 now=0.0000 - MIDI CC 9|63 default=0.0000 now=0.0000 - MIDI CC 9|64 default=0.0000 now=0.0000 - MIDI CC 9|65 default=0.0000 now=0.0000 - MIDI CC 9|66 default=0.0000 now=0.0000 - MIDI CC 9|67 default=0.0000 now=0.0000 - MIDI CC 9|68 default=0.0000 now=0.0000 - MIDI CC 9|69 default=0.0000 now=0.0000 - MIDI CC 9|70 default=0.0000 now=0.0000 - MIDI CC 9|71 default=0.0000 now=0.0000 - MIDI CC 9|72 default=0.0000 now=0.0000 - MIDI CC 9|73 default=0.0000 now=0.0000 - MIDI CC 9|74 default=0.0000 now=0.0000 - MIDI CC 9|75 default=0.0000 now=0.0000 - MIDI CC 9|76 default=0.0000 now=0.0000 - MIDI CC 9|77 default=0.0000 now=0.0000 - MIDI CC 9|78 default=0.0000 now=0.0000 - MIDI CC 9|79 default=0.0000 now=0.0000 - MIDI CC 9|80 default=0.0000 now=0.0000 - MIDI CC 9|81 default=0.0000 now=0.0000 - MIDI CC 9|82 default=0.0000 now=0.0000 - MIDI CC 9|83 default=0.0000 now=0.0000 - MIDI CC 9|84 default=0.0000 now=0.0000 - MIDI CC 9|85 default=0.0000 now=0.0000 - MIDI CC 9|86 default=0.0000 now=0.0000 - MIDI CC 9|87 default=0.0000 now=0.0000 - MIDI CC 9|88 default=0.0000 now=0.0000 - MIDI CC 9|89 default=0.0000 now=0.0000 - MIDI CC 9|90 default=0.0000 now=0.0000 - MIDI CC 9|91 default=0.0000 now=0.0000 - MIDI CC 9|92 default=0.0000 now=0.0000 - MIDI CC 9|93 default=0.0000 now=0.0000 - MIDI CC 9|94 default=0.0000 now=0.0000 - MIDI CC 9|95 default=0.0000 now=0.0000 - MIDI CC 9|96 default=0.0000 now=0.0000 - MIDI CC 9|97 default=0.0000 now=0.0000 - MIDI CC 9|98 default=0.0000 now=0.0000 - MIDI CC 9|99 default=0.0000 now=0.0000 - MIDI CC 9|100 default=0.0000 now=0.0000 - MIDI CC 9|101 default=0.0000 now=0.0000 - MIDI CC 9|102 default=0.0000 now=0.0000 - MIDI CC 9|103 default=0.0000 now=0.0000 - MIDI CC 9|104 default=0.0000 now=0.0000 - MIDI CC 9|105 default=0.0000 now=0.0000 - MIDI CC 9|106 default=0.0000 now=0.0000 - MIDI CC 9|107 default=0.0000 now=0.0000 - MIDI CC 9|108 default=0.0000 now=0.0000 - MIDI CC 9|109 default=0.0000 now=0.0000 - MIDI CC 9|110 default=0.0000 now=0.0000 - MIDI CC 9|111 default=0.0000 now=0.0000 - MIDI CC 9|112 default=0.0000 now=0.0000 - MIDI CC 9|113 default=0.0000 now=0.0000 - MIDI CC 9|114 default=0.0000 now=0.0000 - MIDI CC 9|115 default=0.0000 now=0.0000 - MIDI CC 9|116 default=0.0000 now=0.0000 - MIDI CC 9|117 default=0.0000 now=0.0000 - MIDI CC 9|118 default=0.0000 now=0.0000 - MIDI CC 9|119 default=0.0000 now=0.0000 - MIDI CC 9|120 default=0.0000 now=0.0000 - MIDI CC 9|121 default=0.0000 now=0.0000 - MIDI CC 9|122 default=0.0000 now=0.0000 - MIDI CC 9|123 default=0.0000 now=0.0000 - MIDI CC 9|124 default=0.0000 now=0.0000 - MIDI CC 9|125 default=0.0000 now=0.0000 - MIDI CC 9|126 default=0.0000 now=0.0000 - MIDI CC 9|127 default=0.0000 now=0.0000 - MIDI CC 9|128 default=0.0000 now=0.0000 - MIDI CC 9|129 default=0.0000 now=0.0000 - MIDI CC 10|0 default=0.0000 now=0.0000 - MIDI CC 10|1 default=0.0000 now=0.0000 - MIDI CC 10|2 default=0.0000 now=0.0000 - MIDI CC 10|3 default=0.0000 now=0.0000 - MIDI CC 10|4 default=0.0000 now=0.0000 - MIDI CC 10|5 default=0.0000 now=0.0000 - MIDI CC 10|6 default=0.0000 now=0.0000 - MIDI CC 10|7 default=0.0000 now=0.0000 - MIDI CC 10|8 default=0.0000 now=0.0000 - MIDI CC 10|9 default=0.0000 now=0.0000 - MIDI CC 10|10 default=0.0000 now=0.0000 - MIDI CC 10|11 default=0.0000 now=0.0000 - MIDI CC 10|12 default=0.0000 now=0.0000 - MIDI CC 10|13 default=0.0000 now=0.0000 - MIDI CC 10|14 default=0.0000 now=0.0000 - MIDI CC 10|15 default=0.0000 now=0.0000 - MIDI CC 10|16 default=0.0000 now=0.0000 - MIDI CC 10|17 default=0.0000 now=0.0000 - MIDI CC 10|18 default=0.0000 now=0.0000 - MIDI CC 10|19 default=0.0000 now=0.0000 - MIDI CC 10|20 default=0.0000 now=0.0000 - MIDI CC 10|21 default=0.0000 now=0.0000 - MIDI CC 10|22 default=0.0000 now=0.0000 - MIDI CC 10|23 default=0.0000 now=0.0000 - MIDI CC 10|24 default=0.0000 now=0.0000 - MIDI CC 10|25 default=0.0000 now=0.0000 - MIDI CC 10|26 default=0.0000 now=0.0000 - MIDI CC 10|27 default=0.0000 now=0.0000 - MIDI CC 10|28 default=0.0000 now=0.0000 - MIDI CC 10|29 default=0.0000 now=0.0000 - MIDI CC 10|30 default=0.0000 now=0.0000 - MIDI CC 10|31 default=0.0000 now=0.0000 - MIDI CC 10|32 default=0.0000 now=0.0000 - MIDI CC 10|33 default=0.0000 now=0.0000 - MIDI CC 10|34 default=0.0000 now=0.0000 - MIDI CC 10|35 default=0.0000 now=0.0000 - MIDI CC 10|36 default=0.0000 now=0.0000 - MIDI CC 10|37 default=0.0000 now=0.0000 - MIDI CC 10|38 default=0.0000 now=0.0000 - MIDI CC 10|39 default=0.0000 now=0.0000 - MIDI CC 10|40 default=0.0000 now=0.0000 - MIDI CC 10|41 default=0.0000 now=0.0000 - MIDI CC 10|42 default=0.0000 now=0.0000 - MIDI CC 10|43 default=0.0000 now=0.0000 - MIDI CC 10|44 default=0.0000 now=0.0000 - MIDI CC 10|45 default=0.0000 now=0.0000 - MIDI CC 10|46 default=0.0000 now=0.0000 - MIDI CC 10|47 default=0.0000 now=0.0000 - MIDI CC 10|48 default=0.0000 now=0.0000 - MIDI CC 10|49 default=0.0000 now=0.0000 - MIDI CC 10|50 default=0.0000 now=0.0000 - MIDI CC 10|51 default=0.0000 now=0.0000 - MIDI CC 10|52 default=0.0000 now=0.0000 - MIDI CC 10|53 default=0.0000 now=0.0000 - MIDI CC 10|54 default=0.0000 now=0.0000 - MIDI CC 10|55 default=0.0000 now=0.0000 - MIDI CC 10|56 default=0.0000 now=0.0000 - MIDI CC 10|57 default=0.0000 now=0.0000 - MIDI CC 10|58 default=0.0000 now=0.0000 - MIDI CC 10|59 default=0.0000 now=0.0000 - MIDI CC 10|60 default=0.0000 now=0.0000 - MIDI CC 10|61 default=0.0000 now=0.0000 - MIDI CC 10|62 default=0.0000 now=0.0000 - MIDI CC 10|63 default=0.0000 now=0.0000 - MIDI CC 10|64 default=0.0000 now=0.0000 - MIDI CC 10|65 default=0.0000 now=0.0000 - MIDI CC 10|66 default=0.0000 now=0.0000 - MIDI CC 10|67 default=0.0000 now=0.0000 - MIDI CC 10|68 default=0.0000 now=0.0000 - MIDI CC 10|69 default=0.0000 now=0.0000 - MIDI CC 10|70 default=0.0000 now=0.0000 - MIDI CC 10|71 default=0.0000 now=0.0000 - MIDI CC 10|72 default=0.0000 now=0.0000 - MIDI CC 10|73 default=0.0000 now=0.0000 - MIDI CC 10|74 default=0.0000 now=0.0000 - MIDI CC 10|75 default=0.0000 now=0.0000 - MIDI CC 10|76 default=0.0000 now=0.0000 - MIDI CC 10|77 default=0.0000 now=0.0000 - MIDI CC 10|78 default=0.0000 now=0.0000 - MIDI CC 10|79 default=0.0000 now=0.0000 - MIDI CC 10|80 default=0.0000 now=0.0000 - MIDI CC 10|81 default=0.0000 now=0.0000 - MIDI CC 10|82 default=0.0000 now=0.0000 - MIDI CC 10|83 default=0.0000 now=0.0000 - MIDI CC 10|84 default=0.0000 now=0.0000 - MIDI CC 10|85 default=0.0000 now=0.0000 - MIDI CC 10|86 default=0.0000 now=0.0000 - MIDI CC 10|87 default=0.0000 now=0.0000 - MIDI CC 10|88 default=0.0000 now=0.0000 - MIDI CC 10|89 default=0.0000 now=0.0000 - MIDI CC 10|90 default=0.0000 now=0.0000 - MIDI CC 10|91 default=0.0000 now=0.0000 - MIDI CC 10|92 default=0.0000 now=0.0000 - MIDI CC 10|93 default=0.0000 now=0.0000 - MIDI CC 10|94 default=0.0000 now=0.0000 - MIDI CC 10|95 default=0.0000 now=0.0000 - MIDI CC 10|96 default=0.0000 now=0.0000 - MIDI CC 10|97 default=0.0000 now=0.0000 - MIDI CC 10|98 default=0.0000 now=0.0000 - MIDI CC 10|99 default=0.0000 now=0.0000 - MIDI CC 10|100 default=0.0000 now=0.0000 - MIDI CC 10|101 default=0.0000 now=0.0000 - MIDI CC 10|102 default=0.0000 now=0.0000 - MIDI CC 10|103 default=0.0000 now=0.0000 - MIDI CC 10|104 default=0.0000 now=0.0000 - MIDI CC 10|105 default=0.0000 now=0.0000 - MIDI CC 10|106 default=0.0000 now=0.0000 - MIDI CC 10|107 default=0.0000 now=0.0000 - MIDI CC 10|108 default=0.0000 now=0.0000 - MIDI CC 10|109 default=0.0000 now=0.0000 - MIDI CC 10|110 default=0.0000 now=0.0000 - MIDI CC 10|111 default=0.0000 now=0.0000 - MIDI CC 10|112 default=0.0000 now=0.0000 - MIDI CC 10|113 default=0.0000 now=0.0000 - MIDI CC 10|114 default=0.0000 now=0.0000 - MIDI CC 10|115 default=0.0000 now=0.0000 - MIDI CC 10|116 default=0.0000 now=0.0000 - MIDI CC 10|117 default=0.0000 now=0.0000 - MIDI CC 10|118 default=0.0000 now=0.0000 - MIDI CC 10|119 default=0.0000 now=0.0000 - MIDI CC 10|120 default=0.0000 now=0.0000 - MIDI CC 10|121 default=0.0000 now=0.0000 - MIDI CC 10|122 default=0.0000 now=0.0000 - MIDI CC 10|123 default=0.0000 now=0.0000 - MIDI CC 10|124 default=0.0000 now=0.0000 - MIDI CC 10|125 default=0.0000 now=0.0000 - MIDI CC 10|126 default=0.0000 now=0.0000 - MIDI CC 10|127 default=0.0000 now=0.0000 - MIDI CC 10|128 default=0.0000 now=0.0000 - MIDI CC 10|129 default=0.0000 now=0.0000 - MIDI CC 11|0 default=0.0000 now=0.0000 - MIDI CC 11|1 default=0.0000 now=0.0000 - MIDI CC 11|2 default=0.0000 now=0.0000 - MIDI CC 11|3 default=0.0000 now=0.0000 - MIDI CC 11|4 default=0.0000 now=0.0000 - MIDI CC 11|5 default=0.0000 now=0.0000 - MIDI CC 11|6 default=0.0000 now=0.0000 - MIDI CC 11|7 default=0.0000 now=0.0000 - MIDI CC 11|8 default=0.0000 now=0.0000 - MIDI CC 11|9 default=0.0000 now=0.0000 - MIDI CC 11|10 default=0.0000 now=0.0000 - MIDI CC 11|11 default=0.0000 now=0.0000 - MIDI CC 11|12 default=0.0000 now=0.0000 - MIDI CC 11|13 default=0.0000 now=0.0000 - MIDI CC 11|14 default=0.0000 now=0.0000 - MIDI CC 11|15 default=0.0000 now=0.0000 - MIDI CC 11|16 default=0.0000 now=0.0000 - MIDI CC 11|17 default=0.0000 now=0.0000 - MIDI CC 11|18 default=0.0000 now=0.0000 - MIDI CC 11|19 default=0.0000 now=0.0000 - MIDI CC 11|20 default=0.0000 now=0.0000 - MIDI CC 11|21 default=0.0000 now=0.0000 - MIDI CC 11|22 default=0.0000 now=0.0000 - MIDI CC 11|23 default=0.0000 now=0.0000 - MIDI CC 11|24 default=0.0000 now=0.0000 - MIDI CC 11|25 default=0.0000 now=0.0000 - MIDI CC 11|26 default=0.0000 now=0.0000 - MIDI CC 11|27 default=0.0000 now=0.0000 - MIDI CC 11|28 default=0.0000 now=0.0000 - MIDI CC 11|29 default=0.0000 now=0.0000 - MIDI CC 11|30 default=0.0000 now=0.0000 - MIDI CC 11|31 default=0.0000 now=0.0000 - MIDI CC 11|32 default=0.0000 now=0.0000 - MIDI CC 11|33 default=0.0000 now=0.0000 - MIDI CC 11|34 default=0.0000 now=0.0000 - MIDI CC 11|35 default=0.0000 now=0.0000 - MIDI CC 11|36 default=0.0000 now=0.0000 - MIDI CC 11|37 default=0.0000 now=0.0000 - MIDI CC 11|38 default=0.0000 now=0.0000 - MIDI CC 11|39 default=0.0000 now=0.0000 - MIDI CC 11|40 default=0.0000 now=0.0000 - MIDI CC 11|41 default=0.0000 now=0.0000 - MIDI CC 11|42 default=0.0000 now=0.0000 - MIDI CC 11|43 default=0.0000 now=0.0000 - MIDI CC 11|44 default=0.0000 now=0.0000 - MIDI CC 11|45 default=0.0000 now=0.0000 - MIDI CC 11|46 default=0.0000 now=0.0000 - MIDI CC 11|47 default=0.0000 now=0.0000 - MIDI CC 11|48 default=0.0000 now=0.0000 - MIDI CC 11|49 default=0.0000 now=0.0000 - MIDI CC 11|50 default=0.0000 now=0.0000 - MIDI CC 11|51 default=0.0000 now=0.0000 - MIDI CC 11|52 default=0.0000 now=0.0000 - MIDI CC 11|53 default=0.0000 now=0.0000 - MIDI CC 11|54 default=0.0000 now=0.0000 - MIDI CC 11|55 default=0.0000 now=0.0000 - MIDI CC 11|56 default=0.0000 now=0.0000 - MIDI CC 11|57 default=0.0000 now=0.0000 - MIDI CC 11|58 default=0.0000 now=0.0000 - MIDI CC 11|59 default=0.0000 now=0.0000 - MIDI CC 11|60 default=0.0000 now=0.0000 - MIDI CC 11|61 default=0.0000 now=0.0000 - MIDI CC 11|62 default=0.0000 now=0.0000 - MIDI CC 11|63 default=0.0000 now=0.0000 - MIDI CC 11|64 default=0.0000 now=0.0000 - MIDI CC 11|65 default=0.0000 now=0.0000 - MIDI CC 11|66 default=0.0000 now=0.0000 - MIDI CC 11|67 default=0.0000 now=0.0000 - MIDI CC 11|68 default=0.0000 now=0.0000 - MIDI CC 11|69 default=0.0000 now=0.0000 - MIDI CC 11|70 default=0.0000 now=0.0000 - MIDI CC 11|71 default=0.0000 now=0.0000 - MIDI CC 11|72 default=0.0000 now=0.0000 - MIDI CC 11|73 default=0.0000 now=0.0000 - MIDI CC 11|74 default=0.0000 now=0.0000 - MIDI CC 11|75 default=0.0000 now=0.0000 - MIDI CC 11|76 default=0.0000 now=0.0000 - MIDI CC 11|77 default=0.0000 now=0.0000 - MIDI CC 11|78 default=0.0000 now=0.0000 - MIDI CC 11|79 default=0.0000 now=0.0000 - MIDI CC 11|80 default=0.0000 now=0.0000 - MIDI CC 11|81 default=0.0000 now=0.0000 - MIDI CC 11|82 default=0.0000 now=0.0000 - MIDI CC 11|83 default=0.0000 now=0.0000 - MIDI CC 11|84 default=0.0000 now=0.0000 - MIDI CC 11|85 default=0.0000 now=0.0000 - MIDI CC 11|86 default=0.0000 now=0.0000 - MIDI CC 11|87 default=0.0000 now=0.0000 - MIDI CC 11|88 default=0.0000 now=0.0000 - MIDI CC 11|89 default=0.0000 now=0.0000 - MIDI CC 11|90 default=0.0000 now=0.0000 - MIDI CC 11|91 default=0.0000 now=0.0000 - MIDI CC 11|92 default=0.0000 now=0.0000 - MIDI CC 11|93 default=0.0000 now=0.0000 - MIDI CC 11|94 default=0.0000 now=0.0000 - MIDI CC 11|95 default=0.0000 now=0.0000 - MIDI CC 11|96 default=0.0000 now=0.0000 - MIDI CC 11|97 default=0.0000 now=0.0000 - MIDI CC 11|98 default=0.0000 now=0.0000 - MIDI CC 11|99 default=0.0000 now=0.0000 - MIDI CC 11|100 default=0.0000 now=0.0000 - MIDI CC 11|101 default=0.0000 now=0.0000 - MIDI CC 11|102 default=0.0000 now=0.0000 - MIDI CC 11|103 default=0.0000 now=0.0000 - MIDI CC 11|104 default=0.0000 now=0.0000 - MIDI CC 11|105 default=0.0000 now=0.0000 - MIDI CC 11|106 default=0.0000 now=0.0000 - MIDI CC 11|107 default=0.0000 now=0.0000 - MIDI CC 11|108 default=0.0000 now=0.0000 - MIDI CC 11|109 default=0.0000 now=0.0000 - MIDI CC 11|110 default=0.0000 now=0.0000 - MIDI CC 11|111 default=0.0000 now=0.0000 - MIDI CC 11|112 default=0.0000 now=0.0000 - MIDI CC 11|113 default=0.0000 now=0.0000 - MIDI CC 11|114 default=0.0000 now=0.0000 - MIDI CC 11|115 default=0.0000 now=0.0000 - MIDI CC 11|116 default=0.0000 now=0.0000 - MIDI CC 11|117 default=0.0000 now=0.0000 - MIDI CC 11|118 default=0.0000 now=0.0000 - MIDI CC 11|119 default=0.0000 now=0.0000 - MIDI CC 11|120 default=0.0000 now=0.0000 - MIDI CC 11|121 default=0.0000 now=0.0000 - MIDI CC 11|122 default=0.0000 now=0.0000 - MIDI CC 11|123 default=0.0000 now=0.0000 - MIDI CC 11|124 default=0.0000 now=0.0000 - MIDI CC 11|125 default=0.0000 now=0.0000 - MIDI CC 11|126 default=0.0000 now=0.0000 - MIDI CC 11|127 default=0.0000 now=0.0000 - MIDI CC 11|128 default=0.0000 now=0.0000 - MIDI CC 11|129 default=0.0000 now=0.0000 - MIDI CC 12|0 default=0.0000 now=0.0000 - MIDI CC 12|1 default=0.0000 now=0.0000 - MIDI CC 12|2 default=0.0000 now=0.0000 - MIDI CC 12|3 default=0.0000 now=0.0000 - MIDI CC 12|4 default=0.0000 now=0.0000 - MIDI CC 12|5 default=0.0000 now=0.0000 - MIDI CC 12|6 default=0.0000 now=0.0000 - MIDI CC 12|7 default=0.0000 now=0.0000 - MIDI CC 12|8 default=0.0000 now=0.0000 - MIDI CC 12|9 default=0.0000 now=0.0000 - MIDI CC 12|10 default=0.0000 now=0.0000 - MIDI CC 12|11 default=0.0000 now=0.0000 - MIDI CC 12|12 default=0.0000 now=0.0000 - MIDI CC 12|13 default=0.0000 now=0.0000 - MIDI CC 12|14 default=0.0000 now=0.0000 - MIDI CC 12|15 default=0.0000 now=0.0000 - MIDI CC 12|16 default=0.0000 now=0.0000 - MIDI CC 12|17 default=0.0000 now=0.0000 - MIDI CC 12|18 default=0.0000 now=0.0000 - MIDI CC 12|19 default=0.0000 now=0.0000 - MIDI CC 12|20 default=0.0000 now=0.0000 - MIDI CC 12|21 default=0.0000 now=0.0000 - MIDI CC 12|22 default=0.0000 now=0.0000 - MIDI CC 12|23 default=0.0000 now=0.0000 - MIDI CC 12|24 default=0.0000 now=0.0000 - MIDI CC 12|25 default=0.0000 now=0.0000 - MIDI CC 12|26 default=0.0000 now=0.0000 - MIDI CC 12|27 default=0.0000 now=0.0000 - MIDI CC 12|28 default=0.0000 now=0.0000 - MIDI CC 12|29 default=0.0000 now=0.0000 - MIDI CC 12|30 default=0.0000 now=0.0000 - MIDI CC 12|31 default=0.0000 now=0.0000 - MIDI CC 12|32 default=0.0000 now=0.0000 - MIDI CC 12|33 default=0.0000 now=0.0000 - MIDI CC 12|34 default=0.0000 now=0.0000 - MIDI CC 12|35 default=0.0000 now=0.0000 - MIDI CC 12|36 default=0.0000 now=0.0000 - MIDI CC 12|37 default=0.0000 now=0.0000 - MIDI CC 12|38 default=0.0000 now=0.0000 - MIDI CC 12|39 default=0.0000 now=0.0000 - MIDI CC 12|40 default=0.0000 now=0.0000 - MIDI CC 12|41 default=0.0000 now=0.0000 - MIDI CC 12|42 default=0.0000 now=0.0000 - MIDI CC 12|43 default=0.0000 now=0.0000 - MIDI CC 12|44 default=0.0000 now=0.0000 - MIDI CC 12|45 default=0.0000 now=0.0000 - MIDI CC 12|46 default=0.0000 now=0.0000 - MIDI CC 12|47 default=0.0000 now=0.0000 - MIDI CC 12|48 default=0.0000 now=0.0000 - MIDI CC 12|49 default=0.0000 now=0.0000 - MIDI CC 12|50 default=0.0000 now=0.0000 - MIDI CC 12|51 default=0.0000 now=0.0000 - MIDI CC 12|52 default=0.0000 now=0.0000 - MIDI CC 12|53 default=0.0000 now=0.0000 - MIDI CC 12|54 default=0.0000 now=0.0000 - MIDI CC 12|55 default=0.0000 now=0.0000 - MIDI CC 12|56 default=0.0000 now=0.0000 - MIDI CC 12|57 default=0.0000 now=0.0000 - MIDI CC 12|58 default=0.0000 now=0.0000 - MIDI CC 12|59 default=0.0000 now=0.0000 - MIDI CC 12|60 default=0.0000 now=0.0000 - MIDI CC 12|61 default=0.0000 now=0.0000 - MIDI CC 12|62 default=0.0000 now=0.0000 - MIDI CC 12|63 default=0.0000 now=0.0000 - MIDI CC 12|64 default=0.0000 now=0.0000 - MIDI CC 12|65 default=0.0000 now=0.0000 - MIDI CC 12|66 default=0.0000 now=0.0000 - MIDI CC 12|67 default=0.0000 now=0.0000 - MIDI CC 12|68 default=0.0000 now=0.0000 - MIDI CC 12|69 default=0.0000 now=0.0000 - MIDI CC 12|70 default=0.0000 now=0.0000 - MIDI CC 12|71 default=0.0000 now=0.0000 - MIDI CC 12|72 default=0.0000 now=0.0000 - MIDI CC 12|73 default=0.0000 now=0.0000 - MIDI CC 12|74 default=0.0000 now=0.0000 - MIDI CC 12|75 default=0.0000 now=0.0000 - MIDI CC 12|76 default=0.0000 now=0.0000 - MIDI CC 12|77 default=0.0000 now=0.0000 - MIDI CC 12|78 default=0.0000 now=0.0000 - MIDI CC 12|79 default=0.0000 now=0.0000 - MIDI CC 12|80 default=0.0000 now=0.0000 - MIDI CC 12|81 default=0.0000 now=0.0000 - MIDI CC 12|82 default=0.0000 now=0.0000 - MIDI CC 12|83 default=0.0000 now=0.0000 - MIDI CC 12|84 default=0.0000 now=0.0000 - MIDI CC 12|85 default=0.0000 now=0.0000 - MIDI CC 12|86 default=0.0000 now=0.0000 - MIDI CC 12|87 default=0.0000 now=0.0000 - MIDI CC 12|88 default=0.0000 now=0.0000 - MIDI CC 12|89 default=0.0000 now=0.0000 - MIDI CC 12|90 default=0.0000 now=0.0000 - MIDI CC 12|91 default=0.0000 now=0.0000 - MIDI CC 12|92 default=0.0000 now=0.0000 - MIDI CC 12|93 default=0.0000 now=0.0000 - MIDI CC 12|94 default=0.0000 now=0.0000 - MIDI CC 12|95 default=0.0000 now=0.0000 - MIDI CC 12|96 default=0.0000 now=0.0000 - MIDI CC 12|97 default=0.0000 now=0.0000 - MIDI CC 12|98 default=0.0000 now=0.0000 - MIDI CC 12|99 default=0.0000 now=0.0000 - MIDI CC 12|100 default=0.0000 now=0.0000 - MIDI CC 12|101 default=0.0000 now=0.0000 - MIDI CC 12|102 default=0.0000 now=0.0000 - MIDI CC 12|103 default=0.0000 now=0.0000 - MIDI CC 12|104 default=0.0000 now=0.0000 - MIDI CC 12|105 default=0.0000 now=0.0000 - MIDI CC 12|106 default=0.0000 now=0.0000 - MIDI CC 12|107 default=0.0000 now=0.0000 - MIDI CC 12|108 default=0.0000 now=0.0000 - MIDI CC 12|109 default=0.0000 now=0.0000 - MIDI CC 12|110 default=0.0000 now=0.0000 - MIDI CC 12|111 default=0.0000 now=0.0000 - MIDI CC 12|112 default=0.0000 now=0.0000 - MIDI CC 12|113 default=0.0000 now=0.0000 - MIDI CC 12|114 default=0.0000 now=0.0000 - MIDI CC 12|115 default=0.0000 now=0.0000 - MIDI CC 12|116 default=0.0000 now=0.0000 - MIDI CC 12|117 default=0.0000 now=0.0000 - MIDI CC 12|118 default=0.0000 now=0.0000 - MIDI CC 12|119 default=0.0000 now=0.0000 - MIDI CC 12|120 default=0.0000 now=0.0000 - MIDI CC 12|121 default=0.0000 now=0.0000 - MIDI CC 12|122 default=0.0000 now=0.0000 - MIDI CC 12|123 default=0.0000 now=0.0000 - MIDI CC 12|124 default=0.0000 now=0.0000 - MIDI CC 12|125 default=0.0000 now=0.0000 - MIDI CC 12|126 default=0.0000 now=0.0000 - MIDI CC 12|127 default=0.0000 now=0.0000 - MIDI CC 12|128 default=0.0000 now=0.0000 - MIDI CC 12|129 default=0.0000 now=0.0000 - MIDI CC 13|0 default=0.0000 now=0.0000 - MIDI CC 13|1 default=0.0000 now=0.0000 - MIDI CC 13|2 default=0.0000 now=0.0000 - MIDI CC 13|3 default=0.0000 now=0.0000 - MIDI CC 13|4 default=0.0000 now=0.0000 - MIDI CC 13|5 default=0.0000 now=0.0000 - MIDI CC 13|6 default=0.0000 now=0.0000 - MIDI CC 13|7 default=0.0000 now=0.0000 - MIDI CC 13|8 default=0.0000 now=0.0000 - MIDI CC 13|9 default=0.0000 now=0.0000 - MIDI CC 13|10 default=0.0000 now=0.0000 - MIDI CC 13|11 default=0.0000 now=0.0000 - MIDI CC 13|12 default=0.0000 now=0.0000 - MIDI CC 13|13 default=0.0000 now=0.0000 - MIDI CC 13|14 default=0.0000 now=0.0000 - MIDI CC 13|15 default=0.0000 now=0.0000 - MIDI CC 13|16 default=0.0000 now=0.0000 - MIDI CC 13|17 default=0.0000 now=0.0000 - MIDI CC 13|18 default=0.0000 now=0.0000 - MIDI CC 13|19 default=0.0000 now=0.0000 - MIDI CC 13|20 default=0.0000 now=0.0000 - MIDI CC 13|21 default=0.0000 now=0.0000 - MIDI CC 13|22 default=0.0000 now=0.0000 - MIDI CC 13|23 default=0.0000 now=0.0000 - MIDI CC 13|24 default=0.0000 now=0.0000 - MIDI CC 13|25 default=0.0000 now=0.0000 - MIDI CC 13|26 default=0.0000 now=0.0000 - MIDI CC 13|27 default=0.0000 now=0.0000 - MIDI CC 13|28 default=0.0000 now=0.0000 - MIDI CC 13|29 default=0.0000 now=0.0000 - MIDI CC 13|30 default=0.0000 now=0.0000 - MIDI CC 13|31 default=0.0000 now=0.0000 - MIDI CC 13|32 default=0.0000 now=0.0000 - MIDI CC 13|33 default=0.0000 now=0.0000 - MIDI CC 13|34 default=0.0000 now=0.0000 - MIDI CC 13|35 default=0.0000 now=0.0000 - MIDI CC 13|36 default=0.0000 now=0.0000 - MIDI CC 13|37 default=0.0000 now=0.0000 - MIDI CC 13|38 default=0.0000 now=0.0000 - MIDI CC 13|39 default=0.0000 now=0.0000 - MIDI CC 13|40 default=0.0000 now=0.0000 - MIDI CC 13|41 default=0.0000 now=0.0000 - MIDI CC 13|42 default=0.0000 now=0.0000 - MIDI CC 13|43 default=0.0000 now=0.0000 - MIDI CC 13|44 default=0.0000 now=0.0000 - MIDI CC 13|45 default=0.0000 now=0.0000 - MIDI CC 13|46 default=0.0000 now=0.0000 - MIDI CC 13|47 default=0.0000 now=0.0000 - MIDI CC 13|48 default=0.0000 now=0.0000 - MIDI CC 13|49 default=0.0000 now=0.0000 - MIDI CC 13|50 default=0.0000 now=0.0000 - MIDI CC 13|51 default=0.0000 now=0.0000 - MIDI CC 13|52 default=0.0000 now=0.0000 - MIDI CC 13|53 default=0.0000 now=0.0000 - MIDI CC 13|54 default=0.0000 now=0.0000 - MIDI CC 13|55 default=0.0000 now=0.0000 - MIDI CC 13|56 default=0.0000 now=0.0000 - MIDI CC 13|57 default=0.0000 now=0.0000 - MIDI CC 13|58 default=0.0000 now=0.0000 - MIDI CC 13|59 default=0.0000 now=0.0000 - MIDI CC 13|60 default=0.0000 now=0.0000 - MIDI CC 13|61 default=0.0000 now=0.0000 - MIDI CC 13|62 default=0.0000 now=0.0000 - MIDI CC 13|63 default=0.0000 now=0.0000 - MIDI CC 13|64 default=0.0000 now=0.0000 - MIDI CC 13|65 default=0.0000 now=0.0000 - MIDI CC 13|66 default=0.0000 now=0.0000 - MIDI CC 13|67 default=0.0000 now=0.0000 - MIDI CC 13|68 default=0.0000 now=0.0000 - MIDI CC 13|69 default=0.0000 now=0.0000 - MIDI CC 13|70 default=0.0000 now=0.0000 - MIDI CC 13|71 default=0.0000 now=0.0000 - MIDI CC 13|72 default=0.0000 now=0.0000 - MIDI CC 13|73 default=0.0000 now=0.0000 - MIDI CC 13|74 default=0.0000 now=0.0000 - MIDI CC 13|75 default=0.0000 now=0.0000 - MIDI CC 13|76 default=0.0000 now=0.0000 - MIDI CC 13|77 default=0.0000 now=0.0000 - MIDI CC 13|78 default=0.0000 now=0.0000 - MIDI CC 13|79 default=0.0000 now=0.0000 - MIDI CC 13|80 default=0.0000 now=0.0000 - MIDI CC 13|81 default=0.0000 now=0.0000 - MIDI CC 13|82 default=0.0000 now=0.0000 - MIDI CC 13|83 default=0.0000 now=0.0000 - MIDI CC 13|84 default=0.0000 now=0.0000 - MIDI CC 13|85 default=0.0000 now=0.0000 - MIDI CC 13|86 default=0.0000 now=0.0000 - MIDI CC 13|87 default=0.0000 now=0.0000 - MIDI CC 13|88 default=0.0000 now=0.0000 - MIDI CC 13|89 default=0.0000 now=0.0000 - MIDI CC 13|90 default=0.0000 now=0.0000 - MIDI CC 13|91 default=0.0000 now=0.0000 - MIDI CC 13|92 default=0.0000 now=0.0000 - MIDI CC 13|93 default=0.0000 now=0.0000 - MIDI CC 13|94 default=0.0000 now=0.0000 - MIDI CC 13|95 default=0.0000 now=0.0000 - MIDI CC 13|96 default=0.0000 now=0.0000 - MIDI CC 13|97 default=0.0000 now=0.0000 - MIDI CC 13|98 default=0.0000 now=0.0000 - MIDI CC 13|99 default=0.0000 now=0.0000 - MIDI CC 13|100 default=0.0000 now=0.0000 - MIDI CC 13|101 default=0.0000 now=0.0000 - MIDI CC 13|102 default=0.0000 now=0.0000 - MIDI CC 13|103 default=0.0000 now=0.0000 - MIDI CC 13|104 default=0.0000 now=0.0000 - MIDI CC 13|105 default=0.0000 now=0.0000 - MIDI CC 13|106 default=0.0000 now=0.0000 - MIDI CC 13|107 default=0.0000 now=0.0000 - MIDI CC 13|108 default=0.0000 now=0.0000 - MIDI CC 13|109 default=0.0000 now=0.0000 - MIDI CC 13|110 default=0.0000 now=0.0000 - MIDI CC 13|111 default=0.0000 now=0.0000 - MIDI CC 13|112 default=0.0000 now=0.0000 - MIDI CC 13|113 default=0.0000 now=0.0000 - MIDI CC 13|114 default=0.0000 now=0.0000 - MIDI CC 13|115 default=0.0000 now=0.0000 - MIDI CC 13|116 default=0.0000 now=0.0000 - MIDI CC 13|117 default=0.0000 now=0.0000 - MIDI CC 13|118 default=0.0000 now=0.0000 - MIDI CC 13|119 default=0.0000 now=0.0000 - MIDI CC 13|120 default=0.0000 now=0.0000 - MIDI CC 13|121 default=0.0000 now=0.0000 - MIDI CC 13|122 default=0.0000 now=0.0000 - MIDI CC 13|123 default=0.0000 now=0.0000 - MIDI CC 13|124 default=0.0000 now=0.0000 - MIDI CC 13|125 default=0.0000 now=0.0000 - MIDI CC 13|126 default=0.0000 now=0.0000 - MIDI CC 13|127 default=0.0000 now=0.0000 - MIDI CC 13|128 default=0.0000 now=0.0000 - MIDI CC 13|129 default=0.0000 now=0.0000 - MIDI CC 14|0 default=0.0000 now=0.0000 - MIDI CC 14|1 default=0.0000 now=0.0000 - MIDI CC 14|2 default=0.0000 now=0.0000 - MIDI CC 14|3 default=0.0000 now=0.0000 - MIDI CC 14|4 default=0.0000 now=0.0000 - MIDI CC 14|5 default=0.0000 now=0.0000 - MIDI CC 14|6 default=0.0000 now=0.0000 - MIDI CC 14|7 default=0.0000 now=0.0000 - MIDI CC 14|8 default=0.0000 now=0.0000 - MIDI CC 14|9 default=0.0000 now=0.0000 - MIDI CC 14|10 default=0.0000 now=0.0000 - MIDI CC 14|11 default=0.0000 now=0.0000 - MIDI CC 14|12 default=0.0000 now=0.0000 - MIDI CC 14|13 default=0.0000 now=0.0000 - MIDI CC 14|14 default=0.0000 now=0.0000 - MIDI CC 14|15 default=0.0000 now=0.0000 - MIDI CC 14|16 default=0.0000 now=0.0000 - MIDI CC 14|17 default=0.0000 now=0.0000 - MIDI CC 14|18 default=0.0000 now=0.0000 - MIDI CC 14|19 default=0.0000 now=0.0000 - MIDI CC 14|20 default=0.0000 now=0.0000 - MIDI CC 14|21 default=0.0000 now=0.0000 - MIDI CC 14|22 default=0.0000 now=0.0000 - MIDI CC 14|23 default=0.0000 now=0.0000 - MIDI CC 14|24 default=0.0000 now=0.0000 - MIDI CC 14|25 default=0.0000 now=0.0000 - MIDI CC 14|26 default=0.0000 now=0.0000 - MIDI CC 14|27 default=0.0000 now=0.0000 - MIDI CC 14|28 default=0.0000 now=0.0000 - MIDI CC 14|29 default=0.0000 now=0.0000 - MIDI CC 14|30 default=0.0000 now=0.0000 - MIDI CC 14|31 default=0.0000 now=0.0000 - MIDI CC 14|32 default=0.0000 now=0.0000 - MIDI CC 14|33 default=0.0000 now=0.0000 - MIDI CC 14|34 default=0.0000 now=0.0000 - MIDI CC 14|35 default=0.0000 now=0.0000 - MIDI CC 14|36 default=0.0000 now=0.0000 - MIDI CC 14|37 default=0.0000 now=0.0000 - MIDI CC 14|38 default=0.0000 now=0.0000 - MIDI CC 14|39 default=0.0000 now=0.0000 - MIDI CC 14|40 default=0.0000 now=0.0000 - MIDI CC 14|41 default=0.0000 now=0.0000 - MIDI CC 14|42 default=0.0000 now=0.0000 - MIDI CC 14|43 default=0.0000 now=0.0000 - MIDI CC 14|44 default=0.0000 now=0.0000 - MIDI CC 14|45 default=0.0000 now=0.0000 - MIDI CC 14|46 default=0.0000 now=0.0000 - MIDI CC 14|47 default=0.0000 now=0.0000 - MIDI CC 14|48 default=0.0000 now=0.0000 - MIDI CC 14|49 default=0.0000 now=0.0000 - MIDI CC 14|50 default=0.0000 now=0.0000 - MIDI CC 14|51 default=0.0000 now=0.0000 - MIDI CC 14|52 default=0.0000 now=0.0000 - MIDI CC 14|53 default=0.0000 now=0.0000 - MIDI CC 14|54 default=0.0000 now=0.0000 - MIDI CC 14|55 default=0.0000 now=0.0000 - MIDI CC 14|56 default=0.0000 now=0.0000 - MIDI CC 14|57 default=0.0000 now=0.0000 - MIDI CC 14|58 default=0.0000 now=0.0000 - MIDI CC 14|59 default=0.0000 now=0.0000 - MIDI CC 14|60 default=0.0000 now=0.0000 - MIDI CC 14|61 default=0.0000 now=0.0000 - MIDI CC 14|62 default=0.0000 now=0.0000 - MIDI CC 14|63 default=0.0000 now=0.0000 - MIDI CC 14|64 default=0.0000 now=0.0000 - MIDI CC 14|65 default=0.0000 now=0.0000 - MIDI CC 14|66 default=0.0000 now=0.0000 - MIDI CC 14|67 default=0.0000 now=0.0000 - MIDI CC 14|68 default=0.0000 now=0.0000 - MIDI CC 14|69 default=0.0000 now=0.0000 - MIDI CC 14|70 default=0.0000 now=0.0000 - MIDI CC 14|71 default=0.0000 now=0.0000 - MIDI CC 14|72 default=0.0000 now=0.0000 - MIDI CC 14|73 default=0.0000 now=0.0000 - MIDI CC 14|74 default=0.0000 now=0.0000 - MIDI CC 14|75 default=0.0000 now=0.0000 - MIDI CC 14|76 default=0.0000 now=0.0000 - MIDI CC 14|77 default=0.0000 now=0.0000 - MIDI CC 14|78 default=0.0000 now=0.0000 - MIDI CC 14|79 default=0.0000 now=0.0000 - MIDI CC 14|80 default=0.0000 now=0.0000 - MIDI CC 14|81 default=0.0000 now=0.0000 - MIDI CC 14|82 default=0.0000 now=0.0000 - MIDI CC 14|83 default=0.0000 now=0.0000 - MIDI CC 14|84 default=0.0000 now=0.0000 - MIDI CC 14|85 default=0.0000 now=0.0000 - MIDI CC 14|86 default=0.0000 now=0.0000 - MIDI CC 14|87 default=0.0000 now=0.0000 - MIDI CC 14|88 default=0.0000 now=0.0000 - MIDI CC 14|89 default=0.0000 now=0.0000 - MIDI CC 14|90 default=0.0000 now=0.0000 - MIDI CC 14|91 default=0.0000 now=0.0000 - MIDI CC 14|92 default=0.0000 now=0.0000 - MIDI CC 14|93 default=0.0000 now=0.0000 - MIDI CC 14|94 default=0.0000 now=0.0000 - MIDI CC 14|95 default=0.0000 now=0.0000 - MIDI CC 14|96 default=0.0000 now=0.0000 - MIDI CC 14|97 default=0.0000 now=0.0000 - MIDI CC 14|98 default=0.0000 now=0.0000 - MIDI CC 14|99 default=0.0000 now=0.0000 - MIDI CC 14|100 default=0.0000 now=0.0000 - MIDI CC 14|101 default=0.0000 now=0.0000 - MIDI CC 14|102 default=0.0000 now=0.0000 - MIDI CC 14|103 default=0.0000 now=0.0000 - MIDI CC 14|104 default=0.0000 now=0.0000 - MIDI CC 14|105 default=0.0000 now=0.0000 - MIDI CC 14|106 default=0.0000 now=0.0000 - MIDI CC 14|107 default=0.0000 now=0.0000 - MIDI CC 14|108 default=0.0000 now=0.0000 - MIDI CC 14|109 default=0.0000 now=0.0000 - MIDI CC 14|110 default=0.0000 now=0.0000 - MIDI CC 14|111 default=0.0000 now=0.0000 - MIDI CC 14|112 default=0.0000 now=0.0000 - MIDI CC 14|113 default=0.0000 now=0.0000 - MIDI CC 14|114 default=0.0000 now=0.0000 - MIDI CC 14|115 default=0.0000 now=0.0000 - MIDI CC 14|116 default=0.0000 now=0.0000 - MIDI CC 14|117 default=0.0000 now=0.0000 - MIDI CC 14|118 default=0.0000 now=0.0000 - MIDI CC 14|119 default=0.0000 now=0.0000 - MIDI CC 14|120 default=0.0000 now=0.0000 - MIDI CC 14|121 default=0.0000 now=0.0000 - MIDI CC 14|122 default=0.0000 now=0.0000 - MIDI CC 14|123 default=0.0000 now=0.0000 - MIDI CC 14|124 default=0.0000 now=0.0000 - MIDI CC 14|125 default=0.0000 now=0.0000 - MIDI CC 14|126 default=0.0000 now=0.0000 - MIDI CC 14|127 default=0.0000 now=0.0000 - MIDI CC 14|128 default=0.0000 now=0.0000 - MIDI CC 14|129 default=0.0000 now=0.0000 - MIDI CC 15|0 default=0.0000 now=0.0000 - MIDI CC 15|1 default=0.0000 now=0.0000 - MIDI CC 15|2 default=0.0000 now=0.0000 - MIDI CC 15|3 default=0.0000 now=0.0000 - MIDI CC 15|4 default=0.0000 now=0.0000 - MIDI CC 15|5 default=0.0000 now=0.0000 - MIDI CC 15|6 default=0.0000 now=0.0000 - MIDI CC 15|7 default=0.0000 now=0.0000 - MIDI CC 15|8 default=0.0000 now=0.0000 - MIDI CC 15|9 default=0.0000 now=0.0000 - MIDI CC 15|10 default=0.0000 now=0.0000 - MIDI CC 15|11 default=0.0000 now=0.0000 - MIDI CC 15|12 default=0.0000 now=0.0000 - MIDI CC 15|13 default=0.0000 now=0.0000 - MIDI CC 15|14 default=0.0000 now=0.0000 - MIDI CC 15|15 default=0.0000 now=0.0000 - MIDI CC 15|16 default=0.0000 now=0.0000 - MIDI CC 15|17 default=0.0000 now=0.0000 - MIDI CC 15|18 default=0.0000 now=0.0000 - MIDI CC 15|19 default=0.0000 now=0.0000 - MIDI CC 15|20 default=0.0000 now=0.0000 - MIDI CC 15|21 default=0.0000 now=0.0000 - MIDI CC 15|22 default=0.0000 now=0.0000 - MIDI CC 15|23 default=0.0000 now=0.0000 - MIDI CC 15|24 default=0.0000 now=0.0000 - MIDI CC 15|25 default=0.0000 now=0.0000 - MIDI CC 15|26 default=0.0000 now=0.0000 - MIDI CC 15|27 default=0.0000 now=0.0000 - MIDI CC 15|28 default=0.0000 now=0.0000 - MIDI CC 15|29 default=0.0000 now=0.0000 - MIDI CC 15|30 default=0.0000 now=0.0000 - MIDI CC 15|31 default=0.0000 now=0.0000 - MIDI CC 15|32 default=0.0000 now=0.0000 - MIDI CC 15|33 default=0.0000 now=0.0000 - MIDI CC 15|34 default=0.0000 now=0.0000 - MIDI CC 15|35 default=0.0000 now=0.0000 - MIDI CC 15|36 default=0.0000 now=0.0000 - MIDI CC 15|37 default=0.0000 now=0.0000 - MIDI CC 15|38 default=0.0000 now=0.0000 - MIDI CC 15|39 default=0.0000 now=0.0000 - MIDI CC 15|40 default=0.0000 now=0.0000 - MIDI CC 15|41 default=0.0000 now=0.0000 - MIDI CC 15|42 default=0.0000 now=0.0000 - MIDI CC 15|43 default=0.0000 now=0.0000 - MIDI CC 15|44 default=0.0000 now=0.0000 - MIDI CC 15|45 default=0.0000 now=0.0000 - MIDI CC 15|46 default=0.0000 now=0.0000 - MIDI CC 15|47 default=0.0000 now=0.0000 - MIDI CC 15|48 default=0.0000 now=0.0000 - MIDI CC 15|49 default=0.0000 now=0.0000 - MIDI CC 15|50 default=0.0000 now=0.0000 - MIDI CC 15|51 default=0.0000 now=0.0000 - MIDI CC 15|52 default=0.0000 now=0.0000 - MIDI CC 15|53 default=0.0000 now=0.0000 - MIDI CC 15|54 default=0.0000 now=0.0000 - MIDI CC 15|55 default=0.0000 now=0.0000 - MIDI CC 15|56 default=0.0000 now=0.0000 - MIDI CC 15|57 default=0.0000 now=0.0000 - MIDI CC 15|58 default=0.0000 now=0.0000 - MIDI CC 15|59 default=0.0000 now=0.0000 - MIDI CC 15|60 default=0.0000 now=0.0000 - MIDI CC 15|61 default=0.0000 now=0.0000 - MIDI CC 15|62 default=0.0000 now=0.0000 - MIDI CC 15|63 default=0.0000 now=0.0000 - MIDI CC 15|64 default=0.0000 now=0.0000 - MIDI CC 15|65 default=0.0000 now=0.0000 - MIDI CC 15|66 default=0.0000 now=0.0000 - MIDI CC 15|67 default=0.0000 now=0.0000 - MIDI CC 15|68 default=0.0000 now=0.0000 - MIDI CC 15|69 default=0.0000 now=0.0000 - MIDI CC 15|70 default=0.0000 now=0.0000 - MIDI CC 15|71 default=0.0000 now=0.0000 - MIDI CC 15|72 default=0.0000 now=0.0000 - MIDI CC 15|73 default=0.0000 now=0.0000 - MIDI CC 15|74 default=0.0000 now=0.0000 - MIDI CC 15|75 default=0.0000 now=0.0000 - MIDI CC 15|76 default=0.0000 now=0.0000 - MIDI CC 15|77 default=0.0000 now=0.0000 - MIDI CC 15|78 default=0.0000 now=0.0000 - MIDI CC 15|79 default=0.0000 now=0.0000 - MIDI CC 15|80 default=0.0000 now=0.0000 - MIDI CC 15|81 default=0.0000 now=0.0000 - MIDI CC 15|82 default=0.0000 now=0.0000 - MIDI CC 15|83 default=0.0000 now=0.0000 - MIDI CC 15|84 default=0.0000 now=0.0000 - MIDI CC 15|85 default=0.0000 now=0.0000 - MIDI CC 15|86 default=0.0000 now=0.0000 - MIDI CC 15|87 default=0.0000 now=0.0000 - MIDI CC 15|88 default=0.0000 now=0.0000 - MIDI CC 15|89 default=0.0000 now=0.0000 - MIDI CC 15|90 default=0.0000 now=0.0000 - MIDI CC 15|91 default=0.0000 now=0.0000 - MIDI CC 15|92 default=0.0000 now=0.0000 - MIDI CC 15|93 default=0.0000 now=0.0000 - MIDI CC 15|94 default=0.0000 now=0.0000 - MIDI CC 15|95 default=0.0000 now=0.0000 - MIDI CC 15|96 default=0.0000 now=0.0000 - MIDI CC 15|97 default=0.0000 now=0.0000 - MIDI CC 15|98 default=0.0000 now=0.0000 - MIDI CC 15|99 default=0.0000 now=0.0000 - MIDI CC 15|100 default=0.0000 now=0.0000 - MIDI CC 15|101 default=0.0000 now=0.0000 - MIDI CC 15|102 default=0.0000 now=0.0000 - MIDI CC 15|103 default=0.0000 now=0.0000 - MIDI CC 15|104 default=0.0000 now=0.0000 - MIDI CC 15|105 default=0.0000 now=0.0000 - MIDI CC 15|106 default=0.0000 now=0.0000 - MIDI CC 15|107 default=0.0000 now=0.0000 - MIDI CC 15|108 default=0.0000 now=0.0000 - MIDI CC 15|109 default=0.0000 now=0.0000 - MIDI CC 15|110 default=0.0000 now=0.0000 - MIDI CC 15|111 default=0.0000 now=0.0000 - MIDI CC 15|112 default=0.0000 now=0.0000 - MIDI CC 15|113 default=0.0000 now=0.0000 - MIDI CC 15|114 default=0.0000 now=0.0000 - MIDI CC 15|115 default=0.0000 now=0.0000 - MIDI CC 15|116 default=0.0000 now=0.0000 - MIDI CC 15|117 default=0.0000 now=0.0000 - MIDI CC 15|118 default=0.0000 now=0.0000 - MIDI CC 15|119 default=0.0000 now=0.0000 - MIDI CC 15|120 default=0.0000 now=0.0000 - MIDI CC 15|121 default=0.0000 now=0.0000 - MIDI CC 15|122 default=0.0000 now=0.0000 - MIDI CC 15|123 default=0.0000 now=0.0000 - MIDI CC 15|124 default=0.0000 now=0.0000 - MIDI CC 15|125 default=0.0000 now=0.0000 - MIDI CC 15|126 default=0.0000 now=0.0000 - MIDI CC 15|127 default=0.0000 now=0.0000 - MIDI CC 15|128 default=0.0000 now=0.0000 - MIDI CC 15|129 default=0.0000 now=0.0000 -sr=44100 block=64 peak=0.310 rms=0.1356 finite=1 OK -sr=44100 block=512 peak=0.310 rms=0.1357 finite=1 OK -sr=44100 block=1000 peak=0.310 rms=0.1358 finite=1 OK -state round trip (1573 bytes): OK -sr=48000 block=64 peak=0.310 rms=0.1356 finite=1 OK -sr=48000 block=512 peak=0.310 rms=0.1356 finite=1 OK -sr=48000 block=1000 peak=0.310 rms=0.1356 finite=1 OK -sr=96000 block=64 peak=0.310 rms=0.1356 finite=1 OK -sr=96000 block=512 peak=0.310 rms=0.1356 finite=1 OK -sr=96000 block=1000 peak=0.310 rms=0.1356 finite=1 OK -sr=44100 audio input silence rms=0.00001 OK -sr=44100 audio input sine rms=0.07857 OK -sr=44100 midi gate: before=0.00001 held=0.1180 after-release=0.00001 OK -sr=48000 audio input silence rms=0.00001 OK -sr=48000 audio input sine rms=0.07855 OK -sr=48000 midi gate: before=0.00001 held=0.1180 after-release=0.00001 OK -sr=96000 audio input silence rms=0.00001 OK -sr=96000 audio input sine rms=0.07856 OK -sr=96000 midi gate: before=0.00001 held=0.1180 after-release=0.00001 OK -readout Echo Feedback 0.40 = 60 % OK -readout Echo Feedback 1.00 = 150 % OK -readout Echo Send 0.20 = 4 % OK -readout Volume 0.50 = -12.0 dB OK -readout Reverb Decay 0.50 = 85 % OK -readout Reverb Decay 0.10 = 42 % OK -readout Echo Warp 1.00 = On OK -readout Echo Drive 0.50 = +6.0 dB OK -readout Echo Drive 0.00 = +0.0 dB OK -readout Echo Tone 0.50 = 800 Hz OK -readout Echo Tone 0.00 = 200 Hz OK -readout Echo Tone 1.00 = 3200 Hz OK -readout Echo Pong 1.00 = On OK -readout Echo Width 0.50 = 50 % OK -readout Echo Level 0.83 = 0.0 dB OK -readout Echo Level 1.00 = +6.0 dB OK -readout Echo Level 0.50 = -12.0 dB OK -pongSurvivesStateRoundTrip: OK -classicPresetTurnsPongOff: OK -pongAtOtherRates, sr=44100 peak=0.394 OK -pongAtOtherRates, sr=48000 peak=0.394 OK -pongAtOtherRates, sr=96000 peak=0.394 OK -sr=44100 latency: declared 327, measured 329 OK -sr=48000 latency: declared 0, measured 2 OK -sr=96000 latency: declared 656, measured 659 OK -sr=44100 midi note 60: 261.6 Hz (+0.1 c); knob after release 200.7 Hz, knob alone 200.7 Hz OK -sr=48000 midi note 60: 261.7 Hz (+0.2 c); knob after release 200.7 Hz, knob alone 200.7 Hz OK -sr=96000 midi note 60: 261.7 Hz (+0.2 c); knob after release 200.7 Hz, knob alone 200.7 Hz OK -programs: 16 -presets: program 3 = "Cathedral Bloom", freq 0.43 -> 0.80, state keeps program: OK -ALL OK diff --git a/review/logs/render_test-after-fixes.log b/review/logs/render_test-after-fixes.log deleted file mode 100644 index c2ca712..0000000 --- a/review/logs/render_test-after-fixes.log +++ /dev/null @@ -1,474 +0,0 @@ -default_drone block=4 peak=0.333 rms=0.1371 finite=1 sound=1 OK -default_drone block=64 peak=0.333 rms=0.1371 finite=1 sound=1 OK -default_drone block=512 peak=0.333 rms=0.1371 finite=1 sound=1 OK -default_drone block=480 peak=0.333 rms=0.1371 finite=1 sound=1 OK -low_dark_verb block=4 peak=0.727 rms=0.2838 finite=1 sound=1 OK -low_dark_verb block=64 peak=0.727 rms=0.2838 finite=1 sound=1 OK -low_dark_verb block=512 peak=0.727 rms=0.2838 finite=1 sound=1 OK -low_dark_verb block=480 peak=0.727 rms=0.2838 finite=1 sound=1 OK -echo_runaway block=4 peak=0.726 rms=0.2691 finite=1 sound=1 OK -echo_runaway block=64 peak=0.726 rms=0.2691 finite=1 sound=1 OK -echo_runaway block=512 peak=0.726 rms=0.2691 finite=1 sound=1 OK -echo_runaway block=480 peak=0.726 rms=0.2691 finite=1 sound=1 OK -everything_max block=4 peak=0.750 rms=0.2610 finite=1 sound=1 OK -everything_max block=64 peak=0.750 rms=0.2610 finite=1 sound=1 OK -everything_max block=512 peak=0.750 rms=0.2610 finite=1 sound=1 OK -everything_max block=480 peak=0.750 rms=0.2610 finite=1 sound=1 OK -gain_zero block=4 peak=0.000 rms=0.0000 finite=1 sound=0 OK -gain_zero block=64 peak=0.000 rms=0.0000 finite=1 sound=0 OK -gain_zero block=512 peak=0.000 rms=0.0000 finite=1 sound=0 OK -gain_zero block=480 peak=0.000 rms=0.0000 finite=1 sound=0 OK -input passthrough rms=0.0786 OK -midi pitch dry on note (<25c) 68/69, worst of those 2.2 c OK -midi pitch Body min on note (<25c) 68/69, worst of those 2.2 c OK -midi pitch Body max on note (<25c) 67/69, worst of those 24.4 c OK -midi pitch Default preset on note (<25c) 66/69, worst of those 24.2 c OK -gate open rms=0.1176 closed rms=0.00001 (-84.0 dB) OK -resampler 48k->44.1k 1 kHz passes 0.00 dB OK -resampler 48k->44.1k 15 kHz passes -0.00 dB OK -resampler 48k->44.1k 23 kHz folded image -94.34 dB OK -resampler 48k->96k 1 kHz passes -0.00 dB OK -resampler 48k->96k 10 kHz image at 38 kHz -123.92 dB OK -resampler 96k->48k 30 kHz folded image -94.98 dB OK -resampler 44.1k->48k 1 kHz passes -0.00 dB OK -preset Default rms=0.1273 ( -17.9 dBFS) peak=0.333 OK -preset Sub Cellar rms=0.1548 ( -16.2 dBFS) peak=0.475 OK -preset Glass Wind rms=0.2116 ( -13.5 dBFS) peak=0.558 OK -preset Cathedral Bloom rms=0.2673 ( -11.5 dBFS) peak=0.786 OK -preset Echo Drift rms=0.0834 ( -21.6 dBFS) peak=0.250 OK -preset Doppler Void rms=0.1120 ( -19.0 dBFS) peak=0.361 OK -preset Dark Tide rms=0.1933 ( -14.3 dBFS) peak=0.672 OK -preset Razor Feedback rms=0.1446 ( -16.8 dBFS) peak=0.290 OK -preset Quiet Room rms=0.0818 ( -21.7 dBFS) peak=0.225 OK -preset Keys (play notes) rms=0.1321 ( -17.6 dBFS) peak=0.330 OK -preset Resonator (needs input) rms=0.0000 (-104.7 dBFS) peak=0.000 OK -preset Init (silent) rms=0.0000 (-102.5 dBFS) peak=0.000 OK -preset Open Fifths rms=0.1734 ( -15.2 dBFS) peak=0.462 OK -threeStringsSound Open Fifths strongest partial 151.2 Hz holds 53% of the power OK -preset Sympathetic rms=0.1366 ( -17.3 dBFS) peak=0.523 OK -threeStringsSound Sympathetic strongest partial 354.1 Hz holds 18% of the power OK -preset Chord Keys rms=0.1094 ( -19.2 dBFS) peak=0.281 OK -preset Ember Pong rms=0.0897 ( -20.9 dBFS) peak=0.231 OK -allocations while rendering, NaN recovery included: 0 OK -recovery from NaN: finite=1 rms of last second=0.0936 OK -echo first repeat at 0.248 s, knob 0.248 s: OK -filter state cleared by Init: OK -published Body, knob: 0.00991 s (knob 0.00991) OK -published note 60.000, Body 0.01170 s (3 periods 0.01147) OK -Echo Time with WARP: 0.359 s (expected 0.359) OK -engine, voice 0 independent at Coupling 0: same=1 others differ=1 OK -engine, unison voices differ: 1/0=1 2/1=1 OK -engine, Coupling rings a closed voice: 0.000067 -> 0.987463 (+83.4 dB) OK -engine, LPF 18000 Hz, ramp at 2 s: largest jump 0.31237, before 0.41388 OK -engine, LPF 18000 Hz, ramp at 2 s: largest jump 0.29941, before 0.36154 OK -engine, LPF 18000 Hz, ramp at 4 s: largest jump 0.36308, before 0.50708 OK -engine, LPF 18000 Hz, ramp at 4 s: largest jump 0.35730, before 0.48575 OK -engine, LPF 800 Hz, ramp at 2 s: largest jump 0.03125, before 0.03164 OK -engine, LPF 800 Hz, ramp at 2 s: largest jump 0.03141, before 0.03165 OK -engine, LPF 800 Hz, ramp at 4 s: largest jump 0.03301, before 0.05445 OK -engine, LPF 800 Hz, ramp at 4 s: largest jump 0.04374, before 0.05448 OK -engine, ramp end: default off=1 on=1 during=1 at 959=1 off at 961=1 off after Init=1 OK -engine, ramp settles on the sum: largest error 0.0000000 OK -engine, restart from silence: peak 0.000077 (was 1.956) OK -engine, ramp reversing from on: finite=1 largest jump 0.51978, before 0.50241 OK -engine, ramp reversing from off: finite=1 largest jump 0.31447, before 0.41388 OK -poly chord 36 43 52, Coupling 0%, voice 0: -0.6 c OK -poly chord 36 43 52, Coupling 0%, voice 1: -0.1 c OK -poly chord 36 43 52, Coupling 0%, voice 2: +0.1 c OK -poly chord 45 52 57, Coupling 0%, voice 0: +0.2 c OK -poly chord 45 52 57, Coupling 0%, voice 1: +0.1 c OK -poly chord 45 52 57, Coupling 0%, voice 2: +0.2 c OK -poly chord 48 55 64, Coupling 0%, voice 0: +0.2 c OK -poly chord 48 55 64, Coupling 0%, voice 1: +0.2 c OK -poly chord 48 55 64, Coupling 0%, voice 2: +0.3 c OK -poly chord 60 64 67, Coupling 0%, voice 0: +0.2 c OK -poly chord 60 64 67, Coupling 0%, voice 1: +0.3 c OK -poly chord 60 64 67, Coupling 0%, voice 2: +0.2 c OK -poly chord 64 69 76, Coupling 0%, voice 0: +0.3 c OK -poly chord 64 69 76, Coupling 0%, voice 1: +0.2 c OK -poly chord 64 69 76, Coupling 0%, voice 2: +0.2 c OK -poly chord 36 43 52, Coupling 100%, voice 0: -1.0 c OK -poly chord 36 43 52, Coupling 100%, voice 1: -0.0 c OK -poly chord 36 43 52, Coupling 100%, voice 2: -0.0 c OK -poly chord 45 52 57, Coupling 100%, voice 0: +0.1 c OK -poly chord 45 52 57, Coupling 100%, voice 1: +0.0 c OK -poly chord 45 52 57, Coupling 100%, voice 2: -0.3 c OK -poly chord 48 55 64, Coupling 100%, voice 0: +0.0 c OK -poly chord 48 55 64, Coupling 100%, voice 1: +0.0 c OK -poly chord 48 55 64, Coupling 100%, voice 2: +0.0 c OK -poly chord 60 64 67, Coupling 100%, voice 0: +0.5 c OK -poly chord 60 64 67, Coupling 100%, voice 1: +0.5 c OK -poly chord 60 64 67, Coupling 100%, voice 2: -0.6 c OK -poly chord 64 69 76, Coupling 100%, voice 0: +0.4 c OK -poly chord 64 69 76, Coupling 100%, voice 1: +0.1 c OK -poly chord 64 69 76, Coupling 100%, voice 2: +0.1 c OK -poly chord 24 28 31 holds at Coupling 100%, voice 0: +0.8 c OK -poly chord 24 28 31 holds at Coupling 100%, voice 1: -0.9 c OK -poly chord 24 28 31 holds at Coupling 100%, voice 2: +0.7 c OK -poly chord 24 27 31 holds at Coupling 100%, voice 0: +0.6 c OK -poly chord 24 27 31 holds at Coupling 100%, voice 1: -0.4 c OK -poly chord 24 27 31 holds at Coupling 100%, voice 2: +1.6 c OK -poly chord 24 31 36 holds at Coupling 100%, voice 0: +0.4 c OK -poly chord 24 31 36 holds at Coupling 100%, voice 1: +0.0 c OK -poly chord 24 31 36 holds at Coupling 100%, voice 2: -0.4 c OK -poly chord 24 29 31 holds at Coupling 100%, voice 0: +0.9 c OK -poly chord 24 29 31 holds at Coupling 100%, voice 1: -0.2 c OK -poly chord 24 29 31 holds at Coupling 100%, voice 2: +0.8 c OK -poly chord 24 26 31 holds at Coupling 100%, voice 0: +0.8 c OK -poly chord 24 26 31 holds at Coupling 100%, voice 1: -0.3 c OK -poly chord 24 26 31 holds at Coupling 100%, voice 2: +1.3 c OK -poly chord 24 25 26 holds at Coupling 100%, voice 0: +1.7 c OK -poly chord 24 25 26 holds at Coupling 100%, voice 1: -1.7 c OK -poly chord 24 25 26 holds at Coupling 100%, voice 2: -2.6 c OK -poly chord 24 31 40 holds at Coupling 100%, voice 0: +0.7 c OK -poly chord 24 31 40 holds at Coupling 100%, voice 1: +0.4 c OK -poly chord 24 31 40 holds at Coupling 100%, voice 2: +0.9 c OK -poly chord 24 36 48 holds at Coupling 100%, voice 0: +0.6 c OK -poly chord 24 36 48 holds at Coupling 100%, voice 1: -1.0 c OK -poly chord 24 36 48 holds at Coupling 100%, voice 2: +0.2 c OK -poly chord 30 34 37 holds at Coupling 100%, voice 0: -0.4 c OK -poly chord 30 34 37 holds at Coupling 100%, voice 1: -0.4 c OK -poly chord 30 34 37 holds at Coupling 100%, voice 2: +2.0 c OK -poly chord 30 33 37 holds at Coupling 100%, voice 0: -0.8 c OK -poly chord 30 33 37 holds at Coupling 100%, voice 1: -0.7 c OK -poly chord 30 33 37 holds at Coupling 100%, voice 2: +1.9 c OK -poly chord 30 37 42 holds at Coupling 100%, voice 0: -0.3 c OK -poly chord 30 37 42 holds at Coupling 100%, voice 1: +0.1 c OK -poly chord 30 37 42 holds at Coupling 100%, voice 2: -0.3 c OK -poly chord 30 35 37 holds at Coupling 100%, voice 0: -0.4 c OK -poly chord 30 35 37 holds at Coupling 100%, voice 1: -0.7 c OK -poly chord 30 35 37 holds at Coupling 100%, voice 2: +1.9 c OK -poly chord 30 32 37 holds at Coupling 100%, voice 0: -0.9 c OK -poly chord 30 32 37 holds at Coupling 100%, voice 1: -0.2 c OK -poly chord 30 32 37 holds at Coupling 100%, voice 2: +1.4 c OK -poly chord 30 31 32 holds at Coupling 100%, voice 0: -2.7 c OK -poly chord 30 31 32 holds at Coupling 100%, voice 1: +1.6 c OK -poly chord 30 31 32 holds at Coupling 100%, voice 2: +2.3 c OK -poly chord 30 37 46 holds at Coupling 100%, voice 0: +0.0 c OK -poly chord 30 37 46 holds at Coupling 100%, voice 1: +0.4 c OK -poly chord 30 37 46 holds at Coupling 100%, voice 2: +0.4 c OK -poly chord 30 42 54 holds at Coupling 100%, voice 0: +0.1 c OK -poly chord 30 42 54 holds at Coupling 100%, voice 1: -0.1 c OK -poly chord 30 42 54 holds at Coupling 100%, voice 2: -0.5 c OK -poly chord 36 40 43 holds at Coupling 100%, voice 0: -1.6 c OK -poly chord 36 40 43 holds at Coupling 100%, voice 1: +0.1 c OK -poly chord 36 40 43 holds at Coupling 100%, voice 2: +1.0 c OK -poly chord 36 39 43 holds at Coupling 100%, voice 0: -1.7 c OK -poly chord 36 39 43 holds at Coupling 100%, voice 1: +0.6 c OK -poly chord 36 39 43 holds at Coupling 100%, voice 2: +0.7 c OK -poly chord 36 43 48 holds at Coupling 100%, voice 0: -1.3 c OK -poly chord 36 43 48 holds at Coupling 100%, voice 1: -0.1 c OK -poly chord 36 43 48 holds at Coupling 100%, voice 2: -0.9 c OK -poly chord 36 41 43 holds at Coupling 100%, voice 0: -1.5 c OK -poly chord 36 41 43 holds at Coupling 100%, voice 1: +0.1 c OK -poly chord 36 41 43 holds at Coupling 100%, voice 2: +1.0 c OK -poly chord 36 38 43 holds at Coupling 100%, voice 0: -1.9 c OK -poly chord 36 38 43 holds at Coupling 100%, voice 1: +0.6 c OK -poly chord 36 38 43 holds at Coupling 100%, voice 2: +0.4 c OK -poly chord 36 37 38 holds at Coupling 100%, voice 0: -2.8 c OK -poly chord 36 37 38 holds at Coupling 100%, voice 1: +2.9 c OK -poly chord 36 37 38 holds at Coupling 100%, voice 2: +2.7 c OK -poly chord 36 43 52 holds at Coupling 100%, voice 0: -1.0 c OK -poly chord 36 43 52 holds at Coupling 100%, voice 1: -0.0 c OK -poly chord 36 43 52 holds at Coupling 100%, voice 2: -0.0 c OK -poly chord 36 48 60 holds at Coupling 100%, voice 0: -0.7 c OK -poly chord 36 48 60 holds at Coupling 100%, voice 1: -0.5 c OK -poly chord 36 48 60 holds at Coupling 100%, voice 2: +0.2 c OK -poly chord 42 46 49 holds at Coupling 100%, voice 0: -0.7 c OK -poly chord 42 46 49 holds at Coupling 100%, voice 1: +0.2 c OK -poly chord 42 46 49 holds at Coupling 100%, voice 2: +0.1 c OK -poly chord 42 45 49 holds at Coupling 100%, voice 0: -0.7 c OK -poly chord 42 45 49 holds at Coupling 100%, voice 1: +0.5 c OK -poly chord 42 45 49 holds at Coupling 100%, voice 2: -0.0 c OK -poly chord 42 49 54 holds at Coupling 100%, voice 0: -0.1 c OK -poly chord 42 49 54 holds at Coupling 100%, voice 1: +0.0 c OK -poly chord 42 49 54 holds at Coupling 100%, voice 2: -0.2 c OK -poly chord 42 47 49 holds at Coupling 100%, voice 0: -0.7 c OK -poly chord 42 47 49 holds at Coupling 100%, voice 1: +0.2 c OK -poly chord 42 47 49 holds at Coupling 100%, voice 2: +0.1 c OK -poly chord 42 44 49 holds at Coupling 100%, voice 0: -0.7 c OK -poly chord 42 44 49 holds at Coupling 100%, voice 1: +0.3 c OK -poly chord 42 44 49 holds at Coupling 100%, voice 2: -0.1 c OK -poly chord 42 43 44 holds at Coupling 100%, voice 0: -0.6 c OK -poly chord 42 43 44 holds at Coupling 100%, voice 1: +2.9 c OK -poly chord 42 43 44 holds at Coupling 100%, voice 2: +0.5 c OK -poly chord 42 49 58 holds at Coupling 100%, voice 0: -0.3 c OK -poly chord 42 49 58 holds at Coupling 100%, voice 1: -0.0 c OK -poly chord 42 49 58 holds at Coupling 100%, voice 2: -0.0 c OK -poly chord 42 54 66 holds at Coupling 100%, voice 0: -0.2 c OK -poly chord 42 54 66 holds at Coupling 100%, voice 1: -0.0 c OK -poly chord 42 54 66 holds at Coupling 100%, voice 2: +0.0 c OK -poly chord 48 52 55 holds at Coupling 100%, voice 0: -0.1 c OK -poly chord 48 52 55 holds at Coupling 100%, voice 1: +0.1 c OK -poly chord 48 52 55 holds at Coupling 100%, voice 2: -0.4 c OK -poly chord 48 51 55 holds at Coupling 100%, voice 0: -0.0 c OK -poly chord 48 51 55 holds at Coupling 100%, voice 1: +0.1 c OK -poly chord 48 51 55 holds at Coupling 100%, voice 2: -0.4 c OK -poly chord 48 55 60 holds at Coupling 100%, voice 0: -0.4 c OK -poly chord 48 55 60 holds at Coupling 100%, voice 1: +0.0 c OK -poly chord 48 55 60 holds at Coupling 100%, voice 2: -0.5 c OK -poly chord 48 53 55 holds at Coupling 100%, voice 0: -0.1 c OK -poly chord 48 53 55 holds at Coupling 100%, voice 1: +0.3 c OK -poly chord 48 53 55 holds at Coupling 100%, voice 2: -0.6 c OK -poly chord 48 50 55 holds at Coupling 100%, voice 0: +0.1 c OK -poly chord 48 50 55 holds at Coupling 100%, voice 1: +0.0 c OK -poly chord 48 50 55 holds at Coupling 100%, voice 2: -0.4 c OK -poly chord 48 49 50 holds at Coupling 100%, voice 0: +2.3 c OK -poly chord 48 49 50 holds at Coupling 100%, voice 1: +2.7 c OK -poly chord 48 49 50 holds at Coupling 100%, voice 2: -2.5 c OK -poly chord 48 55 64 holds at Coupling 100%, voice 0: +0.0 c OK -poly chord 48 55 64 holds at Coupling 100%, voice 1: +0.0 c OK -poly chord 48 55 64 holds at Coupling 100%, voice 2: +0.0 c OK -poly chord 48 60 72 holds at Coupling 100%, voice 0: +0.1 c OK -poly chord 48 60 72 holds at Coupling 100%, voice 1: -0.1 c OK -poly chord 48 60 72 holds at Coupling 100%, voice 2: +0.5 c OK -poly chord 54 58 61 holds at Coupling 100%, voice 0: +0.4 c OK -poly chord 54 58 61 holds at Coupling 100%, voice 1: +0.4 c OK -poly chord 54 58 61 holds at Coupling 100%, voice 2: -0.6 c OK -poly chord 54 57 61 holds at Coupling 100%, voice 0: +0.5 c OK -poly chord 54 57 61 holds at Coupling 100%, voice 1: -0.0 c OK -poly chord 54 57 61 holds at Coupling 100%, voice 2: -0.5 c OK -poly chord 54 61 66 holds at Coupling 100%, voice 0: +0.2 c OK -poly chord 54 61 66 holds at Coupling 100%, voice 1: +0.1 c OK -poly chord 54 61 66 holds at Coupling 100%, voice 2: -0.0 c OK -poly chord 54 59 61 holds at Coupling 100%, voice 0: +0.2 c OK -poly chord 54 59 61 holds at Coupling 100%, voice 1: +0.7 c OK -poly chord 54 59 61 holds at Coupling 100%, voice 2: -0.7 c OK -poly chord 54 56 61 holds at Coupling 100%, voice 0: +0.7 c OK -poly chord 54 56 61 holds at Coupling 100%, voice 1: -0.3 c OK -poly chord 54 56 61 holds at Coupling 100%, voice 2: -0.4 c OK -poly chord 54 55 56 holds at Coupling 100%, voice 0: +4.2 c OK -poly chord 54 55 56 holds at Coupling 100%, voice 1: +2.6 c OK -poly chord 54 55 56 holds at Coupling 100%, voice 2: -4.4 c OK -poly chord 54 61 70 holds at Coupling 100%, voice 0: +0.2 c OK -poly chord 54 61 70 holds at Coupling 100%, voice 1: +0.0 c OK -poly chord 54 61 70 holds at Coupling 100%, voice 2: -0.0 c OK -poly chord 54 66 78 holds at Coupling 100%, voice 0: +0.1 c OK -poly chord 54 66 78 holds at Coupling 100%, voice 1: +0.1 c OK -poly chord 54 66 78 holds at Coupling 100%, voice 2: +0.0 c OK -poly chord 60 64 67 holds at Coupling 100%, voice 0: +0.5 c OK -poly chord 60 64 67 holds at Coupling 100%, voice 1: +0.5 c OK -poly chord 60 64 67 holds at Coupling 100%, voice 2: -0.6 c OK -poly chord 60 63 67 holds at Coupling 100%, voice 0: +0.8 c OK -poly chord 60 63 67 holds at Coupling 100%, voice 1: -0.1 c OK -poly chord 60 63 67 holds at Coupling 100%, voice 2: -0.4 c OK -poly chord 60 67 72 holds at Coupling 100%, voice 0: +0.2 c OK -poly chord 60 67 72 holds at Coupling 100%, voice 1: +0.2 c OK -poly chord 60 67 72 holds at Coupling 100%, voice 2: +0.2 c OK -poly chord 60 65 67 holds at Coupling 100%, voice 0: +0.3 c OK -poly chord 60 65 67 holds at Coupling 100%, voice 1: +0.9 c OK -poly chord 60 65 67 holds at Coupling 100%, voice 2: -0.7 c OK -poly chord 60 62 67 holds at Coupling 100%, voice 0: +1.0 c OK -poly chord 60 62 67 holds at Coupling 100%, voice 1: -0.3 c OK -poly chord 60 62 67 holds at Coupling 100%, voice 2: -0.2 c OK -poly chord 60 61 62 holds at Coupling 100%, voice 0: +3.5 c OK -poly chord 60 61 62 holds at Coupling 100%, voice 1: +1.6 c OK -poly chord 60 61 62 holds at Coupling 100%, voice 2: -3.2 c OK -poly chord 60 67 76 holds at Coupling 100%, voice 0: +0.3 c OK -poly chord 60 67 76 holds at Coupling 100%, voice 1: +0.1 c OK -poly chord 60 67 76 holds at Coupling 100%, voice 2: +0.0 c OK -poly chord 60 72 84 holds at Coupling 100%, voice 0: +0.1 c OK -poly chord 60 72 84 holds at Coupling 100%, voice 1: +0.2 c OK -poly chord 60 72 84 holds at Coupling 100%, voice 2: +0.2 c OK -preset Chord Keys, chord 36 40 43, voice 0: -11.8 c OK -preset Chord Keys, chord 36 40 43, voice 1: -1.5 c OK -preset Chord Keys, chord 36 40 43, voice 2: +1.3 c OK -preset Chord Keys, chord 36 39 43, voice 0: -12.1 c OK -preset Chord Keys, chord 36 39 43, voice 1: -8.0 c OK -preset Chord Keys, chord 36 39 43, voice 2: +1.2 c OK -preset Chord Keys, chord 36 43 48, voice 0: -7.9 c OK -preset Chord Keys, chord 36 43 48, voice 1: +0.9 c OK -preset Chord Keys, chord 36 43 48, voice 2: +5.6 c OK -preset Chord Keys, chord 36 41 43, voice 0: -11.3 c OK -preset Chord Keys, chord 36 41 43, voice 1: +3.6 c OK -preset Chord Keys, chord 36 41 43, voice 2: +1.3 c OK -preset Chord Keys, chord 36 38 43, voice 0: -11.3 c OK -preset Chord Keys, chord 36 38 43, voice 1: +0.7 c OK -preset Chord Keys, chord 36 38 43, voice 2: +1.1 c OK -preset Chord Keys, chord 42 46 49, voice 0: +2.2 c OK -preset Chord Keys, chord 42 46 49, voice 1: -6.6 c OK -preset Chord Keys, chord 42 46 49, voice 2: -6.4 c OK -preset Chord Keys, chord 42 45 49, voice 0: +3.1 c OK -preset Chord Keys, chord 42 45 49, voice 1: -1.8 c OK -preset Chord Keys, chord 42 45 49, voice 2: -6.5 c OK -preset Chord Keys, chord 42 49 54, voice 0: +2.6 c OK -preset Chord Keys, chord 42 49 54, voice 1: -6.4 c OK -preset Chord Keys, chord 42 49 54, voice 2: +0.8 c OK -preset Chord Keys, chord 42 47 49, voice 0: +2.5 c OK -preset Chord Keys, chord 42 47 49, voice 1: +0.2 c OK -preset Chord Keys, chord 42 47 49, voice 2: -6.5 c OK -preset Chord Keys, chord 42 44 49, voice 0: +3.1 c OK -preset Chord Keys, chord 42 44 49, voice 1: -1.8 c OK -preset Chord Keys, chord 42 44 49, voice 2: -6.5 c OK -preset Chord Keys, chord 48 52 55, voice 0: +5.6 c OK -preset Chord Keys, chord 48 52 55, voice 1: +0.9 c OK -preset Chord Keys, chord 48 52 55, voice 2: +1.1 c OK -preset Chord Keys, chord 48 51 55, voice 0: +5.7 c OK -preset Chord Keys, chord 48 51 55, voice 1: +3.8 c OK -preset Chord Keys, chord 48 51 55, voice 2: +1.3 c OK -preset Chord Keys, chord 48 55 60, voice 0: +6.7 c OK -preset Chord Keys, chord 48 55 60, voice 1: +1.3 c OK -preset Chord Keys, chord 48 55 60, voice 2: +0.2 c OK -preset Chord Keys, chord 48 53 55, voice 0: +6.2 c OK -preset Chord Keys, chord 48 53 55, voice 1: +5.8 c OK -preset Chord Keys, chord 48 53 55, voice 2: +1.2 c OK -preset Chord Keys, chord 48 50 55, voice 0: +5.2 c OK -preset Chord Keys, chord 48 50 55, voice 1: +2.7 c OK -preset Chord Keys, chord 48 50 55, voice 2: +1.4 c OK -preset Chord Keys, chord 54 58 61, voice 0: +2.5 c OK -preset Chord Keys, chord 54 58 61, voice 1: +0.0 c OK -preset Chord Keys, chord 54 58 61, voice 2: -0.9 c OK -preset Chord Keys, chord 54 57 61, voice 0: +2.3 c OK -preset Chord Keys, chord 54 57 61, voice 1: +1.5 c OK -preset Chord Keys, chord 54 57 61, voice 2: -1.1 c OK -preset Chord Keys, chord 54 61 66, voice 0: +2.1 c OK -preset Chord Keys, chord 54 61 66, voice 1: -0.7 c OK -preset Chord Keys, chord 54 61 66, voice 2: -2.0 c OK -preset Chord Keys, chord 54 59 61, voice 0: +2.2 c OK -preset Chord Keys, chord 54 59 61, voice 1: -0.2 c OK -preset Chord Keys, chord 54 59 61, voice 2: -1.1 c OK -preset Chord Keys, chord 54 56 61, voice 0: +2.6 c OK -preset Chord Keys, chord 54 56 61, voice 1: +0.9 c OK -preset Chord Keys, chord 54 56 61, voice 2: -1.0 c OK -preset Chord Keys, chord 60 64 67, voice 0: +0.4 c OK -preset Chord Keys, chord 60 64 67, voice 1: -0.2 c OK -preset Chord Keys, chord 60 64 67, voice 2: +1.3 c OK -preset Chord Keys, chord 60 63 67, voice 0: +0.7 c OK -preset Chord Keys, chord 60 63 67, voice 1: +0.5 c OK -preset Chord Keys, chord 60 63 67, voice 2: +1.3 c OK -preset Chord Keys, chord 60 67 72, voice 0: +0.3 c OK -preset Chord Keys, chord 60 67 72, voice 1: +1.5 c OK -preset Chord Keys, chord 60 67 72, voice 2: -0.7 c OK -preset Chord Keys, chord 60 65 67, voice 0: +0.7 c OK -preset Chord Keys, chord 60 65 67, voice 1: -2.7 c OK -preset Chord Keys, chord 60 65 67, voice 2: +1.3 c OK -preset Chord Keys, chord 60 62 67, voice 0: +0.5 c OK -preset Chord Keys, chord 60 62 67, voice 1: +0.9 c OK -preset Chord Keys, chord 60 62 67, voice 2: +1.4 c OK -poly restart starts on the new notes: 52.00 57.00 OK -poly restart with a new chord, voice 0: +0.4 c OK -poly restart with a new chord, voice 1: +0.2 c OK -poly restart with a new chord, voice 2: +0.2 c OK -poly restart builds as fast, voice 1: 0.35 s, fresh 0.35 s OK -poly restart builds as fast, voice 2: 0.40 s, fresh 0.35 s OK -poly restart keeps the filters: voice 1 slope rms 0.03231, fresh 0.03231 OK -poly knob intervals: +7.000 +12.000 OK -poly interval +24 at Frequency 1.0: voice 1 note 84.00 finite=1 in range=1 OK -poly interval -24 at Frequency 0.0: voice 1 note 16.00 finite=1 in range=1 OK -poly never assigned voice stays closed: -84.1 dB below voice 0 OK -poly gate per voice: closed voice -83.9 dB, open voice -0.0 dB OK -poly chord audible at once: rms 0.9846 0.9809 0.9798, voice 1 early=1, no ramp (error 0.00000) OK -poly stability at maximum, chord 16 50 84: finite=1 peak=0.655 recoveries=0 OK -poly stability at maximum, chord 48 48 48: finite=1 peak=0.694 recoveries=0 OK -poly stability at maximum, LOCK from the knobs: finite=1 peak=0.554 recoveries=0 OK -poly stability at maximum, knobs, Body 0: finite=1 peak=0.714 recoveries=0 OK -poly stability at maximum, knobs, Body 1: finite=1 peak=0.683 recoveries=0 OK -poly closed voice at Coupling 100%, reverb 0.0, voice 0 open, interval 0: -83.9 dB OK -poly closed voice at Coupling 100%, reverb 0.0, voice 0 open, interval 7: -84.0 dB OK -poly closed voice at Coupling 100%, reverb 0.0, voice 0 open, interval 6: -83.9 dB OK -poly closed voice at Coupling 100%, reverb 0.0, voices 0 and 1 open, interval 0: -83.9 dB OK -poly closed voice at Coupling 100%, reverb 0.0, voices 0 and 1 open, interval 7: -84.0 dB OK -poly closed voice at Coupling 100%, reverb 0.0, voices 0 and 1 open, interval 6: -83.9 dB OK -poly closed voice at Coupling 100%, reverb 0.0, voices 1 and 2 open, interval 0: -83.9 dB OK -poly closed voice at Coupling 100%, reverb 0.0, voices 1 and 2 open, interval 7: -84.0 dB OK -poly closed voice at Coupling 100%, reverb 0.0, voices 1 and 2 open, interval 6: -83.9 dB OK -poly closed voice at Coupling 100%, reverb 0.5, voice 0 open, interval 0: -87.8 dB OK -poly closed voice at Coupling 100%, reverb 0.5, voice 0 open, interval 7: -88.0 dB OK -poly closed voice at Coupling 100%, reverb 0.5, voice 0 open, interval 6: -87.8 dB OK -poly closed voice at Coupling 100%, reverb 0.5, voices 0 and 1 open, interval 0: -87.8 dB OK -poly closed voice at Coupling 100%, reverb 0.5, voices 0 and 1 open, interval 7: -88.1 dB OK -poly closed voice at Coupling 100%, reverb 0.5, voices 0 and 1 open, interval 6: -87.8 dB OK -poly closed voice at Coupling 100%, reverb 0.5, voices 1 and 2 open, interval 0: -87.8 dB OK -poly closed voice at Coupling 100%, reverb 0.5, voices 1 and 2 open, interval 7: -87.8 dB OK -poly closed voice at Coupling 100%, reverb 0.5, voices 1 and 2 open, interval 6: -87.8 dB OK -poly voice restarting closed at Coupling 100%: -84.1 dB OK -poly LOCK from the knobs, Frequency 0.30 Body 0.3: worst voice 0.8 c OK -poly LOCK from the knobs, Frequency 0.30 Body 0.6: worst voice 0.8 c OK -poly LOCK from the knobs, Frequency 0.30 Body 0.9: worst voice 0.5 c OK -poly LOCK from the knobs, Frequency 0.43 Body 0.3: worst voice 0.2 c OK -poly LOCK from the knobs, Frequency 0.43 Body 0.6: worst voice 0.2 c OK -poly LOCK from the knobs, Frequency 0.43 Body 0.9: worst voice 0.2 c OK -poly LOCK from the knobs, Frequency 0.55 Body 0.3: worst voice 0.2 c OK -poly LOCK from the knobs, Frequency 0.55 Body 0.6: worst voice 0.2 c OK -poly LOCK from the knobs, Frequency 0.55 Body 0.9: worst voice 0.2 c OK -poly LOCK from the knobs, Frequency 0.70 Body 0.3: worst voice 0.2 c OK -poly LOCK from the knobs, Frequency 0.70 Body 0.6: worst voice 0.2 c OK -poly LOCK from the knobs, Frequency 0.70 Body 0.9: worst voice 0.2 c OK -poly free voices on one pitch: 6 of 42 settings OK -poly LOCK at Highpass 0.8: rms 0.00003, free 0.120 OK -poly LOCK off at Coupling 0%, Frequency 0.30 Body 0.3: largest kink 0.00109, before 0.00092 OK -poly LOCK off at Coupling 0%, Frequency 0.30 Body 0.7: largest kink 0.00108, before 0.00087 OK -poly LOCK off at Coupling 0%, Frequency 0.43 Body 0.3: largest kink 0.00266, before 0.00351 OK -poly LOCK off at Coupling 0%, Frequency 0.43 Body 0.7: largest kink 0.00260, before 0.00348 OK -poly LOCK off at Coupling 100%, Frequency 0.30 Body 0.3: largest kink 0.00081, before 0.00095 OK -poly LOCK off at Coupling 100%, Frequency 0.30 Body 0.7: largest kink 0.00170, before 0.00090 OK -poly LOCK off at Coupling 100%, Frequency 0.43 Body 0.3: largest kink 0.00288, before 0.00365 OK -poly LOCK off at Coupling 100%, Frequency 0.43 Body 0.7: largest kink 0.00512, before 0.00343 OK -poly Coupling 100% changes the spectrum, chord 48 55 64: 0.167 OK -poly Coupling 100% changes the spectrum, chord 60 64 67: 0.445 OK -poly Coupling 100% changes the spectrum, knobs +7 +12: 0.547 OK -poly Coupling 100% changes the spectrum, LOCK, knobs +7 +12: 0.190 OK -poly Body 0.7, Coupling 80%: 0 of 84 voices moved off their notes, worst 0.6 c OK -poly Body 0.7, Coupling 100%: 0 of 84 voices moved off their notes, worst 0.6 c OK -poly Body 0.8, Coupling 80%: 0 of 84 voices moved off their notes, worst 0.5 c OK -poly Body 0.8, Coupling 100%: 0 of 84 voices moved off their notes, worst 0.5 c OK -poly Body 0.9, Coupling 80%: 0 of 83 voices moved off their notes, worst 0.5 c OK -poly Body 0.9, Coupling 100%: 0 of 83 voices moved off their notes, worst 0.5 c OK -poly Body 1.0, Coupling 80%: 0 of 84 voices moved off their notes, worst 0.5 c OK -poly Body 1.0, Coupling 100%: 0 of 84 voices moved off their notes, worst 0.5 c OK -poly Coupling 100% changes the spectrum at Body 0.5: 0.286 OK -poly ramp on at Coupling 100%, L: largest jump 0.01056, before 0.01099, finite=1 OK -poly ramp on at Coupling 100%, R: largest jump 0.01063, before 0.01099, finite=1 OK -poly ramp off, reversing at Coupling 100%, L: largest jump 0.01459, before 0.02057, finite=1 OK -poly ramp off, reversing at Coupling 100%, R: largest jump 0.01058, before 0.02072, finite=1 OK -poly Recover restores all voices: rms 0.9852 0.9809 0.9798 OK -CPU, polyphony off: 0.0115 s per second of audio -CPU, polyphony on: 0.0287 s per second of audio -pongMonoSum: L + R with PONG on is 4.72 dB from PONG off OK -pongSameColorThroughCore: spectral difference 0.065 OK -pongBackToFirmware: OK -pongToneSweepWhileRunningAway: peak 0.286, recoveries 0 OK -pongToneSurvivesRecover: peak at 271 Hz after Init OK -pongSwitchDuringRunaway at 4.00 s: largest jump 0.10246, limit 0.21063 OK -pongSwitchDuringRunaway at 4.00 s: largest jump 0.11989, limit 0.18387 OK -pongSwitchDuringRunaway at 6.00 s: largest jump 0.09754, limit 0.18993 OK -pongSwitchDuringRunaway at 6.00 s: largest jump 0.09551, limit 0.13366 OK -pongOnFromFirstBlock: OK -pongSwitchClickFree at 2.00 s: largest jump 0.33666, limit 0.50092 OK -pongSwitchClickFree at 2.00 s: largest jump 0.33835, limit 0.42447 OK -pongSwitchClickFree at 4.00 s: largest jump 0.33256, limit 0.40118 OK -pongSwitchClickFree at 4.00 s: largest jump 0.31472, limit 0.38138 OK -pongSwitchClickFree at 2.00 s: largest jump 0.05727, limit 0.07253 OK -pongSwitchClickFree at 2.00 s: largest jump 0.05562, limit 0.07392 OK -pongSwitchClickFree at 4.00 s: largest jump 0.03375, limit 0.06055 OK -pongSwitchClickFree at 4.00 s: largest jump 0.03673, limit 0.06286 OK -pongSwitchReverses: mix 0.000 20 ms after switching back OK -pongSwitchReverses at 2.00 s: largest jump 0.05727, limit 0.07253 OK -pongSwitchReverses at 2.00 s: largest jump 0.05631, limit 0.07392 OK -pongBoundsAtMaximum: peak 0.477, recoveries 0, mean 0.00006, 0.00006 OK -pongBouncesThroughCore, repeat 1: L over R 73.8 dB OK -pongBouncesThroughCore, repeat 2: L over R -68.7 dB OK -pongWidthAndLevelThroughCore: Width 0 L over R -0.00 dB and -6.01 dB from full width, Level -12 dB gives -11.99 dB OK -pongRecoversFromNan: tail RMS 0.10852 before, 0.000008 after, mix 1.00 OK -pongSurvivesTimeSweep: peak 0.299, recoveries 0 OK -everyPresetWithPongOn: OK -pongIndependentOfBlockSize: OK -emberPongSelfSustains: Ember Pong, RMS 0.0245 with nothing feeding it OK -stereoBounces: OK -stereoTiming, T 12000 samples: OK -stereoTiming, T 17250 samples: OK -stereoSameColor: largest difference 0.000 dB OK -stereoToneMovesCenter, Tone 300 Hz: peak at 271 Hz OK -stereoToneMovesCenter, Tone 3000 Hz: peak at 2936 Hz OK -stereoRunaway, Drive 1, Feedback 0.6: RMS 0.48065 after 20 s OK -stereoRunaway, Drive 1, Feedback 0.4: RMS 0.00000 after 20 s OK -stereoRunaway, Drive 0, Feedback 0.9: RMS 0.00000 after 20 s OK -stereoFeedbackZeroIsOneRepeat: OK -stereoWidthZeroIsMono: repeat 0.046821, half the side 0.046821 OK -stereoWidthAndLevelLeaveTheLoop: largest difference 1.5e-08 OK -stereoAliasing at 3100 Hz, Drive 1, Tone 3200 Hz: -54.0 dB at Feedback 0, -31.4 dB at Feedback 0.9 OK -stereoRampSettles: 1.0000000 after switching on, 0.0000000 after switching off OK -echoCenterReturnsBitForBit: OK -echoShapedAtUnityIsProcess: OK -stereoEchoMatchesTwoLines: OK -ALL OK diff --git a/review/logs/render_test-asan-ubsan-after-fixes.log b/review/logs/render_test-asan-ubsan-after-fixes.log deleted file mode 100644 index eac1ee6..0000000 --- a/review/logs/render_test-asan-ubsan-after-fixes.log +++ /dev/null @@ -1,474 +0,0 @@ -default_drone block=4 peak=0.333 rms=0.1371 finite=1 sound=1 OK -default_drone block=64 peak=0.333 rms=0.1371 finite=1 sound=1 OK -default_drone block=512 peak=0.333 rms=0.1371 finite=1 sound=1 OK -default_drone block=480 peak=0.333 rms=0.1371 finite=1 sound=1 OK -low_dark_verb block=4 peak=0.727 rms=0.2838 finite=1 sound=1 OK -low_dark_verb block=64 peak=0.727 rms=0.2838 finite=1 sound=1 OK -low_dark_verb block=512 peak=0.727 rms=0.2838 finite=1 sound=1 OK -low_dark_verb block=480 peak=0.727 rms=0.2838 finite=1 sound=1 OK -echo_runaway block=4 peak=0.726 rms=0.2691 finite=1 sound=1 OK -echo_runaway block=64 peak=0.726 rms=0.2691 finite=1 sound=1 OK -echo_runaway block=512 peak=0.726 rms=0.2691 finite=1 sound=1 OK -echo_runaway block=480 peak=0.726 rms=0.2691 finite=1 sound=1 OK -everything_max block=4 peak=0.750 rms=0.2610 finite=1 sound=1 OK -everything_max block=64 peak=0.750 rms=0.2610 finite=1 sound=1 OK -everything_max block=512 peak=0.750 rms=0.2610 finite=1 sound=1 OK -everything_max block=480 peak=0.750 rms=0.2610 finite=1 sound=1 OK -gain_zero block=4 peak=0.000 rms=0.0000 finite=1 sound=0 OK -gain_zero block=64 peak=0.000 rms=0.0000 finite=1 sound=0 OK -gain_zero block=512 peak=0.000 rms=0.0000 finite=1 sound=0 OK -gain_zero block=480 peak=0.000 rms=0.0000 finite=1 sound=0 OK -input passthrough rms=0.0786 OK -midi pitch dry on note (<25c) 68/69, worst of those 2.2 c OK -midi pitch Body min on note (<25c) 68/69, worst of those 2.2 c OK -midi pitch Body max on note (<25c) 67/69, worst of those 24.4 c OK -midi pitch Default preset on note (<25c) 66/69, worst of those 24.2 c OK -gate open rms=0.1176 closed rms=0.00001 (-84.0 dB) OK -resampler 48k->44.1k 1 kHz passes -0.00 dB OK -resampler 48k->44.1k 15 kHz passes -0.00 dB OK -resampler 48k->44.1k 23 kHz folded image -94.34 dB OK -resampler 48k->96k 1 kHz passes -0.00 dB OK -resampler 48k->96k 10 kHz image at 38 kHz -124.13 dB OK -resampler 96k->48k 30 kHz folded image -94.98 dB OK -resampler 44.1k->48k 1 kHz passes -0.00 dB OK -preset Default rms=0.1273 ( -17.9 dBFS) peak=0.333 OK -preset Sub Cellar rms=0.1548 ( -16.2 dBFS) peak=0.475 OK -preset Glass Wind rms=0.2116 ( -13.5 dBFS) peak=0.558 OK -preset Cathedral Bloom rms=0.2673 ( -11.5 dBFS) peak=0.786 OK -preset Echo Drift rms=0.0834 ( -21.6 dBFS) peak=0.250 OK -preset Doppler Void rms=0.1120 ( -19.0 dBFS) peak=0.361 OK -preset Dark Tide rms=0.1933 ( -14.3 dBFS) peak=0.672 OK -preset Razor Feedback rms=0.1446 ( -16.8 dBFS) peak=0.290 OK -preset Quiet Room rms=0.0818 ( -21.7 dBFS) peak=0.225 OK -preset Keys (play notes) rms=0.1321 ( -17.6 dBFS) peak=0.330 OK -preset Resonator (needs input) rms=0.0000 (-104.7 dBFS) peak=0.000 OK -preset Init (silent) rms=0.0000 (-102.5 dBFS) peak=0.000 OK -preset Open Fifths rms=0.1734 ( -15.2 dBFS) peak=0.462 OK -threeStringsSound Open Fifths strongest partial 151.2 Hz holds 53% of the power OK -preset Sympathetic rms=0.1366 ( -17.3 dBFS) peak=0.523 OK -threeStringsSound Sympathetic strongest partial 354.1 Hz holds 18% of the power OK -preset Chord Keys rms=0.1094 ( -19.2 dBFS) peak=0.281 OK -preset Ember Pong rms=0.0897 ( -20.9 dBFS) peak=0.231 OK -allocations while rendering, NaN recovery included: 0 OK -recovery from NaN: finite=1 rms of last second=0.0936 OK -echo first repeat at 0.248 s, knob 0.248 s: OK -filter state cleared by Init: OK -published Body, knob: 0.00991 s (knob 0.00991) OK -published note 60.000, Body 0.01170 s (3 periods 0.01147) OK -Echo Time with WARP: 0.359 s (expected 0.359) OK -engine, voice 0 independent at Coupling 0: same=1 others differ=1 OK -engine, unison voices differ: 1/0=1 2/1=1 OK -engine, Coupling rings a closed voice: 0.000067 -> 0.987463 (+83.4 dB) OK -engine, LPF 18000 Hz, ramp at 2 s: largest jump 0.31237, before 0.41388 OK -engine, LPF 18000 Hz, ramp at 2 s: largest jump 0.29941, before 0.36154 OK -engine, LPF 18000 Hz, ramp at 4 s: largest jump 0.36308, before 0.50708 OK -engine, LPF 18000 Hz, ramp at 4 s: largest jump 0.35730, before 0.48575 OK -engine, LPF 800 Hz, ramp at 2 s: largest jump 0.03125, before 0.03164 OK -engine, LPF 800 Hz, ramp at 2 s: largest jump 0.03141, before 0.03165 OK -engine, LPF 800 Hz, ramp at 4 s: largest jump 0.03301, before 0.05445 OK -engine, LPF 800 Hz, ramp at 4 s: largest jump 0.04374, before 0.05448 OK -engine, ramp end: default off=1 on=1 during=1 at 959=1 off at 961=1 off after Init=1 OK -engine, ramp settles on the sum: largest error 0.0000000 OK -engine, restart from silence: peak 0.000077 (was 1.956) OK -engine, ramp reversing from on: finite=1 largest jump 0.51978, before 0.50241 OK -engine, ramp reversing from off: finite=1 largest jump 0.31447, before 0.41388 OK -poly chord 36 43 52, Coupling 0%, voice 0: -0.6 c OK -poly chord 36 43 52, Coupling 0%, voice 1: -0.1 c OK -poly chord 36 43 52, Coupling 0%, voice 2: +0.1 c OK -poly chord 45 52 57, Coupling 0%, voice 0: +0.2 c OK -poly chord 45 52 57, Coupling 0%, voice 1: +0.1 c OK -poly chord 45 52 57, Coupling 0%, voice 2: +0.2 c OK -poly chord 48 55 64, Coupling 0%, voice 0: +0.2 c OK -poly chord 48 55 64, Coupling 0%, voice 1: +0.2 c OK -poly chord 48 55 64, Coupling 0%, voice 2: +0.3 c OK -poly chord 60 64 67, Coupling 0%, voice 0: +0.2 c OK -poly chord 60 64 67, Coupling 0%, voice 1: +0.3 c OK -poly chord 60 64 67, Coupling 0%, voice 2: +0.2 c OK -poly chord 64 69 76, Coupling 0%, voice 0: +0.3 c OK -poly chord 64 69 76, Coupling 0%, voice 1: +0.2 c OK -poly chord 64 69 76, Coupling 0%, voice 2: +0.2 c OK -poly chord 36 43 52, Coupling 100%, voice 0: -1.0 c OK -poly chord 36 43 52, Coupling 100%, voice 1: -0.0 c OK -poly chord 36 43 52, Coupling 100%, voice 2: -0.0 c OK -poly chord 45 52 57, Coupling 100%, voice 0: +0.1 c OK -poly chord 45 52 57, Coupling 100%, voice 1: +0.0 c OK -poly chord 45 52 57, Coupling 100%, voice 2: -0.3 c OK -poly chord 48 55 64, Coupling 100%, voice 0: +0.0 c OK -poly chord 48 55 64, Coupling 100%, voice 1: +0.0 c OK -poly chord 48 55 64, Coupling 100%, voice 2: +0.0 c OK -poly chord 60 64 67, Coupling 100%, voice 0: +0.5 c OK -poly chord 60 64 67, Coupling 100%, voice 1: +0.5 c OK -poly chord 60 64 67, Coupling 100%, voice 2: -0.6 c OK -poly chord 64 69 76, Coupling 100%, voice 0: +0.4 c OK -poly chord 64 69 76, Coupling 100%, voice 1: +0.1 c OK -poly chord 64 69 76, Coupling 100%, voice 2: +0.1 c OK -poly chord 24 28 31 holds at Coupling 100%, voice 0: +0.8 c OK -poly chord 24 28 31 holds at Coupling 100%, voice 1: -0.9 c OK -poly chord 24 28 31 holds at Coupling 100%, voice 2: +0.7 c OK -poly chord 24 27 31 holds at Coupling 100%, voice 0: +0.6 c OK -poly chord 24 27 31 holds at Coupling 100%, voice 1: -0.4 c OK -poly chord 24 27 31 holds at Coupling 100%, voice 2: +1.6 c OK -poly chord 24 31 36 holds at Coupling 100%, voice 0: +0.4 c OK -poly chord 24 31 36 holds at Coupling 100%, voice 1: +0.0 c OK -poly chord 24 31 36 holds at Coupling 100%, voice 2: -0.4 c OK -poly chord 24 29 31 holds at Coupling 100%, voice 0: +0.9 c OK -poly chord 24 29 31 holds at Coupling 100%, voice 1: -0.2 c OK -poly chord 24 29 31 holds at Coupling 100%, voice 2: +0.8 c OK -poly chord 24 26 31 holds at Coupling 100%, voice 0: +0.8 c OK -poly chord 24 26 31 holds at Coupling 100%, voice 1: -0.3 c OK -poly chord 24 26 31 holds at Coupling 100%, voice 2: +1.3 c OK -poly chord 24 25 26 holds at Coupling 100%, voice 0: +1.7 c OK -poly chord 24 25 26 holds at Coupling 100%, voice 1: -1.7 c OK -poly chord 24 25 26 holds at Coupling 100%, voice 2: -2.6 c OK -poly chord 24 31 40 holds at Coupling 100%, voice 0: +0.7 c OK -poly chord 24 31 40 holds at Coupling 100%, voice 1: +0.4 c OK -poly chord 24 31 40 holds at Coupling 100%, voice 2: +0.9 c OK -poly chord 24 36 48 holds at Coupling 100%, voice 0: +0.6 c OK -poly chord 24 36 48 holds at Coupling 100%, voice 1: -1.0 c OK -poly chord 24 36 48 holds at Coupling 100%, voice 2: +0.2 c OK -poly chord 30 34 37 holds at Coupling 100%, voice 0: -0.4 c OK -poly chord 30 34 37 holds at Coupling 100%, voice 1: -0.4 c OK -poly chord 30 34 37 holds at Coupling 100%, voice 2: +2.0 c OK -poly chord 30 33 37 holds at Coupling 100%, voice 0: -0.8 c OK -poly chord 30 33 37 holds at Coupling 100%, voice 1: -0.7 c OK -poly chord 30 33 37 holds at Coupling 100%, voice 2: +1.9 c OK -poly chord 30 37 42 holds at Coupling 100%, voice 0: -0.3 c OK -poly chord 30 37 42 holds at Coupling 100%, voice 1: +0.1 c OK -poly chord 30 37 42 holds at Coupling 100%, voice 2: -0.3 c OK -poly chord 30 35 37 holds at Coupling 100%, voice 0: -0.4 c OK -poly chord 30 35 37 holds at Coupling 100%, voice 1: -0.7 c OK -poly chord 30 35 37 holds at Coupling 100%, voice 2: +1.9 c OK -poly chord 30 32 37 holds at Coupling 100%, voice 0: -0.9 c OK -poly chord 30 32 37 holds at Coupling 100%, voice 1: -0.2 c OK -poly chord 30 32 37 holds at Coupling 100%, voice 2: +1.4 c OK -poly chord 30 31 32 holds at Coupling 100%, voice 0: -2.7 c OK -poly chord 30 31 32 holds at Coupling 100%, voice 1: +1.6 c OK -poly chord 30 31 32 holds at Coupling 100%, voice 2: +2.3 c OK -poly chord 30 37 46 holds at Coupling 100%, voice 0: +0.0 c OK -poly chord 30 37 46 holds at Coupling 100%, voice 1: +0.4 c OK -poly chord 30 37 46 holds at Coupling 100%, voice 2: +0.4 c OK -poly chord 30 42 54 holds at Coupling 100%, voice 0: +0.1 c OK -poly chord 30 42 54 holds at Coupling 100%, voice 1: -0.1 c OK -poly chord 30 42 54 holds at Coupling 100%, voice 2: -0.5 c OK -poly chord 36 40 43 holds at Coupling 100%, voice 0: -1.6 c OK -poly chord 36 40 43 holds at Coupling 100%, voice 1: +0.1 c OK -poly chord 36 40 43 holds at Coupling 100%, voice 2: +1.0 c OK -poly chord 36 39 43 holds at Coupling 100%, voice 0: -1.7 c OK -poly chord 36 39 43 holds at Coupling 100%, voice 1: +0.6 c OK -poly chord 36 39 43 holds at Coupling 100%, voice 2: +0.7 c OK -poly chord 36 43 48 holds at Coupling 100%, voice 0: -1.3 c OK -poly chord 36 43 48 holds at Coupling 100%, voice 1: -0.1 c OK -poly chord 36 43 48 holds at Coupling 100%, voice 2: -0.9 c OK -poly chord 36 41 43 holds at Coupling 100%, voice 0: -1.5 c OK -poly chord 36 41 43 holds at Coupling 100%, voice 1: +0.1 c OK -poly chord 36 41 43 holds at Coupling 100%, voice 2: +1.0 c OK -poly chord 36 38 43 holds at Coupling 100%, voice 0: -1.9 c OK -poly chord 36 38 43 holds at Coupling 100%, voice 1: +0.6 c OK -poly chord 36 38 43 holds at Coupling 100%, voice 2: +0.4 c OK -poly chord 36 37 38 holds at Coupling 100%, voice 0: -2.8 c OK -poly chord 36 37 38 holds at Coupling 100%, voice 1: +2.9 c OK -poly chord 36 37 38 holds at Coupling 100%, voice 2: +2.7 c OK -poly chord 36 43 52 holds at Coupling 100%, voice 0: -1.0 c OK -poly chord 36 43 52 holds at Coupling 100%, voice 1: -0.0 c OK -poly chord 36 43 52 holds at Coupling 100%, voice 2: -0.0 c OK -poly chord 36 48 60 holds at Coupling 100%, voice 0: -0.7 c OK -poly chord 36 48 60 holds at Coupling 100%, voice 1: -0.5 c OK -poly chord 36 48 60 holds at Coupling 100%, voice 2: +0.2 c OK -poly chord 42 46 49 holds at Coupling 100%, voice 0: -0.7 c OK -poly chord 42 46 49 holds at Coupling 100%, voice 1: +0.2 c OK -poly chord 42 46 49 holds at Coupling 100%, voice 2: +0.1 c OK -poly chord 42 45 49 holds at Coupling 100%, voice 0: -0.7 c OK -poly chord 42 45 49 holds at Coupling 100%, voice 1: +0.5 c OK -poly chord 42 45 49 holds at Coupling 100%, voice 2: -0.0 c OK -poly chord 42 49 54 holds at Coupling 100%, voice 0: -0.1 c OK -poly chord 42 49 54 holds at Coupling 100%, voice 1: +0.0 c OK -poly chord 42 49 54 holds at Coupling 100%, voice 2: -0.2 c OK -poly chord 42 47 49 holds at Coupling 100%, voice 0: -0.7 c OK -poly chord 42 47 49 holds at Coupling 100%, voice 1: +0.2 c OK -poly chord 42 47 49 holds at Coupling 100%, voice 2: +0.1 c OK -poly chord 42 44 49 holds at Coupling 100%, voice 0: -0.7 c OK -poly chord 42 44 49 holds at Coupling 100%, voice 1: +0.3 c OK -poly chord 42 44 49 holds at Coupling 100%, voice 2: -0.1 c OK -poly chord 42 43 44 holds at Coupling 100%, voice 0: -0.6 c OK -poly chord 42 43 44 holds at Coupling 100%, voice 1: +2.9 c OK -poly chord 42 43 44 holds at Coupling 100%, voice 2: +0.5 c OK -poly chord 42 49 58 holds at Coupling 100%, voice 0: -0.3 c OK -poly chord 42 49 58 holds at Coupling 100%, voice 1: -0.0 c OK -poly chord 42 49 58 holds at Coupling 100%, voice 2: -0.0 c OK -poly chord 42 54 66 holds at Coupling 100%, voice 0: -0.2 c OK -poly chord 42 54 66 holds at Coupling 100%, voice 1: -0.0 c OK -poly chord 42 54 66 holds at Coupling 100%, voice 2: +0.0 c OK -poly chord 48 52 55 holds at Coupling 100%, voice 0: -0.1 c OK -poly chord 48 52 55 holds at Coupling 100%, voice 1: +0.1 c OK -poly chord 48 52 55 holds at Coupling 100%, voice 2: -0.4 c OK -poly chord 48 51 55 holds at Coupling 100%, voice 0: -0.0 c OK -poly chord 48 51 55 holds at Coupling 100%, voice 1: +0.1 c OK -poly chord 48 51 55 holds at Coupling 100%, voice 2: -0.4 c OK -poly chord 48 55 60 holds at Coupling 100%, voice 0: -0.4 c OK -poly chord 48 55 60 holds at Coupling 100%, voice 1: +0.0 c OK -poly chord 48 55 60 holds at Coupling 100%, voice 2: -0.5 c OK -poly chord 48 53 55 holds at Coupling 100%, voice 0: -0.1 c OK -poly chord 48 53 55 holds at Coupling 100%, voice 1: +0.3 c OK -poly chord 48 53 55 holds at Coupling 100%, voice 2: -0.6 c OK -poly chord 48 50 55 holds at Coupling 100%, voice 0: +0.1 c OK -poly chord 48 50 55 holds at Coupling 100%, voice 1: +0.0 c OK -poly chord 48 50 55 holds at Coupling 100%, voice 2: -0.4 c OK -poly chord 48 49 50 holds at Coupling 100%, voice 0: +2.3 c OK -poly chord 48 49 50 holds at Coupling 100%, voice 1: +2.7 c OK -poly chord 48 49 50 holds at Coupling 100%, voice 2: -2.5 c OK -poly chord 48 55 64 holds at Coupling 100%, voice 0: +0.0 c OK -poly chord 48 55 64 holds at Coupling 100%, voice 1: +0.0 c OK -poly chord 48 55 64 holds at Coupling 100%, voice 2: +0.0 c OK -poly chord 48 60 72 holds at Coupling 100%, voice 0: +0.1 c OK -poly chord 48 60 72 holds at Coupling 100%, voice 1: -0.1 c OK -poly chord 48 60 72 holds at Coupling 100%, voice 2: +0.5 c OK -poly chord 54 58 61 holds at Coupling 100%, voice 0: +0.4 c OK -poly chord 54 58 61 holds at Coupling 100%, voice 1: +0.4 c OK -poly chord 54 58 61 holds at Coupling 100%, voice 2: -0.6 c OK -poly chord 54 57 61 holds at Coupling 100%, voice 0: +0.5 c OK -poly chord 54 57 61 holds at Coupling 100%, voice 1: -0.0 c OK -poly chord 54 57 61 holds at Coupling 100%, voice 2: -0.5 c OK -poly chord 54 61 66 holds at Coupling 100%, voice 0: +0.2 c OK -poly chord 54 61 66 holds at Coupling 100%, voice 1: +0.1 c OK -poly chord 54 61 66 holds at Coupling 100%, voice 2: -0.0 c OK -poly chord 54 59 61 holds at Coupling 100%, voice 0: +0.2 c OK -poly chord 54 59 61 holds at Coupling 100%, voice 1: +0.7 c OK -poly chord 54 59 61 holds at Coupling 100%, voice 2: -0.7 c OK -poly chord 54 56 61 holds at Coupling 100%, voice 0: +0.7 c OK -poly chord 54 56 61 holds at Coupling 100%, voice 1: -0.3 c OK -poly chord 54 56 61 holds at Coupling 100%, voice 2: -0.4 c OK -poly chord 54 55 56 holds at Coupling 100%, voice 0: +4.2 c OK -poly chord 54 55 56 holds at Coupling 100%, voice 1: +2.6 c OK -poly chord 54 55 56 holds at Coupling 100%, voice 2: -4.4 c OK -poly chord 54 61 70 holds at Coupling 100%, voice 0: +0.2 c OK -poly chord 54 61 70 holds at Coupling 100%, voice 1: +0.0 c OK -poly chord 54 61 70 holds at Coupling 100%, voice 2: -0.0 c OK -poly chord 54 66 78 holds at Coupling 100%, voice 0: +0.1 c OK -poly chord 54 66 78 holds at Coupling 100%, voice 1: +0.1 c OK -poly chord 54 66 78 holds at Coupling 100%, voice 2: +0.0 c OK -poly chord 60 64 67 holds at Coupling 100%, voice 0: +0.5 c OK -poly chord 60 64 67 holds at Coupling 100%, voice 1: +0.5 c OK -poly chord 60 64 67 holds at Coupling 100%, voice 2: -0.6 c OK -poly chord 60 63 67 holds at Coupling 100%, voice 0: +0.8 c OK -poly chord 60 63 67 holds at Coupling 100%, voice 1: -0.1 c OK -poly chord 60 63 67 holds at Coupling 100%, voice 2: -0.4 c OK -poly chord 60 67 72 holds at Coupling 100%, voice 0: +0.2 c OK -poly chord 60 67 72 holds at Coupling 100%, voice 1: +0.2 c OK -poly chord 60 67 72 holds at Coupling 100%, voice 2: +0.2 c OK -poly chord 60 65 67 holds at Coupling 100%, voice 0: +0.3 c OK -poly chord 60 65 67 holds at Coupling 100%, voice 1: +0.9 c OK -poly chord 60 65 67 holds at Coupling 100%, voice 2: -0.7 c OK -poly chord 60 62 67 holds at Coupling 100%, voice 0: +1.0 c OK -poly chord 60 62 67 holds at Coupling 100%, voice 1: -0.3 c OK -poly chord 60 62 67 holds at Coupling 100%, voice 2: -0.2 c OK -poly chord 60 61 62 holds at Coupling 100%, voice 0: +3.5 c OK -poly chord 60 61 62 holds at Coupling 100%, voice 1: +1.6 c OK -poly chord 60 61 62 holds at Coupling 100%, voice 2: -3.2 c OK -poly chord 60 67 76 holds at Coupling 100%, voice 0: +0.3 c OK -poly chord 60 67 76 holds at Coupling 100%, voice 1: +0.1 c OK -poly chord 60 67 76 holds at Coupling 100%, voice 2: +0.0 c OK -poly chord 60 72 84 holds at Coupling 100%, voice 0: +0.1 c OK -poly chord 60 72 84 holds at Coupling 100%, voice 1: +0.2 c OK -poly chord 60 72 84 holds at Coupling 100%, voice 2: +0.2 c OK -preset Chord Keys, chord 36 40 43, voice 0: -11.8 c OK -preset Chord Keys, chord 36 40 43, voice 1: -1.5 c OK -preset Chord Keys, chord 36 40 43, voice 2: +1.3 c OK -preset Chord Keys, chord 36 39 43, voice 0: -12.1 c OK -preset Chord Keys, chord 36 39 43, voice 1: -8.0 c OK -preset Chord Keys, chord 36 39 43, voice 2: +1.2 c OK -preset Chord Keys, chord 36 43 48, voice 0: -7.9 c OK -preset Chord Keys, chord 36 43 48, voice 1: +0.9 c OK -preset Chord Keys, chord 36 43 48, voice 2: +5.6 c OK -preset Chord Keys, chord 36 41 43, voice 0: -11.3 c OK -preset Chord Keys, chord 36 41 43, voice 1: +3.6 c OK -preset Chord Keys, chord 36 41 43, voice 2: +1.3 c OK -preset Chord Keys, chord 36 38 43, voice 0: -11.3 c OK -preset Chord Keys, chord 36 38 43, voice 1: +0.7 c OK -preset Chord Keys, chord 36 38 43, voice 2: +1.1 c OK -preset Chord Keys, chord 42 46 49, voice 0: +2.2 c OK -preset Chord Keys, chord 42 46 49, voice 1: -6.6 c OK -preset Chord Keys, chord 42 46 49, voice 2: -6.4 c OK -preset Chord Keys, chord 42 45 49, voice 0: +3.1 c OK -preset Chord Keys, chord 42 45 49, voice 1: -1.8 c OK -preset Chord Keys, chord 42 45 49, voice 2: -6.5 c OK -preset Chord Keys, chord 42 49 54, voice 0: +2.6 c OK -preset Chord Keys, chord 42 49 54, voice 1: -6.4 c OK -preset Chord Keys, chord 42 49 54, voice 2: +0.8 c OK -preset Chord Keys, chord 42 47 49, voice 0: +2.5 c OK -preset Chord Keys, chord 42 47 49, voice 1: +0.2 c OK -preset Chord Keys, chord 42 47 49, voice 2: -6.5 c OK -preset Chord Keys, chord 42 44 49, voice 0: +3.1 c OK -preset Chord Keys, chord 42 44 49, voice 1: -1.8 c OK -preset Chord Keys, chord 42 44 49, voice 2: -6.5 c OK -preset Chord Keys, chord 48 52 55, voice 0: +5.6 c OK -preset Chord Keys, chord 48 52 55, voice 1: +0.9 c OK -preset Chord Keys, chord 48 52 55, voice 2: +1.1 c OK -preset Chord Keys, chord 48 51 55, voice 0: +5.7 c OK -preset Chord Keys, chord 48 51 55, voice 1: +3.8 c OK -preset Chord Keys, chord 48 51 55, voice 2: +1.3 c OK -preset Chord Keys, chord 48 55 60, voice 0: +6.7 c OK -preset Chord Keys, chord 48 55 60, voice 1: +1.3 c OK -preset Chord Keys, chord 48 55 60, voice 2: +0.2 c OK -preset Chord Keys, chord 48 53 55, voice 0: +6.2 c OK -preset Chord Keys, chord 48 53 55, voice 1: +5.8 c OK -preset Chord Keys, chord 48 53 55, voice 2: +1.2 c OK -preset Chord Keys, chord 48 50 55, voice 0: +5.2 c OK -preset Chord Keys, chord 48 50 55, voice 1: +2.7 c OK -preset Chord Keys, chord 48 50 55, voice 2: +1.4 c OK -preset Chord Keys, chord 54 58 61, voice 0: +2.5 c OK -preset Chord Keys, chord 54 58 61, voice 1: +0.0 c OK -preset Chord Keys, chord 54 58 61, voice 2: -0.9 c OK -preset Chord Keys, chord 54 57 61, voice 0: +2.3 c OK -preset Chord Keys, chord 54 57 61, voice 1: +1.5 c OK -preset Chord Keys, chord 54 57 61, voice 2: -1.1 c OK -preset Chord Keys, chord 54 61 66, voice 0: +2.1 c OK -preset Chord Keys, chord 54 61 66, voice 1: -0.7 c OK -preset Chord Keys, chord 54 61 66, voice 2: -2.0 c OK -preset Chord Keys, chord 54 59 61, voice 0: +2.2 c OK -preset Chord Keys, chord 54 59 61, voice 1: -0.2 c OK -preset Chord Keys, chord 54 59 61, voice 2: -1.1 c OK -preset Chord Keys, chord 54 56 61, voice 0: +2.6 c OK -preset Chord Keys, chord 54 56 61, voice 1: +0.9 c OK -preset Chord Keys, chord 54 56 61, voice 2: -1.0 c OK -preset Chord Keys, chord 60 64 67, voice 0: +0.4 c OK -preset Chord Keys, chord 60 64 67, voice 1: -0.2 c OK -preset Chord Keys, chord 60 64 67, voice 2: +1.3 c OK -preset Chord Keys, chord 60 63 67, voice 0: +0.7 c OK -preset Chord Keys, chord 60 63 67, voice 1: +0.5 c OK -preset Chord Keys, chord 60 63 67, voice 2: +1.3 c OK -preset Chord Keys, chord 60 67 72, voice 0: +0.3 c OK -preset Chord Keys, chord 60 67 72, voice 1: +1.5 c OK -preset Chord Keys, chord 60 67 72, voice 2: -0.7 c OK -preset Chord Keys, chord 60 65 67, voice 0: +0.7 c OK -preset Chord Keys, chord 60 65 67, voice 1: -2.7 c OK -preset Chord Keys, chord 60 65 67, voice 2: +1.3 c OK -preset Chord Keys, chord 60 62 67, voice 0: +0.5 c OK -preset Chord Keys, chord 60 62 67, voice 1: +0.9 c OK -preset Chord Keys, chord 60 62 67, voice 2: +1.4 c OK -poly restart starts on the new notes: 52.00 57.00 OK -poly restart with a new chord, voice 0: +0.4 c OK -poly restart with a new chord, voice 1: +0.2 c OK -poly restart with a new chord, voice 2: +0.2 c OK -poly restart builds as fast, voice 1: 0.35 s, fresh 0.35 s OK -poly restart builds as fast, voice 2: 0.40 s, fresh 0.35 s OK -poly restart keeps the filters: voice 1 slope rms 0.03231, fresh 0.03231 OK -poly knob intervals: +7.000 +12.000 OK -poly interval +24 at Frequency 1.0: voice 1 note 84.00 finite=1 in range=1 OK -poly interval -24 at Frequency 0.0: voice 1 note 16.00 finite=1 in range=1 OK -poly never assigned voice stays closed: -84.1 dB below voice 0 OK -poly gate per voice: closed voice -83.9 dB, open voice -0.0 dB OK -poly chord audible at once: rms 0.9846 0.9809 0.9798, voice 1 early=1, no ramp (error 0.00000) OK -poly stability at maximum, chord 16 50 84: finite=1 peak=0.655 recoveries=0 OK -poly stability at maximum, chord 48 48 48: finite=1 peak=0.694 recoveries=0 OK -poly stability at maximum, LOCK from the knobs: finite=1 peak=0.554 recoveries=0 OK -poly stability at maximum, knobs, Body 0: finite=1 peak=0.714 recoveries=0 OK -poly stability at maximum, knobs, Body 1: finite=1 peak=0.683 recoveries=0 OK -poly closed voice at Coupling 100%, reverb 0.0, voice 0 open, interval 0: -83.9 dB OK -poly closed voice at Coupling 100%, reverb 0.0, voice 0 open, interval 7: -84.0 dB OK -poly closed voice at Coupling 100%, reverb 0.0, voice 0 open, interval 6: -83.9 dB OK -poly closed voice at Coupling 100%, reverb 0.0, voices 0 and 1 open, interval 0: -83.9 dB OK -poly closed voice at Coupling 100%, reverb 0.0, voices 0 and 1 open, interval 7: -84.0 dB OK -poly closed voice at Coupling 100%, reverb 0.0, voices 0 and 1 open, interval 6: -83.9 dB OK -poly closed voice at Coupling 100%, reverb 0.0, voices 1 and 2 open, interval 0: -83.9 dB OK -poly closed voice at Coupling 100%, reverb 0.0, voices 1 and 2 open, interval 7: -84.0 dB OK -poly closed voice at Coupling 100%, reverb 0.0, voices 1 and 2 open, interval 6: -83.9 dB OK -poly closed voice at Coupling 100%, reverb 0.5, voice 0 open, interval 0: -87.8 dB OK -poly closed voice at Coupling 100%, reverb 0.5, voice 0 open, interval 7: -88.0 dB OK -poly closed voice at Coupling 100%, reverb 0.5, voice 0 open, interval 6: -87.8 dB OK -poly closed voice at Coupling 100%, reverb 0.5, voices 0 and 1 open, interval 0: -87.8 dB OK -poly closed voice at Coupling 100%, reverb 0.5, voices 0 and 1 open, interval 7: -88.1 dB OK -poly closed voice at Coupling 100%, reverb 0.5, voices 0 and 1 open, interval 6: -87.8 dB OK -poly closed voice at Coupling 100%, reverb 0.5, voices 1 and 2 open, interval 0: -87.8 dB OK -poly closed voice at Coupling 100%, reverb 0.5, voices 1 and 2 open, interval 7: -87.8 dB OK -poly closed voice at Coupling 100%, reverb 0.5, voices 1 and 2 open, interval 6: -87.8 dB OK -poly voice restarting closed at Coupling 100%: -84.1 dB OK -poly LOCK from the knobs, Frequency 0.30 Body 0.3: worst voice 0.8 c OK -poly LOCK from the knobs, Frequency 0.30 Body 0.6: worst voice 0.8 c OK -poly LOCK from the knobs, Frequency 0.30 Body 0.9: worst voice 0.5 c OK -poly LOCK from the knobs, Frequency 0.43 Body 0.3: worst voice 0.2 c OK -poly LOCK from the knobs, Frequency 0.43 Body 0.6: worst voice 0.2 c OK -poly LOCK from the knobs, Frequency 0.43 Body 0.9: worst voice 0.2 c OK -poly LOCK from the knobs, Frequency 0.55 Body 0.3: worst voice 0.2 c OK -poly LOCK from the knobs, Frequency 0.55 Body 0.6: worst voice 0.2 c OK -poly LOCK from the knobs, Frequency 0.55 Body 0.9: worst voice 0.2 c OK -poly LOCK from the knobs, Frequency 0.70 Body 0.3: worst voice 0.2 c OK -poly LOCK from the knobs, Frequency 0.70 Body 0.6: worst voice 0.2 c OK -poly LOCK from the knobs, Frequency 0.70 Body 0.9: worst voice 0.2 c OK -poly free voices on one pitch: 6 of 42 settings OK -poly LOCK at Highpass 0.8: rms 0.00003, free 0.120 OK -poly LOCK off at Coupling 0%, Frequency 0.30 Body 0.3: largest kink 0.00109, before 0.00092 OK -poly LOCK off at Coupling 0%, Frequency 0.30 Body 0.7: largest kink 0.00108, before 0.00087 OK -poly LOCK off at Coupling 0%, Frequency 0.43 Body 0.3: largest kink 0.00266, before 0.00351 OK -poly LOCK off at Coupling 0%, Frequency 0.43 Body 0.7: largest kink 0.00260, before 0.00348 OK -poly LOCK off at Coupling 100%, Frequency 0.30 Body 0.3: largest kink 0.00081, before 0.00095 OK -poly LOCK off at Coupling 100%, Frequency 0.30 Body 0.7: largest kink 0.00170, before 0.00090 OK -poly LOCK off at Coupling 100%, Frequency 0.43 Body 0.3: largest kink 0.00288, before 0.00365 OK -poly LOCK off at Coupling 100%, Frequency 0.43 Body 0.7: largest kink 0.00512, before 0.00343 OK -poly Coupling 100% changes the spectrum, chord 48 55 64: 0.167 OK -poly Coupling 100% changes the spectrum, chord 60 64 67: 0.445 OK -poly Coupling 100% changes the spectrum, knobs +7 +12: 0.547 OK -poly Coupling 100% changes the spectrum, LOCK, knobs +7 +12: 0.190 OK -poly Body 0.7, Coupling 80%: 0 of 84 voices moved off their notes, worst 0.6 c OK -poly Body 0.7, Coupling 100%: 0 of 84 voices moved off their notes, worst 0.6 c OK -poly Body 0.8, Coupling 80%: 0 of 84 voices moved off their notes, worst 0.5 c OK -poly Body 0.8, Coupling 100%: 0 of 84 voices moved off their notes, worst 0.5 c OK -poly Body 0.9, Coupling 80%: 0 of 83 voices moved off their notes, worst 0.5 c OK -poly Body 0.9, Coupling 100%: 0 of 83 voices moved off their notes, worst 0.5 c OK -poly Body 1.0, Coupling 80%: 0 of 84 voices moved off their notes, worst 0.5 c OK -poly Body 1.0, Coupling 100%: 0 of 84 voices moved off their notes, worst 0.5 c OK -poly Coupling 100% changes the spectrum at Body 0.5: 0.286 OK -poly ramp on at Coupling 100%, L: largest jump 0.01056, before 0.01099, finite=1 OK -poly ramp on at Coupling 100%, R: largest jump 0.01063, before 0.01099, finite=1 OK -poly ramp off, reversing at Coupling 100%, L: largest jump 0.01459, before 0.02057, finite=1 OK -poly ramp off, reversing at Coupling 100%, R: largest jump 0.01058, before 0.02072, finite=1 OK -poly Recover restores all voices: rms 0.9852 0.9809 0.9798 OK -CPU, polyphony off: 0.1717 s per second of audio -CPU, polyphony on: 0.4314 s per second of audio -pongMonoSum: L + R with PONG on is 4.72 dB from PONG off OK -pongSameColorThroughCore: spectral difference 0.065 OK -pongBackToFirmware: OK -pongToneSweepWhileRunningAway: peak 0.286, recoveries 0 OK -pongToneSurvivesRecover: peak at 271 Hz after Init OK -pongSwitchDuringRunaway at 4.00 s: largest jump 0.10246, limit 0.21063 OK -pongSwitchDuringRunaway at 4.00 s: largest jump 0.11989, limit 0.18387 OK -pongSwitchDuringRunaway at 6.00 s: largest jump 0.09754, limit 0.18993 OK -pongSwitchDuringRunaway at 6.00 s: largest jump 0.09551, limit 0.13366 OK -pongOnFromFirstBlock: OK -pongSwitchClickFree at 2.00 s: largest jump 0.33666, limit 0.50092 OK -pongSwitchClickFree at 2.00 s: largest jump 0.33835, limit 0.42447 OK -pongSwitchClickFree at 4.00 s: largest jump 0.33256, limit 0.40118 OK -pongSwitchClickFree at 4.00 s: largest jump 0.31472, limit 0.38138 OK -pongSwitchClickFree at 2.00 s: largest jump 0.05727, limit 0.07253 OK -pongSwitchClickFree at 2.00 s: largest jump 0.05562, limit 0.07392 OK -pongSwitchClickFree at 4.00 s: largest jump 0.03375, limit 0.06055 OK -pongSwitchClickFree at 4.00 s: largest jump 0.03673, limit 0.06286 OK -pongSwitchReverses: mix 0.000 20 ms after switching back OK -pongSwitchReverses at 2.00 s: largest jump 0.05727, limit 0.07253 OK -pongSwitchReverses at 2.00 s: largest jump 0.05631, limit 0.07392 OK -pongBoundsAtMaximum: peak 0.477, recoveries 0, mean 0.00006, 0.00006 OK -pongBouncesThroughCore, repeat 1: L over R 73.8 dB OK -pongBouncesThroughCore, repeat 2: L over R -68.7 dB OK -pongWidthAndLevelThroughCore: Width 0 L over R -0.00 dB and -6.01 dB from full width, Level -12 dB gives -11.99 dB OK -pongRecoversFromNan: tail RMS 0.10852 before, 0.000008 after, mix 1.00 OK -pongSurvivesTimeSweep: peak 0.299, recoveries 0 OK -everyPresetWithPongOn: OK -pongIndependentOfBlockSize: OK -emberPongSelfSustains: Ember Pong, RMS 0.0245 with nothing feeding it OK -stereoBounces: OK -stereoTiming, T 12000 samples: OK -stereoTiming, T 17250 samples: OK -stereoSameColor: largest difference 0.000 dB OK -stereoToneMovesCenter, Tone 300 Hz: peak at 271 Hz OK -stereoToneMovesCenter, Tone 3000 Hz: peak at 2936 Hz OK -stereoRunaway, Drive 1, Feedback 0.6: RMS 0.48065 after 20 s OK -stereoRunaway, Drive 1, Feedback 0.4: RMS 0.00000 after 20 s OK -stereoRunaway, Drive 0, Feedback 0.9: RMS 0.00000 after 20 s OK -stereoFeedbackZeroIsOneRepeat: OK -stereoWidthZeroIsMono: repeat 0.046821, half the side 0.046821 OK -stereoWidthAndLevelLeaveTheLoop: largest difference 1.5e-08 OK -stereoAliasing at 3100 Hz, Drive 1, Tone 3200 Hz: -54.0 dB at Feedback 0, -31.4 dB at Feedback 0.9 OK -stereoRampSettles: 1.0000000 after switching on, 0.0000000 after switching off OK -echoCenterReturnsBitForBit: OK -echoShapedAtUnityIsProcess: OK -stereoEchoMatchesTwoLines: OK -ALL OK diff --git a/review/logs/render_test-asan-ubsan-sandbox-prefix.log b/review/logs/render_test-asan-ubsan-sandbox-prefix.log deleted file mode 100644 index 7a955eb..0000000 --- a/review/logs/render_test-asan-ubsan-sandbox-prefix.log +++ /dev/null @@ -1,473 +0,0 @@ -default_drone block=4 peak=0.337 rms=0.1375 finite=1 sound=1 OK -default_drone block=64 peak=0.337 rms=0.1375 finite=1 sound=1 OK -default_drone block=512 peak=0.337 rms=0.1375 finite=1 sound=1 OK -default_drone block=480 peak=0.337 rms=0.1375 finite=1 sound=1 OK -low_dark_verb block=4 peak=0.724 rms=0.2844 finite=1 sound=1 OK -low_dark_verb block=64 peak=0.724 rms=0.2844 finite=1 sound=1 OK -low_dark_verb block=512 peak=0.724 rms=0.2844 finite=1 sound=1 OK -low_dark_verb block=480 peak=0.724 rms=0.2844 finite=1 sound=1 OK -echo_runaway block=4 peak=0.737 rms=0.2704 finite=1 sound=1 OK -echo_runaway block=64 peak=0.737 rms=0.2704 finite=1 sound=1 OK -echo_runaway block=512 peak=0.737 rms=0.2704 finite=1 sound=1 OK -echo_runaway block=480 peak=0.737 rms=0.2704 finite=1 sound=1 OK -everything_max block=4 peak=0.750 rms=0.2610 finite=1 sound=1 OK -everything_max block=64 peak=0.750 rms=0.2610 finite=1 sound=1 OK -everything_max block=512 peak=0.750 rms=0.2610 finite=1 sound=1 OK -everything_max block=480 peak=0.750 rms=0.2610 finite=1 sound=1 OK -gain_zero block=4 peak=0.000 rms=0.0000 finite=1 sound=0 OK -gain_zero block=64 peak=0.000 rms=0.0000 finite=1 sound=0 OK -gain_zero block=512 peak=0.000 rms=0.0000 finite=1 sound=0 OK -gain_zero block=480 peak=0.000 rms=0.0000 finite=1 sound=0 OK -input passthrough rms=0.0786 OK -midi pitch dry on note (<25c) 68/69, worst of those 2.2 c OK -midi pitch Body min on note (<25c) 68/69, worst of those 2.2 c OK -midi pitch Body max on note (<25c) 67/69, worst of those 24.4 c OK -midi pitch Default preset on note (<25c) 66/69, worst of those 24.2 c OK -gate open rms=0.1176 closed rms=0.00001 (-84.0 dB) OK -resampler 48k->44.1k 1 kHz passes -0.00 dB OK -resampler 48k->44.1k 15 kHz passes -0.00 dB OK -resampler 48k->44.1k 23 kHz folded image -94.34 dB OK -resampler 48k->96k 1 kHz passes -0.00 dB OK -resampler 48k->96k 10 kHz image at 38 kHz -124.13 dB OK -resampler 96k->48k 30 kHz folded image -94.98 dB OK -resampler 44.1k->48k 1 kHz passes -0.00 dB OK -preset Default rms=0.1279 ( -17.9 dBFS) peak=0.337 OK -preset Sub Cellar rms=0.1550 ( -16.2 dBFS) peak=0.475 OK -preset Glass Wind rms=0.2108 ( -13.5 dBFS) peak=0.547 OK -preset Cathedral Bloom rms=0.2667 ( -11.5 dBFS) peak=0.786 OK -preset Echo Drift rms=0.1572 ( -16.1 dBFS) peak=0.259 OK -preset Doppler Void rms=0.1061 ( -19.5 dBFS) peak=0.349 OK -preset Dark Tide rms=0.1946 ( -14.2 dBFS) peak=0.672 OK -preset Razor Feedback rms=0.1447 ( -16.8 dBFS) peak=0.290 OK -preset Quiet Room rms=0.0818 ( -21.7 dBFS) peak=0.225 OK -preset Keys (play notes) rms=0.1321 ( -17.6 dBFS) peak=0.332 OK -preset Resonator (needs input) rms=0.0000 (-104.7 dBFS) peak=0.000 OK -preset Init (silent) rms=0.0000 (-102.5 dBFS) peak=0.000 OK -preset Open Fifths rms=0.1736 ( -15.2 dBFS) peak=0.461 OK -threeStringsSound Open Fifths strongest partial 151.2 Hz holds 53% of the power OK -preset Sympathetic rms=0.1365 ( -17.3 dBFS) peak=0.519 OK -threeStringsSound Sympathetic strongest partial 354.1 Hz holds 18% of the power OK -preset Chord Keys rms=0.1094 ( -19.2 dBFS) peak=0.283 OK -preset Ember Pong rms=0.0977 ( -20.2 dBFS) peak=0.236 OK -allocations while rendering, NaN recovery included: 0 OK -recovery from NaN: finite=1 rms of last second=0.0926 OK -filter state cleared by Init: OK -published Body, knob: 0.00991 s (knob 0.00991) OK -published note 60.000, Body 0.01170 s (3 periods 0.01147) OK -Echo Time with WARP: 0.359 s (expected 0.359) OK -engine, voice 0 independent at Coupling 0: same=1 others differ=1 OK -engine, unison voices differ: 1/0=1 2/1=1 OK -engine, Coupling rings a closed voice: 0.000067 -> 0.987463 (+83.4 dB) OK -engine, LPF 18000 Hz, ramp at 2 s: largest jump 0.31237, before 0.41388 OK -engine, LPF 18000 Hz, ramp at 2 s: largest jump 0.29941, before 0.36154 OK -engine, LPF 18000 Hz, ramp at 4 s: largest jump 0.36308, before 0.50708 OK -engine, LPF 18000 Hz, ramp at 4 s: largest jump 0.35730, before 0.48575 OK -engine, LPF 800 Hz, ramp at 2 s: largest jump 0.03125, before 0.03164 OK -engine, LPF 800 Hz, ramp at 2 s: largest jump 0.03141, before 0.03165 OK -engine, LPF 800 Hz, ramp at 4 s: largest jump 0.03301, before 0.05445 OK -engine, LPF 800 Hz, ramp at 4 s: largest jump 0.04374, before 0.05448 OK -engine, ramp end: default off=1 on=1 during=1 at 959=1 off at 961=1 off after Init=1 OK -engine, ramp settles on the sum: largest error 0.0000000 OK -engine, restart from silence: peak 0.000077 (was 1.956) OK -engine, ramp reversing from on: finite=1 largest jump 0.51978, before 0.50241 OK -engine, ramp reversing from off: finite=1 largest jump 0.31447, before 0.41388 OK -poly chord 36 43 52, Coupling 0%, voice 0: -0.6 c OK -poly chord 36 43 52, Coupling 0%, voice 1: -0.1 c OK -poly chord 36 43 52, Coupling 0%, voice 2: +0.1 c OK -poly chord 45 52 57, Coupling 0%, voice 0: +0.2 c OK -poly chord 45 52 57, Coupling 0%, voice 1: +0.1 c OK -poly chord 45 52 57, Coupling 0%, voice 2: +0.2 c OK -poly chord 48 55 64, Coupling 0%, voice 0: +0.2 c OK -poly chord 48 55 64, Coupling 0%, voice 1: +0.2 c OK -poly chord 48 55 64, Coupling 0%, voice 2: +0.3 c OK -poly chord 60 64 67, Coupling 0%, voice 0: +0.2 c OK -poly chord 60 64 67, Coupling 0%, voice 1: +0.3 c OK -poly chord 60 64 67, Coupling 0%, voice 2: +0.2 c OK -poly chord 64 69 76, Coupling 0%, voice 0: +0.3 c OK -poly chord 64 69 76, Coupling 0%, voice 1: +0.2 c OK -poly chord 64 69 76, Coupling 0%, voice 2: +0.2 c OK -poly chord 36 43 52, Coupling 100%, voice 0: -1.0 c OK -poly chord 36 43 52, Coupling 100%, voice 1: -0.0 c OK -poly chord 36 43 52, Coupling 100%, voice 2: -0.0 c OK -poly chord 45 52 57, Coupling 100%, voice 0: +0.1 c OK -poly chord 45 52 57, Coupling 100%, voice 1: +0.0 c OK -poly chord 45 52 57, Coupling 100%, voice 2: -0.3 c OK -poly chord 48 55 64, Coupling 100%, voice 0: +0.0 c OK -poly chord 48 55 64, Coupling 100%, voice 1: +0.0 c OK -poly chord 48 55 64, Coupling 100%, voice 2: +0.0 c OK -poly chord 60 64 67, Coupling 100%, voice 0: +0.5 c OK -poly chord 60 64 67, Coupling 100%, voice 1: +0.5 c OK -poly chord 60 64 67, Coupling 100%, voice 2: -0.6 c OK -poly chord 64 69 76, Coupling 100%, voice 0: +0.4 c OK -poly chord 64 69 76, Coupling 100%, voice 1: +0.1 c OK -poly chord 64 69 76, Coupling 100%, voice 2: +0.1 c OK -poly chord 24 28 31 holds at Coupling 100%, voice 0: +0.8 c OK -poly chord 24 28 31 holds at Coupling 100%, voice 1: -0.9 c OK -poly chord 24 28 31 holds at Coupling 100%, voice 2: +0.7 c OK -poly chord 24 27 31 holds at Coupling 100%, voice 0: +0.6 c OK -poly chord 24 27 31 holds at Coupling 100%, voice 1: -0.4 c OK -poly chord 24 27 31 holds at Coupling 100%, voice 2: +1.6 c OK -poly chord 24 31 36 holds at Coupling 100%, voice 0: +0.4 c OK -poly chord 24 31 36 holds at Coupling 100%, voice 1: +0.0 c OK -poly chord 24 31 36 holds at Coupling 100%, voice 2: -0.4 c OK -poly chord 24 29 31 holds at Coupling 100%, voice 0: +0.9 c OK -poly chord 24 29 31 holds at Coupling 100%, voice 1: -0.2 c OK -poly chord 24 29 31 holds at Coupling 100%, voice 2: +0.8 c OK -poly chord 24 26 31 holds at Coupling 100%, voice 0: +0.8 c OK -poly chord 24 26 31 holds at Coupling 100%, voice 1: -0.3 c OK -poly chord 24 26 31 holds at Coupling 100%, voice 2: +1.3 c OK -poly chord 24 25 26 holds at Coupling 100%, voice 0: +1.7 c OK -poly chord 24 25 26 holds at Coupling 100%, voice 1: -1.7 c OK -poly chord 24 25 26 holds at Coupling 100%, voice 2: -2.6 c OK -poly chord 24 31 40 holds at Coupling 100%, voice 0: +0.7 c OK -poly chord 24 31 40 holds at Coupling 100%, voice 1: +0.4 c OK -poly chord 24 31 40 holds at Coupling 100%, voice 2: +0.9 c OK -poly chord 24 36 48 holds at Coupling 100%, voice 0: +0.6 c OK -poly chord 24 36 48 holds at Coupling 100%, voice 1: -1.0 c OK -poly chord 24 36 48 holds at Coupling 100%, voice 2: +0.2 c OK -poly chord 30 34 37 holds at Coupling 100%, voice 0: -0.4 c OK -poly chord 30 34 37 holds at Coupling 100%, voice 1: -0.4 c OK -poly chord 30 34 37 holds at Coupling 100%, voice 2: +2.0 c OK -poly chord 30 33 37 holds at Coupling 100%, voice 0: -0.8 c OK -poly chord 30 33 37 holds at Coupling 100%, voice 1: -0.7 c OK -poly chord 30 33 37 holds at Coupling 100%, voice 2: +1.9 c OK -poly chord 30 37 42 holds at Coupling 100%, voice 0: -0.3 c OK -poly chord 30 37 42 holds at Coupling 100%, voice 1: +0.1 c OK -poly chord 30 37 42 holds at Coupling 100%, voice 2: -0.3 c OK -poly chord 30 35 37 holds at Coupling 100%, voice 0: -0.4 c OK -poly chord 30 35 37 holds at Coupling 100%, voice 1: -0.7 c OK -poly chord 30 35 37 holds at Coupling 100%, voice 2: +1.9 c OK -poly chord 30 32 37 holds at Coupling 100%, voice 0: -0.9 c OK -poly chord 30 32 37 holds at Coupling 100%, voice 1: -0.2 c OK -poly chord 30 32 37 holds at Coupling 100%, voice 2: +1.4 c OK -poly chord 30 31 32 holds at Coupling 100%, voice 0: -2.7 c OK -poly chord 30 31 32 holds at Coupling 100%, voice 1: +1.6 c OK -poly chord 30 31 32 holds at Coupling 100%, voice 2: +2.3 c OK -poly chord 30 37 46 holds at Coupling 100%, voice 0: +0.0 c OK -poly chord 30 37 46 holds at Coupling 100%, voice 1: +0.4 c OK -poly chord 30 37 46 holds at Coupling 100%, voice 2: +0.4 c OK -poly chord 30 42 54 holds at Coupling 100%, voice 0: +0.1 c OK -poly chord 30 42 54 holds at Coupling 100%, voice 1: -0.1 c OK -poly chord 30 42 54 holds at Coupling 100%, voice 2: -0.5 c OK -poly chord 36 40 43 holds at Coupling 100%, voice 0: -1.6 c OK -poly chord 36 40 43 holds at Coupling 100%, voice 1: +0.1 c OK -poly chord 36 40 43 holds at Coupling 100%, voice 2: +1.0 c OK -poly chord 36 39 43 holds at Coupling 100%, voice 0: -1.7 c OK -poly chord 36 39 43 holds at Coupling 100%, voice 1: +0.6 c OK -poly chord 36 39 43 holds at Coupling 100%, voice 2: +0.7 c OK -poly chord 36 43 48 holds at Coupling 100%, voice 0: -1.3 c OK -poly chord 36 43 48 holds at Coupling 100%, voice 1: -0.1 c OK -poly chord 36 43 48 holds at Coupling 100%, voice 2: -0.9 c OK -poly chord 36 41 43 holds at Coupling 100%, voice 0: -1.5 c OK -poly chord 36 41 43 holds at Coupling 100%, voice 1: +0.1 c OK -poly chord 36 41 43 holds at Coupling 100%, voice 2: +1.0 c OK -poly chord 36 38 43 holds at Coupling 100%, voice 0: -1.9 c OK -poly chord 36 38 43 holds at Coupling 100%, voice 1: +0.6 c OK -poly chord 36 38 43 holds at Coupling 100%, voice 2: +0.4 c OK -poly chord 36 37 38 holds at Coupling 100%, voice 0: -2.8 c OK -poly chord 36 37 38 holds at Coupling 100%, voice 1: +2.9 c OK -poly chord 36 37 38 holds at Coupling 100%, voice 2: +2.7 c OK -poly chord 36 43 52 holds at Coupling 100%, voice 0: -1.0 c OK -poly chord 36 43 52 holds at Coupling 100%, voice 1: -0.0 c OK -poly chord 36 43 52 holds at Coupling 100%, voice 2: -0.0 c OK -poly chord 36 48 60 holds at Coupling 100%, voice 0: -0.7 c OK -poly chord 36 48 60 holds at Coupling 100%, voice 1: -0.5 c OK -poly chord 36 48 60 holds at Coupling 100%, voice 2: +0.2 c OK -poly chord 42 46 49 holds at Coupling 100%, voice 0: -0.7 c OK -poly chord 42 46 49 holds at Coupling 100%, voice 1: +0.2 c OK -poly chord 42 46 49 holds at Coupling 100%, voice 2: +0.1 c OK -poly chord 42 45 49 holds at Coupling 100%, voice 0: -0.7 c OK -poly chord 42 45 49 holds at Coupling 100%, voice 1: +0.5 c OK -poly chord 42 45 49 holds at Coupling 100%, voice 2: -0.0 c OK -poly chord 42 49 54 holds at Coupling 100%, voice 0: -0.1 c OK -poly chord 42 49 54 holds at Coupling 100%, voice 1: +0.0 c OK -poly chord 42 49 54 holds at Coupling 100%, voice 2: -0.2 c OK -poly chord 42 47 49 holds at Coupling 100%, voice 0: -0.7 c OK -poly chord 42 47 49 holds at Coupling 100%, voice 1: +0.2 c OK -poly chord 42 47 49 holds at Coupling 100%, voice 2: +0.1 c OK -poly chord 42 44 49 holds at Coupling 100%, voice 0: -0.7 c OK -poly chord 42 44 49 holds at Coupling 100%, voice 1: +0.3 c OK -poly chord 42 44 49 holds at Coupling 100%, voice 2: -0.1 c OK -poly chord 42 43 44 holds at Coupling 100%, voice 0: -0.6 c OK -poly chord 42 43 44 holds at Coupling 100%, voice 1: +2.9 c OK -poly chord 42 43 44 holds at Coupling 100%, voice 2: +0.5 c OK -poly chord 42 49 58 holds at Coupling 100%, voice 0: -0.3 c OK -poly chord 42 49 58 holds at Coupling 100%, voice 1: -0.0 c OK -poly chord 42 49 58 holds at Coupling 100%, voice 2: -0.0 c OK -poly chord 42 54 66 holds at Coupling 100%, voice 0: -0.2 c OK -poly chord 42 54 66 holds at Coupling 100%, voice 1: -0.0 c OK -poly chord 42 54 66 holds at Coupling 100%, voice 2: +0.0 c OK -poly chord 48 52 55 holds at Coupling 100%, voice 0: -0.1 c OK -poly chord 48 52 55 holds at Coupling 100%, voice 1: +0.1 c OK -poly chord 48 52 55 holds at Coupling 100%, voice 2: -0.4 c OK -poly chord 48 51 55 holds at Coupling 100%, voice 0: -0.0 c OK -poly chord 48 51 55 holds at Coupling 100%, voice 1: +0.1 c OK -poly chord 48 51 55 holds at Coupling 100%, voice 2: -0.4 c OK -poly chord 48 55 60 holds at Coupling 100%, voice 0: -0.4 c OK -poly chord 48 55 60 holds at Coupling 100%, voice 1: +0.0 c OK -poly chord 48 55 60 holds at Coupling 100%, voice 2: -0.5 c OK -poly chord 48 53 55 holds at Coupling 100%, voice 0: -0.1 c OK -poly chord 48 53 55 holds at Coupling 100%, voice 1: +0.3 c OK -poly chord 48 53 55 holds at Coupling 100%, voice 2: -0.6 c OK -poly chord 48 50 55 holds at Coupling 100%, voice 0: +0.1 c OK -poly chord 48 50 55 holds at Coupling 100%, voice 1: +0.0 c OK -poly chord 48 50 55 holds at Coupling 100%, voice 2: -0.4 c OK -poly chord 48 49 50 holds at Coupling 100%, voice 0: +2.3 c OK -poly chord 48 49 50 holds at Coupling 100%, voice 1: +2.7 c OK -poly chord 48 49 50 holds at Coupling 100%, voice 2: -2.5 c OK -poly chord 48 55 64 holds at Coupling 100%, voice 0: +0.0 c OK -poly chord 48 55 64 holds at Coupling 100%, voice 1: +0.0 c OK -poly chord 48 55 64 holds at Coupling 100%, voice 2: +0.0 c OK -poly chord 48 60 72 holds at Coupling 100%, voice 0: +0.1 c OK -poly chord 48 60 72 holds at Coupling 100%, voice 1: -0.1 c OK -poly chord 48 60 72 holds at Coupling 100%, voice 2: +0.5 c OK -poly chord 54 58 61 holds at Coupling 100%, voice 0: +0.4 c OK -poly chord 54 58 61 holds at Coupling 100%, voice 1: +0.4 c OK -poly chord 54 58 61 holds at Coupling 100%, voice 2: -0.6 c OK -poly chord 54 57 61 holds at Coupling 100%, voice 0: +0.5 c OK -poly chord 54 57 61 holds at Coupling 100%, voice 1: -0.0 c OK -poly chord 54 57 61 holds at Coupling 100%, voice 2: -0.5 c OK -poly chord 54 61 66 holds at Coupling 100%, voice 0: +0.2 c OK -poly chord 54 61 66 holds at Coupling 100%, voice 1: +0.1 c OK -poly chord 54 61 66 holds at Coupling 100%, voice 2: -0.0 c OK -poly chord 54 59 61 holds at Coupling 100%, voice 0: +0.2 c OK -poly chord 54 59 61 holds at Coupling 100%, voice 1: +0.7 c OK -poly chord 54 59 61 holds at Coupling 100%, voice 2: -0.7 c OK -poly chord 54 56 61 holds at Coupling 100%, voice 0: +0.7 c OK -poly chord 54 56 61 holds at Coupling 100%, voice 1: -0.3 c OK -poly chord 54 56 61 holds at Coupling 100%, voice 2: -0.4 c OK -poly chord 54 55 56 holds at Coupling 100%, voice 0: +4.2 c OK -poly chord 54 55 56 holds at Coupling 100%, voice 1: +2.6 c OK -poly chord 54 55 56 holds at Coupling 100%, voice 2: -4.4 c OK -poly chord 54 61 70 holds at Coupling 100%, voice 0: +0.2 c OK -poly chord 54 61 70 holds at Coupling 100%, voice 1: +0.0 c OK -poly chord 54 61 70 holds at Coupling 100%, voice 2: -0.0 c OK -poly chord 54 66 78 holds at Coupling 100%, voice 0: +0.1 c OK -poly chord 54 66 78 holds at Coupling 100%, voice 1: +0.1 c OK -poly chord 54 66 78 holds at Coupling 100%, voice 2: +0.0 c OK -poly chord 60 64 67 holds at Coupling 100%, voice 0: +0.5 c OK -poly chord 60 64 67 holds at Coupling 100%, voice 1: +0.5 c OK -poly chord 60 64 67 holds at Coupling 100%, voice 2: -0.6 c OK -poly chord 60 63 67 holds at Coupling 100%, voice 0: +0.8 c OK -poly chord 60 63 67 holds at Coupling 100%, voice 1: -0.1 c OK -poly chord 60 63 67 holds at Coupling 100%, voice 2: -0.4 c OK -poly chord 60 67 72 holds at Coupling 100%, voice 0: +0.2 c OK -poly chord 60 67 72 holds at Coupling 100%, voice 1: +0.2 c OK -poly chord 60 67 72 holds at Coupling 100%, voice 2: +0.2 c OK -poly chord 60 65 67 holds at Coupling 100%, voice 0: +0.3 c OK -poly chord 60 65 67 holds at Coupling 100%, voice 1: +0.9 c OK -poly chord 60 65 67 holds at Coupling 100%, voice 2: -0.7 c OK -poly chord 60 62 67 holds at Coupling 100%, voice 0: +1.0 c OK -poly chord 60 62 67 holds at Coupling 100%, voice 1: -0.3 c OK -poly chord 60 62 67 holds at Coupling 100%, voice 2: -0.2 c OK -poly chord 60 61 62 holds at Coupling 100%, voice 0: +3.5 c OK -poly chord 60 61 62 holds at Coupling 100%, voice 1: +1.6 c OK -poly chord 60 61 62 holds at Coupling 100%, voice 2: -3.2 c OK -poly chord 60 67 76 holds at Coupling 100%, voice 0: +0.3 c OK -poly chord 60 67 76 holds at Coupling 100%, voice 1: +0.1 c OK -poly chord 60 67 76 holds at Coupling 100%, voice 2: +0.0 c OK -poly chord 60 72 84 holds at Coupling 100%, voice 0: +0.1 c OK -poly chord 60 72 84 holds at Coupling 100%, voice 1: +0.2 c OK -poly chord 60 72 84 holds at Coupling 100%, voice 2: +0.2 c OK -preset Chord Keys, chord 36 40 43, voice 0: -11.8 c OK -preset Chord Keys, chord 36 40 43, voice 1: -1.5 c OK -preset Chord Keys, chord 36 40 43, voice 2: +1.3 c OK -preset Chord Keys, chord 36 39 43, voice 0: -12.1 c OK -preset Chord Keys, chord 36 39 43, voice 1: -8.0 c OK -preset Chord Keys, chord 36 39 43, voice 2: +1.2 c OK -preset Chord Keys, chord 36 43 48, voice 0: -7.9 c OK -preset Chord Keys, chord 36 43 48, voice 1: +0.9 c OK -preset Chord Keys, chord 36 43 48, voice 2: +5.6 c OK -preset Chord Keys, chord 36 41 43, voice 0: -11.3 c OK -preset Chord Keys, chord 36 41 43, voice 1: +3.6 c OK -preset Chord Keys, chord 36 41 43, voice 2: +1.3 c OK -preset Chord Keys, chord 36 38 43, voice 0: -11.3 c OK -preset Chord Keys, chord 36 38 43, voice 1: +0.7 c OK -preset Chord Keys, chord 36 38 43, voice 2: +1.1 c OK -preset Chord Keys, chord 42 46 49, voice 0: +2.2 c OK -preset Chord Keys, chord 42 46 49, voice 1: -6.6 c OK -preset Chord Keys, chord 42 46 49, voice 2: -6.4 c OK -preset Chord Keys, chord 42 45 49, voice 0: +3.1 c OK -preset Chord Keys, chord 42 45 49, voice 1: -1.8 c OK -preset Chord Keys, chord 42 45 49, voice 2: -6.5 c OK -preset Chord Keys, chord 42 49 54, voice 0: +2.6 c OK -preset Chord Keys, chord 42 49 54, voice 1: -6.4 c OK -preset Chord Keys, chord 42 49 54, voice 2: +0.8 c OK -preset Chord Keys, chord 42 47 49, voice 0: +2.5 c OK -preset Chord Keys, chord 42 47 49, voice 1: +0.2 c OK -preset Chord Keys, chord 42 47 49, voice 2: -6.5 c OK -preset Chord Keys, chord 42 44 49, voice 0: +3.1 c OK -preset Chord Keys, chord 42 44 49, voice 1: -1.8 c OK -preset Chord Keys, chord 42 44 49, voice 2: -6.5 c OK -preset Chord Keys, chord 48 52 55, voice 0: +5.6 c OK -preset Chord Keys, chord 48 52 55, voice 1: +0.9 c OK -preset Chord Keys, chord 48 52 55, voice 2: +1.1 c OK -preset Chord Keys, chord 48 51 55, voice 0: +5.7 c OK -preset Chord Keys, chord 48 51 55, voice 1: +3.8 c OK -preset Chord Keys, chord 48 51 55, voice 2: +1.3 c OK -preset Chord Keys, chord 48 55 60, voice 0: +6.7 c OK -preset Chord Keys, chord 48 55 60, voice 1: +1.3 c OK -preset Chord Keys, chord 48 55 60, voice 2: +0.2 c OK -preset Chord Keys, chord 48 53 55, voice 0: +6.2 c OK -preset Chord Keys, chord 48 53 55, voice 1: +5.8 c OK -preset Chord Keys, chord 48 53 55, voice 2: +1.2 c OK -preset Chord Keys, chord 48 50 55, voice 0: +5.2 c OK -preset Chord Keys, chord 48 50 55, voice 1: +2.7 c OK -preset Chord Keys, chord 48 50 55, voice 2: +1.4 c OK -preset Chord Keys, chord 54 58 61, voice 0: +2.5 c OK -preset Chord Keys, chord 54 58 61, voice 1: +0.0 c OK -preset Chord Keys, chord 54 58 61, voice 2: -0.9 c OK -preset Chord Keys, chord 54 57 61, voice 0: +2.3 c OK -preset Chord Keys, chord 54 57 61, voice 1: +1.5 c OK -preset Chord Keys, chord 54 57 61, voice 2: -1.1 c OK -preset Chord Keys, chord 54 61 66, voice 0: +2.1 c OK -preset Chord Keys, chord 54 61 66, voice 1: -0.7 c OK -preset Chord Keys, chord 54 61 66, voice 2: -2.0 c OK -preset Chord Keys, chord 54 59 61, voice 0: +2.2 c OK -preset Chord Keys, chord 54 59 61, voice 1: -0.2 c OK -preset Chord Keys, chord 54 59 61, voice 2: -1.1 c OK -preset Chord Keys, chord 54 56 61, voice 0: +2.6 c OK -preset Chord Keys, chord 54 56 61, voice 1: +0.9 c OK -preset Chord Keys, chord 54 56 61, voice 2: -1.0 c OK -preset Chord Keys, chord 60 64 67, voice 0: +0.4 c OK -preset Chord Keys, chord 60 64 67, voice 1: -0.2 c OK -preset Chord Keys, chord 60 64 67, voice 2: +1.3 c OK -preset Chord Keys, chord 60 63 67, voice 0: +0.7 c OK -preset Chord Keys, chord 60 63 67, voice 1: +0.5 c OK -preset Chord Keys, chord 60 63 67, voice 2: +1.3 c OK -preset Chord Keys, chord 60 67 72, voice 0: +0.3 c OK -preset Chord Keys, chord 60 67 72, voice 1: +1.5 c OK -preset Chord Keys, chord 60 67 72, voice 2: -0.7 c OK -preset Chord Keys, chord 60 65 67, voice 0: +0.7 c OK -preset Chord Keys, chord 60 65 67, voice 1: -2.7 c OK -preset Chord Keys, chord 60 65 67, voice 2: +1.3 c OK -preset Chord Keys, chord 60 62 67, voice 0: +0.5 c OK -preset Chord Keys, chord 60 62 67, voice 1: +0.9 c OK -preset Chord Keys, chord 60 62 67, voice 2: +1.4 c OK -poly restart starts on the new notes: 52.00 57.00 OK -poly restart with a new chord, voice 0: +0.4 c OK -poly restart with a new chord, voice 1: +0.2 c OK -poly restart with a new chord, voice 2: +0.2 c OK -poly restart builds as fast, voice 1: 0.35 s, fresh 0.35 s OK -poly restart builds as fast, voice 2: 0.40 s, fresh 0.35 s OK -poly restart keeps the filters: voice 1 slope rms 0.03231, fresh 0.03231 OK -poly knob intervals: +7.000 +12.000 OK -poly interval +24 at Frequency 1.0: voice 1 note 84.00 finite=1 in range=1 OK -poly interval -24 at Frequency 0.0: voice 1 note 16.00 finite=1 in range=1 OK -poly never assigned voice stays closed: -84.1 dB below voice 0 OK -poly gate per voice: closed voice -83.9 dB, open voice -0.0 dB OK -poly chord audible at once: rms 0.9846 0.9809 0.9798, voice 1 early=1, no ramp (error 0.00000) OK -poly stability at maximum, chord 16 50 84: finite=1 peak=0.655 recoveries=0 OK -poly stability at maximum, chord 48 48 48: finite=1 peak=0.694 recoveries=0 OK -poly stability at maximum, LOCK from the knobs: finite=1 peak=0.554 recoveries=0 OK -poly stability at maximum, knobs, Body 0: finite=1 peak=0.714 recoveries=0 OK -poly stability at maximum, knobs, Body 1: finite=1 peak=0.683 recoveries=0 OK -poly closed voice at Coupling 100%, reverb 0.0, voice 0 open, interval 0: -83.9 dB OK -poly closed voice at Coupling 100%, reverb 0.0, voice 0 open, interval 7: -84.0 dB OK -poly closed voice at Coupling 100%, reverb 0.0, voice 0 open, interval 6: -83.9 dB OK -poly closed voice at Coupling 100%, reverb 0.0, voices 0 and 1 open, interval 0: -83.9 dB OK -poly closed voice at Coupling 100%, reverb 0.0, voices 0 and 1 open, interval 7: -84.0 dB OK -poly closed voice at Coupling 100%, reverb 0.0, voices 0 and 1 open, interval 6: -83.9 dB OK -poly closed voice at Coupling 100%, reverb 0.0, voices 1 and 2 open, interval 0: -83.9 dB OK -poly closed voice at Coupling 100%, reverb 0.0, voices 1 and 2 open, interval 7: -84.0 dB OK -poly closed voice at Coupling 100%, reverb 0.0, voices 1 and 2 open, interval 6: -83.9 dB OK -poly closed voice at Coupling 100%, reverb 0.5, voice 0 open, interval 0: -87.8 dB OK -poly closed voice at Coupling 100%, reverb 0.5, voice 0 open, interval 7: -88.0 dB OK -poly closed voice at Coupling 100%, reverb 0.5, voice 0 open, interval 6: -87.8 dB OK -poly closed voice at Coupling 100%, reverb 0.5, voices 0 and 1 open, interval 0: -87.8 dB OK -poly closed voice at Coupling 100%, reverb 0.5, voices 0 and 1 open, interval 7: -88.1 dB OK -poly closed voice at Coupling 100%, reverb 0.5, voices 0 and 1 open, interval 6: -87.8 dB OK -poly closed voice at Coupling 100%, reverb 0.5, voices 1 and 2 open, interval 0: -87.8 dB OK -poly closed voice at Coupling 100%, reverb 0.5, voices 1 and 2 open, interval 7: -87.8 dB OK -poly closed voice at Coupling 100%, reverb 0.5, voices 1 and 2 open, interval 6: -87.8 dB OK -poly voice restarting closed at Coupling 100%: -84.1 dB OK -poly LOCK from the knobs, Frequency 0.30 Body 0.3: worst voice 0.8 c OK -poly LOCK from the knobs, Frequency 0.30 Body 0.6: worst voice 0.8 c OK -poly LOCK from the knobs, Frequency 0.30 Body 0.9: worst voice 0.5 c OK -poly LOCK from the knobs, Frequency 0.43 Body 0.3: worst voice 0.2 c OK -poly LOCK from the knobs, Frequency 0.43 Body 0.6: worst voice 0.2 c OK -poly LOCK from the knobs, Frequency 0.43 Body 0.9: worst voice 0.2 c OK -poly LOCK from the knobs, Frequency 0.55 Body 0.3: worst voice 0.2 c OK -poly LOCK from the knobs, Frequency 0.55 Body 0.6: worst voice 0.2 c OK -poly LOCK from the knobs, Frequency 0.55 Body 0.9: worst voice 0.2 c OK -poly LOCK from the knobs, Frequency 0.70 Body 0.3: worst voice 0.2 c OK -poly LOCK from the knobs, Frequency 0.70 Body 0.6: worst voice 0.2 c OK -poly LOCK from the knobs, Frequency 0.70 Body 0.9: worst voice 0.2 c OK -poly free voices on one pitch: 6 of 42 settings OK -poly LOCK at Highpass 0.8: rms 0.00003, free 0.120 OK -poly LOCK off at Coupling 0%, Frequency 0.30 Body 0.3: largest kink 0.00109, before 0.00092 OK -poly LOCK off at Coupling 0%, Frequency 0.30 Body 0.7: largest kink 0.00108, before 0.00087 OK -poly LOCK off at Coupling 0%, Frequency 0.43 Body 0.3: largest kink 0.00266, before 0.00351 OK -poly LOCK off at Coupling 0%, Frequency 0.43 Body 0.7: largest kink 0.00260, before 0.00348 OK -poly LOCK off at Coupling 100%, Frequency 0.30 Body 0.3: largest kink 0.00081, before 0.00095 OK -poly LOCK off at Coupling 100%, Frequency 0.30 Body 0.7: largest kink 0.00170, before 0.00090 OK -poly LOCK off at Coupling 100%, Frequency 0.43 Body 0.3: largest kink 0.00288, before 0.00365 OK -poly LOCK off at Coupling 100%, Frequency 0.43 Body 0.7: largest kink 0.00512, before 0.00343 OK -poly Coupling 100% changes the spectrum, chord 48 55 64: 0.167 OK -poly Coupling 100% changes the spectrum, chord 60 64 67: 0.445 OK -poly Coupling 100% changes the spectrum, knobs +7 +12: 0.547 OK -poly Coupling 100% changes the spectrum, LOCK, knobs +7 +12: 0.190 OK -poly Body 0.7, Coupling 80%: 0 of 84 voices moved off their notes, worst 0.6 c OK -poly Body 0.7, Coupling 100%: 0 of 84 voices moved off their notes, worst 0.6 c OK -poly Body 0.8, Coupling 80%: 0 of 84 voices moved off their notes, worst 0.5 c OK -poly Body 0.8, Coupling 100%: 0 of 84 voices moved off their notes, worst 0.5 c OK -poly Body 0.9, Coupling 80%: 0 of 83 voices moved off their notes, worst 0.5 c OK -poly Body 0.9, Coupling 100%: 0 of 83 voices moved off their notes, worst 0.5 c OK -poly Body 1.0, Coupling 80%: 0 of 84 voices moved off their notes, worst 0.5 c OK -poly Body 1.0, Coupling 100%: 0 of 84 voices moved off their notes, worst 0.5 c OK -poly Coupling 100% changes the spectrum at Body 0.5: 0.286 OK -poly ramp on at Coupling 100%, L: largest jump 0.01056, before 0.01099, finite=1 OK -poly ramp on at Coupling 100%, R: largest jump 0.01063, before 0.01099, finite=1 OK -poly ramp off, reversing at Coupling 100%, L: largest jump 0.01459, before 0.02057, finite=1 OK -poly ramp off, reversing at Coupling 100%, R: largest jump 0.01058, before 0.02072, finite=1 OK -poly Recover restores all voices: rms 0.9852 0.9809 0.9798 OK -CPU, polyphony off: 0.2118 s per second of audio -CPU, polyphony on: 0.5848 s per second of audio -pongMonoSum: L + R with PONG on is 4.74 dB from PONG off OK -pongSameColorThroughCore: spectral difference 0.065 OK -pongBackToFirmware: OK -pongToneSweepWhileRunningAway: peak 0.283, recoveries 0 OK -pongToneSurvivesRecover: peak at 271 Hz after Init OK -pongSwitchDuringRunaway at 4.00 s: largest jump 0.13367, limit 0.21139 OK -pongSwitchDuringRunaway at 4.00 s: largest jump 0.13270, limit 0.19273 OK -pongSwitchDuringRunaway at 6.00 s: largest jump 0.09231, limit 0.15567 OK -pongSwitchDuringRunaway at 6.00 s: largest jump 0.09741, limit 0.14231 OK -pongOnFromFirstBlock: OK -pongSwitchClickFree at 2.00 s: largest jump 0.33666, limit 0.50092 OK -pongSwitchClickFree at 2.00 s: largest jump 0.33835, limit 0.42447 OK -pongSwitchClickFree at 4.00 s: largest jump 0.33256, limit 0.40118 OK -pongSwitchClickFree at 4.00 s: largest jump 0.31472, limit 0.38138 OK -pongSwitchClickFree at 2.00 s: largest jump 0.05727, limit 0.07253 OK -pongSwitchClickFree at 2.00 s: largest jump 0.05562, limit 0.07392 OK -pongSwitchClickFree at 4.00 s: largest jump 0.03375, limit 0.06055 OK -pongSwitchClickFree at 4.00 s: largest jump 0.03673, limit 0.06286 OK -pongSwitchReverses: mix 0.000 20 ms after switching back OK -pongSwitchReverses at 2.00 s: largest jump 0.05727, limit 0.07253 OK -pongSwitchReverses at 2.00 s: largest jump 0.05631, limit 0.07392 OK -pongBoundsAtMaximum: peak 0.484, recoveries 0, mean 0.00001, 0.00001 OK -pongBouncesThroughCore, repeat 1: L over R 73.8 dB OK -pongBouncesThroughCore, repeat 2: L over R -68.7 dB OK -pongWidthAndLevelThroughCore: Width 0 L over R 0.00 dB and -6.01 dB from full width, Level -12 dB gives -11.99 dB OK -pongRecoversFromNan: tail RMS 0.10670 before, 0.000008 after, mix 1.00 OK -pongSurvivesTimeSweep: peak 0.265, recoveries 0 OK -everyPresetWithPongOn: OK -pongIndependentOfBlockSize: OK -emberPongSelfSustains: Ember Pong, RMS 0.0224 with nothing feeding it OK -stereoBounces: OK -stereoTiming, T 12000 samples: OK -stereoTiming, T 17250 samples: OK -stereoSameColor: largest difference 0.000 dB OK -stereoToneMovesCenter, Tone 300 Hz: peak at 271 Hz OK -stereoToneMovesCenter, Tone 3000 Hz: peak at 2936 Hz OK -stereoRunaway, Drive 1, Feedback 0.6: RMS 0.48065 after 20 s OK -stereoRunaway, Drive 1, Feedback 0.4: RMS 0.00000 after 20 s OK -stereoRunaway, Drive 0, Feedback 0.9: RMS 0.00000 after 20 s OK -stereoFeedbackZeroIsOneRepeat: OK -stereoWidthZeroIsMono: repeat 0.046821, half the side 0.046821 OK -stereoWidthAndLevelLeaveTheLoop: largest difference 1.5e-08 OK -stereoAliasing at 3100 Hz, Drive 1, Tone 3200 Hz: -54.0 dB at Feedback 0, -31.4 dB at Feedback 0.9 OK -stereoRampSettles: 1.0000000 after switching on, 0.0000000 after switching off OK -echoCenterReturnsBitForBit: OK -echoShapedAtUnityIsProcess: OK -stereoEchoMatchesTwoLines: OK -ALL OK diff --git a/review/logs/render_test.log b/review/logs/render_test.log deleted file mode 100644 index 50f9e49..0000000 --- a/review/logs/render_test.log +++ /dev/null @@ -1,473 +0,0 @@ -default_drone block=4 peak=0.337 rms=0.1375 finite=1 sound=1 OK -default_drone block=64 peak=0.337 rms=0.1375 finite=1 sound=1 OK -default_drone block=512 peak=0.337 rms=0.1375 finite=1 sound=1 OK -default_drone block=480 peak=0.337 rms=0.1375 finite=1 sound=1 OK -low_dark_verb block=4 peak=0.724 rms=0.2844 finite=1 sound=1 OK -low_dark_verb block=64 peak=0.724 rms=0.2844 finite=1 sound=1 OK -low_dark_verb block=512 peak=0.724 rms=0.2844 finite=1 sound=1 OK -low_dark_verb block=480 peak=0.724 rms=0.2844 finite=1 sound=1 OK -echo_runaway block=4 peak=0.737 rms=0.2704 finite=1 sound=1 OK -echo_runaway block=64 peak=0.737 rms=0.2704 finite=1 sound=1 OK -echo_runaway block=512 peak=0.737 rms=0.2704 finite=1 sound=1 OK -echo_runaway block=480 peak=0.737 rms=0.2704 finite=1 sound=1 OK -everything_max block=4 peak=0.750 rms=0.2610 finite=1 sound=1 OK -everything_max block=64 peak=0.750 rms=0.2610 finite=1 sound=1 OK -everything_max block=512 peak=0.750 rms=0.2610 finite=1 sound=1 OK -everything_max block=480 peak=0.750 rms=0.2610 finite=1 sound=1 OK -gain_zero block=4 peak=0.000 rms=0.0000 finite=1 sound=0 OK -gain_zero block=64 peak=0.000 rms=0.0000 finite=1 sound=0 OK -gain_zero block=512 peak=0.000 rms=0.0000 finite=1 sound=0 OK -gain_zero block=480 peak=0.000 rms=0.0000 finite=1 sound=0 OK -input passthrough rms=0.0786 OK -midi pitch dry on note (<25c) 68/69, worst of those 2.2 c OK -midi pitch Body min on note (<25c) 68/69, worst of those 2.2 c OK -midi pitch Body max on note (<25c) 67/69, worst of those 24.4 c OK -midi pitch Default preset on note (<25c) 66/69, worst of those 24.2 c OK -gate open rms=0.1176 closed rms=0.00001 (-84.0 dB) OK -resampler 48k->44.1k 1 kHz passes 0.00 dB OK -resampler 48k->44.1k 15 kHz passes -0.00 dB OK -resampler 48k->44.1k 23 kHz folded image -94.34 dB OK -resampler 48k->96k 1 kHz passes -0.00 dB OK -resampler 48k->96k 10 kHz image at 38 kHz -123.92 dB OK -resampler 96k->48k 30 kHz folded image -94.98 dB OK -resampler 44.1k->48k 1 kHz passes -0.00 dB OK -preset Default rms=0.1279 ( -17.9 dBFS) peak=0.337 OK -preset Sub Cellar rms=0.1550 ( -16.2 dBFS) peak=0.475 OK -preset Glass Wind rms=0.2108 ( -13.5 dBFS) peak=0.547 OK -preset Cathedral Bloom rms=0.2667 ( -11.5 dBFS) peak=0.786 OK -preset Echo Drift rms=0.1572 ( -16.1 dBFS) peak=0.259 OK -preset Doppler Void rms=0.1061 ( -19.5 dBFS) peak=0.349 OK -preset Dark Tide rms=0.1946 ( -14.2 dBFS) peak=0.672 OK -preset Razor Feedback rms=0.1447 ( -16.8 dBFS) peak=0.290 OK -preset Quiet Room rms=0.0818 ( -21.7 dBFS) peak=0.225 OK -preset Keys (play notes) rms=0.1321 ( -17.6 dBFS) peak=0.332 OK -preset Resonator (needs input) rms=0.0000 (-104.7 dBFS) peak=0.000 OK -preset Init (silent) rms=0.0000 (-102.5 dBFS) peak=0.000 OK -preset Open Fifths rms=0.1736 ( -15.2 dBFS) peak=0.461 OK -threeStringsSound Open Fifths strongest partial 151.2 Hz holds 53% of the power OK -preset Sympathetic rms=0.1365 ( -17.3 dBFS) peak=0.519 OK -threeStringsSound Sympathetic strongest partial 354.1 Hz holds 18% of the power OK -preset Chord Keys rms=0.1094 ( -19.2 dBFS) peak=0.283 OK -preset Ember Pong rms=0.0977 ( -20.2 dBFS) peak=0.236 OK -allocations while rendering, NaN recovery included: 0 OK -recovery from NaN: finite=1 rms of last second=0.0926 OK -filter state cleared by Init: OK -published Body, knob: 0.00991 s (knob 0.00991) OK -published note 60.000, Body 0.01170 s (3 periods 0.01147) OK -Echo Time with WARP: 0.359 s (expected 0.359) OK -engine, voice 0 independent at Coupling 0: same=1 others differ=1 OK -engine, unison voices differ: 1/0=1 2/1=1 OK -engine, Coupling rings a closed voice: 0.000067 -> 0.987463 (+83.4 dB) OK -engine, LPF 18000 Hz, ramp at 2 s: largest jump 0.31237, before 0.41388 OK -engine, LPF 18000 Hz, ramp at 2 s: largest jump 0.29941, before 0.36154 OK -engine, LPF 18000 Hz, ramp at 4 s: largest jump 0.36308, before 0.50708 OK -engine, LPF 18000 Hz, ramp at 4 s: largest jump 0.35730, before 0.48575 OK -engine, LPF 800 Hz, ramp at 2 s: largest jump 0.03125, before 0.03164 OK -engine, LPF 800 Hz, ramp at 2 s: largest jump 0.03141, before 0.03165 OK -engine, LPF 800 Hz, ramp at 4 s: largest jump 0.03301, before 0.05445 OK -engine, LPF 800 Hz, ramp at 4 s: largest jump 0.04374, before 0.05448 OK -engine, ramp end: default off=1 on=1 during=1 at 959=1 off at 961=1 off after Init=1 OK -engine, ramp settles on the sum: largest error 0.0000000 OK -engine, restart from silence: peak 0.000077 (was 1.956) OK -engine, ramp reversing from on: finite=1 largest jump 0.51978, before 0.50241 OK -engine, ramp reversing from off: finite=1 largest jump 0.31447, before 0.41388 OK -poly chord 36 43 52, Coupling 0%, voice 0: -0.6 c OK -poly chord 36 43 52, Coupling 0%, voice 1: -0.1 c OK -poly chord 36 43 52, Coupling 0%, voice 2: +0.1 c OK -poly chord 45 52 57, Coupling 0%, voice 0: +0.2 c OK -poly chord 45 52 57, Coupling 0%, voice 1: +0.1 c OK -poly chord 45 52 57, Coupling 0%, voice 2: +0.2 c OK -poly chord 48 55 64, Coupling 0%, voice 0: +0.2 c OK -poly chord 48 55 64, Coupling 0%, voice 1: +0.2 c OK -poly chord 48 55 64, Coupling 0%, voice 2: +0.3 c OK -poly chord 60 64 67, Coupling 0%, voice 0: +0.2 c OK -poly chord 60 64 67, Coupling 0%, voice 1: +0.3 c OK -poly chord 60 64 67, Coupling 0%, voice 2: +0.2 c OK -poly chord 64 69 76, Coupling 0%, voice 0: +0.3 c OK -poly chord 64 69 76, Coupling 0%, voice 1: +0.2 c OK -poly chord 64 69 76, Coupling 0%, voice 2: +0.2 c OK -poly chord 36 43 52, Coupling 100%, voice 0: -1.0 c OK -poly chord 36 43 52, Coupling 100%, voice 1: -0.0 c OK -poly chord 36 43 52, Coupling 100%, voice 2: -0.0 c OK -poly chord 45 52 57, Coupling 100%, voice 0: +0.1 c OK -poly chord 45 52 57, Coupling 100%, voice 1: +0.0 c OK -poly chord 45 52 57, Coupling 100%, voice 2: -0.3 c OK -poly chord 48 55 64, Coupling 100%, voice 0: +0.0 c OK -poly chord 48 55 64, Coupling 100%, voice 1: +0.0 c OK -poly chord 48 55 64, Coupling 100%, voice 2: +0.0 c OK -poly chord 60 64 67, Coupling 100%, voice 0: +0.5 c OK -poly chord 60 64 67, Coupling 100%, voice 1: +0.5 c OK -poly chord 60 64 67, Coupling 100%, voice 2: -0.6 c OK -poly chord 64 69 76, Coupling 100%, voice 0: +0.4 c OK -poly chord 64 69 76, Coupling 100%, voice 1: +0.1 c OK -poly chord 64 69 76, Coupling 100%, voice 2: +0.1 c OK -poly chord 24 28 31 holds at Coupling 100%, voice 0: +0.8 c OK -poly chord 24 28 31 holds at Coupling 100%, voice 1: -0.9 c OK -poly chord 24 28 31 holds at Coupling 100%, voice 2: +0.7 c OK -poly chord 24 27 31 holds at Coupling 100%, voice 0: +0.6 c OK -poly chord 24 27 31 holds at Coupling 100%, voice 1: -0.4 c OK -poly chord 24 27 31 holds at Coupling 100%, voice 2: +1.6 c OK -poly chord 24 31 36 holds at Coupling 100%, voice 0: +0.4 c OK -poly chord 24 31 36 holds at Coupling 100%, voice 1: +0.0 c OK -poly chord 24 31 36 holds at Coupling 100%, voice 2: -0.4 c OK -poly chord 24 29 31 holds at Coupling 100%, voice 0: +0.9 c OK -poly chord 24 29 31 holds at Coupling 100%, voice 1: -0.2 c OK -poly chord 24 29 31 holds at Coupling 100%, voice 2: +0.8 c OK -poly chord 24 26 31 holds at Coupling 100%, voice 0: +0.8 c OK -poly chord 24 26 31 holds at Coupling 100%, voice 1: -0.3 c OK -poly chord 24 26 31 holds at Coupling 100%, voice 2: +1.3 c OK -poly chord 24 25 26 holds at Coupling 100%, voice 0: +1.7 c OK -poly chord 24 25 26 holds at Coupling 100%, voice 1: -1.7 c OK -poly chord 24 25 26 holds at Coupling 100%, voice 2: -2.6 c OK -poly chord 24 31 40 holds at Coupling 100%, voice 0: +0.7 c OK -poly chord 24 31 40 holds at Coupling 100%, voice 1: +0.4 c OK -poly chord 24 31 40 holds at Coupling 100%, voice 2: +0.9 c OK -poly chord 24 36 48 holds at Coupling 100%, voice 0: +0.6 c OK -poly chord 24 36 48 holds at Coupling 100%, voice 1: -1.0 c OK -poly chord 24 36 48 holds at Coupling 100%, voice 2: +0.2 c OK -poly chord 30 34 37 holds at Coupling 100%, voice 0: -0.4 c OK -poly chord 30 34 37 holds at Coupling 100%, voice 1: -0.4 c OK -poly chord 30 34 37 holds at Coupling 100%, voice 2: +2.0 c OK -poly chord 30 33 37 holds at Coupling 100%, voice 0: -0.8 c OK -poly chord 30 33 37 holds at Coupling 100%, voice 1: -0.7 c OK -poly chord 30 33 37 holds at Coupling 100%, voice 2: +1.9 c OK -poly chord 30 37 42 holds at Coupling 100%, voice 0: -0.3 c OK -poly chord 30 37 42 holds at Coupling 100%, voice 1: +0.1 c OK -poly chord 30 37 42 holds at Coupling 100%, voice 2: -0.3 c OK -poly chord 30 35 37 holds at Coupling 100%, voice 0: -0.4 c OK -poly chord 30 35 37 holds at Coupling 100%, voice 1: -0.7 c OK -poly chord 30 35 37 holds at Coupling 100%, voice 2: +1.9 c OK -poly chord 30 32 37 holds at Coupling 100%, voice 0: -0.9 c OK -poly chord 30 32 37 holds at Coupling 100%, voice 1: -0.2 c OK -poly chord 30 32 37 holds at Coupling 100%, voice 2: +1.4 c OK -poly chord 30 31 32 holds at Coupling 100%, voice 0: -2.7 c OK -poly chord 30 31 32 holds at Coupling 100%, voice 1: +1.6 c OK -poly chord 30 31 32 holds at Coupling 100%, voice 2: +2.3 c OK -poly chord 30 37 46 holds at Coupling 100%, voice 0: +0.0 c OK -poly chord 30 37 46 holds at Coupling 100%, voice 1: +0.4 c OK -poly chord 30 37 46 holds at Coupling 100%, voice 2: +0.4 c OK -poly chord 30 42 54 holds at Coupling 100%, voice 0: +0.1 c OK -poly chord 30 42 54 holds at Coupling 100%, voice 1: -0.1 c OK -poly chord 30 42 54 holds at Coupling 100%, voice 2: -0.5 c OK -poly chord 36 40 43 holds at Coupling 100%, voice 0: -1.6 c OK -poly chord 36 40 43 holds at Coupling 100%, voice 1: +0.1 c OK -poly chord 36 40 43 holds at Coupling 100%, voice 2: +1.0 c OK -poly chord 36 39 43 holds at Coupling 100%, voice 0: -1.7 c OK -poly chord 36 39 43 holds at Coupling 100%, voice 1: +0.6 c OK -poly chord 36 39 43 holds at Coupling 100%, voice 2: +0.7 c OK -poly chord 36 43 48 holds at Coupling 100%, voice 0: -1.3 c OK -poly chord 36 43 48 holds at Coupling 100%, voice 1: -0.1 c OK -poly chord 36 43 48 holds at Coupling 100%, voice 2: -0.9 c OK -poly chord 36 41 43 holds at Coupling 100%, voice 0: -1.5 c OK -poly chord 36 41 43 holds at Coupling 100%, voice 1: +0.1 c OK -poly chord 36 41 43 holds at Coupling 100%, voice 2: +1.0 c OK -poly chord 36 38 43 holds at Coupling 100%, voice 0: -1.9 c OK -poly chord 36 38 43 holds at Coupling 100%, voice 1: +0.6 c OK -poly chord 36 38 43 holds at Coupling 100%, voice 2: +0.4 c OK -poly chord 36 37 38 holds at Coupling 100%, voice 0: -2.8 c OK -poly chord 36 37 38 holds at Coupling 100%, voice 1: +2.9 c OK -poly chord 36 37 38 holds at Coupling 100%, voice 2: +2.7 c OK -poly chord 36 43 52 holds at Coupling 100%, voice 0: -1.0 c OK -poly chord 36 43 52 holds at Coupling 100%, voice 1: -0.0 c OK -poly chord 36 43 52 holds at Coupling 100%, voice 2: -0.0 c OK -poly chord 36 48 60 holds at Coupling 100%, voice 0: -0.7 c OK -poly chord 36 48 60 holds at Coupling 100%, voice 1: -0.5 c OK -poly chord 36 48 60 holds at Coupling 100%, voice 2: +0.2 c OK -poly chord 42 46 49 holds at Coupling 100%, voice 0: -0.7 c OK -poly chord 42 46 49 holds at Coupling 100%, voice 1: +0.2 c OK -poly chord 42 46 49 holds at Coupling 100%, voice 2: +0.1 c OK -poly chord 42 45 49 holds at Coupling 100%, voice 0: -0.7 c OK -poly chord 42 45 49 holds at Coupling 100%, voice 1: +0.5 c OK -poly chord 42 45 49 holds at Coupling 100%, voice 2: -0.0 c OK -poly chord 42 49 54 holds at Coupling 100%, voice 0: -0.1 c OK -poly chord 42 49 54 holds at Coupling 100%, voice 1: +0.0 c OK -poly chord 42 49 54 holds at Coupling 100%, voice 2: -0.2 c OK -poly chord 42 47 49 holds at Coupling 100%, voice 0: -0.7 c OK -poly chord 42 47 49 holds at Coupling 100%, voice 1: +0.2 c OK -poly chord 42 47 49 holds at Coupling 100%, voice 2: +0.1 c OK -poly chord 42 44 49 holds at Coupling 100%, voice 0: -0.7 c OK -poly chord 42 44 49 holds at Coupling 100%, voice 1: +0.3 c OK -poly chord 42 44 49 holds at Coupling 100%, voice 2: -0.1 c OK -poly chord 42 43 44 holds at Coupling 100%, voice 0: -0.6 c OK -poly chord 42 43 44 holds at Coupling 100%, voice 1: +2.9 c OK -poly chord 42 43 44 holds at Coupling 100%, voice 2: +0.5 c OK -poly chord 42 49 58 holds at Coupling 100%, voice 0: -0.3 c OK -poly chord 42 49 58 holds at Coupling 100%, voice 1: -0.0 c OK -poly chord 42 49 58 holds at Coupling 100%, voice 2: -0.0 c OK -poly chord 42 54 66 holds at Coupling 100%, voice 0: -0.2 c OK -poly chord 42 54 66 holds at Coupling 100%, voice 1: -0.0 c OK -poly chord 42 54 66 holds at Coupling 100%, voice 2: +0.0 c OK -poly chord 48 52 55 holds at Coupling 100%, voice 0: -0.1 c OK -poly chord 48 52 55 holds at Coupling 100%, voice 1: +0.1 c OK -poly chord 48 52 55 holds at Coupling 100%, voice 2: -0.4 c OK -poly chord 48 51 55 holds at Coupling 100%, voice 0: -0.0 c OK -poly chord 48 51 55 holds at Coupling 100%, voice 1: +0.1 c OK -poly chord 48 51 55 holds at Coupling 100%, voice 2: -0.4 c OK -poly chord 48 55 60 holds at Coupling 100%, voice 0: -0.4 c OK -poly chord 48 55 60 holds at Coupling 100%, voice 1: +0.0 c OK -poly chord 48 55 60 holds at Coupling 100%, voice 2: -0.5 c OK -poly chord 48 53 55 holds at Coupling 100%, voice 0: -0.1 c OK -poly chord 48 53 55 holds at Coupling 100%, voice 1: +0.3 c OK -poly chord 48 53 55 holds at Coupling 100%, voice 2: -0.6 c OK -poly chord 48 50 55 holds at Coupling 100%, voice 0: +0.1 c OK -poly chord 48 50 55 holds at Coupling 100%, voice 1: +0.0 c OK -poly chord 48 50 55 holds at Coupling 100%, voice 2: -0.4 c OK -poly chord 48 49 50 holds at Coupling 100%, voice 0: +2.3 c OK -poly chord 48 49 50 holds at Coupling 100%, voice 1: +2.7 c OK -poly chord 48 49 50 holds at Coupling 100%, voice 2: -2.5 c OK -poly chord 48 55 64 holds at Coupling 100%, voice 0: +0.0 c OK -poly chord 48 55 64 holds at Coupling 100%, voice 1: +0.0 c OK -poly chord 48 55 64 holds at Coupling 100%, voice 2: +0.0 c OK -poly chord 48 60 72 holds at Coupling 100%, voice 0: +0.1 c OK -poly chord 48 60 72 holds at Coupling 100%, voice 1: -0.1 c OK -poly chord 48 60 72 holds at Coupling 100%, voice 2: +0.5 c OK -poly chord 54 58 61 holds at Coupling 100%, voice 0: +0.4 c OK -poly chord 54 58 61 holds at Coupling 100%, voice 1: +0.4 c OK -poly chord 54 58 61 holds at Coupling 100%, voice 2: -0.6 c OK -poly chord 54 57 61 holds at Coupling 100%, voice 0: +0.5 c OK -poly chord 54 57 61 holds at Coupling 100%, voice 1: -0.0 c OK -poly chord 54 57 61 holds at Coupling 100%, voice 2: -0.5 c OK -poly chord 54 61 66 holds at Coupling 100%, voice 0: +0.2 c OK -poly chord 54 61 66 holds at Coupling 100%, voice 1: +0.1 c OK -poly chord 54 61 66 holds at Coupling 100%, voice 2: -0.0 c OK -poly chord 54 59 61 holds at Coupling 100%, voice 0: +0.2 c OK -poly chord 54 59 61 holds at Coupling 100%, voice 1: +0.7 c OK -poly chord 54 59 61 holds at Coupling 100%, voice 2: -0.7 c OK -poly chord 54 56 61 holds at Coupling 100%, voice 0: +0.7 c OK -poly chord 54 56 61 holds at Coupling 100%, voice 1: -0.3 c OK -poly chord 54 56 61 holds at Coupling 100%, voice 2: -0.4 c OK -poly chord 54 55 56 holds at Coupling 100%, voice 0: +4.2 c OK -poly chord 54 55 56 holds at Coupling 100%, voice 1: +2.6 c OK -poly chord 54 55 56 holds at Coupling 100%, voice 2: -4.4 c OK -poly chord 54 61 70 holds at Coupling 100%, voice 0: +0.2 c OK -poly chord 54 61 70 holds at Coupling 100%, voice 1: +0.0 c OK -poly chord 54 61 70 holds at Coupling 100%, voice 2: -0.0 c OK -poly chord 54 66 78 holds at Coupling 100%, voice 0: +0.1 c OK -poly chord 54 66 78 holds at Coupling 100%, voice 1: +0.1 c OK -poly chord 54 66 78 holds at Coupling 100%, voice 2: +0.0 c OK -poly chord 60 64 67 holds at Coupling 100%, voice 0: +0.5 c OK -poly chord 60 64 67 holds at Coupling 100%, voice 1: +0.5 c OK -poly chord 60 64 67 holds at Coupling 100%, voice 2: -0.6 c OK -poly chord 60 63 67 holds at Coupling 100%, voice 0: +0.8 c OK -poly chord 60 63 67 holds at Coupling 100%, voice 1: -0.1 c OK -poly chord 60 63 67 holds at Coupling 100%, voice 2: -0.4 c OK -poly chord 60 67 72 holds at Coupling 100%, voice 0: +0.2 c OK -poly chord 60 67 72 holds at Coupling 100%, voice 1: +0.2 c OK -poly chord 60 67 72 holds at Coupling 100%, voice 2: +0.2 c OK -poly chord 60 65 67 holds at Coupling 100%, voice 0: +0.3 c OK -poly chord 60 65 67 holds at Coupling 100%, voice 1: +0.9 c OK -poly chord 60 65 67 holds at Coupling 100%, voice 2: -0.7 c OK -poly chord 60 62 67 holds at Coupling 100%, voice 0: +1.0 c OK -poly chord 60 62 67 holds at Coupling 100%, voice 1: -0.3 c OK -poly chord 60 62 67 holds at Coupling 100%, voice 2: -0.2 c OK -poly chord 60 61 62 holds at Coupling 100%, voice 0: +3.5 c OK -poly chord 60 61 62 holds at Coupling 100%, voice 1: +1.6 c OK -poly chord 60 61 62 holds at Coupling 100%, voice 2: -3.2 c OK -poly chord 60 67 76 holds at Coupling 100%, voice 0: +0.3 c OK -poly chord 60 67 76 holds at Coupling 100%, voice 1: +0.1 c OK -poly chord 60 67 76 holds at Coupling 100%, voice 2: +0.0 c OK -poly chord 60 72 84 holds at Coupling 100%, voice 0: +0.1 c OK -poly chord 60 72 84 holds at Coupling 100%, voice 1: +0.2 c OK -poly chord 60 72 84 holds at Coupling 100%, voice 2: +0.2 c OK -preset Chord Keys, chord 36 40 43, voice 0: -11.8 c OK -preset Chord Keys, chord 36 40 43, voice 1: -1.5 c OK -preset Chord Keys, chord 36 40 43, voice 2: +1.3 c OK -preset Chord Keys, chord 36 39 43, voice 0: -12.1 c OK -preset Chord Keys, chord 36 39 43, voice 1: -8.0 c OK -preset Chord Keys, chord 36 39 43, voice 2: +1.2 c OK -preset Chord Keys, chord 36 43 48, voice 0: -7.9 c OK -preset Chord Keys, chord 36 43 48, voice 1: +0.9 c OK -preset Chord Keys, chord 36 43 48, voice 2: +5.6 c OK -preset Chord Keys, chord 36 41 43, voice 0: -11.3 c OK -preset Chord Keys, chord 36 41 43, voice 1: +3.6 c OK -preset Chord Keys, chord 36 41 43, voice 2: +1.3 c OK -preset Chord Keys, chord 36 38 43, voice 0: -11.3 c OK -preset Chord Keys, chord 36 38 43, voice 1: +0.7 c OK -preset Chord Keys, chord 36 38 43, voice 2: +1.1 c OK -preset Chord Keys, chord 42 46 49, voice 0: +2.2 c OK -preset Chord Keys, chord 42 46 49, voice 1: -6.6 c OK -preset Chord Keys, chord 42 46 49, voice 2: -6.4 c OK -preset Chord Keys, chord 42 45 49, voice 0: +3.1 c OK -preset Chord Keys, chord 42 45 49, voice 1: -1.8 c OK -preset Chord Keys, chord 42 45 49, voice 2: -6.5 c OK -preset Chord Keys, chord 42 49 54, voice 0: +2.6 c OK -preset Chord Keys, chord 42 49 54, voice 1: -6.4 c OK -preset Chord Keys, chord 42 49 54, voice 2: +0.8 c OK -preset Chord Keys, chord 42 47 49, voice 0: +2.5 c OK -preset Chord Keys, chord 42 47 49, voice 1: +0.2 c OK -preset Chord Keys, chord 42 47 49, voice 2: -6.5 c OK -preset Chord Keys, chord 42 44 49, voice 0: +3.1 c OK -preset Chord Keys, chord 42 44 49, voice 1: -1.8 c OK -preset Chord Keys, chord 42 44 49, voice 2: -6.5 c OK -preset Chord Keys, chord 48 52 55, voice 0: +5.6 c OK -preset Chord Keys, chord 48 52 55, voice 1: +0.9 c OK -preset Chord Keys, chord 48 52 55, voice 2: +1.1 c OK -preset Chord Keys, chord 48 51 55, voice 0: +5.7 c OK -preset Chord Keys, chord 48 51 55, voice 1: +3.8 c OK -preset Chord Keys, chord 48 51 55, voice 2: +1.3 c OK -preset Chord Keys, chord 48 55 60, voice 0: +6.7 c OK -preset Chord Keys, chord 48 55 60, voice 1: +1.3 c OK -preset Chord Keys, chord 48 55 60, voice 2: +0.2 c OK -preset Chord Keys, chord 48 53 55, voice 0: +6.2 c OK -preset Chord Keys, chord 48 53 55, voice 1: +5.8 c OK -preset Chord Keys, chord 48 53 55, voice 2: +1.2 c OK -preset Chord Keys, chord 48 50 55, voice 0: +5.2 c OK -preset Chord Keys, chord 48 50 55, voice 1: +2.7 c OK -preset Chord Keys, chord 48 50 55, voice 2: +1.4 c OK -preset Chord Keys, chord 54 58 61, voice 0: +2.5 c OK -preset Chord Keys, chord 54 58 61, voice 1: +0.0 c OK -preset Chord Keys, chord 54 58 61, voice 2: -0.9 c OK -preset Chord Keys, chord 54 57 61, voice 0: +2.3 c OK -preset Chord Keys, chord 54 57 61, voice 1: +1.5 c OK -preset Chord Keys, chord 54 57 61, voice 2: -1.1 c OK -preset Chord Keys, chord 54 61 66, voice 0: +2.1 c OK -preset Chord Keys, chord 54 61 66, voice 1: -0.7 c OK -preset Chord Keys, chord 54 61 66, voice 2: -2.0 c OK -preset Chord Keys, chord 54 59 61, voice 0: +2.2 c OK -preset Chord Keys, chord 54 59 61, voice 1: -0.2 c OK -preset Chord Keys, chord 54 59 61, voice 2: -1.1 c OK -preset Chord Keys, chord 54 56 61, voice 0: +2.6 c OK -preset Chord Keys, chord 54 56 61, voice 1: +0.9 c OK -preset Chord Keys, chord 54 56 61, voice 2: -1.0 c OK -preset Chord Keys, chord 60 64 67, voice 0: +0.4 c OK -preset Chord Keys, chord 60 64 67, voice 1: -0.2 c OK -preset Chord Keys, chord 60 64 67, voice 2: +1.3 c OK -preset Chord Keys, chord 60 63 67, voice 0: +0.7 c OK -preset Chord Keys, chord 60 63 67, voice 1: +0.5 c OK -preset Chord Keys, chord 60 63 67, voice 2: +1.3 c OK -preset Chord Keys, chord 60 67 72, voice 0: +0.3 c OK -preset Chord Keys, chord 60 67 72, voice 1: +1.5 c OK -preset Chord Keys, chord 60 67 72, voice 2: -0.7 c OK -preset Chord Keys, chord 60 65 67, voice 0: +0.7 c OK -preset Chord Keys, chord 60 65 67, voice 1: -2.7 c OK -preset Chord Keys, chord 60 65 67, voice 2: +1.3 c OK -preset Chord Keys, chord 60 62 67, voice 0: +0.5 c OK -preset Chord Keys, chord 60 62 67, voice 1: +0.9 c OK -preset Chord Keys, chord 60 62 67, voice 2: +1.4 c OK -poly restart starts on the new notes: 52.00 57.00 OK -poly restart with a new chord, voice 0: +0.4 c OK -poly restart with a new chord, voice 1: +0.2 c OK -poly restart with a new chord, voice 2: +0.2 c OK -poly restart builds as fast, voice 1: 0.35 s, fresh 0.35 s OK -poly restart builds as fast, voice 2: 0.40 s, fresh 0.35 s OK -poly restart keeps the filters: voice 1 slope rms 0.03231, fresh 0.03231 OK -poly knob intervals: +7.000 +12.000 OK -poly interval +24 at Frequency 1.0: voice 1 note 84.00 finite=1 in range=1 OK -poly interval -24 at Frequency 0.0: voice 1 note 16.00 finite=1 in range=1 OK -poly never assigned voice stays closed: -84.1 dB below voice 0 OK -poly gate per voice: closed voice -83.9 dB, open voice -0.0 dB OK -poly chord audible at once: rms 0.9846 0.9809 0.9798, voice 1 early=1, no ramp (error 0.00000) OK -poly stability at maximum, chord 16 50 84: finite=1 peak=0.655 recoveries=0 OK -poly stability at maximum, chord 48 48 48: finite=1 peak=0.694 recoveries=0 OK -poly stability at maximum, LOCK from the knobs: finite=1 peak=0.554 recoveries=0 OK -poly stability at maximum, knobs, Body 0: finite=1 peak=0.714 recoveries=0 OK -poly stability at maximum, knobs, Body 1: finite=1 peak=0.683 recoveries=0 OK -poly closed voice at Coupling 100%, reverb 0.0, voice 0 open, interval 0: -83.9 dB OK -poly closed voice at Coupling 100%, reverb 0.0, voice 0 open, interval 7: -84.0 dB OK -poly closed voice at Coupling 100%, reverb 0.0, voice 0 open, interval 6: -83.9 dB OK -poly closed voice at Coupling 100%, reverb 0.0, voices 0 and 1 open, interval 0: -83.9 dB OK -poly closed voice at Coupling 100%, reverb 0.0, voices 0 and 1 open, interval 7: -84.0 dB OK -poly closed voice at Coupling 100%, reverb 0.0, voices 0 and 1 open, interval 6: -83.9 dB OK -poly closed voice at Coupling 100%, reverb 0.0, voices 1 and 2 open, interval 0: -83.9 dB OK -poly closed voice at Coupling 100%, reverb 0.0, voices 1 and 2 open, interval 7: -84.0 dB OK -poly closed voice at Coupling 100%, reverb 0.0, voices 1 and 2 open, interval 6: -83.9 dB OK -poly closed voice at Coupling 100%, reverb 0.5, voice 0 open, interval 0: -87.8 dB OK -poly closed voice at Coupling 100%, reverb 0.5, voice 0 open, interval 7: -88.0 dB OK -poly closed voice at Coupling 100%, reverb 0.5, voice 0 open, interval 6: -87.8 dB OK -poly closed voice at Coupling 100%, reverb 0.5, voices 0 and 1 open, interval 0: -87.8 dB OK -poly closed voice at Coupling 100%, reverb 0.5, voices 0 and 1 open, interval 7: -88.1 dB OK -poly closed voice at Coupling 100%, reverb 0.5, voices 0 and 1 open, interval 6: -87.8 dB OK -poly closed voice at Coupling 100%, reverb 0.5, voices 1 and 2 open, interval 0: -87.8 dB OK -poly closed voice at Coupling 100%, reverb 0.5, voices 1 and 2 open, interval 7: -87.8 dB OK -poly closed voice at Coupling 100%, reverb 0.5, voices 1 and 2 open, interval 6: -87.8 dB OK -poly voice restarting closed at Coupling 100%: -84.1 dB OK -poly LOCK from the knobs, Frequency 0.30 Body 0.3: worst voice 0.8 c OK -poly LOCK from the knobs, Frequency 0.30 Body 0.6: worst voice 0.8 c OK -poly LOCK from the knobs, Frequency 0.30 Body 0.9: worst voice 0.5 c OK -poly LOCK from the knobs, Frequency 0.43 Body 0.3: worst voice 0.2 c OK -poly LOCK from the knobs, Frequency 0.43 Body 0.6: worst voice 0.2 c OK -poly LOCK from the knobs, Frequency 0.43 Body 0.9: worst voice 0.2 c OK -poly LOCK from the knobs, Frequency 0.55 Body 0.3: worst voice 0.2 c OK -poly LOCK from the knobs, Frequency 0.55 Body 0.6: worst voice 0.2 c OK -poly LOCK from the knobs, Frequency 0.55 Body 0.9: worst voice 0.2 c OK -poly LOCK from the knobs, Frequency 0.70 Body 0.3: worst voice 0.2 c OK -poly LOCK from the knobs, Frequency 0.70 Body 0.6: worst voice 0.2 c OK -poly LOCK from the knobs, Frequency 0.70 Body 0.9: worst voice 0.2 c OK -poly free voices on one pitch: 6 of 42 settings OK -poly LOCK at Highpass 0.8: rms 0.00003, free 0.120 OK -poly LOCK off at Coupling 0%, Frequency 0.30 Body 0.3: largest kink 0.00109, before 0.00092 OK -poly LOCK off at Coupling 0%, Frequency 0.30 Body 0.7: largest kink 0.00108, before 0.00087 OK -poly LOCK off at Coupling 0%, Frequency 0.43 Body 0.3: largest kink 0.00266, before 0.00351 OK -poly LOCK off at Coupling 0%, Frequency 0.43 Body 0.7: largest kink 0.00260, before 0.00348 OK -poly LOCK off at Coupling 100%, Frequency 0.30 Body 0.3: largest kink 0.00081, before 0.00095 OK -poly LOCK off at Coupling 100%, Frequency 0.30 Body 0.7: largest kink 0.00170, before 0.00090 OK -poly LOCK off at Coupling 100%, Frequency 0.43 Body 0.3: largest kink 0.00288, before 0.00365 OK -poly LOCK off at Coupling 100%, Frequency 0.43 Body 0.7: largest kink 0.00512, before 0.00343 OK -poly Coupling 100% changes the spectrum, chord 48 55 64: 0.167 OK -poly Coupling 100% changes the spectrum, chord 60 64 67: 0.445 OK -poly Coupling 100% changes the spectrum, knobs +7 +12: 0.547 OK -poly Coupling 100% changes the spectrum, LOCK, knobs +7 +12: 0.190 OK -poly Body 0.7, Coupling 80%: 0 of 84 voices moved off their notes, worst 0.6 c OK -poly Body 0.7, Coupling 100%: 0 of 84 voices moved off their notes, worst 0.6 c OK -poly Body 0.8, Coupling 80%: 0 of 84 voices moved off their notes, worst 0.5 c OK -poly Body 0.8, Coupling 100%: 0 of 84 voices moved off their notes, worst 0.5 c OK -poly Body 0.9, Coupling 80%: 0 of 83 voices moved off their notes, worst 0.5 c OK -poly Body 0.9, Coupling 100%: 0 of 83 voices moved off their notes, worst 0.5 c OK -poly Body 1.0, Coupling 80%: 0 of 84 voices moved off their notes, worst 0.5 c OK -poly Body 1.0, Coupling 100%: 0 of 84 voices moved off their notes, worst 0.5 c OK -poly Coupling 100% changes the spectrum at Body 0.5: 0.286 OK -poly ramp on at Coupling 100%, L: largest jump 0.01056, before 0.01099, finite=1 OK -poly ramp on at Coupling 100%, R: largest jump 0.01063, before 0.01099, finite=1 OK -poly ramp off, reversing at Coupling 100%, L: largest jump 0.01459, before 0.02057, finite=1 OK -poly ramp off, reversing at Coupling 100%, R: largest jump 0.01058, before 0.02072, finite=1 OK -poly Recover restores all voices: rms 0.9852 0.9809 0.9798 OK -CPU, polyphony off: 0.0090 s per second of audio -CPU, polyphony on: 0.0213 s per second of audio -pongMonoSum: L + R with PONG on is 4.74 dB from PONG off OK -pongSameColorThroughCore: spectral difference 0.065 OK -pongBackToFirmware: OK -pongToneSweepWhileRunningAway: peak 0.283, recoveries 0 OK -pongToneSurvivesRecover: peak at 271 Hz after Init OK -pongSwitchDuringRunaway at 4.00 s: largest jump 0.13367, limit 0.21139 OK -pongSwitchDuringRunaway at 4.00 s: largest jump 0.13270, limit 0.19273 OK -pongSwitchDuringRunaway at 6.00 s: largest jump 0.09231, limit 0.15567 OK -pongSwitchDuringRunaway at 6.00 s: largest jump 0.09741, limit 0.14231 OK -pongOnFromFirstBlock: OK -pongSwitchClickFree at 2.00 s: largest jump 0.33666, limit 0.50092 OK -pongSwitchClickFree at 2.00 s: largest jump 0.33835, limit 0.42447 OK -pongSwitchClickFree at 4.00 s: largest jump 0.33256, limit 0.40118 OK -pongSwitchClickFree at 4.00 s: largest jump 0.31472, limit 0.38138 OK -pongSwitchClickFree at 2.00 s: largest jump 0.05727, limit 0.07253 OK -pongSwitchClickFree at 2.00 s: largest jump 0.05562, limit 0.07392 OK -pongSwitchClickFree at 4.00 s: largest jump 0.03375, limit 0.06055 OK -pongSwitchClickFree at 4.00 s: largest jump 0.03673, limit 0.06286 OK -pongSwitchReverses: mix 0.000 20 ms after switching back OK -pongSwitchReverses at 2.00 s: largest jump 0.05727, limit 0.07253 OK -pongSwitchReverses at 2.00 s: largest jump 0.05631, limit 0.07392 OK -pongBoundsAtMaximum: peak 0.484, recoveries 0, mean 0.00001, 0.00001 OK -pongBouncesThroughCore, repeat 1: L over R 73.8 dB OK -pongBouncesThroughCore, repeat 2: L over R -68.7 dB OK -pongWidthAndLevelThroughCore: Width 0 L over R 0.00 dB and -6.01 dB from full width, Level -12 dB gives -11.99 dB OK -pongRecoversFromNan: tail RMS 0.10670 before, 0.000008 after, mix 1.00 OK -pongSurvivesTimeSweep: peak 0.265, recoveries 0 OK -everyPresetWithPongOn: OK -pongIndependentOfBlockSize: OK -emberPongSelfSustains: Ember Pong, RMS 0.0224 with nothing feeding it OK -stereoBounces: OK -stereoTiming, T 12000 samples: OK -stereoTiming, T 17250 samples: OK -stereoSameColor: largest difference 0.000 dB OK -stereoToneMovesCenter, Tone 300 Hz: peak at 271 Hz OK -stereoToneMovesCenter, Tone 3000 Hz: peak at 2936 Hz OK -stereoRunaway, Drive 1, Feedback 0.6: RMS 0.48065 after 20 s OK -stereoRunaway, Drive 1, Feedback 0.4: RMS 0.00000 after 20 s OK -stereoRunaway, Drive 0, Feedback 0.9: RMS 0.00000 after 20 s OK -stereoFeedbackZeroIsOneRepeat: OK -stereoWidthZeroIsMono: repeat 0.046821, half the side 0.046821 OK -stereoWidthAndLevelLeaveTheLoop: largest difference 1.5e-08 OK -stereoAliasing at 3100 Hz, Drive 1, Tone 3200 Hz: -54.0 dB at Feedback 0, -31.4 dB at Feedback 0.9 OK -stereoRampSettles: 1.0000000 after switching on, 0.0000000 after switching off OK -echoCenterReturnsBitForBit: OK -echoShapedAtUnityIsProcess: OK -stereoEchoMatchesTwoLines: OK -ALL OK diff --git a/review/logs/sanitizers-first-run-halted-by-whitenoise.log b/review/logs/sanitizers-first-run-halted-by-whitenoise.log deleted file mode 100644 index e21764c..0000000 --- a/review/logs/sanitizers-first-run-halted-by-whitenoise.log +++ /dev/null @@ -1,12 +0,0 @@ -=== ui_test (asan, whitenoise suppressed) -exit 134 -presetReachesHiddenControls OK -1 -=== render_test (asan, whitenoise suppressed) -$SB/build/asan/render_test > $SB/build/render_test-asan.log 2>&1 0.01s user 0.01s system 19% cpu 0.091 total -exit 134 -SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /private/tmp/claude-501/-Users-sveloccia-Workspace-codeskine-Drosera--claude-worktrees-audio-plugin-vst3-au-review-9b137d/cf63893b-a926-47b7-aaf4-baf9028bbf08/scratchpad/sandbox/src/third_party/DaisySP/Source/Noise/whitenoise.h:34:19 -1 -0 - -[exited with code 1] diff --git a/review/logs/standalone-recording-analysis.txt b/review/logs/standalone-recording-analysis.txt deleted file mode 100644 index 1976b53..0000000 --- a/review/logs/standalone-recording-analysis.txt +++ /dev/null @@ -1,16 +0,0 @@ -Standalone output recorded through BlackHole 2ch at 48 kHz, 20 s, compared with the engine rendering the same restored state. - ---- STANDALONE (BlackHole): 20.0 s - rms L/R -15.6 / -14.6 dBFS peak 0.585 DC -0.0001/-0.0000 - clipped samples (|x|>=0.999): 0 zero runs >= 5 ms: 0 - L/R correlation +0.027 spectral centroid 3481 Hz - envelope autocorrelation peak at 0.304 s (strength 0.23); knob Echo Time = 0.254 s (state), PONG on - strongest partials: 1223.7 Hz (-22.2 dB) 244.6 Hz (-27.6 dB) 1211.8 Hz (-31.4 dB) 1168.4 Hz (-31.6 dB) 162.4 Hz (-32.0 dB) 1148.8 Hz (-35.2 dB) 1188.2 Hz (-35.7 dB) 1140.7 Hz (-35.7 dB) - rms per second: -16 -16 -16 -16 -15 -15 -15 -16 -13 -16 -15 -16 -15 -13 -15 -15 -14 -16 -15 -16 ---- OFFLINE render_cli, Default: 25.0 s - rms L/R -15.5 / -14.5 dBFS peak 0.610 DC -0.0000/-0.0000 - clipped samples (|x|>=0.999): 0 zero runs >= 5 ms: 0 - L/R correlation +0.050 spectral centroid 3308 Hz - envelope autocorrelation peak at 0.304 s (strength 0.34); knob Echo Time = 0.254 s (state), PONG on - strongest partials: 244.6 Hz (-18.4 dB) 1224.4 Hz (-31.8 dB) 1141.8 Hz (-32.0 dB) 162.8 Hz (-32.1 dB) 1251.9 Hz (-38.6 dB) 736.6 Hz (-38.6 dB) 1212.5 Hz (-39.2 dB) 1149.7 Hz (-39.6 dB) - rms per second: -17 -11 -15 -16 -16 -16 -16 -15 -16 -16 -15 -15 -15 -16 -13 -15 -16 -16 -16 -14 -15 -15 -14 -16 -16 diff --git a/review/logs/ui_test-after-fixes.log b/review/logs/ui_test-after-fixes.log deleted file mode 100644 index f947ebe..0000000 --- a/review/logs/ui_test-after-fixes.log +++ /dev/null @@ -1,116 +0,0 @@ -tapKeepsOrder OK -tapDropsWhenFull OK -tapInactiveIgnores OK -tapSanitises OK -tapFlush OK -tapMonoSum OK -bandEnds OK -sineLightsItsBand 48 kHz OK -sineLightsItsBand 96 kHz OK -calibration OK -silenceRests OK -aboveNyquistRests OK -zeroRateRests OK -lowBandsHaveNoHoles OK -ballistics OK -bandAmountRange OK -frequency with a MIDI note OK -frequency between notes OK -frequency from the knob OK -body snapped OK -body from the knob OK -echo time with WARP OK -echo time from the knob OK -echo shaping with PONG on OK -echo shaping with PONG off OK -interval from the knob OK -interval with a MIDI note OK -interval with no note OK -note names OK -plantRestsWithNoAudio OK -plantRespondsToSound OK -plantFallsWithSilence OK -plantFallsWhenHostStops OK - level swing with 2048-sample blocks: 0.00 dB -plantStillWithLongBlocks OK -plantRestsWithNoSampleRate OK -tabPersists OK -tabSurvivesBadState OK -tabSurvivesMissingState OK -stateRestoredOffThreadWithWindowOpen OK -windowSize OK -tabsShowTheirControls OK -noTapeControls OK -hiddenValuesFollow OK -presetReachesHiddenControls OK -noTagsWithoutMidi OK -midiTagsAndNote OK -midiDimsButDoesNotDisable OK -knobTakesPitchBack OK -lockOnByDefault OK -lockMeansNothingWithPolyOff OK -lockSnapsBody OK -freeBodyHasNoTag OK -lockStateRoundTrip OK -presetsSetLock OK -warpShowsRealTime OK - WARP with no audio: 0.9 reads 1.05 s, 0.2 reads 0.10 s -warpReadoutWithoutAudio OK - allocations in 100 blocks: 0 -audioPathDoesNotAllocate OK -defaultsOff OK -polyStateRoundTrip OK -newParametersKeepAudioUnitOrder OK -oldPresetsTurnPolyOff OK -presetCountAndOrder OK -threeNotesThreeVoices OK -singleNoteLeavesOthersClosed OK -fourthNoteSteals OK -releaseKeepsDroneWithoutGate OK -knobTakesAllVoicesBack OK - latched note, polyphony on: rms 0.0617 -polyOnWithLatchedNote OK -polyOnWithHeldKeys OK -polyOffAfterChord OK - chord at 44.1 kHz: rms 0.1106 -chordAt44100 OK -voiceNoteIncludesBend OK - released 55: its level -26.3 dB, 48's +3.4 dB -releasedNoteCloses OK - bend +2: voice 0 at 50 +60.8 dB, voice 1 at 57 +63.2 dB (55: +9.1), voice 2 at 66 +55.7 dB (64: -7.8) -bendMovesAllVoices OK - allocations in 100 polyphonic blocks: 0 -polyAudioPathDoesNotAllocate OK -feedbackHasATitle OK -stringsTabShowsItsControls OK -tabsFitTheWindow OK -pongTabSitsAfterEcho OK -otherTabsKeepTheirPlaces OK -echoTabShowsItsControls OK -pongTabShowsItsControls OK -pongControlsFit OK -shapingTagWithPongOff OK -shapingStaysEditableWithPongOff OK -shapingTagWithPongOn OK -pongTabPersists OK -intervalFromKnobWithoutMidi OK -intervalReadoutFollowsMidi OK -intervalWithoutANote OK -presetNotifiesHost OK -closingStopsTap OK -reopenDoesNotBurst OK -old state: fixture holds the plugin's OK -old state: instance modified first OK -old state: POLY returns to its default OK -old state: Coupling returns to its default OK -old state: Interval 2 returns to default OK -old state: Interval 3 returns to default OK -old state: LOCK returns to default OK -old state: Frequency loads OK -old state: Feedback loads OK -old state: Lowpass loads OK - bypass at 44100 Hz: declared 327, measured 327, peak 0.90 -bypassKeepsLatency OK - bypass at 48000 Hz: declared 0, measured 0, peak 0.90 -bypassPassesThrough OK -ALL OK diff --git a/review/logs/ui_test-asan-ubsan-after-fixes.log b/review/logs/ui_test-asan-ubsan-after-fixes.log deleted file mode 100644 index 7e71aeb..0000000 --- a/review/logs/ui_test-asan-ubsan-after-fixes.log +++ /dev/null @@ -1,117 +0,0 @@ -JUCE v8.0.9 -tapKeepsOrder OK -tapDropsWhenFull OK -tapInactiveIgnores OK -tapSanitises OK -tapFlush OK -tapMonoSum OK -bandEnds OK -sineLightsItsBand 48 kHz OK -sineLightsItsBand 96 kHz OK -calibration OK -silenceRests OK -aboveNyquistRests OK -zeroRateRests OK -lowBandsHaveNoHoles OK -ballistics OK -bandAmountRange OK -frequency with a MIDI note OK -frequency between notes OK -frequency from the knob OK -body snapped OK -body from the knob OK -echo time with WARP OK -echo time from the knob OK -echo shaping with PONG on OK -echo shaping with PONG off OK -interval from the knob OK -interval with a MIDI note OK -interval with no note OK -note names OK -plantRestsWithNoAudio OK -plantRespondsToSound OK -plantFallsWithSilence OK -plantFallsWhenHostStops OK - level swing with 2048-sample blocks: 0.00 dB -plantStillWithLongBlocks OK -plantRestsWithNoSampleRate OK -tabPersists OK -tabSurvivesBadState OK -tabSurvivesMissingState OK -stateRestoredOffThreadWithWindowOpen OK -windowSize OK -tabsShowTheirControls OK -noTapeControls OK -hiddenValuesFollow OK -presetReachesHiddenControls OK -noTagsWithoutMidi OK -midiTagsAndNote OK -midiDimsButDoesNotDisable OK -knobTakesPitchBack OK -lockOnByDefault OK -lockMeansNothingWithPolyOff OK -lockSnapsBody OK -freeBodyHasNoTag OK -lockStateRoundTrip OK -presetsSetLock OK -warpShowsRealTime OK - WARP with no audio: 0.9 reads 1.05 s, 0.2 reads 0.10 s -warpReadoutWithoutAudio OK - allocations in 100 blocks: 0 -audioPathDoesNotAllocate OK -defaultsOff OK -polyStateRoundTrip OK -newParametersKeepAudioUnitOrder OK -oldPresetsTurnPolyOff OK -presetCountAndOrder OK -threeNotesThreeVoices OK -singleNoteLeavesOthersClosed OK -fourthNoteSteals OK -releaseKeepsDroneWithoutGate OK -knobTakesAllVoicesBack OK - latched note, polyphony on: rms 0.0617 -polyOnWithLatchedNote OK -polyOnWithHeldKeys OK -polyOffAfterChord OK - chord at 44.1 kHz: rms 0.1106 -chordAt44100 OK -voiceNoteIncludesBend OK - released 55: its level -26.3 dB, 48's +3.4 dB -releasedNoteCloses OK - bend +2: voice 0 at 50 +60.8 dB, voice 1 at 57 +63.2 dB (55: +9.1), voice 2 at 66 +55.7 dB (64: -7.8) -bendMovesAllVoices OK - allocations in 100 polyphonic blocks: 0 -polyAudioPathDoesNotAllocate OK -feedbackHasATitle OK -stringsTabShowsItsControls OK -tabsFitTheWindow OK -pongTabSitsAfterEcho OK -otherTabsKeepTheirPlaces OK -echoTabShowsItsControls OK -pongTabShowsItsControls OK -pongControlsFit OK -shapingTagWithPongOff OK -shapingStaysEditableWithPongOff OK -shapingTagWithPongOn OK -pongTabPersists OK -intervalFromKnobWithoutMidi OK -intervalReadoutFollowsMidi OK -intervalWithoutANote OK -presetNotifiesHost OK -closingStopsTap OK -reopenDoesNotBurst OK -old state: fixture holds the plugin's OK -old state: instance modified first OK -old state: POLY returns to its default OK -old state: Coupling returns to its default OK -old state: Interval 2 returns to default OK -old state: Interval 3 returns to default OK -old state: LOCK returns to default OK -old state: Frequency loads OK -old state: Feedback loads OK -old state: Lowpass loads OK - bypass at 44100 Hz: declared 327, measured 327, peak 0.90 -bypassKeepsLatency OK - bypass at 48000 Hz: declared 0, measured 0, peak 0.90 -bypassPassesThrough OK -ALL OK diff --git a/review/logs/ui_test-asan-ubsan.log b/review/logs/ui_test-asan-ubsan.log deleted file mode 100644 index bc83c3c..0000000 --- a/review/logs/ui_test-asan-ubsan.log +++ /dev/null @@ -1,113 +0,0 @@ -JUCE v8.0.9 -tapKeepsOrder OK -tapDropsWhenFull OK -tapInactiveIgnores OK -tapSanitises OK -tapFlush OK -tapMonoSum OK -bandEnds OK -sineLightsItsBand 48 kHz OK -sineLightsItsBand 96 kHz OK -calibration OK -silenceRests OK -aboveNyquistRests OK -zeroRateRests OK -lowBandsHaveNoHoles OK -ballistics OK -bandAmountRange OK -frequency with a MIDI note OK -frequency between notes OK -frequency from the knob OK -body snapped OK -body from the knob OK -echo time with WARP OK -echo time from the knob OK -echo shaping with PONG on OK -echo shaping with PONG off OK -interval from the knob OK -interval with a MIDI note OK -interval with no note OK -note names OK -plantRestsWithNoAudio OK -plantRespondsToSound OK -plantFallsWithSilence OK -plantFallsWhenHostStops OK - level swing with 2048-sample blocks: 0.00 dB -plantStillWithLongBlocks OK -plantRestsWithNoSampleRate OK -tabPersists OK -tabSurvivesBadState OK -tabSurvivesMissingState OK -stateRestoredOffThreadWithWindowOpen OK -windowSize OK -tabsShowTheirControls OK -noTapeControls OK -hiddenValuesFollow OK -presetReachesHiddenControls OK -noTagsWithoutMidi OK -midiTagsAndNote OK -midiDimsButDoesNotDisable OK -knobTakesPitchBack OK -lockOnByDefault OK -lockMeansNothingWithPolyOff OK -lockSnapsBody OK -freeBodyHasNoTag OK -lockStateRoundTrip OK -presetsSetLock OK -warpShowsRealTime OK - WARP with no audio: 0.9 reads 1.05 s, 0.2 reads 0.10 s -warpReadoutWithoutAudio OK - allocations in 100 blocks: 0 -audioPathDoesNotAllocate OK -defaultsOff OK -polyStateRoundTrip OK -newParametersKeepAudioUnitOrder OK -oldPresetsTurnPolyOff OK -presetCountAndOrder OK -threeNotesThreeVoices OK -singleNoteLeavesOthersClosed OK -fourthNoteSteals OK -releaseKeepsDroneWithoutGate OK -knobTakesAllVoicesBack OK - latched note, polyphony on: rms 0.0615 -polyOnWithLatchedNote OK -polyOnWithHeldKeys OK -polyOffAfterChord OK - chord at 44.1 kHz: rms 0.1105 -chordAt44100 OK -voiceNoteIncludesBend OK - released 55: its level -27.8 dB, 48's +3.4 dB -releasedNoteCloses OK - bend +2: voice 0 at 50 +60.8 dB, voice 1 at 57 +63.2 dB (55: +9.1), voice 2 at 66 +55.9 dB (64: -8.1) -bendMovesAllVoices OK - allocations in 100 polyphonic blocks: 0 -polyAudioPathDoesNotAllocate OK -feedbackHasATitle OK -stringsTabShowsItsControls OK -tabsFitTheWindow OK -pongTabSitsAfterEcho OK -otherTabsKeepTheirPlaces OK -echoTabShowsItsControls OK -pongTabShowsItsControls OK -pongControlsFit OK -shapingTagWithPongOff OK -shapingStaysEditableWithPongOff OK -shapingTagWithPongOn OK -pongTabPersists OK -intervalFromKnobWithoutMidi OK -intervalReadoutFollowsMidi OK -intervalWithoutANote OK -presetNotifiesHost OK -closingStopsTap OK -reopenDoesNotBurst OK -old state: fixture holds the plugin's OK -old state: instance modified first OK -old state: POLY returns to its default OK -old state: Coupling returns to its default OK -old state: Interval 2 returns to default OK -old state: Interval 3 returns to default OK -old state: LOCK returns to default OK -old state: Frequency loads OK -old state: Feedback loads OK -old state: Lowpass loads OK -ALL OK