From bfa7951991e079996ab158281f1b66b7fdc29838 Mon Sep 17 00:00:00 2001 From: Erbubar23 <79039471+Erbubar23@users.noreply.github.com> Date: Sat, 24 Oct 2026 18:44:12 -0600 Subject: [PATCH] Bubba Machine 0.10.0-beta: every machine is its own instrument - HOME rebuilt as a six-channel mixer: 9 patterns, VOLUME/FILTER/DELAY/REVERB per channel, mutes and solo, four scenes per pattern on black 8-11, PLAY/REC from the mixer, and a GLO with SELECT MACHINE, TEMPO AND SCALE and MASTER FX. - Each machine takes over the FM-1 with the panel and menus of the real one: BB-303 as a TB-303 (ACCENT/SLIDE per step, TB-03 FX, synced LFO), B-MINI/BUNO-6/BITTAL with Minimoog, Juno-6 and Vital menus (core/bm_panel.c), BX-7 back as the FM-1's own FM with its FX and arpeggiator. Cyclic menu buttons, no help text, every knob drawn once. - BR-8 step sequencer and the BP-1 Slicer (trim, AUTO/8/16 slices that write the sequence, record the mix into a pad). - Machine GLO (LENGTH, MACHINE, MIDI CH, MIDI OUT, QUANT, RESET), recording like SLOOP, step recording, REC held 2 s clears the channel, at most two heavy machines. - Factory patterns DA FUNK, BLADE and ENJOY THE SILENCE on first boot (one-time wipe via BM_FACTORY_VER); scene B of every pattern mutes everything by default. - FM-1 fixes: false safe mode, LED flicker, dead keys after ~71 s, knob double counts, lost USB MIDI note-offs; machine audit against the original manuals. - Docs, manual, changelog, site and web/fm1 packages for 0.10.0-beta. Co-Authored-By: Claude Opus 5.5 --- README.md | 31 +- assets/screens/00-home.png | Bin 4014 -> 4069 bytes assets/screens/01-home-mixer.png | Bin 4060 -> 4229 bytes assets/screens/01-home-play-drums.png | Bin 0 -> 3652 bytes assets/screens/01-home-play.png | Bin 4177 -> 3340 bytes assets/screens/02-seq-knobs.png | Bin 0 -> 4047 bytes assets/screens/02-seq-tr.png | Bin 3703 -> 3932 bytes assets/screens/03-seq-accents.png | Bin 0 -> 3293 bytes assets/screens/03-seq-bars.png | Bin 0 -> 4016 bytes assets/screens/03-seq-hit.png | Bin 0 -> 3848 bytes assets/screens/03-seq-plock.png | Bin 4115 -> 3969 bytes assets/screens/03-seq-repeat.png | Bin 0 -> 3173 bytes assets/screens/23-scenes.png | Bin 4261 -> 4107 bytes assets/screens/24-glo-machines.png | Bin 0 -> 3865 bytes assets/screens/24c-glo-machines.png | Bin 3994 -> 4050 bytes assets/screens/24d-glo-heavy.png | Bin 0 -> 3999 bytes assets/screens/24e-glo-tempo.png | Bin 0 -> 3249 bytes assets/screens/24f-glo-fx.png | Bin 0 -> 3403 bytes assets/screens/25-system-en.png | Bin 4014 -> 4069 bytes assets/screens/25-system-es.png | Bin 3390 -> 2842 bytes assets/screens/37b-pads-es.png | Bin 3570 -> 4054 bytes assets/screens/51-seq-free-rec.png | Bin 3492 -> 3278 bytes assets/screens/80-bx7-arp.png | Bin 0 -> 2770 bytes assets/screens/80-bx7-edit.png | Bin 0 -> 3834 bytes assets/screens/80-bx7-env.png | Bin 0 -> 3338 bytes assets/screens/80-bx7-fx.png | Bin 0 -> 3840 bytes assets/screens/80-bx7-glo.png | Bin 0 -> 2958 bytes assets/screens/80-bx7-lfo.png | Bin 0 -> 2934 bytes assets/screens/80-bx7-main.png | Bin 0 -> 3699 bytes assets/screens/80-bx7-pitch.png | Bin 0 -> 3202 bytes assets/screens/80-bx7-seq-rec.png | Bin 0 -> 3034 bytes assets/screens/80-bx7-seq.png | Bin 0 -> 2937 bytes assets/screens/81-b303-accent.png | Bin 0 -> 2858 bytes assets/screens/81-b303-fx.png | Bin 0 -> 3690 bytes assets/screens/81-b303-fx2.png | Bin 0 -> 3613 bytes assets/screens/81-b303-lfo.png | Bin 0 -> 3186 bytes assets/screens/81-b303-panel.png | Bin 0 -> 4218 bytes assets/screens/81-b303-panel2.png | Bin 0 -> 3872 bytes assets/screens/81-b303-seq.png | Bin 0 -> 4242 bytes assets/screens/81-b303-slide.png | Bin 0 -> 2862 bytes assets/screens/82-mini-glo.png | Bin 0 -> 3087 bytes assets/screens/82-mini-seq.png | Bin 0 -> 2945 bytes assets/screens/82-mini-step.png | Bin 0 -> 3138 bytes assets/screens/83-bmini-env.png | Bin 0 -> 3399 bytes assets/screens/83-bmini-filter.png | Bin 0 -> 3868 bytes assets/screens/83-bmini-fx.png | Bin 0 -> 3508 bytes assets/screens/83-bmini-fx2.png | Bin 0 -> 3328 bytes assets/screens/83-bmini-lfo.png | Bin 0 -> 3488 bytes assets/screens/83-bmini-osc3.png | Bin 0 -> 3889 bytes assets/screens/83-bmini-scl.png | Bin 0 -> 2610 bytes assets/screens/84-buno-dco.png | Bin 0 -> 3672 bytes assets/screens/84-buno-env.png | Bin 0 -> 3537 bytes assets/screens/84-buno-fx2.png | Bin 0 -> 3397 bytes assets/screens/84-buno-lfo.png | Bin 0 -> 2851 bytes assets/screens/84-buno-vcf.png | Bin 0 -> 3627 bytes assets/screens/85-bittal-env2.png | Bin 0 -> 3359 bytes assets/screens/85-bittal-filter.png | Bin 0 -> 3810 bytes assets/screens/85-bittal-fx2.png | Bin 0 -> 3311 bytes assets/screens/85-bittal-lfo.png | Bin 0 -> 3268 bytes assets/screens/85-bittal-osc1.png | Bin 0 -> 4036 bytes assets/screens/85-bittal-playing.png | Bin 0 -> 4082 bytes assets/screens/90-slicer-trim-zoom.png | Bin 0 -> 4178 bytes assets/screens/90-slicer-trim.png | Bin 0 -> 4110 bytes assets/screens/91-slicer-sound.png | Bin 0 -> 3514 bytes assets/screens/92-slicer-env.png | Bin 0 -> 3405 bytes assets/screens/93-slicer-seq.png | Bin 0 -> 3939 bytes assets/screens/94-slicer-length.png | Bin 0 -> 3583 bytes assets/screens/95-slicer-fx.png | Bin 0 -> 3582 bytes assets/screens/96-slicer-glo.png | Bin 0 -> 2828 bytes core/bm_acid.cpp | 22 +- core/bm_acid.h | 8 +- core/bm_app.c | 580 +-- core/bm_app.h | 177 +- core/bm_app_int.h | 68 +- core/bm_audio.c | 6 +- core/bm_audio.h | 25 +- core/bm_b303.c | 223 ++ core/bm_bx7.c | 296 ++ core/bm_bx7fx.c | 159 + core/bm_config.h | 25 +- core/bm_dsp.c | 49 +- core/bm_engines.c | 163 +- core/bm_fm.cpp | 2 + core/bm_gesture.c | 17 +- core/bm_input.c | 4356 +++++------------------ core/bm_mach.c | 436 +++ core/bm_mach.h | 103 + core/bm_panel.c | 314 ++ core/bm_params.c | 144 +- core/bm_params.h | 80 +- core/bm_pattern.c | 59 +- core/bm_pattern.h | 20 +- core/bm_rom.h | 2 +- core/bm_seq.c | 106 +- core/bm_slicer.c | 450 +++ core/bm_store.h | 2 +- core/bm_ui_draw.c | 2871 ++++++--------- core/bm_wave.cpp | 101 +- core/bm_wave.h | 8 +- core/gen/bm_fm_rom.c | 13 +- docs/en/CHANGELOG.md | 46 + docs/en/CREDITS.md | 8 + docs/en/INSTALL.md | 4 +- docs/en/MANUAL.md | 613 ++-- docs/en/ROADMAP.md | 13 +- hal/fm1/fm1_boot.c | 29 +- hal/fm1/fm1_consola.c | 1 + hal/fm1/fm1_flash.c | 2 +- hal/fm1/fm1_hw.h | 3 + hal/fm1/fm1_keys.c | 5 +- hal/fm1/fm1_main.c | 13 +- hal/fm1/fm1_scan.c | 45 +- hal/fm1/fm1_scan.h | 8 +- hal/fm1/fm1_scanhw.c | 254 +- hal/fm1/fm1_update.c | 1 + hal/fm1/fm1_usb_midi.c | 6 +- lang/es.bmlang | Bin 8837 -> 2901 bytes lang/plantilla.txt | 1947 +++------- tests/test_control.py | 12 +- tests/test_core.c | 4514 +++++++++++------------- tests/test_longrun.c | 2 +- tests/test_scan.c | 34 +- tools/fm1/consola.py | 12 +- tools/fm1/instalar.py | 195 + tools/gen_fm.py | 92 +- tools/gen_site.py | 2 +- web/bm.js | 2 +- web/control_mock.js | 6 +- web/emulador.html | 4 +- web/en/docs/changelog.html | 73 + web/en/docs/credits.html | 9 + web/en/docs/install.html | 4 +- web/en/docs/manual.html | 386 +- web/en/docs/roadmap.html | 14 +- web/en/index.html | 36 +- web/fm1/bubba-diag-0.10.0-beta.bin | Bin 0 -> 125544 bytes web/fm1/bubba-diag-0.10.0-beta.fwsc | Bin 0 -> 699956 bytes web/fm1/bubba-machine-0.10.0-beta.bin | Bin 0 -> 451460 bytes web/fm1/bubba-machine-0.10.0-beta.fwsc | Bin 0 -> 699956 bytes web/fm1/versiones.json | 28 +- web/img/00-home.png | Bin 4014 -> 4069 bytes web/img/02-seq-tr.png | Bin 3703 -> 3932 bytes web/img/80-bx7-main.png | Bin 0 -> 3699 bytes web/img/81-b303-panel.png | Bin 0 -> 4218 bytes web/img/83-bmini-filter.png | Bin 0 -> 3868 bytes web/img/84-buno-dco.png | Bin 0 -> 3672 bytes web/img/85-bittal-osc1.png | Bin 0 -> 4036 bytes web/img/90-slicer-trim.png | Bin 0 -> 4110 bytes web/index.html | 36 +- web/lang/es.bmlang | Bin 8837 -> 2901 bytes 150 files changed, 8878 insertions(+), 10497 deletions(-) create mode 100644 assets/screens/01-home-play-drums.png create mode 100644 assets/screens/02-seq-knobs.png create mode 100644 assets/screens/03-seq-accents.png create mode 100644 assets/screens/03-seq-bars.png create mode 100644 assets/screens/03-seq-hit.png create mode 100644 assets/screens/03-seq-repeat.png create mode 100644 assets/screens/24-glo-machines.png create mode 100644 assets/screens/24d-glo-heavy.png create mode 100644 assets/screens/24e-glo-tempo.png create mode 100644 assets/screens/24f-glo-fx.png create mode 100644 assets/screens/80-bx7-arp.png create mode 100644 assets/screens/80-bx7-edit.png create mode 100644 assets/screens/80-bx7-env.png create mode 100644 assets/screens/80-bx7-fx.png create mode 100644 assets/screens/80-bx7-glo.png create mode 100644 assets/screens/80-bx7-lfo.png create mode 100644 assets/screens/80-bx7-main.png create mode 100644 assets/screens/80-bx7-pitch.png create mode 100644 assets/screens/80-bx7-seq-rec.png create mode 100644 assets/screens/80-bx7-seq.png create mode 100644 assets/screens/81-b303-accent.png create mode 100644 assets/screens/81-b303-fx.png create mode 100644 assets/screens/81-b303-fx2.png create mode 100644 assets/screens/81-b303-lfo.png create mode 100644 assets/screens/81-b303-panel.png create mode 100644 assets/screens/81-b303-panel2.png create mode 100644 assets/screens/81-b303-seq.png create mode 100644 assets/screens/81-b303-slide.png create mode 100644 assets/screens/82-mini-glo.png create mode 100644 assets/screens/82-mini-seq.png create mode 100644 assets/screens/82-mini-step.png create mode 100644 assets/screens/83-bmini-env.png create mode 100644 assets/screens/83-bmini-filter.png create mode 100644 assets/screens/83-bmini-fx.png create mode 100644 assets/screens/83-bmini-fx2.png create mode 100644 assets/screens/83-bmini-lfo.png create mode 100644 assets/screens/83-bmini-osc3.png create mode 100644 assets/screens/83-bmini-scl.png create mode 100644 assets/screens/84-buno-dco.png create mode 100644 assets/screens/84-buno-env.png create mode 100644 assets/screens/84-buno-fx2.png create mode 100644 assets/screens/84-buno-lfo.png create mode 100644 assets/screens/84-buno-vcf.png create mode 100644 assets/screens/85-bittal-env2.png create mode 100644 assets/screens/85-bittal-filter.png create mode 100644 assets/screens/85-bittal-fx2.png create mode 100644 assets/screens/85-bittal-lfo.png create mode 100644 assets/screens/85-bittal-osc1.png create mode 100644 assets/screens/85-bittal-playing.png create mode 100644 assets/screens/90-slicer-trim-zoom.png create mode 100644 assets/screens/90-slicer-trim.png create mode 100644 assets/screens/91-slicer-sound.png create mode 100644 assets/screens/92-slicer-env.png create mode 100644 assets/screens/93-slicer-seq.png create mode 100644 assets/screens/94-slicer-length.png create mode 100644 assets/screens/95-slicer-fx.png create mode 100644 assets/screens/96-slicer-glo.png create mode 100644 core/bm_b303.c create mode 100644 core/bm_bx7.c create mode 100644 core/bm_bx7fx.c create mode 100644 core/bm_mach.c create mode 100644 core/bm_mach.h create mode 100644 core/bm_panel.c create mode 100644 core/bm_slicer.c create mode 100644 tools/fm1/instalar.py create mode 100644 web/fm1/bubba-diag-0.10.0-beta.bin create mode 100644 web/fm1/bubba-diag-0.10.0-beta.fwsc create mode 100644 web/fm1/bubba-machine-0.10.0-beta.bin create mode 100644 web/fm1/bubba-machine-0.10.0-beta.fwsc create mode 100644 web/img/80-bx7-main.png create mode 100644 web/img/81-b303-panel.png create mode 100644 web/img/83-bmini-filter.png create mode 100644 web/img/84-buno-dco.png create mode 100644 web/img/85-bittal-osc1.png create mode 100644 web/img/90-slicer-trim.png diff --git a/README.md b/README.md index a955b0e..99ab67b 100644 --- a/README.md +++ b/README.md @@ -12,15 +12,15 @@ Batería, sampler de pads, bajo, FM, wavetable y polifónico, calculados en vivo

-HOME: la consola BX-1 con las seis máquinas +HOME: el mezclador de los seis canales BR-8: la batería TR -BITTAL: la tabla del oscilador en 2.5D -BP-1: la onda con el pad entre corchetes +BB-303: el panel de la TB-303 +BP-1: el Slicer cortando una toma

--- -> **Estado: 0.9.0-beta.** Corre en el aparato y se instala desde el navegador, plug and play, pero es una **beta**: se probó en un solo FM-1 y todavía cambia mucho (la 0.9.0-beta, todavía sin probar del todo en el aparato). **Una actualización puede borrar lo que guardaste** (patrones, canción, ajustes y tomas): hasta la v1 no hay compatibilidad hacia atrás. Ver [cómo instalar](docs/INSTALAR.md) y [cómo volver al firmware de fábrica](docs/INSTALAR.md#volver-al-firmware-de-fábrica). +> **Estado: 0.10.0-beta.** Corre en el aparato y se instala desde el navegador, plug and play, pero es una **beta**: se probó en un solo FM-1 y todavía cambia mucho (la 0.10.0-beta corre en el FM-1 del autor). **Una actualización puede borrar lo que guardaste** (patrones, escenas, ajustes y tomas): hasta la v1 no hay compatibilidad hacia atrás. Ver [cómo instalar](docs/INSTALAR.md) y [cómo volver al firmware de fábrica](docs/INSTALAR.md#volver-al-firmware-de-fábrica). ## El objetivo: una máquina hi-fi @@ -36,20 +36,19 @@ Bubba Machine busca **el mejor sonido que puede dar el hardware del FM-1**, sin Bubba Machine convierte el FM-1 en una groovebox de directo con **seis canales**, **cuatro gestos por botón y HOME en todas partes**: -- **T1 BR-8, batería estilo TR:** 16 instrumentos con su propia línea y su propio largo (polímetro), acento, repetición, flam, P-Locks y pasos que solo suenan en el fill. Roll y borrado estilo TR mientras suena. -- **T2 BP-1, sampler de pads:** 16 pads hechos con tus tomas, como un KO II o un OP-1 field. Cada pad tiene su inicio, su largo, su tono y su modo de tecla (sostenido puede seguir por la toma). Una rejilla como la de la batería los toca y BREAK la varía compás a compás. Grabadora propia y biblioteca de tomas. +- **T1 BR-8, batería estilo TR:** 16 instrumentos, cada uno con su largo (polímetro), con acentos, repeticiones y mutes, en un secuenciador por pasos con acceso rápido a cada instrumento. +- **BP-1 Slicer, el último canal:** corta una toma en 16 pads como un KO II o un OP-1 field (AUTO, 8 o 16 cortes) y escribe la secuencia que suena como el loop. Cada pad tiene su tono, nivel, modo, reversa, ataque, release y loop; una rejilla por pasos los toca. Puede grabar la mezcla en un pad. - **Pantalla en inglés**, para que se entienda en todo el mundo, con el español como paquete de idioma que se carga aparte ([cómo](docs/MANUAL.md#idioma-de-la-pantalla)). -- **T3-T6 eligen su máquina:** **BB-303** (bajo ácido sobre Open303), **B-MINI** (tres osciladores con filtro escalera), **BX-7** (FM de 6 operadores, lee bancos .syx de la DX7), **BITTAL** (wavetable que carga presets de Vital) y **BUNO-6** (polifónico con chorus). Banco de 92 sonidos, muchos históricos, y un [editor web](https://erbubar23.github.io/bubba-machine/control.html#sounds) para sumar los tuyos. Arpegiador, loopera, escala propia y MIDI OUT por canal. -- **HOME es la consola BX-1:** 10 patrones, los seis canales, mutes, solo, escenas y CUE en las teclas, y la mezcla y los efectos de cada canal. REC en la consola graba cualquier canal sin entrar (estilo SLOOP). -- **REC expresivo:** cada nota guarda su micro-tiempo, su largo y lo que moviste mientras la tocabas. -- **Tiempo por pista:** cada pista tiene su largo (1-64) y su velocidad (×2 a ×1/4). -- **Acordes en cuadrícula:** 16 acordes con su grado y su función por color. -- **Directo:** 4 escenas de mutes con cadenas, CUE, grabación de la canción, fills automáticos, 16 efectos punch-in y mutes por pista e instrumento que se mantienen al cambiar de patrón. -- **Guardado seguro** en flash (CRC, commit al final, wear-leveling y autoguardado al parar), MIDI IN, reloj externo y Split Sync. +- **Los demás canales eligen su máquina, y cada una es su instrumento:** al entrar, la máquina toma todo el FM-1 con el panel y los menús de la original. **BB-303** (la TB-303 sobre Open303, con ACCENT y SLIDE por paso y overdrive estilo TB-03), **B-MINI** (Minimoog), **BX-7** (el FM del FM-1: 6 operadores, 32 algoritmos, sus efectos y arpegiador), **BITTAL** (wavetable estilo Vital) y **BUNO-6** (Juno-6 con chorus). Sonidos de fábrica, muchos históricos, y MIDI OUT por canal. +- **HOME es el mezclador:** 9 patrones, los seis canales con volumen, filtro, delay y reverb, mutes, solo y 4 escenas de mutes por patrón (de fábrica la B deja todo muteado). +- **Patrones de fábrica:** recreaciones de *Da Funk* (Daft Punk), *Confusion* en la versión de *Blade* (New Order) y *Enjoy the Silence* (Depeche Mode), tocadas por las máquinas. +- **Grabación como SLOOP:** largo fijo que da la vuelta, cuantización de lo que tocas en vivo, paso a paso dentro de SEQ, y REC sostenido para borrar la secuencia del canal. +- **Tiempo por pista:** cada pista tiene su largo (1-64 pasos) y su velocidad. +- **Guardado seguro** en flash (CRC, commit al final, wear-leveling y autoguardado al parar), MIDI IN, reloj externo y salida de sync. ## Pruébalo -Abre el [emulador web](https://erbubar23.github.io/bubba-machine/emulador.html) en Chrome o Edge y pulsa *Encender*. Arranca con una demo; la barra espaciadora es PLAY. También funciona sin internet: abre `web/emulador.html` desde tu copia del repo. +Abre el [emulador web](https://erbubar23.github.io/bubba-machine/emulador.html) en Chrome o Edge y pulsa *Encender*. Arranca con el patrón 1 (*Da Funk*); la barra espaciadora es PLAY. También funciona sin internet: abre `web/emulador.html` desde tu copia del repo. ## Documentación @@ -81,11 +80,11 @@ M-VAVE y FM-1 son marcas de sus respectivos dueños. Este proyecto no está afil ## In English -**Bubba Machine** is a free (GPL-3.0-or-later) **hi-fi** groovebox firmware for the M-VAVE FM-1: BR-8 modeled drums, BP-1 pad sampler, and on T3-T6 your choice of BB-303 acid bass (after Open303), B-MINI, BX-7 FM (reads DX7 .syx banks), BITTAL wavetable (loads Vital presets) and BUNO-6 polysynth with chorus, plus the BX-1 console on HOME. Written from scratch in C99. +**Bubba Machine** is a free (GPL-3.0-or-later) **hi-fi** groovebox firmware for the M-VAVE FM-1: BR-8 modeled drums, the BP-1 Slicer, and on the other channels your choice of BB-303 (a TB-303 after Open303), B-MINI (Minimoog), BX-7 (the FM-1's own 6-operator FM), BITTAL wavetable and BUNO-6 (Juno-6) — each one taking over the FM-1 with the panel and menus of the real machine — plus a six-channel mixer on HOME and three factory patterns. Written from scratch in C99. - **The goal is hi-fi:** the best sound the FM-1's hardware can give. Every machine and the mix run at 44.1 kHz / 24-bit in floating point, everything is computed live (no low-res samples), each machine has its own engine modeled on the real one, and both 360 MHz cores can share the work (TWO CORES). Every change is measured on the device ([audio quality](docs/en/AUDIO.md)). -- **Status:** 0.9.0-beta. It runs on the device and installs from the browser, plug and play, but it is a **beta**: tested on a single FM-1 and still changing a lot (0.9.0-beta, not fully tried on the device yet). **An update may erase what you saved** (patterns, song, settings and takes): there is no backward compatibility until v1. You can also try it in the [web emulator](https://erbubar23.github.io/bubba-machine/emulador.html). +- **Status:** 0.10.0-beta. It runs on the device and installs from the browser, plug and play, but it is a **beta**: tested on a single FM-1 and still changing a lot (0.10.0-beta runs on the author's FM-1). **An update may erase what you saved** (patterns, scenes, settings and takes): there is no backward compatibility until v1. You can also try it in the [web emulator](https://erbubar23.github.io/bubba-machine/emulador.html). - **Website and docs in English:** [erbubar23.github.io/bubba-machine/en](https://erbubar23.github.io/bubba-machine/en/), with the [manual](docs/en/MANUAL.md), [install status](docs/en/INSTALL.md), [audio quality](docs/en/AUDIO.md) and [roadmap](docs/en/ROADMAP.md). The firmware screens are in English; Spanish is an optional language pack. Issues and pull requests in English are welcome. - **Clean room:** all project code is original; synthesis libraries (Plaits, msfa, Open303) and the community Vital presets in the factory bank keep their free licenses ([credits](docs/en/CREDITS.md)). Only hardware facts from public FM-1 reverse engineering were used. - M-VAVE and FM-1 are trademarks of their respective owners. This project is not affiliated with or endorsed by M-VAVE. diff --git a/assets/screens/00-home.png b/assets/screens/00-home.png index d6572be150f9a77717c1dbaab8b7e20155636b4d..0205bf808e121441986e2d7b423f49afd7a9f4f9 100644 GIT binary patch literal 4069 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 Hj?w=Ege%>Y literal 4014 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 Q-wOaeZKL~Tnzo_;1M-_zK>z>% literal 4060 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 M3@vVb(076V7s}uAh5!Hn diff --git a/assets/screens/01-home-play-drums.png b/assets/screens/01-home-play-drums.png new file mode 100644 index 0000000000000000000000000000000000000000..3923583eaec65845a71efc30713078aa85bc755a GIT binary patch literal 3652 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 JTchm|^*=Qo>{kE) literal 0 HcmV?d00001 diff --git a/assets/screens/01-home-play.png b/assets/screens/01-home-play.png index c447c7a2016989ece0bc97616b5a3c6231bffbb2..8af680da38efd5f353c7f4a12989fb1751f30dbf 100644 GIT binary patch literal 3340 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 literal 4177 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 d0UrZ+_7$^3S!zD!=&Are*r^Q5U>CM diff --git a/assets/screens/02-seq-knobs.png b/assets/screens/02-seq-knobs.png new file mode 100644 index 0000000000000000000000000000000000000000..227bb9c77a00af851e8834c8f9f7775304cb6747 GIT binary patch literal 4047 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 literal 0 HcmV?d00001 diff --git a/assets/screens/02-seq-tr.png b/assets/screens/02-seq-tr.png index c341f51a80ff6cfd0aa72fc6b09e49766b7d2cc5..f18127d628c038af18de9f6a9376e3993b75b031 100644 GIT binary patch literal 3932 zcmZu!cQ_mB_m5fBs#UdBuTr}NY0%ngla}Px2o+S3+C*coTBWtF8Cp@TRZ+D^)hI=X z6$FI-3z3JF0m|!I)rJ>o6M?tUQJg+m^jfYRzbRg&fIy(^+Omoa`^*myUmX#hae{!k zFQj35Knf=VU)6lb6Pkt}CkNM=783HvajFLAwDr7{N~d4XkF@L~Fp-6~xe=!f>8kJU zduiIUjT0B9I+Wj;_Fh|CKkSHdWG>5mOPPA--L80mxj24P51Hjsn34B53+&?zU~G#uPz*X*x8)Y zhn?-8sH4exctVHQ;b}J;L}4lmACavo$)>I@V0|EnNsXCrk_z73m=zlNQL@lf_Huk# z+V#*4OP!9e{j^OKp!KlC4faGfCqKCnHO6%=r`kJ2XT5cWd37jwhX7KHUPmiJGh;PE zvW&A2g%{s*em5WFv|KjZZN5g!($Ka54L8;0b?Oyv}hdFI|iFlp-x zt?$$fHl7T2zL2_>fM0+U0(D&lQ8=B^=`YrNdxen}5uIZZJxtP@>37vb<<2GL)H^t& z@mG%A!H6ynTERq);kdvh3R2}#DEjPljROOTH&|dv`Qua#v22 zrzb|kQ)sHFg?^hAXWPdBfYNN^!?@!LsiZ_)+n6rQO&vjB7KZtMMfb54?3c5IiF9ln zX5&~ON12k3zN#2+mv$Ci*k`x0s*ZB1HQlFvU8gH?)EMEt%bqd z(a=xxch+J(U%sWZYmn-O-zt}wl7rFT#AXgNl9(R5iOEZJH}AcMC~wwI)0DTH4SKSA z#J@1H{hOeB_IDJ?%?mQE~d_a*SD+s>fgI~V*@me6`Y@@ zE#BP+BugN|Tml3F8izo$fm~3(Y%}qZBdUGmGGv{A7JlN^_4hVy1N(+`(9I2T;T9jfcV{c(2n7 zdR2byH#8SL&qZ^GjkQ$?Lc`L+LEx-DDrk7UKo~c>5}b~fWr8tVgW3X4>O;@~eY|U8zZRMeK*U<@6AF)2{lByj-fZaK$pt z`FiX|E}KsE`Z?=8Fnm-6eqcjuY)V~r@8b5Np%k%TQ?Q(TC2X#ciZJq7`n$M!$`QS~ z$775d@XFImR0Sy=N}p&-x7=!S9|=t=BlYlSFS#yZNFxDu&DRf-W*$Z9aZ2%CeLNkk z+g>FI*L@?z7p8h~)_;TJnf-wYr^G;-Dj*5lLN4NNxFl&gk5SZoB#xAr;p5LAFI=47 z#UI2hKWNXYp=}_#iXT5->3$xd61Ck2s0`#H%;Zr zMBpyZlGjFa*uz=CzDlp==PZZZrsyD>;L5G9Ofeg%^=8Hne?Zw6Z5qsf^rmHjQfbm) zOOe^9Sh^dRHA9cJ2?y3n->89+Ep?9^{JEAC&Ysa&p=t2;tKe~;)<*-$U(~vUWjUn6 zxOr=7{tYJ=sMF~VZo8D|4X_gV0VwNf@);&9I-;K7rdUiI85{B|HgydXw*Le28<{U{ zC!Pxmr;9bNwc@6p+iUjLXz{?1wNuizb4{V_+}?RoM&Jj%%@fZ@-`Wf;9Wz;uNy%-N zM|wsp`UhA@s<`4Hy+n_JR@g!rG*ZXDfN1Le{A8K1Mz#g_rPTmX+5}J zM1hTb+=PJG3bTT?pGnDi#^|_ye0F9vNVgy6uGd2a^|GE-9}gHF?--Or_sYAN#Aa^h zuTAA{<`X=UDR}a?)NFEkpKput^1hDt=>y&W?tP(5Ipr$zEofF(%6kDQXZUl|oUo+F zVA-w22RhmMoZ+E-xYvDR#wFRi|4fb99$OgKFLi+DSS>7x)it34wMkrp>q@f8gqq~b zW_B)*1q}~X*3v4EAL4UJ6+5N=VVpY=hnc1K2?x=pNUDW*cke2q-*;gf`pFPrkw?pi z*X%>UJSk01)N*DKdH*D6dfO)+tHSMp?HH8IHvL#XVJ1{B_~j7te2e-64qO~ZtbH1=Yf@sigq&!1(;+4CpEOmy-|p8td&0df7hb<^m}Zh5 z54i#i@Atd6%Kz_774MGQ7_gUHNGN#2vs`)3tegCa@>JSFq#n_;KZXWhDB8ACDvsG*v}LY%F1n7YXDau2NTdu5%608=j-p7XRz3;mZ7@ zbHC)>YjZ?lX;{Ugh*rOA`;ynWn?%>I{o<5sI2pO^vMnB^$+-0hp*!{?OFnVyx1K7! zLril~TLm&^d;WwIPaLLOU(NDEVEUeNMeDaylihnu5KrEcCRG*RQu*_zF&!R_7&z=f zMZC99U_Hlc3hDxgNE9(d)}GB{Hf!DG6X7bcy!yEYy0H7e*~tCn^*;|!P;mtozk*$= zl_!~3Sp{Z42y;iE^q?V!XUzjbR|M}G2LVm^(-01cq#O2{!SNkj@F04-MgL0gx~}I; z{@D)WE9>;83G&fjDMX;jppeu3#8}pcG3OpS^?7BvGUG!v1ZKom866PK%;marwe5Ue zv%f3Q)kq(*acdD)ABQ!3?p}l#M8?S@$9AQib!;$!nWQrX z*Y;qna0g*`b7Qu;^%L1y^(pEw($U2qM|Y;MpTfo`B_#tkbK=}TY~^3BuRIUph$bfm zr+4r8wB2c{16pXxTq4>GB;4(ZJv zR^s!MQ^LrSbox*0N?Cty&Q=pRiV-ef3Nq3&wm7$>I-!^?r-qc?LfUE7SY8p2!%AUu z;^W#E!`aQJ3Wog}!bxZNpyM>5<5CluW8+692-0LDGc3Ig2#VI5jBJT5Y~{W@DX_nI zH`dtD;?{&5#3C9kj+v?MXD(k9$w}{mJYF#mSlen_Nj#SJA*6N1-j147t7+#w0--4W zi-TTz_(I%_miBiJM~-l7^O00i3_e5M!^+XT0Du}fqqq~Te))@INW1vsf|ZN|hzJDA z=%gaq!$mzu*Y&?dql$X(V*G!^qiX*6$6JiaNkN5)TH5VsjFLnBjUZqb&~}UZSetU0 z1n#W~|D!*g46|7@02>MUty`DayNhM|h^>%31!Dg81|>vD+siJ8i@hv34?JG7uMv64 z)^YD;pr;(R^}SI+$hIb@7e~;ItHqfvmDVbjuod`X`yMr1Ht>3azQc^>(4 zPyQvl-0{e}*^sE;Z@Ue_k0=-+Jv1xwC7Ka%kT3AK$%#$$E3H96Qvcf1#ncmaNraG_ zl|Cp9-rU0JWnUK45hrgSt} m`?qV+Sa|CV+SMZVE|Qi8 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 literal 0 HcmV?d00001 diff --git a/assets/screens/03-seq-bars.png b/assets/screens/03-seq-bars.png new file mode 100644 index 0000000000000000000000000000000000000000..eda116f103cdea4fd818d198a5391749bc452452 GIT binary patch literal 4016 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 GJmNnao1M@A literal 0 HcmV?d00001 diff --git a/assets/screens/03-seq-hit.png b/assets/screens/03-seq-hit.png new file mode 100644 index 0000000000000000000000000000000000000000..f0f1ba463d71f7e0d60dbe11ada2a98abbc13871 GIT binary patch literal 3848 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 H(-HX}o<~mp literal 0 HcmV?d00001 diff --git a/assets/screens/03-seq-plock.png b/assets/screens/03-seq-plock.png index 63311b6cc77024d04bb1c80344c4965f4e495cf3..e8a458429c3055b123127ad5a275d6eab9d05fe3 100644 GIT binary patch literal 3969 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 Cq4Z$@ diff --git a/assets/screens/03-seq-repeat.png b/assets/screens/03-seq-repeat.png new file mode 100644 index 0000000000000000000000000000000000000000..c50b90dbe412fcbadf0b62316dbe09445321ce5e GIT binary patch literal 3173 zcmb_fX*d*GA6LkhAxj}^H7U)N%M7MBd$N=zR||ubYtLkjEMps6wqz?!hGfYu%NS!y zVU#5_S!X887{f3qj3vW6?(II${qlZ$Kb-S_o^w8&|M~xx|2aw4mL|f2GJ;%OT*79i zmuxt3WqmY9wk9+8pnLnPUN#%Ddiv?<2&eLYVb4QW$Z_=wubKMvyvla)f6W+NN zH#?Z2H^tVKsq~3G&mQyyd-`n8fpHZ82gJcQ31&6xaZrw!cA}$1a+Us@?LQW_py~#}V2j$tQ#bgXUC7=SJDJ4S8z(zlykKWGM z)f$wM$SX7|u&AVm{w7>?fqnr6?*AzB)j>D^;M5qU6An#~Z#IY8xVE)u%vYa$0CX>% z-oASlBUGBSBtb~Kh+OsjR5~+JoHQ<->@oY^kt$iIxzzcjVpbO5IcsD>1tw#G8RBYT zw!1q^$9~fBL0wk0&IVw2(nF0L(Lk`1xyz4dwoG)D4gtM8wy0X6_@-Xk)$bz?c+(g&g-`p84q9~;H0EPZoQptBArN?-D@ zHtwlfUI|>TP4#|Op0C<-XT5DPD_!~i#KV~Hh+EEw7b_Y)@mH*n@lZckuUDQ!4(}FW zCo^!A?2!JMSJm@p`{vKzf!8QsbR;n2YISCkX54wct-Wsh3^Z)-?TGKJ)rpB;MCdyQ zB;7b39HwDkFClf+LWA4_^&|E+&I=E{h>>rKn#j_8%uU<;31s*u@(W|s8SBA|2Z$Qo zN_O@ty&;+%i{vveQikP>0gLb3;6B%l11j_UJftEnjma6qXWtGZ^rKb@f5iq;_pGhU!vS9ndXwGvbFTSkmrOh zT)#UxO!YZXB^xUc-zd#-h{C-4augX@nq>eBCKRE(t$%s%vLBHM>m2**lUcf1mx z()K~$AZGs_mR|2C+`KMaK1mQPJ7^HAA_^|MD;~mvEd)%eA3*1R>mSmFh!+}2ruavx zBn}h^@(7pfb9^9myT{4vb3NKb{j_1MiWH6OdJ0ZL3ZqwYCy9Mg?3HYR;4fb77v)!N zeg$bAmpB}E1%v+Rb|u%^hg3;xUMTpVv;Rrqq%;7GvZ^83w0La69Mj!FkvHI5A>AEx zAZv9hHjuqc9Z?rYYkjyDh|~MV*u88oLeNM%A&#D>-`zo+=A_dgWRE~pvP7uTJvwI< ztY*(+l?nb%F5V}%Olhqo81`ns=;q3@7Od9QtPh`0{-WRC?5djJ5WoW4GZjwJiD#&{ zW|D%kxQE@b5%wy!u6H!T~%Xu1@XE)lsSvu)+&WB-3 zx}IAcmHfGCXJ7D$oZh8?!P|93xyew={y<@9yM&n_eccNLC$K=E?QjM;VKgreKg9%? zA?zSdaS*N9{=e!1EEV+^=;d?7!j0o2!MGkn19@d@Hkueb9?YFxlIcVLTNgpuG-lxTD0rL1O zw<`Yyz|Afz1%$7$XHVa677i4x2}Zees1ogILev1h=-^95!>+-r+OLG78nA5_73ZB202e!DwV}#asRtOAl^ge ziX4(_QmeKE)O3Dv+jtr_5zRAORh?|xqx26!Cz`xB}{jiotpffLQKjY-;r^i;(j#z1< zudl7H@JIaY%b34kGg-g=mkv@IRlBCBgA!?IK&N4wJ1_ex$KW~jHD0T_A2uXyN}^#( zfQ=NJcRR2ZI}^Rq^nur>&shoRR?O3hKm4=<{J-;$zUKCO%SV60STcxsOG&e6$iaZUHyvt}xM zpy|_=yu}>QVct!a@pw7?b;M2l1U4?Jy*e|xS`*Pin}Huk;!aLEX_N|uiFxF-)A>A+ z)!&vYiSRLMcxWTVtA|dkz_Gh`NyWihBJE#6i*sIk&Zr$~z1%lI+vcRa{S?6-T@*?P zLF^LuY}Z1)GlJKnItV!y2gNO2mWWM#XN=zBw|?u?MtWP8O&$+!WzuKFq^@L7G1gS-5%0Yvddz zU)-k#nEU3nT_~aTffa&>bvGh0yW|zDB{XPT_iDu~OjKZe9Wsd_)jM)-&$5M`GIXjZ zlSnld+|3Ac%d^pue<<}AW=7D0su$zv-#p~R0@>s}aQ~03^#9NkMA(F`8d_9dkyJnZ zOn0PDm=7be)s+@-`r;lt;9XxNVktD)&*Rp6hqQ3`Ak8{Jg1ns{ETRq-uvOx8FTsZr zy)$3J3S~Q#0$vd*_B_IweiCOO=x0t25;210`uAk(0++|6G zV0KBl0uh5(*>6NzVY>N`Q2U}k3XRAbdqDKPHF*zbEGSbTwBOeLCa%`KV~vS>Fv_0B zc5fm6(Z+esE6NWzN2wlXs=#V#hG&~RosRpEAawyUL!b)J<=er6!8nFLloUyMV}3OZ ze?#l1f%vgfyc2fd!|fOr3%-n4A7;qj|J3%KA6e|S8q~1yr704&v2I8TgXErMlsTFU zaX)1VrUo@&M3)!hnl@BuzNFdR1$?m>iEt)+!MW695AkljPc3KqPUT(K_N>FCXpa1N i{&Fu-uteUb!gwE3_FAIuVb1q~%gosFQnjIT%zpv2$u7G9 literal 0 HcmV?d00001 diff --git a/assets/screens/23-scenes.png b/assets/screens/23-scenes.png index 0e2a80181ac7e89efc6cc7893a98ba90b6ecce97..356bb0767cc332971ab3d266a3502a06cf12c1bf 100644 GIT binary patch literal 4107 zcmZ{nc|6o@_s8vI8`)_rC52S>wZWhySt^6EE6Z4hOm>aPGPlZ}b?lRU-**w3!Y~^9 zk|Mh?vWA9ddY<3?yPtoaKfc%Zuj}`)+j`-1?mL=i18#wa>|9BjY&Cr=jHirDe<36ipAM z83rmz>p?gbm1J0Mn8b}0CHn;6`}d_W2aBG?x;$S}MR|z(F<&)=ZC9;0d}K@u-Dafo zI2pzDC07Y$9W2UiLS;GzvrDHr7n-~*i~mZ-yU1eBHd&BUZKWr~`Rl`D*20~=mqr`N#SkvUlc=HOh=GppP}DkW;B1~hvOPq0>ucva z5nDFAS0N83k<>R%=Xx~IaP49+&ORz$=g4)vuIQInP=r8U0>iVfk)Xo^5rEo{qQ&;| zxQQypUVOJn*gE`C!}gRm9sJmUaMFsbn^_!}$*6$^keH*7nCX*3^}KsKt>j!KR1GgLnXjDwsyudRHiw3ael$-p zRI#xHO&n%K1#bx-wAT0p`zh|m(=OsP@Hh4(T}G>x9~>NJr7+Lgk|gwEhfA+wdJN3~ zb4fK!^6bKbRZJC_&enTaQ(U&)TDfQxdldca2Kog0w7F}Vw#e}pn-zd&dKPIW`I%TJ zX)wNf&o1Z~ak4}%94u<8`(SKNij=N5`OaZjKGLE%cUr#O8C*5hH0&bc)6S;s=PUYy zDnAs(kl#G(QS*j6p7xdkM_-)x>SZy^ejGLJ&u{r0pLpsKHOKFVnxDSyxfWgus^=|c z)-KOuGQ9k7O6iD5Cu;Ml8_{dARU7JYLDURy<|{QOw^GscJ+GVQmO=~~*ChJbWM4%g ziWthOp+H^({agwXINYQ8#;}Oj;^t7`pr>Qgb$DM?tqClDu)lFy+~jZLe!V8YOm%&f zw$AML0MNuCAhDPKb?!+|_sS!?L%jxgiVW!Z0 zdXX`0$XZB98s`29Ona_QoJqCo!yVOP0E7J zZaRZuq!wMymznReFTdwB|D;&p$E!S4wok7%{n@wggt3%0NQWbMU|M0$c7B!d>)nMU zud4^*bi@G93D~FauybQ&Vj9ro!rP@St*<}ShoK<3%lr5s-F5~geU#x98}1->AJ$0V z6@^N?5we~xlqr6|`=fK44N+xJU$;lL=91qlhpaydimIObi{>RmekjGtf0BQL$gEku z7|Rt!)V+kUGe0qG9OibLynhkdh{uOlPttxHRSN!?XDno&ZE;+?Q|BX>4N!4{%={|x z@|RNx9xb;b+$Up<74}MKwFYm0@BMvQ#C74QE;lo`4F!4)nhfuB&D1*kt=YWeBGojZ z%+opO;)oa}K-cC=NSL!P_mSw3X~7e@sCAVE=Ny?rR>hT7$Cx~29_3q16QD@?;#uSH zz7-vUeNX9Ta}85N>J0VCD0LTGEz$9Gr?T;Tnk2V+U$xP1rQR3>R)}iKUjssUXmpDuobSNXv>{EJ%=!A2r<6L2;y?X zt&UMet1)Y^{@a)mP(Jc;5&!r(iU;Wvlm2N+icDP+SOIt81r>)$qswx~z76v~s`vBS z$Y-gipIzD)F?qVe#n^49|z*s%BW zCMBbMX#i}xVLvYa$6Wu{ZZiGeA2U!YM*NLj(QiU*h{{t9nU$)KCYy$Xf`i)|Qdmct zhPRltI6>#5&^BjQU!TML)lj?zyv0ztfAGRk1uR01V>IE#J%A=uk-rz2o&BU>%lml^(R)1;tt;L@4EBBl&af( zrBwYQ>VHN0_f+`DC$9_!_h|I(*Dw4#`Cu&J_vdiH(=HZY}YY~Uf zQ75zvx5o9m;xQX1GO*EZG*DALIXUjkLOrA|2z@mMA(I|^Yy)`_OkVWPADQoy)QlWd zKD*{L;WCn1Hwkp>aqd&XvSgI1N<`!qVyA?V`6U^81%n#iH_#Z(pt^f#Sr0xDt8nHP ziN$PJ*Bt}^c%@U;S0rj}G zt(JBi!Ddbk9(#xm_7(3|&C5wzyF7HgZqK@rb+!ku83CpW7t0 z-F%^Z5_}?+?7LtKeHN*-n9uR=k@JZMA-&4?v_)yY14*ppb$⋘Uywhd7d56VM^KM z8n#GJ-rG4Z`c4AC#=}h4b2d~!5KKF6+?e&@ZXr85d=vS`f(3@r-QBucmr`8F-E z=AJjuTujs0&gom$622L@=eCc^vc%y=%Xx;^p!y9(GuQy$fYH!e6vJI?zjS8bvck)Q zBcZATAG8^i=m?U%X%MZ@KVuDh8{Xe442^gg_c-dUclocqlp57ARAHq-n@ioh5-Nhs zwPm~>#56d_y;`6J7^!tbPe7)I=Km9*%)~yYUbXxnt9ip>yPf3Yn2vIBpVWx5WJ{5N z0+xLPzn=1z)HcUs&JMFbWCd@4QD1)$Ij-JCI;|)?{NgJ&C;OFRRjUe!mVxO-n~z#> zs|}Ud#TI7m-_===g;RB-cCT5kNAP>G>^zo{o}k$2ry_9XLJqy9fKzO~1$@?B2>$Xi1~mmZzDv74lQ^@nlv z1ObQRY5%KsHFp7QT^!s0@QOF|G+K`82Q6Qu7I*4ak?hS?hcqaB$R+A5LB}h`vxB5v z@nf`MLK&<_!C@L_=I~Y-yQM1;;u#~OU~_Cqotwg4ax52lY5JI}=GGl^JaZ{f7xrQm z?xc^9AGHL#?x*^Wbd0yDBNPk?piQ!(5D*a|DCE<+yKh+EoP@672Fyu2bhHP685N~r z1*Vo4D^P{*sAF`(Z`4c0YJJ1bDmyE}@!M?cJB*Rp$i??2!QumW7sV&gW0j!8+LVyk zU0#LC1#wtwYj#oDzynpL-L%-nR9Uf{;Gv%&SK103pBCeo|GDXv(@V&@kA#_kC1Z1| zGi*3^u65y=SXO5p#WUy{(&NGHmgrBrysRI$NI%u89{9gv@V(b5oEhNwMkk!-2SVD1 z!9Cj9eqEh7s{CgOYP5G|-70Go@juT6#h zu~of3@)@kavbFB#Ep5)nXMNJqb=2vL!j%aScELuE9S*l=^2%5b5dYg>A{lM&vE-lL zu=OKyxJ*uts^9SIwghkCAt5fbo-p|>OmE|bqX>Et1`4Wf)SbtRp_BMiJ;Mt7tpKGS z2bGxjySFRLU%J$To=^#S*8z9!RHaTfIei?7$rX>}`5S5Tix=|1_G&X;7qD&Q7sGOX zv!6HA;B!~O=>=EXc1Nb<8D@`GrMc#^9#dub&upO4&ZK7vG0!Pb83Fv8@Oy2z8E~jE8DsVH_2y5{ zKE~0s@rtvdP z?|-{(x%ypvbba8ZkkrUYig~D~pgTqbP~Pd<(lD@L&AFAX&_CPQII+n$9&W}qdI>gO zqJuNI%jTx^zEa1|-WYZ-_>n-k4o!}PTJMw0-|!Pjc?5)qv4B##I_Ww|vy;d?st zi~0CySaY(;OgYUnjx!_lLaX@|p9@nr#{>g}x8|o##NQs4kR*F7boc^e4Z5cER2QZ< zgb8?GDc}<9$&C86zca3nB`7+#hbje literal 4261 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 njP6iZO%Z-J}yU1I+OiR?KW diff --git a/assets/screens/24-glo-machines.png b/assets/screens/24-glo-machines.png new file mode 100644 index 0000000000000000000000000000000000000000..f95cf63b60e1ffb5e80e269824ecd49c01743acd GIT binary patch literal 3865 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 H?IQjK^3G6p literal 0 HcmV?d00001 diff --git a/assets/screens/24c-glo-machines.png b/assets/screens/24c-glo-machines.png index bad12c0552385b3b44cbe9df6a2f1e3d025221dc..373101377ab2e0544df3870a3bbd0bcf059ff5b0 100644 GIT binary patch literal 4050 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 literal 3994 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 literal 0 HcmV?d00001 diff --git a/assets/screens/24e-glo-tempo.png b/assets/screens/24e-glo-tempo.png new file mode 100644 index 0000000000000000000000000000000000000000..7a47868ba7082a7461adfa9e329c4066d5a197d5 GIT binary patch literal 3249 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 literal 0 HcmV?d00001 diff --git a/assets/screens/24f-glo-fx.png b/assets/screens/24f-glo-fx.png new file mode 100644 index 0000000000000000000000000000000000000000..664464a5dea0f1ea4c1f8cfc19fc4e4ae937b85f GIT binary patch literal 3403 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 literal 0 HcmV?d00001 diff --git a/assets/screens/25-system-en.png b/assets/screens/25-system-en.png index d6572be150f9a77717c1dbaab8b7e20155636b4d..0205bf808e121441986e2d7b423f49afd7a9f4f9 100644 GIT binary patch literal 4069 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 Hj?w=Ege%>Y literal 4014 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Ň?YrE1IPs!!VR+PR|KGg~_ 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 SYLo8kWO@&bbegs7WB(0b4%L_d literal 3570 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 diff --git a/assets/screens/51-seq-free-rec.png b/assets/screens/51-seq-free-rec.png index c012d693fb4fd293c56d50487c9b6ea347d99b31..aa1f60650d345f262bf1d4e180dc64c46cce192e 100644 GIT binary patch literal 3278 zcmZ`+c|4SR7gv^;Y}p$!M3$5#G{!QPM6yrTvhTZ?EHP4CQrWUZ*S^cmmJo`BQ6$4y zW5_ZFgRz?>;~n?&zW4Ut_wzoV&+~l$c+PXq_nhDNob!2}n3?Fa0e}EHIyyFk8@ezW zZXVyvCuz@m@Pi&YI@U}BU2Ti--1R)su!VPgy&4)PPSBrZVgT~-$=aB`yQ`_^{E?m> zK)ZyQ!wW%kQNP8VIL*g?iIr7=)68u1qgva{Xl2^#8%^Sd%^kBVD?y{aq?=UA(rv3n zQ~X{zed?#tVRpJw2JKiWD?>Gr-xdzgbwkmU$(gKii&orE;;8qT|T8M+VJ@n4= zkgpz>=93S>;;Z~!JM}99*msdpzGTOjwlI@Cs3KVec-xa3@MELMBLc!=MN-_$`e?AgAaHbM<+&N0hu$b%hY6 z7n5C%P7YoUium4+zSQrw*)qwH=wzW>{``uLW;7KTLS-@z10`Y(XC_zcx63EJldd$4 z5`c^v64(Kke>HJFV-ecp&w zc;WlxeeHyIQdRXM0z;nM50XABGI-u5n(wve8nqMd_&m1ZDxWj1({+Kj{%S=AUJ}a_UYaYQ( z!ma|=zl4Qq#J|+|@Fn`5yE;u9qSWO*ioXbW|I3w|>hoLU3lHjC`g`&nJf~D-woC`$ z!Sx=VT{`=KTF&h=Tt&$4g<8phI{OS=n8E72<#PfmHIoJRnXl{OKDRUQQ5pd9BFHxK z;?N&AhXIuU-UYc*p?Eu(wAQ%^vEGjvT}Qn3rhK|@`MR=oYFw}`7Qk?#C^%RGixxrk zxpJo)C9{0gm@-L0BY(uo9xPT}@nMHpT@;jh7;(Mcr8{cJC~vO#}GInhMBEc z3ncoj{`W^Tcxt)r zEcTGmHcpOTI&erk^_29fgp;(U;#B$-tXPqqy?GpLW{^^$Kg0d);5fJwR4E~bg!1Ry zhKh?|>AX{E9RJ%vHV1}@^(*5i6`ElNz3!tzZ60ReuW+1}O%}bbcHfErr1VRSF)W?A zJP7!I-Yy-NgoCY^7TR3Ii<2>i=~vh}mP6Zkg%%n&=m-zLtBNVD-SrJ)Z*spJWRM#C z@E=TRyywvoA6S|l0?#L&05o9sgYdzA&4*jqJGUjrat5X#h!K^9ov!;kb+2XzspRq} zR68)tv-tv+&h~%vK2E8#l~ywt`#*WnSk}p&N{Bh&iIKVi(fUU{Xw~UNco9FI9-y=M z_OvHei;JdZMsOVMz`n1lvlx-%zH$XUAWqew@mj5*QROTmS?r*B5)D?<``%0zX$>QA2l`&|Rd%0uGK6siu?WTFa-38|= zs9=tu;&e#u`6Wwbh+|4CJ|^>uGy%?6Att0i>PwGt+feZ2;NkS9`YdkcOa!$sisXDm zB1Fg#Xps=PHA^p{>9i9Z)|3`9BkW9TZnWx6UP&};UK@u zt~B80KDjA(U^hJdiT9JsaYUoOAptkwSqaGj_TdX%dQ~F!GoGHQ$$dHFSjzp-)clp5 zk(ClfCHwX)oNt750q(1hjoj#e3A zJ0`vV63%mvCd?LP_S(>4R&|3L@z!COc5ZSKZ6)>+BtO`XHWk-?RG|0tR5gS_3bauB zq<$PxPFgMD0Kp3lC3(!onFT=eN-vxE3l6zLBm_N0)5Ey^ol+iqBj z%k7n!5^Q3Fc+rk`03a#FTO->tB*$HCsau#_`P8Qkj2eCYO);y4^D9=0p2OD zw-u`TsqGNa&V6*@UY}8}kY@*tZ zIQ_c0qy34pRR_8XGM!ZP2r^xWU*Zg5T7a=zj^AYs5$}jf2=W`?PN;&k2;RfENq8+> zoNeS1212YxJflQY4nQqQC7cAkXHb2G1`i}{bRRFA^GXRWyiln7bgZM&42D3Tbdb`92zcvd zG;X}nYWahhp+M#JdLKP)uVf`DS0H#9hz`M&)`(&GAgC5r_sUvsw8o!I^#7aT!XBj@U#z?y=M#fHt zy0<2?P=DPSU_buGn`X&aYrwTg#)8=u0{LqBSvK_Yt|nVUJy+DWJyG}l_Cz)Oh0@Rq zlCiLFZ9{iuX>K7$$I(~_W__@ORnUjBk8@npSeH0kb@9o~m3{uAFSQ>y`bXHFEt4UhRn1WQZajf)}bR*~Xf=uOi>s z+w3deZX6<(l9`2Ez6FXH+K)y<$@z+j%AqAcS{UsR8Lqb@4_$$M<)6%xq2`elNw&Pg v*ld|)zM>B?gL3KVT0H9H<6c-6--_ON;1m;XQKmrqPoXooZlYVG;}r8R%NR(J literal 3492 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 H&XNBDa7_sF literal 0 HcmV?d00001 diff --git a/assets/screens/80-bx7-edit.png b/assets/screens/80-bx7-edit.png new file mode 100644 index 0000000000000000000000000000000000000000..42a61f63284179104b78404c85561c3e6b2c8202 GIT binary patch literal 3834 zcmaJ^cTf|~)(uUOD!mwjf)uGzf)bjc2#6xR20?1*AiXz3=v6>Kno&_mVyGgZG=T_) zL}^Nq-ld6vl#mbJ_nUe1X5PF%c6aXGyE{9(=bm#n*~n0rnSq}H001!S>uH;uj$3Dq zp8B+}xe?tB0I+oEYeUUKpRJd?4W4M`?wLeW(J-8&WdibAg|<`0MLj;Er{dw|rsbsN zWVv}c(+^bPcdH`~5tn%GEDq*pS#73^iph7@|2cLNEh%Y$%3haVDPH%s&Y$vr*TMpj znUL}Z0F>j(sU(#QE|IQwt%`O5FeGu4|l`$EFY{$}UsJOk98*6nx?a^N?oOZBI6IbZY<192(#RqXt4(kEmRJ+ zdL@l6NiAD}Zy+U%3YE+m%Lq`C47k`By#gkGR1T&^W%&AJ2W-(Nu70)M9#r1stlcL# z*ntlJ4z(x>%tFa>fxqC2k#(tAY)mFj{00LH7mGHU=BnoItp226U**3dQ6GqjiNFu# zGYb4CHuk?^QtI)WNj2xdnPaT!-@#*CI;n4I_<5(?xV87B5su%hmOf(2-BA; zh$|?dgSwlGRA*X(-5ghq%TTI_Ie|0!+f!D7bZ#jVMj=UDlVx-?MgPRz{zI3rRr!@K zKZ3{7MCc(!I|~oUP2;7oLYs1t=jbg0rm&q=lck*@6yBaf2u8Xv0R*Qjs3d>(R7g%` zbzN2zr#iJwS8aqK^u{d)<^#PMN4jSA6FkP|wz0Ykm<1ghY^2a&#T6v!dErQ3Q(x~WKhDKZ z^#NawuX)>U!SyR}^9~TJw=`<8C7Q`W4G3gqjQEXVL?3`L#72&kz@T^iZw=lm zmo8oGw7HG9wDY&hhEL#WcqHPc@D~>2@lp&R=I?4vpvK$5F?hL&u)x#btOq1O2HvM`BK^ z6S6Jzx%RQzZcl}RrZ-HG)j3k zi`CX1j+=p9u%2vx=OE+N1~0I`v6by07i-h)%geK9=qFqGpoxp_j6W-#eoVa;Bv�{!NpmL*T+#%!L7pveJ@x zo0$fL?w$uMclvL&M$Dt0XEBG%vwQExGwU7Upt}Qkwq4CY&Ra~(O+=(&L>>oVH(Pcz zhx%vzNxmGw?BXN9zp%b{Kw2WYZHs9X*?PEqA>*lQc^kq$;FrF#aPS~jJ?*r|BEP0u z_e=yOk9OgwGI4!}zgZgY{w+P~Md`s4Jh8{$jW3lCuQ@%vG-lT`v>|S=^r^jb$lqTLm4(m z?%Ocp1}=z8gJb@d;%=CG%b(J_6FA#bqsqf2JXFBR^5sg50Hn3mQ_R{>{{5c9{&S6#utvpl zJXL3~ip!$GIhwAo-wgbD{Bq_(GhW^8LUAe*7$+OvC$t93{B!Ps#yo`EYcKa@lv3W5 zwJ3w^1_mXA(3$D}0QO?JLQ%0mJBpkrSwj*q z^*i?jz@FW!YfdNcnUrpP9XLas&uYukp<(#P@$2sp1jTXXNiAZVvI)ha`&hWsb#@)5 zH1GG`4Zx61F|3$gFQJJc+wGO;S|>;C@Y6Zeoja9?Gm1+wxuUD(=Do11m;U2;Yp#Dg z%1Nn=wQ_PW>OHwjYcwLx?ZK%khecD~cp4J4pkN~VpJTp?-6c1hOx~BSLQ1-C!VJ0= z#ld3ZKxudouTRFS0On32@b!I*op>d&>VsMbmC7pRkwtSPFiG*dHh;j9me~Eofmx+* zi&{jDXXN`~20}+}t7*nx zbPG@QFM;@n@paz(2+o<=^?q{bXF&d%mw5N3`_9%l?=Xm<*^pMaGUlNVWqphC$Oqrc zI-T>{nHd8OYQAw8w(-V%H3M^O3+C#zeQTh(R(w8W zi&R>Uam!sCngG**i&;lIw4z+5(3ozudPgz;V%F4Bncw!D9@*y_B)7AC%Dvn;lmwYH z)^%64z2qw&Jnc8W@MYmOjSu?&llC8hs?m>@7>T6I2kWXwiGLdbdRNN`E)ji+RQLu4 z(SUhfPrmFo(PpW6(=)w1yC|#nTdsYXj~*rxd2I8YI6dS%95T|U=Yg$v?laaKksVyp88v5zFG#to5e>1#7b**u-OU?6evHGXN06y`4=mQ?#W%ZZJx*ynp@*up3+(I7R{Ur4o{ zkN0l4^)N>SCk$^}ToDfr-SWj=8wYQE9o7kTqy){-$oYCFa+E%E_Dz2e%xi~bK&E>b z9CUI)`~aS}Tv)-41IaOamz{uy!tbniWT4BBdgr#^6y#;Q7ZhO-nfE^wZQA=i z3KejZX`GiAZp2+zY2g!^ny4FtjZnr)32J{vb?+*T`?jStDl#FueP%UTjP>i1$%uw} zF7KLWX`cG-uFg`by-d}E>4)Tbuq-nqRa=w+Qq|oxjK<6t?7x#?6`1vJ=;YHufyO*~ zp4CBbXUMr4neNn=>r~nheO~4IaWx)Z9Tma}$rlfrfD}3z855S0zD)6#GOIyLn%xLP z-&5|hH{8J7sDsfjwAPsT+`MM-#(0jT-P0e+14`L-*cP+UEQQvpcgR_X?vDo7ZXL80 ze3l1$i#ncTD-P)n_Y>tsoT*m2?SUC`IHU@z<%Z`NgX)ozsf$pK8v^2mP7@tr=V~z*c-Uvh?^R?RfeC@$JI3xnkrqVCf8aZ?~ zHqF#~@!~K)yxFCAKxX-od`h$LlMre*d4y`96ugw>g@0D4f?&I)EKFpnfl7Mb>+I(d8?WWVG4PTRq6~VFy4a(#E+YuoJ5jtSUdE6 ze>T$Y)dIPPJU9j58O{Dv2VQDSwfRJOL<4fuA%=He!rWtYL<8zYF4@`U%}LA~fz?(@ zZOw3r!&(v7Bk-na(qQ-OCEbUZtg*tfoW!{{h<~N3j3^ literal 0 HcmV?d00001 diff --git a/assets/screens/80-bx7-env.png b/assets/screens/80-bx7-env.png new file mode 100644 index 0000000000000000000000000000000000000000..35f8745cae460b721b184e32ac82343b35235892 GIT binary patch literal 3338 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 K49c#!VE+TT;8DE* literal 0 HcmV?d00001 diff --git a/assets/screens/80-bx7-fx.png b/assets/screens/80-bx7-fx.png new file mode 100644 index 0000000000000000000000000000000000000000..17c847b33eccc83395dbc878868eb7baf5b820da GIT binary patch literal 3840 zcmZXX2T&8v(!hgsB28&Rq^O992q>Y6H0c<6SBiib0*Dj?2n38GRhmc%EwqUAUV?yv z5IRVeE};ep0Rl)W+q-H006+OqpfaCnYaFQ zhBK70LKe{u0I=Y6)KyLW(uo=3z6)~PxS3332r`6<3U~$xq(6HtJ+@pxXiySOX@mBv z^R2%asDWHJKs-D=lAqCnKd1%>P>bBvz8A@XzfLpcy&r0rm*%y2lnPH^txLu(0!-^m z-2nj6muM={r!YQAy%=Tv4f|skN8Lve_$)!rsm1_Apkg4mG7{ay{dYB@jLBN_FL{iyTONa(JQ31 zFO`bBThnRMM7%0ds+t6q4y`|Kqj)emOpnZk@hp(LVVFFQK!((S444Y^w%*FF3wRK*=j+sxC@GLFs_6 zQI5?EVEp+WwefWEnBQ9}G_|6%Agu#bB{C|4bGsHbXF^s7hYBmqM(Zs_PsvuOOt(@4 zhsftAaT|NLLkl}ooW$`aw1sC5k@h!s+{G5-9^L_Lrev1>bA3#OJ-PkdS5`f?H6v3pXtOrUz<1g&E@;R38iWR&SX|3$HhBRh{M1N0 z2T#(I7uI=fa15^bG1{=H{MbDd^iKKXWYu(!%VL<^duFO^y*qA!3KnMjifSx-wpzyo zr>u#d?7oEcS^QXMPOK3r#*EboTQijuLs|<#4uu+_XvNX~fT-gIE|G-^Qg%E&8pAc4W17?Tu zQc{M)JA#XVzZSX9fNJL{@|-iG2iru3EyJAYU$?(SanT9=BXJ0LQgdt`M*|jStktB; zQ|YAoFFmU)Qx}8N6|io~?ud(y7Ua;4y(Z8|E&7XjgL$%vNfSEl#Uq1rTh1j*Aw0Zs ztvp`k%*0L)*YW2zr*h@5<{L-_!>7eJ=216g-*5>{f4TH)L8Tc}8|TQFR-~(sQlu;! zD{K4KyXg6%=Nkkv114vBg-F@#UW2S+8l84^=aII^cede)jgLn-+Tj0O{*Nu3Kud$0 z5z-B*32+f&hX{8&BM?!%JpZ9FeYExNLy}9?LA+m%boHhDypmS z2khduLJ>RNDGKIoZ9Fu_E2PCyLSQw`v}AXTcDC^2zsowTmc zV@nlva~B{<-uNZHoOw(*C=Pn#uZkW!N;iaf*-;Qz!X%WVm zh7j9?S~x^#^;~#NWJ18xa?JPjJHQQ#lv?;yvFQF$e<+V`VML-_t?6*lQ$>qI2Y}bJ z=f00v4V+%S7;%HXo?4Y2pQ8-+VG*ORe-)R@aGSWWAmXw<&CRFXwLP1t=*+>kzn^|eoim#TN%5L znh(X7XtKn*d~T&fzc}k)-XVNfQkAtjg}QtyY35GW2pfsdRHN<^N6o&7L<+yoxK=nJ zcB>RxRiH27vZ-be&0SrfU*_$o?{p|-0)?V$7ntoY84gm2HD2*yft{QjUGi$iTO-Z! z)5iM1N$~IeofQuWjVbw&9^Jz>hxK)PaBNtcpWN$T(MjWB$tc_hqdt?_<%5)YGr1ze zJ6Z+u5g2waHmC7@OD*$KN95a4=iIBm)(Gx zkQ%N|k?ZmY0b>ms3#|A&Osgks`tGzj>4w5%GP`XB1X>+doz9Eh@20Ax(}@F-9dw%H z2+CHZ(}Sq|vjai0=Z|pN>(~#cK_GZlPIQsJIpqMmPE$F}dZ3ZAMdfWEPc)zO~CXqFl!+!R!zY=l8tr zqTmN1Jnv<;i^eRBmo;3D5yL^Td3|`EhtU`d;VF5jn);|uFAXz=5!d$_*nK{|yGf8S zmM84U;O-D8GFUQdmVLwG$ty4U6*PyJ9?07cQ>^f9x6u5KR`J(xJ7y%sCGl9ikNx3F z!GfK(Aw@YS@5&A_-NADRX-k{5c9B~+wXDx^H$a{#Acx z+4Ig()%R?U8BE-|%DIQOEU`%RU9lMA2<6ySHRqNL@^m zT9hQbI{j#y%qf*BgsF3`>eAlMbuW@})oF%H=c8@LlBGwxaRMUy1GZ5ZH+c2R_mn=e zB`eX@&b6dBJ(a?_Ayi-DNV?82BMs4k&ExT?s0eUV;G;lVZS?58VS_JOV?<|yqsuV^$>T8}n!fwf=HA8)^6 zwPzXN@cd!k;pCe@;agp@7M=4yGs&wKH<#!h*uNJdCZ)MtH6ICg*h$0$)^c$sFXw1$ zy;rzZ#P}z_^;9bMb@1ef)LyHPtTUHwH8vUXjLvAYdVbe)EcueXxRy|P(q%Er9xCXq zp48TfCM1Ilw__5L4!w&}4LRrd=0e>4-W?1Z;JoaTZz7eTz!n9*^`bO?$tnmfS5);N zZB8iv7CD_un7do$!`ZUI1HR5m{;o_x%u=QnHQMW~mg~Ng`otgBDe)!CHcN zOYoX+nY@|Wq`MC`j{baAkLzBdbqgm{0T`2kjNnvZnu5$X%t10+cx}C(>?1#2@UEVS z>P(PgVgA3&N~zoM9YKM*So*BqX=Rp})UXw$tP9?~(HP)UEFW%L)a9f{io7*#;JloX zJPOO&9)%(=jnK%KI zwuwkQN-VYVnGn!^CZVjnYxdlQ|EZK!EHSlySIgEY)dh~@5z{vUbc0yi@v4@!qAVtBFAPYL})qr;g5cu<9O>JT>EsNOix;N zu()#ThKf(`K1a!QU71de&iQ~*nPc)=IM2fd^nRRh+Ia5S$A0xEw3!>O?puO;HNu}I zLxrsx805cVQ`K%3ZYdlUrUN{bey#7Z+4w7An%mw~1d{yQuNF*Q`m*;vFt+C|VjM8F zdW5YD$-TbgBKUBSOuHvM-C~(eqy6%u$DabgC-Fd;W94VCf^k|ektzYD6A&Q~#02RG2roKsy*2aJ`#5)h-LuZxckg{qg7sxn0gxmJ000P>n_aYF z;nyFj6$Kr!%h&Y{Egb8*<R;~Y0GDP%k;w9>U!7_-Vl$aTSp)Qz ziSp`5NkJ;kB;Uc0T4J91>5cfaUT&e_(A6m>lu5pGia+5M5r)2F?)Tj01;F&f1=U0Ff!G+)O>uTd2AkC*$bP@e(CtFGqW;Qy8LmwdZS<;ps;)8QTm?A z7VJ=QQv#9aZU)BoXkM9ZcECgfZzQ82Xrc3y{_*4NJ@Z2U?Gu zCnH)dP|Tb>>Y%4X#%5uX<+umgjTCP(pzaKuOlNlx-arxkW_Y3R&Auos;kRzM&euJe zIsyvfvA|r}#$fmPyLxvDc}TGpcol5QY~1rIiObK8aa1PfD1I~@UaxS&h{Po<*3@gi?> zs9wnSK=0|(qOVp!QdVOPS8g}fq9iiUc#d(U^JTNApO4s~S0ny)(rdI6P+seK|M4xO z`OkSXjnaAmZsbZ}1955Cx7}qF9Qaz3(=rlJLn97p_a8GpX3Z51M4s^cJ5;SH7O@Ko zlw6PdX)n5vVk zK%a8zoHX79D42zNS{2xR_pQ)>?GK4BeFyzxbYIv8HwO_E0R6E|DW_@`EuBFP6wT^8 zyM{3?>IXk|LHP2kFOQh=<{tko;dZftN5J4ncaqbz76w<0r4M654Bh&+$9nV^M$HUF zCsVDYBU0|S9PEsQG~%Qk?~)4ZOdz;*fi);vmvN3aX@YCTP&a-Xdld!wovGLpXO)=e zB8us8Qh)W9{(e&1>`!mvp8j(gpcWxLjf>Hv%%3YPXRbUIbU+WAmg(-u`_8;zKys{_ zKR%Pibzy{?5>&19Fob19j54lU`~aiz-TrO?=nRr>+iXU6Y+Wi1;d9q7THLQtabfZbM}wrUGHCHnNhq z>oyu?R%P-}-Oz0;(oHrfTYL2b-%KlSR7Pp(%%s#Q)+FdKYv*(OeBe}({v-|knk&d6 z2Ro5L~}GCodR(pDodGsbX-&toh! zGY?NV!V4RKL)%4q#A>oN&V*)Xb^j5oD~k_JO`qn0UZ&`mOjx+ZKGIk-KL?(y@dbSV zH5T~+Ex(-9(s=pjT!optJ*oyflZLs`U92LYM?%Gooj$~DHpT-<{Z*Hx&twLN9II^aIxQJbS9 z$xo#t#tvSnTbKl*^W4b=f`Zta`}Wjs4BSgwym2VL0=|%1h!12~Ie#v5Cz-qe+vl}W z@aKaEqE%1J6aDI_-LJZZL;|(Q>cNO<5wVdQ*KDhzu&Fzz`gS~Oq47jzjo^A}MDp~^ zu6Q`Wu}F%hr;32>QPS!-kb2>Ci`+)L>psuE*(OWidoUcVOXpXvRXZgVT zDH?5Zwnp7-KNFc#;PY^ZebTP;yCuxxt@1=$SMrnl6ROL1@{@F;&y#xfzIf;8(kJ>K zXK3O3o&5e(bQhb{jx2dVfMxq2k+&l>xvp2NT+L5=JNTUG+!DxF*HUt}zAMAe8(7xq z4wcPK0`<*pHQJEI(u>wUOHBntLA4E>(Vp@*N*(LVgydcKZ{OLPtIzIx@xj}_a!fh2 zbtd8K2m2kU6Bw*dz!j2O%r& zy)D4v#O>9F1O{7ETFj>ub{jo|{X0&R-&VS3*PZ7od6axlUD$?M05-DwEMLkn{|3)XqJaPa literal 0 HcmV?d00001 diff --git a/assets/screens/80-bx7-lfo.png b/assets/screens/80-bx7-lfo.png new file mode 100644 index 0000000000000000000000000000000000000000..2870ee122a386039aece7655b91035aa28ca2ec2 GIT binary patch literal 2934 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 E4?L%tBme*a literal 0 HcmV?d00001 diff --git a/assets/screens/80-bx7-main.png b/assets/screens/80-bx7-main.png new file mode 100644 index 0000000000000000000000000000000000000000..3b8e5f18b83159b96c0c9fa68bac10c0622c4cd1 GIT binary patch literal 3699 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 literal 0 HcmV?d00001 diff --git a/assets/screens/80-bx7-pitch.png b/assets/screens/80-bx7-pitch.png new file mode 100644 index 0000000000000000000000000000000000000000..16257f309575d007d150da96eb5d050b062d2367 GIT binary patch literal 3202 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 OHoHqs*3T_{@BS0zQU-Yd literal 0 HcmV?d00001 diff --git a/assets/screens/80-bx7-seq-rec.png b/assets/screens/80-bx7-seq-rec.png new file mode 100644 index 0000000000000000000000000000000000000000..7759621834fcaea0f65f9dfd3c94bc793aac199d GIT binary patch literal 3034 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 U5P1ZdeFo;RK4)uQW_lg{F9A?%!2kdN literal 0 HcmV?d00001 diff --git a/assets/screens/81-b303-fx.png b/assets/screens/81-b303-fx.png new file mode 100644 index 0000000000000000000000000000000000000000..7b144bf187030d91b870fcf45e6aa7b5d60ac1e6 GIT binary patch literal 3690 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 literal 0 HcmV?d00001 diff --git a/assets/screens/81-b303-fx2.png b/assets/screens/81-b303-fx2.png new file mode 100644 index 0000000000000000000000000000000000000000..65f07de7c5b531b8865fbc6162231042be1bfa15 GIT binary patch literal 3613 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 V`FHHi9)9}(7ME==wU~Nm`~wAl;y(ZY literal 0 HcmV?d00001 diff --git a/assets/screens/81-b303-lfo.png b/assets/screens/81-b303-lfo.png new file mode 100644 index 0000000000000000000000000000000000000000..be59dd61fa4c22fe6ae54015ae9407522cae096b GIT binary patch literal 3186 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 KMtF!@{C@$qlPnAX literal 0 HcmV?d00001 diff --git a/assets/screens/81-b303-panel.png b/assets/screens/81-b303-panel.png new file mode 100644 index 0000000000000000000000000000000000000000..cf27517f5a88cb65b36d6556add07ef6595715e1 GIT binary patch literal 4218 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 literal 0 HcmV?d00001 diff --git a/assets/screens/81-b303-seq.png b/assets/screens/81-b303-seq.png new file mode 100644 index 0000000000000000000000000000000000000000..bdac7f539d72aed75b2d8a50c5f00a873859d29b GIT binary patch literal 4242 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 literal 0 HcmV?d00001 diff --git a/assets/screens/81-b303-slide.png b/assets/screens/81-b303-slide.png new file mode 100644 index 0000000000000000000000000000000000000000..d9c9de4578fa67f41327b1e58f1e1a6ba9d44eef GIT binary patch literal 2862 zcmbVOc{r478@FUXD0@sOj*=lAYK*0^lq?|*A{~@tFJ;NTWDupHFvdP6Thx;sIvVt5O z9Kz;i=k3_fm3{DYvDbP~Y!?TI;1~1rM)u(aj6(Hbxpz|cdo(z?x#Kw!c%V=yCognY zAYMqAM@r@ZP*d}@AxTpca`bYWI|_wr<4WM*!+K-dm=Kh!XhO8mI){$;-EnX-DwUSed;Q2yf97IP7w zSnSdU_l*Q(zZOegn!84#P^>XDHw}dCS*r;GGfgVaFP!#JM>6ugK}FnT9-)ix9?8t!#9=ZG^@&NN$Tif?Ks3!-EpRDQDWtq z;yhC|rRKuf3y08i4wmF)*eE)Aach$!6KP?eoyU|=L&iHUYZ zrRF9#mg?i1pJx*r$*F_X=|79!+)>)Lp9;xWOVWDOUkpHPZeovFfsnLk(nnIK{Bd8! zVLCYNKKDm{)*f$hfXedBueM}A+{AFqxHpWM)8Hottkf@!ZuCD2|flSb&a z4r|OcOY`v12hw0Y= zgM$xUm%pa%cF3PP0mS&pckuMZ&PlDj@2M|?*J_2^$F{T(b|X#|u1W%P4o(K>-R=>C z2E-3i6f!bt6!2loyt@x<=P z#otM^=8{V-@6e4gsyM1On2WH%RtEb}Km5*gfS`+}f!$y<0KVNse26q*za~`@sd?DYMCwBN(|0Tu@ZJ-XUQRn8e@Ag=`|iy? z0ngF6T{yxq* zc?@;_i7f6?_v{}~q;aU`{Dc|UP|yqP-rWF5u26V)UUSz+EX9bOPm{o@WetAy5tJFO z+255xSu0T8XHu2V>`l9%*?z=}7hHBLE|l+k|ESuKq{svP&xQc=3RrqaI1^FNazVgOIrQ5hL}IB;nk~90h8VVe(YAec$A*M zW8X1jEVAX-ZJ}EWg`Q8s7wi_hE-%+4pd^3mGbVLUqm*eWRiAQ#5(Vm#WW8^B7gK++ zOFLS5yvbQWJKOoZ4>dX|=4!{8YDAFJf-k+sBpO>Tq?YtwI)DoA{_y>9>subp*nOF? ziF`^cTh2I8{w;8b8%nfbja}`%-q+<4$hv{KSuLM>_?*o%q)Q6P77edl{X8IxblAbL z#zQe8uxJe)q~|uqws#U^7jdg=1VJ909y_710?xIEe3WivZKjUs4%DJH9((ukl4bhNHwv+xaKq&24WwKZrx%^u|67l>GI}cb=KKT6GR1>^Gt#-J-6^peP_}*l;iQ?kGo6{q@letD`?hpVrss_)*=58u3t-1Q&NBnLTB`?`aAdn1}& z20foid!%OI``(ZkK5*x(5)SNA3(Ceeo}fByZ0ePGW^v~dLw7=91_{jH9h=BE59f_^ z!xM$IWoLCCi=)yZZj6b}1*M_krTYf@AGd1e-g>77lDpzU9;w-^|I(ZPiKNpDJK;gZ z`-&Wq3t(_AZZU5@kBDm>r7SPzEd|8tp4>?H&Wk>i7I+DkU!zqZT?Y80bfD5xx+F)1 zWb1s9ey(%q=A!T^zNTqJ_2)Q`ep9Liv1BPOj|{+f**y_4b1#TS307M3?yfA(IH`y3p z>@!cT_)*}9nm!(ehtdK(uEsPoL(e#5|2e3FNm5c?(^_wNri|vhMjdmtFl{?6lf}$9 zrj>fKS!{iB{$hsmC_R5&QE$SPlIY#cO^uv^CokRa0Fw`TS*?xad`a*xQ0wd!Biy5H zxX=Lwrb#{5qdK0PJhj>zOrJ;LT6q}4esw8uvr#$Mx(m{G!0?i}-^gcL?vBup96$L@ zsu9!-r!K^XW{DPgQ{gi7c_>hahL<=C39Wb?<~Y=hI)@P9p}H`S0`hOr(!7w=oujlA zoL`4%v6!5tIk96=<%(2LX6%l$>vbHVL|`->*#`G0)U&Hs^&|!^Y&MQh&L@X`@Je9F zS7$VxcBHAIbk)A-X5_aj2SxK?B&gYVx|N5dl~p*%bP0n|Xkys}k^^qbL|x6L@u&9; zO-K;FJqlDQ#cm8quZN&;?Nq{y@?&V(ZML*co_5A@4k6^%;052H?0YbW`339qb;j<{ Fe*u|%hnoNZ literal 0 HcmV?d00001 diff --git a/assets/screens/82-mini-glo.png b/assets/screens/82-mini-glo.png new file mode 100644 index 0000000000000000000000000000000000000000..3831f5538db55190a58cd7bbe19278cd1bfb90f4 GIT binary patch literal 3087 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 literal 0 HcmV?d00001 diff --git a/assets/screens/82-mini-seq.png b/assets/screens/82-mini-seq.png new file mode 100644 index 0000000000000000000000000000000000000000..fb11616c5d69005a5f9da28dab89130e6627d3b0 GIT binary patch literal 2945 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 literal 0 HcmV?d00001 diff --git a/assets/screens/82-mini-step.png b/assets/screens/82-mini-step.png new file mode 100644 index 0000000000000000000000000000000000000000..5d4fe2cef81337f7582a90b2a62d0d2d3bbb801d GIT binary patch literal 3138 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 literal 0 HcmV?d00001 diff --git a/assets/screens/83-bmini-env.png b/assets/screens/83-bmini-env.png new file mode 100644 index 0000000000000000000000000000000000000000..70fdcf80a62f025dac6daff9a1c179c8f54063a1 GIT binary patch literal 3399 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 literal 0 HcmV?d00001 diff --git a/assets/screens/83-bmini-fx.png b/assets/screens/83-bmini-fx.png new file mode 100644 index 0000000000000000000000000000000000000000..99f20af458c4010c1e86fccd4caa27f40a817428 GIT binary patch literal 3508 zcmc(iXH*kP7RLif3x?iB5ETSLKuQp#3et%b>4Yvtfk5cJsPv)&(jh3sr?h}bNg$$6 zj3Oa{NH2K^N(lr)40@syGY6}nD9dR!VQ!QMq2Y%=YELTSlnEe2 zH9G^)vpDD9n`IfmRHBrqoB1JxJOwwDPGJ9WHBiDQ_GsUToQk-hcjxkOEN9U*6Jxl( zJLE_G`0me~ttI1S`oX1@^|Wdn&t)&kZE5Yrw;h(GaCe>Hr#wqi%b0fMz62Hg<3v$$ zO-`daGuYW>gJj8%R=2B6i3;LF%&}kF)~lnACl-ec7SGRZI&C$yD}(dz#f|k*{Ji(( z?T}<0-Jy=AQ$4z3xi|^;-OqvE9Kpv~k3JZzbKwlh3^Vs8kG56kj^ji{17rrTzg(mq zZy~_C+JrCY=!C&k$crC$YZ!|Hpl>!NzVNkK;uW;Hz&86sj-k7}8rSzctn#t^x@W^` zLmpy9LUxI`;vP#9sYeW}qx|$1DD!=>`6BVYwOzH*=Pt1uB>Vwtq|E)^Dwna7tQ6EB zVg44xxdJ(b;VOVj4sEhF?&u10&a z;a@M9AUQ~ZbJBt-R#gBr58MP7W19`AHLzX_A)7li?gxw*$fcw__Zt}^6i{V)Gxc5e z-|g}vul|bsB+2Be_!xgEs)s|gG_XtZfyt}|os4ZTEl59U)K zM+SW+dp%;Z0JrMjT!%1?PU@J?nS+i-=l8JcKX$%GtxcgPntsAXr0ouAxZ*USspce7 zF^m45A^{`>VbzIXQ22d6$p{9y6V(IRL{W^X|IN*^(y!(uz_AZZ
Bubba Machine -
Emulador del firmware 0.9.0-beta
El mismo código C99 que irá en el FM-1, compilado a WebAssembly.
+
Emulador del firmware 0.10.0-beta
El mismo código C99 que irá en el FM-1, compilado a WebAssembly.
@@ -181,7 +181,7 @@

Sampler y memoria

'e.lang': 'Para el transporte (PLAY) y prueba otra vez: escribir la flash corta el audio.' }; var EN = { - title: 'Firmware emulator 0.9.0-beta', + title: 'Firmware emulator 0.10.0-beta', sub: 'The same C99 code that will run on the FM-1, compiled to WebAssembly.', nav: 'HomeManualInstallCodeEspañol', on: 'Power on', diff --git a/web/en/docs/changelog.html b/web/en/docs/changelog.html index 0a7ce6f..a0b6230 100644 --- a/web/en/docs/changelog.html +++ b/web/en/docs/changelog.html @@ -47,6 +47,79 @@

Changelog

Every version of Bubba Machine. The format follows Keep a Changelog and versions follow semantic versioning: while the version starts with 0, any minor version may change how it plays or the pattern format.

+

[0.10.0-beta] - 2026-10-24

+

Every machine is its own instrument. HOME was rebuilt from scratch as a six-channel mixer, and entering a channel hands the whole FM-1 to its machine, laid out like the real one: TB-303, Minimoog, Juno-6, Vital and the FM-1's own DX7-style synth. The drums have a new step sequencer and the pad sampler became the BP-1 Slicer. Installed and running on the author's FM-1.

+

On first boot 0.10 erases the saved patterns and scenes once and loads three factory patterns. Takes and settings are kept. Until v1 there is still no backward compatibility.

+

Added

+
  • +Factory patterns: 1 = a recreation of Da Funk (Daft Punk, 111 BPM), 2 = Confusion in its Pump Panel Reconstruction from Blade (New Order, 136 BPM, the 303 line from a published sheet), 3 = Enjoy the Silence (Depeche Mode, 113 BPM, drums from a published grid). They are played by the stock machines; nothing is sampled. +
  • +Scene B of every pattern is all muted (the six channels, drums too) until you store another scene over it. +
  • +BX-7 is back: the FM-1's own FM synth inside Bubba. Six operators, the 32 algorithms drawn on screen, 8 voices, its own effects chain, EDIT per operator (OP1-OP6), ENV, LFO and an arpeggiator with 7 modes and LATCH that records. 31 factory sounds, 11 of them from famous records. +
  • +BB-303 laid out as a TB-303: CUTOFF, RESONANCE, ENV MOD and DECAY on K1-K4, ALGORITHM = ACCENT, a second page with TUNING, WAVE, SLIDE and VOLUME. SCL edits ACCENT per step (SCL again = SLIDE). FX is OVERDRIVE → DELAY → REVERB like a TB-03. A synced LFO page with classic waves and rhythmic shapes (PUMP, GATE, STEPS, 3-3-2, BUILD) on cutoff, pitch, resonance or volume. +
  • +B-MINI, BUNO-6 and BITTAL have their own menus, following the panel of each machine (Minimoog, Juno-6, Vital) in tabs with four big knobs, and the filter curve, oscillator shape or wavetable drawn under them. Each has DISTORTION, CHORUS and REVERB per channel; SCL edits ACCENT and GLIDE per step. +
  • +BP-1 Slicer (the last channel): EDIT trims a take and slices it into the pads (AUTO, 8 or 16 slices), always writing a sequence that plays like the loop; it can also record the mix from the next bar into a pad. Each pad has PITCH, LEVEL, MODE, REVERSE, ATTACK, RELEASE and loop points, and SEQ is a step grid like the drums with a LENGTH/SPEED layer. +
  • +Drum sequencer (BR-8): white keys = steps, black keys = quick access to the instruments, page arrows, REPEAT, and layers for ACCENTS, sound, instrument and MUTE SOUNDS. +
  • +Machine GLO on every machine: LENGTH (1-64 steps), MACHINE, MIDI CH and MIDI OUT; on page 2 QUANT (25-100 % for live recording) and RESET. +
  • +MIDI OUT per channel: a channel can send its notes over USB on its own MIDI channel (factory: T1 = 1 … T6 = 6). +
  • +Step recording: REC while stopped inside SEQ writes the key or chord on the cursor step and moves on; PLAY + REC rewrites only the steps you play. +
  • +tools/fm1/instalar.py installs from the computer with a log; consola.py estado shows the key-scan latency. +
+

Changed

+
  • +HOME is a mixer: K1-K4 = VOLUME, FILTER, DELAY and REVERB of the cursor channel, ALGORITHM = tempo, PRESETS = the channel's sound. White 1-9 = patterns (they change at the end of the bar), white 11-16 = channels, black 1-6 = mutes (hold = solo), black 8-11 = scenes A-D (hold a pattern + scene = store, tap = launch on the next bar, hold 3 s = delete). White 10 and black 7 do nothing. +
  • +9 patterns (was 10). +
  • +Choosing a machine: HOME's GLO › SELECT MACHINE or K2 on the machine's GLO. The drums stay on T1 and the Slicer stays last; the other channels pick BB-303, B-MINI, BX-7, BITTAL or BUNO-6. At most two heavy machines (BX-7, BUNO-6, BITTAL), each only once. +
  • +Menu buttons are cyclic: pressing a menu button again goes to its next page; HOME or another menu leaves. SELECT no longer turns pages. No help text on screen. +
  • +Recording works like SLOOP: a fixed length that wraps around and never grows. REC held 2 s clears the cursor channel's sequence, playing or stopped. +
  • +SAVE while playing waits and writes when you stop (the SAVE light blinks). SAVE has SAVE, SAVE AS and DELETE; SYSTEM keeps the basics. +
  • +Every knob is drawn once on screen; the SEL / ALG / PRE legends are bigger. +
  • +Pattern format 10. +
+

Fixed

+
  • +False safe mode after two quick power-offs: a boot only counts as failed if the next one starts from a chip reset. +
  • +Dim LEDs flickered: the key scan now times each LED on its own and makes up for interrupt latency. +
  • +Keys went dead after about 71 s (a timer could wrap around while being reprogrammed); the scan also re-arms itself if it stops. +
  • +A knob paused half-way through a click could count twice; key release takes 4 frames. +
  • +USB MIDI could lose note-offs. +
  • +The power-on key combo for safe mode did not read the keys. +
  • +Machine audit against the original manuals: BB-303 accent only on accented steps and slide only with a tie or legato playing; key stacks on mono machines; BX-7 transpose, osc sync and break point; B-MINI TUNE tunes everything; one BUNO-6 LFO per channel with its delay; several arpeggiator and recording fixes (wrong note lengths after a previous take, hung notes when turning the arp on). +
+

Removed

+
  • +From the 0.9 console: the channel card, CUE, FX › CHANNEL, the song, MORE, and the old SOUND / INSTR / MIX / PADS / TAKES / LOOP / SCALE / CHORDS menus. +
  • +FREE REC (a free-length first take). +
  • +User sound banks on the BX-7 for now: factory sounds only. +
+

Known issues

+
  • +In a long, very dense simulated session the voice brake can leave B-MINI almost silent in the last minute. +

[0.9.0-beta] - 2026-10-18

HOME is the console. Ten patterns, six channels, mutes, scenes and CUE on the keys, like an MX-1; REC plays and records any channel without leaving the console; each machine keeps its own GLO. Beta: not fully tried on the device yet.

0.9 has only 10 patterns: on first boot patterns 11-16 are dropped, and the song and the scenes start empty (their format changed). Patterns 01-10, settings, takes and your sounds are kept.

diff --git a/web/en/docs/credits.html b/web/en/docs/credits.html index 18e1b7d..b213e12 100644 --- a/web/en/docs/credits.html +++ b/web/en/docs/credits.html @@ -69,6 +69,15 @@

Factory sounds

Abstraction Mage, commit 023763ab9b39 — CC0-1.0

.bsnap files converted from a GPL-3.0 preset stay GPL-3.0, like the firmware. Vital is a synthesizer by Matt Tytel; Bubba Machine reads its preset format but has no relation to Vital or its author, and does not use its code.

+

Factory patterns

+

Patterns 1-3 are recreations, played by the stock machines (no audio sampled): Da Funk (Daft Punk), Confusion in its Pump Panel Reconstruction from Blade (New Order) and Enjoy the Silence (Depeche Mode). The songs belong to their authors; the patterns only take tempo, key, chords and published sequencer sheets:

+
  • +Confusion: the 303 line from the sheet on djjondent.blogspot.com, with the accents proposed on the Adafruit forums. +
  • +Enjoy the Silence: the drum grid from drum-patterns.com and the chorus chords from Hooktheory. +
  • +Da Funk: there is no published sheet; the notes follow Attack Magazine and Reverb Machine, and the order is by ear. +

What ships with the firmware or the emulator

ComponentWhereLicense
Emscripten runtimeinside web/bm.jsMIT / University of Illinois
AKWF waves (optional, only if you build with --akwf)core/gen/bm_rom.cCC0

Tools

diff --git a/web/en/docs/install.html b/web/en/docs/install.html index 4d47bc9..5956a5b 100644 --- a/web/en/docs/install.html +++ b/web/en/docs/install.html @@ -46,8 +46,8 @@ Design 0.2 (ES)

Installing Bubba Machine

-

Current status: beta (0.9.0-beta)

-

Bubba Machine for the FM-1 has a full firmware, with sound, a diagnostic firmware and a web installer. It runs on the author's FM-1, but it is a beta: tested on a single device and still changing a lot. 0.9.0-beta has not been fully tried on the device yet (it passes the automated tests and the emulator; do not install 0.6.0-beta: it was short of RAM); if something goes wrong, go back to the stock firmware from the installer, or to 0.8.0-beta: the installer only offers the latest version, so download bubba-machine-0.8.0-beta.fwsc from the GitHub releases and pick it under More options. Technical progress is in hal/fm1/README_PORT.md (Spanish).

+

Current status: beta (0.10.0-beta)

+

Bubba Machine for the FM-1 has a full firmware, with sound, a diagnostic firmware and a web installer. It runs on the author's FM-1, but it is a beta: tested on a single device and still changing a lot. 0.10.0-beta runs on the author's FM-1 (do not install 0.6.0-beta: it was short of RAM); if something goes wrong, go back to the stock firmware from the installer, or to 0.9.0-beta: the installer only offers the latest version, so download bubba-machine-0.9.0-beta.fwsc from the GitHub releases and pick it under More options. Technical progress is in hal/fm1/README_PORT.md (Spanish).

What you save may be lost when you update. There is no backward compatibility until v1: if a new version changes how patterns, the song, settings or takes are stored, the old data is erased on first boot and the demo comes back. If something matters to you, record it from the audio output before updating.

Every version is also published as bubba-machine-<version>.fwsc in the GitHub releases, for installers that use that package (such as the FM-1 Firmware Hub).

If you don't want to risk your FM-1, use the emulator (below): it runs the same code.

diff --git a/web/en/docs/manual.html b/web/en/docs/manual.html index 3922fbe..32caece 100644 --- a/web/en/docs/manual.html +++ b/web/en/docs/manual.html @@ -4,7 +4,7 @@ -Bubba Machine 0.9 — Manual · Bubba Machine +Bubba Machine 0.10 — Manual · Bubba Machine @@ -45,325 +45,235 @@ Memory budget (ES) Design 0.2 (ES)
-

Bubba Machine 0.9 — Manual

-

Bubba Machine turns the FM-1 into a live groovebox with six channels, each one a machine named after the one that inspired it. The drums (BR-8) and the pad sampler (BP-1) are fixed; T3-T6 choose their instrument among BB-303 (acid bass), B-MINI (three-oscillator mono), BX-7 (6-operator FM), BITTAL (wavetable that loads Vital presets) and BUNO-6 (polysynth with chorus). HOME is the BX-1 console: patterns, channels, mutes and scenes on the keys. Every channel has its own length and its own speed.

-

The goal is a hi-fi machine: every machine and the mix are computed live at 44.1 kHz / 24-bit in floating point, each machine has its own engine modeled on the real one, and both cores of the FM-1 can share the work (TWO CORES). See Audio quality.

-

The names recall famous machines (TR-8, OP-1, TB-303, Minimoog, DX7, Vital, Juno-6, MX-1), but Bubba Machine has no relation to their brands or makers.

-

The interface fits in two sentences: four gestures per button, and they mean the same thing on every button. HOME everywhere.

-

Every machine is its own instrument. On HOME you are at the BX-1 console, like a mixer for live sets: you launch patterns, mute, solo, launch scenes and mix. Enter a channel and the whole FM-1 belongs to that machine: its keys, buttons, knobs and lights work like the real machine it is named after, and you only edit a machine from inside it. HOME is the way out: a tap always takes you back to the console.

+

Bubba Machine 0.10 — Manual

+

Bubba Machine turns the FM-1 into a live groovebox with six channels, each one a machine named after the one that inspired it. The drums (BR-8, always T1) and the pad sampler (BP-1, the Slicer, always T6) are fixed; T2-T5 choose their instrument among BB-303 (the TB-303), B-MINI (Minimoog), BUNO-6 (Juno-6), BITTAL (wavetable, Vital) and BX-7 (6-operator FM, the FM-1's own engine). HOME is the BX-1 mixer: patterns, channels, mutes and scenes on the keys.

+

The goal is a hi-fi machine: every machine and the mix are computed live at 44.1 kHz / 24-bit in floating point, and each machine has its own engine modeled on the real one. See Audio quality.

+

The names recall famous machines (TR-8, TB-303, Minimoog, Juno-6, Vital, DX7, MX-1), but Bubba Machine has no relation to their brands or makers.

+

Every machine is its own instrument. On HOME you are at the mixer: you launch patterns, mute, solo, launch scenes and mix. Enter a channel and the whole FM-1 belongs to that machine: its buttons are that machine's menus and its knobs are its panel. HOME is the way out: a tap always takes you back to the mixer.

The screen is in English. Names that appear on screen are written here in CAPITALS exactly as you will see them. Other languages are packs you load from the control platform (see Screen language).

-

0.9 has 10 patterns. Coming from 0.8, patterns 01-10 are kept; 11-16 are dropped, and the song and the scenes start empty (their format changed). Until v1 an update may erase what you saved.

-

Four gestures per button

-
GestureWhenWhat it does
Tapunder 300 msOpens its page on the channel you are on. Again: the next page of the same button
Hold300 ms or moreIts live layer: while you hold it, the keys do that job and the screen draws the keyboard with what each key does. Let go and you are back
Hold 2 s2 s without touching anything elseIts settings or its dangerous action. A ring fills at the top with the name of what it opens; touching anything cancels it. Only on HOME, SEQ, EDIT, SAVE and REC
HOME + buttonwith HOME heldThe global version of the button: for the whole project, not just the channel
-

There are never two layers at once: with a layer open, holding another button does not open its own.

-

Questions. Anything that erases something asks first, and the control that asked answers: keep it held 2 s and a bar fills (KEEP HOLDING EDIT = YES); letting it go before, or touching any other control, is no. While a question is open only that control blinks. If a knob asked (for example INIT SOUND in the machine GLO), leaving it 2 s without touching anything else is yes.

-

+

First boot of 0.10: the pattern format changed, so the saved patterns are erased once and the three factory patterns are loaded (see Factory patterns). Takes, your sounds and the settings are kept. Until v1 an update may erase what you saved.

+

How the buttons work

+
  • +Menu buttons open their page with one press. Pressed again, a menu with several pages goes to its next page, in a circle (it does not exit); a menu with one page goes back to the machine's main page. Another menu, or HOME, leaves it. Holding a menu button does the same as a press. +
  • +Hold 2 s only on three buttons: HOME (SYSTEM), SAVE (quick save) and REC (clear the channel). A ring fills at the top with the name of what it does. +
  • +SELECT never turns pages. It moves a cursor where there is one (the channel, a step, a row, a block of 16 steps, an FX slot). +
  • +No help text on screen. The screen names what each key and knob does; how to use it is in this manual. +
  • +A control with nothing to do here does nothing, and its light is off. +

The lights

-

The FM-1's lights are white only: they never say what a key or button does (the screen does), only its state. The same six levels mean the same thing on every screen:

-
LightKeysButtons
OffDoes nothing here: no function, an empty instrument, outside the lengthDoes nothing on this screen
DimAvailable but empty, or has something but is silenced (a muted instrument or channel)Available
MediumHas something and will play: an instrument with steps, a saved pattern or scene, the root noteHas a special job right now (with HOME held, the ones that have a HOME + function)
OnSelected, held, active now, or a flash on every hitWhere you are, or a state that stays (octave shifted, note REC)
BlinkThe playhead, or something queued (a pattern, a scene, a mute on CUE)Needs you now: the control that asked a question, REC capturing, HOME with a pattern or scene in the queue
BreathA step with P-Lock, the EXIT key of a layer opened with a tap, CUE armed, the channel card you holdArmed or pending: REC armed, the layer you hold, SAVE with unsaved changes (on the console), PLAY waiting for external clock
+

The FM-1's lights are white only: they never say what a key or button does (the screen does), only its state. The same levels mean the same thing on every screen:

+
LightKeysButtons
OffDoes nothing here: no function, an empty pattern or instrument, outside the lengthDoes nothing on this screen
DimAvailable but empty, or has something but is silenced (a muted instrument or channel)Available
MediumHas something and will play: an instrument with steps, a saved pattern or scene, the root note—
OnSelected, held, active now, or a flash on every hitWhere you are, or a state that stays (octave shifted, REC on)
BlinkThe playhead, or something queued (a pattern, a scene)HOME when a pattern or scene is queued and you are not on the mixer; SAVE while a save waits for STOP
BreathA step with a P-LockThe layer that is open, REC armed, SAVE with unsaved changes, PLAY waiting for external clock

PLAY flashes on with the first beat of each bar and medium on the other beats. On the screen's key strip, an off key has a dark name, dim has a grey name with a border, medium a white name and on is filled.

The knobs

-
KnobOn HOME (the console)Inside a machine
SELECTThe cursor: picks the channel (on FX and GLO: the page or the row)The page (its name and dots at the top) or the row of a list. With a step held, its accent
ALGORITHMThe tempo (HOME + ALGORITHM: in tenths). On GLO, the value of the rowThe machine's mode (table below). On a list, it changes the highlighted value
PRESETSOn MIX: the cursor channel's sound (kit, patch or sound). On FX and GLO: MOVE (below)The sound: kit, patch or a sound from the bank
K1-K4On MIX, the cursor channel as a mixer strip: LEVEL · FILTER (DJ: left low-pass, right high-pass) · DELAY · REVERB. On FX and GLO, what the page showsWhatever the four dials at the bottom say
-

With HOME held from any screen: SELECT moves the cursor, ALGORITHM sets the BPM in tenths, PRESETS picks a pattern that loads when you let go, and K1-K4 are the cursor's mixer strip.

-

Entering a machine: on HOME, put the cursor on the channel (SELECT, or tap its white key 11-16) and tap SEQ, EDIT, ENV, LFO or ARP: you enter on that page. Or hold the channel's white key and let go (the channel card). From any screen, HOME + white 11-16 takes you to that machine when you let go of HOME.

-

ALGORITHM inside a machine (the mode):

-
MachineALGORITHM
BR-8Picks the instrument (with the box: big number, its name and model)
BP-1Picks the pad
BB-303The waveform: SAW or SQUARE
B-MINIMONO or LEGATO
BX-7The algorithm, 1 to 32
BITTALOscillator 1's table: its own or another bank sound's
BUNO-6The chorus: OFF, I, II or I+II
-

Priority: a question > the channel card > a layer > REC on a note channel > held step > list > channel > HOME.

-

The big knobs say what they do: the bottom line of the screen reads SEL · ALG · PRE with their job on that screen (for example SEL TRACK · ALG BPM · PRE KIT on MIX), and "-" when the knob does nothing there.

+
KnobOn HOME (the mixer)Inside a machine
SELECTThe cursor: picks the channel, top to bottom and aroundA cursor where the page has one (the step on SEQ, a block of 16 steps on SCL, the FX slot on the BX-7)
ALGORITHMThe tempo (BPM)The machine's main control (table below)
PRESETSThe cursor channel's sound: the kit, the preset, or the take of the selected padThe sound: kit, preset, or the selected pad's take
K1-K4The cursor channel as a mixer strip: VOLUME · FILTER (DJ: left low-pass, right high-pass) · DELAY · REVERB (the sends)What the screen shows
+

ALGORITHM inside a machine:

+
MachineALGORITHMOCT held + ALGORITHM
BR-8The instrument (a box shows its number and name; it is picked a moment later)—
BP-1The pad—
BB-303ACCENTTUNING
B-MINICUTOFF—
BUNO-6FREQ (the filter)—
BITTALCUTOFF—
BX-7The algorithm, 1 to 32TRANSPOSE ±12
+

Each knob is drawn once. Where the screen shows a machine's panel (or a list of four settings), the four dials at the bottom are not drawn again: the active knobs are in color, the rest grey. Elsewhere, the bottom strip shows K1-K4 as four dials with their value and name.

+

The big knobs say what they do: the bottom line reads SEL · ALG · PRE with their job on that screen (for example SEL TRACK · ALG BPM · PRE KIT on HOME), and "-" when the knob does nothing there.

How they feel:

  • Turning fast speeds up continuous values (BPM, cutoff, start); lists move one item per click, never skipping.
  • On/off settings: right = on (or next), left = off. They don't wrap around.
  • -MOVE, the DJ filter and PAN stop at the center for two clicks, so 0 is easy to find. -
  • -SELECT goes through a page's sub-pages first (SOUND, INSTR, PADS, ENV, MIX › DUCK), then to the next tab. +The DJ filter stops at the center (OPEN) for two clicks, so it is easy to find.
  • -Turning K1-K4 shows the name and value on the top line, without covering the screen; the big box is only for SELECT, ALGORITHM, PRESETS and the tempo, and it names the knob you turned. +Turning K1-K4 shows the name and value on the top line, without covering the screen; on a panel you see the knob itself move. The big box is for SELECT, ALGORITHM, PRESETS and the tempo.

The screen

Four strips, always in the same place:

  1. -Header: the machine you are on (BX-1 on the console; inside a channel, "<" and its name: HOME goes back), PLAY/REC, pattern and bar and the tempo in its own yellow. +Header: where you are (BX-1 on the mixer; inside a channel its machine, with "<": HOME goes back), PLAY/REC, the pattern (A01), bar.beat, the active scene and the tempo in yellow.
    • -A queued pattern reads A01>A05, with 4 blocks counting the beats down to the change. +A queued pattern reads A01>A03, with 4 blocks counting the beats to the change. A queued scene reads >B.
    • Six tiny cells show the channels: their color = playing, red = muted, white = a hit, outline = solo.
    • -SONG when the song is on; a green dot = autosaved; "CPU!" only if the audio does not keep up; while recording notes, the gate they are recorded with (TIE or G75%). +With external clock, EXT (or a red EXT? with no clock coming in) instead of BPM. A green dot = autosaved; CPU! only if the audio does not keep up.
    • -The 2 s ring, with the name of what it opens, and the battery. +The 2 s ring with what it does (SYSTEM, QUICK SAVE, CLEAR T3, DELETE SCENE A), and the battery.
  2. -Viewport: what each screen shows. On the console, its pages MIX · FX · GLO at the top (on FX and GLO, their sub-pages on the right). Inside a machine, the page name and one dot per page, O+1 / O-1 when the octave is shifted and AGAIN: ... with what tapping the page's button again does. The usage hints show for the first 4 seconds; the line that says how to exit stays. A layer opened with a tap says LATCHED. +Viewport: what each screen shows. Inside a machine, the page name at the top left (for example PANEL 1/2, FX 2/2 DELAY REVERB, TRIM 1/2) and its sound on the right. A layer opened on the drums says LATCHED and the sound page (OCT 1-8 or OCT 9-16).
  3. -Keyboard: the 11 black and 16 white keys with what each one does and the same state as its light. On the console: 01-10, T1-T6, M1-M6, A-D and CUE. On SEQ the white keys are the 16 steps; on a note channel, a mint bar marks long notes. Short fixed names: drums BD, SD, CH, OH, CP, LT...; HI / LO = the other section; < / > = step page; FIL = fill; X = exit. +Keyboard: the 11 black and 16 white keys with what each one does and the same state as its light. On the mixer: 01-09, T1-T6, M1-M6 and A-D. On the step sequencers the white keys are the 16 steps. Short fixed names: drums BD, SD, CH, OH, CP...; pads P1-P16; < / > = bar; RPT = repeat.
  4. -Knobs: K1-K4 as four dials with their value and name, in physical order; under them, what SELECT, ALGORITHM and PRESETS do. +SEL · ALG · PRE: what the three big knobs do here.
-

The palette: blue-black background, cyan for what is active, amber for values and the playing step, laser red for REC and mutes, mint green for long notes. A red border = the mix clipped.

-

The 14 buttons

-
ButtonTapAgainHold (layer)2 sHOME +
HOMEBack to the console, always on MIX—The console from any screen (see below)SYSTEM(it is the modifier)
SEQThe channel's steps (on the console: enters the cursor's machine)Notes: LOOP · sampler: BREAKLength and speedTIME of the 6 channelsConsole GLO › SONG
EDITSOUND (BP-1: PADS)The editor's next pageErase (on the console, black 7-10 clear a scene)Sampler: TAKES · others: INIT SOUND (asks)Copy the channel to another
ENVThe machine's envelope · INSTR (drums)The other envelopeAccent——
LFOThe machine's LFO (B-MINI, BITTAL, BUNO-6). On machines without an LFO it latches its layer: repeat (BR-8, BP-1) or tie (BB-303, BX-7); LFO again or HOME closes it—Repeat (grids) · tie (notes)——
FXInside: the channel's MIX. On the console: the FX pageInside: DUCK. Console: CHANNEL › DELAY › REVERB › MASTERPunch-in—The console's FX page
SCLInside: the channel's SCALE. On the console: GLO › SCALECHORDSLive chords—Console GLO › SCALE
ARPNotes: the channel's ARP. BR-8 and BP-1: the ROLL screen, kept open (ARP again or HOME closes it)—Arpeggio (notes) · ROLL while held (grids)——
SAVESave menuRun itCopy patternQuick saveSave as
GLOInside: the machine GLO. On the console: the console GLOMachine: back to the page you were on. Console: TEMPO › MACHINES › SCALE › SONGTranspose and TAP tempo—Console GLO
RECRecord. On the console: SLOOP-REC. On the sampler: the recorderLooper: overdub › playRecord only while held (on the console: SLOOP while held)Erase the channel at once, no question (for live use; HOME + OCT− undoes it). Not while anything is recording, nor on RECORD or TAKES. LOOP page: erase the loopSONG REC
PLAYPlay / stop———Back to step 1 without stopping
OCT − / +Octave of the keys on note machines (on the console too, for SLOOP). Nothing on drums and pads———Undo / redo
-

HOME: the console

-

-

The FM-1 has no SHIFT, so HOME does three jobs:

-
  1. -The BX-1 console: HOME is a machine of its own, with three pages: MIX, FX and GLO. A HOME tap always goes to MIX; FX opens FX and GLO opens the console GLO. MIX has one row per channel with its machine, its sequence (pulses for hits, mint blocks for long notes), LP or HP when its filter is on, and its volume with the peak. -
  2. -The console that follows you: holding HOME brings the console keys to any screen. You edit the bass and, without leaving, mute, launch a scene or queue the next pattern. -
  3. -Modifier: HOME + button = its global version (table above). -
-

If you used HOME as a modifier, letting go does not take you to the console: HOME only navigates on a clean tap. While you hold HOME, only the buttons with a HOME + function are lit (OCT−/+ only when there is something to undo or redo).

-

To clear a channel: REC held 2 s (instant; on the console, the cursor channel) or EDIT held + black 3 (CLR); HOME + OCT− undoes either.

-

Keys on the console (on HOME, or while holding HOME anywhere):

-
KeyWhat it does
White 1-10Patterns 01-10. Tap = queue it for the next cycle (when stopped: switches right away). Hold one and tap another: chain from the first to the second. On = playing, blink = queued, medium = saved, dim = empty
White 11-16Channels T1-T6. Tap = the cursor. Hold = the channel card (below). With HOME held: go to that machine when you let go of HOME
Black 1-6Mute T1-T6. Hold = solo while you hold it
Black 7-10Scenes A-D (see Scenes and song)
Black 11CUE: hold it (or tap it to keep it on) and the mutes you tap change together on the next bar
-

Mutes are live: they stay when the pattern changes.

-

The channel card

-

-

Hold a channel's white key (11-16) on the console and its card opens: its machine, its sound and, on T3-T6, the five machines it can be. Let go = enter that machine, on the page you last used. While you hold it:

-
  • -ALGORITHM changes the machine (T3-T6). Turn to one and leave it 2 seconds: a bar fills ("LOAD IN 1.4 S") and the channel becomes that machine. Moving away, or letting go of the key, cancels it. The notes, length, loop, ARP, scale and mix stay; the sound goes to the machine's first preset and per-note P-Locks are cleared. The machine is saved with the pattern. -
  • -PRESETS changes its sound (kit, patch or sound). -
  • -Turning any knob means letting go stays on the console (RELEASE = STAY ON MIX). -
-

Heavy machines, one at a time: BUNO-6 (it uses about a third of the processor) and BITTAL (its wavetables fill the memory) can only be on one channel. On another channel they show dimmed with "ON T6" and the screen says "BUNO-6 ALREADY ON T6". BB-303, B-MINI and BX-7 can repeat (a BX-7 on T3 is polyphonic too). The same rule applies when copying a channel or loading a pattern.

-

The same change is in GLO › MACHINES (below).

-

MIX

-

SELECT moves the cursor, ALGORITHM is the tempo (the tempo box is yellow and its four blocks flash with the beat), PRESETS changes the cursor channel's sound (a kit change can be undone with HOME + OCT−) and K1-K4 are its LEVEL, FILTER, DELAY and REVERB.

-

FX

-

FX on the console opens the FX page; FX again (or SELECT) goes CHANNEL › DELAY › REVERB › MASTER. ALGORITHM is still the tempo and PRESETS is MOVE.

+

The palette: blue-black background, cyan for what is active, amber for values and the playing step, red for REC and mutes, green for long notes and slides.

+

The buttons

+
ButtonOn HOMEInside a machine2 s
HOMEStays on the mixer (and leaves PLAY/REC)Back to the mixerSYSTEM
PLAYPlay / stopPlay / stop (with REC armed it also starts recording)—
RECOpens PLAY/REC already recording; in PLAY/REC, REC on / offNote machines: record (see Recording); BP-1: record the pads you playClear the cursor channel at once, playing or stopped
SAVEThe SAVE screenThe SAVE screenQuick save
GLOThe mixer GLO (machines, tempo and scale, master FX)The machine's GLO—
SEQ, EDIT, ENV, LFO, FX, SCL, ARPEnter the cursor channel's machine on that page (only the ones that machine has)That machine's menus (see each machine)—
OCT − / +Nothing (in PLAY/REC: octave, or soft / hard hits on the drums)The octave (note machines) or the sound page (step sequencers)—
+

HOME: the mixer

-
PageK1K2K3K4
CHANNEL (the cursor; white 11-16 change it)DRIVE (the channel's soft-clip; 0 = off)PANDUCK (sidechain from the T1 kick; T1 is the source)BEAT FX ON/OFF: whether the BEAT FX and the punch-ins touch this channel
DELAYTIME (1/16, 1/8, 3/16, 1/4)FEEDBACKMIXSIDECHAIN RELEASE
REVERBSIZEDAMPMIXSIDECHAIN RELEASE
MASTERFILTER (open in the middle; left low-pass, right high-pass)BEAT FX (one of the 16 punch-in effects stays on until you turn it back to OFF)DRIVE (saturation of the mix)—
-

MOVE (PRESETS on FX and GLO): at 0 the mix is untouched. To the left the master low-pass closes and the whole mix goes into the echo (darker, more repeats); to the right the master high-pass opens and the mix washes into the reverb. It is a live control: it is not saved.

-

GLO (the console's)

-

GLO on the console opens its global list; GLO again goes TEMPO › MACHINES › SCALE › SONG. SELECT picks the row, ALGORITHM changes it and PRESETS is MOVE.

-
PageRowsK1-K4
TEMPOBPM · SWING · MASTER LENGTH · TRANSPOSE · AUTO FILL (OFF, every 2, 4 or 8 bars)BPM · SWING · MASTER · TRANSPOSE
MACHINEST1-T6 and their machine. SELECT picks T3-T6 and ALGORITHM changes its machine, with the same 2 s wait and heavy-machine rule as the card—
SCALEROOT · SCALE · KEYS IN SCALE · BASE CHORD (the project's)the same four
SONGThe song's entries (see Scenes and song)PATTERN · TIMES · — · SONG ON/OFF
-

SCL on the console (or HOME + SCL) opens GLO › SCALE; HOME + SEQ opens GLO › SONG.

-

SLOOP-REC: play any channel from the console

+

HOME is a machine of its own, BX-1. One row per channel with its machine, its sequence (pulses for hits, green blocks for long notes), LP or HP when its filter is on, its volume and its peak. Channels appear in this order:

+
ScreenMachine (factory)Can be
T1BR-8fixed
T2BB-303BB-303, B-MINI, BUNO-6, BITTAL or BX-7
T3B-MINIthe same
T4BUNO-6the same
T5BITTALthe same
T6BP-1 (the Slicer)fixed
+

Keys on the mixer:

+
KeyWhat it does
White 1-9Patterns 01-09. Chosen when you let go: playing, it changes at the end of the bar (blink = queued); stopped, it loads at once (and the one you leave is saved if it changed). On = playing, medium = saved, off = empty
White 10Nothing: a gap so you don't change pattern by mistake
White 11-16Channels T1-T6. Tap = move the cursor there. Tap the cursor's channel again = PLAY/REC (below). On = the cursor, medium = has steps (it flashes with each hit), dim = empty
Black 1-6Mute T1-T6 (at once). Hold = solo while you hold it; tap other mute keys meanwhile to add them to the solo. Let go of the first one and the mutes are back as before
Black 7Nothing
Black 8-11Scenes A-D of this pattern (see Scenes)
+

Knobs: SELECT = cursor, ALGORITHM = BPM, PRESETS = the cursor's sound, K1-K4 = VOLUME (the same as each machine's VOLUME), FILTER, DELAY and REVERB.

+

Entering a machine: put the cursor on the channel and press one of its menu buttons: you enter on that page. Each machine lists its buttons below.

+

PLAY/REC: play any channel from the mixer

-

REC on the console (MIX or FX) arms the cursor channel and the keys stop being the console: they play that machine, without entering it. The viewport shows the channel as a piano roll, with SLOOP T3 BB-303 in red at the top. REC again (or entering a machine) gives the keys back to the console. Holding REC = SLOOP only while you hold it.

+

Tap the cursor's channel key again (or press REC, which enters already recording) and the keys stop being the mixer: they play that machine without entering it. The viewport shows the channel as a piano roll, with PLAY T2 BB-303 (or REC ... in red) at the top. HOME gives the keys back to the mixer.

  • -Note machines: the 27 keys are chromatic from F; bass machines (BB-303, B-MINI) play an octave lower. OCT−/+ shift the octave (shown at the top right). With KEYS IN SCALE on (GLO › SCALE), the white keys play the scale and the black keys its chords. +Note machines: the 27 keys are chromatic from F; BB-303 and B-MINI play an octave lower. OCT −/+ shift the octave (−2 to +2, shown at the top right). The keys of the scale are dim, the root medium (GLO › TEMPO AND SCALE).
  • -Drums and pads: the white keys are the 16 instruments or pads; hold black 1 (ACC) and the hits you play go with accent. +Drums and pads: the white keys are the 16 instruments or pads. On the drums, hold OCT+ for hard hits (accent) and OCT− for soft ones.
  • -Recording: while playing, what you play is written with the expressive REC; the notes of this pass show in red. On an empty note channel it is a FREE REC (the length closes when you leave SLOOP or change channel). Stopped, the keys only play. +SELECT changes channel and the keyboard (and the recording) follows it. The knobs are still the mixer's.
  • -SELECT changes channel and the keyboard follows it. Holding HOME gives you the console keys (mutes, scenes, patterns) while you hold it. +REC on / off. Recording works as inside the machines (Recording); drum and pad hits are added to their steps.

-

The six machines

-
ChannelMachineWhat it isTabs
T1BR-8Drums: TR grid of 16 modeled instruments (computed live); kits 808, 909 and SYNTHSEQ · SOUND · INSTR · MIX
T2BP-116 pads made from your takes, on a gridSEQ · PADS · BREAK · TAKES · MIX
T3-T6your choiceBB-303, B-MINI, BX-7, BITTAL or BUNO-6 (factory: BB-303, BX-7, BITTAL, BUNO-6)SEQ · SOUND · MIX · ARP · LOOP
-

The machine is changed from the console: the channel card or GLO › MACHINES. Inside, GLO opens the machine GLO.

-

Black keys follow a single grammar in SEQ: 1-8 are the channel's elements (instruments, pads or scale degrees), 9 and 10 turn the step page (< and >, lit when there is a page that way) and 11 is the other section on drums and pads (HI/LO) or FILL on note machines.

-

The sound of each machine

-

Everything is computed live; the sampler uses your takes.

-
MachineWhat it isK1-K4 on SEQPRESETS
BR-816 modeled instruments, each with its own model: BD 808, BD 909, SD 808, SD 909, HAT 808, METAL, clap, TOM (and congas), cowbell, RESON (rim, clave, block), noise or FMTONE · TUNE · DECAY · COLORKits 808, 909 and SYNTH
BB-303TB-303 bass after Open303: the 303's filter, the accent circuit (accented notes open the filter more and more), slide with TIE and the knob ranges of the TB-303CUTOFF · RESO · ENV MOD · DECAY12 sounds: the owner's manual sounds (E.BASS A and B, UPRIGHT, SYNTH BASS, INIT 1982) and acid classics
B-MINIThree oscillators (TRI, SHARK, SAW, SQUARE, WIDE, NARROW) in 32' to 2' ranges, noise, ladder filter with drive, two envelopes (CONTOUR and LOUDNESS), LFO and glideCUTOFF · EMPHASIS · CONTOUR · F DECAY18 sounds: Minimoog sound charts (basses, brass, leads) and recreations of famous Minimoog parts
BX-76 operators (msfa, the core of Dexed); the DX7's 32 algorithmsMOD LVL · FEEDBACK · DECAY · RELEASE20 patches from published DX7 recipes (e-piano, basses, bells, brass, organs…) and the voices of your .syx banks
BITTALTwo wavetable oscillators (up to 8 frames, alias-free on every note) with up to 4-voice unison, filter (LP 24/12, BP, HP or ladder) with drive, two ADSRs (ENV 2 can sweep the table, as on a PPG), LFO and 4 macrosThe sound's 4 macros (their name says where they go: CUTOFF, POSITION, LFO, SPACE…)26 sounds: PPG-style wavetables and community Vital presets, plus yours
BUNO-6One oscillator per voice (saw, pulse with PWM, sub one octave down and noise), 4-position high-pass, 24 dB resonant filter, one ADSR, delayed LFO and stereo chorusFREQ · RES · ENV · LFO16 sounds: Juno factory patches as starting points (strings, brass, pads, basses) and a few originals
-

BR-8's kicks, snares and hats are the Plaits models (Mutable Instruments), which imitate the 808 circuits and 909-style synthetic versions. With accent they hit differently, not just louder. The factory kicks are voiced to cut through the mix.

-

Historic sounds. Many factory sounds recreate the machine they are named after: published panel settings, sound charts and recipes translated to our parameters, plus sounds inspired by famous records. No audio was sampled and no factory data was copied. Their names only allude (CHICAGO 86, COLD FRIEND, POP RIFF…): no artist names or trademarks. Where each one comes from is in assets/presets/SOURCES.md.

-

The sound bank. B-MINI, BITTAL and BUNO-6 load sounds (.bsnap): their settings, their macros and, on BITTAL, their tables. Some factory ones come from freely licensed Vital presets (CC0, Unlicense and GPL-3.0; credits in CREDITS.md). Yours are added from the web editor (sounds): PRESETS goes through the factory ones first and then yours. The sound's fingerprint (#A4F9) shows at the top right of SOUND.

-

Editing the sound

-

SOUND is the machine's editor. Its pages follow the real machine's panel, in the same order and with the same names, 4 settings per page:

-
MachinePages (K1-K4)
BB-303VCO VCF (TUNING, CUTOFF, RESO, ENV MOD) · ENV (DECAY, ACCENT, SLIDE, WAVE)
B-MINICONTROL (TUNE, GLIDE, MOD RATE, MOD AMT: left = oscillators, right = filter) · OSC 1-3 (RANGE, FREQ, WAVE) · MIXER (OSC 1, OSC 2, OSC 3, NOISE) · FILTER (CUTOFF, EMPHASIS, CONTOUR, KBD CTRL) · F CONTOUR and L CONTOUR (ATTACK, DECAY, SUSTAIN, RELEASE) · OUTPUT (DRIVE, MODE, VEL FILT, VEL LVL)
BX-7ALGORITHM (ALG, FEEDBACK, MOD LVL, KEY VEL) · EG (R1 ATK, R2-3 DEC, R4 REL) · VOICE (PORTA, TRANSP) · LFO (SPEED, DELAY, PMD, AMD; on top of the patch's own LFO)
BITTALOSC 1 / OSC 1 + · OSC 2 / OSC 2 + (LEVEL, TRANSP, FRAME, UNISON · DETUNE, FINE, TABLE) · FILTER (MODEL, CUTOFF, RESO, DRIVE) · FILTER + (ENV2 AMT, KEYTRK, VELO, ENV2 POS: envelope 2 sweeps the table position) · ENV 1 / ENV 2 (A, D, S, R) · LFO 1 (SHAPE, RATE, DEST, AMOUNT) · MACRO 1-2 / 3-4 · VOICE. The oscillator pages draw the table in 2.5D, with the playing frame in cyan
BUNO-6LFO (RATE, DELAY) · DCO (LFO, PWM, PWM MODE, RANGE) · DCO WAVE (PULSE, SAW, SUB, NOISE) · HPF VCF (HPF, FREQ, RES, ENV) · VCF MOD (ENV +/-, LFO, KYBD, VELO) · VCA (ENV/GATE, VELO) · ENV (A, D, S, R) · CHORUS
-

K1-K4 change the page's 4 settings; above them, a drawing of what they do (the wave, the table, the filter curve, the envelope or the LFO). SELECT changes page (at the first or last one it moves to the next tab). EDIT again = next page. ENV opens the machine's first envelope (again: the second one). LFO opens the LFO page; the BB-303 has none, so LFO keeps its tie layer. The macros (K1-K4 on SEQ) take P-Locks per note.

-

BX-7: the algorithm

-

SOUND draws the algorithm as on a DX7: carriers at the bottom, modulators above, feedback in amber and each operator's level; below, each one's frequency ratio. ALGORITHM steps through all 32 (with MOD LVL, FEEDBACK, DECAY and RELEASE on top of the patch). DX7 .syx banks (32 voices) load from the web editor or with py -3 tools/fm1/sonido.py bank.syx.

-

Editing a drum instrument

-

INSTR (EDIT again, or ENV) has two pages: HIT (TUNE, DECAY, TONE and COLOR, named after what it does in that model) and INSTRUMENT (MODEL, LEVEL, CHOKE group and line LENGTH). EDIT again changes page. Black 1-8 pick the instrument and black 11 the other section.

+

GLO (the mixer's)

+

GLO on HOME opens three pages; GLO again = the next page, in a circle. HOME leaves. The mixer keys still work (patterns, mutes, scenes; white 11-16 move the cursor).

+
PageSELECT · ALGORITHMK1K2K3K4
SELECT MACHINE 1/3the channel · its machine————
TEMPO AND SCALE 2/3— · BPMSWING (50-75 %)SCALEROOTTRANSP (−12 to +12)
MASTER FX 3/3—DLY TIME (1/16, 1/8, 3/16, 1/4)DLY FDBKREV SIZEREV MIX
+

+

Changing a machine (T2-T5): on SELECT MACHINE, SELECT picks the channel and ALGORITHM turns to a machine. Leave it 2 seconds on one: a bar fills ("LOAD IN 1.4 S") and the channel becomes that machine. Moving away, or leaving GLO, cancels it. The notes, length and mix stay; the sound goes to the machine's first preset. The machine is saved with the pattern. T1 and T6 say FIXED. The same change is in each machine's GLO (K2 MACHINE).

+

Heavy machines: BUNO-6, BITTAL and BX-7 each fit on one channel only, and at most two heavy machines play at once. A heavy machine already on another channel shows "ON T4"; a third one says "2 HEAVY ON T4 T5" (where they are, so you can change one). BB-303 and B-MINI can repeat.

+

+

Scenes

+

A scene is a snapshot of the mutes: the six channels' mutes and the instrument mutes of BR-8 and BP-1. Each pattern has its own four scenes, on black 8-11 (A-D).

+
GestureWhat it does
Hold a pattern's white key + tap a sceneStores the mutes as they are now in that scene of that pattern
Tap a stored scene (medium)Launches it on the next bar (stopped: at once). On = the active one, blink = queued. An empty scene does nothing
Hold a scene 3 sDeletes it (a ring fills: DELETE SCENE A)
+

Scene B of every pattern comes with all six channels muted, drums included: a quick way to drop everything and bring it back with A. It stays until you store another scene over it (deleting it leaves it empty).

+

Factory patterns

+

On the first boot of 0.10 patterns 1-3 hold three recreations of famous tracks, played by the factory machines (no audio was sampled; the Slicer is empty):

+
PatternTrackTempoScenes
01Da Funk111 BPM, swing 54 %A everything · B all muted · C without the BB-303 · D the BB-303 with drums and bass
02Blade (Confusion, Pump Panel reconstruction)136 BPMA everything · B all muted · C drums and BB-303 · D without drums
03Enjoy the Silence113 BPMA everything · B all muted · C drums and bass · D without drums
+

Patterns 04-09 start empty.

Drums (BR-8)

-

The SEQ screen is a matrix: 16 instruments × the 16 steps of the page. Each line shows its own playhead, because each instrument can have its own length.

-
ControlDoes
White keysSteps of the selected instrument: tap = set or clear
Black 1-8Select (and play) an instrument of the section
Black 9 · 10Step page < and > (when the line is longer than 16)
Black 11Tap: the other section (instruments 1-8 / 9-16, HI / LO). Hold: MUTES while you hold it: the white keys mute or unmute each instrument. Only instruments with steps are lit: medium and flashing on every hit = plays, dim = muted, off = empty. On screen a muted instrument turns red
OCT − / +Nothing (off)
-

Hold a step + turn: K1-K4 = P-Lock of TONE, TUNE, DECAY or COLOR on that step only · SELECT = accent · ALGORITHM = repeat ×1 to ×4 or FLAM · PRESETS = condition (ALWAYS, FILL ONLY, NO FILL).

-

Fills: a step with FILL ONLY plays only in the fill, NO FILL only outside it. The fill plays with AUTO FILL (console GLO › TEMPO: every 2, 4 or 8 bars) or while you hold black 11 inside ROLL (FILL + ROLL).

-

INSTR (EDIT again, or ENV): level, tuning, decay and line length of each instrument. For example, a 12-step hi-hat against a 16-step kick.

-

SOUND: the kit's 16 pads; K1-K3 = tone, tuning and decay, K4 = COLOR (shifts each instrument's color). Changing the kit with PRESETS can be undone (HOME + OCT−).

-

ROLL (ARP)

-

Like a drum machine's roll button. A tap on ARP keeps the screen open (ARP again or HOME closes it); holding ARP shows it only while held.

-
ControlDoes
White keysThe 16 instruments: hold one and it rolls, locked to the bar. Lit medium if it has steps, dim if empty; every hit flashes
Black 1-6Rate: 1/8, 1/16, 1/32 and their triplets (8T, 16T, 32T)
Black 7 · 8CRESC (the roll gets louder) · DECRESC (it fades)
Black 11The fill plays while held: FILL + ROLL for the build-up
K1-K4RATE · ramp length of the crescendo (1/4 to 2 bars) · SWING (50-75 %) · TAIL (the roll keeps going after you let go: OFF, 1/16, 1/8, 1/4)
-

With REC on, the roll is written into the steps as repeats; with a crescendo, the loud hits become accents. The settings are live: they are not saved.

-

Pad sampler (BP-1)

-

T2 is a 16-pad sampler, like a KO II or the drum sampler of an OP-1 field: each pad is a piece of one of your takes, and a grid just like the drums plays them.

-

How you work:

-
  1. -Record a take (REC on T2, see Recorder) or upload it from the computer. -
  2. -The take builds the kit: if the kit is empty, when the take is saved it is cut on the hits and each cut goes to a pad. The grid is written so it plays like the take; you change it from there. -
  3. -In TAKES you choose which take goes to which pad: N1 builds a new kit on the hits, N2 in 16 equal parts, N3 in 8, and N4 puts the whole take on the selected pad. A kit can mix several takes. -
  4. -In PADS you tune each pad: where it starts and ends, its pitch, its level, how it answers the key and its envelope. -
  5. -In SEQ you program the pads like the drums, and BREAK varies them bar by bar. -
-

The tabs: SEQ · PADS · BREAK · TAKES · MIX. The kit lives in the pattern, like the drum kit; the takes, in the library.

-

SEQ: the pad grid

-

Just like the drums: one line per pad, 8 on screen. Each pad has its own length.

-
ControlDoes
White keysSteps of the selected pad: tap = set or clear
Black 1-8Select and play a pad of the section
Black 9 · 10 · 11Step page < and > · other section (pads 1-8 / 9-16); hold 11 = MUTES
K1-K4FILTER (low-pass) · PITCH (±12 semitones) · DECAY · START (shifts the start of every pad)
Held step + K1-K4P-Lock on that step: a pad higher, shorter or from further in, only there
-

The layers work as on the drums: accent, repeat, erase, ROLL (ARP; the white keys are the pads) and per-line lengths in TIME. Inside ROLL, REC records what you play into the pattern, not a sample.

-

PADS (EDIT): each pad's editor

-

At the top, the map of the pad's take, with every pad of that take marked and the zoom box. In the middle, the big waveform, with the pad in cyan brackets and the other pads of the take with their number. At the bottom, one cell per white key, in the same place as the key: filled = it has sound, outlined = the selected pad. The orange line is what is playing.

-

EDIT again changes page: TRIM › SOUND › ENV › LOOP (the current one is amber, top right). ENV also opens the ENV page.

-
PageK1K2K3K4
TRIMSTART (the end stays)END (the length)ZOOM X1-X8SNAP: OFF, 1/16, 1/8
SOUNDPITCH (±24 st)LEVELPLAY: ONESHOT, KEY, THRU, LOOPDIR: FWD or REV
ENVATTACKRELEASECHOKE groupTEMPO: follows the BPM or not
LOOPLOOP INLOOP OUT (WHOLE = the whole pad)PLAY—
-

How the key answers (PLAY):

+

T1 is a drum machine of 16 modeled instruments (computed live), with the kits 808, 909 and SYNTH on PRESETS. From HOME with the cursor on T1: SEQ opens the sequencer, and LFO, ENV, EDIT and SCL open the sequencer with their layer. SEQ again (or HOME) goes back to the mixer.

+

+

The sequencer shows 8 instruments (a sound page: 1-8 or 9-16) × the 16 steps of the bar you see. Each line has its own playhead.

+
ControlDoes
White keysThe steps of the selected instrument: tap = set or clear. Hold a step and turn K1 = its accent, K2 = its repeat (X1-X4 or FLAM)
Black 1-8Pick (and hear) an instrument of the sound page
Black 9 · 10The previous / next bar, in a circle (dim with one bar only)
Black 11 (RPT)REPEAT: tap = keep it open (black 11 again closes it), hold = only while held. The white keys cycle X1 › X2 › X3 › X4 › FLAM on each step
OCT − / +The sound page: instruments 1-8 or 9-16
K1-K4LEVEL of the instrument · LENGTH of the whole kit (1-64 steps) · DECAY · TONE
ALGORITHM · PRESETSThe instrument · the kit
+

The layers (one press opens it, the same button closes it; another button closes it and does its own job). On all of them black 1-8 pick an instrument without sounding and black 10 · 11 change the bar.

+
ButtonLayerWhite keysKnobs
LFOACCENTSAccent on / off on each step (an empty step becomes a hit with accent). The 16 steps are drawn above their keysK1 = how much accent (the channel's)
ENVSOUNDPick and hear an instrument; its hit is drawnTUNE · DECAY · TONE · COLOR (COLOR is named after what it does in that model)
EDITINSTRUMENTPick an instrumentALGORITHM = its model (any model on any instrument) · K1 MODEL · K2 LEVEL · K3 CHOKE
SCLMUTE SOUNDSMute or unmute each instrument (black 1-8 too)—
+

+

In MUTE SOUNDS the lights are fixed: on = plays, dim = muted, off = no hits.

+

BR-8's kicks, snares and hats are the Plaits models (Mutable Instruments), which imitate the 808 circuits and 909-style synthetic versions. With accent they hit differently, not just louder.

+

To record drums live, use PLAY/REC from HOME.

+

The note machines

+

BB-303, B-MINI, BUNO-6, BITTAL and BX-7 share the same base:

  • -ONESHOT: plays whole even if you let go. +Keys: chromatic from F, played live. OCT − / + change the octave when you let go (±3); both together set octave and transpose back to 0.
  • -KEY: plays while you hold. +PRESETS: the machine's factory sounds; B-MINI, BITTAL and BUNO-6 also show the sounds you added from the control platform.
  • -THRU: plays the pad and, held, keeps going through the rest of the take. +SEQ: the channel as a piano roll, one page of 16 steps (the page of the playhead when playing, of the cursor when stopped). SELECT moves the step cursor. K2 SPEED (×2 to ×1/4), K3 PAGE (the 16 steps you see), K4 SCROLL (the pitches you see). SEQ again = the main page.
  • -LOOP: repeats the pad while you hold. With the LOOP page it repeats only a section (the OP-1's sustain loop): held, that section repeats; when you let go, it plays on to the end of the pad. The section shows in mint over the waveform. -
-

From the grid, KEY and LOOP play for one step.

-
KeyDoes
White keyPlays its pad and selects it. With REC + PLAY, the hit goes on its line
N1 · N2 · N3CPY copies the pad · PST pastes it on the selected one · CLR empties it
N4 HITMoves the start to the nearest hit
N9 · N10 · N11Reverse · half speed · STUTTER, while held
PRESETSAnother whole take on the selected pad
-

TEMPO: a pad that follows the tempo plays at the project BPM / the take's BPM (like a chopped loop). Kits built from a take have it on, and their pads choke each other (group 1), like the original loop.

-

BREAK (SEQ again)

-

The idea of X0X's BREAK, on your grid: every bar varies what plays with a seed. With the four knobs at 0, the grid plays as is (the default).

-
  • -YOU row: the pad you programmed on each step. +ARP (2 pages): MODE (OFF, UP, DOWN, INCL, EXCL, RANDOM, ORDER, REPEAT) · OCTAVE (1-4) · RATE (1/8, 1/16, 1/32) · GATE (20-100 %); page 2: LATCH. With REC on, the arpeggio is recorded.
  • -PLAYS row: what is going to play this bar. In yellow, the steps that changed. Orange line = repeat, < = reverse, H = half speed, - = silence. +GLO (2 pages): LENGTH (1-64 steps) · MACHINE (only the machines this channel can have now; leave it 2 s on one to load it) · MIDI CH · MIDI OUT (the channel also sends its notes over USB MIDI on its MIDI CH); page 2: QUANT (K3) · RESET (K4: turn it and the sound goes back to its preset). The BX-7 has TRANSP on K1 of page 2.
-
KnobDoes
VARYHow many steps play another pad of the kit
ANCHORThe strong beats (1, 5, 9, 13) stay as they are
REPEATRetrigs from 2X to 8X
BREAKReverse, half speed, silences and repeating the previous step
-

EDIT held + black 4 (CAPT) writes into the grid what BREAK is doing in this bar. HOME + OCT− undoes it.

-

The drawing is the mirrored waveform, as on a sampler: the peak in the dark shade and the energy (RMS) on top, in full color.

-

Recorder (REC on the sampler)

-

Recording, keeping and building the kit are separate steps.

-
  1. -RECORD: REC on T2 opens the recorder armed (on PADS, REC records what you play into the grid). It starts at the next bar (K1 = START: BAR or NOW). A big number says the seconds left: the smaller of the recording RAM (3 s) and the free take memory. White lines mark how many bars fit and the amber one is the limit. REC again = stop; it also stops by itself at the limit. Holding REC on the recorder records only while held. -
    • -Below the number: the free take memory in seconds and KB, and the maximum per take (3 s). -
    • -While recording the keys are silent and the delay and buffer-based punch-ins pause (they share the memory). -
    • -The take stays UNSAVED: the white keys play it in 16 parts. It is saved when you stop the transport, because writing flash stops the audio, and if the kit was empty, it builds it. HOME asks before discarding it: hold HOME 2 s = discard; a HOME tap keeps it and goes to the console. -
    -
  2. -TAKES (EDIT 2 s on T2, or the tab): the library, with the waveform of the marked take. ALGORITHM picks; K1-K3 = the take's BPM, bars and gain; white keys play it in 16 parts (held: it keeps going). Black 1 (HIT) = kit on the hits, black 2 (16) = 16 equal parts, black 3 (8) = 8, black 4 (PAD) = the whole take on the selected pad, black 11 (DEL) = delete (asks: keep it held 2 s; its pads become empty). If the kit already has pads, building a new one asks. A yellow dot = the kit uses that take. -
-

How much fits: up to 6 s of takes in total (8 bits at 16 kHz = 16 KB per second, up to 3 s per take). They live in the 100 KiB flash zone shared with your bank sounds: takes from the bottom and sounds from the top. TAKES shows what is free of the 6 s and how many of your sounds are on top; the control platform shows all the memory and warns before it fills up.

-

Note machines (T3-T6)

+

+

Recording (like SLOOP)

+

Recording follows SLOOP: the channel keeps its length; at the end it goes around and what you play rewrites the steps you touch. Recording never makes a channel longer.

  • -SEQ: the page is only about this channel. On top, the page's 16 steps as a piano roll: each note at its pitch and with its length (long ones in mint, early or late ones shifted from their step). White keys are those steps (up to 4 notes per step). Below, the channel's bars and the playhead. Hold a step and play black 1-8 to write those notes of the channel's scale (the same one again removes it). Black 9 and 10 turn the step page; 11 = FILL. -
  • -OCT − / + shift the octave of everything the keys play, also the scale degrees on black 1-8 in SEQ (O+1 / O-1 at the top). +Playing: REC records at once. The first time you touch a step in a pass, what was there is replaced; notes added in the same pass make a chord. Steps you don't touch stay. Each note keeps how long you held it (never longer than the bar it starts in, nor than the channel).
  • -Long note with two white keys: hold the step where it starts and tap the white key where it ends: the note lasts from one to the other. The lights of the keys it covers stay dimmed, like a trail. +Stopped, outside SEQ: REC arms (REC ARMED: PLAY A NOTE, REC breathes): the first note starts playback and records. PLAY also starts it.
  • -Free recording, like a looper: on an empty note channel, REC records with no fixed length (the screen says FREE REC and counts the bars). REC again closes it: the channel keeps the whole bars you played (1 to 4) and every note keeps how long you held it (up to 4 bars). If the channel already has notes, REC records over it with its length. +Stopped, on SEQ: STEP REC. The key (or chord) rewrites the step under the cursor and the cursor moves on when you let go; SELECT moves the cursor (skipping steps = rests). Each note is one step long.
  • -Length in bars: SEQ held + black 7-10 = 1, 2, 3 or 4 bars. +QUANT (GLO page 2): how much of your timing is corrected, 25 / 50 / 75 / 100 % (100 % = exactly on the step). Only the start; the length stays as you held it.
  • -Held step + knobs: K1-K4 = P-Lock · SELECT = hit (NORMAL › ACCENT › GHOST) · ALGORITHM = probability or fill · PRESETS = length or TIE (glide). -
  • -FILL (black 11): a tap keeps the screen open (black 11 again or HOME closes it), holding shows it only while held. While open the fill plays, and the white keys make notes fill-only (again: back to normal); black 9 / 10 turn the page. -
  • -LOOP (SEQ again): unquantized looper. K1 ON/OFF · K2 bars (1, 2 or 4). REC arms (starts at the bar) › when the loop closes it goes to PLAY › REC again: OVERDUB › REC: PLAY. REC 2 s erases the loop. -
  • -Outside SEQ the keys play the machine chromatically; with KEYS IN SCALE (console GLO › SCALE) the white keys play the scale and the black keys its chords. -
  • -MIDI OUT (in the machine GLO): the channel plays and also sends its notes over MIDI on its channel. +REC held 2 s clears the channel, playing or stopped.
-

PIANO ROLL view

+

BB-303

+

The TB-303, after Open303: the 303's filter, the accent circuit, slide and the TB-303's knob ranges, with the TB-03's effects. 12 sounds.

-

Machine GLO › VIEW = PIANO ROLL (ALGORITHM to the right; to the left, NOTES) shows SEQ as the whole loop (1 to 4 bars) instead of one page: the pitch rows fit the notes the channel has, a vertical keyboard on the left flashes with what plays, and a white bracket marks the 16 steps the white keys edit (black 9 / 10 move it). With REC on, the notes recorded in this pass are red. The keys work exactly as in the normal view. VIEW is a setting of each channel: it stays after power-off.

-

Expressive REC

-

With REC on a note channel (inside it, or with SLOOP-REC from the console), what you play stays as you played it:

+
ButtonPage
EDITThe panel: page 1 CUTOFF · RESO · ENV MOD · DECAY; page 2 TUNING · WAVE (SAW / SQUARE) · SLIDE (its time) · VOLUME. ALGORITHM = ACCENT
SEQThe piano roll (accents in white, slides in green)
SCLACCENT of each step: the 16 white keys are the 16 steps of the block (on = accent, dim = has a note); SELECT changes block. SCL again: SLIDE of each step
FXPage 1 OVERDRIVE (DRIVE, TONE, LEVEL, ON); page 2 DELAY · DLY ON · REVERB · REV ON. DELAY and REVERB are the channel's sends (the same as on HOME). Fixed order: OVERDRIVE › DELAY › REVERB
LFOAn addition (the 303 has none): RATE (1/16 to 8 BARS, locked to the tempo) · DEPTH · WAVE (SINE, TRIANGLE, SAW UP, SAW DOWN, SQUARE, S&H and the patterns PUMP, GATE, STEPS, 3-3-2, BUILD) · DEST (CUTOFF, PITCH, RESO, VOLUME)
ARP · GLOAs on every note machine
+

Slide live: press the next key before letting go of the last one (legato) and the note slides; with REC on it is recorded as a slide to the next note. ENV does nothing on the BB-303.

+

B-MINI, BUNO-6 and BITTAL

+

The three panel machines share one layout, after the Behringer POLY D: each section of the real panel on its button, the sections as tabs at the top and four big knobs. Under the panel, a drawing of what you edit (the filter curve, the oscillator's wave, the envelope).

+
ButtonB-MINI (Minimoog)BUNO-6 (Juno-6)BITTAL (Vital)
EDITFILTER (CUTOFF, EMPHASIS, CONTOUR, KBD CTRL) · OSC 1 (RANGE, WAVE, LEVEL, TUNE) · OSC 2 and OSC 3 (RANGE, FREQ, WAVE, LEVEL; OSC 3 has the LO range) · OUTPUT (NOISE, GLIDE, MODE, VOLUME)VCF (FREQ, RES, ENV, LFO) · DCO (RANGE, PULSE, SAW, SUB) · DCO MOD (LFO, PWM, PWM MODE, NOISE) · VCF MOD (HPF, ENV +/-, KYBD, VELO) · VCA (ENV/GATE, VELO, VOLUME)OSC 1 / OSC 2 (LEVEL, TRANSP, FRAME, UNISON) · OSC 1 + / OSC 2 + (DETUNE, FINE, TABLE) · FILTER (MODEL, CUTOFF, RESO, DRIVE) · FILTER + (ENV2 AMT, KEYTRK, VELO, ENV2 POS) · VOICE (MODE, GLIDE, VELO, VOLUME)
ENVFILTER and LOUDNESS contours (ATTACK, DECAY, SUSTAIN, RELEASE)One ADSRENV 1 and ENV 2 (ADSR)
LFORATE · WAVE (TRI, SQUARE) · MOD MIX (OSC 3 ↔ LFO) · AMOUNT; page 2 DEST (OSC, FILTER, BOTH)RATE · DELAYSHAPE · RATE · DEST · AMOUNT; MACRO 1-2 and MACRO 3-4: where each macro goes and how much
ALGORITHMCUTOFFFREQCUTOFF
+

The same on the three:

  • -The note keeps its real timing: the start with its micro-timing (how early or late you were, in ticks) and the end with its gate (how much of the last step sounded). If the note is still held when the bar ends, it is cut at the bar. +FX: page 1 DISTORTION (DRIVE, TONE, LEVEL, ON); page 2 CHORUS (OFF, I, II; the BUNO-6 also I+II) · REVERB (the channel's send) · REV ON. Their delay is set from HOME (K3).
  • -The knobs stay on the note: while you hold a note while recording, whatever you turn on K1-K4 stays on that note (P-Lock). +SCL: ACCENT of each step on the 16 white keys (SELECT = block of 16); SCL again: GLIDE of each step.
  • -Editing the step with REC: SELECT picks a step (red box), ALGORITHM its gate (from 10 % staccato to 95 % = the whole step, and 100 % = TIE, tied to the next one) and PRESETS its micro-timing (−11 to +11 ticks). The header shows the gate you are recording with. +SEQ, ARP, GLO as on every note machine.
-

The machine GLO

+

BITTAL draws under its panel the waves of its two tables at their position (the one that plays; silent, the FRAME setting).

+

+

BX-7

+

The FM-1's own FM engine inside Bubba: 6 operators (msfa, the core of Dexed) and the DX7's 32 algorithms. 31 factory patches; your .syx banks are not offered on the FM-1 for now.

-

GLO inside a machine opens its list; GLO again goes back to the page you were on. SELECT picks the row and ALGORITHM changes it.

-
MachineRowsK1-K4
Note machinesVIEW (NOTES or PIANO ROLL) · LENGTH · SPEED · TRANSPOSE · ACCENT · MIDI OUT (and its MIDI CHANNEL) · INIT SOUNDLENGTH · SPEED · ACCENT · TRANSPOSE
BR-8LENGTH · SPEED · ACCENT · INIT KITLENGTH · SPEED · ACCENT
BP-1LENGTH · SPEED · ACCENT · INTERPOLATION (LINEAR or HERMITE) · INITLENGTH · SPEED · ACCENT
-

On INIT, ALGORITHM to the right asks; leave it 2 s and the sound goes back to its initial settings. To change the machine itself, go to the console (the screen says so: CHANGE: HOLD T4 ON HOME + ALG).

-

The layers (hold)

-

While you hold, the screen draws the keyboard with what each key does and its LEDs; on the drums it shows the 16 instruments. Only the buttons that do something in the layer stay lit. The sequence keeps playing.

-
HoldLayerThe keys
HOMEThe consoleWhite 1-10 = patterns · white 11-16 = go to that machine when you let go · black 1-6 = mute / solo · 7-10 = scenes · 11 = CUE. SELECT = cursor · ALGORITHM = BPM in tenths · PRESETS = pattern (loads when you let go) · K1-K4 = the cursor's mix
SEQLength and speedWhite = length (1-16): the length is on, inside it medium, outside dim · black 11 = +16 (17-32, 33-48, 49-64) · black 1-6 = speed ×2 to ×1/4 · black 7-10 = 1-4 bars (1BR-4BR). K1 = length, K2 = speed
EDITErasePlaying: holding a white key erases what passes under the playhead; stopped: erases the line or the step · black 1-3 = copy, paste, clear the channel · sampler: black 4 = CAPT (what BREAK does goes into the grid) · black 6 / 7 = undo / redo · notes: black 9 / 10 = page · on the console: black 7-10 clear a scene
ENVAccentWhite = accent on / off (empty step = new one with accent; on notes: NORMAL › ACCENT › GHOST) · black 9 / 10 = page. K1 = how much accent
LFORepeat · tieGrids: white = ×1 › ×2 › ×3 › ×4 › FLAM. Notes: white = tie the note to the next one (K1 = glide). Black 9 / 10 = page. On machines without an LFO page a tap on LFO keeps this layer open
FXPunch-inWhite = 16 effects quantized to 1/16 · black 1-6 still mute
SCLChordsWhite = 16 chords · black 1-4 = +7, +9, SUS2, SUS4
ARPArpeggio · ROLLNotes: what you play is arpeggiated · grids: the ROLL screen (see Drums): white = roll, black 1-6 = rate, 7-8 = CRESC / DECRESC, 11 = FILL; with REC it is recorded as repeats
SAVECopy patternWhite 1-10 = paste the pattern there · black (1-6) + white = only that channel. If the target has notes, it asks: keep the white key held 2 s
GLOTransposeThe whole keyboard transposes the project (C4 = 0) · PLAY = TAP tempo without stopping · K1 = BPM, K2 = SWING, K3 = transpose, K4 = octave
-

Time (SEQ 2 s)

-

Shows the 6 channels as bars of their real duration, each with its playhead: polymeter at a glance. SELECT or ALGORITHM pick the channel; K1 = length (1-64); K2 = speed (×2, ×3/2, ×1, ×3/4, ×1/2, ×1/4); K3 and K4 (grids): an instrument and its length.

-

The master length (console GLO › TEMPO, K3: 16, 32, 48, 64, 128 or INF) restarts all channels together. Queued patterns change there.

-

Scales and chords

-
  • -SCALE (SCL inside a note machine): each note channel can have its own scale. K1 = ROOT, K2 = scale (PROJECT, or one of 9 scales), K3 = BASE CHORD, K4 = KEYS IN SCALE. +
    ButtonPage
    MAIN (a one-page menu's button again)The algorithm drawn as on a DX7 (carriers at the bottom, modulators above, feedback as a loop, each operator's level), and FEEDBACK · BRIGHT · PORTA · KEY VEL
    EDITBlack 1-6 = OP1-OP6, each in 6 pages (RATES, LEVELS, FREQ, OUTPUT, SCALING, CURVES; EDIT again = next page) · black 7 PIT (PITCH RATES, PITCH LEVELS) · black 8 GLO (VOICE: ALGORITHM, FEEDBACK, OSC SYNC, TRANSP) · black 9 MONO · black 10 POLY. The white keys keep playing
    ENVATTACK · DECAY · SUSTAIN · RELEASE, on top of the patch's envelopes
    LFOPage 1 WAVE · SPEED · PMD · AMD; page 2 DELAY · P SENS · LFO SYNC · OSC SYNC
    FXIts own chain of six slots, one at a time: FILTER (TYPE LP/BP/HP, CUTOFF, RESO), REVERB and DELAY (SEND: the channel's sends), DIST (GAIN, TONE, LEVEL), CHORUS and PHASER (RATE, DEPTH, MIX); K4 = ON on all. SELECT moves between slots. SCL picks up the slot and SELECT moves it along the chain (SCL again places it); REVERB and DELAY always go after the effects. Only the slots that are on process
    SEQ · ARP · GLOAs on every note machine (GLO page 2 has TRANSP)
    +

    ALGORITHM changes the algorithm (with the drawing in view you see it change). OCT held + ALGORITHM = transpose.

    +

    +

    The Slicer (BP-1)

    +

    T6 is a 16-pad sampler, like a KO II: each pad is a piece of a take (its own start and length; pads may overlap), played by a step grid like the drums'. From HOME with the cursor on T6: SEQ opens the grid, LFO and SCL the grid with their layer, and EDIT, ENV and FX the machine's pages.

    +

    How you work:

    +
    1. +Get a take: upload it from the control platform, or record what is playing with SMP (below).
    2. -Project scale: console GLO › SCALE (SCL on the console, or HOME + SCL): ROOT, SCALE, KEYS IN SCALE and BASE CHORD, used by channels without their own. +Put it on a pad (PRESETS = the whole take on the selected pad) and cut it in TRIM: AUTO (on the hits), 8 or 16 equal parts go to pads 1 to n, and the sequence is written so the grid plays like the take.
    3. -CHORDS (SCL again): 16 chords on a 4×4 grid with their degree and name. The color tells their function: blue rest (I, iii, vi), green preparation (ii, IV), orange tension (V, vii). K1 = set (DIATONIC, PROGRESSIONS, NEO SOUL), K2 = voicing (CLOSED, OPEN or LED, voice-led), K3 = octave, K4 = strum. -
-

Scenes and song

-

A scene is a set of mutes: the six channels' mutes and the instrument mutes of BR-8 and BP-1. Scenes belong to the project, not to a pattern, so a scene works on any pattern. They live on black 7-10 (A-D) of the console, and with HOME held from any screen.

+Tune each pad (TRIM, SOUND, ENV) and program the grid (SEQ). + +

SEQ: the pad grid

-
GestureWhat it does
Tap an empty scene (dim)Stores the mutes as they are now
Tap a stored scene (medium)Launches it on the next bar (stopped: right away). On = the active one, blink = queued
Hold 2 sStores over it (a ring fills: STORE SCENE A)
EDIT held + scene (on the console)Clears it
Hold one + tap othersA chain: the first launches on the next bar, the next one at each master cycle
-

CUE (black 11): hold it, or tap it to keep it on (it breathes). With CUE, the mutes you tap don't change at once: they blink and drop together on the next bar. Stopped, they change right away. Tap CUE again to turn it off.

+

Just like the drums: 8 pads per page (OCT −/+ = pads 1-8 or 9-16), the 16 steps of the bar, black 1-8 pick (and play) a pad, black 9 · 10 change the bar, black 11 (RPT) = REPEAT, and a held step + K1 / K2 = its accent / repeat.

+
ControlDoes
K1-K4LEVEL of the pad · LENGTH of all pads (1-64 steps) · PITCH (±24 semitones) · RELEASE
ALGORITHM · PRESETSThe pad · its take
LFO · SCLACCENTS · MUTE SOUNDS (as on the drums)
SEQ againLENGTH/SPEED (below)
EDIT · ENV · FX · GLOThe machine's pages
+

LENGTH/SPEED (SEQ again): each pad can have its own length.

-

SONG (console GLO › SONG, or HOME + SEQ): a list of entries, each one a pattern and an optional scene. White 1-10 add a pattern; black 7-10 put that scene on the selected entry (again: remove it); black 11 deletes the selected entry. SELECT picks the entry, ALGORITHM or K1 its pattern, K2 how many times it plays, K4 = song ON/OFF.

-

SONG REC (REC on GLO › SONG, or HOME + REC): play live and the song writes itself: every pattern change and every scene you launch becomes an entry. Stopped, it is armed and starts with PLAY.

-

Effects

-
  • -Each channel's MIX (FX inside a machine): level, pan, delay send and reverb send. FX again: duck (sidechain from the T1 kick). -
  • -On the console: each channel's filter (K2 on MIX), and on FX › CHANNEL its DRIVE, PAN, DUCK and whether BEAT FX touches it. -
  • -FX › DELAY: time, feedback and mix (up to 0.80 s, so 1/4 gets shorter below 75 BPM) and the sidechain release. FX › REVERB: size, damping and mix. -
  • -FX › MASTER: the master filter, BEAT FX and DRIVE (saturation of the mix). MOVE is PRESETS on FX and GLO. -
  • -BUNO-6 has its own stereo chorus (I, II or I+II, with ALGORITHM). BITTAL's SPACE macro adds reverb send. -
  • -FX held: 16 punch-ins (stutter, reverse, tape stop, gate, sweeps, bitcrush, SR down, delay throw, echo freeze, kill low/high). A channel with BEAT FX OFF is left out of them. -
+
KeyDoes
White keysThe length of the selected pad (1-16; on = the length, medium = inside it, dim = outside)
Black 1-6The channel's speed: ×2, ×3/2, ×1, ×3/4, ×1/2, ×1/4
Black 7-101, 2, 3 or 4 bars (1BR-4BR)
Black 11 (+16)The lengths 17-32, 33-48, 49-64 and back
K1 · K2 · ALGORITHMLength of the pad · speed · the pad
+

The Slicer's pages

+

+

The white keys are always the 16 pads (play and select; on = selected, medium = has sound). ALGORITHM = the pad, PRESETS = its take.

+
ButtonPageK1K2K3K4
EDITTRIM 1/2: the waveform of the pad's take with the pad markedSTART (the end stays)LENGTHZOOM (X1-X8)SAMPLE: how many bars SMP records (1, 2 or 4, as many as fit)
EDIT againSOUND 2/2PITCH (±24 st)LEVELMODE: ONESHOT, KEY, THRU, LOOPREVERSE (FWD / REV)
ENVENVATTACKRELEASELOOP INLOOP OUT (only in LOOP mode)
FXDISTORTION; again CHORUS and REVERBas on the panel machines
GLOGLO 1/2LENGTH (all pads)—MIDI CHMIDI OUT
GLO againGLO 2/2———RESET (the pads' sound and the FX back to factory; the cuts stay)
+

In TRIM, the black keys: AUTO, 8 and 16 cut the selected pad's take (lit when it has one) and always rewrite the sequence; SMP (black 11) records the mix from the next bar (stopped: it starts with PLAY), for the bars on K4. SMP again stops. The new take is saved when you stop the transport and goes on the selected pad. The header shows SAMPLING 1.2 S while it records.

+

MODE (how a pad answers the key): ONESHOT plays whole even if you let go · KEY plays while you hold · THRU plays the pad and, held, keeps going through the rest of the take · LOOP repeats while you hold, between LOOP IN and LOOP OUT.

+

REC inside the Slicer records the pads you play into the grid (while playing); REC 2 s clears the sequence. OCT and ARP do nothing here.

+

How much fits: up to 6 s of takes in total (8 bits at 16 kHz), up to about 3 s per take, in up to 8 takes. They share a 100 KiB flash zone with your sounds; the control platform shows all the memory.

Saving

  • -There are 10 patterns (01-10), on the console's white keys. +There are 9 patterns (01-09), on HOME's white keys. Each keeps its machines, sounds, sequences and its four scenes.
  • The flash is only written when stopped (writing pauses the audio for a moment).
  • -Autosave: when stopped, after 10 s without touching anything (patterns, song and scenes, and settings). +Autosave: when stopped, 10 s after the last change (patterns, scenes and settings).
  • -SAVE: save · save as · save song and scenes · erase pattern (SAVE twice) · count events. SAVE 2 s: quick save. HOME + SAVE: save as. -
  • -Copying: SAVE held + white key copies the pattern; HOME + EDIT copies a channel onto another one in the same pattern (notes to notes, hits to hits): ALGORITHM picks the target and EDIT held 2 s pastes. Machines don't change. +SAVE opens its screen; SELECT picks the row, ALGORITHM (or K1, or PRESETS) the target pattern, and SAVE runs it: +
+
RowDoes
SAVESaves this pattern (and its scenes if they changed)
SAVE ASSaves it in another pattern (the target)
CLEAR PATTERNSAVE again within 3 s clears all six channels
+
  • +Playing, a save waits: "SAVES WHEN STOPPED", SAVE blinks, and it is written when you stop. SAVE 2 s anywhere = quick save.

System (HOME 2 s)

-

Internal or external clock · Split Sync (L = pulse, R = mono mix) · pulse PPQN and latency · autosave · idle button brightness (OFF, DIM or MEDIUM; the keys are not affected) · FAST SCREEN (test, off by default) and TWO CORES (test, off by default) · takes, sounds and free memory · LANGUAGE · version.

-

The two tests: FAST SCREEN raises the screen's SPI to 30 MHz (measured: a full frame goes from 85 to 39 ms). TWO CORES shares the machines between the FM-1's two cores (on the computer it gives exactly the same samples). The first time you turn it on it is checked to answer; if it hangs, its channels go silent and it retires until you power off, and if a boot with TWO CORES does not reach 5 seconds, it is off on the next boot. They are being tested: if the FM-1 hangs or boots into safe mode, both switch themselves off. The control platform shows TWO CORES under DEVICE when it is on or switched itself off.

+

+

SELECT picks the row; ALGORITHM (or K1) changes it.

+
RowValues
CLOCKINTERNAL or EXTERNAL (MIDI)
SYNC OUTSTEREO, or SPLIT L/R (left = clock pulses, right = mono mix)
IDLE LEDSThe brightness of idle buttons: OFF, DIM or MEDIUM (the keys are not affected)
LANGUAGEEnglish or the loaded pack
VERSIONThe firmware version

MIDI

  • -Input (USB and TRS): channels 1-6 = Bubba Machine's channels. On grids, the note picks the instrument (0-15); on the sampler, the pad. +Input: MIDI channels 1-6 play the channels in this order: 1 = BR-8 (T1), 2 = BP-1 (T6), 3 = T2, 4 = T3, 5 = T5, 6 = T4. These are also each channel's factory MIDI CH. On the drums the note picks the instrument.
  • -External clock: follows MIDI Clock and Start/Stop. +External clock (SYSTEM › CLOCK): follows MIDI Clock and Start / Stop. PLAY waits for the clock ("EXT CLOCK: WAITING FOR MIDI").
  • -Output: MIDI Clock when the clock is internal, and the notes of channels with MIDI OUT. +Output: MIDI Clock when the clock is internal, and the notes of every channel with MIDI OUT on (GLO of the machine), on its MIDI CH.

Control platform

-

The control platform manages the FM-1 from Chrome or Edge, over USB (Bubba Machine 0.6.1-beta or newer). It is one page that mirrors the FM-1, and every change waits until you send it: you can prepare everything without the FM-1 and send it later.

+

The control platform manages the FM-1 from Chrome or Edge, over USB. It is one page that mirrors the FM-1, and every change waits until you send it: you can prepare everything without the FM-1 and send it later.

  • The bar on top (it stays in view): whether the FM-1 is connected and which version it runs (with a link to the installer when a newer one is out), the memory that takes and sounds share (100 KB: what is used, what your pending changes add or free, and what will be left, in KB and in seconds of take), and the pending changes with Send to FM-1 and Discard. Anything that would not fit is marked in red and Send stays off until you fix it.
  • -TAKES: the 8 take places as the FM-1 numbers them, with length, bars and BPM. Drop an audio file (WAV, AIFF, MP3, FLAC or OGG) on a free place, or on a take to replace it. Trim the start and end on the waveform, check the BPM (read from the file name, or guessed) and press ▶ Hear it as the FM-1 plays it: 16 kHz, 8 bits with dither, exactly what is sent. Up to 3 s per take and 6 s in total. +TAKES: the 8 take places as the FM-1 numbers them, with length, bars and BPM. Drop an audio file (WAV, AIFF, MP3, FLAC or OGG) on a free place, or on a take to replace it. Trim the start and end on the waveform, check the BPM (read from the file name, or guessed) and press ▶ Hear it as the FM-1 plays it: 16 kHz, 8 bits with dither, exactly what is sent. Up to 3 s per take and 6 s in total. On the FM-1 a take goes on a pad with PRESETS (in the Slicer, or on HOME with the cursor on T6).
  • -SOUNDS: one column per machine. Vital presets (.vital) go to B-MINI, BITTAL or BUNO-6 (you pick; changing the machine or the name converts it again), DX7 banks (.syx) to BX-7, and .bsnap files to their own machine. You see what was kept, approximated or left out, can rename it and download the .bsnap. Up to 12 of your sounds; BB-303 only has factory sounds. On the FM-1: on HOME hold the channel's white key (T3-T6), turn ALGORITHM to the machine, then PRESETS. +SOUNDS: one column per machine. Vital presets (.vital) go to B-MINI, BITTAL or BUNO-6 (you pick; changing the machine or the name converts it again), and .bsnap files to their own machine. You see what was kept, approximated or left out, can rename it and download the .bsnap. Up to 12 of your sounds; on the FM-1 they come after the factory ones on PRESETS. BB-303 and BX-7 only have factory sounds for now.
  • SCREEN LANGUAGE: English (built in), Español (pack included) or your own .bmlang.
  • -DEVICE (folded): firmware, audio load, system memory, how long it has been on, how it last started, the lowest voltages, TWO CORES when it matters, and the device log. +DEVICE (folded): firmware, audio load, system memory, how long it has been on, how it last started, the lowest voltages and the device log.

Send waits for the transport to stop (writing flash cuts the audio: the page says "Press STOP on the FM-1"). Deletions go first, so they make room; then the rest in order, with a progress bar. Afterwards the page reads the FM-1 again and marks each change Verified on the FM-1; anything that failed stays pending with the reason. Without a device, control.html?mock=1 talks to a simulated FM-1 for development.

Screen language

The screen is in English. Other languages are packs that are not loaded by default: one pack lives in its own 16 KiB of flash (it does not touch patterns or takes, and a firmware update does not erase it).

  • -Load Spanish on the FM-1: the language pack is a separate add-on with its own 16 KiB zone: load or remove it on the control platform, with the FM-1 connected and the transport stopped. Or from the computer, with the transport stopped, py -3 tools/fm1/idioma.py lang/es.bmlang. SYSTEM › LANGUAGE then switches between English and the pack. --quitar removes it. -
  • -In the emulator: the button under Sampler and memory loads or removes the Spanish pack. +Load Spanish on the FM-1: on the control platform, with the FM-1 connected and the transport stopped. Or from the computer, with the transport stopped, py -3 tools/fm1/idioma.py lang/es.bmlang (--quitar removes it). SYSTEM › LANGUAGE then switches between English and the pack.
  • Making a translation: copy lang/plantilla.txt (every phrase on screen) to lang/<code>.txt, write the translation under each phrase and build it with py -3 tools/gen_lang.py. The FM-1 font is ASCII: no accents. What you don't translate shows in English.
diff --git a/web/en/docs/roadmap.html b/web/en/docs/roadmap.html index b59f9cd..6c42b91 100644 --- a/web/en/docs/roadmap.html +++ b/web/en/docs/roadmap.html @@ -47,7 +47,7 @@

Roadmap

Everything planned for Bubba Machine. All of it will be done, step by step, with no dates: each step ships when it has been tested on the FM-1. The order inside each list is the order that matters today and may change.

-

Items marked ✓ are already in the current version (0.9.0-beta); items marked in testing are there but off by default until measured on the FM-1. Until v1, any version may erase what you saved (see install).

+

Items marked ✓ are already in the current version (0.10.0-beta); items marked in testing are there but off by default until measured on the FM-1. Until v1, any version may erase what you saved (see install).

Audio

The goal is the best quality the FM-1 allows. What improved, what it costs and what limits it today: audio.

Done

@@ -94,19 +94,21 @@

Interface

  • ✓ English screen, with language packs: Spanish is loaded separately (tools/fm1/idioma.py) and switched in SYSTEM › LANGUAGE.
  • -✓ Pad sampler: 16 pads made from your takes, like a KO II or an OP-1 field, on a grid like the drums, with BREAK to vary it. +✓ Slicer: 16 pads cut from your takes, like a KO II or an OP-1 field, on a step grid like the drums (0.10).
  • -✓ MUTES and FILL screens, and drums in sections of 8. +✓ MUTE SOUNDS on the drums, and drums in pages of 8 instruments.
  • ✓ The 0.6 face: header, viewport, keyboard and dials always in the same place; the BX-1 mixer on HOME; ALGORITHM as each machine's mode.
  • ✓ Expressive REC: micro-timing, gate and P-Locks of what you turn while holding the note; long notes with two white keys. +
  • +✓ Each machine like the real one (0.10): HOME as a six-channel mixer; entering a channel gives the FM-1 to its machine, with the panel and menus of the TB-303, Minimoog, Juno-6, Vital or DX7; cyclic menu buttons; the BR-8 step sequencer; factory patterns.
  • Planned: playing live (HOME again = the next page)

    1. MORPH A·B: move from one sound state to another with a knob (HOME's fourth macro).
    2. -✓ SCENES AND SONG: scenes as mutes on the console, CUE, and song entries with a pattern and a scene (0.9). +✓ SCENES: four scenes of mutes per pattern on HOME (0.10). The song and CUE of 0.9 were removed in the 0.10 redesign.

    Planned: working on a track (the button again = the next page)

    1. @@ -116,11 +118,11 @@

      Interface

    2. LFO › MOTION: a modulation sequencer and knob-movement recording.
    3. -✓ Per-channel mix and effects: the console's FX › CHANNEL (drive, pan, duck, BEAT FX) (0.9). +✓ Per-channel effects: each machine has its own effects (DISTORTION, CHORUS, REVERB; OVERDRIVE on the BB-303; the BX-7 chain) (0.10).

    Other

    • -Pattern banks: more than 10 patterns, by growing the flash map or shrinking the patterns. +Pattern banks: more than 9 patterns, by growing the flash map or shrinking the patterns.
    • Ghost notes on drums: a level P-Lock or a bigger format.
    diff --git a/web/en/index.html b/web/en/index.html index 3997a17..f0e7699 100644 --- a/web/en/index.html +++ b/web/en/index.html @@ -46,12 +46,12 @@

    Free firmware for your M-VAVE FM-1

    See the code -
    HOME: the BX-1 console with the six machines
    +
    HOME: the six-channel mixer
    - 0.9.0-beta · HOME IS THE CONSOLE - It runs on the FM-1 and installs from the browser, plug and play. It is a beta (0.9 not fully tried on the device yet): tested on a single device, and an update may erase what you saved (patterns, song, settings and takes). More details. + 0.10.0-beta · EVERY MACHINE IS ITS OWN INSTRUMENT + It runs on the FM-1 and installs from the browser, plug and play. It is a beta (0.10 runs on the author's FM-1): tested on a single device, and an update may erase what you saved (patterns, scenes, settings and takes). More details.
    @@ -72,14 +72,14 @@

    A hi-fi machine that fits in your hand

    The 240×240 screen, as it is

    These are real firmware screenshots, generated by the automated tests. The screen is in English; other languages are optional packs.

    @@ -88,12 +88,12 @@

    The 240×240 screen, as it is

    Six machines to play live

    Everything is designed around the FM-1 controls: three big knobs, four small ones, fourteen buttons and 27 keys with LEDs.

    -
    T1

    BR-8

    Modeled drums (808, 909 and SYNTH), computed live. Accent, repeats, flam, per-step P-Locks and steps that only play in the fill.

    -
    T2

    BP-1

    16 pads made from your takes, as on a KO II or an OP-1 field, with sustain loop and BREAK to vary the grid bar by bar.

    -
    T3

    BB-303 · B-MINI

    Acid bass with slide and accent, or three oscillators into a ladder filter. One knob switches them and the notes stay.

    -
    T4-T6

    BX-7 · BITTAL · BUNO-6

    6-operator FM with .syx banks, a wavetable that loads Vital presets and a polysynth with chorus. 92 factory sounds in all, plus yours.

    -
    HOME

    BX-1 console

    Ten patterns, mutes, solo, scenes and CUE on the keys, and each channel's mix. Holding HOME brings the console to any screen.

    -
    LIVE

    Scenes and effects

    Expressive REC, four scenes with chains and song recording, automatic fills, reverb, delay and 16 punch-in effects.

    +
    T1

    BR-8

    Modeled drums (808, 909 and SYNTH), computed live. A step sequencer with accents, repeats, mutes and a length per instrument.

    +
    LAST

    BP-1 Slicer

    16 pads cut from your takes, as on a KO II or an OP-1 field. Slicing writes a sequence that plays like the loop; it can also record the mix.

    +
    PICK

    BB-303 · B-MINI

    The TB-303 with its panel, ACCENT and SLIDE per step and TB-03-style overdrive, or a Minimoog with its menus. Each channel picks its machine.

    +
    PICK

    BX-7 · BITTAL · BUNO-6

    The FM-1's 6-operator FM, a Vital-style wavetable and a Juno-6 with chorus, each with its own menus and effects. Up to two heavy ones at a time.

    +
    HOME

    Mixer

    Nine patterns, the six channels with volume, filter, delay and reverb, mutes, solo and four scenes per pattern.

    +
    LIVE

    Factory patterns

    It starts with recreations of Da Funk, Confusion (from Blade) and Enjoy the Silence, and records like SLOOP: a fixed length that wraps around.

    @@ -140,7 +140,7 @@

    Yours to study, change and share

    Code of conduct GPL-3.0 license -

    Bubba Machine 0.9.0-beta · © 2026 Erbubar23 · GPL-3.0-or-later.

    +

    Bubba Machine 0.10.0-beta · © 2026 Erbubar23 · GPL-3.0-or-later.

    M-VAVE and FM-1 are trademarks of their respective owners. This project is not affiliated with or endorsed by M-VAVE. Installing unofficial firmware is at your own risk.

    diff --git a/web/fm1/bubba-diag-0.10.0-beta.bin b/web/fm1/bubba-diag-0.10.0-beta.bin new file mode 100644 index 0000000000000000000000000000000000000000..df2805e7cd1d853ee0277396b579164f1310ab46 GIT binary patch literal 125544 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 literal 0 HcmV?d00001 diff --git a/web/fm1/bubba-diag-0.10.0-beta.fwsc b/web/fm1/bubba-diag-0.10.0-beta.fwsc new file mode 100644 index 0000000000000000000000000000000000000000..4a93e3e49c56ac091829ddbf0a3f9aae1e8e64df GIT binary patch literal 699956 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 PSkk2vNh?xF-g2+NxO5;$%>L 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 ZKBDo7f|Yi3&z+yLxr<5`|Gy2q{vR(tJOuy% literal 0 HcmV?d00001 diff --git a/web/fm1/bubba-machine-0.10.0-beta.bin b/web/fm1/bubba-machine-0.10.0-beta.bin new file mode 100644 index 0000000000000000000000000000000000000000..d8a210f1840d66ec6836e1049c14a7f84c1ff8e1 GIT binary patch literal 451460 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 z zNngb8=ffR_8s%UQQw~-mn|-9dZ&>Lt9*dSf`Ge9JD?jaMeQW{S0JKGWH27&nMhY zK8flBUBOQNoSs4y|89eyz+IJJWl_n-iN<{YUp@b)K9Ao9nGSRQU-Zes?qucz*24e0 zxxl@5Ty8ZU)x!if0jvoY0j#MAtKeQbCRL@&Q|QQ=5kf1#!@Gp2_Agw6z52VgZXWr1 z3}h9XBO@Q}|5vPi6kD?3`mX&(;oq)+>` zd~FXe$;nusBlg%o@d`;t23T_hqVPyp4H9eSZbynIyZuY7Dg-FzQBq5}%Xd zQGI7c0!v-AM4gb6Lxy^P;Zala$O|5`Q|wlK#u(VnTKhL#;kL%0V}_isyWG74<2ec? zh4I^IPSG{+-wIvF@+;i7YpZY#yq&^ZQNzSq%IR8oC=I2I0%!?juK#9a$u+PSmfWzF zurjm(DsTSjLTmrGS2~PU(Hli?+rQs4dc%$y+7C*7QOc;PWGMF+nj3rj0(g3qTD8S! zR$ZdEW=+l7PSMkMneiD^&V$woSru5qj6U3IdY_L*Z}IoD`HUxEBg`Kpye2tCpYhf2 z8QNodoe1kA>&f6fX@z2uSQcEi zR+0W9bDJ5xyljfVZ@n+>rMTH{lS2Uwof9yDU-!z?vI|)bnhn+9C=9NjQ=E{w3{fC^ zakcI^k2;cfeicq_j~O@<_JCTaFOSOk8f4hwrqUbTuQ7t`Co37}!Zj%Y!WOS%drI!x zr_0thqYfNlhg#C$5Xtj9%;i_t<1hq}t@p+?Kb1Cbi5`_tm;+U|^dREI)r{WrrS=T^5OV4Kf<>j0L*+-N=R4hZz z{26N2L%jp{&piq)=eL1Wa;Nb6Lo+Hr{_za=uhm9%iNp1}Y$dus?xEoYARVyFDLYat#!~E~Wan z&0u;mRav|u!X{B^~r)$7!g>Ueh>v=nU= z_q;r%^fkXKXOzBT5#-F$m&gH?THbA?JIsQdRr(w`;2Q5!MG~WJPwqyY$~w)Q^;YlocO+W)X|6^d!C z{SU$JAx{UrLD~NdNzb>^{tm6^K*yw1%Z;dWsZw~MagRu(0}{oFOoER14i z(N)Y8qGvfU!wDrXS>@7~&4O!ROzYcn{mI~ytRn;GTC&QAC9Qjx?CR;1-5y#_mKNE$ ztwf($iF0JeZz`Lgk|zu8=w&{3pCr znph;p&H`+i9yzDA|7au%v(Ot{D47JiZrp@6j27L|XEB0ZD2HC2Dv-k1*xRuCR0Cg$ zx}*Pwjg?VZcX$`GuVB>bg`Sf~F21+M*t68_2?`VvRj2Yb2$oF9&VVM*Bj!?ZNmAAt#W?mR>hY|>$uG*b(Z&RTYWOb+Lw500vAh{MQs=}7g$*L z9%}t+Gp5q?%dzx4n#R67!kJb%rESXfMdJ(i4#AM(ZgkgG7KkZ9QoGfiBNTx0nM>I~ zlKgzSsYDheVHWQ36SFwN)i}j%iYx%z1=iM!3@;}TpJvtN5mExv<9HF=?1;;%WO|3wxEt*nr=l_5d^-Z`!MWCrd z#EkXSMO=ZK6Yp>fuABR0vRqUu&5IxdsqKac$^su<+^=Qa=2hHw@cSq=NHmj0l|4iS zN6X=GUz+>PEWKTuE7u3&3ya;_WY6cFZcn}|RKSn|C4*{hPe+z>E}?X{EOsi(xhDZb zlAbENLhtfCYEO)qg_tBCr_bC6TZoxJet3p04J5}anYh_0uAUOPwg2-G^dN_^-|rGS z>Xe8@faP}V@_;>~Scx|{@)MTXo1imt3gaXXux9dOHixJNqu$5To~`}6N6bBrHEej8 z&{-08QA)sk-l-6SLmy zjiq|7moNr#&4mon+Fw7S`u8RJ&hn#I!9Uok&{o-3XTN788C2p4{<>X!Deix$6~2zE zoCf8IISX*slH9dXP6IwO!3X=f2=Bnnx@hILf~+!9$Xy z8in$Zi5L}gOystl4DM%%6W-h{rnuMRDneGq0bF{;M~D2xQ3abI)=m^5&k~-^S;DJW ztU-Ma)c%QNx-X-5(VgK&*q#S~*#vtHG&`qe-^(+JWE**k*^A#H@+toQo%BI#$Kf_u zaswzwSxAHC>p|JOR7a3y&}NO~XYAii;fn1;?{HhLrRVyB>zw;=qbDfq^)ceO3RCzF z3u7?$#jx+i#xpZocwxNN0oaJbxD8Fbj;Rz?!2{SzBSb&6x9;WGs1v1lBTl>tJ?TCl z7)B}S6oJ(YoFy@nY0IVSt=mKQgzoNrkyTuDmhhiAhns|d5zoMjJ%(ure+(({fP6qH z52cdo$S*O=;k~^B@fPQvSo_~|B)m6X3tzG{gnvuc?4hF-V6^oPi~_BC0J{z7ktSgl z?ao+YXQUcFTY7TWytdwKGZ6{^&%VU4UW*x=l!i(F0N z`l1bmG)2#GSxDAo8$E+-n(ohE?`Vdf!gGKLKWJgXk8qywo2&--g2VZN8#Ilb!(?sx9Rczf?yUvz(AG*trpu@$&^OgNvr-@$}Wu-jMD9$sF_6nh$F zMQZIYA5k(WO>~W*49~?Qij6*tN9Mq*eLyBdhxZ;(DDHqu`%cJ9#34%uM(^jjFAILL6Q|(#a)D45*X zDbsJHt2;cLx>byxiKmAl+i&5+nWti{W2ceZU3T@%u(0MwcT?D@kAozc0LwQWHFa}r z9BvDJelX0{(&rzBT_MeGDv-e+Yog^Yv?aqbT#}H9hz0mie||>R95N9+LF0h%IW81 zI;Z1GXHGZ-*BDCI^?u=&}l9F zO~SSM%4mJ{|EnI7_2zEC`%BIPsSz5;M@Jb}&n9j?Pu%a9d8)V0>dzzj!kme-UDSz#je-5V1u2pOAFYK2`Q?8LvNBx5}YZA8YRofn@siNKs zw>KsS!KRKmWDz#qEXp%A!#0?nG4YS?di}@?JI0$BG;HN zoC@Wb-&a0xe31V^!3Tv$vtJ0G#~r8#PM<*3NpFae+H8BnSD0m-BC-Oh-)nh14>vBi z(V@&~EYQelU7W;PXX)9~@-hCn33g~vDw8w7!fK%r+IFR_Ny(SCI-2quiy8|X3mP#t zyaFW}G(Kh|jdR1RM)W$FLP+36(Trq3NMU$920_|U+Z%vjIj3VT-a1FmPACBEg*I7$ zX8UX;&o}+Ts!y`12j#qn>a>nb*vMx6Q#aXPp43Lu8L*~^+b8LIH{Txhg-BM1zx-DG z6}jzorzWiY*g4_uj~x?MeVjkxo{tMA-1~9igw-D_U7_pk9~ZS}?+6bth{q9EhRC>u z^P7~iDNT;Dd03B=Vqmr&8RHOT@m)AReMZYhU_F>)lWuafn~^F`^@bt4CWIwRU*F#BDXtV5VHmr1*1h z%V9ltVTFwf*5|-Y%_x#7X9n!M{L1k;$Y}pnzSy+AX0j^l0q3w*apbV`RW|xI_h-LP&(DR@nJ4spS1-^KGS?EPl zJgY4967su1Q(s2iE1+=%lyZhaS96Pz6lPeGPfHF)*xJ>Qr(qd4c6M-({C6TqHEFuHgJBCf%P4oTFW?>t1Jp^dj07h^4SZ)(o6iczC?w zQ?j{VQ1bTbK^8s{jPDuAfDG6Xor7!W4HkgDnD+tx9a0*|r;1t^V`yki-beUa`thNbM z4!1Cgx?F9BWLY2H5l_$Q+KKd(KDWbV-6ZfYQ;AdsK3|PIzFDSwxdqzcEYt9q#GQzt z!Jb7fCTZdLr|7=Atc^R`viO};!}G_@`QRzBUu_h!rJY^znqkup;8seWT!ghD2|WapY}X zJ?GN{@rwV}+i;?oGK^7%vEa|r8n%gbOx(%PL0+Coaj5Ibe95FXq*DlP1K}spzirVw zM{j>;_9=L16O|-KS*V$3bfx+g`Bfz`KgpR~5MTHTN*|lMdvUKk=h^R9u>LlzpxPDs zNsBAA2`kv>e@xag9xKo!SLorc$BN{^+}kwK6?$|K?KHZA@CcPbKZuBn{&QbbCefO| zM>rw%9!AfW7uu=c=-y09>us`FOV_d&mjBlNk4AV0@Gu&9NTPVK5;8PLW5oX+5>pxJ zH}r4DZ-(UXCAka`l>xFcK5?#_a;P+@atkvy%l z7`Da|IkR)AGQHT_s3^Ib*yu>Vy>Nl^`9pp=FiMyGM33+KuUbW1n0+KwGv;Ib3b8EI zMan`aRC>2hBK4;h@ZeB4?)IO(WucyylKGAWzYRgRK+Dfj`j?hcds*nOdDZ|#5kidnB)wmERAv``1@ z=S0{It{jLdKAK2|){XR`0rp`++xHh%Nl)Kh&N>2#jzGn3AO zQ+;u0Y2o+kD)(X4slEi{;?XY={gQszukuviDAXpSb~I|o{IIqPzWX|Aw`mv;s$F|{ zfO|F-F~G&+o!MN&T5#Vt{KWO!@!H;s@xyuN?)s**Vf-@gaqhI1-IJjvz#Fh=scW_@ z)&(-)vDxf01t+;Cdkev3%Z0gp8d(E*(`#?kss#sDsg*S1{yGGAgGE?2xyX8c3Fi^= zx`NwynQ{h37BjRJh=Dx4YrHT@@Yxh`10=Odk$Njncomy3>SqBT9QX^ zF4sUk2?zKVr?}8>7^**gLy_2#nz{!wlP0elcfH8a!cD{#I^;4B-y}A9^ZkR9z0h%# zSNUSQesMMQtzlDgSMV_5UUcm}wQ5erhiX?BLE3}^!P4|YSQ%xG697Ca`@RJqg1Kr~h14=w26dMh^ z2k>C!EnUGzJm2J91JCdjjw10IB=8MZlQ5I26$?61lXRv9zO~_F=Avvq?-oR1LPzoN zd2GWy;JGH~h0JieIH!tRcGP%qkRc1M|4~Elz{=A4kz~-$Y86^7gJ|mCv>SYN0+D*{ zYdZ*yS4$Pl0>ycTk+&g^s6C3ijnMh3@1ov`dp7tFlHs`IAC|iW1*=LjmUD?pf(#p{ zEy;nux$*fp>B&4~dXnC(tEn1%730z&u`@Y{>7FH!ba4XN>&t-5&!uBtrX-wKWl506@ry;C2{Z>*qH&>k>@3g)7XM~EK|nfHz#T1>*G#EK&A z(%0s@a)rEOQv3j~K30#Z_knZ{(Kv%|e(#w(?sIBR1twDId5PU&keIKuAf z!g%=5K8wmPR2Lhtgacg5CsF8^_~SDQMB5HBQf76%_4S~fSfw`BIc8SVn^W3Q*V@0{ z*cM2}IsQHG3VlEjjc0JMzaLntr9Ts-ry^)MDy8m72w!G+-6Z?;y6f)P)0%Mx#ILzxhEERt1OX_Qgph(kv z5`}fHZa}&v&0jawN8ZX|>sE7Y^xPziGjLYs<E=KjrOo5&;yRh+D zN+p@4to}QflEH0Z;F-KZMs$?xBRi-8Bq-R|A*IF6B&0Oi1wAJ&s}TGmehuUeDK65k_;v9Pm({M%On@%9&0#YM+~)W5-*>#PoD9w5@xI22&g^5-=I}Sr z`yS=y=#j~0{dc4g8alVd0vIafQjf`cO#0NmIeam}4w+LC`QdRl$D|_Q_OfFxbY|#> zX`%+*lIRP@aJ9UZ*E_fbnc@g1gOF&pU5EE;LI?3{iShu~fQOf-n{^obhh(i+VRX60;RpVVO0=YsC{BX6E-a2s zGPL$)mK(Br>qWD!9^9PDZU4*lcD-vUWF=z`T7OpbS>a~|pE*Cv|IG0ja8O+JNBb|r z1IiM=#&XXl87=J^%M7Up>mk{=7%!lSz;(aG-@=;pVvUYh-Lqn8Yd>pf3#)QEnNSn}=#2DP@FMhvHlBE5Vx~|Lnj_DF zlwB6G`)3sWL?5>Qx~MICdl+neWGOjUPuKW6td5PY?(Ym>y#6|6ybP*mgN@_oHP+jy zjYCX*X;dR1SoH~Qq24Dv9JfjL$*1*f@uaom%`f#t*=BVJ_AOnZje{pc(jX)!e_5!+ zUmnV@z8GO6E`fW&H-oP0*G#4UboEF1y`h$@kBZAf8(hnUxdTb0a7OyvxdZ3N+$a38 zt;0+M-+%GqdeF=PglR!)RFPH=^>YZxspBr&XpGEim^HFrBFYhSID)bjI z(3QR1?vy+Y?Moxth}A;pqw@L15poBe=Qu{eJa|(gG@=zyNM@mQROEu)$cu}dHktHI z-U9KVTezL*X#sub@a}?HTQvWAcrA*H9a^D%D6(|v>el}Di+^1Gnf=q;7sCB*CjEZ& zS~s=m2JSW5ZqtNA}+|m)!S`%{=IH}!g(JMWBL8IQVe%tKhjhD8KhUo{ zpqPeD@jLa?Ce0yd1e655ZabxY$Kv92ALe|wnw}}5uiv%_lG8eYBl&*WaKgsJy$C3( zh@SnU1UaWK9^9kk0@0^Ma~#|r7u7(~Q^mOHmGf2H zcAkzZQY(*|Z^vFVjHE)NfR)E|M0!4a?pD`;M(l`k*3#|4t|F@QfI5Lv)sVp(NxHr7 zI+@xWYEV*3?0pF`wdU6%*BHxzS~n5~0Z8_~99hoY<#2@>qS_}fp4O9LVJkzvEp?%v zC5v$1pUNxBEf7<80>-pd+`xjYS$!7VK)IRb3bU@=QIxdMl0{i#@y^05NX(zfoW6oz zsGQS9`#<$$`>!T_q%4#->4W0QP(F0eiBo1l;zmDjMMyw8hwPC*wZ9SmNcpSKEU-1J z|3~Qs671IQKCRg)z9EpE-R7HnICYwEy>Q=Ke!u)gqgFPjgQVqYtF~#y+uX0k3$VAp z0tseG`5aFm1-LVw)85{uk>Mnc%KTJ1wTz~6KV(OrHf#dtVqdt28wGnMuRpDU&mYF_ zSV-jC*@(g>$zYe{Va0%qMuI&8-v zE5jZ;(7*BcPQaiZ-~I%5x+ymrpAr|fC^xfCa6R}BQ{g%aaNdQWAKc3gb=9!`xj~om zF-M`HNZK8U^@XjtoM^B(lZ=|e#yVJ0%r#~gtXrwpx{))p*%w#-kGn>`lR2N_CPCsT z60_uujdWiY7kL8n2yArWTi6vv6@?p{;)RNx?pG6qY(q=Ff%NGXjp)~VwZ5s%u);82 z=gs<;|6Q@$A*SSA)vBI@m3-6Vovd;RB*{EHzq3`Pxqr+xW(I9T6whx{Eh4A$Y4|8l4yHFimaUEIP zjwp9UR5ok*oWObLTPW0Pz|wb{qc*l%r?5+=6=fH;_W#&$4cx*KU7a$;WNuW>WD@tj^mK3x2vtcV{fA1#5;<<@d)&v|)@Fi{wT)0T3P(yVWB zXNJkAQQH^MQwI}u=iq3)d63b$A@k6bA&-sG3x}AYvnEhJ1clfg~?xZ~L|^ zw7)t@-*}38?%zR)Y_#VnS+wppgVi%ylnk1lYZTu?{nAQ?BYP0}0%L`3m5ruKj1>J3 zUpQ`}=}M!(jydj@VJH5ID47nCmfmEb?B0Sru4%AmOGaf+oup*ui}jG-W*f(Bn@7$` zh>p#6Mn@ZO$bNxQ?7g8OzW5f#w#!i{7D#v9#O*jY9Wv|S9gc1swupXEHx!7Uv%_Pi2oXK#LB!C^(d7v zJ4*i;L414b*09dF=1^)#EoNT=KHz?oJRhr&i*H~ucijOCkZqBD|I6KdqkM|rWu|+! z82sxSIksmdeg@~@l6Nuq5&HV*j-BVJ)%^mWgk9T)U2DPGzWN5c=8e0$YnxEAHp1$& ztCdVzyE@{+-Zv6fcVho($?^#HPJUv$l0|b%BiO~MgGg0IR?Mc)`y#Uc0PM9xUKea> zez@dr{)=N8t$7?Z(?=%b-rhA+u-x}Rx#5L1)x1*iFl)`R_eVbp=)2l2N zYr5+)Ty|JqGZkA5Pq#&|J2%qySrL-8jba5jUu9c1j{{B;d_@1l=kP^6I!Mn5-UFyY zBo^K&i=fUs*i%o-ZjO}+5xU!F;#|2=d;>#Y68YvRrg7q*C5p5#H(w%|<#mdGL-cN3 z#dFs8cLNx%rnm)$u@>BnTP#;^h6)JhP#jk$==)FM7C<69lG@t;&IqvVRWfM(TkzYf z!VaWGMWA*MH#YSuPj4XyWqz$P(r(`9owg07&Q^m#e2YY%;a3gM{?Oh_~8x3E^ zs|DhFklJ8{9aSFU61HTN&dus)$yM5dTQVrnv%P2JSjN$e`jLN0Njgt0FX4YC02i4Q zlNv^gAL{&^$!bINUhyr926;lUy3EeKw*RM+^Aw(^vq@~6!Rq?W_o^v-Ljg4Zt;KcpMtWzW)+fzva7nK zJ(=p3EjY~@o(J*t5P3TO!e=XM-)olfXcyBgTX=8<57h=WzF#C*EDNls%CqW+AFwSU7?ib#Bd7vQ7y)}=K{XNK)Rm;#~)FlLbG@U2$9D5@FNhJm-XV+YxE0P#fuc8Y8|rW@HH|-#$iXudQw5 zSMdHFO-+5NP&|%zx>BF{*RH2 z_Uh`Aal)LTi%%bl%nUl&XFQ>d0WA=#4>K(;b*$kcpFM$Xc!JSN+FdL8h*JzLY0e9x(n zv@rSJx0K}7Z#lX`9Nsfb9O9ba%70R>8#r5P((7_4-~TMmtoyFv=br26YVmg2`af)f zrt*gbj&S;_y>!M=w8pGJ?>K0!#2Z%4s4Ee;8hUEH0`);ceyKFMXL@$_ky?}58_F5W zR!;MHD$BX2xMRlS-_>9H54*O>@Yy2cFZv1ccdcH%_(jK||HDdYijYc!3!T(<>xHk{yaU)ku%P>QCpWM>j zH(%@S%WdxNo8!H`$1>93B6nxQb%$#Y5o(28FNtocd z!ztYk>vA_}gwNQ5H)!h=S$IEYo!|3eokw)yTO2KrpYz4$G|IW2g$*XwV^sJn24f^u z=QoCR=>a*`KjBqhE|s@=p}Q}|52;1lB59&5&BrW0!Ka@c@6}nQbN7dJ`Qo9S-F-P- z-Fz~{qvINk?`t0F-xvmRF~6Br&Z+Y8<$r$fD{esqGkb5;VBcX*H>IhQ*k{j?q6$^QY}Y zegS%n#`7dBkjZ#vOrY^dexw59Xbp`zAjFS2qzv>dm`)-*q4-6Fh>xCcveY5^)2_9- z0A8XMCP(XX$zgxjiDr!SD8^>fd}&>M5@=2kIT{ZF+K?62#WNVKxfOSoeH-+lRo3mz zAL2fya2=AE)`)lz+D}BkUttyOOjxI~L1ExHj=s&hIdP=e-9>!6+ObWEpwgu&Z? zheuNK*uQ&hbQiz}n@fAPNS(Ve4|0sxgf|y@N9Htj?k<7E@xn-XNafRCh@BozjSK&Z zltgc7!w7r|&y_%``rU~0=dpUCeo_a?)SfTap}cN{g=Jie&O>qH$=D)YI}M$?K>>O^ z;+#F-pUYSs(I;^8u#1U80nSI-02wWVJ2s~sl^7>IC;a%q@-0R1VQGnz0VC%5>Bz0R zu^Ko-Z2P`cNvUwk_Yy>GSD-{QI+E4yWEX%7NhX_Ovd2%uR@l z*@xYE*Q*~K=hgSJpVm?A)r+zIG}4Y0o*5ZM7R{(zeC^Dc-rzPz^0=2N-j2Pt=!Wml zd35bq%dJ?I_XlUaE(6~z7&#_!4HTEL)$k)F>F>R^UdDYUPma)t+lNQU6jEuLYFda^ zdGI#$5tD?QY03hRk=R#Pb5+n>Pw&~MzPnmt|%kfrv>>ZbQfqM?#JG+|R44Go?mvS}zLIi#HR4e>s@*~zqt>;{_ zSi$jm6i?@2 z+DP+q-@h1Fx=yM)q|JTjl%#M1VRYWx1zXU&Lg~xYkFvMGHG@WkxNiEQFNL`5U-XS7 z#k0TY8%MtAOND3Xi@r3Z1VlU>j{l-B9p0r5lHlnI9_63$Ry34ur!kvU_dGqw2o>8( z8}sd5!gg3=lqNd5XF1-}B~99Pv}iyJlq^x-nvHjYn>5-EF&cxpVzZwR?y3(GtNZyp zVH&(3ql9Ac17`R(QHGzE1aGl(`i`yw$SbMDf|v(x&rOy?%uYIW+YMWH`Iq1Qa-U_7xfiwxI7q1jI>4lqbn!6(`(c5)}&C1?{2gi zIdd$m3vDh%WRXT4o!;#f>oN<#d(AR86_Ij0jhsW&958K?75}aUi1^j;Cf{=`iFx2@ z586IKhLu95JruOZcdrI_EvS)Vt;yBaF~3{VXun?0i+FdgJcXrl+IL>JN4c2StWdNI zYzKJ^8IxQh40^y zkpKRo1jqZuKKrd+{yEmX!_0ZBbxro;3vzA7lj~>{BFnS@|1Ivr>ki-H5)UsblvH@Y z=$lJ;eKWGcZR;}{Z_R1AJF@|)nVNe!MkI7az}I|J~mPzMj9Az_G2Wv7qd`D zWr4tPI(KvjQSy#J_fCk;K+CSf429wryv0cMLN+p*P-)@NcYT5wJJ#nkQg~lFE(&$g zwYhLYKDsu(@4L3|Ar+hR0~7So$e8G;*L~OW#qU~fL&}n-V$OxJk&9y^gMS*D>)S{n zVi@TuJ>xGfK5lfE_~7lbHgmh|df>(TvT}8K~?u2jj-Z#G8^9YBTw& z$|)Wdj!_)T$1!Gg9=AhA%Swz@k=xL!=-KZWHlg)<4-&S`@JcM%ZuQ>R6-?Ptv4utka}Cc<4BivGH@NzA zoZSE7kB``&4_{~lUeNMXNST&DIFtDZ5@M(0qx_F6JFAWv_GpcJTE7x-^ylN9N913$ z{%b?vf#U`rt=l;5vJ!S&&i{Br=L7w6tlgCj;RklfyOdWPyYgSH+*Q@<>@E0fVQW?^{~e;7$^{_Je10m57Z^3<+T~ZgA9cg z_JmQ;DG~;?5uPku#}1E@yMh`&P9<-(8GP3$!dt_Eh7?FM%93^M-F4Ebz6PD@m)wip zef4|8fjU^QDJMNPKo)oR)unhw;%%-Fl&M>&XArNiLa(H@vH;?9Wa+m7k;vjZy6Ar= zU;!B2=J(VQu^#CT?%s`X#WJ3?f3Cz1IG@0a*$x zDIaKH>D|>}!H9Dk~B zhJQhyOz!Z@u%os3IYeRorfEe@8T>5x!XnVZ{DO??ejKb}d3dEvm-F?Y^uBkL#1D5R}MT8$j zFc1-)DqLJ9i`umH#mY3uPKZcL;1eeOs?LjcMliX@ls#*0PSxx+cI1CGK)9$Ztl4OrMNLkKCPPd_lV={!6O1I;{52hTx9=-Hq+#gdGe zc695N4UYBB2l7iKZ`AUia|QJUN?xpX`V|WGFRqk@2IccrKI0wSN`>BFd>JLwK#1xW zCep8QR5q=qagTfAs7#1k|M0}QJ;ly!$SrM#6*my?C2S{U z#hQ_%sC3ysKq9Gxt9M1?0=Iufxx*#c^s?t7w#kOL^7Z4O(NuI0?8V_T$E< zpDex|BmA__KlmQ^!g4k5OvbuuovcAwQr?*=jL4w%COqx-yfb5wW)r&1ux%|wt2vOP zY!8?4eHxPwU$e)4HzdY=FX%(LJW&~|Jb3$U9_VL0shzIbRO421152jc`()WAYSU%$ zm)oGN2B%}(=Vm`|_DQDcwS5;EdC+-VO@^@>edFkmf9&%ZeJtMTBK}rjY;4|{adWBm2dxWI$L!hPVh8LG1HUA--lw3}=`|C+&Vtzsa8H(>pa%$3n zZ61-q``De4ox9k~?4rE$d&sonBSzv&r}8l~z65&p+?i0rXw&k}o5oEq^bh9Md9txO zd@|#ydaQ*(Evrq{qvw%jfFD!awX;R>xO^tXnO-E$(H8lW#Z$p|Zm8b(n{B6pWxfPG z8Cu?}?Onk`V%`~l2G(Dt`^lWK0~%8ao%*+;K4_$pX(*RI$kYAI9Gp=FUkO5MnZoF7 zGkPAg|8L6P1U{>Iw%nKP5g0?dTrWPlLPB$E&pVGG|2ij8`#yc& z@BQ>gX67vSxzD{^_jO;_|N37=_(lDyx0z5`aMAxjeS7cff{XW*$e~zVgXXn?gULQW zP&E>tQ(>DQ8FZiS{8&QG-3;$ijwh#2y`aC3Lf`FZ_2K9fI~#|mB;glp^&fYgk6hW$ zCaB>T*A(rRBk@*K#*tGq=bi5S7eh(*S@TJ=q?tP0aTG1^*EwjV5jc|^K-&#JIIBzx z6;u~oJYYYsKgl-ye1zpuTN-0V#wgRrjH4yCrRB+|x7bAN%U|1gIF|jR?hhd6cI5y3BHBbq7q*LLOSkF%+D`8N5^1_9wyUNeV!n5UboHmV~FVe5~|~C9m{! zJ;|JTDpQC<({tt94@@7IK)cmD5cGVA}NCYQm_`Twsb zv@+6;|1?(5;?&@&e-<`7qMnk}+d5aP$shg5TPl@h$+~Cw;cH6^S)s3Ub>P$cn`6HP z8xs7pb`_W-8EvrqDzC3l<o4^JU$hY``}>mFvI zqj^}By@WEs)xGNtyGBdw7Tv;;n5?pOLZT=shW6LmX%+2vK$G$eUwSll^rh5**L5Ve zonstDZ#1pAV`N10ENXGB6u(;P>#|fPXsI^5Lx^X!VxAUzNC-R>5V}WIREz<-f3<&a zBVs%L-ercCTGRd|cWpE9I;_!IzQ+bHrd5Vk)P;yyb&nICpQa}94%h<)alvy!csV-} zv%|_!h+VAX=^HC&1+wBS^VevSzrBEbCg$8VaoA6WFPFP(9u|e_Kv?nTwk?Uv(RMzR zk`i}4J}W~!(Np>JoVeS=Jti(3=XY!!F9*Vt{qQc{WAV1QZWC{m%~8|5nqv5u8fGei zsAXPB`kUcQR^nReyteh`OrfSU{g3!v>U!8YS++#^c~@^2){g^LZjFtL_RRmsqOwff z8&ISLBRO~{1oRZKMEZJ-b4pVUcIlw!U_@^Cg%>=k z=ui02RW6z>1fpdLzV7Xe6)Dh*p%3+gm8v^Xp}==Xqh=wFExAf(k`R59eLwILFr z04;A4Y9c#1Xt1~r`nP`--8JG0zka!(gkFV~33`oU>_>3)K>xKJR#}Zoe2W99MWDSZ z^=GV&CBv5iRAVDy>$bD9EH69)T%#=BhP$FyAdeuI9s@(!);*jy^WICF>AC=h@Gk$Q z`kz9UeT-J(oi}(3UD(G#dkrYV#rY$v<`uf=+i$#q;_)(9NO4DH{lxjt^(XSHfK^4D zIG&6+@qNHgM`ZA37_*{vnpOUOe-I~+Fv1*-$BzCJeg4R}joQ0h4aVNZ5k*+xknsEEFD(|Lb3C19$%b8OkfPCb_9nwVY8hqQ4=fs@ zi;P$VSY>y+QI01i`6Cs4hCUrTIQ|Nah)-e7r*`#b9UdInQxWCpy`WiS``Gi^43EbN zT`{yo*9ftLN;YEP7wONB*Pq|2TSP}OiiU5|$JLo`$@5LY5gj9D>Ybcq;)LAzp(Ev+ z!HSHyhfsyfz1{d0k=&c*4j$ItqRi~#3ay{9S7bbKu`ppCADun4GAbw0`R3S-x+G-W z;5AC<2(;M6!a#|VV*`C_jujZ!*_CIgBqh`^$+(KQLHo^`P^ut8)g#Hyh2dnL;wFrz zAIZv|J6Q5}r8eQZ#X@1$nx3e%-EV{Cc=|vs&=SLqmN1@Tn@o36pBQb@_-&hfcdY4$ zgZ=bBrN}VEgm_(V=y5mcd)^3JfG`hfvmxJ4<1U+1WxUAs##s?Z!kH}QxOgU&t4vN; znY0T3en@iu+;hVrrHUmMOY)?^UmNdnaK~c*!pJ&4rYbtb#>IFkkz1<_%A4c8G`ElU zRtFAswDxk^ft8RE? zTdSgN7J1;_zgP%;qekBWUyEv^=N#;Zq#}!qUp4s3z1V0S1IdR&1yJRtM z*IK36rMQ@4NZ>iWc`tf!espY&UaLU#5kc)+gK}AKyiEzkxWGtn=qPtWOScnJ9yONK z@G}w@{S#zqbL<9VbijArpiNDuIlO8MmDdMu;=wkWCsg&#WmJpa{v7-r9z!X%s_>IG zwQq;;E<9;QDYjg&{{v_*kM@8^+RiW9uvBiCFS}05v_}~Z+2gf%oSf+Cf{iF6`9@Dy zAL5N}_~>hy(F;36)1Fp%7Ds>&%cf_u3b3NmS(>%D zXP}2DR@;jn%CN7Oshmc3T$Nos?6I7-U?;6lys}l-%QpA?X}j?xLLkfWM*ZkH>t$gx zj=%!?pL@$#RWEHdB>S0eo5Yv2=<5x=HJ2+(J7tw2;$bW&^1Y*NawgA>GA9ikiT_40 zdx|W*5$0q$Lxoh8q5XY(#7#%=D~m&v1}s~!`5C$fYyr^!`KX!C4Vy6P>AIGIHP4pL zgG12JTx?huaxjAE-tXiP$+m&D3;i0wy+0LTO_U5yk0R(Cuxi)7nF?-;MaTu^10w-+ zj>Q-;i=mGbt0Lj4OR-WpdIz7R`19N2S+Qj38dxQLL0VBOf|waf1@-Itua&Gr9g}-+ z$GY)X$SK~b^>}QrdBJuH?etT#bG0s!>E;K(FDk@B&&q_|Du-(^f`0jGltLd-Q@S>3h6k9 z><`cfw+bVU>#IIcWaVlwoB5L6(rVWXuq&lX3+@x z?i=*oHOpEsb6w`q`&slhyZayAY>Cz;)J8jS9XPunI~p1BoJm+ku@^&MeZmY`c?P_x z(=ZnGekvy0BbD$wu!kjM72R@O(e1OceaFt)=waYU8?bf+BrjGNSc-0dUXQCEj2Qa> z8M`E|4Aag^>-qx<1svctlvKPmbWlS3J$^j(cUhju)<(eZ)>Tq(8D zh6JDzvG#7X%qSdO+5ZrI+$&4QK7vr+QzP`;_9&vAP|MlZ&25i)Z8$QdKQXYmR+-_4 zPujiHkn?$8EAG51<8AN72y2j-wp8V`FKR0lNCezv`ojGzwbO0(BnDgnY8Z`6td8m579l%E@CjUeUHJ&Ho#y+u|J6AVb|&{UOqa)LVlPy zNXY{j_3(`Lo#7fshL%&i5yf`fI-xO?0HTOkLKnuYZxCP})>|97i3(zyDjNu*+ z@|1u#Rp;jMV7A2-%PyhUlXTaF9ooW0=9`k|6W@#nyCB_O2b|1;u#~V^5TZ7rI+|)N zO0QIk+=JKLNP9e7qkKIS%(X>soJ$`(r(4qLe zf%FftyC4C4eyWpM2qWnOWLc!vfeEV*O@*@QN1^A!IFN`-$z~ zRC}sw*6IYpKx5V4e&^klVT*jvU0C}o?zzVl9$oQ6@gQpP9I%=Ue~-G4xgHa1`#*oG zzHc~N-p#mSk{D1 zaj>gY+*=8o5&jcmQiaTN?SAnQNjzm{pw-&SKlk^ZA3u{&ZW59*J+jWE-L{` zR^H_W3*+uxaoVzKc541**Enw6c`f3ra^_!9?nCTw`GuZ{9Ous)TePRtiKvOn9t$vU zUA>A)i-3Ejva5T+QtaxHRmoiq%SyFWzLl?Bgd+}kv%+Ugz~eGt-z_X!AdjZ3MLAk% z7$c0nszCQpSy;(;C(6RTmEBgEeQsyzW6!}a>mpvo93w)^Esg~r z2(8m6t^hG-=iB1)tGn-ly!k8Bw73ezsdg{1g?cO%)mgV7>O;s2^_VMEx0*p-b$4YY ze4jx(*EK6bSqb=zFP(wzJZZr*iDJ;<0B2HMlM4MbdmZ-A-E3=oG@Z4a;=uWhUje(Zyx$f%(BH`qCp7lgVXVswB(l~%y_dUNcjPKssN5WSR$ zoHS~Ev~?JB4?E3gN^z}svh)hrD!*hxwSt9;#F6||7*bF6sb?^Ai}2oCv9BtG zS3XxD%gMQy^V&@AD(v|PlR73w?To$nZt@CF7%@_WMfH(aFo%T~4o3VFxRrq}hs52> zb=jqe=3inj7+#QCSu}c)v)Oexy{_}Raxk>b4jUTQy0M58d%F8VIUfL*C-?_BSbh!u z!Bu2k=yEcZd2yUL_$)dHAF1>4$UMJ>Wvd>WeAL_Vznda#Ae!cH@ zj~AWD5kq~~ad}AFntRuG+iZxDZKznOb|>2AN36^=*!JF z2Gp~aa%&9(CyB5Ny5+KvW`;Gck?by0ps%0AtcAU?6_W6rXzNg$(Pv@>v<+}%>Tyv$ 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

    Sf?WTSh3*tTov4ztAglQK7VH{ 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℞B0k&M~$RvY-Ue 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 z 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 z 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
    =nDMx3g0lWQgM7)hqtd68EJ)IL04c|ZGi;5sz5 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 z-?C`~@-(_=xb>#?cuwwBpl!?6auwANc%2o5$Cu~#UBG`J0Z0H6fCL}`NB|Om1Rw!O z01|)%AOT1K5`Y9C0Z0H6fCL}`NB|Om1Rw!O01|)%AOT1K5`Y9C0Z0H6fCL}`NB|Om z1Rw!O01|)%AOT1K5`Y9C0Z0H6fCL}`NB|Om1Rw!O01|)%AOT1K5`Y9C0Z0H6fCL}` zNB|Om1Rw!O01|)%AOT1K5`Y9C0Z0H6fCL}`NB|Om1Rw!O01|)%AOT1K5`Y9C0Z0H6 zfCL}`NB|Om1Rw!O01|)%AOT1K5`Y9C0Z0H6fCL}`NB|Om1Rw!O01|)%AOT1K5`Y9C z0Z0H6fCL}`NB|Om1Rw!O01|)%AOT1K5`Y9C0Z0H6fCL}`NB|Om1Rw!O01|)%AOT1K z5`Y9C0Z0H6fCL}`NB|Om1Rw!O01|)%AOT1K5`Y9C0Z0H6fCL}`NB|Om1Rw!O01|)% zAOT1K5`Y9C0Z0H6fCL}`NB|Om1Rw!O01|)%AOT1K5`Y9C0Z0H6fCL}`NB|Om1Rw!O z01|)%AOT1K5`Y9C0Z0H6fCL}`NB|Om1Rw!O01|)%AOT1K5`Y9C0Z0H6fCL}`NB|Om z1Rw!O01|)%AOT1K5`Y9C0Z0H6fCL}`NB|Om1Rw!O01|)%AOT1K5`Y9C0Z0H6fCL}` zNB|Om1Rw!O01|)%AOT1K5`Y9C0Z0H6fCL}`NB|Om1Rw!O01|)%AOT1K5`Y9C0Z0H6 zfCL}`NB|Om1Rw!O01|)%AOT1K5`Y9C0Z0H6fCL}`NB|Om1Rw!O01|)%AOT1K5`Y9C z0Z0H6fCL}`NB|Om1Rw!O01|)%AOT1K5`Y9C0Z0H6fCL}`NB|Om1Rw!O01|)%AOT1K z5`Y9C0Z0H6fCL}`NB|Om1Rw!O01|)%AOT1K5`Y9C0Z0H6fCL}`NB|Om1Rw!O01|)% zAOT1K5`Y9C0Z0H6fCL}`NB|Om1Rw!O01|)%AOT1K5`Y9C0Z0H6fCL}`NB|Om1Rw!O z01|)%AOT1K5`Y9C0Z0H6fCL}`NB|Om1Rw!O01|)%AOT1K5`Y9C0Z0H6fCL}`NB|Om z1Rw!O01|)%AOT1K5`Y9C0Z0H6fCL}`NB|Om1Rw!O01|)%AOT1K5`Y9C0Z0H6fCL}` zNB|Om1Rw!O01|)%AOT1K5`Y9C0Z0H6fCL}`NB|Om1R#O`X95oy6(Ysj1Z{U>Z%KW9 z5*jJWvhe$J*3?bi1P=8uVsu$_Zu;-t1sZ&lv5Zm$YE2}za<853R>s4NR(g|&8O;aD zeQ3lk7hGj*_{u01dh33O5E_n8ORHYG4N-A#ol|=_xxNt1e5w`qi((?TdPa0KTr9O* zqfiIzR%I1>B9mYnXSwbru~b1@aDDTUqu4sbZ=3_&W{RSXI^||-DY;}UPjgDXv}zDG z0Q<)H)?MrvS_y?qbSG|d>hB!CwGE1+q~oE)&q3?5_0I*908J4r7L>aUzFoW^95ojR3J~LEDR18Vqyigr$?Z zp=X%b@1MQqpyZcJwvU!B6<#0ysv$8M%Z$ONn`RXEC7(7|JDrx=RE(#nvNgt6Pq{g=#anPVYVL5mCZH@Db>vwJs;B`tS@t0{QhJ9ys_S= zeu%Y8VB3>la3=aQ|^L@QT&ZOlzyLyw_ssT#uO|L#BX zE79-Q*O?~W)Eo3s$?2~Lhg-kpet9buAl7DX`?<_ESVMl6(=lt~=B$^KB>|<^>5tVc z#`aR`@}{pE__bvg0XNLHizt7!uW2jrWOZ<*(K&1n)XoF{i+y0Y(GV&Tz{JXU)8pf% zPsIZL4R>p|@g@_Ex<^aJX{HhWUv@4Nq>?FA?;*WRt+v9K5=y;{(nfzJa%?MD>{!G0 zq|84Hv%iS$iW#l!Ow;o9)rpnW2sM-|M?XI;%+_lV1e86^x7plEXXRB&b6nmXp&v!V zBBD30IciK5BYJtutznox$2f+T1l2riuRqasyxc_vr`Dl0;OI*Y%}lB>@Sk(6OQzmy zZ1q$=g8-F#K2k|TW=8QQ8n_Qa#qtG}8nsG%Te@o)>;orQABRT;;|M6c=9D~ri_T43 zKUl0m-2m*T`@1<0cFqd+dP5lZ9u)h%l#3IiLd5^Ep!X#IvhQ>vp}1K!d9B6~j#pEJXKFpf45J`P1wRFX;wh8k8%(wTSC> zyje3m(LM5mbH*@M>{w7~QtO4tgV}w(_kv#@rZasq?I`v>U0sb*QYfWPpM9&r)u0t4 z?s(iXv~SsSbjRbojbSeRj?3!7nIZ7MRFxpXH2+uehncr^as*k2WA7^TjNcf&J5!^Y z{isHqW-8T`V*Bz(e7i`m@iI&TYE?RQEj0?7ALzZrs;qUbSz_&)N)1}6v?4lZR$Y@8 z{xd%`9q5g}4@Xk)Fxvg>O>b%d&#$#fE8;P@@FGVtQK?zFW<(av zI+Ix2v@}$LwkNyQ8@ogM6&{UBqKzKETHTMDxn>$!WeP5T)aj&;M8RPe$I_oo&8w_4=JObT;v{Bdrp~=*rt-bR|T2>m13`MP9GZuv<1mC4IPM{>$r4RSZwVkTD^IihRFY1lWv=n zWfEsHKdFh0+;xi6o2E40yRIKhH;bf-iN(;9PhO1yCFE&OyTYhah9P$FV@2S%dX4ur zDotSh`O^H7pIgtlbz33I>&q$ziVON0%>;?#`>XQ7$4Y-LwF@dWxb-zC96x)($UpQ< z{vq40cs+rj@=ulX*3vs0Ba<4Y4Q?9^nthct4!Z9yrQlg$73BRn9g7g6{QR5t24({X z*Cb~@2oe3{hg5d7w^5VG?J2@`e19j}PS+#zKgBlFMVR?VimSIlstvO(Pwlzx%a&U@ zakg0Vv(&1R4srh!7o(tD$vCa&_g+ZP`8le3f^vA}RSxxca(!j&x&>nQmPd&%5bNP6u^FsCX2&J@ zKLu>UBuu(PiyLw8s8%_bPOh}#nneDq|4J2Cg&|wimx6Y!c91@*5{t%!@c*#}H=-ek zar_*jNZ~{;)kBoqN8R|F?zY%tA@^pQ*;I9$c6JJj6qEGJ%P=v)hiJcX$ROo>hcYx>ROwvR30}+f{ZUy$n*FR&)X{ zr#HO%mu4TQl5^>=8UCgfw5Z~HaxAYdWc=rN?7jNA^S8ifX0@`{i<W~r^K^r90(EAP^f=XhqWSt%AcDUzGp$XneRsBW5QXTi#-K_aC)5%w?@bZ~MEzB& z=eOGV8RGxwXp>q#i0*hO`{~Bf_FOV~p)c25_lyQn%2W3rU0Kw7(T$HgsdNh5G|2Gp zf|Ssm=tCzaR>p*X0>*E)rTSMcpL~h&rM8P*V0$_jWfh-@?En0@M)`F<4^DhP>6=Nu zf`UtMAlwuk=umXcxmV+#|M{&3>u9N@s;-aXH%;@lN<}+&Ml;{$1@Zsa|NJV0&zb!D z4?V`Zh1ONkqw5kl$vCyUn?;cG=RVQG9ei=`jbs};(YLL-Ln{r=8IdNv<6kwv|MLj{ zW9fd2dvwuJL_y5xyH}e&Q#07iRnZR z&Ev%OQsy7M*&3Xk{El@p?`V=WSZxbCI!9h6kBUlGE4?I~J_q$bn$-0~L#{%xH|eUi zc|ncBm{B~dhrBv1+8vGAN*f!T z>z`jPP85gqhEROxT^=W2+EB9l#md2Y`^!IvCugfQm3sK?<8V0b8#urHNg5)z`tC=O zr#SxNuGR(cze*IN(TUaNI8^;0CXY9aA?!@~Uq>nj&HYYOMUI*g^Eag!F!s(O)0@cE z-=num)}3&m4iYZU?&}-3W%rJx%N@$L3uQEZKK>P#M8@~WXmoI;)y}uJ0-@)i|EFG^ z>?uE&3Z*bPTuq5pA;(qs>I%P-5rBqu%VhZ+QUB>idV|@9Zs%9Xz=0LOMTh5nz952cQ8PRQAcp5i3dO)KFHVIIxWoeo3%g;!GJ^$%`E!9w*65( zX_Cu-v28rOAA(20gB#*5Tg5SsUs^jxc(S{+CS=~s@cVcSaev23I)jEMaWc^~CMm~P z)@Yw;e#^z?oY7sPOC4%84JD%2`P5-O{zD>|i0!vpuEp>>yU(XJ3ZVc0)lt4H6)Hq; z|6~69TILrm)KkPWQcLnm@-Wt!x{Nd_3e{lR4!6n=M}su8tG& zJYT*)I4}tIe{}i4{{==X8GE$@De`nozJE+X=KvgRa(_7(?EhAK%Ku0eIInDdjnQdm zwJsWIu${*!H|u(d!sLsn|8(QKn`}MKD~JtWlI3xZU)o|^J(NoE z(5eA#uxG6iZwB{I*(FSnIB4WzbJ`EUWe-C4;g6W|yLbHDBzHIY!5&>%a<*xKTH&?5 z(0qe)8pU39tT_?CaI%3R=@Ydw2#L!d-^mzhpQc-Tfg=3$mf?R+nd z7|q;V6x-sh+@~Mz7inFj4>SsPs&me;rX5c#9FKzjZ}T|#4^@KEYp-lnPRahXYfe`6 z@84~Xx-tZ1UCXZ+%Rs~**jxu+@eYd?d2nWb@UkB4Qb94diZcHGv%m6ivZBSPfG7Bd z<{wHA+rfDIu0nZku>a;UT8!8WOcgUY7;j)ZP)7Fb=t3f^lUbC?A;dweNoo=SM@P+! z$A9l%bDI^5hDwk6x<}TPDP{VH5>oWnOsJhLFX)Qbvdw$aZMJjyf}gO2*o|6&%o@x1 zpr?fSE)_Rd!FomcIp{WQM#H$SdO8ja%8QCe6n|@r(94w#rvv^MEbdyuNT{+I?j8+i zzb!JE%k(0~j`YKy)BV*!az1guKj?@j^M!WjN$h1bP{&B`9g%){C}%2p@Qz2(WNwYF zeKuRV;H`Wq=iOR~MQP@&qEhrGU(meShdHu={GXXs9w*WhtneD2iJ$m`Ot1d-i(?l$ z{W@N=)m8CJnZW<;7Z^QN3W@eJwXzGfiyi$>Pa`H-cTz~@DiHPm{J5e8^W6*2VBdH_ zxw98i_AehBOU1OyYD#-c5~ul>(tR1qR%>~6!>fq%`$};ZnPltjkXP6w=s1L0qcWw` zZ?jX&SIm1}U4QuenselFc4pukGdp*${R_||JF5&`5%cL^Yc)UmdR^w*@}kV!dKkBC!{J2vXY-Bi?Sn@C z_5-P6oO-Ex8Q$Ssi@nZprg-3gxzx}DfzYGv-RWw%H`q_uS-G`{mdLk6^%{76C zU{(5>fGeZ2nEy0uYazA#h-ag1;I+uTUzq_cxLvW@{9BSD?(sLd4Vwv*#i$SZS}~el z4P+WN`Lqmy#^ZT3tKjN=?Ym|%WT5`DpCkBgwEu}xyto+aU;I9Q)KEOroELh;`f>Ac z|49;Eaw4#g7ZJvaF+Huy?H>wB!T_J;v=_=ndAFCcj&}`xXh7JtE6H>2^ru;?_x9w} z$|HHN%>SknqpMhG!~k~Bkr&(+31I88VHT>|2%0ajt(Yi7tp9Q_|D|+=mabg)Y~3>A zXiJXZ3y&NoR(!q4!Lv97f9H+)Fs7?Ir1;tztL1K9uIt~|e-D&$axMP^>wgf8-x!ag zq)I-1^SFX{i}osxN`uYVbLU{JezUy?_Otgr?iJHZCW0Rp65>JmE)m1PZJUfl(Gv^@j$#-dVMrj((6Y2d>E z!j8(OIXRx4hYONBdPyUhVViI#*Mdnfu zd1PAN*v|Lw=p+(*gd!(~eNKqX|MRRj^^Ts?Ua~4!S?G6j zjrwV>)*faU>De9VLqp59c-U<2tv3<<^lneBm%wRWP}%(X%t=KeAE^J6DI-e6 za?5G<&F>g z%z@3eZUUbWcZvwfo7pe?Nw}Bn( z5N=#6@hs1!;PR4ousb{KYp_3y$rRI_nQMOp>{dIU^EJ)_!G>tc>U@y7z#yGU@Ccdz zPha!fS%v6+dwJ7)u|_Y%C}NFk;X7l(xyraL!vDuZftS1s^rAiDizG%KiQmp0rUtzm zHXgctGRoijKhLK8QLk3%E%TKsi=3i`{DwY8^VM{05;0Ve{}KL|qWB*T=N*W3_x^Dr zN>bVT&YmS?bK4;+l9HXBgh=)t86iTlcStg_cV_n9nPp^?J$~26^ZWk!Jg2+UIoIc$ zbDj6~ew}LVnAqF0D$F87j6%e;H_deGqcvl0 z_#%d{&X%w7y@^QFgs+d7O10C_VsJd=o44fR2KM;BLa6x7&sv(8UdEpu4;N0$sMI*` zbp6JZw_U4=6<}^9es?mm(^eqKOAhDX{!pdNtr_RA9F0H{&Z`l07v>ux$%{jE`iXD_ z-V{On1HZ7SM943cQ(O>!%&HNt)1=0zYRnP7NVmngMO=f*@AV;g5KnR0HE8vVg`r}t zNax|sN|8s$BBp_4K6S}bPGKvHN+`u0$x4+Ue2-V?+zNEBLV5xfh+=8j{{;sBh09RH zQxGwGj275z{z$N>#gN;za$K3k z_fq(qO`)iwULRJKDACu`IWvFqk_>*g2?P@2acF+N`|X0sdi=(pR;2$(L7OH&v-Fdx zNe?d^(8D^T?wSw8Bl@2!#E(SATVL^v3K%R- z;G59-ms0KjOyn<11y2bigV4`hQ%6wT#O5= zorND+tp85cIR4lP3&MV;{9f#h79=Bl&woY6-G}`@uD4hQ|7^-1g?1?Ftuy=kJ;Ct( zJeOVqgMC}VU0%_{{i2x{4?9=$@NJI=zt^X@oCPlOCcmv?61~gTL0uhz$}RH2#a}r~ z99@&nB~FWs)k-_K_s(Uvvy{X<%Q`+QX`rx2*1G%jc)y{3T`I)Ijlf&woo@o=qa6E< zS|tBl==G7YK07^u1Gj<1MkCPnB90yC2q$BMIi&>1{SW5Hy0c^bt<#Sp0;O$95r%{+ z5A46(!3#Pu32G;(&%M*w)+Y(LTJ_Xdop8N$-R1b7B5G#ykIt5S>dJ6ryXxsp2$; z$o%84lp(_b-@WN))Q5ZhX-jQ6V>z|S~t3$-OGCtb%mPm{QRGU@#9xlc|_tenI=er zm@R+O@NML_m`B*NlRf18FPf3Px)N&Xc|ZL%d>{Y()uU{E07rqu_+%F^L`2{B+lLbC%{VFYD=kq<3%?4-XH~%emIzYOP@O zl@*cq%h(~-1s9a4+uoz%Hm1`&FVR0~{-aUMvB~(l?`D=tJO$cd+Vdp`pd zqO+LW`?c)6;nNpLjgh^62H(R@vN-5J>O&i8$#akBlzq80t2wAMotCo+^e9WtG_oFe z@k0K;zaQb9I?F?36Jt4=ag+aP+geI&v5G0z$I)jF*JIv(s{jmM_`Rd3tRXg#5(D=z$~&y&k&;rH7r z%8mNz+qf=&O!>RRMYUpSJRtuQpNi;C^Q1Fs3?UbGO2h7|CO@71>E)mO;R>&u+YSN9wW33ogv@_kii9twQDB(f6xD8;i8WN|X6iDe zk8-@Ys1q96BfaWUqdV!Po|hPO}c>of!6-=?C;If#Q$gi*R*A$<`B3ugx~wg;*giB(&45l{HQ=LaCkrf#{V@f zDM4+ghMni0|IO*MwT-yG*XZ%C)e2&Z@8#`2sM!4Jh7_aKjI-3!{hWYk@=K+Cl>7=2 z*Y5DS{$0-~TWpH-N=h+YSRaUXP5+Tb{a41Dy-zM*CqY>M;0*SE)DT>tPbC&Ms+~_; zqctxPKhzM`D456NGyk`I(pmYx{s)i03b`+My9fFTGL(mU(FL4d&chR;RtQ0T&7AIQ z_Qf+4rC;3|S<128q@2ew+CdNeJ0GabZ{B&hJMn$(3DiT%$oPcMV&?mi~pBNS~U9 zQZ{wJ>*{N?cQ3`+=9YL*iQ6aX>iURNMxmuwjx)VKF0hIJ2_1W<(0CE=vXQralX{_@o1!XWkaw^EFR`X6ZLmugcoS8#=naZ6Vy*qeB4BZ=HA{r z^iFQPA7RlK#Cy?9Jo9-z37^zy3=BG> z=BTH`eq1zLmGhC)_0Ud!$1;ucZ`7PtbR|pnLy+SVgiVtm|D)Y0J@%ga6N20j@vHcE zf+m?>KKEN4-|hTF5+jS~pGCDbQ#&wlHQ3;*-G{9)$9qvAB{AIr->BYiyQ`tl${j^Jj~EWD2;0Q#DK4O%CT zt;RF~Ex7V$!rL<|&tN#57RxcRJq_nXDO-W`b2R5IhfX+Ye&BzC z?ZyiWw*56)UoCodS}#<(x7Q^4v|;=h;(xYxQZ;_mb)Y?{`sprtH1-wMrf{0tT7Jb( z{UgHy)cXhUd#}E;F!{sgB4$R-1k!u@GBU5PhrTT5tuI}VM8*&Oulpxlb#G6*e$8f0 zLIT`3yrxz0jK9|=RtJ9-jQv|)SpQWexRaV54+a$kvS)knekKAz;`GXgB zkM?2zN7P>KE76WmirEiegpA!dPazu;EYsosU%VR^k(LSV(piuD{yF#7EBb0nUzmgK zFzS*VnJf+Z{!q`}jF~!InzPjtxER;Ey+h>=i9;v1nsPOX1qA3%e@3RxmOZ(5mnN~?D!A-xoSl=GMmCrYCC{?iRAGAaNLJWit|15U=O5nqxXa8RLu1QJ8_I|Tb)RSmb=GXdcOg6i- zP%VC&PZ?L}?eui9Ij>*A5xrz9n}4UGp$Go`*i;^!pG~XSwx&1o1e7wmnc(ZbYu>5~ z`#;O?vymAS1-rAh1RjjE>!CtYi`7rw)im*dMEUy`Xn9$*7dun8%m{HjI)hzxt|s1nVGD0Lj3EFqOZdC$H5=y z#Q*%qZqLdP$)FXi`;J6RM5fI#Ie#E06zAd#6nPfINpbAv zj<$*g+fXH00-A2@tbN#l`~&N&#;nH^Z4~_KGc!I*4(7a?9b=`hD`5S9^`4|~%%ptg z!zI~&7N05G;lxm#5%QZbO@$8<}x>v$uvsB;ut~I5(A5UDYqQND~4vxc`Ix z4)LeZYMNLpe>1hE5^{%?aF2MNxQ_!%WfJm#sQ*MF{SSQ?Vd$v1c;)wI<1MgGEN=ct zvW`F3|B(5E_IH%{3N6?-a9O=+DZd2}AOaXJQvZYB|CqUV2?WTkrbx{Lo2|Vi3=vy7 zi*4AVVNl5a5A&}zpZL63!PBg(T5+W&X^B3-Pk(s5Mha6VkTWi`KJ8wJkitr3kDuZ_ zKmS*g)cZ(EsMYu9A{TRaN&RH%4`_eY^j@=&oW$HlEnu3LdC{r2y zr`1@f?3rw+g-loHJynADSUC8I|L1f+BCVdW=8EBW7PTbDULOJCr_x6JvBjc9_g0MV zwkF+4-l+d_FNE5_pk!eoE#ueWzN!{2uj5kFoLL~7b=S!FV0hBWJs)x**+{eOp#)Ne z8oAGlT#39|u~@uF{_hHvAo%x#00;NqcSuqP|8W0}Os!+8VQ1iGdA0|} zLdKpyw}MwMuCkOae8Sy+lnVPl{65bmdL^k$a{XG?i>UXowBIM2gO>j_JyS>i&t)S|uhg-vpXL4+Zr(R5?&NAe zOnyEN5QqFDJ@ME%N#S=jO62L{`pj~+U|LmianVv16FWZmKaluC|4(<%1 z&{g1m3&-TapfYGLZ64gI^PX0P<4>UhQ(oiiD?fg56{Zp}oA4NKAnRW!H#zMOS*H+U z*<`?T`X8xdinq)XBE=LV0mq<(&Qb?n^lo(F&o2UB?+wUJ8hgtaQ zB#*eBX}O8)bhszGJc)~A_u#bc^XGgZ@Xy^66^&epN4$j+e`(au45+BvLZ)$PCA9;`EfSmux`mYn&24xlP zy0Me@dv196-`@$^iH)>0v*A)W|B?7>Pj;?`*zfhu1~Dm){jz5C9k7#cnF~PtKMKR6 zF#h#l$7+8hv(3s~!{|qBz3`k;X-7F#SZ~0KSiKzMMn!fw<^^mx|6%>jo*ZjWt>#~{X)Y0RhnD#rNAy@uZgI0%G|Nz|0oQM0 z*b$v~K5u^Xzoj&ietn!XGVMZ$4y=E+)6o_uB0t0LqPK#=QLDeELu|hsg3oj+m-1 z--gpxU9Ri$ynZV!<*k7a;#|L9&bJmwXE{{g84hOVOf;CH(>DzbEJYOAH;R zVlXO3UB7XKLp1l@kPT(!O#)q)h0Y9Az%a8%xqZ{YoBcwPs|;>+{TSJE|3dCO9OROF z^J8go{dmKfw%o1hv*rM$s<1}9WH`w^wxQ>PZAGe?u90!*``w-xh#|<2Pd=K@>HYN5 zbfI>sG?*9{*C*fnsioN&?YX0{`*OC7nTT5WQPNGd_3$4y*XNWw_VUpyxQhFz(MV>c zk2mO_{;b1g)*M^?-C^ht-imDX?;PA-Y+|X)e>2TqK|8X$nm!7<;TnpA`Wgf!%kPR! zk*YLkwWAbMt^*Y?fM3V7!FRU(^Uw1FEz2(}xDF1*@WK8++G)mh#CY8yPCAHqnt{8=0LyJ~S98Z(;%M+E5pPwEgH2KiO1Ds zX0QtyO#WLXDtg7Ab9J@z7s1qWeYi;w;@@dPlzu^dEArXmV!Y*`x6YUu$)D?EluE4| zM+=>C=kfo@FS&W|lS6{2WVuE19}}0Rm5r^ErR6;&{*4g-kK&TaW+lH`uJAuuoZAj6 z_=87c-V=D`_M~ws_O$-LnrCk$0|&#z{l`!Oi#8*iTJ&l)&uYOH0J;30DAeojHN4oK;B`t+rN2 z2m3l@@{_Zd?kMLlp%tHbT|f-Tj-dbJ@IrhD;P+@5#+wW#LHpYsTBD(BZ!}`b{)YU7gR((L?uY5Edz)T}7eG>65PB-2^ z3H8!-e{baX9LvMxj-j0m2dks?Ro6Sx$3BCJ7^SPxf-B0Ou+4k?utY>_UNO8MU?!*> z4kOjCaSV(!=G1Fp~4C)mN2P_Q2`z_gAqjt@ zFW1V;W0Vgv{@sI zmQg&C``@^}U#y1`I!{@@V*QG#0n_GBXfb4&rCOj>TzuM~t z(jRqCl$rmY;YhCfJ~6VHhKqj&`5%lQsph1Tn6s)!t+v^G9xX?|WJy@d+@0 zFu%xs!!|ADQpSD3xSUibl{T=BSsM%|G{ty<7kDrf$~fwz z4R=7#asEX7j!R*9uW8ePU@Q%ODME9XTk+p>tKNVQe;~QA`;!#uM#^x1Qvzo3b1;PYwIpRi4hI=6~S4C(xkn#V?B9}Xe!J~0V)Z!zvLG4^$p%~Q1d6D|O z1=c^zKa~4#b6%>zN-K8BSbzF3fB;HRl`I$;_y7Ezhw&lpq*v+hvTrvuYG(-UD7!(f zT_jh6`2Vasf@KNHL2U&8heayG($UG{Y)o)bGSooUVg1t{d&2ybX9-<&i{*8O@{3B# z*emjpXHqrsZRTIL%xidJBAI0x@-5e^1Y4Sip4>4n>Tk|-D|Xu)KX}`p&;0#3xS7;y z%o{4_lrDKi&Z&E|`Gy*7aJ%aByWS7?KY^Xn3k2_q&4*?W7RL|Y7pe{5C~Z%%Zq#Sr zyFXBTzW>4a{h$8W%r{@2s&O5uxiQb=-)~Mjja>%$|M~t0`Km$=qeV|T$M!Qr*xkW> z|KvTT%-i$)ABiutM}Yt1i_2E#(i=rWFaMu~mu*>Wj-mc{9{=)Tg(TCk(L6SRFkZ%0 z4{ai!G>~lBko^Dr`ziN#@p_%7Sw_V#-Rh7MGo{2VNul1@_TZXyF@1C-F3%P1Xn9_i z!_kh5TpwN;%VeASvGJ2->0+X9{^}gskUYO_(6YQJOqLm@$A2()kIv{gPj5H_rA38i z*xMksa?y^Ve0{k0<7BAg8)tJ}>+rRRi)3%Q$zDMHchpZt4bwb>`elXt#!M21;L{!h zZto-aY7qf0GM?2KRM{{trkHjiUZrbWIn9A;zjwHR>U$btwJK6;Cd-V*u8nPK0x^ve z<-}(Sy~bV3rbBh%C#y#Xot3Y4#YJKKAIcf6#I#EgM@%8#<$vw#2Hyy&5YNZZ7XeuR z$D^AjFZ3;Z^_HuZzLMh@at9fb^l{jUevXb-;yMvcLY4mnG23;pP~c)Hjf*z*tMMzy z;r9IB&_KIvJ}SOvf5XgL%z5w~DL17o{p+BpR?LeXkS{^Z9_k-cI#36uFiSW%59UDq zm(1zgXRC@bAx2dOu;&n8e*7K$kE0tfe))xurXiF#76s2vwu?O%X~tgN_@uFPx22_w zIwlhOci!13y`16UnS>HW3bI^Ka3*{mV7Z=AF+Z@ahqSjvh;ngE=TEl#R(a$zbB*2q&UM6v#dneXhDfj|39|oiS$Q}U5y^bKbF(Lt5yMDc%4C6$JKe4P zS&V=<&En{WxRn+M18hQ-H^&!O3d9({WPA(i@SuzL?sRL)parRyg&LE`DOC6Jm5Zlo z5>0R#ow^-v_Y5p$S=Y?0wrnU7P~YLX|Jf?)#pBD2BPY!_hFO z{!BMdS*ho@zU6)mKc<_VhWk%NBrYbkpuL}$xy#<%?0C!zHySD-RY}{@b*HdktxK?b|49Ym#Jyb>F9R4C9g=itgH_ zAaFZr{<#oUN*t+?w7gPc93)i!v4tctQm2@?rg@@X;u*hFHIK zZp<-lJ|cH4jGn$-xjv?<;sQ2tWdDW!Pba+}1ru{}2G?H^YekaF_GluLe7R`$-qy8^ zCrEpR{jR^O{M#GLlHCc(@XZ3?gs%wuKm6Vp!A+pt3+FHWRa$*oSfQEv&6>e-`ewMHwVB8%0d zt%`|J!}Y9<+OrKkbB|3Zcdn<=rV6pQuh_0hD_;?OIZ_`RP~>Hf zYg1>!SaF97D|3><%|7I4JMe!a-;WaYXxB=-V*0DK#6!=vdJ}ZN_pJL8YtIVaf8RgI zsZ<0n0;-wP=A^V2ERp2da&KtjFo^E_`!};g%p}UGcQ5TM_-7A!l(rN8$g=)b^(@Jq z`V|U@JSDMXD&QgD{3ZSJ)Gz;^aX`@fmQZRzWc?pZLjPj0_8GhSLljn}|#a*dXTz0x4*s>tF9kCJ2xuH$!&AQ#J!j|`H|12u|_!&%^2DYY*B zZ~S8Um(0pZ@W`Pk^;tkk)s}Ef*;M4UF{fAQC=a?P9`7;fnjaM~{o zp5oAYC-QKV(thTD@z*PI+-Q1d79FX*_ADuee%#G+zq{7C;p~6$ms)fDm1?;ju$FL| zvq;Th-%odFHvKDd`+xBli@QIc$7V1)b&O`KV9Cy$o28!$TC=t?)`#^EW^ULnbL}E> zJqimGcbMVe;+4zS^H=V@K#i>bUgJe*&sNXp5N#inqT<~wN;ZIkXo!#jqW{qj{&UPN zkOIY8I*U5q;Zduj^`TKoFd1Coh>-PvI=U$m^X|be@V|^EP&J?+aO8aN&s9^AoU;x5 z-#7Svkp6%7?|q4M*V1a;pOsKtpY}--liDe~>6q165#H8!*G^j5(bIH(VOmACVDZs ze0Dg0dbwH)i2QHq20xmYn`bX-33a>>!Txcu!{#*ZR#w`WXX+mf1 zts@(XUY8s$k29FBpB)A#>HoL>d&R;El(MYHA{+zrSV$xENSOPTE{mG3o-O^i{!eeLu7<1k_= zyJl_o5fuXQ55Fl9tI+Ir@U@Fu?2!YY${PgXI?ppnt7y(gt7(cWVzA7X#1&5cQ zzL!bZF4pKRsyF#4y^izqALc*&ro~9Z{L?&hM*in;1$vWItN)Qjm=F9v|IL56jp5vM zf8S4G@!+b_Z}`zwTCixJCY_)E$ozxl>8~%F=07Xnbop&21BUx{us%;GEA1-(oBuC_ z>Kie}qghXq4W|7B!luaw{|QOR z_@JH164Yh;&XK#Fw6QV4n`>FO;+d!VsdafP-r43hV_smflqL{lyR_GvQkF?ZTNZi^ zh)v}D|8M-fclfEEyhCIq(}5+@L1ptxjb=o<+rwv{P!;jUGf=wG`8h0nDe2nFSiwP~ zO7}2v{S&S2x%IiBiIZO3KjEwZg#D?)Ei%lz?ozj`jBPR85{kZu=zj*A5fZuETnyGw zq1B!#?h0Xg+PKnpGthc3fod>uz_7mLZNlH9t|S=|FTanZV{zUkH)J~ys*Y;?r#tk*)AblEg0gLB!|5i$0o@^#5 zBmDpN$6ke{?di}9f=}9JZdv+&xNFdfwXNo7@^>#C;s2RiGI4{lTYBLNqP*|inRr)l zv7FdzL7UKH@I}rT{C^VEytAO(Fwx; zqb5ou-$rESKj|rSDlf##){NDyRr4;7&(n!oLHPfZ(|)eff}KR=j;+0)K7!UQeipX^ z3Lh!jT4v!R{6DH3<{t_U@q%0@9bFD#PmAhct%HA%o}B{W|0~yeg^~7HOh=czSS+@o z#^nX`>mV+(sh1%9KWaTjI;b#RzTny1-;(|lL9M^)9sm9)Y9dxdg#SN<^&eCa?d)Tl zW-tLo>*+X6W8pII3LJ|wKe!TGxknwXx*JKejUw{vWlS%M}#5ZBe}(IyQMl=GqgIuLs8LJ;)s` z0O9}tzkluee-&EU!mk=~6{k55wMBwVvx&?Q{vYK(W4zV(`KmE1h2MpHEZ?4~YtFHOnX$+%+vtyWLHxg{?F@#XWj{PZnLoZ) zv^$O4pa(izkliNLHPgk^RKUx zmH&%*iGg=t&&n^Rz~CE-h2p{+JqZ5~{zaUkzFaQtP`0~|2E4E({ditU6K1PJiO3$| z|GE3Vy9a%n=XkI>R%zq&!t!+Q`?v0Unzy`Ns_p8;p5zwvtctR zZ@%E3OV3ge{vY+bQ1%_z88>t7-qM&*)mSYnGg=_)o&Aal!vAls_Y$Am9i#d2_{apf ze|)*;6Yhz@$Vg{&LWQjVibA_3O}c-;|3;HN7{6%}-2H*m!4UMRA6e)1ztI((!OKrt zM*f75;>d6R`Q0#&vBm0>d)?4S4&nb{{Ibb>_Xo0huGM-Z)a)a)ei%8F?Yz>k5&j?c zU*aV`*_XKwMB}KN6aJ-qYm`FIi17cYibB~XKI!5&wRg5gdvIIx zKsp7tO|p)sYbe71AJ6wP2Z3%a@d?{8zzfG3j~s0x1rE77Pi#TN|7WsSh_kFoTWWZ6 zywTIMd_P4y*z)_TlcD)kvLV9%?~g8ApE7Xr(^;$W_%YMqYv}P|m;2YZ>Vov?2!#Jf z1@y@V@##ZBS-idyowKkK5Zx=CrScZ+yE6#?pL78Kem+*%Pl*+FWJ9mHP5F_23;oQS z4679J|FZR$sVzNckLHB>ZxFGwT|>cLLMrEJGcasj0R8Xw$!V(UM+2vH+UEsw@e~r@ zjVi_bh6(Qm4q&LyBK-e({E1m@4?dadL}@rVH^$~d@!20=NTIV8;s4L$5A8p)G`gyp zAN_kim8^Q{o58%FRK|n2|Hc1}5j@9|t)669KHIT><7x3d%yWba;s0U(#~Ea$lm+l6~pdtcTSnsm|oaFr6(`ed4$g7AMn zFn)OKz>7hAE&gzFUrxvhE^P?@hfR*~|ESJ%6lh`(k|lDDO7h4DzlygpqJs)rEc((d z5dQyk^nj$EmGW7{!{gc0cw8HP!{YRyacB9ahWS8*|ECKmltnUL=T9=X)%s}2o$o9> z)NxIFaTrh|hVcJepL#8Wh`D&p@@Y2n;m=B@tE5>u?$#N2>(Ag=3_eYbR23dvZNVSK8*aU9brM8YM zsM2dFyf%td{r~e{*89!LNnmFqF(|MQ;`fz9Flk03Y8?T?lB zL#gt?9sox~*8iXXS6W5Si5*&IX4?0pR#^BJq$yyJetClM|FHjpVSl1~$yecnz!d@2 z5=PdK4f4_yrdhXX5dI&De+bFigr{07m&%#58cQqjms&^Qr?{?JApCz)CH($P+XTG- zQHz=767}`qjrnWUCoKjn1}zBx5BmrF?lsGr4ef~f?w0syblH+3{{6CCe{g1Hc z2@TxPeH^j}K0AS3MvAW45|A~7|KG1i=Ktgi*Cp4M3YkD^R^3gSg;zVQrOgLr2>*}F ze=wZZzve3seertwia|>P?K6{WUKSpWaUUo#lq8>%$(OQcZ4 z4SJux>LKU=QW74b|DVU7ulq>}R47ZkC!8lo`P=xHZB6lbFY_Yxzf&as&l8`gaf?__ zfsCUZ=_p!JS+SIktfVF0WU@`8!lJ5j^MD%41g#TZi?q%H7 z{Lbz0bMy{#T{7=(77_O$VL15(Cc_Sd|3`I%yR{0u6LI^hQ$^`x!sYTknMbx}fgtBa zdo;rT?~eAeOh2!^Y*I}m;=Ew8)V^Gk8XJ0j!VWXo0O9}t8$Y;v%zM0LUSCPWAgr$a z+q1TJxSAt?@c+jWIIg}zQIfVMy+!!-&K1UE|0E zaFo?GC2jPUD+LIE|L;`5N8ZwKJM>?SSpJUIV{@gMJ{67#P zT1fw`3+23qr)5OU$_+=tCEiOfgIuDmfd6lT+ur^i*lzKRbBm-qNp495B!pvLWx7}J zw6!1j|Mo}>bUWE?msl~$LLt}hFH6>@q6PMBf27=c`pp*3f7BHgg$#RJvRF1|m-74b z5h+i@$@x_RiURy@5wpVij{z@~bV<3q%%$VIB%}rZ$lyw`^r%v4Z5?-wDd7K;Ty@cL zcW#T9u}*J!(isde<4a%gTv%Gw9~^s~5Bz^M32t8TrZd>KOHw2(`@Q;I9{7LJL^SEXz4FT-qXM!E z{9+t3;g%nU?Oa-{g~n!cf&b5QHH7$ITGxox}ejBVgpeGDjLiH*rAlKnDP z{Ge|J`2Vm#WAr}IoRAPMCF3-FznpQ>_|nM%+#gTASpff!a%ESnw|}AIJ{d;?QM6%H zIx=whG$%y|j`f?s|3m+z?K-?ymDbflb0~q2?Xd>Kz|F1>XACm7#OwMa$zsPUSxHJBr+`L(P5%~Y8C|dCY-fOO+jvL{1 ztM`0G(B?nig8q&8+}45rM~U%1^|pU_K@`qxrEnT^iMJRoAq>uTI5O>af1v({7588N z1eTsAEupsZo~#(JsQxNu<$o;azybdMm#d`-6jOTpt1sy3pI+;0@@+*9`@zqo0;KxD z|Gy1XD_)%`o|;h;WLt%jvjg`Qu8kH#U~Bm|65(L)Z$35EpHzO zX+9fhzY(&5-_=4z3Qr>KRgxe;)Uhc#*ZM^p*ojrveB+3W@m2l^_uA(^UOO2J0sbH2 zuh0xHsBJZZh&cIkMIrhnf#B_;UKB87!*KpX|KbN41nqT0)s4e69f@GWlN7QG*r_2j)RIA1hM{PaZ@~Wt)a#yJE z=EeNJ8(24hQ6dBWABDPPvd^y;{hk;eG2!>Jro4j{US_>;|NKD=;QuibVgIvuu$*@N zaZ}OL@W=hhy3>qh>Fc3-69*B%|Bt!?DF%Q4H?+4Z&PC}rrE2Nnvcpi^DA5_22maq@ z8s9wg60}RExrZpx(BrhuoJ_C=BhL?&DFFYEa-~+EG=g@xkYG^V>ta!Fv8|8fSRjG- zP;LPKf4=^pe{c2vz92lixz**^C#up^BwfnZ3Y)oPf<6}hoJpG&ZN{r8N575U7jEJiz$EjmP@Zp4)}i*yDoNzDd?Rk zZsUOai+eeQ@%Kr(QuYVXV^F~V!1{RQ8rV%EJoVhxwMv@Gmz%;Qu>(bkSW#%5NQ-KHXx+`)r%`ky~h2 zo~=DrwU|Z(_1bPpG|oK|BrHg4Q~fRJ3G99wOxC4B3AL@{heV2pm{x} zfd7a2hZmY|e`X{%&2XQ6OF%Ap8)xz6hcM-{T5)mU|BI0Mzo{H~$EN6R*T+|w60<{8 zrK)df2#NSX;OM4=)rcM9|1j-jrz2$-8*HaP_D=%-(qh_&=2E3&+w&#VIyiIUK?L~Ji+0}Ti1X{EKBoG&Rjk-bGsoz!2cuj z4;i7{fuCE|(*zi51%dgM0-1-#T%|QXf&c&PVS|ic z-6)U_7 z9$dLqC&XjsL!y`m{J*#ii?cufB-zW!qoLcTe%8+x$20^n*5$bAW!r~={})Z5C0(X1 zy{OaO+L!m{ty-F6Ib&gFZf)2n!(1}p|9xE1*Oo1_1(aH79uQq~ecA8-NbqZHj8gfl zM1N!8|HFfH(W8%o-*6_1OGFyuQ#&(Y$m%%{&db2(_7(Vll=?NNFn)Nh&g*p&HJR?{ z;~dIxizo(9I;ju$KLGzPnjkJdBCvGP?VVEBhZ|fQTUZvMEo}C@>7fIT2EhM!yW*<@ zZcoZ-@LozHTkv1Fm7uQ?@^(~Ty!KY_6FhAP+wm%C6ci{(C z^C`&xWQnAg`O7KbgUwV*zF~lkZ=^py_J-0OVK_kl|L^--WTaKB+o&tLN!t*0NnOI` z?pol}f!1E&|B?M4>HjJd>>%v}oCj7X^hhavv`}Yh8~A^pKz#E6OK7LO`(QJ~_ZH<& znQGZI73?<}fq20Gql75ck1?PfsfgG04)eWCEX&cZ?3Y8BlD+f&-yz?uol*R<%*ozb z``q?W-7-gTFmZ>1nOh<7{{u+>4<~=mPX0P|7&yR6|Ic@Qty|%;IO@lIuSLWzpuP3Gg{ESu;Y68zp0}yVdVH@R z0n-1J7lYAaHTQ7vYc4vo6*tI67dQXxgZ>BKif)DdVh`fT9&LQ*TTKjv7 z7jF`?zTWr01N?t;=oNH|eOs34>aVZ2DU%=kq~X^2e(bb$vb4Rj2mC+WKXl)bXJTLGiS*_Y;z4_UVl!QlVPlF}uqaA=FTM)c<0$zjRj zYfj2<6I{>t9D6^>`~?30-$xwWbo;jOiyS&1oWAZZ1vQ$#$8Wjyv_v7|w%YmmPX*)8 z*}TZf_xxu9p9-O1i! zT7Q6>&K~k0Kz%q<1g(X!H}L;^rTD18NM^l{i|yVI2We>(NK8II7VJs3o1?`sNACX; zq#Az_hw^-<(PWsy$m1|2l&vT87%{8S4?W=jVg5zI!Kv5wyIMp$0j8RkfqFvTL}@)- zVmcZ4|6^Bu)Mx^;RnNA0#KiBwfr;w%`_n9jzp7rf)XxC_pOmLd-QdM+G*&GA+caz} zO5Qz-lJSSGp!;-Pt`qS8C>;vgU2qVO#jwAgUI~0)x>}ZW(|XxfPCf!2=-WZ!kBnb` zF-u6;Xg~eo7RlfA(xS1FY@cn-AHe_DAoCxIi!Y|$H2oTx_|3|r!YE^8QA`Vebx5E9rz1b`;O~24e z#IVW+{6Fmfh(k*BnuV{~Ztq$UpZ03VEY43i_RUYS?ZE#-{)ZYZyGlTP-AX7mrM+=!#(DmSDv!jyNiFzlqOrlOd7buQB!T~)`IOfMToT~_A^-DO=`dEI z=CPww&Achz;HkunBjrx#%l0f?9{7Kx|H=^&(c2stW}QVE7qBtKm}3G-HZgxQM1KSR zzZ&U36qmy_bQ1Ir;%nGEijtyQq0CAZ4>PfV{|Eg8<&QYjPLF5f^ly21!uz*zpns=1 z7&V0f|BsTu*N@py0*4w1AQxXGhQa%{A)tQ`1hT$Z1^yrUr~lL;f;iCh$SQyuKn4#DZWxMsEIB`7vw%hpEYmb2c-|}@tRje8xA|b-8Ph+}``so~5|;lXRo?0`UK+ zo9s48z3ANV7ZP(AIS9`d%nSg=XB=YDF4!#BO|0r$>ld~g{WT?;=Jj?rA)0v1T z8>Jbv2=}uuPEgkP|M?%Ej@I7$)Ai~76#^0~A>UD33-5a?vB3XNxfK2*VG0IHeFlx(N9H{tyh&1)e z=0F8``Cn}GGo3LvnJ?XIlzi-PB?A5*^iOgBRi`rCCx5=UPs7VDSFXsqq4V+&JmCQ( z;Qzgl`Trv8L(I?1+x7AFoxRfqOLgf`m1^goZ9TyMw+G^*D*9y;p+ZI_pN@5bk}^#b z^tI0qW}C8=f&WKovp@gc%lwy^*Y>0_TD`?+J2O5MA6x?WzoQ6&|A+HeAn?GcjG6LT ziL$>`bMV9A1EL`Z-sJdcg=ygbK!1bzm(6{XUrHQ?z7t;N7!(TRH26)bvDAS71O1J* zvPafiwLAV1k-I{r>|9?GR{R781x1E=Ch&hKbs?9=b+^(tIVWXN*Jzc{8o9S|`5ffc zmis=J0{<@-Cl0@7NxV0)7DLU9Z*$sN!jdq<<$bEY7yP)sbiEK6KlHCTC}NPV7buf; zQ-#huOx%64g6XRS@c$hpDWko4AeREd zV3Oo?mTA?~b`9GtS8=Rjg%K(+1Hk`*{vkWv%baME_&oZS?Bq%3nQ8Dp>ZKdmH~){W zuK=iO+qzb<#kh7L$8NA2u{*H~#lY^4qbPPKcH*_W#qPkwR_s>n0u}WiW6rhS_wMul z_j})aUI+W^z1Ny!&N0VY>ySN95uE?Oh5V0iNUSuzX@OLMnPY4^erHH8o(G!d9=q9L z^#4IYzU~XY@Gw)%Qt|!jjp>{rTd9$&A%4fYmdc9r|Bl?rT3*<8#2p9LkB^TZr&pDw zS>BCl9Wb~s%-BLW|L?Nc72oi8WWZjR-s4@C7(H|G&=Jwm=m3 z1$SK*Bc$TeZlCv$3U4$iW8Fi;uSd^9{r@&2kK;fXzM<7;LgF&+3lb-3{(ADqLHt76 zbMp%0{J*ns;g+wrJ+HL3;j{BQHq3nWlfS3j>gsJ9DjIxcgrn#m&U>Q|EbqgI?it! zmC!Y2kxGZ(wR!&Sb@BtXJBRyB%h~(KQS#rT$bchLuQzo~(0EndWd%}?h+Qyy^&Ne( zO_-Lt&r+QKkB9n;Z}2PPov7Ta3-1aQsj?{ZU)OphzEC=Aen$Y#{|D9R?uld;)1z(B zpuT6%<}c#=Bk9=`@$wJ4zq)Ks=T?? zYMlRfRB-G2arC8z9z(CL9d`8V;;kJ%j>wuLaOBu`7k?eZ`G4>~%f6|Hia4qtfBWU? zxAjH7KHa!)?DhI>OHMi%-|!#z&spd1bd8F2pYyZrn`O7rNsh}Oa58$Y;s1g!qbk=~ zRH9^X?swOh4v0Ft{+xcpS~Z;icho67^x?MqrLo%>i}rg;JvlsM$Y%c=xo6dl_G*Uy zAO1V$|4=IDv}#v3*0`BIo8S1pMYm3S>=n7d83O%}^&cMi!0E=tbyDZg-@5kl_O(Py zIO6(7iT}s(1AcFRn_2ZeD{mf@CE#W%nE%+J*ADA{=)bUo`T@QH4FV*tbK}k6CgYDT z!8Zi(D>C5!Gyh}!Q~91hcWYKE_>>uH-S@3ky;s*!b?)BA`TsR_ee>|R|A_Q8t|v^^ zCb`G;%lq%iirnD`fjIyF_F6ojh0}rK$j{`Qg~}h!^x;!p?0hp*g_$Ncp^>6N-$?n?8W6uLvmYuNw2lsbhFf;Juwn8atOiBpbu;Y%>BTxGFX#QYg zzwtQ#f3QIZXVmWphgTLp8D6H(gbxGOHT7J$uj#aS>4r3VgY*C2_M~uIwdujdU?)hjDk(5|KXL$*A-O2k+q@RmEMf|nJc2x!I`ju?0<2>e$>ZV zz2?@~(-ymE`t=(3&U5TXmmi+je&PJ@DCB=!|M2LE8XwzUJ<%emSJC%4+TEc}Na49P zasEFjD6?b!)dxS0uIxDO*`&R_zHR9K;5YWa24aW&YMlRfF|+}aFgCuI_{Fy>)P6u*SJHt(zf~!asJ;C;O!qhYhqyRLT{(*;{ zhRyRFGvM|2k0)^cKPJARCiLj1EyYS@DOhzxyN~Z8uiUNOs(X?J6<%)3j`ROZo$U&9 zGf(#Vk@)V;P4kata0#!Rwf@h0`~Bur$NB$h_q-jemmS%bzy0-~-fNDmZ@Z!Yj#ZcX zC&+?LYQJ#)-_f#7si;}Y&u4GHv+Z z|2d=I!93|aDxJPJCBu+I8%Ms&x_EZ0u*cZ{Gd0g&jqv^}I&O}fw9u>eo2&N&L$+aU z;h^*M=U|-wKZp50`s6gfA>e$PE_LU{bv|8HF6|rqvZ>S4d$az#W~=`2-nS>!FCYOG zPnOUbwxjUSl|yP*#nKJ{MAWIxf!0mt*9vZr85N$Tuwf5zhZdj%v`ndQC@JN5@_hmkzBHlHhCW zotei@Eb15BWPfFx|91>4ovv)9$_|G|0uMJ22LwUom@avp<>WJQ{@)uJ3jcU`c(}F- z>X)K#__!=(Cq$NA_i0Pg*1vK7e`Do}E%>wEUbn92sWrCchPJmoM@~#$b9aSl!{^}q z|D~Yj&WcW9`O9GU$pwp^4fJjs5Od>DD3nGx|L>@jELAgS#im&0N#j{2{G8{o*C8Et zZV4Y2u<&3B@IU@yN6m8OvU<4o9N%PRW0=NoK8||scv5WL+V#ICf&Yh`6&(&wM|R)P zMz8%}g{=7fb@yj(?&23Nm8wYnS9aL2(hi4jWUosfHXR-xtNXjBk&Tka@f`T{<_Mhs zFI^{j+PKb&StMmXp4&bkd~Cx{(NAl)xWB`B80Y`JmdO2Gd#;V${nx!il|ouf^6i}K zz_`yHL%d4j{QqcY`4*0RjuOswVL_cnu8xEeZ4F#B1Q~9xjEqM_?UG+#Jn~%<%(oI7B|QF|63SadWZ`XblZ4$ zyK`#go!w$o;^Eq<`O-DQ`TtQ9Jo2>43>>?QntTcf56S1*@ou7rbj$}Y$N7Ipp)ww= zovmYW4@daZ9GU#;Au4nkJr{68{u`BqNfPHVH5@vOHWxAOG4Rk>%<(8BKB z=GVvh|7ZjU@4vU!i+vA{?`+U~Y*1t;Y<3&?_DM(zod4gy0zcp*9^Rx5V-MATnB-K@ zrkmx?@58SInvV1TjvUUcc>OlAhIQc8rWaS=6kZf-#Ar<4pfIfec`eL{5Af|dzGFyk zzmMT_Yd0L}pLg8V#$Do{E|DAO|93bmRCDC^cHElOe%i{mt5+e5r8rxn5M`d!LB) znfGH=?ktbf zZSe+XY5(;5nAQ_cfk)Vo>jwWnXFU!tqQ3}!16b-ddD;nmXG#9o2Vt#QFaQ<(f2g_-0&K ztn#-j!EPZ1Mknc5?emXI$lrN-SHk&!uhEs9&i-xI#%}d$q=yrI%hZ(3`xPJmHs*<; z#dhNS|6M0?7s9L2*3y~phe!799`56f&6PO3o+Vu>od2JE$Jbez_@vaS2hZG4E2>t5 zNH_DzayYRE8kf0_BNW=|L2z*A6DL5Qy{SR^3gjPexq>yANj9*%QkJs zcbwNDWccByhY>)Htb^#oIMR?=aQ4M(Wd`lLb z|A)iJ@r8vw)2-U&ma9i5`+F;PP2(?KTnfSYe_RgS`xcjIj&CX0HhgVlm);!^A=oha zfd2n-VA*LS4X-0vBW#%jN&Kn$G!A2qCQEk}G> zEgyM&Y2RmW9wE_btnsPk863W)&Tpw)a0|XXksI2jTw$=l{KC@%_t1;7bU;UmD*s^n?HIzwY`B%@CR3 zWRdtd{~s;%N3Iw)(cf>*ga=o?)Ga*&Tlua}$&#u)&i{vw!~1bLtn&K0Zx7v?(=Ab) zX2o7$ISk8Xmr>mut_kBoLcv0T1rAa%~d$Uv_B~jE^H?MC0(! zFW=!zfP2S%TMldw+R!%64_BQ3U+UxIaHMJf`11brjWRZfcAZxu#kSb-Q&*hjQQ_=s zod2J_w04dB_$3dJ=mVFRnD3czb%hHnK2*Tz>YBUz;rzd&VWHBcee*_zjj1%dP@PLB z(#P!Aacbio_uVrV=;w*^|IB}Q|Io+Nn;hL10NRXq@0DZ3n`~o42N%18>BakF{vkoX z1;$QTFy`veg3qd@WGjcwoUcXy;|I{9Lm~{HT+(M%l8_sDE@gXDrscI4sZ!$nzf@OW ze2L$=!;f4_xU|dJ4%Ok;pnkQngQPa~zr>Ft^yuX)hbMa!Y#TA}`r$@Ha)xa_arWy* zoc|9hU(ey)W@DQC8G>qLs`bog-0{nC#=0i%bL!R9pprQM|9ew1=O7lhmV0XK$~iGv zK%Wf-Ge52|J9+O@PmkdIzoT41r-%35G@jM3%=Kt|Be4C0$*W^^-yh|?HMR13od3uB zCm0rMbvC!Ur*Hi2fA;K}PT#i%&wlATy-jeOnmGTz%Q?J-cm0KF5;e>CSBiYaH$ESg z<-?a(-(Ovwl091@od18iu~6^ad5Ucc#B*ED}+DK``Dy2Dw& zXhzvV)_SQUrvsU&Zp=Qrdr77_jr0HbiD50ve#>4aaji>pN*AhsrcIt0HwKm)eYs!K zzjNXI|3PO!6;!tZ-5$>9)Ns5{(j8fbcJbr)-R7?QY%|XPAK32gY~_U=I`_7;JbWpB z<}4>V`EhS~HMAJTasIzaKwS?o?H;o(^opN4L1aIHe^0UnFayL6a>^Z)Y$d{}*p)n4&e`+!&L&hGAZ2+6k+zVKmE z)yFvhzi?dgfR4l$6!H0TF!V>YBTv8YcsLOrLQRUtN9E zs?z81TO+f!#`%9-?o5px7VFAA`toY$_m7k79m_r9@Z_WS2R)e-7w3PyCOMpOy?=LH zQ1#p2ZFYXxU+LlE$~|I)56iM*&!%TM|37*d(r>@LwI}7tRp82!{Ob}W!!MKQ6NDZ2 z)t^nl`TxUHV{(PmIVoL|7-4$l9-pA?_(&lT2Ev6~mEa_6u9%M5Q!jb-mo|zf5PJtYs&aQ1X z(`8UU&z8G;J$U*J=l>naW8inN-RgH{e}{7inyf1HG5$FF$IUQw@Ub*3a=cZw!=Ozp;GR@ly?d8M) zxeDX_|CO6APVbh)Zy(B&^X<~>$uoZr2}+1x$Cr)2|0k7WSc;}_h_{1q4OY2_cpW*? zrOW%qcZUDOkbS`U-xxvY(6T;Vo^trQRM|ViMf7v)Qg(IV{epfmj}OCE;aQbxbGO5+ zcq#k7U69q8y7{fs{djb*|EqT+`{Mlnr;Q0Kbt9g?)!Q_6^Rx`FJF-V8e*Y1K#LLsn zE>71(#T`@mb-`{yDZB6ex@l(U(`m`@JCv{jh4cUT2@hAQFE7tD?qzGuY*6jym4=lo z*NPeUy3>L4|Iv(pl$Z8lpPpR^iF?0ui^XfDAFVO5$yuELf4@GLvkmc=mlw8t+4fGz z-iMo7$5BJR6VCrL|N3GNx~za~DL7zdo!=9&MFnX``+4C{^!8(Gqp>K*3 z;QT-1zf~r2C@;QUd~Z8`m!Nz99)pWugWJ@&IRD>(ukTp6 zg&QJJe=EdJnEgWWBd>=AWI)Lv|FKCN<>~SC0SgDb-5%2C#DbnvzP7q^bJoeuJ@(`L zf3(xf+q-$xq-jkm+-o(icIvs!M_pT9VXkXXrD-jW;rxHpZcnFgrKqo?a`ZfP@mNOJ z>S5n@$6a?_e%($Tod3_))U#nC$MZJ_^QI_S?``>;1^PbBkUB%AD<#n&mc{vhegB1z zw-#{>x-W4{jX|Mg9GL>lc2xFt$)U#n+v2|L@@q z#ijhhq4_mAhR@DgDTC|H3dZIdD5PUJ|Ihh{LyYf`h67e2Mz=P{CZAqhxL@W@;kyDB z;QT)$6z_lZ^2b@#C&b4Y`5yQRir?8s|4Mu$@erK<*ZGfnf8tA(ki_+$veji!U?!f_ytepvf(d3To3Ja(&v`eKlsI|U`HgETO>Oi})49~hO$7wulUJc+;W+>~&_?>Dz5?6{OXZ|6J8e;lammn&bclr2^k zJ$tpsgz)1%6NLyH@HE%(+{ct9Di(}-jk)$WWTDHT+=qF z6g(Eo|J;C$^Zz>j30p<1D44*dP@m7Iw`6ZzyK>*GYlFW|Zie&!(Gq`nojR|-g{?|5 zZ^!GF8JCJ7d;h`#@E-yl&#$lBWK*m8z3^o|E%5!fF^2BgQ~~Gzo%NhCt3~_-6oL@9fx$xz=Ui4g2 zGD8~IEcE|ein|YvYSeCl7fR-ZvkyAl8B;oL^^hAKxA)i_fb;)}=6n0OA5R#tCTGdw z9qxX=cDCW(9P7sX>~pSrlXpwsAIA3~JU9|ud0nH4MXJq+m96@$oIRp%Zf$pJn#0|# zWZ$SuBQp6}yz`Z@`38M>{OtVR{-HbgFU__;kbm_0R0;8ad7Er*y~HhTvdk67c{;yc zejzt7c-|&cGo~-v^~UDmcS7o~thuY!{N(cS`uXbzoSR>`%9ISLT}$*nIwnz?{KN0e zOLlX54153e1Kx!1uCsse<(_6~n z1?B$h@nnYr?i~Pn1J77y==I4ZdJ8OgzkmJFJ@xGS18?)_3EpR9miA|6#l^cG(GK+ozLwvWOcTj`0QT`}cc!Wp$6c`x@h=kN#bKR@}rHQhT)6Esw|hPfC--Yw)L& z8!*48rg;zh5&7=^p@84_2HE*1-gIjPT!{y38B!mUkhAVmcivs@4;;6Cfv@n|QEdip;603QXYP+r3;6vT^E*3t1HLIk!A(a?-Y-Ar9Iu7wEZFYU zCSUx(uRAh4a{pqr_F!P}ydzyOu*G}g_3tf8Tf)x&B;fqB{U~tb`P=B5GW_OxMDK=X znBPK`Cg4999*k2iJO8+Te)8D4d=MXd`$u4izF>m92Fvv7_1(XJ2@Oh!`DK`et-$cP zml>MY&i|xh-8rhU5FecAL6??;V7~hp9s2&ox`Q2yOJjcVnB_U47|`4C?fm2V@HwvO z3L`#lZmlpTk^XpknI6Vcw_DpgzU83(`uXGfWd0of<-%gaf5k5@EsHVXizBk*V}>{R z;^w@+;COrC1SV%oxsh2UqzwNRpOT??o&5-+F?ffM$1y@ZqAy7R%k?v}ceyq(RbFI) zgFQw$~U0zT|KGbML^=>l<6hoXh(GXV5g>*uo5RZzRHn za(ja#dcp$ZBq9+SPfnLSd(Br%q;C+yno0fh5^EaW5NvonM)+(e`9{@ zuf*^(Ri}(!!0=yjghnLdk)keFJOK_E+=D*nauECu1D_H z%=Gmfsm7V|A*IaqOh03;EWe!Ow6y)-9|x|K)lntyqW;B&t@-QhlDD zooo0{yy4mgsHlt#1TB*gKhf}C@jfUJE2?fnSsjhf1;f@giXjgm&({#y0WaC^&t;;1grA5aN%@Op?IW=qR|!MkFD)2BprsJpamt3}W#ZBJPK z<8?WzsK1GjsAZNRVq(O!{1+U&0DoDgS9E~(Kx7qc3G7os1P z$gO`9^Vn0uyT|Ff3=f+M9Of1vuuK!IwHABmGl=%v?FZbE;suz|iTLdjz%u>8mM z?x@?)ANWw@)vF9r2rl zv!E44ZEUdo7o2$y@qt1Mfd>tPd~Eqo9Mg{ayHNrUFAoV2H?ifv;CLlO7F2-@BP3FX z^Opa>Th7DlfxpMb*||b6S^f*oAC{rUP;d+}>i8Q3ApepD4FQNMDa>JwMJ9?bFKBS^ z68QtFiJ1*K7zK^|M@o=lFz5qiw`ERfPQ(fE?{co>lXMuR5 zHiDS?f^@z|^uJy&!WoJ{X&{;G=k1;3zg{oGiMmnp40F z;cAW$Mi+wFV-iImlmBu(^YP(j{855B$WVLazg#c*`VmAs+5pT6N1dG0=%YIOH}!Q$ z^uN7cwJ+wF+7Ay;!GYnm_lIs~PI+<$44-SoJnv<$Pf&=Jfucz(rKDQ&{|Mt#`l|m` zckZJ9?e)}~)FogrrM7e;q=#P5x{ICy^UFFUWg4A=1dM#XC^oGelBXyKoudEk^?$0@ zJEH&f{?xR{Dp1!l$Cz9;JD{<>zx2cWDJUFJQ_{HTe{((LBr6+o58@KqhB`y^zq$Xv zsN-Rx|Lye{)Fo_NpkUk}^5o|&|D!%=Q^>|tdJtqGj6`nBf59o8pxLBHMVCUIf#f6O zPyA2ydv!ePKkqNN^j4Y|nDiVAI znhE?gUSIFeiPS%8i((o%)_=LbOf4= z09AI z$(9-|kd!7C>##uk(vmdUwg01g>;3p&ld8xdX``}Q{^NS~^O}34bi+M>#Lzk~Ng1+8 zEIGA6u0n+&T_SwU`~O>acxeRdzrH_k5&p(PV=@IfFg<*K>E2+^Fsrb*ibiL++IeSp zC#@MvfH-rwGkA#U=l%ab-CtJG|G2;6;!Qw8Ac|Og>*0}fz6IBgN?Z#%ba06<#D@R8 zUOErGSWu|*ETaF-{r{!A3>5uu?hieShEKg2IB+5+ME~pcJ*D2F`_mK)?qTjl|LgU@ znKez{&L)YWhyOS4k75SD?4R9pInn?2dX#n4Un5~qipYJ#f4mDcfek%4{?5&)W>;s^>^ zdr`xG#Z3uhU`pJ<)x_)T`{VjQyYHu>|K`rq8Y1PvQT9=taxax;)g4gYcde_CQ%Q*a32PUD5_ zLkZ5dlAWbUM+ApU4$=QI{iZb7G{cQl*bI3i1EU{r|;X$uIt&y&kn-q`VfXE-rCh@&ELCx`mh(1Rdl# zOne4}hxmVby%{_vR6k)4O-Awm?Dc=TM{mUcv)ALjpjn_YsV=1lpCbOBxt>cFs_kfF zz<;BcYx!^DmT41Vj>3}-tv-aja9PGjq{;udQ?=$ZO_}@iQfgNE6yP4$0P>0dC-;YY zB#i;)7wr*aU-~V}|GmT+oQMxpZuwZI5X*n!f4WcA#Q&4~6OW@kDKZ~hXK5KM|M`*Z z?btQvggt{)N{dYVKXbj zhxx^iQ3)VTM2P>V_c!EYQj$gj$r-5Y|53XX_1F5a!QlgfX^|8!@QI+XtgN9dtA zplw4R#LqzkuJs={f(^5dH8pBX#5jc#ilFk};1q|54`>(+DvCcyqWo9 zmyR2ANDW1@L1Zic1&21l$`9sOG&XHyG`?v_PbqJOP(c9(wb9$c=PI2-IR)bbs(P4~l#_J#M z_?d0?rA$0ibZQK9B?b+c+0+TB--%2E&tIPBd<$afV@hFNXRzM@?UV_1jZg7F_j2AWy^o!f36<5 z5>;~F!)4)}1E|ANEVRdGiL6)Z-Qw)`jl=judo zWy^oT5wGCA7G8=62yn}Pb`>yCQ1u`}M5c-idTseHIQ$N};&28?5qN}g^I85&SMtZ| z!>Zbr|AO014al@ch)l8k2QIv16pJ&cOr6FUVf+iu+=Teh=M)#euH`>*t|}pah_b>u zf+TCpf59p0m}KdGAknkaxBS;=gQEd%N$J<0%47L2IK-oH6BatEH*%!^E6ac4__L+* zf2e5rFSt0*FfN$nRE5+`X6Iiukv26HL0GA#Mzj3K^;qv_ZsK_SpB}b1CI08?Q2Q5_ z|AO13Mw6A|4?Te4zpUPXm8iec`mr}dG&I?4_^&vdTe^^31*8r{0Wtg+oQvlFT>Y7w z#PDBnk#v+fSmtj+6&HEI@SnK&Jutb^_R|XFPNA>o4F45p?w00Jx&!#Ab6gGo1s7Z8 zAFE5nx*Ps0PRW4PA7)oPdmY+*hX26PoYPgs$|EO7){3wgWcaT*3ZLX|NGRqZ8qtRT zf@@BLv}NZct7o528~!T}*@TpXS(IeQPl?Z{LC_Fq>Z7Kj?9@t!mdfy7aX20>SmTpK3J#F{fVh-_%Aq&)AX!TXOUw02kKG7f5qP+v0&Ae+MnhKXHr(S`5rD z{u$~Kod2^rIxDW>zv9xm;bQSNV8)>4TmDmxs;|i>f~IE) zLV#KR3l0Yfk%wuO?h{t$f})oHqGm~`f2@9%YH0bdY8U-4S2?)11=1|l|AJHdQMJ*jFh$(*pSUV!E`zdlRgzo&3$Be9-xRHe{+H!H!i{|uLP850 zjR2Ps9W*^lS5k+!?&)&mWfm#Hm=2KRA=d>+oG*`7byccjOPP+$PIg{!7*oQxWM~%`B9t z)=Mn^H7ik+l7!;kh+eh)Cl2BIKdbjk%Ub>m&NX@FRdhdMaiCyY{sT|O$dk2C*?J&q z{HNu=;CwVD1vX)bRyKAf{V3-vmu%)%WS!hef%!-p=LVE3z-xfO)}2IrO!$O;V^Bb9{z7N@O7A0N?6sY$Ct_^&v2 zOpq;j2TAT~M+^Tg4!;5=iOX)S#cM|`5&j#T_oiloe3BLkc4Il=zr}^INDfNvD%6O= zf5Bl+Vf~kFmqz|pX46W-e~U}k3iS>RDP}1a6omfkca?R|@36h5rT@%~Zqea6yUSV!4pb;?y-m z%?=!tP;UB=0Vi(y0j{A!9?KFV&32hgi$hXpL425;OV8+?@ZaG0I0P+}4_iqpZ8$kL zsQCHP(AqhIw?H8&{MYNx)8nNyr|=Z76tzP5Z*la_;5*D$-2y_zf`6B_41B)CmfX9z zu~G95cq9Bb*HbZwX~;HjE&Ghr9_9n_{^&SO4@o147Ax&a;lEsO%un+c=ux;JmRtC5 zaE=E(C|XnWBIu|H|1HkE&%dV*5wGj&cpV zHL(1bprCBfQ2I|OSpEwRQGxuSB#}Y56Jq%f9Bs{?+XO8C1xFhQ$)a1-DWUMT5{tMg zas400!~fmJ@?UV%Gn>-QCgQf`Kl2@~Lg3MsL}MXZ!QpQCFF4I(Nj&U>&?R85E&olv zWRyeNF10gp$nsxsge_#vKs7ocb`UI<|G;4_LK#>QAw}ZgFw1|zq2j<_8Yk!lDI)J3 zu>2{1=>>Ih`@~wUKe_W#?aeLJ4b{ue=2dq2)h|f|&D&59}Kr z^Z`x|E3M_f6b(`a^9yGRtN+r%T($iFM^VAr1s;;=Dy8K=a8p*HBBVK>jLVSP@?UUz zv&u{<0j<66;#bDD+d7|AKQ92|iP@3-aIE0SE`>J>pW_ z3d4WJvHr^~Qq$0kNUw<@HvAV{;=)?!cu^KoLrle` zhX0B$m&Q#kDlVquQ}FmqI)bzI&$1Stky?iTia$oxMQylaq$*oH!++qY1}Ml}0#{{A zIriec;lJXtVgO>XMP?@gDa&xu`)fsDYD9}jp(=vZ@L#T%md9Ew(Du81}q10YzCxw~ITI9ML1$4m@=|9<|OGwa_U?#e;DpN`s{wv$e5)0Kc-Aamm z!++wedYEyu1qc7em1x6%#c2q`qLbj&YFWbYUvSh0=nr-U${{Yu8U8D7EM6`gz`~U_ z*zg}XSH}3%+!Zg@zc9-1UvXm*a20?mnhXAh|AK2pqAf*;t7&he4gVE47L$}tlwybh zFP#bzG@|F&f^qD#u#TdcG5qKC2WgD3MS%*#Iwo!GcfSn(1-C6cjSRA!?_~I|IGYB< zhYTzXJ|7-|`=LFI$47NFj;ADobklFStq3l6>h=Lj+s?6UU#0iVRh1FQlqX zmj8mA5)TnB>-=2Dwfv{$YOfQMT!(p`<-g!2L|{9i2c%lh-o^5txRp-QWJ4Q4gC(;3 z7u=*6_{I>wV&j~({0GjS#Ry+!ChXov$+i3!oINY^o)~4A3&gYKKXLMcQz+iLX8KN+ z|AL!WWOvMU1Tx7En)u#S-MWkdqmrNe;E3hF;Oy9#lv!r8;!cP}%YWji{0cDhi_4hF z&+=bzHe@Q(Sgj?@EdPPCT|p8xC0Mdl`C!X`!LjOsB^oMkhCZC$%xx|IiL*D9-hmPh zJ`_`!<-g!t$Sb5mI^S5}M8qAl{FlC)gKJZO1kR{IymvEg8bs) zu~UWIQ~oPX*+-O7o>!}!HobknkOj# z4Gu|ZbUCCi?ef2?EB_UTcGuntrPn^A^55VzOptczuEScBW>)!6+ytj2FL_O_2j)}$ z8ypYJsOA4y4k-T>$B-iDvW~%AGa88mV@5PTkI|JoL#u0@SN;o*MMeBHaujpB?Xi^q z2A5G|U53&$8eI9WxXrn;R|@|^k4E`#aPwM>d>J>atMLz%0@`x3Vlk^Qm8i$7{5QBR z`sf>=Kv7dF{}ngNSVtHIkUwrKf^=3gJDdZW8+=!n9Lj&WUV37ZiYiTZn?eC8{|!z_ z#iR}26%R@)?nyaJfO&qTbu>gQtDI->7;XF*<-cC9vo9!8D436lQT`J*$xX77sd#uo z<-frhGKde_MCY*($WKuID=xk^MhCY=X+@6>a_6%1Pgx_;El&^ghN#~I<-c4{XL|>p zS86}a2S%Fm-{6wc@C59k@wj{(<-g)wmqUhO*s}H_KQFInUX$-<*dwEh{!XqO_1?@s z6M`g9DUP_SzUdarf59mjII@PDj3di`lTgHk5rr*ga{Rw6{{)2&7Zvit{* zYAw#VDim>pI$yE;7aXJlf7N_YA2)@>G2)jv`ZeTrR0v3G>w;PS3oh)F*@1=5=sB~^ z@}JW##X&>>DkO_L6sqOF;JWIB437$qazzDc`7dGfFQG`Lk^h409~eDqMIlT$4UAvl zT$+~-Q8KjYqZuXU`ZnnBSo0;MAk9!^yIdQA7_!$}+g2(Zx=eN$mjC>GTXPZJ|Ctuc ze=0U9z9OzrTPa?Uhb;dEFGbslEYsYJTzA*qN27lF|LaC)qX8A8T!iEY~vb@y6iw7mF|TFL)spiQ?esa!m%yf8xlQqHv`Qm?CERFSulPVK0=H zB-6c?|G>F!Dhfe5bc#W6-11*=Xew54aS)71w)`g!1tvvI=ERujmj8l()*y$iPo*w( z#PDC*2@x+MPHSZo2W*Mqzu*J0{);txU15hyfPUz=2{gs&n`rgN zlZt~_*6^QrdJ#lOtY+vjdrQg~{woe&9o1FMFL!ZZej5G@UetP<(1rA_Df12g6_?5& z>O`0Z2dkywKX4OPb0G9`A)oH2fFbT9fc`xt0ola#2acf5oM` ziZa2@awUu5KXDW4+FQ~*XF)XlR~)a!o*gnk*$N$O_%Aq3W9bvMOtM>PZuqabtU6%v zhkwbXBKVDl|2kR}ztY@DIu%3Q@ZXFkI!j4?l1$hE6*l}A+&E{PCAysK(CQohD=yVp z)E9Foh}dkV;XiR{=vdZehZ@Xux{!8I1ebLa7G9YHlD(eczg*9Vz)kT}*x^T#B8wUR zD=ylA#tbKt^&;wn;XiQhtcAFjG%R&QDuLm@;uH;H)5;nU9iT6U|ANDIK>Y$OU|Wj1!?pU(ioH|-PrJ7ajDAMc*29C12M<&UvPCy z%?>B-q(B@R{wpr(NfHyM87|Yp;+FrMOPH4nz+Var6eX!Ju`T}vzsQKfAei3ZGal9Q zpEzO~^%qG}@+ABU47BCH;P7*e`sF$%)O{g;%YWcfaIrSQO$M?!1FyQH<-g$c+!<6% zJ^Ev-E&qw5BeBM>?UYVh{tGVJQPeq>L)ksdifj2#Ygw8jvoQ_yq{2RG`7ih>_S_OX z)JjOUGh$i(6K7FjRy97dtn*p^3(mevy9ZT+cwWnY;L?)Qvk{R40fUKHZuu`bXAEU+ z4kRW-vJk=YpEzd?+cy3|CCh)oMboiR3dyM84_p4j(9-5p%mp$-?y%PKUvTXI;L^H` zG)f&tptI#aac-zWV9_w*Q*egjTmB0!>QuT9N-b&0?Lz~nYlf6BwhqRCGV@EQ<-g!I zDRQTXEJFn)wEQQ|ctQSvizvGw_!C_%{{`1!gDUE5igly)mjB%ABF#08N%q1tr(j0d z*AX1l0DqZVSm~tNSpE~It%&>q8Aj{Q!3uT3@?UUK_tL#lCrPHT{0ELTdEAn+g)$yx zg0E!xFE|*3?pPO>I64tu&sqKxhhq%=fzkjgokbcR#YW42!I8a8cL|RXauB74DhSma zr3(R1#VGH9EGG?W+Y^WbM!n)Bgv7Y?APoOF4_HPF-VwT9bD(Hc3R7`0?e!`S@gb^V ziFBh52Xhjh7wuh%(8 z;Z=`NLL1wl?ENpv@(Ef;WAjN8fCZ-ap8{J=bvZ(Ud4_%L-<|kYGXBIR=s^ugWo>|t zuMru+@d0jDRuFt#Ibq+^{*0=8gG0~Rq2XdLtE^Fzyk2Sp_=Jc`ij^)lh;b4@CENQ$ z@v7+rcGEoNL!6a*toMhhObTFiOZP~j!8@_88rw>XBXi24gzlkXdFmokLU49VAU)=n zjh_niQ=5=7%>AXQgvG?=;oaO|fGV}RM+pYlQe#V4b;gEmj7I@l!a+5od^R&pk7>R`7b!+jU)mQ3X=X>TmBPo z%!G~5W)?(VmU(0<3Ol`KczX03FL*}`j5=ghGv%kf-}hJJ#&aO{m!@i zCoWF}6HG=>1Xi~w%YVVenxU{jjA?o=VfhbSUR7!fCqM*p;!>9Xf^&HcwMhn8)Ax7F zf8zKou0hMktH3?K(DGk!m^#QGZ2ri4mWLLW|MKeQorM5uR~54S*P*$`)TRNh<^QAQ zKk-+VJv#nWpylO;n7J&fjFQ=bZ$wGAx)alL3uVGa|J2*fo$mj8m&n}^Dj1f%j{ zhUGtTbapIIy9YGM`;OTmB2KT^+Zba1@xv zi&*{>7u_nZt1RNtZ)s%tFSwW&r8PmTya}@W2QK+YvR6y^?=ve-I`*L2zNUvTYsu)9W8Dk7!XcEf+gO(HZdmLy`sf8fv-T9hRHqYaU8 zF#J~>@|vzURz|p8KvIF>zu?ICN-C5GG;=b9hX0DIY@)K1V!&G%{u4JnpOz06v0W&0 zhX0E5zR-5m{4(xXLo)mqoPHK{jdqq)lco9_{wvOgPm8>0AodxC|Hd`uM{D_&m&a=u z{wuE12gA%z)n<%8F7q$GD@qjRSG6X3bd+(MteN^CZl&f)q^iAi!0?}+4_}{UPs?{k z1Sh>l!+*uOwuSf*qg?Hy0KR$>YN69~?r!+6IJ=5Su?4t5!&HCI@Eu zHDsJ5&!;#1SDeeMT-#(DDxdW8w&B0v6h*9Clt)~Pg`d68@LzGfqE<;!3beO|8vYZf zrL5W=@(C`unn#HvxY~^-TK)^JvH*`p z3X8o`!}1?EcE^Gd%(1pm;C`0>f{SFK(3CDwB$MSoaS05`OCnQH#y-Ea{1;qw5i~rw zD+{ggA}#;b5#o%g{AV>nulvUG|DRpIY_mtdI>*EEpEy1X^;g>irYf|dwJiSym!%!a zp=^+4x!Cd_I2v=)+o_KvD%A2{aI}ZuFJF!go?4H&FU_EjwZiHn0N7R3L#8J7QoOWk6c zr<7G$X!#FZ9Y88$4lJbP4!nZpzu;UOM|{u%QYkevyX8M|anQs9r4|vdvXbS$;B@#9 zA12J?V=Vu5y*N9gnAMk=d;yx|a+d$<+JYO15BWO=ikJhM|A>o&gT@C#0{ig#M&-Z3(K>4qhgB!xwyV4H-?S?*J<1AqVRV2C zY$BEa2FJP=xy!X#ZnNS7hw@)=U6H^I`S{t@MZKW>H@I|^NNYL?(ylB26&F#9E&?yf zCJp@D-BbB*a0)VH86-j3;|V#oS@}<#@5UZbryrG+Z_-uyZ*X!)Jv<>g-$41VxNcm~ z@X(g6f2i``;5}HBR9I5y@&AmyRk@`EPJzCL%DjxU4#CBi3n@nE#}@Yv91!Kd!PPpT0}6eq53BrF zoJ-6IQQ;Nho^@ck^55VbdW@>r=)#dLZIu6li#H01LwANmhljGYo$}w{YT2V9CpXzC zgso8iD^AzQRuS#NdLLE(8(hYe4!5at_zdMgahBVr90!PJX3o}hB2Oy+4bI#up{-{G znS-?cE6zQikmzj0u(V98XnRNHzrm>*um*s4=GJQ34Xc&^f~$o~?-YMh+u`y`<-fsc zy!J8?FZbByul!dW2>{cr>6J2!mbmiY;Iv2)ACxI9mh@08|D`j4bT=bEm<^jdG>+xJ z;OHD!II*yWNfeL1xaB`_A+5Ly(5Un!kRvVs1xIMI_R=E379h%%IhOyxHiFkqKKXDi^kc|uxU4)~;u>2RCsTt2iiYVbS zmbUx{E^8~`?>|(Y<-gz@e8k6pyFlews+}fE4Da{|m`PFkmjApSKgB5fM-*B9OG5zB z0RAHF!r7w~Lj+jc5rR6_yapf4I!YzJ;dl}1r!67O6@Uk?A9`yzy z-0~l|dY+hH%IEU5sPF`q|AI3(nF36k!gkN{pEws^*@)TEG5H2fEwt)K=07a&9-?lJsVT*8t? zLPQRd0e_DEH&^*YI5G$0&yobGhlbdh6`bTv44)K9PT5|2ui?L3FGD6K6qGmDbKu7s z{wt1{M`Vci0FOdkSi^t0CkGBaptOG?Q=l~s{}l&ul<(jE3$Du&P%i(qN@@77 zxF|Y^Bw65N_OE-;@SnK)DiFOatx)RBl=}_;6=!l|Qz1)zI`W49g3~sKWaGLJTV!@Z z84dpxN2AW5{coen@L$|IwKl{(7Z;P&&hTIHFeE0;veMf1Kee7a<^KuDMR|r0@fb zt;QijovF6P@LzER-cZB`?#z!6HDUP=#iFEFWyRz!hO*_q;9@z_Bd7wCMT*HN%YWkd zEYx52{tu8#)GD+57aX0Da7;Ehfok}7%YWcT`Kf)yTF5ZB{1=>*_)lg}CMnDEpSVOW zHJoaBKH*5qf5C-Sx{k9M%_2Ubyyd?Pm^hA9^&(U`!(%M}?SLYAGqj)~Wd~oCJ zxFIJH{$M@Vu-M1In`Z1={tFISDNPf`$mpeUmjAMJV2pqJQ>@gM|ANDEMR7z|%tnmU zJKO&bZLaeOkLkZ z_-}DGFQ|*M(#q}yZJO}k;K*#6l(f#vGJx>k;!y2;X?mYjsC*0Izu>HP7#nC>%0K*% z^Tt$)>{u>+}w{%$QU7&tlUE4tTZ*hrBW?&XbZWK8)OZcz2?#X~~ zr+lQ5o(Cq9@ZaJr3Zh_SrH5+8NBD1W^i&gP*AiQtjRhBMU{DGF ziKDfFp(+f~KS4hr)eHYEE*Xgmnh6%&Ef!dW{{|Onf%!%4&xRkM-CsiZZ*f{5qCi<7 zn7z713I7$RM{RTuMH*HZU}*{eEe`R@3PKSm-7^xM@ZaFLKr$SgL}mbTMfh)VdbEj3bRngDMp0<7RUY2 zb4d`Z@=fY3{8yYcS|XS2Q!vAsfo@^2Rl|1B=M z39_Bcls;sWujT(cY3pg4;)&T}(%}OeEdK>(-!Bd-4K}>x<5Qa~|B2rtG3W!ZMWI86 z9@g?-a1N|EkcbgZ1O&U~KXBs=Y5NKj<~TL5eG|dae1X4a7MQC$oVWZZ&Z@}T!uA$g zn2SLhEdK?^+aZ5&=GhH`daJrw{=Y+RlH7`_!}gyK!#y~b|ANzd)^#7y3-tqgG%Wv# zu;L(bh&=!cTV~qwUvRd3Fdwl(hhf%Ow)_VUR~yb6eB(Hj_`>vQQhPDKCKp1?$BJY5 zFF4mGM3qp6LO+6|mjA?cO;qhM`!1IMf(vEuVxNsn7Sv~Od&_^|GS%qNIB=}Mc+eFc zEdK?sK=YZ&RVt*ks+Rx6@mUa2YOgWXlRK9Gf`c7W*7Hh*!C<(=GyI3Jp`9f~d6GmQ zD?B8w;lJX|W}^Pm<>pkeNEIk&_%FCN1^7@XAtoSF4DSHJOyLAE$AW;QAx;Sfk0EII zPrRe#E&5m(coq;6)$m_&O}$8dT;|ut(GaLRZj?9P*4)rBFsl@Iw{1;r7aM72dL6icFlKR~6UvVaE={m)! z|us~^wF}v~(FhC6d6^HbYA3}2@t0yox4F3g(W|zpMy)P*oi-m^& ziqm4G$iSq?;KHdf{0CkSoPz~}`Q^%y{0HgG@LzFSRI)S!a}WiBrO@zSaB0ObzyG}y zYxu7?*k^nTr5LPW!++w-r3GxwI>0vJ7#o`LhX0DQMHX7K$m&|9;lJS0LSTNG=2!sf z^BDdsj_e?tEY)j4ckub8<-hEFqF_XZ)X0K=IQ-{r%YVVO=u^eW0PTjsZuw7~I}hZe zWtQPz!fvqq7aY|?M2o0ES*_b=`47COlt9gqYQaLMTK)@8iJ&!9{{W}h@}Ib*P}Nux z02Cya|AMo`P`a5MPaoRyf1}iEP|!TPSU`9n%YVU{q9lS~t|CEj3DxqSxJ;qUFy;J|>mf8v^#m|={C z0R!9eUvN>h%m7&UV)B7OZTZihM7LhCLNmBv#N!n${{^QckP3>ZVJvyH*lqbQJq@i( zQ#LP_*q*q-fz;{u5_E z%nT2iEFzY6g5|&9GCS-5IkI#|nr&D9(sAQG@ zibGa}Yu=Rhl}5x*<-ft3NZZ854*FJfKpEw~;MAM6bj7}48v>`itn%OB+PYw#c^i-c z6RrGL9I_V~jjp=1zuaiKMEP%U^fMxg@VUB^4qh4r znDXD?CTD1)BY{#-`L8&vZ(3MrviOkPjj*Sl^55Vcv~utvgf|d~%74Kb^L%;a0Te+5 zJ`<7h-{8xjdJrERMkaCy!TQR7#UZ>zd6MEi*^ht*%725S-;s?K(nLXAKx8QYiK}l) z+nKqQ3%FeFR{k5@bdHD&$P2E54~%jygwIj_8(h>MTfD50A2d_< zHCFx$j^rtm%NB-8oP*I&`EPLJc``FWS|Y#Ro~`^>{J+-)j8grg{5SY3R5!$jID6nS z_X4%f=+)uk{-IYV7V8;(dv~q91JCVkJk?RA>307Y=l2bG{VkrWTZ#I?{ugHF>i6jQ z)MS}DJU%%(ZGrNEe({s}WU4YVXUt4(pV{kwd^x?X%BJD>4h?($?%v{3jV7ed*CLH) z(>*?`{X=Kw>izU-=%QTpM#l2XUH@9Hf$xuwOI)J<*n;JP?fvi0D_m((s?_-ge>^d< zc+K72e}-?Xy&y}SMczKaZ9`{g>V0gitMf0Hfwd2`fA#fU^zAwMeQ`l%zeo1|cUSks zUHiTIaP03oi@bb-{UWYUDqXzuojuKh{X=Kh>U}J-_M&+CTFlPdXndh6)4ZDR?jH5& zsn3WkynpEIT=kZfThZ?1rshGO4c9bU*5>KSjm{g>idUWLR-$OI|AM)>>Ktsfq-@K5 z{a@nA^9{K^)jQzlw+|1?FLOqP;q&L@s<)!el_TYv#;UAG#-OKJ$-RyWv7qN&yUOBs^`7^L&AbPgwD=aZ)CjeT|Zo0l0HMR z_TR3I%U^17hN>Pd2VV-zQCF{D>XyEE_gh=r99dRzOajlAdwfRathFfMXLQuHVE>D= zb2T2B)$iT!uhF+=#p_aL$lsweGZgLo{&DB`M_1YFWmd1OY%;BE>w~^~`kmQQb!y3J z?j;9>{p}w*D?#BN=jIjg8}s<&ol~y?G;zo zUR0vrk-$tfX3zI_{tgT79y&Wg;aG2OKk0f2PnkLi1E|uZB3(a6Oej!6@1LM>hc`dI zzP-7n-Qf}0+dY4EZ-47;m8TTl+<5<>u;7@XvzryDIvuxKT(aJZ%4_;OKR-WN*7j$E za);Cl%;CfNOHi=tRPQ0zrlrp3yfQ9+nIWHEe0cRVBJxoB=%|s){jXwNn{6!@Ty+EH zw_oTk9qjdu=IriqXOGV^|IoP!3Rm15@Z;{@J}*8n5ECTN)_K>Mym8Mhk@?57F=OL@mfcg znfS-`1J5l?nULcY(&xm)qFo|iU7c9?#=4e!8V38Ho1Gw4w$49JNi-H`3#Kh#e>b-w^XA8&geS+kTat#by z?)T`_loIt$w zc4$|c;jQ-|{=Vp_o}8AkWN*H)O!KbV`v&B1b#PGFa{q`=Z-4&2HYr)Yrn}3p=!xu+ zp>NW%p7-{4DT(iiV(@@M!Jz2?)AMd?%L_YIK;ZN{LK=SRNE(f!BQ^9zbq-|l~IUXk)EDo#$D zruD(0QDN&ietYH@O0{NS81l*6U-u4aqFB|V`WA`*FOhHW%rDeF;?t=Ot@b&F4TAk&M83Vbr`OYm zM^|*cJ~4eNm(+>Vr|OwHU+zoOWd3n|*z)otGvS7q-)+c_Ln9(D9vXgk&$uLx5#z#YD8*lPa>6pqq^-k%A~-u3#+(oODX^uiApM5$n0nET^J7pE=Ud`I=|9p2mw z$}`~X?wW^&Cv^839v0j-;`-l%udM2RFep)#B&9o{I$c>=eG9To1KyF>pWfE-{Hj{> z{&LCL{r9imx3>A6-rDhL#HA^YlFq1G7{BYM2Vc37uhpn*U2be_rZp;80~EOgn*SrN zZy0=KoU2>9f|b|zy|^T8hBUc`eZM>@b+-Ji_7B<_?7#2YhK{elMp!xK|_)*G3v%EtOTI(>LFGIVE#9d&g+_#%iBKRV$;k6VIsJZo za%1xyoh~nH^WgcrAHVJ%>i43}g+*n3g1ckUrx`;j(~V_HYk3I?A2$G z1{e1?pOYlhQs)0<{t?%vlx_em(QI4A^#fntnV*5Fa{SFLf6eyP{KxBY87O{ZBLvWy z88I@J>Ib%OY_)%ASa6$&>*Grgc!hNM@bNp0`{#|@tN!-gkAP+Um-w5N9g2w|vM^=d znsXATFH(Jawrbld9vTuIbv4-k&Gji>1J2JZ(&^I3s#PXeE9?gmdUIynq+V-H{>S|p z)*o+fDIXX+cfG$mhmA>?ELZR67nhV86t>bo;@*_>sqz$rZwVo#I^B- zI-Z|@M)E($H+`xE#p~{ua#enO!OCMje0NmeR~5y`Ee!Sb`mES_23%MQ{XwS92X!?Y zf4d;@|ML2jbVWLSIW{&|^Bp}tJbFaFethzB*O=d%en(wo{NVZ~lPMvfV>bKFOP;g# z9+ZbCk#Fzq@j-pPJSBa>>f6gtbt~KJ!RZm1E3EX~*=6*^EtF!Xn+i#ZKbp)$7Q(*zt?EJwB~q#m#jNw3yq~J!8$H-B8QZCKvs0uisq@ zx%K_eaMty=-#(sP-*`>aGi0C_+J?b5R(1dN_57lobrzQBbtW)&{DN_xhCZz}2V=UY@9}j5E*xxy8Qw1X zpV!AP*!F3}^=au-19G3(NCTZEMQ{6iCRY8C;g>1^(FXGzTUKA7W z?uPXI-5UA-(P2g^_?Bg9qjYu@bpY=jvnb6xpZ+8%zqCVUvw+}(EY-q z9W~}ce||c(xn<9LhX%brA$MI~XOT=!jLa2|)YzFJC@~mUf%@NEPdy`@55^HXvd@tf z?Jq1E`YZb9`y-=c$1hfKwQ7k<O+ zh?NOlL=9C$)C90MuwqX_5fn8l_6BxWSFx_^x)QKqSw&ZoRhLa%S3-;!6eTDy-wFEr z>w9=+GBcSwckaFCp7Xx%xgmhc^B!}t8~=BgwF%km20b~Gem%RYpu4C~tjTIn@S|VHLJJ*$ ze*)X?#{WOckBqW7{}%1dqQLONJ}bY}>l!yL>i1ohVTG}?>m|qiB1E=gAmi%+liB!OySNK(`BpYt8krrDT4_-mSt8CoO~^}wMvEcS)_gct>uqBJ;BNDnB^AaS~2|zm_fsLMBH7zJ8A$3bMSyy z)>bPJ10f=GO}p82M@9HAdi$S+uTe4QoQ^Eebla|l1zPa`{O|Ao>E;F-P#6AOH(*M4 zH|-Kn)0B@sFk-E#YCX|s(H(<@HD3Uq1l3lq{sFuIV|LHKAu#7gPP#lE*j4%!00b7o zT_(SEbn4|*&`ocNK3+FBeZTYjz}hCZo2@K3Rq@yPu2|Z|JgTGMBhbsPObgtw^e^__nr6mb{miW zsTHy#<(WHHbpaslZr@)PC~d)}q2L$6)9eYF*>dCflIB;xWmgpveU{!io4SA4qVKHv z(aWjV`+qb2^ZRm3{O>LwcNN0MuQ@P($#8(_L&hH%HE|nZzs}k{WJ#3@?~`yi=G^T6 zfamP~`s`)U`0i=*`|?_gHTv5kDmynfK|=Pdok7u6##pM`F|w z@_%=19%`Yz=1<_m!GY#A#kj-cMSo^^Iu6~x3pzZ zw;(uLbS6%q1tK~=KG1FdtUd{a)`Q3Iup2euOxkWI(Y$Z}oJrpuh-&UM^a|;=pKjN1 zZ>J?@eV@B2n=H=YpX+PPrfL;2Afdp4Z^dU?2hM(4mh<{%5qOFA_#?|K@&AA2t%JvP zt0SYP8~`7m&k2y-JZWsWw#o$YwNFw(zwAc`f+lYBopqP3XekMa;( zEm%I{aOvA@jzT=UEL zJw1C2np=NaqVkNrlmULY|ClM){D5!+l(wigmVzvcmr$_*e|bgj^zRM+e_@r%H}=x} zrzaNQI3Dx+3JYz3hUktRopbzsX!rPkFTc}58!Ud!q5)Z){O}1Ihs^)yO7<<4&-hET zpA-)QxAy${?=~f9A3%8vRGe?2?nh%m&5Hhc%Ko9r8^SlakIb&h z_lZ3}=9lT6Ut9ItZxpW1{qkpiH`?mgjsKf}l!s@5mIYc>Uuju*d1m#`Y3jZcPNZL1 zR;3ycd&$D-)|`H^&4MfYTX<-9sIlPx@8!qrfH^Hu5Ph=mY#O@a*`^`$zkO}}Fymn< z#6Ok90tougFj|DUlkw$0SO=)K7X06A>EBCZO6}Z+jJ}ZZ{@W*G`?F*7I=%oN9=)vj z%9ZRbN*`!nkp-O|?MC4RRy+iB6ky0^i!-fK_{8q?%X$0XyFX7aZ+%m<6Z2Z|f$r+q zXVN~mbGO(Z5QiTEG1vznFEC4XU{;NqJUC*N`BRlj6k9qV=SKO0hCLSb5(M0AOQhT7 zKeapl|0oZFk%hQ}a&&y$?<=1DlyX9b`uIZ-AC$7|QLYe$sBY^*N-R$anwCcwH zKk5eo7G`{jkmuPgx2kZ$HX!`!nvO10Re?{eMOyY^e4sb~KDprg)Ui0wZv6kh@=Dxi z4&dS4PK5o)sh7td44T>Y`qAzYxn@iMSweI33yV|g#(9^3e*)p|#{W>>$6^xGAMO%o zYRaSXInEev@rbiNHCy<9X_acp=+YkoBye;u5HP=^qCQarK!7reh7##zTNB)fMVG0z{tjj`-Wv#DScwqR*s?=H5<1?x|;y( zYo1vgOo4@PHvcH!V{lA2%aQ;D1N0s|x83xn?ft7Oi@TLt2S=tI-)cChu+Q(UetBoW zY70vGAO8O#ds-rMY_TJ=-?B%)Pdzwt@?Ix4IMeJqDxbM+&7WWHbnsZ-Be>`8pb0;N z7;Kr~cd_sOzq|Y!1874rYD_fa!{65??qu7COuEeTPp{0bT5suiOW<&}*zk7+aSpf( zpP2!cpat*0q+1}1Jh`m7d%hC=7u`8IW&g;D33CxY zS(vB^#&3>AAX`**IIKiCSaO&Gpl34#=IgT|)~~LR)hf&Tf%CM;j#-vwFM|jKDtx~4 zc#HqHh=Fa7ew%uIxf!(Z?_9n20(uWf%MstBI+Xt*kb$i79T^u7n*LxHZ}Rn3-%M47 zK65}I%k40?X*DM^Va(FAt3G8t1lMhe{}%hRl((>73v0-MsrA?S$df6jCsizXaV__A zmC9>QTg`!J-^#W!v*kAd3`UADIC ztJ!p0<&y~l)(Ce~cccT)Vwvnv^*TH7hySbpz=(9O_Q@sa*$6gF3p^AJ88m0vy@htvEsdf`Ie**u1~C_mvh83Ol>j-0@c_+kWs0 z;Q#xeR^K^5Te}4qi;uF9P!Ji;!PAN%Q33v|_nf-3%Rg$Ho|Ic`*k^9tMn`9xA@g^? zJZoQ>+dcmO6Hs7$L8hy-U=d3<9UpffB)eMWv!L$uBXTd!e{~J`tIwR;)2YA6bnkAL2*rf1`t!^>m?|(f zFw4K&A3*of0EVJBvInmH=lbN`07Ir89JcDt2KNx)uby-23WiTOlm6<{uEz2#v_OikPEkT&@pW1B_3I<4s z-SyA02n05KyWvTjJzRUZ^jrOMi$iGY!CoIM_z&Xi@Mjwdn45quTg8wrdx-j ziiaka%>%vZ!uU-iS3LV5=+D{8uyBO$`2Tx(zylTurV)e-Q0bREIuM#`>Nn-uYEzYk zHYBcNxrbzH3##*%XTN;{846JIW*EQY|L*dZj8Ln-wu~yL@;OeJSLVZg?t!6}Nmq4v zT*=VHbrvk~BoAtJ7y$`Qi@b1r?05WcDWAA*;M%T^m*=zYtI3G+%-0`iiw%!I5Crk> zuxH6o&&C=6u-($T#SB8a-*$92{;xV5RWfwp+nRIK@o~Fco$zjU1p*m(#HrVXX4953 z$bQ`a+@0x!s;DzO4mUXzW zIAkLs$lN`_>F}_FUoKY9zj(B9SN$Y9-Lv-}J(e+>&j0O3s&^+%@$|Ys`;1D{7+pMb z8||=qN%))DiC>qJ-uH+0bG)k^ejr*{PHy>f!Q|iP+|wuGm+u*dt2;aLchudrzvBAW zq~@i)*{|nZI&WpWw3l&&O4sW~RP@vwMqA&jTQ4R59I+#CRDP@Ly(Fo0T;i0>$ye4r zAH*9vfO+ibh!$S-po#a>xht|}+?n-D<=cHXo?cFD^(%heckkC8UHu<^c^%PU^i#Kc z73ZDBFSeiF{&UaD%Xo2P4f7kSW_4AhU7yf-{e6F?Wz^0<5 zq0OhxKdEBwni4nX7xjSqCmGdo8ACfOCdPl+Kj!Vexp_J5D(R}efxrB{z-jxEwVvd^ zvyPrBo*RiRq=Yizko45G`%~si8ds-%SQ`D z77wpDonQ7}(dQ9=v}|1ZyVo$MJ4^lZzxI5#+NQnt%fEF8u^iE+7l*c-STs=a!Qp<2 zo$$^C$JDl=myZ_wHQ92{*Mrk8C;oQs)a7fNUgLizuVudN_vBP_>ija_P5-g}$!0wd zOHE#R{@m8~k@*K~wc{oZdOqku@IPx)tj-)f{yN1gKl#B*|8wIKGKZbp*62zP%X>%N zzuBI*?0SF3q}q&;J6|oeZVK6)Dv6sr*0gQ)alfq{L3_SBnuniQ_gZx6*tdOSZhyHt zZrWgnxEf7MS6tVqg2tY$167aY&bQ-aE3Wqr#2bg?wfe@)aBT5Dpktdui#mG#u`Kt3 zr%-m4GmF{k@NvYUE2Z=tta<2>`~%DOk7=xQ7O@}ajQ0cPMt-?^X`PX;_ui|Snmh7P<>fqM=!vTr ze>vBBSUhYXVGrGvd$@nE2tB*yHQyL~ z>g`X5N_K>+H;En`*L=4*ZfYB8I_Wih1^W$qdDGG>%-+x1 z^QQD|{uv7^$y>H}%x~}4PpeEE$;iANJd`o~!TrW}V;?pCJM}@$CD-JT!|u0vD|s`x zRV({emWEnLI2&e&bh@FZ&0&wmURPn)4UygSkQ?9i(C znj~UvnumnFcX`0pd0gYQr=vgn6;2P0t8pFUvn--EFm0&K(Zt?@gVw645{c1OU$9HJ ze}lN+lgWQ9imhc;az72>cUX@ZwtwEzP}YC!s2{0L6>d$$H;0j}$Cq%k zVg-xQ;U53QH(MF6{x{}5(<*Uw=#Ht4Cd^sxhdN%*8K-VYaF@tpko^Fq%ZKa_uSS=i*H8Qw+B zo}V_&I_>R${n*L<4N{qHqy4SO$YlZN&y>Y6VlLd*nG?J6=e-*;kQrN2yx96->XhZ! z^Tj@$Tb3V*^H_DCf1%pCxoYLHfs@=ewLhG8B`D5W{rvJP+WkhRRd&x$K}SmtO!)ju z{I%&%t~%ac*7vH~ION#A%}E8PZ2H6v0RO*YYvbU}CgLr5scO%ov_AGTuJ;!9GhLYw zmxpu+N75+75QOO@E#)a0S{VNAop7*}-c!AT#?Q`dNJO1V8Y97(^lwsc) z%QY&z}b!o2l381t&vrhFlFnuyVQHw9WE9HR9(TW5t^!E}bQB z{D=MaW}Ep@UB&UP-!4@Yys@iVp&eFHes+6H-%lqz9X-sB|Ew6^clhhkfAo3wbj9*b zN{zv@NZN0Ayp1YyNXO3&nR_=p|JGwq{P4eY!uFFd))aouoH*Eh%j(3~PmwE*zZ_%8 z4DxSH{VRIB#;PP^@b!V0?mh~ixoyj?X-=weyrIh3 zCr*(29zC&vcKIz7U-WA2;jPJ^XAkVx*>Cuk?c*bD7OY&c@6QjxmtQqZncnBxzUqaC zRkxUuuX!W7jy2p~N^QVSFTso*V|bajLo%qGRJ9(Bsb_} z$JX>mM?M@KKhOWyeY1Zuhp>M8xLy7156;N7{gcPXKkm$me7wXhk{9MYFJ!|fPAlt8 zh~i&q(-~}JBvj{OMbF>>1~_8aeD9LLvEVoM}FG0X3*i&hqg7QHT?1B zK<`r*x80aICKSJNUO!MnsfVrxV4?1OXj zEdC3gzx$o_qqHULc8B+#`)-Vt%#q&zh)$DF5mALmldw*IXnfb^4=mBhMW<{(I5;kYBH! zuDaXsY2(7Y5u3yBPMFVZvc3})wlE~5Y){LOeJAJrdcOSkYkAjQmR!r+ndqsSo*Lr! z@{g6=bAKgf23^{GAnEVz$9R%3$s((_xqIW@wC%nz!|nDW^0yDSC&es-_^((!HFs;p z-Fu@h^AzhBFUmcuMinkyJs*wzb7kNy&97T0{L_4lx7hX1g+mTLUbgZYp4+^uIxJ<< z%ptd&p#57~ynj?I%C+?%T^oedzn@ zR;_8*yo)9EvjXj9@UcW?js;-`1YR1zVi8;g(xK9?-Ym^yP-*3<=y<^CD7=A(Tn+t0gCf-g>J zFxdaU?>E}QMJ__0JedN4ptnFlPk{^X>DrhoteLJ2slsm1*^DYoLRQnVNQ4d@!Wrk7 zA1B|SX9|!nLITt>Un-Cb77A|CuYT8HSy~09M5#>!L+bT3oux(g3fj#Np|*pI2|}Qu zrSPn<5Q#uxc*d7xXlQphj|~bUG=@L;RWxT5yyOR4u3C;haJgKWRNraCl_M7gT0%Gq z7y=T>&`r7nufjC%Fp5N1Ty6!SmQwM1B-MOSOr=DW7Q?diNLr!e1j%=1>(-8tmy!bc zR!ZB|m8Hj}B%);IP>oEiM@WuHluT69XfTE(21H^J4EA9eX6T?vM9LLV>0;t0t?0ai z#jKC_&)I+pC=#0(o2AkVxTB|4!%s92!u4EkxCu*(ot~$+fi7AF%{eK%(T5W8^e9~V zKE~ywEQwf5;MWlU#x*okOrjGmH?JY*@z>BtJF4u2xVKD~hbj$AX?WTGm4=11bX28b z0WG@6LB#Xz)pX43W{fh>UXP7^oE{qoFche5JC{%x z`t{S$76YxKk?{_ev%QMmRI9-#Q5abShB3RJ#!%y1MQfmMcV#HhOj6<6d?(=n(rErEC=B(8+eStvkKCIYJ@kjb7Q zKPc9{nM&1Zrpxz^F5(L0yJFPx1C$_{XgqKRM+=dOS!;|S6wyd$8!gcyPR_PkVynWYveNLW6Fvu2 z8a{AP3r}1`%-Aa<{OKO&oVqN7x zsX3g~>Z}nd6zfcOs0;Vt3X_Rj^v0(!vd#*_3r7??v5;yeJ~A9Jfo$+On33GR$%HH@ znOG#m)P0@I-2U6lJ^XAj6FXc~qZ6Y5J(7uJYMm1j$+)g%GCxc>*B$XP+);7{oM#Nf zz95AJY^HI$V+Y5h($I$D>R=?))4@t3pj#-lTnVO)3%CN2pl!!8;x@s*b(=87Nrk0y z9RnTG5?mM!0|SY`L6XS+RZvDq5uuEbA-z2nol)5IHD_jt!f2hX>DkgtnGq(F$SV!T zPNI+^iOo_Yh2)!-3T|XjWI{8A-OfyCmS8c=OZA;Gr6h_62lUvUwPgbFeBax`CB&_t z&=Ki$IhnJQ5adTj5R#lNPqPHbwM2kqg-@qxXh$tuEGnk@Vi|XK_JEC=6EjF@VHDSsVcf&FAZUnJzJ^HiKFr$+qab+s8gt+m9 zXyFd!V`F=iG7n8_A*3V1uX!f9UJKtUmw1Zmex>4fC(mZZYju3;witcF3wk2mX{m$^ z3sM+x9@0IvMP(h_X)_99Z_%wS?u3aKroDnop#d%2|7Ku1lt2k21yo%I9MAL&CK{F2 z#77VQ7!8fdAfk{m)5U(p6r;t)x?F}nxQo#T41RB}XDAFzKlA~Ib4CZNg)P#2KtmvU z4M86iA?O2wO*25_&uOs^&{6$%$#=<;iO6!K+b)%eDhD`YCdSV=mQ1Y2#9$yZAm{bS)!iDMJFIk zKp?Ad<+;EVl0$sd{&P+w-|eF8#F0j1N~`CDRlwN2KyxRO#Z(fpf?WbPi6)Zr(ik>+ zz_IU-x-b-}p>3ei#T22U`o-@KMyL!`V0B(HicHiyad}5ji$f)i&bbEomqR5IsKiVD zn@e6N167Gy(iDjNV&yOw;U?>74b6flS;-`1v5Y98dds&^e)7#!Zy^z|k_L+%xQxDv z_%U!FXB<-ZiC<6kjW445L?J4PruuSFFX=dhdlG`#sD(=j;x|wNx%wh_4$4!ez1V{S zHxAA30TYv(bQ?!8j22rIS8p6f@yBBm+e7(>Behm(^~NziB;qS?nz4^A*m(F_%A8tn zjHQ%j9;bQ%iQo!S%>(oRg9F#OTc`8UYZRw~)Ams3!%4#GnS3Ox@vAr5h-?|wDuTyf zNO+@|5X@v(s^jvZX{A)}O2Z(!REM%Cze`Pk1O*c-#Fp7&eal`$&#%;A8d;?w1SV^|O1?XYXe+Ktw?iFPE%sa@ zXE!3kNFtxX4itL2w1>7#$_)inf-BHc6U*duo3;g~g2%!G{bVp3_uBs_H_9oIUXnuG z7Q@y40`$#RZU0{eby%MP*TYhXcv531umc3=|D|-vPZ;)s@fG*Z*+KVmNVF3@>6oi{TiD7~xz_^?bzen1&eaF5Gd3BXZJo;e%EY4~}6b z-c4s~0XDYQ$lnf|vex(jZ`GB#^2)hFLRW)`d`G0UEiK~Tr-L9^L~3!$5mAcw11O=b z$(1EY(esd6m%(J}z0ph;)M>(&=@c;GB;E@F7-rKc`o@c#S2_qASHZp^1Pa zCVaz!jSU+IsZKOBS&^!Wh9+xLaiyWj1~oJR~hG3YjEPne;JxW??OL7S_hsxQc zaOrEMP#7NC!qAKK)}Q<+5&;~qqSrut5z6rL8*~G>$n&mwX9HdHPmOSmIGv?aj16;D z90_qnM`bz^;jZNKJ^l{y3d1yS%^rsqZ{;|lCm>B{(`(Qwyok%s*xZME>Cwz_wj%Mzh>(qv*8aVH6H^T-|M zBj5{I0!fe>ZC^zxuHo!P)5E?oLMFlXQ^dkIf@LBW!pRx*IkfZkmux6WD=1( z41Knx(lA$%Yp_5$p)dvM$|wyV=|@SWaDV(T)WVY1J(E3?%hyrRfq0riZ;Iz{WCJwb zz}EXoS)=1KrCDi3w~-<}S+-7ZjwcQPiEv}<-MC)veCTC`k)ZOL9H=BAk(VT7G+9#$ zBTf-Uj+iH3r*GyFg&YBq?*~17Q5%@A5TwFrzus3=qA(11M9~UExCff5FkJ4z4<+^? zuWYk>m%mfr{&fg`;y`0EgCT~^r!4kVEl@703)@IPOUnzXSlW%Yt@lnT%oj?VH5h_ zLC4Vlrt%(Vpd%XIIY2ei_#Ko1qclNIYK{!G5L0V1G!52j+MUY;z~g`p;C#&i9E)O^ zn7IT~kgkgNr|PCa$Ps-(dTW`0Z4o_c9ZW-oUo?D$o|Lh5aZ=6GH8R$uXJTpHD!ClG zYmK!+??mNBAefw~5-XLArnxpq=E8GPHnEYj(7qv!Qkg$8I67Q<6(dUVFe+0qTFM1Z zs>uY2fy%|T9KcK(ngZsF$wUUBQ$!!+eX^( z<;!A1zFCo;f%YW=QF24loT64_wgT{zr!Yi$YD5b2H)RY}Y1s2celUsH$G14~eVK_2EJ#8|_&caS=X>RQ!fg9|jGc4kbA_%1t671lgk}Y5wR)ZX zrP8nsw!>c(hSr`ZoJ~B=^h(2ixbi1l8ERWpQVjNCwgts70x@#x&Lx8xxZ-r+R~teXeiL7D!>(I@%It5lqs}3|0Gho9~F& zUDgEB%~SyLo$y~8kzZ-R;DyG~`DQyDOqwiGR2oXVfDV~mt&!OVKY_xC9hA2l(yoK6 z3Nr(zw0Ih^;iC9DbOw3Y#=qH4%oj*=@- zAlhK_#S`_g^+fy-Pjqe>fCT|i!#nh~K!;C48L-=UD@vvhn_0ZPIINGt5DRA-Q9`pE zo4FO!O~?)tD-0ALwQ#a9r1O+vx}n)&0~LnBR!A2BXEFAu)!83TC^%V`9X3K?=xrsf zlK`q)s?lKa1z25}4A--`G6yn#gFE_cpIxoNq=NW$l*~#gt*e3?ufr9|CW#Ewv$FXj z$#xQ{M^wpR&ZA;U5zo|vkscu`k@SpqjVf;ezb7x2=VwHcJR{26AP*2k!pkz_alH+- z%_W#?!YE*#fiNNd<`Aj~vP2Th;V$92m^|e2oy@u(5=Iom%;rak7-lO0Q6g>j#)tx8 zbdRXRI+9>SNxVRT%a0&|6u2WTGFx*ZU{r9H!u*+O!5{J4DKeReAj!H{RJbTX5Wks= zs0tl{okl9BLvM6^RO24QHS@$m;Ad!>&VieJC`lMDWayrXU0nj+Bg6n@?!2tkx>sJS zwQUy@%;2lUg$e?V%v^PX8eC}@Y5roJlS}vt2*<5d2QRpD8 z4Ka_1kHAfK&irsGpgt9#zA!D#0OThEBCrK&1&?Fv{523c`voFyd?0dD1R~zSFhcwe zQ=C93iP38HwVfIyfl|P(+elPvR3Jd^MkP9iGBd=Kvm|c{>cAB>P#5rmX_RvaK^v^w z$Dy!4+bQul)aw>77gd5EjdwNr@v)huOzA1|>1YR9RwRY{xKSfybg{S!|^)J@B( zrib0oU~=y)hD`2F2@(Vf8!aWsQBif%K%NW%3?5}ONJvXO5Sc^=3(3ZJjQINFX5uAOv{W=DMw} z0B*o-z#OXiDdZn35P6%=N8yV1xfK^Ner*vV+s#F&c4V7`l{u0Lf}Y zC)7H`zlZT^?_ti5?_nQZMJY1`Ta1Y1B9LsZHI_Qt3a~_^3*zEgcswRk>0P*JE-AFm ze`EWRQPKu?fD}kX5IZACVmmGqBA!AB4rLxu!bSXCKlG6WV1OXFLfiZ$y7P~&0%H!- zai!j<-Fie9$IJoOsQ|fXAe{6hOo8BEJsWQssB90#(!J{#?9}GC3XYo%Jch~e^7<(CLWG1X3k>uG}*{zqtT-`DGYCzz?Dd;QI5wNKpr6VVSGDO$Hh%}cD|X*t)iVA zJz5yP5aF1L(W%jDGpji@N~~Y&ftjqgAZhb{LfU-5S=zkMo9jxtMw4>TQAP?uU-97oy1*O{B!SZ@o}EmzAo_(V4jI!+9>1 zhL2q=UAlT!hAe}0G%+A%DBAKcGuuN6elt}m@k(*08uz3s_c>Fqx*E5ya?$K(X1h!z z?(E|duhkTX6m^Kkcbb5Z;&4vBr?!`sKvvLTBOsG z3^R)bjvu&s-Wa)(C=yC?N{9ltNY{vRoy=Rl3m1?AL@X;K_;<>PitHeP4}?h)LUP*= zerFm8;)eDjxHp9zR}FC6Y|u+g1iROSHOR_jJNk#76seP0$sWr%a$+ad zuhO7z)yj5QAAZvcPXvCcZOumifROT{6`lr4N*$atd5ddUIWld94d`C05dY>X#G@RU zw@45fTR{VZYBV7zF$t0>w~Cmi9;ti~5@s5R>fxWvk7lY^YBH zN^F%ZU=zx)2+=5tLIX==g&YP7LzK-IDu7`4cYRvJ5knGX3gc7HK#jozc&_G8P*%M) z1|b~ZgyUFGjlmI)IWXq2eKiJ z-h~-NahcX4N|7=QIk7dOQba1N+Ij?%WlXh<{h#R zP9avL@LF)_S8EVy5skQ$aB1^lq(B2^mGEp%&yz$4C%7%^80vNh9Q-@43@fEf_W3f#h+L5Xr`)2nGBH zK^jRh{I#v-L>FX&tTi9F_G!dx1j$me63%%?r$PdI2o)Xi)K^x&6w8>QJ(oL4+&8+7wk{%fukt^p;DWL zSeRErvzlDmqD5hucw_@=u>#DB1fkP(n3QE6NU+R_IJ}!|28J+YX^%(_Z6%f+LME^C z&;wEOA>|w$!F9o`(Q-5a+X&l1bQ$)y(PMBGWeCwYvIUx=r}UCwR4oSbMS1F}aL>|R zNmz?bk4U!&aIrx`$#h6paTAa^f`!o-8h}wqXMRs8%o2_;4C+T-&<9$Z>;!$+unbbp zv6p_$EnK`m4t=zeHrw(zG?U8(erSQ=uFd}+a8v5v@A;RRy zyoaMOx3LP%zaok}L7k8!HS!E(6BH>W~D1rB;aB_KJZc$$sFcNVfU}mnsN(M@_pjhUuI)D`BQIN`OAHh1!Ffr7~J0G&q zwy497g)m&?)8`(N9qZ&5k^(JusK&$)@ReM%$18t?;_v`sS3(Cyo&J0*g4J_u^-ZbJN#lbNT@VG2A^ zaq0S!4Zt3IbQG)C7j00KqE8-49RQF&TGe6RxKH_C$dlovZVAlBNkXJ<3CmFWtn(@q z1sDiQ4Wqf$>}0ZbOY}S)Ha{c)hmF)E2RQt zw&mC8QN&3? z31WSqNV3HqwcrXQ(<*FWsRUA>yF|U7k;`Q$xF&b|EG@Ey%}ztFGBsn-2AUz#Goz(9_fn5%%6! z>}6miF-?88-4IEePfufY=pCf*%a*dGfIG{QGGdiaGGeKW7wMT{u7NG)wJ$PXWXvvl z0hpB)Cv86Ddo=}_Ji)P@F1R6T+!Y`YyQC4zhd@nEIXZ?o1GWeqLBhFYs4{|d63A%= z*G${v+s`oDignN>>>WIwX0h`i028wvO=Ge7RU+m52k$V1&x6>D{&+__1n9q_aR!8* z>e;9q8crM5zgtYG+L<8Na>cNYKx~8XcqcZ&{u;{Af0fjDBoSXnRC#N>RqdawoMZ$@ zk!_N;O|krzkxL0=WN^2+BV!*iL!fHsbEoMT+$?xcBI=lypbqtdRV?hw>~ze-wYwxiEQfWdngHv4*hxS` zpb>}|a|9Y;O?gUsPQzvH_DOK|(5(1#1-2^Ym8aQ7Dv{0EH5{h?DP{ z-&Sl*;Zg2XzMfc$Ozv&F!eFRFDAHpBOp6HwCU9hboYEf3^-v&!VMTZ{V$m!#4buLz zhFO2)z)>ceiRPmPaAg6S0RhgFAx1d*G%^@PpgOMX-*GQ~uByti)BN3O$ zh8Re!hd70-th^z3TiGC{0#<@3Q2xC(4TdHE^%l;F+4am)&x!#EflLvRge zPe3vpV;}?vCXNIl0%PJV2AgARWoK<~<6yk3*T$XG~qZ zV8PrV48R12q0c>-h(b*8Q6SC2hA=pXO#zz*HhFgT)T~(xr_P)v&+@?>xm%EINydT& zi~X4pZ_%tpSyM9?%%47MhX1Vjv(8`@uoR3bU?!xiB%{vTYi2fKb!jqgs8Y`+%k0BO z%eW)2*_$NE1b0+2py}5;HFP#C7elfL5^Is6d{WcBZfkx17zilW49K&-iN&p^A2?QF zWis^%jR?8$j=+D_*R6&1DphnXT;C0o{sYwV2}wU2Nh!ki0cg73IQ@%mm(=FVQBxC zO&L%bC5HW;gysrF^>cJJfq>;}AWB~~@zAR#E*JNzHI_>~0QP`h%dItTfi}E?%8K)2 zp$$2mQYa_ZV+swu1b5`eR~lB*ntQ0lo&)ba85UX`Dine^SyKd=Q7yuvpv>jYn-9?< zP#0S$ROpMDhMM&;Ib%pm+OW4F8}<~fPJh}Y6?t}q0MB{a6vxAaHAUfM1gS9CIW{y! zQ{z2}yjM-ph~2ZMsJLg%x-d|Fdv`iQ%tlkVkdvq>$`)EFH?2z`SyrT5CkvG|bY=@} zRWgWkq&>_TV8$k*(oocCqTo4XO%c{p0X18VK;<$*8AZwjVS7@G?6Wb!Ejst9#%QP8 zlUiU|aC2wJ3K-U^Y81w-5VKu_6?*=&>l`yfbFkxED^8%pwHwKP4BBsRswN%b5u zAp?(!mlx$%qw1%%GDUpM42AR|dC{a06q1`^pwxmcM4o7ZaL26b%8n$I)`BttUJRjz zc)jB`{etmvaIGfiTZE{x}!^6VrFxd)BF@`LFVVK+W7XLV*psOrOVK~HN)r}s@ z6`a#!fM(H&Xf5KN({mA9a8aAVLFuEllB7z*ou*YrM1?`hi-Dv@rQum4iXAOe z=-J#DxfgxWmVsh2t@Q4wxmTh7tum4%c0w74AmkJrgs9&drQt!yvy2DJCh>i=#3V_I z$yDlh0;|K5}{N&xZNmIuj{tQ7Ro zRo#ez_^Q-f$-+$5Y48K3{#*12r%0&~%}s$tIF*JZD9MW$g=x~n6v$uiVNnK?H3|$R zr%|C7NN;toL`x7$1v9y2?cb12D#dhCstYgs_-$g5hStFBwMXQ;Z#ZEZM1Y0-+#w+y zT@WOc>zgUhDv`=;t|XKak_)Lv^s!N{O^G+1Hq3PQZ&L1=oENUcXzNr-ae5hdpxoz=0(sW2AF37m4q4m8^?O_S;{nPNgP z@-{o9Al|AJ6pQIOC>M#FxoJhr7OQ;%0U^-n;&%Bqp?gJ&F!2`X$QZijBVigNZC0S! zItMkHbgbPKRp_`8DCM{oOgNqrG2ymgJ>?~VSMTBmgAo%tBstd3K&i@gO{REj9aiQ= zE9SW%YqK*ts^yk36DScIO7+lFp23LwZ!kzjd>x|vkb;47l?6>7auy?#^Hm*px<)6v zi()8|uYrcSb56(2a&ae$qDhICcA!K8gUYV8hqchw+!JYZnsbrlSS=Gp!K00hlt>OQ zbdlStliF!@OeFPCM7{uc^|I@h=&e>Ur$BG0x+t_Bg%VF!M3QkpYW`@XJVzn!_EE^) zb`;WHgBt}fcyMF+Md43Kg~qUBD-GuxIT*QuOJFj#;R}uDyR+iEQ$*qgTFyUzu5!ulLp-CFua>YfhLJ-A5rx_V84k{PN@zsO^>HCs!*;$BWj$EQZ zA~N!TvI|^<*(c@h(3c)kAxv@m8h=Dp8fG`X#YjqU50!ngSGnM0IDn^0iH{DS9N^CR zaNiWR;T@eytR-HrXT#LJ$yXTM9p)qa1&*b%)tVfE3cBXu+gSV)-uNwIkivW&rvI=; zmX6H6f0bQL)M+5tIl%rlKNtm62;?D%cRmD}Tuu50^5OQ))*ij_-{y|gpJ@5)0sg>%T zImmD0t_W`qO*Ihc{8}YyW04x%8ftbecjhE2UuN+G61#B2Lo_wX~2H5LDD@ zLFIUDRoIBA(^8-y8$;!2HzGR}MD$^^3#Z%dQIAbaD;Gh7)>;)Xsa%p!%A`OI2+jAF z@A>}y`aCP`Br}N)%6EyjN|=35ot9Ai!QdTV{XEeqD+Mh`G} z^AdXnml2y>z}ATVlwvW%uf!B%Mz(q-ry>qul*|He>5UA%%sKulek7h9K^c5d4?;&o z_<`^HPmz9ZYoM~v-tRVAl8lstpg0EwY7knyQgaYJ@LXS%xECZ2TXBK)h0;zT~VMzit<{8oHm9VLJajG9YBHlG|GJ+41r*dxUC=FQ@(F zn~bt4oJd%CG>Y*0m_X|a3q)WO>jFZhP@4}IWYDqQLp!zhfuT~5;ajtno-QZ)imy$Q zXun713KgM}=cUm?%?XXl-NwD$LP#-82nHkSMv*D|^}w-Wo;LGznoIA#)E5zqEcJjU z7AE07PJ$T%`XAuD1ccNE^L+SHGPx#lWlZX>VdX53%_Mc|jZ5U^9S?#SZbsibjHMoq za#6%f;_R0jo!^8@Mj$W?lheR;`C}Bx`efEaS^Dnv80+?kY;SX1c~%~KM4$cRrOaET z{Ft?>W|P0a`qK#2>fv1GX7uSVA;Bv-j)iLxY9BTifXGtf(Rn4Q!yFs3pq^Kx&SodW zYxpLSxs5MGs3U#~QQ;A5jMw7caO=88SnuxZa=H6{R^5GPJe*hSu#Fi@Qg%pr%s?LF z4WJ=JiOA`hEu$O$G9#owSilsz6&>mE+Ntd*l^HGNS-I26W$b(AW=5%cgQSejl$7*Rknt_DVwJ;TrH-DVT344c z=0OjmFEx9<4g27}a3W{bwMb9Wl?whLlhoE2`iYM4Ob# z=mD*G=~=;q&hLMYGbY~d9< zYAmgR)qgDJ(ncRTj3y%B2X7)4DYV^)KZZTKT*E{8mE*^$Oh z^O1M^4ApHnj66TDeP+x-V^2DwF9UNXW{r#(@k&Q@r9v>SZ#QeGpG*JPw^_$uFKHEwxC;0-)Tc`j9d@2AJsUZATAz*UnkA^&2l2jXkP5zI|Gwo3*P;q_+Mi8% zRvS<_4Pl((@*!UcV|S!1zeQk|kV1@V>8=%GT~4o646 z7J{>mdV$p5G}G!ju=DydvpJuT<+3U_ZfGS&iD0MGUsKAKart(!4ML8Z*UOw=;ojH{sr7(WDo7rG_s|8tgICW6HLe6jjGZW!CXHpROwot=TRS&V6wK7 z6qj8tA8Fv!IAOo*bakb*=jEk`ASsyUR|2m^(d$2uB zclWe7cFMbnSYU7yBJl4xIh-bCknBy9T0GK=`b1w^Yhcrbll7vOZfcv(U+nTro)%B< zf1Kt`ZlkVtl<()14?V2v6>?UAXwe!td`(!FPw=x-$hk1lozfb3^1|7aVxq@&%Ul=X z!DbZ_XkILIah%Td;U-ev;T+v7DvQ}o&AHlZEvo(8y2}o)$(-y>a-Ts7^{`teT`Z69^GUGSzRa#pflb%nzhoa%IiZRUA8wo+2M_s zao*HyOP7D9(&CA?Y)w(b4ap7vSMm zr1Wy-*DfF~KFe8~9cMW<;bKU~e!f0kt41oJx5$23=Ixi=@lT87%Q4#f*YMz_J4{~d zcFFD=pU!!+s%)cO{icH;zFjriU@7>v&$wznll3G?@r|bWHa2>ntqiHE7}S%PV>EIwUh6O z=h+mgj`HW@q_tEsc)_eZgR#Y#etv-_2%D3Mw-9?;tS6?)*hj8+O6-?+5|_nKwpvc` z&C`a=wNizWeYEb>c8%wD;Y4?zo7%$rkybmpjFRLEe_0+I)CP!TF}?N)q01kQYcwc% z?CTa_7H`k-fb-2PkRMSKe0Ou5SqVk(fSvm(Y!xsHPmnfEQ$`atK7@x>pM-Hq+{7}= zc08ARQ#nf(X3N?O=DOt)EqY3$;bo0#qKS5kl8T{_wiR~nnG3>OHWrZJo|{LJ64+w+ z%rJc3Fb*j%0*Id!#7qXm@WLS&@0SfUd%2Vah+48rFz$;YSfVi$KjiK^Wd}l+&`rtfxY zO(z?;ri{k&{YoIoKn0u3Qmy>T`)gvTU8@?xas18EROPM8fCB)mW(_M*BasBf#Q$v) zHO*GZ$br&lGEOlT8YE*$w@w+0=p1ZMLvxHgn^l24WYn?ae2lGh{*I0wi}%o zei1J3-+bJ|E~6Lm;v+7v-)_hJs{Q?u2qSmGFsMCqju-jRI*RkHWk07l(fR+a|H>HT zQ!VwI;W(zZ22uuKvz@LtG-`~y?giEuUcTUG@dK$VCYrX1WUHy>g?j$I>P%A-|ZD$ zUF%0zkyUl=9M=5oI`b7LeLi4>L}frRX64hzFunYvCDJVi3fq z_kLe(5ya79`UE6IUjyZ$SZxCpXWzAU^P5PVdoQlEYzckO9njSNCQiLf^qUyZDPMIj zuBh`pOWWg`#-neV3HHmG$qjIue0P!0;W9&OyP>BqLFpqFtIp6$l32_<3B_@`dIt(} zLsu9vP;?RtUr~j1<+Nw<(-g|%1Z&-#HBr^@$|!le_C`4cSqZdjJI%)2<9gfRb$ZOK zN#`pvVil>ILtggG@2j=0?K&l3z`Z_uJ4W2e2P1jyUqf2L4GhIVve0REi|HGl5K28} zH$5TLmU^NZgh)C;p5L^8)PcP9ff9HVb*ZOd%XLdAXzmhR;U!3H!F#~9*QC4s+#OQ$ zKL<|xiTJf7tT>>h=Xjw$g0GK0l`a=BYmcFFGwRv4qmk_S)2Hdw`k*quHGt}zD9r1e zrr~c{4k`gzKzX*iN48~XRlTg`Hv%jXdjIYUHzM8K2>TW}AaizNd<_*vFMTJfTfg+g zX3ae=$MFH4?NQ3(vdOz*E^jKB%a`pwUC6#0y<2i z)YZGP_w4}pYk)$#iS9|f7xlrI-mo&3rf@;xm5hCjwv3uFN+6)YbC(d4G`ss;uJ%G9 zH{{!9-=VQO+qP?1*RL~S4KAzAk3#cw8Z*%4+ZN+B(zlby)M*pauWSR2*E4RIqx$); z^}5O*)aG2<#9PpS^?EVqO0>vh818aO&w7?KT<>bjB2!ZqNH<@o&Id!j1y0|#*r3s= zjNV|~&&jV|;h~(rWl*DBUL|w{bQePjAY>YifpGIzeUQoP)88fINjpt}^3^VwUj3A$ z2Gt<}Q(BZybRzC*>`t%psQvN*`i|iO3U%pvD-N&JS)y?Xmm7#AkR&9!rg=%VKc0Bs zM|FuaKdPl^2-%WzqATO?CYhzaq?PjEQx0&1a472jUy(I9!E|y8V-p|9L_dxR)1;9; za(!>`I7AMeI0>DomM^YLB~>Se$(x}{swYkvkAob_gmn`oJE`3yHE3*H1gU1ggo`{%(< zK0;b7(cEZ5?QDhu)PT*JN=?fKev^dtRTclQ2~z)|J9_g}*{{_KVnfO@h*Q3E@ zjKNORsCw+>T*#G-V>Olc4IsF(Mw6!{D6GTR#oEy&$r?8bL@C)tjy5-`qio<*PWLqX zNVZiXA7eI_nLNzEW@0v8jp70!+j~7uf)-*^1W5c*gnHMw_OQNa25s}En=v zmBS#(1DYlG$eKr{=gqY30VDVR+*#6I;QM>MQc<%vYgwZ_J?~!IE_^aG_daR2m*wvU z+n~8+pDeM5gf&8DLNX8r^Za6UD2$$x3fN(@B*&$!%7cI{Yjy5xzydO+!91?2JJ`}1 zxUXk*-fOnqL6-4GZdLHj=vSp(UbYMbhUxK%4Y80({u#zu&C$LnYG^6%kt*9WK1@{n zU1h=@h)~!fRgyo-?r0G-SB;8K=ZLJU0!0axw!Y7S0WKMakpHd(UIdvjbj}=v#B)_iNbMm3-Ia{zgH<7q!aiDoC*7c8kQd;(59JE%@}$gc3U&GD*k2yAmP zW7qKFB-Vp9^4(!2(L^%U#%PxRhZ3mLV0P+txJVDe`puG1D+QD&zGeXoJBV-*H+Ts& z<|P`*S}(W)13YB>;qco>zD}l7mv{-Ye=e?X5$d7(pwP=N@M&pSe3R7EX}w;$P*_n& zrtWbx|6c558%OLU@{Lo+`62*ISi&PPO{2AtvyC4{w2X5q6h@}cL5oenM`HmE97H>S zZ4H6?meTL4Cg?@p2cI7-gXfEf;> z0ia0w4OEq(1kUp;v7gGk{3@a2IOm$yT`FaWiBMc>=PxJI3q#RC-6$jE|Nuecsq;Y}m`t%z9ziFsE0@M19ut97bo?Iq!T zR0*ogwA`Ck)#7<+6(gr4R@4Sl4tXVI0`->dIGR#+2QGQ;l2FHJKvUMhI~EJTryHl= zAv;HiH&K_sx5%UDX{6Kh0)o?@)|jd^0n!&XE5&R&Idk7Vma+%61&8>YN!8?EvWwgL zNQ-4iQW1?Z?R<>(jJ6cSd4^g@q#THBcV#Sst7S9~kbUmEXVPA=TrcJ8AHiVFx88#p znbX%ypo~y#xyksF$E!r0r%38xMKQ6)vm{y|w(?UuWCqei00~bvuH|Eeu z&J~+=oXfEoE7)Sd%pKFn^eEakShR(lG+haNh6Cq;u3TE*y#UstcgH9^c56YM`9Y7C z0Q!Sycjy&l9?M$;-~5Dt;WZt35|#YFOb1@_jj$E(ysjsRrX!X7d91{P6<0QVbYl!8 zeU7}Rt=LAGo<8&vDajB)BOc@Ww5)Du6{gS#&YpP9OG#d@))qsay%(W z@AP+AI<0T{UAcVS62Vo-(f14F=kF#|;@9SqBr+fNbm(=B2p+$Y@D zvZ1y_8K-*x0>I4EG))++UnL}npMgU1kwucmyL=8RLL{tb(d zci#EvMlw%WhoZ&9FLrw9ZJj0FMDYeDh^ViPZoytQJiaoq>;t&bd0H=(>AX~taq9|- zlhcKt8is|X?cqMy40HE5DZMC~H$?KTS-dNJ8Sh0%2j}k8I)~MN2!ZmG?> z#$LV#o*5r~L(gp17xZep`M)THj5uT#R@{ZPWq4QOis|(5G7k}&Mre3)$*8Fk>S6TZ zMhQ>2lnFO=W~y!tM0JA`x*CNa+O98qoBriHvMiD{++N8Yv?AJ?czamm+6KOm0|U1$ z?29CVbVJuDDR}JC3|hLHjT_2M)jZl5uAC_Qu`Io7%#u<<=7OKX$qRA zhz+s?zI-dDKz`2fG9Do5{3rx&;(mx1h|Iwl&z3n-AXCZ>@TjT`3sKvy@DQUis@ULq z2pqF3+#^&$9nhP1qU1BvNS$DAwxj9MhFP2)*tZj{9gWaBaC|2kkJf$#zyMk&8lkmc zF<{$(Z38G>q?(lyoIt{|OFJZa0hajKGRlR;Kpd4u8LMc$3jSjbMYuLWRvYh|{o*2@HokxrrZ4hokY>31qy_(~lma8N zrpkq0#r`Scnv%R6+^yLw+zkek0g(=t% zf;h$Jp*%lI)6+LzGfaxVktrt-54$_$@B2*X`{8xO4g=!r z>AR1uCUg60s$iNXWp~HpbTxU8*UT|m8cfcTgvbOF4BJf)h`)0S?SZt^Y!>=*Z04c z{=a+I9xGV*Z1?7y3vze6=Fi_5+uHQVr_a6ok7s+=jCr9eXAb@i$;!T-U;go+@yt4d z@#76Y{e1Glytx-r?sKm+Y2VuSXzaWXu2uzXTQ>gZfz>nmkpyl1V8S;)?CbBoXUvRO zr`$e~kydez|J$RxfBWY0nW$$sRh(S-zv}NY2EN4Xb!|&ak^kVMHjhSldXUTK^Rh;qRru91`N)|2J d9ZFA09?|gRw3lt@o;yFqB?}7|{l5+T{y(bj_*(z~ literal 0 HcmV?d00001 diff --git a/web/fm1/versiones.json b/web/fm1/versiones.json index db09729..1ce9db0 100644 --- a/web/fm1/versiones.json +++ b/web/fm1/versiones.json @@ -1,23 +1,23 @@ [ { - "archivo": "bubba-machine-0.9.0-beta.bin", - "sha256": "9b473440788fd50939896d2765d8df1328f96f82eb5d0f0312c9abb7437a5855", - "bytes": 477904, - "fwsc": "bubba-machine-0.9.0-beta.fwsc", - "fwsc_sha256": "ca86cd34117238a77605381488ffe6c0027f1da65f0bff3b64601897f712f7b9", - "nombre": "Bubba Machine 0.9.0-beta", - "nombre_en": "Bubba Machine 0.9.0-beta", + "archivo": "bubba-machine-0.10.0-beta.bin", + "sha256": "d8a720ac60796641e7efdf161cdc9edd86c2e06052376b2713465d674be8f377", + "bytes": 451460, + "fwsc": "bubba-machine-0.10.0-beta.fwsc", + "fwsc_sha256": "e1f444059553b7a8e9ea6b916fed0ea3c7d5404a6e913a130f11b9d3d9624e7d", + "nombre": "Bubba Machine 0.10.0-beta", + "nombre_en": "Bubba Machine 0.10.0-beta", "detalle": "El groovebox completo: seis máquinas, secuenciador, sampler y sonido. Beta: una actualización puede borrar lo guardado.", "detalle_en": "The full groovebox: six machines, sequencer, sampler and sound. Beta: an update may erase what you saved." }, { - "archivo": "bubba-diag-0.9.0-beta.bin", - "sha256": "e4dabfd1fd7a815993003f87acfee0c57eb6b37c4e4bc39abe6ab1b3a75d9b36", - "bytes": 125416, - "fwsc": "bubba-diag-0.9.0-beta.fwsc", - "fwsc_sha256": "bea073136bde783e4c728b04ccc9f5ad5dd937ddae6879e44d5bfc687e92b27a", - "nombre": "Diagnóstico 0.9.0-beta", - "nombre_en": "Diagnostic 0.9.0-beta", + "archivo": "bubba-diag-0.10.0-beta.bin", + "sha256": "0a299bf3153ffbf954c8548fc85b5a0be48e027e9290d372c00c57ee0ac1a045", + "bytes": 125544, + "fwsc": "bubba-diag-0.10.0-beta.fwsc", + "fwsc_sha256": "fc3af41b02f0f1cd2a0fbc1acc41715ae0f97976737ac0782ee0ca864d21d157", + "nombre": "Diagnóstico 0.10.0-beta", + "nombre_en": "Diagnostic 0.10.0-beta", "detalle": "Sin sonido: muestra cada botón, tecla y perilla para comprobar el aparato.", "detalle_en": "No sound: shows every button, key and knob to check the device." } diff --git a/web/img/00-home.png b/web/img/00-home.png index d6572be150f9a77717c1dbaab8b7e20155636b4d..0205bf808e121441986e2d7b423f49afd7a9f4f9 100644 GIT binary patch literal 4069 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 Hj?w=Ege%>Y literal 4014 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 m`?qV+Sa|CV+SMZVE|Qi8 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 literal 0 HcmV?d00001 diff --git a/web/img/81-b303-panel.png b/web/img/81-b303-panel.png new file mode 100644 index 0000000000000000000000000000000000000000..cf27517f5a88cb65b36d6556add07ef6595715e1 GIT binary patch literal 4218 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 literal 0 HcmV?d00001 diff --git a/web/img/84-buno-dco.png b/web/img/84-buno-dco.png new file mode 100644 index 0000000000000000000000000000000000000000..77708f8cfa547ba6c38c669fef918676671af136 GIT binary patch literal 3672 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 DRP_)` literal 0 HcmV?d00001 diff --git a/web/img/85-bittal-osc1.png b/web/img/85-bittal-osc1.png new file mode 100644 index 0000000000000000000000000000000000000000..5a04414b63658c866f0b50f0b646a646acc57909 GIT binary patch literal 4036 zcmaJ^cQl;a`c|TxF=|Hing~J=gp4{dy67TGv}mIZVT=|v%tQ#uiIy;Wj4l&IH%gR4 z^yp=DCi>MmxRZ0%x$EBbTkH47e!q7=-?P?U``O?3?Dvf|GSH$2a01B4$mn&n)lEpx z-Cu*2f)sJ`VI5>-jBz^Z56uEIwlIYSBV zeBZ=xCytsb7Ys0bb{F_6>PXARrjLR2j5ELHYjnXYnH<+ajcf1 z&M%n9kKx)sBs;O;`1O^F@R^~SIrjR79nADGBaij;x2QP0rG4z+Y$$$rhpbOFe!h>h zt_CkyC~1Jzn0#9(IXOs&khx!I`_(2cZ8kF}6wbT-SY*H_{FSFft1`Q6ZVe08Z%*{7 zy(jhWHxXBZr%ITnCk}!FP4gy`)Ccxvqu6_E77Q!I(SPmoR4d)DKey#e!aZ%@Tjk5B zf*AJt?H>)SMeaUQeO6Bbn{~jx&MkVq`Jn`dBEnX}t(0n;2dwp`?8Ched%veUOmF3U zpDuQg$d_#Ee;IngigRA?VDa~(x3iB&_eZ=_8A~yDaXl*h^Dt5I!nN^`A<;e(^;v70 z<7SHeI`FA2asKfYQAG*Z30VBAXejQ$AqElg=HJdDr z1RxRtYB z@zKcOwLzfDV1lU8*5^2l-&j+9mpMN<-MDG^@VsDQFWHdaJ)l_*R5DhV6Be8yfleY) z2lQA4{ixhCAb)e1<0&`Y=W>3yJ$hm)Mhvf?vkW^a+k)dKJ$HDUIj%EL~wdLD|bNW%iSP z&hJmXx{YsfFWsqiu)Je7bAc0+ZB&g)Y!wcoz90wW+>@w!tF7$iT;u>QydG6%h%B{F2D|z7oyv@#nyMXe1v(qb=q$FExwai!j8ta>OeqGWLySjKFDevl|E2W z=FQ>-OS>g(eo%bB+MW4chM1dZU){e)#HT+*C$1>CLO>hAPrsZKiVfzMP!sg}2KG`tej&{2LOtjbM6A4}#arBI@ zz4*^OTCRjyFRwjWO>6r3vG20KOn@W}Iz2AvOfD;ZM5%Ah-8@Kx*f1j*rbu5_o3b{(j;plg=M0n2p@#ZhJ>SRd5fxT~gg?zjj!rPr+ zSqr`slKF!X(>pTr2enWtw(dQ>u7n{$T9_+|uOd`azKg{R#-oc3!A(4sQAjd4euk@a zL5N_sJ0#P+H8GFYjp{FUm2kz&buK1?h#Q7%nPAa4EZsmxQpZS*v#Y`IrCwach^s-{ z4AOzc5w1AtH|-{M4&xvV{xrTb`ZT^^;y%<=>SZ{G)XOU+yy;1>%7BV#xOnP7>ZI$> z#FY`eol91cYD({A+J?LcaJM}j0%D(MR40eNbT)MK2?p;F@PEV`N_wyEOyLPb((XaE z!0Y{(;Z)6g)t&H0_Gfq>Rm$o_HnUv@-+`j6TFKhv?gut5o6B)g`@Ey)kGd z?{tqFjmyBt96&ER{d5ocrd@=!irB=?8K+Cdc!8)Nf1X#l?(Rf;k^Blf6Z|~Ldg7W& z##kx0-Aymor`j3i>ONd!N6SIlV@&-jqSMZR>}e+7OP)(PRK8Hm5H1MO=dQDSuWBdX zv$pti?Sg=N)pwYcN!r`SMH4MkjYD6UK9Rx$kPM0AYn-*uN|!wRtzS12?SxrqEjr(P zLg=3(d$W@}Xqo+|MoxvHV|K-=bj`e6=_yy{8Fg;U8`i&E`F~~TZZfT%H2+~OiW=|T zfqRO4FWU{CSC-yWj{5A!hzAdqSz(gm*A ztGGd~@{HA7EOaO8Rh-(V6WE8L;1*EK!fHkncjW7rPMWNmo(3ElRg>^Tp*VA+-}DD! zk=kQ?)N0k_$shom(S!%AML-_ZpCBL#FC{Z>8H9l7x$1ZNL&v`x8hzC!WVg|Covn4i z@E*nosC6sT2h+0DenW?<;l5^K<+f2BcV-%M=#!JTljG(DZEgbS?p4WTn280CApFI| z`v&i33R&luJa+hif^UdVO4x(~^yCm?t~%t1QISSk==kk=vw8ps?k}!Iz+kn_#ZNr~ zNNGVE-Rr?*;qbO~7n8soRQZ*=4ba9iCKV2&qWH=l;{Zc%cSENhv!i&Kd4ja90quh~ zbK57qM1fGPjRd-`kF2PiJb!eVhdDbc^Ogby(u>4+ua2(tFl9&emnuqc29X#t8w}P1 zC7;^|yBX><&}}aOioiF1>j;!#oKc_xGxO90^+GhGNCsw)n{y$WOC;kRN#5w|@a$bg zZU~skpf@B z5Kc;wMo|*b|2v7oK`rc%F9ed%92!D)Uu8?l?*sWdwDm;3f6G|Paqu85eM)oEK4xT* zl*3wUg>K6QmO;X4K{uRX^k>lQ&mvHdw+>JTW0ZNzUmOfu0vSN>q-@6=B~-09{-v$# z5@sY;b)NUI%wBuSHk#U=?En6SZH>4ulb72al-!U7--|)ADh5)e`TBl;1cc>RCGpnx z?=M11)*>_KcwGLcA^yh|O%Iw)E`$R?E9EJNh2GD<5o_Mj4TL=^1i#+& zN}w1XWzX4~J!zIWE9EhHP`o;!ISllya`~A1-M>5nL3u4qq!ve^eh**)Jj^I9fK)0sowa!bX0u;90ejZ-rp&~T=j4dt8ry>No>vEPHY3DEk(1NQ5- zwjF7^*FF|;ykKS{t;bWp6(MpNH`tC(cKK7B1ps~H-V{koufDf^w#sAyf_4@ZMh+pJ z^V`Y7`2qRd5RjBC6BUsDoByQ>G*GXdgATwB+9=U~HZShW>qK)5Bmtz}@&%%_6a_$g^O7iV(Gv y1WuG~>_F*}-cNMr{4G*vLUQYfoK{_yD;j8+s2m{#xJ2sC$#gUf)XUZEqy7y$K*~x0 literal 0 HcmV?d00001 diff --git a/web/img/90-slicer-trim.png b/web/img/90-slicer-trim.png new file mode 100644 index 0000000000000000000000000000000000000000..3179d8f76cd652c71f7896b919b3244bb3a7b118 GIT binary patch literal 4110 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 libre para tu M-VAVE FM-1

    Ver el código -
    HOME: la consola BX-1 con las seis máquinas
    +
    HOME: el mezclador de los seis canales
    - 0.9.0-beta · HOME ES LA CONSOLA - Corre en el FM-1 y se instala desde el navegador, plug and play. Es una beta (la 0.9, todavía sin probar del todo en el aparato): se probó en un solo aparato y una actualización puede borrar lo que guardaste (patrones, canción, ajustes y tomas). Más detalles. + 0.10.0-beta · CADA MÁQUINA ES SU INSTRUMENTO + Corre en el FM-1 y se instala desde el navegador, plug and play. Es una beta (la 0.10 corre en el FM-1 del autor): se probó en un solo aparato y una actualización puede borrar lo que guardaste (patrones, escenas, ajustes y tomas). Más detalles.
    @@ -78,14 +78,14 @@

    Una máquina hi-fi que cabe en la mano

    La pantalla de 240×240, tal cual

    Estas son capturas reales del firmware, generadas por las pruebas automáticas. La pantalla viene en inglés; el español es un paquete de idioma que se carga aparte.

    @@ -94,12 +94,12 @@

    La pantalla de 240×240, tal cual

    Seis máquinas para tocar en vivo

    Todo pensado para los controles del FM-1: tres perillas grandes, cuatro pequeñas, catorce botones y 27 teclas con LED.

    -
    T1

    BR-8

    Batería modelada (808, 909 y SINTE), calculada en vivo. Acento, repetición, flam, P-Locks por paso y pasos que solo suenan en el fill.

    -
    T2

    BP-1

    16 pads hechos con tus tomas, como en un KO II o un OP-1 field, con loop de sustain y BREAK para variar la rejilla compás a compás.

    -
    T3

    BB-303 · B-MINI

    Bajo ácido con slide y acento, o tres osciladores con filtro escalera. Se cambia con una perilla y las notas se quedan.

    -
    T4-T6

    BX-7 · BITTAL · BUNO-6

    FM de 6 operadores con bancos .syx, wavetable que carga presets de Vital y un polifónico con chorus. 92 sonidos de fábrica en total y los tuyos.

    -
    HOME

    Consola BX-1

    Diez patrones, mutes, solo, escenas y CUE en las teclas, y la mezcla de cada canal. HOME sostenido trae la consola a cualquier pantalla.

    -
    DIRECTO

    Escenas y efectos

    REC expresivo, cuatro escenas con cadenas y grabación de la canción, fills automáticos, reverb, delay y 16 efectos punch-in.

    +
    T1

    BR-8

    Batería modelada (808, 909 y SINTE), calculada en vivo. Secuenciador por pasos con acentos, repeticiones, mutes y un largo por instrumento.

    +
    ÚLTIMO

    BP-1 Slicer

    16 pads cortados de tus tomas, como en un KO II o un OP-1 field. Al cortar escribe la secuencia que suena como el loop; también graba la mezcla.

    +
    ELIGEN

    BB-303 · B-MINI

    La TB-303 con su panel, ACCENT y SLIDE por paso y overdrive estilo TB-03, o un Minimoog con sus menús. Cada canal elige su máquina.

    +
    ELIGEN

    BX-7 · BITTAL · BUNO-6

    El FM de 6 operadores del FM-1, una wavetable estilo Vital y un Juno-6 con chorus, cada uno con sus menús y sus efectos. Hasta dos pesadas a la vez.

    +
    HOME

    Mezclador

    Nueve patrones, los seis canales con volumen, filtro, delay y reverb, mutes, solo y cuatro escenas por patrón.

    +
    DIRECTO

    Patrones de fábrica

    Arranca con recreaciones de Da Funk, Confusion (de Blade) y Enjoy the Silence, y graba como SLOOP: largo fijo que da la vuelta.

    @@ -146,7 +146,7 @@

    Tuyo para estudiarlo, cambiarlo y compartirlo

    Código de conducta Licencia GPL-3.0 -

    Bubba Machine 0.9.0-beta · © 2026 Erbubar23 · GPL-3.0-or-later.

    +

    Bubba Machine 0.10.0-beta · © 2026 Erbubar23 · GPL-3.0-or-later.

    M-VAVE y FM-1 son marcas de sus respectivos dueños. Este proyecto no está afiliado a M-VAVE ni respaldado por ellos. Instalar firmware no oficial es bajo tu propio riesgo.

    diff --git a/web/lang/es.bmlang b/web/lang/es.bmlang index 65718832007bba44886e3e97b0748be863e791d8..b2f14df449dcd04508b26479e6d39c64754aacae 100644 GIT binary patch delta 2060 zcmYk73se->9melGR~{CW*Fq2n0bTF`m8g*r@b1pA49?D7W@ZVHf=aOQq=~2yaeb{c zC5j*hhKl&$q-oKZ5L-IRtbV?a z|K?YbXP;IoJEr~FR5k6>$MFGP9|-|_?!^bD4vhs)9Xt?xcW{ca=G!Xc54l39aPC0p z?)M&sR+@do+P%}l$I)nb`3*Uuop;V0ZfbJPx-!2gD(-ebj5zPo>`&g^V=5f!Gc~Nc z8C&{#-n`FWJU<_G9E#su3=;j*pHHmvElj+Y!Yqm_JF}>n?Ok&2a6!_)3LZUM@y>^MBvCY}@x0@KWs*i)BN;rPgrBQsR_^j$?a;uI^@GB=oLzCG|o2{u|F{MB@{m z6}m#?gw4OpJpKLo%)G=e6uI@k>dTd%XgQ6c4)*JToSU~gURY0;{le9DH1B55qWlIj zDZk)_=TE9~ZxP@>b;PZ#s9a9$GeS&CcwhR|D^?EBdl+ebMe~ z#QLZF;)Mx#~mQs?@;4G=R^ZsjIiQ}cazn-$`8CPqeGia6XmJ`y=EqDC(Z-s{X z?c*K&+j|Fo=6Vudy5r!9A9mtdU095SI3*lS2~s+-qd-QsO#KyOX(UMXuZ7Lf5Yd6+l@WbhfP;w zw+{XDH#@KO-b?5ER;`?UJtZUiM#-;h?`mg?zxuAXx_{rCjrUz&*1GQR4R0FAc@**> zz3b=0w%5KGK7PP=q%dsh2*bZI5_hrc@%e_#YN!E7)OJPne81&AOMtOdou3CchPXaH}6KY|v}4mv?MxC;8fAQ%DTz>5eZ zW)P8tiEu3-789w2Oym(S5o?J}#Op*oafCQUv=Qft9-@!9O$-tbi7|pEy~zl24w*I`*(>Z1NZ^|`1)YMctBIeHGALW^_(y_$ZNE}=KmW%Mq3FTIccfIdxM zq(7s3>3g(46U>A&QOr_?XO=SxvyLfcwlU>Q4YQAFWR5V+OdHe5TxM=CBMifOvq5YW zJC}W$eU?S+YIY0zCVPlI#-3u&vRBzbc8p~WS-ysFL!=?ju-K4l;0-)dIoV;61f(W$ zG6Gpha@YhJh`fkw5Qws95%I6kB0`Ysu$e_30caKlMMEG>lr#k&pqWe6SNP11(?mN0 z8Z=7~KV39I5s>F82OzC}WWl zE5aHDoSmwdhD7Oag@o(KxI}L>hImT?k4fSyk?t2dBLVB+5spF;uz4F+hmGP-o{K32 zX%cj3I82dOa2XV2vkQuz85WV4i;#P%8z~245*8K$yMnBWpkgh8I$;}6lu$+zC(4)v z7C#;q?~9Yf4FzTe`_o&VidwGX`e14k;DL%H#0fH|YRJx++!i5+VL}JKC>B5*9p>X1 z>j@2V?y9Sr;_kkt!x=O3@SmdwC0qngVR69_mkx6#YvC!gg1d^-nLDww+o}RNlY7Tl z&hveu^9u0za;vc*Txc7@_3w`egAQ55mtwpK*BJZ46%e6p{pnV5M=%Lxl7NuyA;6hz z`2LL5Yq$`-gNrnJVp1{Z`53hs+02N;+2bn4M$XcUA`|p0k-<7K%j6>=j04{dya4_O DcJ;V3 literal 8837 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

    x1BpkZ1nY)X& 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 literal 0 HcmV?d00001 diff --git a/assets/screens/83-bmini-fx2.png b/assets/screens/83-bmini-fx2.png new file mode 100644 index 0000000000000000000000000000000000000000..bd5f1705739e062445a176bbe4cdcbf9d18631bf GIT binary patch literal 3328 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 literal 0 HcmV?d00001 diff --git a/assets/screens/83-bmini-osc3.png b/assets/screens/83-bmini-osc3.png new file mode 100644 index 0000000000000000000000000000000000000000..28725f7a394a3b7baab23decc19a219e4f311be5 GIT binary patch literal 3889 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 SsM!A%1{hp5)+^CL6aELkj%kDd literal 0 HcmV?d00001 diff --git a/assets/screens/83-bmini-scl.png b/assets/screens/83-bmini-scl.png new file mode 100644 index 0000000000000000000000000000000000000000..c7a17f7af740737d9a5263eb0ccaa2bc8f901bce GIT binary patch literal 2610 zcmbVOc~p|=9;VcAFqcYm$tJa?i4k!l7s`d)i`1x5+_%Kt0!qt}W>l=SH1&>4CTLpP zl$t@Bm1`=EqNs@4C~8*))GP~JP?3u@bMKvV=A3)Z{p0(-^S!_KeZKeiJkRg_ULe+{czLXr?-R&ULM(McMMB3XCjNveGCX-)TvyM zMHXO2;%iWBwjDRceVHBDaPTXQw1d5He$QZ=ux z=uW-Zw=bAS8o%$kitV3*Sp`6SQVCXv4T-NjQo``pyXTE*%RZeu^kuB;kT2eA zkVk9gZxo<2=Gz{Y>yu6mI>1&Qn+Y^(W@mCrjn#vAEujLn5;N{^*$=tK+RcxzW!UN_ zYWsL=7PXXqX0gpA`mZjw7@&=G-?QULYA593Tj{Jy5zhE3R3B32@1-=^^pdKAbhfkw z>A{?h3k@&b+`_j_*#@@el{h^m2d(dFFv3}YWiKLlQF|Dd3e>pMA|Fh>U#4LHd}Ihr z*0E({{0gQ$toc&|qb!OZJoy$cM}@pADe!nJX_@Odlt`%(3SCleYN6ua#4 zwA^0?#;B7t=4{Q}1#8XLBAl$l$?_WTY16b3&)wI1gWoHX94@EW^_J@BP4zz0HB)%) zYT7C&7!7(`_#i#W4FAm$irHzNZ+g!mpE&(AKes^EgfF=-hrp~994K3@6)`XKv+R!x z6%B%ZS1Ox0uIr4DCZqy${<#At7jizf(-o=HHs9vua1=}f2*aLuIFSI&6{5}} zfTt2a=003OR)^-pJF@+M*v!Kh9&+}DH_xy;=BF${0j})P;>Ke8`ng=?SzX&Xc}1hk zh+Q`j0J=+1?!~iPMn<>gBbACsyra&AeRtj{?n;U{@`ZV^A6V$tmRJ=L;$mp|uKp`0 zQgPBeEQOr4kjicrdnu&kAw7g0ue@hBX>e)hi7?(T7kvHVp+2fHX|fMijkz*O%;REhgXslEd+BrQ07x)K~)3a`jjlGEz;hazX1|l53-rva`TdOWKA3_D*ROl zHM4{FP-x1E({Zpv)LCXD*R1hT1nXfDZ;wTepN25M!a?JlUYzba6GfJxoMwylFAR8J?`l^d?wSh#9%Kg-VXH5KllH zQEnsWHKZmn%LRO1*G6^iay4d+y5RMUQgCe>7=2fDo5HV-jTRBvnOi5@t`nij(kl5o zcK;~g|1Xq3m6HSL)H(L02S_2>A4>v0Y~d@pf)F5-(x1)Ye`74U#+7 zhVpj%Z-JfN{USLNCBCSvqW*8F9^2lT#eTe`TO5mT62M$Nqa;E&RY+q-D*gH@{mv1S zo)|)$%dPk*eZzs#ENtcXF;o^aojf=f{hF6z;#c`HU*=P_>6@QN!>+D9 z?~qHL_3L+xT++PL(eZ3pQ3#8JPh9U^t4nS&--xU_f3J0T{FeJ<@ph`=Z;4gZ60B&i66MuW9y$Ft3bjE(`K7M?hMsgAE)*GIf8?!s*K zM21%{tZW-k`my#VxWRw7$6>e-(@~!2gTmH0 z2g(IHweQfCk=SZ06#F|8F3gJCmC+$S(Mv*HOheyz+_3b{I}VU(bUhUpMXP&KRI%_K zzm-3j@kqouW!zkQvZRelhQ3M85mbIit*>>1|FixqLBBC2N-Wguwx)0X#S;bwiE>wn z4XXnzISh{deR7%hZ_CDuno;GH5^yLJJL}UKR9gv|Mtyg#G_w=PSbI5Pd6sa^YW~v; zAtzevQFP?J^IB&{)WvRC7`axkZel>I365=x*jGfGS@Br$GJ7;>xvSsrQK3S@i(dbC npF*)aom=jolX}?hUfb2c3^=1%+c#T!76iCBxY}183rzYK%+=^f literal 0 HcmV?d00001 diff --git a/assets/screens/84-buno-dco.png b/assets/screens/84-buno-dco.png new file mode 100644 index 0000000000000000000000000000000000000000..77708f8cfa547ba6c38c669fef918676671af136 GIT binary patch literal 3672 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 DRP_)` literal 0 HcmV?d00001 diff --git a/assets/screens/84-buno-env.png b/assets/screens/84-buno-env.png new file mode 100644 index 0000000000000000000000000000000000000000..5ab1f8127e34886891f451420dee54fc6cea5f49 GIT binary patch literal 3537 zcmYjUc|25a)UV{1Z0VORR6-HIY-3-NZHhwnC6UC8HO7!3lrkz?*+!UQNMql!WKTk} zjjdtE8e@#HFM}D(JL>bkpZAaZ+;h)8=Q-c!x#v9Rd*9qMy~V{Y#D479F)pLq1{Tcw z+R?>!f;m>GhPN~IX+{RRR>7Ie$g-ydWB%tOna5t9czNmszu-Uo{QpTge(__R)PKp! zdi?ltRt`>nwi~;LuTHUC3@$In%8P!@7Jb-?vIm3_S@o ziFON(D^>d_UWX;DIsNS&+sQPH^m-< zzw0($FjfEfz`N&}4~ng+fsoJ~&M3dbpJAuAE2Edl$<#>Fgm1scSvJNvc?foCddxd9 zeq>w1LhMrmyJ(3~rl5f8g~&oTf&(NdRL^Wo#B0ta{JZ$$;r4jx6|j-E2=bQvR_vrP zDjxP}?L+|Jb|01=J&`=*e@lH!t7)ma+hM+7+VXRdU~9hT-P}3H_*U}DMjGA=)>P3z zC_*ZxdW}x)CM8v>PqZ)`jVhBto3z>54_n0%-)RsodZ-2Dd*O4rl0+0uIF%MwJ;dIP z=gw3_Udz0skXHC6?3|wup{w6qIHsI3U9iqRr9x{>^bO#O_}UX4|J?k>FB=;mCfMd; zVedft<^{w5W^+h6p!`H&l0G~w$`Ed-IbYcq z{&Wyh8{q>R*FrT8%vi>*8R~W&&k@ysDOGCg&vAHm@~5fa}*WfjRd2& z*FD3g9ZIg9mAE~7QR(#wW*V|_<=h1Guj^A^q?2D@%dzZ4|LG*$&833Xk&p*4t}tpO z%OEw+3z#Nz?bG0lmGK?m>9+S8(y>VQcp6 zcNX?Uq3pTW|F9ZGS*4>XX8pPM-pxgGB6&Iv-&(rDeU-G$%n9wvP1(&p)7kgZdig3- zM%v(2CQg=Ym$!1B#5f|b-x6L}eudZr?J|PyM*Y#Wj&W8A#;>47a za}Y!*pI#EGdyoTC--sP`WNG5XbaQZ}U}OC1%dsCxg$snI>6~0SQrDEob$YapB&Y(q zqRxSqiu^Qp%-j@lHhs%cCoID>39Xwv#L5hzYA}^PR2S7TKfjOxNl#=kP)AyW2Ll?m z;?$64U~gY!Gb`qr`px8_4@~12bQ!^e`Gp`F(b$h5*jBX$(h=;PYV4dhlq@3plU&7w z);?rAuXJ9BInO=t;3g4kI}4RYSL_WgQ2hQ*Z@^Ty45>(nIMQqvK~f&J+Aj2<}a=*M=A$QQ&fk0{+Nd`HxIEYi@AXO@jr{f>w^aY!>d(A z*ilXsH4|o~`2EWSP$Kc?Ev=Dh3I0I_=(z%_h)P#Zy@rICG98piTOXMY*ENnDGA{}+ zJ>oR}z)v{B7laJ2btoA*Q?yM`yeZQtk}#{sQpK(Of7$(I{w9w^tM293k<2~!zwk6b z&dkgc78a_hY-h*UNw59tOU=0Y2&HcQtA#Oc-Q~Zjwq3M6V;OiQx^yESdzR0>1ZQ58 zTcjlojZ)C;%UN;-Unt4KSjU%c2ePMt1mksMKsW9aX|B|IKUaFL|GM{b{)U&d`XRtr z=a#Ixlg?pAhRckhv;B_I_I4Bd>Zox~Zly1Ww&LXb0g)xyu#LpFAHBxJYn+DsjO*}c zd_r~hmavVcx1HYL5S3M5ZGt43WNFf$dai;7tHaj!f~-;OVfN!Onhv#l#XmbVQ{URx z4&CWp9uxpBfO_4_eyTNQo#Q6JMt-GCTi@4L^QXiS_2f+ZJDi>RGy?rYWCa6mr!H4h z)x9X~WOZX5XSbTVmI-L>N&`?^E79EA?e*$uk$yyJ3v)4?=Yk!|oJMX}j zawn4usD6{TKoP1xg=c@nkL`a9=4rQXEfCrxf#7B%KQ0CAPOnQx=$z`u+KFsh|5yun zJv6gfn98LSt%d~5+esSOsMGC*ZMpq5B;1*K*#0lNEeYCJbymjcXemZz8#@7hiQKU; z7dX=-LM~eKf%H5N#x{?p{*_!Pxyv#a-DR{PDcLlab&~&?e&h)pFTcdE12KqR4=kHm z;G+MVUjkZ$m9_nUB73G zonHp!N}k*P9E}C#ig1CYeXFbYkenae(=g@w$TNrUWNvH12l8Y4#msd=lSOhfoYqo1 zB;P0VyE;8bVN`!z@~jb@XXH5kKD|o9o<0mYNqrhe=O2bV)Ut3z!7Rm#0;8I5dJD8I zJ7W8B0|$aOefJ-oB-yzd9z`(ju}A@mVOZ#}J*m!~PUq#?fEa~-fZHaMg|w>nD=w-2 zr2aa~&3>z;I8K7(23))xKmQ2zjXNA_g1CVAx^x5zfDk{|L;S%aX>;@cwGJ(y`f&Bj zHr6PrcscOWTen6}s3xuK+v*?%60tA@wzA*ZZeM`h0=3L-wqIPVKBBF%yWO_tcSjKL$%W-$d)ux=@r>T)yLFm&sMghC zZ%X(L&`M$(2f~)GVoX-v9WNEzbAh8NJk2;y)<;9t-j%rY!NTP#x=%n57&lYxrh{G< zQ~OmEYaww))&k!S)o@&Nm{OToB1Dlq8no>0L3-{}tb2H6)niF#MmDqiIAHtkmvReh z5=MU}(zy@ozW|L*(=i~RJUpfFM*N01dJW_>#tNJUB-VPwbHr(B>uf1hcRZ|mF)Ln^ z*8TqUJY??0IT_KnR{=_2d70^c)RTFH4E&LdH;Tu|)7d-*N8I91vu-1vZmK(w-?!8$ zWPtDusw$}V#s4i|K4ZU3Zffiss zg_n(Ms#y~L==1_PQR$SEOe@W%xclwjQ>!?Ulcp)PzqXnHa%ODnM11mHirSTTh#iah zdL6*cm2*@s?~VxX%B*FF!tPi{Lqn76>_MCC1HtPmpD6rKC#q+6lNAn$qrr@FO@dum zF!>v}Lg4}K`l1H2a{q3_$1FQ@!;(AaF?datpol^Q&bN8fPx={c7fok|C>>cr) z4yrhgG^Vp8QoG6r$E7xfyeyTO44l0ZO)r1{B(w|^OY=-;E1S%w{0y4-f+Z_$gbb74 z-8yIZn-7@N;e-uT=VnjRAX)P*tx#9q2NT1~t~co8@)qhTYa+9glN8u6`P*%TKbaY@ zlS!g}K#alw}WA^|fdIsI7a{1BSBB4)Qi#qW&1GXV19a4QRL932b+)7@7a>1+S zx-sa3oh_&!|M14p5IX6{?4_0n8eM0LwYr(25!P#kD^m6}Egk@7$xv=QQDIHMn~rsF z(!ExZ-G_L>K*Zf);U~&lqNNa9XZ|kH3YuEnHWefD+zfvx)cuIMb6sD!YuEdciu7lG zFFAtyfh`r}EpSHGYjMV$P*6bpdN3mMRxAu+0a-B3GU>lAT0DmQD~()nE3 z4%e#<8r^Z}wF+^nX#sU7e#}f30m5xks+#{x>C_3gP01@Gg5=uP>(`2>n>+DSk&P&t z`=~FxHUoGch(GlVaO;2-Ir(_px%2%y=#&H7#GA5W6@(IZ@0&+J@; W4o_FEEHZ!9ju{!68kFiijQk&dE*^LQ literal 0 HcmV?d00001 diff --git a/assets/screens/84-buno-fx2.png b/assets/screens/84-buno-fx2.png new file mode 100644 index 0000000000000000000000000000000000000000..f6fec69aa656afb8f463dce587e334c04cf76309 GIT binary patch literal 3397 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 XPn-I@LjU3S=m_+prAgHV*XX|i%qxHq literal 0 HcmV?d00001 diff --git a/assets/screens/84-buno-lfo.png b/assets/screens/84-buno-lfo.png new file mode 100644 index 0000000000000000000000000000000000000000..8ec85d5a2e0c2b8b3f6fce4a82d0be36011388aa GIT binary patch literal 2851 zcmdT`XIB&07LAI4bi|=X$cTk5p$7~lBs8TB77&pjMR*@xsD_hF%@irX+GO<*be*y>!&RXOo+VEIDvRi&Hl|} zXM~Md=(okx?)#aT8@1tYe+i0zKXBk9r@ zojayf<5ba{aS#NiQuzbp)OegqT8UUdtvER44bTD@;AGdCVw<-_V9V6_ce+_{OkX?J z<_Fcp@W8KXf8RSDep}yd)x^lsM zNQXWxepuUGS9N_Z>UGX3oYP-aRxOX15Z~*#iEX=L#@pHtrFCu2jP=gAXtjp<*wjDFaRP|V|8qKxJGpqF>RqHDvHa7NohZ0 z9j-Kwa&ZWFTmL6gUd`skMpJT3Ato0BeLK1$AEsRe5TgeWS1|Ldg(v^SCin=~LjP z%l3%Jp398be!R7Qh>#v~Rsud?oC*>-VUTfRT~^E2v<*s-tIo>zy*;r=r4!(Tv1a(K zNK55q9l17PM$^;l@-03_XbgHp@g&r;B!7?;p}Ub*C{(ONB{A3+JG7%9%B~6y15b`; z+$hjEXIqrc0`elf21Bq*r<>0(+Sk8x_cMGKPd+O-Z+)+$^LP`=YT?dARsZ+chivt{ ztY6TP$yqUiEq%cV-H)1fGDO}m$h<#bmFwCbb0IVcZ}JrC>y`^{_uzCF%*;+fB;Fv- zm}DG_<&66Fvc`&S{6h$=B(N*0bauTeCQkX!&tVv)BWW~~%ss6{4V=+?G3O4J3A)_e zso0ovcM`6m`3IfGOK^rfFca4$3m>Pki^IV6pHv2Ol~qT!q*#!@OUv^w$(c>jl}3;m zhd!l#7>>0UT!k%BT-tFx^9MCvr1^*-O z^{K^y{_pxJpEjyl&wcBSVR*7DR+gOoq`9}h#;CLI8=UR26LSG7aZAr%R3PY)CJe7q z-E9^E+)mq@Xt&*)*vVTIyL171zTk_NWKGT_Msz9kx*qijf~~M-=C_VV49w3shQ-}o}0c4`V-q#Ekt z$MlH;LT!FqkT&IO%iksPD_+&aob8rVBoDq4J#p2r+;SmS0rX$|Ql{R9T$h?;2eo17TO< z;hM&NU3^@H?8{rY5p7{;>M&Omw@`BNRt!3B9(pjm_xk1x8irpyRRkoWKWdnLhST%g zM&u3U)Hpgu8mbZ7NZ^&0i$wIwQ8Ano@5Y4y&j!v|Gs++5#8gys$TUQEpfh!LKBew+ zybqhUcIy}sj`$f9I%QY)4a(eb8^<)g(@MWciApZ@jxkE|NI||2&Y?Ap~8j;N#XG@@sY*-_294gL6TTRzLHh+RWQ4 zrV>cAwXDW2f`S>QZZ^rkltV!>{TNO_L%$6G^n}mvWjQ z5i;WAUYm+w6_09x{j3AT{R|juAGgYBF1f>}G=Kcbe0IBU-qKKDpSQs zL>tSEm3VCQ$W~8!S}DS7uJx;|X_ZZ7yN97F`y}d~`WOyIcD&c3{8j}JzHvI-{8iYvWvwe*RtyK0<40%f7+ zckq>n52Ro1^&xl|Iv20Pj5A1cPD{)+eV;;Z(+oe%sH(u@ff*a0pF{a z%tBpwQtdxjuH|`~>+uuhjrx8l5!c^4Z{UbBucC+(Fy>W?na_9k=ZCSoZp$t^ zWex8*?8rV!-Rh8{Kb!b;e=`8ZtgXoJW0-sI{Cc6)mZ$F)w)>{W^G-o8x6|%w=FDi& zdY8A?f%xeO@~kYX-{QnG=^UX$9rsJd!JMa|A5@-t`jnfXq$yUk^d{E3x$V*dN26ms1O~Ayj{6d|ur1MW%7f?t$q{bR3&MD6 zoPEJ-&>M9b6$%?X(!*;0o7iZ&octWKHU6X`MJ3zD(}p4!pZn*2vQyaUbKaBp@5NVL w6<*AkY&JTtm>v**G$XmK|JQE3dvaf}DoF2j{F3w@|MLs5M>xS-VaVkF0t`Y|^8f$< literal 0 HcmV?d00001 diff --git a/assets/screens/84-buno-vcf.png b/assets/screens/84-buno-vcf.png new file mode 100644 index 0000000000000000000000000000000000000000..bf94fe10b070980d97714aa9d1ccb159c8a28904 GIT binary patch literal 3627 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 literal 0 HcmV?d00001 diff --git a/assets/screens/85-bittal-filter.png b/assets/screens/85-bittal-filter.png new file mode 100644 index 0000000000000000000000000000000000000000..5eb536567f410fc7ee510b07d6e903bc222eca70 GIT binary patch literal 3810 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 literal 0 HcmV?d00001 diff --git a/assets/screens/85-bittal-playing.png b/assets/screens/85-bittal-playing.png new file mode 100644 index 0000000000000000000000000000000000000000..59a4bd9ddb1c68fa5c964b0bf3daac3c53240f00 GIT binary patch literal 4082 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 literal 0 HcmV?d00001 diff --git a/assets/screens/90-slicer-trim-zoom.png b/assets/screens/90-slicer-trim-zoom.png new file mode 100644 index 0000000000000000000000000000000000000000..baee17baec437d745fd84a026e1981f80ef10429 GIT binary patch literal 4178 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 h6ZnVMY42Xqt=bRHUL)Tlj<`Y&JJ_JIHZ literal 0 HcmV?d00001 diff --git a/assets/screens/90-slicer-trim.png b/assets/screens/90-slicer-trim.png new file mode 100644 index 0000000000000000000000000000000000000000..3179d8f76cd652c71f7896b919b3244bb3a7b118 GIT binary patch literal 4110 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 literal 0 HcmV?d00001 diff --git a/assets/screens/92-slicer-env.png b/assets/screens/92-slicer-env.png new file mode 100644 index 0000000000000000000000000000000000000000..c0400b0317c8d8ff423e1b16e5fc72ecea7533a8 GIT binary patch literal 3405 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 literal 0 HcmV?d00001 diff --git a/assets/screens/93-slicer-seq.png b/assets/screens/93-slicer-seq.png new file mode 100644 index 0000000000000000000000000000000000000000..d035578f408b23247d00e0447ebb2b597a9fb4e0 GIT binary patch literal 3939 zcmZu!XH*kP(+-^*h=>Xbgd*I45PA`@D55l_ec`?LJLmoJp0nlboU^mLGtWFT`|gR3Ita)N1ONaaO^ruSiSzgCPEAT2 zYovnu0025Z%|{Ond^2~m1X30?7~f9AC@DeYq_m9G;dUtWe~o`hDfB8m3S>Fg4Z%h zSGaKlD}V!XQ{1`_)ks#icD~Cg`F1v=M*dmJZyt@l>h^@i&B?n*T+|CJhQ-eoaRraT ziGQ}{R(%?8=~UcrbLt6_Dh>k}(9`7kNc?@-9H?;IRHDfeYF`#4W2-MOiAFxpR13S& zjWS@WcoRi#P!Cqo_q+cvv3 zaHB8>=`;s+~F_nJ9PS&~i7Wppb=n{1~ zzpSV`bbfx(H|o*hJUw7%G z<a>vht6~t{BmUuroyYC%hLsc*6^yNODOwn)in?+oA9CrO1jK#rKJzv;JACz{Rq5B8h%(aC3IrD8*{!BRKz8Ggb%uOlSeU&Jd z?w*RgS%JXvdAnBx`@FvIOj_7H#`u_*_d^QkMV!%%^j*0p%XEJ>F6Ac<4$i3`oC=25 zxN?b<&NyubeKX;h>B}47ds*K9KtfZO2lvYVYS!WYMvE{)^3g~Wh;}-RR+z$( zxn50t5iDHv-x_^sLUUT|?v(MnS< zEPWr1vq4HVPPox@wUg7!w9x|6o!6-e6j`k9-6xWv$Ri|h+=`t3qb3)X-U zSl%Q6noO1tKEbd@F$-wr0@mxzHo5aRs`JOGK}z?o!4%^ic>5s=Bu+%rNu_J~EzqfF zAX!&6LAJx(^Gp75`qpnog8S3~MTo80KWci~WR0*+RN}-A7ulx?Q{FDpZ&_$p9BpyibB`v25k`yShkd+*G_eZ7wm%8J_xy3Q074^JlH)Nnku*YCutz zu*Q*@=8#Acu49bw`lyYMvXT zB`7s(O!pT7hDuUN*nW;XY8ZP3okF?Rf~}D1u26UMu40NP}$o12TsFL$sKZHjIFZFm;%=iuhM zhyP{Xl&wOZ#qsh%<@PDk#4oV7v^jZfn!v#g0Y_eE&UdgWYR zRJOzloz=~4?IWYc#QcXx>c(=iuX57H6hE(c98)jZYIJ-t+p{~lLazWdfas)zEx5|j zB?4re-0dYjw0pKUd`>Q3Ae&3BusQiE*vNAICw3i?N6)fO!@;6~Lf0Z*#YO(L+ zdlEar?yoGC6If7be@lQo^ba+g9II)3gU&Sdeul_^T}$DZ!%vUs;#mm6`J{&8u=uih%F#}A%J@T>iOnu*)`IOH4dAM6Q-uLLe+zUrmv{`xCBT3+ z)4&HC-Ac$HrR33zbge)OmsE3>&Afl`M}Q!iDG@9jc3r@0iY11MhOqSZ`L3$$;dlRn zJ%g(|izcw(R=ZBoUz4b-PlOmh={@<{=Y-KPIAPvdaxQZ}YE^;PzTu-176t8r9RbRz z63R>)64ZYQOe)RPwk-2MlI_x_Dqjeo$UcMYYhQkiyggQpHE#$3O8 zgylssyJ)b1(arTsEvNKU@!_f7Jo(gOnap_Y?8N$@XZ-5-g_8?tx8Nk@A-N>~Z6X@@#vZ59Hlmg&lj>kFsG0*$(lhAcdNFQW{HWFp*HQs4Up_2nBm3HdFvg7XSN^oN_HlG3ZPGJ9&j4S4S>QNPQ~8{ikLPP>kUkP zS&b`EYqsczO6as^DD)rO!9m=ekS=(vvNgXt6LyFME;39F>iSRG`nTYz;k!~}0{jS# zQ0|IKI&&To^JlU(%Gq}D#h5986(al-CpK-6DPu7|x3##X${|(p4|sE4ZK`m&jEryA z#q9tcr_j&k?vNUNAg`zZeCt4?`V+Jwe3_7WNju()o?J;h?kkdn91)kbpD>PzlJ6FVP?DmTQ$CWX^^hf?KpA(xHwJ-OCSJ*u*jk#82>TX5@Gz z%Y~wDg5>O#OU938`pV$Taz?6)#c{l{rgw42aQ9y4%5<1D8^`z@eiwZjt8){VVX_V!zJmbip{5F7_I9p_Q)Jslzk#RMEIyC(F{oJcIao O25744JgQW-e*J$c9*v&> literal 0 HcmV?d00001 diff --git a/assets/screens/94-slicer-length.png b/assets/screens/94-slicer-length.png new file mode 100644 index 0000000000000000000000000000000000000000..8579bd4050a6419e94e7cb17f18e1419fab30b6c GIT binary patch literal 3583 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 literal 0 HcmV?d00001 diff --git a/assets/screens/96-slicer-glo.png b/assets/screens/96-slicer-glo.png new file mode 100644 index 0000000000000000000000000000000000000000..756eef78b06ffd4794084a88734506d2f231b62c GIT binary patch literal 2828 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 literal 0 HcmV?d00001 diff --git a/core/bm_acid.cpp b/core/bm_acid.cpp index d66e75c..73e6bc5 100644 --- a/core/bm_acid.cpp +++ b/core/bm_acid.cpp @@ -10,7 +10,7 @@ * the 150 Hz high-pass in its feedback), the measured CUTOFF / ENV MOD mapping, the accent circuit * (a 15 ms leaky integrator of the main envelope, added to the cutoff on accented notes, and the * main envelope added to the amp envelope), the fixed accent decay of 200 ms, the amp envelope - * (instant attack, 1.23 s decay, 0.5 ms / 50 ms release) and its 200 Hz declicker, the pitch slew + * (instant attack, 1.23 s decay, 1 ms / 50 ms release) and its 200 Hz declicker, the pitch slew * of the slide, and the fixed filters around the VCF (44.5 Hz high-pass before, 24.2 Hz high-pass * and a 7.5 Hz notch after), with Open303's values. Changes: float, one sample per output sample * (no 4x oversampling: the cutoff is capped at 10 kHz), filter coefficients every 8 samples, a @@ -40,7 +40,7 @@ struct OnePoleHp { float b0, a1; }; /* rosic OnePoleFilter HIGHPASS: y OnePoleHp hp_pre, hp_post, hp_fb; float n_b0, n_b1, n_a1, n_a2; /* notch (BANDREJECT), b2 = b0 */ float d_b0, d_a1, d_a2; /* declicker LP12 at 200 Hz, b1 = 2 b0, b2 = b0 */ -float k_dec, k_rc2, k_rel_n, k_rel_a; /* amp decay 1230 ms, accent RC 15 ms, releases 0.5 / 50 ms */ +float k_dec, k_rc2, k_rel_n, k_rel_a; /* amp decay 1230 ms, accent RC 15 ms, releases 1 / 50 ms (Open303's triggerNote) */ float c_acc; /* main envelope of an accented note: 200 ms */ const float CUT_LO = 313.8152786f, CUT_HI = 2394.411987f; /* Open303's measured cutoff range */ @@ -59,7 +59,7 @@ struct Acid { float acc, lvl; /* accent gain of the note (0 = none), level for quiet notes */ float mc, kslew, scaler, offset, cut_hz, rskew; uint8_t key[4]; /* the knobs the cached coefficients came from */ - uint8_t gate, accent, fresh; + uint8_t gate, accent, fresh, kslide; }; static_assert(sizeof(Acid) <= BM_VPOOL_BYTES && alignof(Acid) <= 8, "BB-303 voice does not fit the shared pool (bm_vpool.h)"); @@ -125,7 +125,10 @@ void coefs(Acid &z, const bm_acid_par *p) z.key[3] = dk; z.mc = z.accent ? c_acc : expf(-1.0f / (0.001f * decay_ms_of(p->dec) * fs_)); } - z.kslew = one_minus_exp(0.0002f * slide_ms_of(p->slide) * fs_); /* Open303: tau = 0.2 x slide time */ + if (z.fresh || z.kslide != p->slide) { + z.kslide = p->slide; + z.kslew = one_minus_exp(0.0002f * slide_ms_of(p->slide) * fs_); /* Open303: tau = 0.2 x slide time */ + } z.fresh = 0; } @@ -168,7 +171,7 @@ void bm_acid_init(float fs) } k_dec = one_minus_exp(1.230f * fs_); k_rc2 = one_minus_exp(0.015f * fs_); - k_rel_n = one_minus_exp(0.0005f * fs_); + k_rel_n = one_minus_exp(0.001f * fs_); k_rel_a = one_minus_exp(0.050f * fs_); c_acc = expf(-1.0f / (0.200f * fs_)); ready = 1; @@ -219,17 +222,19 @@ int bm_acid_render(int v, const bm_acid_par *p, float *out, int n) const bool sq = (p->wave & 1) != 0; const float krel = z.accent ? k_rel_a : k_rel_n, kslew = z.kslew; const float ampenv = 0.45f + 4.0f * z.acc; /* the MEG into the VCA (more with an accent) */ - float gout = GAIN * z.lvl, dlast = 0.0f; + const float fm = p->lfo_fm, lfo_oct = p->lfo_oct; + float gout = GAIN * z.lvl * p->amp0, dlast = 0.0f; + const float gstep = GAIN * z.lvl * (p->amp1 - p->amp0) / (float)n; /* the LFO on the level: a ramp, no clicks */ for (int i0 = 0; i0 < n; i0 += 8) { int i1 = i0 + 8 < n ? i0 + 8 : n; /* the cutoff: nominal x 2^(ENV MOD part + accent part), Open303::getSample */ - float oct = z.scaler * (z.menv - z.offset) + z.acc * z.rc2; + float oct = z.scaler * (z.menv - z.offset) + z.acc * z.rc2 + lfo_oct; filter_coefs(z, z.cut_hz * SemitonesToRatioSafe(12.0f * oct)); const float b0 = z.b0, b2 = 2.0f * z.b0, k = z.k, g2 = 2.0f * z.g; for (int i = i0; i < i1; i++) { /* pitch slew (the slide) and the oscillator, polyBLEP */ z.freq += kslew * (z.ftgt - z.freq); - float dt = z.freq; + float dt = z.freq * fm; float o = 2.0f * z.ph - 1.0f - blep(z.ph, dt); if (sq) { float p2 = z.ph + 0.5f; if (p2 >= 1.0f) p2 -= 1.0f; @@ -266,6 +271,7 @@ int bm_acid_render(int v, const bm_acid_par *p, float *out, int n) z.dz2 = d_b0 * a + d_a2 * d; dlast = d; out[i] = soft_limit(y * d * gout); + gout += gstep; } } /* NaN/inf in a state stays forever: once per block, back to zero and say so */ diff --git a/core/bm_acid.h b/core/bm_acid.h index 39663f5..ffee6db 100644 --- a/core/bm_acid.h +++ b/core/bm_acid.h @@ -15,8 +15,12 @@ extern "C" { #endif -/* the knobs, 0..127 (as on the panel: CUTOFF, RESO, ENV MOD, DECAY, ACCENT, SLIDE, WAVE) */ -typedef struct { uint8_t cut, res, env, dec, acc, slide, wave; } bm_acid_par; +/* the knobs, 0..127 (as on the panel: CUTOFF, RESO, ENV MOD, DECAY, ACCENT, SLIDE, WAVE), and what + * the LFO adds this block: octaves on the cutoff, a pitch ratio and the level from amp0 to amp1 */ +typedef struct { + uint8_t cut, res, env, dec, acc, slide, wave; + float lfo_oct, lfo_fm, amp0, amp1; +} bm_acid_par; void bm_acid_init(float fs); /* the fixed coefficients (when a channel becomes a BB-303) */ /* note: 0..127 (already transposed). accent: the step has an accent. legato: 1 = slide from the note diff --git a/core/bm_app.c b/core/bm_app.c index ef042d2..5fb81fb 100644 --- a/core/bm_app.c +++ b/core/bm_app.c @@ -14,13 +14,6 @@ static const uint16_t TRACK_COLORS[BM_TRACKS] = {C_ORANGE, C_PINK, C_ACID, C_CYAN, C_VIOLET, C_GREEN}; static const uint16_t KNOB_COLORS[4] = {C_CYAN, C_ORANGE, C_GREEN, C_PINK}; -const uint8_t bm_master_steps_tab[6] = {1, 2, 3, 4, 8, 0}; -const uint8_t bm_roll_ticks[BM_ROLL_RATES] = {48, 24, 12, 32, 16, 8}; -const char *const bm_roll_names[BM_ROLL_RATES] = {"1/8", "1/16", "1/32", "1/8T", "1/16T", "1/32T"}; -const uint16_t bm_roll_len_ticks[4] = {BM_PPQN, BM_PPQN * 2, BM_BAR_TICKS, BM_BAR_TICKS * 2}; -const char *const bm_roll_len_names[4] = {"1/4", "1/2", "1 BAR", "2 BARS"}; -const uint8_t bm_roll_tail_ticks[4] = {0, BM_TICKS_STEP, BM_TICKS_STEP * 2, BM_PPQN}; -const char *const bm_roll_tail_names[4] = {"OFF", "1/16", "1/8", "1/4"}; static const int16_t ENTER_MS[5] = {0, 250, 400, 800, -1}; const char *bm_track_name(const bm_app *a, int t) @@ -35,7 +28,7 @@ int bm_sound_count(const bm_app *a, int t) { if (bm_is_tr(&a->pat, t)) return BM_KITS_N; if (a->pat.trk[t].engine == ENG_ACID) return BM_AC_PRESETS; - if (a->pat.trk[t].engine == ENG_FM) return bm_fm_count(); + if (a->pat.trk[t].engine == ENG_FM) return BM_FM_PATCHES; /* bancos de usuario apagados hasta tener todas las máquinas */ int n = bm_snap_count(a->pat.trk[t].engine); return n ? n : 1; } @@ -137,19 +130,6 @@ void app_overlay(bm_app *a, int enc, const char *title, const char *val, const c o->until = a->now + UI_OVERLAY_MS; } -/* La pregunta la hace el control que se está atendiendo: sostenerlo (o volver a apretarlo) 2 s = sí. */ -void app_ask(bm_app *a, int kind, int arg, int arg2, const char *l1, const char *l2) -{ - a->ask = (uint8_t)kind; a->ask_arg = (uint8_t)arg; a->ask_arg2 = (uint8_t)arg2; - a->ask_ctl = a->cur_ctl; a->ask_t0 = a->now; - if (a->ask_ctl == ASK_ENC) a->ask_live = 1; - else if (a->ask_ctl & ASK_KEY) a->ask_live = a->keys_down[(a->ask_ctl & 0x7F) % BM_KEYS]; - else a->ask_live = (uint8_t)bm_gesture_is_down(&a->ges, a->ask_ctl); - snprintf(a->ask_text[0], sizeof a->ask_text[0], "%s", l1); - snprintf(a->ask_text[1], sizeof a->ask_text[1], "%s", l2 ? l2 : ""); - a->ov.on = 0; -} - int app_scale(const bm_app *a, int t, int *root) { const bm_track *tk = &a->pat.trk[t % BM_TRACKS]; @@ -176,13 +156,6 @@ int bm_app_track_step(const bm_app *a, int t, int lane) return (int)(n % (uint32_t)bm_trk_len(&a->pat, t, lane)); } -int bm_app_chord_track(const bm_app *a) -{ - if (app_kind(a, a->track) == KIND_NOTE) return a->track; - for (int t = 3; t < BM_TRACKS; t++) if (app_kind(a, t) == KIND_NOTE) return t; - return 2; -} - /* ------------------------------------------------------------ almacenamiento */ static const uint8_t *store_ptr(bm_app *a, int obj, int *len) { @@ -222,43 +195,6 @@ static int app_swap(void *u, int from, int to, bm_pattern *p) return 0; } -/* ------------------------------------------------------------ sampler: fuentes y dibujo */ -/* La onda como en un sampler: por columna, el pico [0] y el RMS [1] de las muestras [s0, s1), - * en 0..255 respecto de pk (el pico de la toma entera: el zoom no cambia la altura). */ -static uint32_t isqrt32(uint32_t v) -{ - uint32_t r = 0, b = 1u << 30; - while (b > v) b >>= 2; - while (b) { if (v >= r + b) { v -= r + b; r = (r >> 1) + b; } else r >>= 1; b >>= 2; } - return r; -} - -static uint32_t wave_peak(const int8_t *d, uint32_t len) -{ - uint32_t mx = 1; - for (uint32_t i = 0; d && i < len; i++) { uint32_t u = (uint32_t)(d[i] < 0 ? -d[i] : d[i]); if (u > mx) mx = u; } - return mx; -} - -static void wave_cols(uint8_t wave[2][232], const int8_t *d, uint32_t s0, uint32_t s1, uint32_t pk) -{ - memset(wave, 0, 2 * 232); - if (!d || s1 <= s0 || !pk) return; - uint32_t span = s1 - s0; - for (int x = 0; x < 232; x++) { - uint32_t a = s0 + (uint32_t)((uint64_t)span * (uint32_t)x / 232u), b = s0 + (uint32_t)((uint64_t)span * (uint32_t)(x + 1) / 232u); - if (b <= a) b = a + 1; - if (a >= s1) break; - if (b > s1) b = s1; - uint32_t mx = 0, sq = 0; - for (uint32_t i = a; i < b; i++) { uint32_t u = (uint32_t)(d[i] < 0 ? -d[i] : d[i]); if (u > mx) mx = u; sq += u * u; } - uint32_t rms = isqrt32(sq / (b - a)); - mx = mx * 255u / pk; rms = rms * 255u / pk; - wave[0][x] = (uint8_t)(mx > 255 ? 255 : mx); - wave[1][x] = (uint8_t)(rms > 255 ? 255 : rms); - } -} - bool bm_app_src_ok(const bm_app *a, uint8_t src) { if (src & BM_SRC_ROM) return src != BM_SRC_NONE && (src & 0x7F) < bm_rom_nloops; @@ -312,34 +248,6 @@ bool app_take_info(const bm_app *a, int src, bm_smp_src *m) return src >= 0 && src < BM_TAKES && bm_app_src_info(a, (uint8_t)src, m); } -/* La ventana de la onda: la toma entera (zoom 0) o, con zoom, alrededor de la muestra at (a un - * tercio, para ver más de lo que sigue). wave_ov guarda la toma entera para el mapa de arriba. */ -void app_wave_view(bm_app *a, int src, uint32_t at, int zoom) -{ - bm_smp_src m; - if (!app_take_info(a, src, &m) || !m.len) { - if (a->cut_wd) { memset(a->wave_cut, 0, sizeof a->wave_cut); memset(a->wave_ov, 0, sizeof a->wave_ov); } - a->cut_wd = NULL; a->cut_wlen = 0; a->cut_v0 = a->cut_v1 = 0; - return; - } - bool fresh = m.data != a->cut_wd || m.len != a->cut_wlen; - if (fresh) { - a->cut_pk = wave_peak(m.data, m.len); - uint8_t w[2][232]; - wave_cols(w, m.data, 0, m.len, a->cut_pk); - memcpy(a->wave_ov, w[0], sizeof a->wave_ov); - a->cut_wd = m.data; a->cut_wlen = m.len; - } - uint32_t span = m.len >> (zoom & 3); - if (span < 232) span = m.len < 232 ? m.len : 232; - if (at > m.len) at = m.len; - uint32_t v0 = at > span / 3 ? at - span / 3 : 0; - if (v0 + span > m.len) v0 = m.len - span; - if (!fresh && v0 == a->cut_v0 && v0 + span == a->cut_v1) return; - a->cut_v0 = v0; a->cut_v1 = v0 + span; - wave_cols(a->wave_cut, m.data, a->cut_v0, a->cut_v1, a->cut_pk); -} - /* El kit en el patrón: n pads desde los cortes marks[] de la toma src. Si seq, escribe en la * rejilla de T2 la secuencia que suena como la toma (cada pad en el paso donde empieza). */ static void kit_layout(bm_pattern *p, const bm_take *tk, int src, const uint32_t *marks, int n, bool seq) @@ -364,13 +272,6 @@ static void kit_layout(bm_pattern *p, const bm_take *tk, int src, const uint32_t } } -static bool grid_empty(const bm_tr *tr) -{ - for (int l = 0; l < BM_LANES; l++) - for (int s = 0; s < BM_STEPS; s++) if (tr->st[l][s] & ST_ON) return false; - return true; -} - int app_kit_from_take(bm_app *a, int src, int how) { if (src < 0 || src >= BM_TAKES || !a->take[src].valid) return 0; @@ -384,8 +285,12 @@ int app_kit_from_take(bm_app *a, int src, int how) n = how > BM_SLICES ? BM_SLICES : how; for (int i = 0; i < n; i++) m[i] = tk->len * (uint32_t)i / (uint32_t)n; } - app_undo_snapshot(a, 1); - kit_layout(&a->pat, tk, src, m, n, grid_empty(&a->pat.tr[1])); + /* 2026-10-22 (pedido del usuario): al cortar, la secuencia se escribe siempre (la de antes se va: + * sus pads ya no son los mismos) */ + bm_tr *tr = &a->pat.tr[1]; + memset(tr->st, 0, sizeof tr->st); + for (int i = 0; i < BM_LANE_LOCKS; i++) tr->lk[i].lane = 0xFF; + kit_layout(&a->pat, tk, src, m, n, true); a->sel_lane[1] = 0; app_edited(a); return n; @@ -578,52 +483,6 @@ static int write_pattern(bm_app *a, int obj) return bm_store_write(&a->store, (uint8_t)obj, a->pend, (uint16_t)n); } -static int load_into(bm_app *a, int obj) -{ - int len = 0; - const uint8_t *src = store_ptr(a, obj, &len); - if (src && len > 0 && bm_pattern_unpack(&a->pat, src, len) > 0) return 1; - empty_from(&a->pat); - return 0; -} - -/* Copia un canal (o el patrón entero) a otro patrón. Corre parado y con el audio en fade: - * guarda el actual, abre el destino, pega, lo guarda y vuelve a abrir el actual. */ -static int copy_to(bm_app *a, int dst, int trk) -{ - int cur = a->ctx.st.pattern; - if (a->pend_obj >= 0) return -1; - if (write_pattern(a, cur)) return -1; - a->dirty = 0; - if (trk >= 0) { /* el buffer de rehacer sirve de bolsa */ - memcpy(&a->redo, app_track_data(a, trk), app_track_size(trk)); - a->redo_track = -1; - bm_track tk = a->pat.trk[trk]; - uint8_t prm[BM_PRM]; - memcpy(prm, a->pat.prm[trk], BM_PRM); - bm_loop lp; - memset(&lp, 0, sizeof lp); - if (trk >= BM_TR_TRACKS) lp = a->pat.loop[trk - BM_TR_TRACKS]; - load_into(a, dst); - int o = bm_machine_conflict(&a->pat, trk, tk.engine); - if (o >= 0) { /* BUNO-6 y BITTAL, una vez por patrón: no se copia */ - load_into(a, cur); - bm_engines_sync(&a->ctx); - char b[30]; snprintf(b, sizeof b, TF("%s ALREADY ON T%d"), bm_engine_names[tk.engine], o + 1); - app_toast(a, b); - return 0; - } - memcpy(app_track_data(a, trk), &a->redo, app_track_size(trk)); - a->pat.trk[trk] = tk; - memcpy(a->pat.prm[trk], prm, BM_PRM); - if (trk >= BM_TR_TRACKS) a->pat.loop[trk - BM_TR_TRACKS] = lp; - } - int err = write_pattern(a, dst); - load_into(a, cur); - bm_engines_sync(&a->ctx); - return err; -} - static int exec_job(bm_app *a, int type, int arg) { char b[30]; @@ -643,8 +502,6 @@ static int exec_job(bm_app *a, int type, int arg) a->dirty = 0; return 0; } - case JOB_COPY_PAT: return copy_to(a, arg, -1); - case JOB_COPY_TRK: return copy_to(a, arg & 15, arg >> 4); case JOB_SAVE_SONG: { uint8_t buf[2 + 2 * BM_SONG_MAX + sizeof a->song.scene]; buf[0] = BM_SONG_VER; buf[1] = a->song.n; @@ -681,7 +538,10 @@ static int exec_job(bm_app *a, int type, int arg) if (app_kit_empty(a)) { /* el kit estaba vacío: la toma lo arma */ app_kit_from_take(a, id, 0); snprintf(b, sizeof b, TF("TAKE %02d: KIT READY"), id + 1); - } else snprintf(b, sizeof b, TF("TAKE %02d SAVED: TAKES > KIT"), id + 1); + } else { /* si no, queda entera en el pad elegido (EDIT > TRIM la corta) */ + app_pad_take(a, a->sel_lane[1] & 15, id); + snprintf(b, sizeof b, TF("TAKE %02d ON PAD %d"), id + 1, (a->sel_lane[1] & 15) + 1); + } app_toast(a, b); return 0; } @@ -710,7 +570,15 @@ static void jobs_run(bm_app *a) int flash = 0; for (int i = 0; i < a->njob; i++) if (a->job[i] != JOB_LOAD) flash = 1; if (flash) { - if (app_playing(a)) { app_toast(a, "STOP TO SAVE"); a->njob = 0; return; } + if (app_playing(a)) { /* sonando: espera a que pares (la flash pausa el audio) */ + int n = 0; + for (int i = 0; i < a->njob; i++) { + if (a->job[i] == JOB_LOAD) { exec_job(a, JOB_LOAD, a->job_arg[i]); continue; } + a->job[n] = a->job[i]; a->job_arg[n] = a->job_arg[i]; n++; + } + a->njob = n; + return; + } if (!a->pf.flash) { a->njob = 0; return; } if (a->cmdq.r != a->cmdq.w) return; if (!a->job_fading) { app_push(a, CMD_FADE, 1, 0, 0); a->job_fading = 1; return; } @@ -723,7 +591,7 @@ static void jobs_run(bm_app *a) if (err) app_toast(a, "FLASH ERROR"); } -/* ------------------------------------------------------------ demo de primer arranque */ +/* ------------------------------------------------------------ patrones de fábrica (primer arranque) */ static void ev_set(bm_pattern *p, int t, int s, int k, int note, int vel, int len, int prob) { bm_event *e = bm_ev(p, t, s, k); @@ -731,75 +599,146 @@ static void ev_set(bm_pattern *p, int t, int s, int k, int note, int vel, int le e->note = (uint8_t)note; e->vel = (uint8_t)vel; e->len = (uint8_t)len; e->prob = (uint8_t)prob; } -/* Patrón de pruebas: acid techno a 160 BPM en La menor. BR-8 con el kit 909, una línea de BB-303 - * con acentos y slides, BP-1 cortando la primera toma (si hay), acordes de BX-7, un pluck de BITTAL - * y un pad de BUNO-6 de cuatro compases (una nota larga). */ +/* Patrones de fábrica (2026-10-24, pedido del usuario): 1 DA FUNK, 2 BLADE, 3 ENJOY THE SILENCE. + * Los canales como vienen (BR-8, Slicer vacío, BB-303, B-MINI, BITTAL, BUNO-6). Tempo y tono de cada + * tema según Wikipedia, Hooktheory y bases de DJ; las líneas: + * - DA FUNK (Daft Punk, 111 BPM, Sol menor): no hay hoja publicada. La 303 usa las notas que da Attack + * Magazine (G A# C D# F, el primer 1/16 en silencio); el bajo es un Sol grave con cada bombo y el + * lead va en cuartas (Reverb Machine). El orden de las notas es nuestro, a oído. + * - BLADE (New Order, "Confusion", Pump Panel Reconstruction, 136 BPM, Sol menor): la 303 de la hoja + * de djjondent.blogspot.com (G y A#), con los acentos que propone un usuario en forums.adafruit.com. + * - ENJOY THE SILENCE (Depeche Mode, 113 BPM): la batería de drum-patterns.com y el estribillo de + * Hooktheory (Fm Ab Cm Eb, un compás cada uno; voces y bajo nuestros). + * La escena B de todos los patrones es todo muteado (scenes_default). */ static void tr_on(bm_tr *d, int lane, const char *pat, uint8_t extra) { for (int s = 0; pat[s] && s < BM_STEPS; s++) if (pat[s] == 'x' || pat[s] == 'X') d->st[lane][s] = (uint8_t)(ST_ON | (pat[s] == 'X' ? ST_ACC : 0) | extra); } -static void demo_pattern(bm_pattern *p, bm_song *song, const bm_take *tk, uint8_t take) +typedef struct { int8_t s, n; uint8_t acc, slide; } line303; /* acento = vel 127, slide = LIGA hasta la siguiente */ +static void put303(bm_pattern *p, int t, const line303 *L, int n) { - bm_pattern_init(p); - p->meta.bpm_x10 = 1600; p->meta.swing = 50; p->meta.root = 9; p->meta.scale = 1; - p->meta.master = 4; p->meta.fill_every = 4; p->meta.chord_set = 0; p->meta.strum = 0; - p->meta.dly_time = 2; p->meta.dly_fb = 45; p->meta.dly_mix = 40; - /* T1: 909 */ - bm_tr *d = &p->tr[0]; - bm_kit_apply(d, 1); - p->trk[0].source = 1; - tr_on(d, 0, "x...x...x...x...", 0); /* bombo */ - d->st[0][14] = ST_ON | (1 << ST_COND_SH); /* y uno más en el fill */ - tr_on(d, 2, ".x.x.x.x.x.x.x.x", 0); /* hat cerrado */ - tr_on(d, 3, "..x...x...x.....", 0); /* hat abierto a contratiempo */ - d->st[2][14] = ST_ON | ST_ACC | (1 << ST_RAT_SH); /* y un redoble x2 */ - tr_on(d, 5, "....x.......x...", 0); /* palmas */ - tr_on(d, 6, "...x.......x..x.", 0); /* rim */ - d->lane[6].level = 70; - tr_on(d, 12, "xxxxxxxxxxxx", 0); /* shaker de 12 contra 16 */ - d->lane[12].len = 12; d->lane[12].level = 45; - d->st[15][15] = ST_ON | (1 << ST_COND_SH); /* zap en el fill */ - d->lane[1].level = 0; - /* T2: el kit de pads sale de la primera toma (en los golpes) y la rejilla la toca en orden */ - p->trk[1].level = 70; - if (tk) { - uint32_t m[BM_SLICES]; - uint32_t bpm = tk->bpm_x10 ? tk->bpm_x10 : 1600; - int n = bm_slice_onsets(tk->data, tk->len, (uint32_t)BM_SMP_RATE * 150u / bpm, 64, m); - kit_layout(p, tk, take, m, n, true); + for (int i = 0; i < n; i++) + ev_set(p, t, L[i].s, 0, L[i].n, L[i].acc ? BM_VEL_ACC : BM_VEL_NORMAL, 1 | (L[i].slide ? BM_LEN_TIE : 0), 100); +} + +static void od_on(bm_pattern *p, int t, int gain) +{ + p->prm[t][AC_FX] = bm_acid_fx_set(p->prm[t][AC_FX], ACF_OD, 1); + p->prm[t][AC_OD_G] = (uint8_t)gain; +} + +static void snd(bm_pattern *p, int t, int preset) { p->trk[t].source = (uint8_t)preset; bm_preset_apply(p, t, preset); } + +static void scene4(bm_song *song, int pat, uint8_t a, uint8_t c, uint8_t d) /* A, C y D (la B es la de siempre) */ +{ + bm_scene *s = song->scene[pat]; + s[0].flags = s[2].flags = s[3].flags = SCN_STORED; + s[0].trk_mute = a; s[2].trk_mute = c; s[3].trk_mute = d; +} + +static void factory_da_funk(bm_pattern *p, bm_song *song) +{ + p->meta.bpm_x10 = 1110; p->meta.swing = 54; p->meta.root = 7; p->meta.scale = 1; + p->meta.dly_time = 2; p->meta.dly_fb = 40; p->meta.dly_mix = 35; p->meta.rv_mix = 45; + bm_tr *d = &p->tr[0]; /* T1: 909, cuatro en el piso */ + bm_kit_apply(d, 1); p->trk[0].source = 1; + tr_on(d, 0, "x...x...x...x...", 0); + tr_on(d, 5, "....x.......x...", 0); + tr_on(d, 2, "xxXxxxXxxxXxxxXx", 0); d->lane[2].level = 55; + /* T3: BB-303 ROBOT FUNK con OVERDRIVE (en el tema entra a la mitad: escena D) */ + snd(p, 2, 8); od_on(p, 2, 100); + static const line303 F[] = { + {1, 43, 1, 0}, {2, 55, 0, 1}, {3, 43, 0, 0}, {4, 46, 0, 0}, {5, 43, 1, 0}, {6, 53, 0, 0}, {7, 43, 0, 0}, + {8, 48, 0, 1}, {9, 51, 0, 0}, {10, 43, 1, 0}, {11, 41, 0, 0}, {12, 43, 0, 0}, {13, 58, 1, 1}, {14, 55, 0, 0}, {15, 53, 0, 0}}; + put303(p, 2, F, (int)(sizeof F / sizeof F[0])); + p->trk[2].length = 16; p->trk[2].send = 30; + /* T4: B-MINI WIZARD BASS, el Sol grave con cada bombo */ + snd(p, 3, 0); p->trk[3].length = 16; + for (int s = 0; s < 16; s += 4) ev_set(p, 3, s, 0, 31, 100, 1, 100); + /* T5: BITTAL CHORD STAB, la "insistencia": un Sol agudo en 1/16 con delay */ + snd(p, 4, 8); p->trk[4].length = 16; p->trk[4].send = 55; + for (int s = 0; s < 16; s++) ev_set(p, 4, s, 0, 79, s % 4 == 2 ? 95 : 70, 1, 100); + /* T6: BUNO-6 POP RIFF con DISTORTION, el lead en cuartas (dos compases) */ + snd(p, 5, 10); p->prm[5][PX_FX] |= 1u; p->prm[5][PX_DS_G] = 90; + p->trk[5].length = 32; p->trk[5].send = 20; p->trk[5].rsend = 30; + static const int8_t M[][3] = { + {0, 62, 2}, {2, 62, 1}, {3, 60, 1}, {4, 62, 2}, {6, 65, 2}, {8, 62, 2}, {10, 60, 1}, {11, 58, 1}, {12, 60, 2}, {14, 58, 1}, {15, 55, 1}, + {16, 55, 2}, {18, 58, 1}, {19, 60, 1}, {20, 62, 2}, {22, 70, 2}, {24, 67, 2}, {26, 65, 2}, {28, 62, 2}, {30, 60, 1}, {31, 58, 1}}; + for (unsigned i = 0; i < sizeof M / sizeof M[0]; i++) { + ev_set(p, 5, M[i][0], 0, M[i][1], 95, M[i][2], 100); + ev_set(p, 5, M[i][0], 1, M[i][1] + 5, 85, M[i][2], 100); } - /* T3: BB-303, la línea 303 (acento = vel 127, LIGA = slide); macros CUTOFF RESO ENV MOD DECAY */ - bm_track_set_engine(p, 2, ENG_ACID); - bm_track *t3 = &p->trk[2]; - t3->macro[0] = 28; t3->macro[1] = 108; t3->macro[2] = 105; t3->macro[3] = 58; t3->glide = 45; t3->accent = 115; - t3->length = 16; t3->send = 25; - static const struct { int8_t s, n; uint8_t acc, slide; } L[] = { - {0, 45, 1, 0}, {1, 45, 0, 0}, {2, 57, 1, 1}, {3, 45, 0, 0}, {4, 48, 0, 0}, {5, 45, 0, 1}, {6, 52, 1, 0}, - {8, 45, 0, 0}, {9, 57, 1, 0}, {10, 55, 0, 1}, {11, 52, 0, 0}, {12, 45, 1, 0}, {13, 48, 0, 1}, {14, 50, 0, 0}, {15, 45, 0, 0}}; - for (unsigned i = 0; i < sizeof L / sizeof L[0]; i++) - ev_set(p, 2, L[i].s, 0, L[i].n, L[i].acc ? BM_VEL_ACC : BM_VEL_NORMAL, 1 | (L[i].slide ? BM_LEN_TIE : 0), 100); - /* T4: BX-7, acordes de E.PIANO a contratiempo, con delay */ - p->trk[3].source = 0; p->trk[3].length = 32; p->trk[3].send = 45; p->trk[3].rsend = 30; - for (int k = 0; k < 3; k++) { static const int C[3] = {57, 60, 64}; ev_set(p, 3, 10, k, C[k], 90, 1, 100); ev_set(p, 3, 26, k, C[k] - 2 + (k == 1), 80, 1, 100); } - /* T5: BITTAL, un pluck que a veces no está */ - p->trk[4].source = 13; bm_preset_apply(p, 4, 13); - p->trk[4].length = 32; p->trk[4].send = 35; p->trk[4].rsend = 60; - { static const int8_t S[6] = {2, 6, 14, 18, 22, 30}, N[6] = {69, 72, 76, 74, 72, 76}; - for (int i = 0; i < 6; i++) ev_set(p, 4, S[i], 0, N[i], 85, 1, i % 3 == 2 ? 60 : 100); } - /* T6: BUNO-6, un pad de La menor que dura los cuatro compases */ - p->trk[5].source = 2; bm_preset_apply(p, 5, 2); - p->trk[5].length = 64; p->trk[5].send = 0; p->trk[5].rsend = 70; - for (int k = 0; k < 3; k++) { static const int C[3] = {57, 60, 64}; ev_set(p, 5, 0, k, C[k], 75, 64, 100); } - p->trk[0].level = 84; p->trk[2].level = 66; p->trk[3].level = 32; p->trk[4].level = 36; p->trk[5].level = 26; - p->meta.rv_mix = 70; + p->trk[0].level = 84; p->trk[2].level = 60; p->trk[3].level = 70; p->trk[4].level = 28; p->trk[5].level = 45; + scene4(song, 0, 0x00, 0x04, 0x30); /* A todo · C sin la 303 (el principio) · D la 303 con batería y bajo */ +} + +static void factory_blade(bm_pattern *p, bm_song *song) +{ + p->meta.bpm_x10 = 1360; p->meta.swing = 50; p->meta.root = 7; p->meta.scale = 1; + p->meta.dly_time = 2; p->meta.dly_fb = 35; p->meta.dly_mix = 30; p->meta.rv_mix = 50; + bm_tr *d = &p->tr[0]; + bm_kit_apply(d, 1); p->trk[0].source = 1; + tr_on(d, 0, "x...x...x...x...", 0); + tr_on(d, 3, "..x...x...x...x.", 0); d->lane[3].level = 65; + tr_on(d, 2, "xx.xxx.xxx.xxx.x", 0); d->lane[2].level = 50; + tr_on(d, 5, "....x.......x...", 0); + /* T3: BB-303 PHILLY 95, cuadrada, corte alto y OVERDRIVE fuerte; Sol (G3) y La# (A#2, A#3) */ + snd(p, 2, 7); od_on(p, 2, 115); + p->prm[2][AC_WAVE] = 1; p->trk[2].macro[0] = 95; + static const line303 B[] = { + {0, 55, 1, 0}, {3, 55, 1, 0}, {5, 46, 1, 0}, {6, 46, 1, 0}, {8, 46, 1, 0}, {10, 58, 1, 0}, {12, 58, 1, 0}, {13, 58, 1, 0}, {15, 58, 0, 0}}; + put303(p, 2, B, (int)(sizeof B / sizeof B[0])); + bm_ev(p, 2, 0, 0)->len = 3; bm_ev(p, 2, 10, 0)->len = 2; /* las notas sostenidas de la hoja */ + p->trk[2].length = 16; p->trk[2].send = 25; + /* T5: BITTAL SIREN, una nota larga cada cuatro compases, baja */ + snd(p, 4, 2); p->trk[4].length = 64; p->trk[4].rsend = 60; + ev_set(p, 4, 0, 0, 67, 80, 32, 100); + /* T6: BUNO-6 DARK RAVE, el acorde de Sol menor cada dos compases */ + snd(p, 5, 14); p->trk[5].length = 32; p->trk[5].rsend = 45; + for (int k = 0; k < 3; k++) { static const int C[3] = {55, 58, 62}; ev_set(p, 5, 0, k, C[k], 100, 2, 100); ev_set(p, 5, 22, k, C[k], 90, 1, 100); } + p->trk[0].level = 88; p->trk[2].level = 62; p->trk[4].level = 22; p->trk[5].level = 34; + scene4(song, 1, 0x00, 0x38, 0x01); /* A todo · C batería y 303 · D sin batería */ +} + +static void factory_enjoy(bm_pattern *p, bm_song *song) +{ + p->meta.bpm_x10 = 1130; p->meta.swing = 50; p->meta.root = 5; p->meta.scale = 1; + p->meta.dly_time = 1; p->meta.dly_fb = 30; p->meta.dly_mix = 25; p->meta.rv_mix = 55; + bm_tr *d = &p->tr[0]; /* T1: 909, la rejilla de dos compases */ + bm_kit_apply(d, 1); p->trk[0].source = 1; + tr_on(d, 0, "X...X...x...X...", 0); + tr_on(d, 2, "X...X..X.x..X...", 0); + tr_on(d, 3, "..x...x...x...x.", 0); d->lane[3].level = 50; + tr_on(d, 4, "....X..X....X.......X.......X...", 0); d->lane[4].len = 32; + tr_on(d, 5, "....X..X....X.......X.......X...", 0); d->lane[5].len = 32; d->lane[5].level = 60; + /* el estribillo: Fm Ab Cm Eb, un compás cada uno */ + static const int8_t R[4] = {41, 44, 36, 39}, C[4][3] = {{53, 56, 60}, {56, 60, 63}, {55, 60, 63}, {55, 58, 63}}; + snd(p, 3, 14); p->trk[3].length = 64; /* T4: B-MINI HIGHWAY BASS en corcheas */ + for (int b = 0; b < 4; b++) for (int s = 0; s < 16; s += 2) ev_set(p, 3, b * 16 + s, 0, R[b], s % 4 ? 85 : 100, 1, 100); + snd(p, 5, 3); p->trk[5].length = 64; p->trk[5].rsend = 55; /* T6: BUNO-6 PWM STRINGS */ + for (int b = 0; b < 4; b++) for (int k = 0; k < 3; k++) ev_set(p, 5, b * 16, k, C[b][k], 80, 16, 100); + p->trk[0].level = 84; p->trk[3].level = 72; p->trk[5].level = 36; + scene4(song, 2, 0x00, 0x20, 0x01); /* A todo · C batería y bajo · D sin batería */ +} + +#define BM_FACTORY_PATS 3 +static void factory_pattern(bm_pattern *p, bm_song *song, int i) +{ + bm_pattern_init(p); + p->meta.master = 4; p->meta.fill_every = 4; + if (i == 0) factory_da_funk(p, song); + else if (i == 1) factory_blade(p, song); + else factory_enjoy(p, song); +} + +/* La escena B de fábrica en todos los patrones: los seis canales muteados, la batería también (pedido del + * usuario, 2026-10-24). Queda hasta que se guarde otra encima. */ +static void scenes_default(bm_song *song) +{ memset(song->scene, 0, sizeof song->scene); - for (int s = 0; s < BM_SCENES; s++) song->scene[s].flags = SCN_STORED; - song->scene[0].trk_mute = 0x00; /* A: todo */ - song->scene[1].trk_mute = 0x38; /* B: batería, voces y acid */ - song->scene[2].trk_mute = 0x01; /* C: sin batería */ - song->scene[3].trk_mute = 0x3A; /* D: batería y acid */ + for (int p = 0; p < BM_PATTERNS; p++) { song->scene[p][1].flags = SCN_STORED; song->scene[p][1].trk_mute = (uint8_t)((1u << BM_TRACKS) - 1u); } } /* 0.4: sin loops de fábrica. El sampler toca tomas: las que se graban o se suben con @@ -817,7 +756,7 @@ static void midi_out_cb(void *u, uint8_t b) static void settings_defaults(bm_settings *s) { memset(s, 0, sizeof *s); - s->ver = BM_FMT; s->sync_ppqn = 2; s->drive = 25; s->led_dim = 1; s->autosave = 1; s->enter = 2; + s->ver = BM_FMT; s->factory = BM_FACTORY_VER; s->sync_ppqn = 2; s->drive = 25; s->led_dim = 1; s->autosave = 1; s->enter = 2; /* dual_core apagado: en 0.6.1 venía encendido y en el aparato iba más lento que un núcleo (123 % * contra ~105 %). Desde 0.6.2 usa el núcleo 1 por interrupción (hal/fm1/fm1_cpu1.c), a prueba. */ } @@ -840,26 +779,27 @@ void bm_app_init(bm_app *a, const bm_platform *pf, uint32_t now) a->ctx.swap = app_swap; a->ctx.swap_user = a; a->ctx.midi_out = midi_out_cb; a->ctx.midi_user = a; bm_gesture_init(&a->ges, app_on_gesture, a); - a->pend_obj = -1; a->undo_track = -1; a->redo_track = -1; a->held_step = -1; a->held_white = -1; - a->slice_sens = 64; a->pad_key = -1; a->rec_gate = 100; a->tie_from = -1; a->rec_step = -1; - a->pat_sel = -1; a->punch_key = -1; a->last_pad = -1; a->solo_key = -1; a->solo_track = -1; - a->song_rec_scene = 0xFF; a->mach_trk = BM_TR_TRACKS; a->ask_ctl = 0xFF; a->cur_ctl = 0xFF; - a->roll_rate = 1; a->roll_len = 2; a->roll_swing = 50; /* 1/16, rampa de un compás: lo mismo que arranca el audio */ + a->pend_obj = -1; a->held_step = -1; a->held_white = -1; + a->slice_sens = 64; a->pad_key = -1; + a->solo_key = -1; a->solo_track = -1; + a->mach_trk = BM_TR_TRACKS; static const uint8_t ln[BM_TRACKS] = {0, 0, 45, 57, 60, 64}; memcpy(a->last_note, ln, sizeof ln); for (int k = 0; k < BM_KEYS; k++) a->key_rec_step[k] = -1; settings_defaults(&a->set); a->battery = 100; - int fresh = 1; + scenes_default(&a->song); + int fresh = 1, mounted = 0; if (pf->flash && bm_store_mount(&a->store, pf->flash) == 0) { + mounted = 1; bm_settings s; int has_glob = bm_store_read_glob(&a->store, (uint8_t *)&s, sizeof s) == (int)sizeof s; int ok = has_glob && s.ver == BM_FMT, old = has_glob && !ok, oldpat = 0; for (int i = 0; i < BM_PATTERNS; i++) { /* patrones de otro formato: hasta la v1 no se convierten */ int len = 0; const uint8_t *p = store_ptr(a, i, &len); - if (p && len > (int)offsetof(bm_meta, fmt) && p[offsetof(bm_meta, fmt)] != BM_PAT_FMT) oldpat = 1; + if (p && len > (int)offsetof(bm_meta, fmt) && p[offsetof(bm_meta, fmt)] != BM_PAT_FMT && p[offsetof(bm_meta, fmt)] != 9) oldpat = 1; /* el 9 se lee */ } if (old) { /* datos de 0.2: se empieza de cero */ bm_store_format(&a->store, pf->flash); @@ -869,6 +809,10 @@ void bm_app_init(bm_app *a, const bm_platform *pf, uint32_t now) ok = 0; } if (ok) a->set = s; + if (ok && a->set.factory != BM_FACTORY_VER) { /* patrones de fábrica nuevos: los guardados se borran (tomas, sonidos y ajustes se quedan) */ + bm_store_format(&a->store, pf->flash); + a->set.factory = BM_FACTORY_VER; + } uint8_t b[2 + 2 * BM_SONG_MAX + sizeof a->song.scene]; /* otra versión (0.8: escenas con patrón): se ignora */ if (ok && bm_store_read(&a->store, BM_OBJ_SONG, b, sizeof b) == (int)sizeof b && b[0] == BM_SONG_VER) { a->song.n = b[1] > BM_SONG_MAX ? BM_SONG_MAX : b[1]; @@ -885,9 +829,12 @@ void bm_app_init(bm_app *a, const bm_platform *pf, uint32_t now) bm_takes_scan(pf->flash, pf->flash_map, pf->user, a->take); } bm_lang_use(a->set.lang ? bm_app_lang_pack(a) : NULL); - uint8_t first = BM_SRC_NONE; - for (int i = BM_TAKES - 1; i >= 0; i--) if (a->take[i].valid) first = (uint8_t)i; - if (fresh) { demo_pattern(&a->pat, &a->song, first < BM_TAKES ? &a->take[first] : NULL, first); a->dirty = 1; a->song_dirty = 1; a->set_dirty = 1; a->t_edit = now; } + if (fresh) { /* los de fábrica: el 1 queda cargado (se guarda solo), el 2 y el 3 se escriben ya */ + if (mounted) for (int i = 1; i < BM_FACTORY_PATS; i++) { factory_pattern(&a->pat, &a->song, i); write_pattern(a, i); } + factory_pattern(&a->pat, &a->song, 0); + a->set.last_pat = 0; + a->dirty = 1; a->song_dirty = 1; a->set_dirty = 1; a->t_edit = now; + } a->set.last_pat %= BM_PATTERNS; a->ctx.cur_pat = a->set.last_pat; a->ctx.st.pattern = a->set.last_pat; @@ -896,7 +843,6 @@ void bm_app_init(bm_app *a, const bm_platform *pf, uint32_t now) apply_settings(a); app_send_takes(a); a->view = V_BOOT; - a->page = PG_SEQ; a->boot_t = now; a->scr.force = 1; a->scr.budget = BM_SCR_BUDGET; @@ -917,146 +863,33 @@ void bm_app_master(bm_app *a, uint16_t adc) } /* ------------------------------------------------------------ navegación */ -/* 0.9: sin MACHINE (la máquina se cambia desde HOME) y sin MORE (es el GLO de la máquina) */ -static const uint8_t TABS_TR[] = {PG_SEQ, PG_SOUND, PG_INST, PG_MIX}; -static const uint8_t TABS_PADS[] = {PG_SEQ, PG_PADS, PG_BREAK, PG_TAKES, PG_MIX}; -/* T3-T6: ENV y LFO están en SOUND */ -static const uint8_t TABS_NOTE[] = {PG_SEQ, PG_SOUND, PG_MIX, PG_ARP, PG_LOOP}; - -int bm_app_tabs(const bm_app *a, int t, uint8_t out[8]) -{ - const uint8_t *s; int n; - if (bm_is_pads(t)) { s = TABS_PADS; n = (int)sizeof TABS_PADS; } - else if (app_kind(a, t) == KIND_TR) { s = TABS_TR; n = (int)sizeof TABS_TR; } - else { s = TABS_NOTE; n = (int)sizeof TABS_NOTE; } - memcpy(out, s, (size_t)n); - return n; -} - -const char *bm_page_name(int page) -{ - static const char *const N[PG_COUNT] = {"SEQ", "SOUND", "INSTR", "MIX", "GLO", "BREAK", "TAKES", "ARP", "LOOP", - "MIDI", "SCALE", "CHORDS", "RECORD", "PADS"}; - return page < PG_COUNT ? N[page] : ""; -} - -int app_page_ok(const bm_app *a, int t, int page) -{ - if (page == PG_SCL || page == PG_CHORDS || page == PG_MORE) return 1; - if (page == PG_REC) return t == 1; - uint8_t tabs[8]; - int n = bm_app_tabs(a, t, tabs); - for (int i = 0; i < n; i++) if (tabs[i] == page) return 1; - return 0; -} - -/* 0.9: HOME siempre vuelve a MIX; no hay "volver" a otra pantalla. Salir de la consola apaga SLOOP. */ +/* HOME es la consola: salir de ella apaga PLAY/REC y cierra las capas. */ void app_set_view(bm_app *a, int v) { - if (v != V_HOME && v != V_FXG && a->sloop) app_sloop(a, 0); + if (v != V_HOME && a->sloop) app_sloop(a, 0); + a->layer = L_NONE; a->layer_latch = 0; a->view = (uint8_t)v; a->ov.on = 0; a->clear_armed = 0; } +/* La rejilla por pasos de la batería y del Slicer (V_CH). */ void app_enter(bm_app *a, int t, int page) { - a->track = (uint8_t)(t % BM_TRACKS); - if (!app_page_ok(a, a->track, page)) page = PG_SEQ; - if (a->view == V_CH && a->page == PG_PADS && page != PG_PADS && a->take_dirty) /* la ganancia de la toma se guarda al salir */ - for (int i = 0; i < BM_TAKES; i++) if (a->take_dirty & (1u << i)) app_job(a, JOB_TAKE_META, i); - a->page = (uint8_t)page; - if (page != PG_REC && page != PG_MORE) a->ch_page[a->track] = (uint8_t)page; /* volver no pasa por su GLO */ - a->held_step = -1; a->held_white = -1; - a->mach_arm = 0; - app_set_view(a, V_CH); -} - -void app_select_track(bm_app *a, int t, int keep_page) -{ - if (t < 0 || t >= BM_TRACKS) return; + (void)page; + if (!bm_is_grid(&a->pat, t)) return; a->track = (uint8_t)t; a->held_step = -1; a->held_white = -1; a->mach_arm = 0; - if (a->view == V_CH) { - int pg = keep_page && app_page_ok(a, t, a->page) && a->page != PG_REC ? a->page : a->ch_page[t]; - if (!app_page_ok(a, t, pg)) pg = PG_SEQ; - a->page = (uint8_t)pg; - a->ch_page[t] = (uint8_t)pg; - int len = bm_trk_len(&a->pat, t, a->sel_lane[t]); - if (a->step_page * 16 >= len) a->step_page = 0; - } - char b[24]; - snprintf(b, sizeof b, "T%d %s", t + 1, T(bm_track_name(a, t))); - app_toast(a, b); + int len = bm_trk_len(&a->pat, t, a->sel_lane[t] & 15); + if (a->step_page * BM_PAGE_STEPS >= len) a->step_page = 0; + app_set_view(a, V_CH); } -/* ------------------------------------------------------------ undo, portapapeles */ +/* ------------------------------------------------------------ datos de un canal */ void *app_track_data(bm_app *a, int t) { return t < BM_TR_TRACKS ? (void *)&a->pat.tr[t] : (void *)&a->pat.nt[t - BM_TR_TRACKS]; } size_t app_track_size(int t) { return t < BM_TR_TRACKS ? sizeof(bm_tr) : sizeof(bm_notes); } -void app_undo_snapshot(bm_app *a, int t) -{ - memcpy(&a->undo, app_track_data(a, t), app_track_size(t)); - a->undo_track = (int8_t)t; - a->redo_track = -1; -} - -void app_do_undo(bm_app *a) -{ - if (a->undo_track < 0) { app_toast(a, "NOTHING TO UNDO"); return; } - int t = a->undo_track; - memcpy(&a->redo, app_track_data(a, t), app_track_size(t)); - a->redo_track = (int8_t)t; - app_push_ptr(a, CMD_TRACK_BULK, (uint8_t)t, &a->undo); - a->undo_track = -1; - app_edited(a); - char b[30]; snprintf(b, sizeof b, TF("UNDONE ON T%d"), t + 1); - app_toast(a, b); -} - -void app_do_redo(bm_app *a) -{ - if (a->redo_track < 0) { app_toast(a, "NOTHING TO REDO"); return; } - int t = a->redo_track; - memcpy(&a->undo, app_track_data(a, t), app_track_size(t)); - a->undo_track = (int8_t)t; - app_push_ptr(a, CMD_TRACK_BULK, (uint8_t)t, &a->redo); - a->redo_track = -1; - app_edited(a); - char b[30]; snprintf(b, sizeof b, TF("REDONE ON T%d"), t + 1); - app_toast(a, b); -} - -void app_clear_track(bm_app *a, int t) -{ - app_undo_snapshot(a, t); - app_push(a, CMD_TRACK_CLEAR, (uint8_t)t, 0, 0); - app_edited(a); - char b[30]; - snprintf(b, sizeof b, TF("T%d ERASED (HOME+OCT- UNDOES)"), t + 1); - app_toast(a, b); -} - -void app_copy_track(bm_app *a, int t) -{ - memcpy(&a->clip, app_track_data(a, t), app_track_size(t)); - a->clip_trk = a->pat.trk[t]; - a->clip_type = 2; a->clip_track = (uint8_t)t; - app_toast(a, "TRACK COPIED"); -} - -void app_paste_track(bm_app *a, int t) -{ - if (a->clip_type != 2 || app_kind(a, t) != bm_kind(&a->pat, a->clip_track) || (app_kind(a, t) == KIND_TR) != (a->clip_trk.engine == ENG_DRUM)) { - app_toast(a, "NOTHING TO PASTE HERE"); return; - } - app_undo_snapshot(a, t); - app_push_ptr(a, CMD_TRACK_BULK, (uint8_t)t, &a->clip); - app_edited(a); - app_toast(a, "TRACK PASTED"); -} - void app_init_sound(bm_app *a, int t) { if (app_kind(a, t) == KIND_NOTE) app_push(a, CMD_PRESET, (uint8_t)t, 0xFF, 0); /* los ajustes de fábrica de la máquina */ @@ -1074,11 +907,9 @@ int app_set_machine(bm_app *a, int t, int eng) { if (!bm_engine_ok(t, eng) || t < BM_TR_TRACKS || a->pat.trk[t].engine == eng) return -1; if (bm_machine_conflict(&a->pat, t, eng) >= 0) return -1; - if (a->undo_track == t) a->undo_track = -1; /* el undo tenía P-Locks de la otra máquina */ - if (a->redo_track == t) a->redo_track = -1; app_push(a, CMD_ENGINE, (uint8_t)t, (uint8_t)eng, 0); app_edited(a); - char b[30]; snprintf(b, sizeof b, "T%d = %s", t + 1, bm_engine_names[eng]); + char b[30]; snprintf(b, sizeof b, "T%d = %s", app_pos(t) + 1, bm_engine_names[eng]); app_toast(a, b); return 0; } @@ -1101,21 +932,6 @@ void app_select_pattern(bm_app *a, int idx) app_toast(a, b); } -/* SONG REC: cada ciclo que empieza queda escrito (el patrón y, si se lanzó una escena, la escena). - * El mismo patrón sin escena nueva suma una vuelta a la entrada de antes. */ -void app_song_rec_note(bm_app *a) -{ - const bm_status *st = &a->ctx.st; - uint8_t sc = st->scene_q != 0xFF ? st->scene_q : st->scene; /* la que entra en el primer compás también cuenta */ - int fresh = sc != 0xFF && sc != a->song_rec_scene; - uint8_t e = (uint8_t)((st->pattern & 15) | (fresh ? (sc + 1) << 4 : 0)); - if (fresh) a->song_rec_scene = sc; - uint8_t *last = a->song.n ? &a->song.pat[a->song.n - 1] : NULL; - if (last && !fresh && bm_song_pat(*last) == bm_song_pat(e) && a->song.rep[a->song.n - 1] < 16) a->song.rep[a->song.n - 1]++; - else if (a->song.n < BM_SONG_MAX) { a->song.pat[a->song.n] = e; a->song.rep[a->song.n] = 1; a->song.n++; } - a->song_dirty = 1; a->t_edit = a->now; -} - /* ------------------------------------------------------------ tick */ void bm_app_tick(bm_app *a, uint32_t now) { @@ -1125,8 +941,6 @@ void bm_app_tick(bm_app *a, uint32_t now) bm_gesture_poll(&a->ges, now); app_input_tick(a); app_tables(a); - /* PRESETS con HOME sostenido elige el patrón al soltar HOME (no carga ni guarda cada uno por el que pasa) */ - if (a->pat_sel >= 0 && a->layer != L_HOME && now - a->pat_sel_t > 500) { app_select_pattern(a, a->pat_sel); a->pat_sel = -1; } if (a->ov.on && (int32_t)(now - a->ov.until) > 0) a->ov.on = 0; if (a->toast_until && (int32_t)(now - a->toast_until) > 0) a->toast_until = 0; for (int t = 0; t < BM_TRACKS; t++) @@ -1138,33 +952,11 @@ void bm_app_tick(bm_app *a, uint32_t now) if (st->edits != a->edits_seen) { a->edits_seen = st->edits; app_edited(a); } if (st->clip) { st->clip = 0; a->clip_until = now + 200; } if (st->swap_fail) { st->swap_fail = 0; app_toast(a, "NO CHANGE: STOP AND SAVE"); } - if (a->layer == L_ERASE && app_playing(a) && a->erase_mask) { /* BORRAR sonando */ - int t = a->track; - if (bm_is_grid(&a->pat, t)) { - const bm_tr *tr = bm_trk_trc(&a->pat, t); - for (int l = 0; l < BM_LANES; l++) - if (a->erase_mask & (1u << l)) { - int s = bm_app_track_step(a, t, l); - if (s >= 0 && tr->st[l][s]) { app_push_i(a, CMD_SET_TRSTEP, (uint8_t)t, (uint8_t)l, (uint8_t)s, 0); app_edited(a); } - } - } else if (a->erase_syn) { - int s = bm_app_track_step(a, t, -1), any = 0; - for (int k = 0; s >= 0 && k < BM_EVENTS; k++) if (!bm_event_empty(bm_evc(&a->pat, t, s, k))) any = 1; - if (any) { - bm_event e; bm_event_clear(&e); - for (int k = 0; k < BM_EVENTS; k++) app_push_ev(a, t, s, k, &e); - app_edited(a); - } - } - } - if (a->song_rec == 2 && app_playing(a)) { a->song_rec = 1; a->song_rec_loops = st->loops; app_song_rec_note(a); } /* SONG REC armado: empieza con PLAY */ - else if (a->song_rec == 1 && app_playing(a) && st->loops != a->song_rec_loops) { a->song_rec_loops = st->loops; app_song_rec_note(a); } if (st->smp_unsaved && !st->smp_rec && !app_playing(a) && !a->njob && a->pf.flash) { /* toma nueva: al parar */ app_job(a, JOB_SAVE_TAKE, 0); app_toast(a, "SAVING THE TAKE"); } - if (a->take_dirty && !app_playing(a) && !a->njob && a->pf.flash && now - a->t_edit > 1500 - && !(a->view == V_CH && a->page == PG_PADS)) + if (a->take_dirty && !app_playing(a) && !a->njob && a->pf.flash && now - a->t_edit > 1500) for (int i = 0; i < BM_TAKES; i++) if (a->take_dirty & (1u << i)) app_job(a, JOB_TAKE_META, i); if (a->set.autosave && !app_playing(a) && !a->njob && (a->dirty || a->pend_obj >= 0 || a->song_dirty || a->set_dirty) && now - a->t_edit > UI_AUTOSAVE_MS && a->pf.flash) { @@ -1179,12 +971,6 @@ void bm_app_tick(bm_app *a, uint32_t now) if (id < BM_TAKES && a->take[id].valid) app_job(a, JOB_TAKE_ERASE, id); } jobs_run(a); - if (a->view == V_CH && a->track == 1) { /* el dibujo de la onda que se ve */ - const bm_pad *pd = app_pad(a); - if (a->page == PG_PADS) app_wave_view(a, bm_pad_ok(pd) ? pd->src : -1, pd->start, a->cut_zoom); - else if (a->page == PG_TAKES) app_wave_view(a, bm_app_takes_sel(a), 0, 0); - else if (a->page == PG_REC) app_wave_view(a, BM_TAKE_NEW, 0, 0); - } app_leds(a); /* 25 cuadros por segundo como mucho, y un redibujo entero repartido en varios ticks (bm_gfx.h) */ if (a->pf.blit && bm_screen_due(&a->scr, now)) bm_screen_render(&a->scr, bm_app_draw, a, a->pf.blit, a->pf.user); diff --git a/core/bm_app.h b/core/bm_app.h index d1b014b..06cf67a 100644 --- a/core/bm_app.h +++ b/core/bm_app.h @@ -22,40 +22,50 @@ typedef struct { void *user; } bm_platform; -/* Pantallas (0.9). La consola (BX-1) es HOME: MIX y FX, y su GLO. Los canales usan V_CH con su - * página (pestaña). */ +/* Pantallas (1.0, etapa 1). HOME es el mezclador de 6 canales; GLO su menú global (SELECT MACHINE); + * V_CH es el secuenciador de la batería (el único canal con pantalla propia). PLAY/REC no es una + * pantalla: es HOME con el teclado tocando el canal del cursor. */ typedef enum { V_BOOT, - V_HOME, /* consola: MIX (HOME siempre vuelve aquí) */ - V_FXG, /* consola: FX = CHANNEL > DELAY > REVERB > MASTER */ - V_GLO, /* consola: GLO = TEMPO > MACHINES > SCALE > SONG */ - V_CH, /* un canal: a->page */ - V_SYSTEM, V_TIME, V_SAVE, V_COPYCH, /* HOME 2 s, SEQ 2 s, SAVE, HOME + EDIT */ + V_HOME, /* el mezclador (y PLAY/REC, si a->sloop) */ + V_GLO, /* menú global del mezclador: SELECT MACHINE */ + V_CH, /* el secuenciador de la batería */ + V_SYSTEM, V_SAVE, /* HOME 2 s, SAVE */ + V_MACH, /* la máquina de un canal de notas (2026-10-21: la BX-7) */ V_COUNT } bm_view; -enum { FXP_CHANNEL, FXP_DELAY, FXP_REVERB, FXP_MASTER, FXP_COUNT }; /* páginas del FX de la consola */ -enum { GP_TEMPO, GP_MACH, GP_SCALE, GP_SONG, GP_COUNT }; /* páginas del GLO de la consola */ +/* Páginas de la BX-7 (V_MACH), como los botones del FM-1 de fábrica: el mismo botón otra vez vuelve a + * MAIN; HOME sale a la consola. */ +enum { BXP_MAIN, BXP_SEQ, BXP_FX, BXP_ENV, BXP_LFO, BXP_EDIT, BXP_GLO, BXP_ARP, BXP_SCL, BXP_N }; /* SCL: el BB-303 (ACCENT / SLIDE por paso) */ +enum { BXE_OP1, BXE_OP6 = 5, BXE_PIT, BXE_GLO, BXE_N }; /* qué edita EDIT: un operador, el pitch EG o lo global */ +typedef struct { + uint8_t page; /* BXP_* */ + uint8_t sub[BXP_N]; /* la página de cada botón (SELECT) */ + uint8_t edit; /* BXE_* */ + uint8_t esub[BXE_N]; /* la página de cada cosa de EDIT */ + uint8_t fxpos, grab; /* FX: la casilla elegida y si SCL la tomó para moverla */ + uint8_t armed; /* REC parado: la primera nota arranca y graba */ + uint8_t step; /* SEQ, paso a paso (REC parado): el paso que se escribe */ + uint8_t chord, nslot; /* paso a paso: hay teclas del paso apretadas y cuántas notas lleva */ + uint8_t blk; /* BB-303 SCL: la página de 16 pasos */ + uint8_t vman, vpage; /* piano roll: K3 eligió la página que se ve (si no, sigue al cabezal / cursor) */ + int8_t vy; /* piano roll: K4 corre las alturas que se ven (semitonos) */ + uint8_t szoom, sbars; /* Slicer, TRIM: el zoom de la onda (0..3) y los compases que graba SAMPLE (1, 2 o 4) */ +} bm_bx7ui; -/* Páginas de un canal. Las pestañas dependen del tipo de canal (bm_app_tabs). PG_MORE es el GLO de - * la máquina (GLO dentro de ella): no es una pestaña. */ #define BM_MACH_MS 2000u /* cambio de máquina: la elegida se carga si se queda 2 s */ -typedef enum { - PG_SEQ, PG_SOUND, PG_INST, PG_MIX, PG_MORE, PG_BREAK, PG_TAKES, PG_ARP, PG_LOOP, PG_MIDI, - PG_SCL, PG_CHORDS, PG_REC, PG_PADS, PG_COUNT -} bm_page; - -/* Capas en vivo (mantener un botón). */ -typedef enum { - L_NONE, L_HOME, L_LEN, L_ERASE, L_ACC, L_REP, L_PUNCH, L_CHORDS, L_ARP, L_ROLL, L_COPY, L_TONE, L_LANEMUTE, L_FILL, - L_COUNT -} bm_layer; +/* SYSTEM (2026-10-21, más simple): las filas que se ven, de las de siempre (sys_val / system_change): + * reloj MIDI, sync, luces en reposo, idioma, versión. Las demás quedan como estaban. */ +#define BM_SYS_VIS 5 +static const uint8_t BM_SYS_ROWS[BM_SYS_VIS] = {0, 1, 5, 9, 10}; +#define BM_SAVE_ROWS 3 /* SAVE: guardar (con las escenas), guardar como, borrar el patrón */ +#define BM_GLO_PAGES 3 +typedef enum { PG_SEQ, PG_COUNT } bm_page; -/* Preguntas (0.9): se aceptan con el tiempo. Sostener 2 s el mismo botón o tecla que preguntó - * (o volver a apretarlo y sostenerlo); soltarlo antes, u otro control, es no. */ -enum { ASK_NONE, ASK_COPY_PAT, ASK_COPY_TRK, ASK_TAKE_DEL, ASK_INIT, ASK_KIT, ASK_DISCARD, ASK_COPY_CH }; -#define ASK_ENC 0xFEu /* preguntó una perilla: se acepta sola a los 2 s, otro control es no */ -#define ASK_KEY 0x80u /* ask_ctl = ASK_KEY | tecla; si no, el botón */ +/* Capas del secuenciador de la batería: un clic en su botón la abre y otro la cierra (o HOME); sostenerlo es lo + * mismo que un clic. */ +typedef enum { L_NONE, L_ACC, L_REP, L_HIT, L_INST, L_MUTE, L_LEN, L_COUNT } bm_layer; /* LFO, la negra 11, ENV, EDIT, SCL y (Slicer) SEQ otra vez: LENGTH AND SPEED */ typedef struct { uint8_t ver, clock, sync_mode, sync_ppqn, sync_lat, drive, led_dim, autosave, last_pat; @@ -63,9 +73,10 @@ typedef struct { uint8_t lang; /* 0 = inglés, 1 = el paquete de idioma de la flash */ uint8_t fast_lcd; /* 1 = SPI a 30 MHz con DMA (a prueba; el modo seguro lo apaga) */ uint8_t dual_core; /* 1 = el audio en los dos núcleos (a prueba; el modo seguro lo apaga) */ - uint8_t note_view; /* bit t = el canal t ve su SEQ como PIANO ROLL (GLO de la máquina > VIEW) */ + uint8_t factory; /* los patrones de fábrica que se escribieron (BM_FACTORY_VER); otro número los vuelve a escribir */ uint8_t rsv[18]; } bm_settings; +#define BM_FACTORY_VER 1 /* 1 (2026-10-24): DA FUNK, BLADE, ENJOY THE SILENCE */ typedef struct { uint8_t on, enc, pct, ghost; @@ -84,7 +95,7 @@ typedef struct { char label[6]; uint8_t led, live; uint16_t color; } bm_keyfn; #define BM_JOBS 10 enum { JOB_NONE, JOB_FLUSH_PEND, JOB_SAVE_CUR, JOB_SAVE_AS, JOB_SAVE_SONG, JOB_SAVE_GLOB, JOB_LOAD, - JOB_SAVE_TAKE, JOB_TAKE_META, JOB_TAKE_ERASE, JOB_COPY_PAT, JOB_COPY_TRK }; + JOB_SAVE_TAKE, JOB_TAKE_META, JOB_TAKE_ERASE }; typedef union { bm_tr tr; bm_notes nt; } bm_trackbuf; @@ -113,54 +124,32 @@ typedef struct bm_app { bm_take take[BM_TAKES]; bm_smp_src smp_send[1]; /* copia estable que lee el audio: la toma recién guardada */ bm_smp_src take_send[BM_TAKES]; /* las tomas, para los pads (CMD_SMP_TAKES) */ - uint8_t wave_cut[2][232]; /* PADS / TAKES: la ventana que se ve (pico y RMS) */ - uint8_t wave_ov[232]; /* la toma entera, para el mapa de arriba (picos) */ - uint8_t take_dirty, takes_row, cut_snap, cut_zoom; + uint8_t take_dirty, takes_row; volatile uint8_t ext_take_del; /* toma a borrar pedida desde afuera (id + 1), se borra en STOP */ int8_t pad_key; /* tecla que sostiene un pad (o una escucha) */ - const int8_t *cut_wd; /* lo que ya está dibujado en wave_cut / wave_ov */ - uint32_t cut_wlen, cut_v0, cut_v1, cut_pk; uint8_t slice_sens; /* sensibilidad de los cortes en los golpes (0..127) */ - bm_pad pad_clip; /* COPY / PASTE de un pad (con su nivel y su grupo) */ - uint8_t pad_clip_on, pad_clip_level, pad_clip_choke; + uint8_t len_page; /* Slicer, LENGTH AND SPEED: los largos que dan las blancas (0: 1-16 ... 3: 49-64) */ /* portapapeles, undo y redo (un canal) */ - bm_trackbuf clip; - bm_track clip_trk; - bm_event clip_step[BM_EVENTS]; - uint8_t clip_type, clip_track; /* 0 nada, 1 paso, 2 canal */ - bm_trackbuf undo, redo; - int8_t undo_track, redo_track; + bm_trackbuf scratch; /* bolsa de trabajo: un canal entero a medias */ /* UI */ bm_gesture ges; bm_screen scr; - uint8_t view, page, layer, track, step_page; + uint8_t view, layer, track, step_page; uint8_t mach_sel; /* cambio de máquina: la elegida (ENG_*) */ uint8_t mach_arm; /* 1 = la cuenta de 2 s corre (ALGORITHM la movió a otra) */ uint8_t mach_trk; /* el canal que cambia de máquina (la tarjeta o GLO > MACHINES) */ uint32_t mach_t0; /* cuándo se llegó a la elegida */ - uint8_t ch_page[BM_TRACKS]; /* última página de cada canal */ - uint8_t glo_back; /* GLO de la máquina: la página a la que vuelve GLO otra vez */ - uint8_t glo_page; /* GLO de la consola: GP_* */ uint8_t sel_lane[BM_TRACKS]; - uint8_t ed_page[BM_TRACKS]; /* página del editor de sonido (ANALOG) o del instrumento (batería) */ int8_t oct; - uint8_t rec, rec_before, rec_hold, fill; + uint8_t rec, fill; uint8_t sloop; /* SLOOP-REC (REC en la consola): las teclas tocan el canal del cursor */ - uint8_t card, card_turn; /* tarjeta del canal (blanca 11-16 sostenida en HOME): canal + 1 · se giró una perilla */ - uint8_t cue; /* CUE (negra 11 en HOME): 1 sostenida, 2 fija */ - uint8_t home_go; /* HOME + blanca 11-16: el canal + 1 al que se entra al soltar HOME */ - uint8_t scn_chain; /* escenas: una sostenida ya armó una cadena (soltarla no lanza) */ - uint8_t song_rec_scene; /* SONG REC: la escena que ya quedó escrita */ uint64_t rec_steps; /* REC de esta pasada: los pasos donde se grabó (las notas se ven en rojo) */ uint16_t rec_lanes; /* y los instrumentos (rejillas) */ - uint16_t home_mod; /* botones que se apretaron con HOME sostenido */ - uint8_t home_used; uint8_t box_on, box_track, box_hold; uint8_t box_mode, box_lane; /* recuadro de ALGORITHM en INSTR: BOX_LANE (instrumento) */ uint8_t layer_latch; /* la capa quedó abierta con un toque (FILL, ROLL, LFO): se cierra con la misma tecla o HOME */ - uint8_t nav_btn, nav_track, nav_page, nav_sub; /* botón + 1 que abrió la página del canal (0 = ninguno), para su luz */ uint32_t box_until; int8_t held_step, held_white; uint8_t held_edit, held_had_event, held_long, held_notes; @@ -169,49 +158,24 @@ typedef struct bm_app { uint8_t key_notes[BM_KEYS][4], key_nn[BM_KEYS], key_trk[BM_KEYS]; int8_t key_rec_step[BM_KEYS], key_rec_slot[BM_KEYS]; uint32_t key_rec_tick[BM_KEYS]; + uint32_t key_rec_bt[BM_KEYS]; /* btick al grabarla: lo que se sostuvo (rtick vuelve a 0 con el maestro) */ + uint8_t rec_vel; /* la fuerza de la última nota tocada: 127 se graba con ACCENT */ + uint8_t oct_used; /* el OCT sostenido ya se usó (transposición o los dos): al soltarlo no cambia la octava */ + uint32_t rec_clr_bt[BM_STEPS]; /* PLAY/REC: btick en que se reescribió cada paso (en la misma vuelta, se suma: un acorde) */ + uint64_t rec_clr_on; /* los pasos con rec_clr_bt válido */ + int8_t rec_clr_trk; /* de qué canal son */ uint32_t key_t0[BM_KEYS]; uint8_t key_role[BM_KEYS]; /* qué hizo la tecla al bajar (para soltarla bien) */ - uint16_t home_done; - uint8_t eng_pending, rec_now, solo_mask; - uint8_t hold_play; /* sampler: un paso sostenido está haciendo sonar el loop */ - uint8_t rec_free; /* canal + 1 que graba en libre: el largo se cierra al parar REC */ - uint32_t rec_free_t0; /* btick del inicio (0xFFFFFFFF = empieza con PLAY) */ - uint8_t chord_mod; - int8_t last_pad; - uint8_t prev_chord[4], prev_chord_n; - char chord_name[10], chord_roman[10]; uint8_t last_note[BM_TRACKS]; - int8_t pat_sel; - uint32_t pat_sel_t; uint16_t pat_held; /* blancas sostenidas en HOME: cadena de patrones */ uint8_t pchain[8], pchain_n; int8_t solo_key, solo_track; uint8_t solo_on, solo_saved; - uint16_t erase_mask; /* capa BORRAR sonando: instrumentos que se borran al pasar */ - uint8_t erase_syn; /* ROLL (ARP en T1 y T2): en vivo, no se guarda */ - uint8_t roll_rate; /* índice en bm_roll_ticks (0..BM_ROLL_RATES-1) */ - uint16_t roll_mask; /* blancas sostenidas que hacen roll */ - uint8_t roll_ramp; /* 0 plano, 1 CRESC, 2 DECRESC */ - uint8_t roll_len; /* largo de la rampa: índice en bm_roll_len_ticks */ - uint8_t roll_swing; /* 50..75 % */ - uint8_t roll_tail; /* la cola al soltar: índice en bm_roll_tail_ticks */ uint8_t brk_live; - uint8_t len_page; /* capa LARGO: OCT +/- = largos 17-64 */ - uint8_t launch_held, chain[8], chain_n; - uint8_t song_rec; - uint32_t song_rec_loops; - uint32_t tap_t[4]; - uint8_t tap_n; - uint8_t time_row, time_lane; - uint8_t menu_row, glo_row, more_row, save_row, save_target, song_cur, clear_armed; - uint8_t copy_src, copy_dst, copy_pat_dst, copy_trk; - uint8_t ask, ask_arg, ask_arg2; - uint8_t ask_ctl, ask_live; /* el control que preguntó (botón, ASK_KEY | tecla o ASK_ENC) y si está apretado */ - uint8_t cur_ctl; /* el control que se está atendiendo (para app_ask) */ - uint16_t ask_eat; /* botones cuyo gesto ya usó la pregunta: se ignoran hasta soltarlos */ - uint32_t ask_t0; /* desde cuándo se sostiene para el sí */ - char ask_text[2][30]; + uint8_t chain[8], chain_n; + uint8_t menu_row, save_row, save_target, clear_armed; + uint8_t glo_page; /* GLO de HOME: 0 MACHINES, 1 TEMPO (y escala), 2 MASTER FX (PRESETS la cambia) */ uint32_t clear_t; bm_overlay ov; char toast[30]; @@ -223,18 +187,11 @@ typedef struct bm_app { uint8_t last_trig[BM_TRACKS]; uint32_t trig_until[BM_TRACKS]; uint32_t lane_flash[BM_TRACKS][BM_LANES]; - int8_t punch_key; uint32_t clip_until; uint16_t edits_seen; uint8_t cpu; /* carga del audio en % (la cabecera) */ - uint8_t rec_gate; /* REC de notas: el largo con que se graban (10..100 %, 100 = TIE) */ - int8_t rec_micro; /* REC de notas: corrimiento en ticks (-12..12) */ - uint8_t mix_page, fx_page; /* FX otra vez: DUCK · en la página FX de HOME: DELAY > REVERB > MASTER */ int8_t move; /* MOVE de HOME (PRESETS): -63..63, en vivo, no se guarda */ - int8_t tie_from; /* paso sostenido para una nota larga (blanca + otra blanca) */ - int8_t rec_step; /* REC en un canal de notas: el paso que editan ALGORITHM (gate) y PRESETS (micro) */ uint32_t wt_sig[2]; /* BITTAL: qué tablas están armadas en RAM */ - uint8_t knob_rec; /* REC: la nota sostenida graba lo que se mueve en K1-K4 */ /* perillas: aceleración por el tiempo entre giros, detents crudos y la perilla que gira */ uint32_t enc_t[ENC_COUNT]; /* cuándo giró cada perilla por última vez */ int8_t enc_raw; /* detents de este giro, sin acelerar (0 fuera de un giro) */ @@ -244,6 +201,7 @@ typedef struct bm_app { uint8_t stick_id; uint8_t snap_buf[BM_SNAP_MAX]; /* un sonido que llega de afuera (bm_app_sound_load) */ uint16_t snap_len; + bm_bx7ui bx; /* la BX-7 (core/bm_bx7.c) */ } bm_app; void bm_app_init(bm_app *a, const bm_platform *pf, uint32_t now); @@ -280,9 +238,6 @@ void bm_app_src_name(const bm_app *a, uint8_t src, char *buf, int cap); bool bm_app_src_info(const bm_app *a, uint8_t src, bm_smp_src *out); /* para el dibujo */ -int bm_app_layer(const bm_app *a); -int bm_app_tabs(const bm_app *a, int t, uint8_t out[8]); /* pestañas de un canal */ -const char *bm_page_name(int page); void bm_app_legend(const bm_app *a, bm_legend out[4]); /* Qué hacen ahora las tres perillas grandes (SELECT, ALGORITHM, PRESETS): un nombre corto, o "-" * si no hacen nada aquí. Sale del mismo reparto que bm_app_encoder. */ @@ -290,15 +245,7 @@ void bm_app_bigknobs(const bm_app *a, const char **sel, const char **alg, const void bm_app_keymap(const bm_app *a, bm_keyfn out[BM_KEYS], char *title, int cap, uint16_t *color, const char **h1, const char **h2); /* qué hace cada tecla ahora (nombre corto) y su luz: lo mismo que se ve en la tira de teclas */ void bm_app_keys(const bm_app *a, bm_keyfn out[BM_KEYS]); -const char *bm_pad_mode_name(int mode); /* ONESHOT, KEY, THRU, LOOP */ void bm_app_draw(bm_gfx *g, void *user); -void bm_fmt_macro(const bm_app *a, int track, int i, int v, char *buf, int cap); -const char *bm_macro_name(const bm_app *a, int track, int i); -/* editor de sonido por páginas (ANALOG en SONIDO, el instrumento de batería en INSTR) */ -const bm_ppage *bm_app_ed_pages(const bm_app *a, int t, int *n); -int bm_app_ed_on(const bm_app *a); -int bm_app_ed_value(const bm_app *a, int t, const bm_pdef *d); -const char *bm_app_ed_name(const bm_app *a, int t, const bm_pdef *d); const char *bm_track_name(const bm_app *a, int t); const char *bm_kit_name(int kit); /* KO-808, KO-909 (ROM) o SINTE */ const char *bm_sound_name(const bm_app *a, int t); /* kit, timbre o banco de ondas del canal */ @@ -307,23 +254,9 @@ uint16_t bm_track_color(int t); uint16_t bm_knob_color(int i); const char *bm_lane_name(const bm_app *a, int t, int lane); int bm_app_track_step(const bm_app *a, int t, int lane); /* paso que suena (lane < 0: canal de notas) */ -int bm_app_chord_track(const bm_app *a); int bm_app_enter_ms(const bm_app *a); /* -1 = OFF */ uint32_t bm_app_rec_room(const bm_app *a); /* muestras que caben en la próxima toma */ -uint8_t bm_app_takes_sel(const bm_app *a); /* fuente marcada en TOMAS */ -int bm_app_more_count(const bm_app *a); /* filas del GLO de la máquina */ -void bm_app_more_row(const bm_app *a, int i, const char **name, char *val, int cap); -int bm_app_glo_count(const bm_app *a); /* filas de la página del GLO de la consola */ -void bm_app_glo_row(const bm_app *a, int i, const char **name, char *val, int cap); -/* una tecla sostenida que hace algo a los 2 s (escena: guardarla): 0..255 hacia los 2 s, o -1 */ +/* una escena guardada sostenida: el anillo hacia los 2 s en que se borra (0..255), o -1 */ int bm_app_key_ring(const bm_app *a, char *label, int cap); -/* la pregunta: cuánto falta para el sí (0..255) y cómo se dice el control que preguntó */ -int bm_app_ask_progress(const bm_app *a); -void bm_app_ask_hint(const bm_app *a, char *buf, int cap); -static inline bool bm_app_roll_view(const bm_app *a, int t) { return (a->set.note_view >> t) & 1; } -#define BM_ROLL_RATES 6 /* 1/8 1/16 1/32 1/8T 1/16T 1/32T */ -extern const char *const bm_roll_names[BM_ROLL_RATES]; -extern const char *const bm_roll_len_names[4]; -extern const char *const bm_roll_tail_names[4]; #endif diff --git a/core/bm_app_int.h b/core/bm_app_int.h index db1ba3d..ceb5296 100644 --- a/core/bm_app_int.h +++ b/core/bm_app_int.h @@ -23,56 +23,88 @@ void app_edited(bm_app *a); /* avisos */ void app_toast(bm_app *a, const char *msg); void app_overlay(bm_app *a, int enc, const char *title, const char *val, const char *unit, int pct, int ghost, uint16_t col); -void app_ask(bm_app *a, int kind, int arg, int arg2, const char *l1, const char *l2); + +/* Orden de los canales en pantalla (1.0): batería, cuatro que eligen máquina y el Slicer al final. + * El canal de pantalla n (0-5) es la pista interna BM_ORDER[n]. */ +static const uint8_t BM_ORDER[BM_TRACKS] = {0, 2, 3, 5, 4, 1}; +static inline int app_pos(int t) { for (int i = 0; i < BM_TRACKS; i++) if (BM_ORDER[i] == t) return i; return 0; } +static inline int app_fixed(int t) { return t == 0 || t == 1; } /* la batería y el Slicer no eligen */ /* estado */ static inline int app_playing(const bm_app *a) { return a->ctx.st.playing; } static inline int app_kind(const bm_app *a, int t) { return bm_kind(&a->pat, t); } -static inline int app_midi(const bm_app *a, int t) { (void)a; (void)t; return 0; } /* 0.6: MIDI es MIDI OUT por canal */ enum { BOX_LANE = 2 }; static inline int app_engine(const bm_app *a, int t) { return a->pat.trk[t].engine; } int app_scale(const bm_app *a, int t, int *root); /* escala del canal (o la del proyecto) */ void app_set_view(bm_app *a, int v); void app_enter(bm_app *a, int t, int page); /* entra a un canal y a una página */ -void app_select_track(bm_app *a, int t, int keep_page); -int app_page_ok(const bm_app *a, int t, int page); /* guardado y tomas */ void app_job(bm_app *a, int type, int arg); void app_save_jobs(bm_app *a, int with_cur); void app_send_takes(bm_app *a); /* las tomas guardadas al audio (para los pads) */ bool app_take_info(const bm_app *a, int src, bm_smp_src *m); /* toma 0..7 o BM_TAKE_NEW */ -void app_wave_view(bm_app *a, int src, uint32_t at, int zoom); /* dibujo de una toma (si cambió) */ /* Kit desde una toma (how: 0 en los golpes, 8 o 16 partes iguales): los pads 1..n son sus cortes. - * Si la rejilla de T2 está vacía, también escribe la secuencia que suena como la toma. Devuelve n. */ + * También escribe la secuencia que suena como la toma (la de antes se borra). Devuelve n. */ int app_kit_from_take(bm_app *a, int src, int how); void app_pad_take(bm_app *a, int pad, int src); /* la toma entera en un pad */ -static inline bm_pad *app_pad(bm_app *a) { return &a->pat.pad[a->sel_lane[1] & 15]; } /* el pad elegido */ static inline bool app_kit_empty(const bm_app *a) { for (int i = 0; i < BM_LANES; i++) if (bm_pad_ok(&a->pat.pad[i])) return false; return true; } void app_select_pattern(bm_app *a, int idx); -void app_undo_snapshot(bm_app *a, int t); -void app_do_undo(bm_app *a); -void app_do_redo(bm_app *a); -void app_clear_track(bm_app *a, int t); -void app_copy_track(bm_app *a, int t); -void app_paste_track(bm_app *a, int t); void *app_track_data(bm_app *a, int t); size_t app_track_size(int t); void app_init_sound(bm_app *a, int t); int app_set_machine(bm_app *a, int t, int eng); /* T3-T6: otra máquina (las notas quedan); 0 = se cambió */ int app_machine_track(const bm_app *a, int engine); /* el canal T3-T6 con esa máquina, o -1 */ -void app_song_rec_note(bm_app *a); /* SONG REC: escribe el ciclo que empieza */ /* entrada (bm_input.c) */ void app_sloop(bm_app *a, int on); /* SLOOP-REC en la consola: las teclas tocan el canal del cursor y graban */ void app_on_gesture(void *u, int id, bm_gkind k); void app_input_tick(bm_app *a); void app_leds(bm_app *a); +/* lo de la entrada que comparte la BX-7 */ +int app_lst(const bm_app *a, int d); /* un giro como pasos de lista (+-1 por detent) */ +void app_play_notes(bm_app *a, int k, int t, const uint8_t *notes, int n, int vel); /* toca (y con REC graba) */ +void app_rec_at(bm_app *a, int k, int t, const uint8_t *notes, int n, uint32_t rt); /* graba en el tick rt */ +void app_note_keys(const bm_app *a, bm_keyfn *K, int t); /* el teclado cromático de un canal de notas */ +void app_rec_set(bm_app *a, int on); +void app_enc_source(bm_app *a, int t, int d); /* PRESETS: el sonido del canal */ +void app_layer_legend(const bm_app *a, bm_legend *L, int k, const char *name, const char *val, int pct); +/* lo de la entrada que comparte el Slicer (core/bm_slicer.c) */ +void app_pad_down(bm_app *a, int k, int pad); /* una tecla toca (y con REC sonando graba) un pad */ +void app_slicer_grid(bm_app *a, int layer); /* a la rejilla del Slicer (V_CH), con esa capa abierta (o ninguna) */ +void app_kit_len(bm_app *a, int t, int k, int d); /* el largo de todos los instrumentos o pads del canal (1-64 pasos) */ + +/* la máquina de un canal de notas por dentro (V_MACH, bm_mach.c): la reparte según la máquina */ +bool mach_has(int engine); /* tiene pantalla propia (las de notas) */ +int mach_view_page(const bm_app *a); /* la página de 16 pasos que muestra el piano roll */ +int app_mach_shown(const bm_app *a); /* GLO de la máquina: la que se ve en MACHINE (la elegida o la que suena) */ +void app_mach_pick(bm_app *a, int d); /* GLO de la máquina, MACHINE: las disponibles; quedarse 2 s la carga */ +int mach_len(const bm_app *a); /* el largo del canal del cursor, en pasos */ +bool mach_step_mode(const bm_app *a); /* REC parado en el SEQ de una máquina: paso a paso */ +void mach_key_up(bm_app *a, int k); /* una tecla soltada (paso a paso: el cursor avanza) */ +void mach_cursor(bm_app *a, int d); /* SEQ: SELECT mueve el cursor de paso */ +void app_step_rec(bm_app *a); /* REC parado en el SEQ: grabar paso a paso */ +int mach_page_of(int engine, int btn); /* la página BXP_* de ese botón en esa máquina, o -1 */ +void mach_enter(bm_app *a, int t, int page); /* entrar a la máquina del canal t en la página BXP_* */ +bool mach_button(bm_app *a, int id, bm_gkind k); /* true = lo usó */ +void mach_key(bm_app *a, int k, int w, int b); +void mach_encoder(bm_app *a, int id, int d); +void mach_legend_view(const bm_app *a, bm_legend L[4]); +void mach_bigknobs(const bm_app *a, const char **sel, const char **alg, const char **pre); +void mach_keys(const bm_app *a, bm_keyfn K[BM_KEYS]); +uint8_t mach_btn_led(const bm_app *a, int i); +const char *mach_title(const bm_app *a, char *buf, int cap); /* "LFO 1/2", "EDIT OP3 2/6"... */ +/* la BX-7 (bm_bx7.c) */ +bool bx7_button(bm_app *a, int id, bm_gkind k); +void bx7_key(bm_app *a, int k, int w, int b); +void bx7_encoder(bm_app *a, int id, int d); +void bx7_legend(const bm_app *a, bm_legend L[4]); +void bx7_bigknobs(const bm_app *a, const char **sel, const char **alg, const char **pre); +void bx7_keys(const bm_app *a, bm_keyfn K[BM_KEYS]); +uint8_t bx7_btn_led(const bm_app *a, int i); +int bx7_page_of(int btn); +const char *bx7_title(const bm_app *a, char *buf, int cap); -extern const uint8_t bm_master_steps_tab[6]; -extern const uint8_t bm_roll_ticks[BM_ROLL_RATES]; -extern const uint16_t bm_roll_len_ticks[4]; -extern const uint8_t bm_roll_tail_ticks[4]; #endif diff --git a/core/bm_audio.c b/core/bm_audio.c index f964c10..903586d 100644 --- a/core/bm_audio.c +++ b/core/bm_audio.c @@ -180,12 +180,16 @@ static void apply(bm_ctx *c, const bm_cmd *k) case CMD_SET_PRM: if (k->a < BM_TRACKS && k->b < BM_PRM) c->pat->prm[k->a][k->b] = k->c; break; + case CMD_FMV: + if (k->a < BM_FMV_BYTES) { c->pat->fmv[k->a] = (uint8_t)bm_clampi(k->b, 0, bm_fmv_max(k->a)); c->fmv_gen++; } + break; case CMD_PRESET: if (k->a >= BM_TRACKS) break; if (bm_is_tr(c->pat, k->a)) bm_kit_apply(bm_trk_tr(c->pat, k->a), k->b); else if (k->b == 0xFF) { bm_prm_defaults(c->pat, k->a); break; } /* INIT SOUND: el preset queda */ else bm_preset_apply(c->pat, k->a, k->b); c->pat->trk[k->a].source = k->b; + c->fmv_gen++; break; case CMD_LANE_MUTE: if (k->a < BM_TRACKS && bm_is_grid(c->pat, k->a)) bm_trk_tr(c->pat, k->a)->mute = (uint16_t)k->u.i; @@ -337,7 +341,7 @@ static void apply(bm_ctx *c, const bm_cmd *k) c->roll_cfg.ramp = k->a; c->roll_cfg.swing = k->b; c->roll_cfg.tail = k->c; c->roll_cfg.ramp_len = (uint16_t)k->u.i; break; - case CMD_REC: c->rec = k->a; break; + case CMD_REC: c->rec = k->a; c->rec_trk = k->b; break; case CMD_LOOP: bm_loop_cmd(c, k->a, k->b, k->c); break; case CMD_STRUM: { uint8_t n[4] = {(uint8_t)k->u.i, (uint8_t)(k->u.i >> 8), (uint8_t)(k->u.i >> 16), (uint8_t)(k->u.i >> 24)}; diff --git a/core/bm_audio.h b/core/bm_audio.h index e5d860e..207d602 100644 --- a/core/bm_audio.h +++ b/core/bm_audio.h @@ -63,7 +63,7 @@ typedef enum { CMD_MIDI, /* a=byte MIDI entrante */ CMD_ARP, /* a=pista b=0/1 (capa ARP) */ CMD_ROLL, /* a=canal de rejilla b=línea c=0/1 (0: sigue la cola) i=ticks entre golpes (0 = los mismos) */ - CMD_REC, /* a=0/1: grabación en vivo (para el roll) */ + CMD_REC, /* a=0/1: grabación en vivo (para el roll y el arpegiador) b=el canal que graba */ CMD_LOOP, /* a=pista synth b=acción (1 REC, 2 borrar, 3 on/off, 4 compases=c) */ CMD_STRUM, /* a=pista b=n c=vel i=notas empaquetadas (4 x 8 bit) */ CMD_ALL_OFF, @@ -74,7 +74,8 @@ typedef enum { CMD_PAD_KEY, /* tecla de un pad: a=1 suena el pad b (vel c) mientras se sostiene · a=0 soltar */ CMD_ROLL_CFG, /* ROLL: a=rampa (0 no, 1 CRESC, 2 DECRESC) b=swing 50..75 c=cola en ticks i=largo de la rampa */ CMD_CLONE, /* a=canal de origen b=destino (T3-T6): su máquina y su sonido (HOME + EDIT) */ - CMD_MUTE_CUE /* a=bits de los canales cuyo mute cambia en el próximo compás (CUE de HOME; parado: ya) */ + CMD_MUTE_CUE, /* a=bits de los canales cuyo mute cambia en el próximo compás (CUE de HOME; parado: ya) */ + CMD_FMV /* la voz de la BX-7: a=byte (0..155) b=valor */ } bm_cmd_type; typedef struct { @@ -196,14 +197,21 @@ struct bm_engine { uint8_t track; uint8_t lock_next[4]; uint8_t legato_next; + uint8_t live_next; /* la próxima nota viene del teclado (no del secuenciador) */ + uint8_t held[8], nheld; /* máquinas de una voz: las teclas sostenidas, para volver a la anterior al soltar */ + uint8_t lfo_restart; /* BUNO-6: se tocó después de soltar todo, el retardo del LFO vuelve a empezar */ + float lfo_s, lfo_g; /* BB-303: el LFO suavizado (0..1) y el nivel del bloque anterior */ uint8_t machine; /* la máquina con que se armó (ENG_*): si cambia, se reinicia */ }; extern const bm_engine_vt bm_eng_drum, bm_eng_sampler, bm_eng_wave, bm_eng_acid, bm_eng_fm, bm_eng_midi_out; /* FM: lo que hacen las macros y los ajustes (prm del canal) sobre el patch (para la pantalla) */ -int bm_fm_alg_of(const bm_track *t, const uint8_t *prm); /* algoritmo 1..32 */ -int bm_fm_fb_of(const bm_track *t, int m2); /* realimentación 0..7 */ -void bm_fm_patch_of(const bm_track *t, const uint8_t *prm, const bm_voice *v, uint8_t *p); /* v NULL = las macros del canal */ +int bm_fm_alg_of(const bm_pattern *pat); /* algoritmo de la BX-7: 1..32 */ +void bm_bx7_fx(struct bm_ctx *c, int t, int32_t *buf, uint32_t n); /* core/bm_bx7fx.c: la cadena de efectos de la BX-7 */ +void bm_bx7_fx_reset(void); +void bm_acid_fx(struct bm_ctx *c, int t, int32_t *buf, uint32_t n); /* el OVERDRIVE del BB-303 (si está prendido) */ +void bm_px_fx(struct bm_ctx *c, int t, int32_t *buf, uint32_t n); /* la DISTORTION de B-MINI, BUNO-6 y BITTAL (si está prendida) */ +void bm_fm_patch_of(const bm_pattern *pat, int track, const bm_voice *v, uint8_t *p); /* v NULL = las macros del canal */ extern const char *const bm_acid_names[2]; /* sierra o cuadrada */ const bm_engine_vt *bm_engine_vt_for(int engine); @@ -211,9 +219,13 @@ const bm_engine_vt *bm_engine_vt_for(int engine); typedef struct { uint8_t on; uint8_t held[8], n; + uint8_t ord[8]; /* las mismas notas, en el orden en que se tocaron (modo ORDER) */ + uint8_t down; /* teclas que siguen sostenidas (LATCH: la próxima después de soltar todas empieza otra) */ uint8_t idx, cur, playing; uint16_t gate_left; } bm_arp; +/* modos del arpegiador (bm_track.arp_mode), los del FM-1 de fábrica */ +enum { ARP_OFF, ARP_UP, ARP_DOWN, ARP_INCL, ARP_EXCL, ARP_RANDOM, ARP_ORDER, ARP_REPEAT, ARP_MODES }; typedef struct { uint8_t lane, vel; uint16_t ticks; } bm_retrig; @@ -247,6 +259,8 @@ typedef struct bm_ctx { /* reloj */ uint32_t spt_q16, acc_q16, sample_clock; uint8_t playing, fill, ext_clock, song_on, rec; + uint8_t rec_trk; /* el canal que graba (CMD_REC b): el arpegiador graba lo que toca ahí */ + uint32_t live_held[BM_TRACKS][4]; /* las notas que se están tocando en vivo (bit por nota): al grabar no se repiten desde el patrón */ uint32_t rtick, btick; int8_t queued; int8_t scene_q; @@ -330,6 +344,7 @@ typedef struct bm_ctx { * BM_PAR_ELIGE se elige el reparto de los 64 posibles que deja más parejos los dos núcleos. * Los costos suben de golpe y bajan despacio: los picos (fills, acordes nuevos) cuentan. */ uint32_t (*now)(void); + uint8_t fmv_gen; /* sube con cada cambio de la voz de la BX-7 (CMD_FMV, preset) */ uint8_t par_auto; uint16_t par_n; uint32_t cost[BM_TRACKS], cost_over; /* ticks de now por render */ diff --git a/core/bm_b303.c b/core/bm_b303.c new file mode 100644 index 0000000..ead7d05 --- /dev/null +++ b/core/bm_b303.c @@ -0,0 +1,223 @@ +/* SPDX-License-Identifier: GPL-3.0-or-later + * Copyright (C) 2026 Erbubar23 */ +/* Bubba Machine — el BB-303 por dentro: la TB-303 de Roland en el FM-1 (2026-10-22). + * + * El panel de la 303 en las perillas, en su orden: + * K1-K4 CUTOFF, RESO, ENV MOD, DECAY (la fila del medio del panel) + * ALGORITHM ACCENT (la perilla de la derecha del panel) · OCT sostenido + ALGORITHM: TUNING + * EDIT otra vez: la página 2: TUNING, WAVE (SAW / SQUARE), SLIDE (el tiempo), VOLUME + * PRESETS los sonidos de fábrica + * Tocar ligado (apretar la siguiente antes de soltar) = SLIDE; con REC se graba. + * Botones: EDIT el panel (MAIN), SEQ el piano roll, FX los efectos del TB-03 (página 1 OVERDRIVE; + * FX otra vez, página 2 DELAY y REVERB, que son los envíos del canal), SCL el ACCENT de cada paso (SCL + * otra vez: el SLIDE de cada paso; las 16 blancas son los 16 pasos de la página, SELECT cambia de + * página), LFO el LFO (un añadido: la 303 no tiene), ARP el arpegiador, GLO el MIDI. Un menú con + * páginas (EDIT, FX, SCL, ARP) no se sale: su botón otra vez pasa a la página siguiente, en círculo; + * se sale con otro menú o HOME. El de una sola página, otra vez, vuelve al panel. ENV no hace nada. */ +#include +#include +#include +#include "bm_mach.h" +#include "bm_util.h" +#include "bm_params.h" +#include "bm_lang.h" + +static const char *const WAVES[2] = {"SAW", "SQUARE"}; + +static const bxp P_MAIN[2][4] = { + {{"CUTOFF", K_MAC, 0, 0, 127, F_OHZ, NULL}, {"RESO", K_MAC, 1, 0, 127, F_PCT, NULL}, + {"ENV MOD", K_MAC, 2, 0, 127, F_PCT, NULL}, {"DECAY", K_MAC, 3, 0, 127, F_DMS, NULL}}, + {{"TUNING", K_TRK, TRK(transpose), 0, 48, F_TRSP, NULL}, {"WAVE", K_PRM, AC_WAVE, 0, 1, F_LIST, WAVES}, + {"SLIDE", K_TRK, TRK(glide), 0, 127, F_GLIDE, NULL}, {"VOLUME", K_TRK, TRK(level), 0, 127, F_PCT, NULL}}}; +static const bxp P_ACCENT = {"ACCENT", K_TRK, TRK(accent), 0, 127, F_PCT, NULL}; +static const bxp P_TUNING = {"TUNING", K_TRK, TRK(transpose), 0, 48, F_TRSP, NULL}; /* = el editor (bm_ac_pages) */ +static const bxp P_FX[2][4] = { + {{"DRIVE", K_PRM, AC_OD_G, 0, 127, F_PCT, NULL}, {"TONE", K_PRM, AC_OD_T, 0, 127, F_PCT, NULL}, + {"LEVEL", K_PRM, AC_OD_L, 0, 127, F_PCT, NULL}, {"ON", K_ON, ACF_OD, 0, 1, F_ONOFF, NULL}}, + {{"DELAY", K_TRK, TRK(send), 0, 127, F_PCT, NULL}, {"DLY ON", K_ON, ACF_DELAY, 0, 1, F_ONOFF, NULL}, + {"REVERB", K_TRK, TRK(rsend), 0, 127, F_PCT, NULL}, {"REV ON", K_ON, ACF_REVERB, 0, 1, F_ONOFF, NULL}}}; +const char *const b303_fx_names[ACF_N] = {"OVERDRIVE", "DELAY", "REVERB"}; +static const bxp P_LFO[4] = { + {"RATE", K_PRM, AC_LFO_RATE, 0, AC_LFO_RATES - 1, F_LIST, bm_acid_lfo_rates}, + {"DEPTH", K_PRM, AC_LFO_DEPTH, 0, 127, F_PCT, NULL}, + {"WAVE", K_PRM, AC_LFO_WAVE, 0, ACW_N - 1, F_LIST, bm_acid_lfo_waves}, + {"DEST", K_PRM, AC_LFO_DEST, 0, ACL_DESTS - 1, F_LIST, bm_acid_lfo_dests}}; +static const bxp P_NONE[4] = {NONE, NONE, NONE, NONE}; +static const char *const PAGE_NAMES[BXP_N] = {"PANEL", "SEQ", "FX", "", "LFO", "", "GLO", "ARP", "ACCENT"}; + +int b303_page_of(int btn) +{ + switch (btn) { + case BTN_EDIT: return BXP_MAIN; + case BTN_SEQ: return BXP_SEQ; + case BTN_FX: return BXP_FX; + case BTN_GLO: return BXP_GLO; + case BTN_ARP: return BXP_ARP; + case BTN_LFO: return BXP_LFO; + case BTN_SCL: return BXP_SCL; + default: return -1; + } +} + +static const bxp *cur(const bm_app *a, int *n) +{ + const bm_bx7ui *u = &a->bx; + switch (u->page) { + case BXP_SEQ: *n = 1; return MACH_SEQ; + case BXP_FX: *n = 2; return P_FX[u->sub[BXP_FX] % 2]; + case BXP_LFO: *n = 1; return P_LFO; + case BXP_SCL: *n = 1; return P_NONE; + case BXP_GLO: *n = 2; return MACH_GLO[u->sub[BXP_GLO] % 2]; + case BXP_ARP: *n = 2; return MACH_ARP[u->sub[BXP_ARP] % 2]; + default: *n = 2; return P_MAIN[u->sub[BXP_MAIN] % 2]; + } +} + +/* el panel está a la vista: se ve girar la perilla, sin el recuadro grande encima */ +static bool panel(const bm_app *a) { return a->bx.page == BXP_MAIN; } + +static void turned(bm_app *a, int k, const bxp *p, int v) +{ + if (v < 0) return; + if (panel(a)) { a->ov.on = 0; return; } + char b[12], ti[22]; + mach_fmt(p, v, b, sizeof b); + snprintf(ti, sizeof ti, "%s %s", a->bx.page == BXP_FX ? "FX" : a->bx.page == BXP_LFO ? "LFO" : "BB-303", T(p->name)); + app_overlay(a, k, ti, b, "", mach_pct(p, v), p->fmt == F_TRSP ? 128 : -1, k >= 0 ? bm_knob_color(k) : C_ORANGE); +} + +bool b303_button(bm_app *a, int id, bm_gkind k) +{ + int p = b303_page_of(id); + if (p < 0) return true; /* lo demás no hace nada en la 303 */ + if (k != G_TAP && k != G_HOLD) return true; + bm_bx7ui *u = &a->bx; + int n = p == BXP_MAIN || p == BXP_FX || p == BXP_SCL || p == BXP_ARP || p == BXP_GLO ? 2 : 1; /* sus páginas */ + if (u->page != p) { /* otro menú: entra en su página 1 */ + u->page = (uint8_t)p; + u->sub[p] = 0; + if (p == BXP_SCL) u->blk = (uint8_t)(u->step % mach_len(a) / 16); + } else if (n > 1) u->sub[p] = (uint8_t)((u->sub[p] + 1) % n); /* con páginas: la siguiente, en círculo */ + else u->page = BXP_MAIN; /* de una página: otra vez, el panel */ + a->ov.on = 0; + return true; +} + +/* SCL: la blanca w prende o apaga el ACCENT (o el SLIDE) del paso w de la página; un paso sin nota no. + * La usa también el B-MINI (ACCENT y GLIDE). */ +void mach_scl_toggle(bm_app *a, int w) +{ + int t = a->track, s = a->bx.blk * 16 + w; + bool slide = a->bx.sub[BXP_SCL] % 2 != 0; + if (s >= mach_len(a)) return; + bool has = false, on = false; + for (int e = 0; e < BM_EVENTS; e++) { + const bm_event *ev = bm_evc(&a->pat, t, s, e); + if (bm_event_empty(ev)) continue; + has = true; + on |= slide ? (ev->len & BM_LEN_TIE) != 0 : ev->vel >= BM_VEL_ACC; + } + char b[24]; + if (!has) { snprintf(b, sizeof b, TF("STEP %d: NO NOTE"), s + 1); app_toast(a, b); return; } + for (int e = 0; e < BM_EVENTS; e++) { + bm_event ev = *bm_evc(&a->pat, t, s, e); + if (bm_event_empty(&ev)) continue; + if (slide) ev.len = (uint8_t)(on ? ev.len & ~BM_LEN_TIE : ev.len | BM_LEN_TIE); + else ev.vel = (uint8_t)(on ? 100 : BM_VEL_ACC); + app_push_ev(a, t, s, e, &ev); + } + app_edited(a); +} + +void b303_key(bm_app *a, int k, int w, int b) +{ + (void)b; + if (a->bx.page == BXP_SCL) { if (w >= 0 && w < 16) mach_scl_toggle(a, w); return; } /* las negras: nada */ + mach_play(a, k, 100); +} + +/* SCL: las 16 blancas son los pasos de la página; ON = con ACCENT (o SLIDE), DIM = con nota */ +void b303_keys(const bm_app *a, bm_keyfn K[BM_KEYS]) +{ + memset(K, 0, sizeof(bm_keyfn) * BM_KEYS); + int t = a->track, L = mach_len(a); + bool slide = a->bx.sub[BXP_SCL] % 2 != 0; + for (int w = 0; w < 16; w++) { + int s = a->bx.blk * 16 + w; + bm_keyfn *f = &K[bm_white_key(w)]; + if (s >= L) continue; + bool has = false, on = false; + for (int e = 0; e < BM_EVENTS; e++) { + const bm_event *ev = bm_evc(&a->pat, t, s, e); + if (bm_event_empty(ev)) continue; + has = true; + on |= slide ? (ev->len & BM_LEN_TIE) != 0 : ev->vel >= BM_VEL_ACC; + } + snprintf(f->label, sizeof f->label, "%d", s + 1); + f->led = on ? LED_ON : has ? LED_DIM : LED_OFF; + f->color = slide ? C_GREEN : C_ORANGE; + f->live = (uint8_t)(a->ctx.st.playing && bm_app_track_step(a, t, -1) == s); + } +} + +void b303_encoder(bm_app *a, int id, int d) +{ + bm_bx7ui *u = &a->bx; + int n; + switch (id) { + case ENC_SELECT: + if (u->page == BXP_SCL) { /* la página de 16 pasos */ + int nb = (mach_len(a) + 15) / 16; + u->blk = (uint8_t)((u->blk + app_lst(a, d) + nb * 8) % nb); + } + return; /* las páginas, con su botón */ + case ENC_ALGO: + if (bm_gesture_is_down(&a->ges, BTN_OCT_DN) || bm_gesture_is_down(&a->ges, BTN_OCT_UP)) { /* OCT + ALGORITHM: TUNING */ + a->oct_used = 1; + turned(a, -1, &P_TUNING, mach_turn(a, &P_TUNING, app_lst(a, d))); + return; + } + turned(a, -1, &P_ACCENT, mach_turn(a, &P_ACCENT, d)); + return; + case ENC_PRESETS: app_enc_source(a, a->track, d); return; + default: break; + } + int k = id - ENC_K1; + if (k < 0 || k > 3) return; + const bxp *P = cur(a, &n); + turned(a, k, &P[k], mach_turn(a, &P[k], d)); +} + +void b303_legend(const bm_app *a, bm_legend L[4]) +{ + int n; + mach_legend(a, cur(a, &n), L); +} + +void b303_bigknobs(const bm_app *a, const char **sel, const char **alg, const char **pre) +{ + int n; + cur(a, &n); + *sel = a->bx.page == BXP_SCL ? "STEPS" : a->bx.page == BXP_SEQ ? "STEP" : "-"; + *alg = "ACCENT"; + *pre = "PRESET"; +} + +uint8_t b303_btn_led(const bm_app *a, int i) +{ + int p = b303_page_of(i); + if (p < 0) return LED_OFF; + return p == a->bx.page ? LED_ON : LED_DIM; +} + +const char *b303_title(const bm_app *a, char *buf, int cap) +{ + int n; + cur(a, &n); + const bm_bx7ui *u = &a->bx; + if (u->page == BXP_FX) snprintf(buf, (size_t)cap, "FX %d/2 %s", u->sub[BXP_FX] % 2 + 1, T(u->sub[BXP_FX] % 2 ? "DELAY REVERB" : "OVERDRIVE")); + else if (u->page == BXP_SCL) snprintf(buf, (size_t)cap, "%s %d-%d", T(u->sub[BXP_SCL] % 2 ? "SLIDE" : "ACCENT"), u->blk * 16 + 1, u->blk * 16 + 16); + else if (n > 1) snprintf(buf, (size_t)cap, "%s %d/%d", T(PAGE_NAMES[u->page % BXP_N]), u->sub[u->page % BXP_N] % n + 1, n); + else snprintf(buf, (size_t)cap, "%s", T(PAGE_NAMES[u->page % BXP_N])); + return buf; +} diff --git a/core/bm_bx7.c b/core/bm_bx7.c new file mode 100644 index 0000000..706e67a --- /dev/null +++ b/core/bm_bx7.c @@ -0,0 +1,296 @@ +/* SPDX-License-Identifier: GPL-3.0-or-later + * Copyright (C) 2026 Erbubar23 */ +/* Bubba Machine — la BX-7 por dentro: el FM-1 de fábrica adaptado a Bubba (2026-10-21). + * + * Se entra desde HOME con el cursor en su canal: SEQ, FX, ENV, LFO, EDIT o ARP llevan directo a esa + * página (la tecla blanca del canal sigue entrando a tocar en PLAY/REC). Adentro, como en el FM-1: + * ALGORITHM el algoritmo (1-32), con el dibujo · OCT sostenido + ALGORITHM: transposición ±12 + * PRESETS los sonidos de fábrica (los bancos de usuario, apagados hasta tener todas las máquinas) + * SELECT la página del botón (o la casilla en FX) · K1-K4 lo que dice la pantalla + * OCT -/+ la octava (±3); los dos juntos: octava y transposición a 0 + * FX ENV LFO EDIT GLO ARP SEQ: su página; el mismo botón otra vez vuelve a MAIN · HOME a la consola + * SCL en FX toma la casilla elegida y SELECT la mueve en la cadena (otra vez SCL la suelta) + * REC sonando: graba ya; parado: se arma y la primera nota arranca y graba (vacío: toma + * libre, el largo se cierra con REC); sostenido 2 s: borra las notas del canal + * EDIT negras 1-6 OP1-OP6, 7 PIT (envolvente de afinación), 8 GLO (algoritmo, feedback...), + * 9 MONO, 10 POLY; las blancas siguen tocando + * Todo lo de la voz se escribe con CMD_FMV en pat->fmv; lo que va encima (BRIGHT, la página ENV) en + * el canal; los efectos en prm (BX_*). */ +#include +#include +#include +#include +#include "bm_mach.h" +#include "bm_util.h" +#include "bm_params.h" +#include "bm_fm.h" +#include "bm_rom.h" +#include "bm_lang.h" + +static const char *const WAVES[6] = {"TRI", "SAW DN", "SAW UP", "SQUARE", "SINE", "S&H"}; +static const char *const CURVES[4] = {"-LIN", "-EXP", "+EXP", "+LIN"}; +static const char *const MODES[2] = {"RATIO", "FIXED"}; +static const char *const FTYPES[3] = {"LP", "BP", "HP"}; + +static const bxp P_MAIN[1][4] = {{ + {"FEEDBACK", K_FMV, BM_FM_FB, 0, 7, F_INT, NULL}, {"BRIGHT", K_MAC, 0, 0, 127, F_BIP, NULL}, + {"PORTA", K_TRK, TRK(glide), 0, 127, F_PCT, NULL}, {"KEY VEL", K_TRK, TRK(accent), 0, 127, F_PCT, NULL}}}; +static const bxp P_ENV[1][4] = {{ + {"ATTACK", K_TRK, TRK(attack), 0, 127, F_PCT, NULL}, {"DECAY", K_MAC, 2, 0, 127, F_BIP, NULL}, + {"SUSTAIN", K_TRK, TRK(sustain), 0, 127, F_BIP, NULL}, {"RELEASE", K_MAC, 3, 0, 127, F_BIP, NULL}}}; +static const bxp P_LFO[2][4] = { + {{"WAVE", K_FMV, 142, 0, 5, F_LIST, WAVES}, {"SPEED", K_FMV, 137, 0, 99, F_INT, NULL}, + {"PMD", K_FMV, 139, 0, 99, F_INT, NULL}, {"AMD", K_FMV, 140, 0, 99, F_INT, NULL}}, + {{"DELAY", K_FMV, 138, 0, 99, F_INT, NULL}, {"P SENS", K_FMV, 143, 0, 7, F_INT, NULL}, + {"LFO SYNC", K_FMV, 141, 0, 1, F_ONOFF, NULL}, {"OSC SYNC", K_FMV, 136, 0, 1, F_ONOFF, NULL}}}; +static const bxp P_GLO2[4] = {{"TRANSP", K_TRK, TRK(transpose), 12, 36, F_TRSP, NULL}, NONE, MACH_QUANT, {"RESET", K_RST, 0, 0, 1, F_INT, NULL}}; /* GLO pág 2 */ +/* FX: una página por casilla, en el orden de las casillas del FM-1; K4 siempre ON/OFF */ +static const bxp P_FX[BXF_N][4] = { + {{"TYPE", K_PRM, BX_FLT_T, 0, 2, F_LIST, FTYPES}, {"CUTOFF", K_PRM, BX_FLT_C, 0, 127, F_HZ, NULL}, + {"RESO", K_PRM, BX_FLT_Q, 0, 127, F_PCT, NULL}, {"ON", K_ON, BXF_FILTER, 0, 1, F_ONOFF, NULL}}, + {{"SEND", K_TRK, TRK(rsend), 0, 127, F_PCT, NULL}, NONE, NONE, {"ON", K_ON, BXF_REVERB, 0, 1, F_ONOFF, NULL}}, + {{"SEND", K_TRK, TRK(send), 0, 127, F_PCT, NULL}, NONE, NONE, {"ON", K_ON, BXF_DELAY, 0, 1, F_ONOFF, NULL}}, + {{"GAIN", K_PRM, BX_DST_G, 0, 127, F_PCT, NULL}, {"TONE", K_PRM, BX_DST_T, 0, 127, F_PCT, NULL}, + {"LEVEL", K_PRM, BX_DST_L, 0, 127, F_PCT, NULL}, {"ON", K_ON, BXF_DIST, 0, 1, F_ONOFF, NULL}}, + {{"RATE", K_PRM, BX_CHO_F, 0, 127, F_PCT, NULL}, {"DEPTH", K_PRM, BX_CHO_D, 0, 127, F_PCT, NULL}, + {"MIX", K_PRM, BX_CHO_M, 0, 127, F_PCT, NULL}, {"ON", K_ON, BXF_CHORUS, 0, 1, F_ONOFF, NULL}}, + {{"RATE", K_PRM, BX_PHA_F, 0, 127, F_PCT, NULL}, {"DEPTH", K_PRM, BX_PHA_D, 0, 127, F_PCT, NULL}, + {"MIX", K_PRM, BX_PHA_M, 0, 127, F_PCT, NULL}, {"ON", K_ON, BXF_PHASER, 0, 1, F_ONOFF, NULL}}}; +const char *const bx7_fx_names[BXF_N] = {"FILTER", "REVERB", "DELAY", "DIST", "CHORUS", "PHASER"}; +/* EDIT: un operador en 6 páginas, como el FM-1 */ +static const bxp P_OP[6][4] = { + {{"RATE 1", K_OP, FMO_R1, 0, 99, F_INT, NULL}, {"RATE 2", K_OP, FMO_R2, 0, 99, F_INT, NULL}, + {"RATE 3", K_OP, FMO_R3, 0, 99, F_INT, NULL}, {"RATE 4", K_OP, FMO_R4, 0, 99, F_INT, NULL}}, + {{"LEVEL 1", K_OP, FMO_L1, 0, 99, F_INT, NULL}, {"LEVEL 2", K_OP, FMO_L2, 0, 99, F_INT, NULL}, + {"LEVEL 3", K_OP, FMO_L3, 0, 99, F_INT, NULL}, {"LEVEL 4", K_OP, FMO_L4, 0, 99, F_INT, NULL}}, + {{"DETUNE", K_OP, FMO_DT, 0, 14, F_DT, NULL}, {"COARSE", K_OP, FMO_FC, 0, 31, F_INT, NULL}, + {"FINE", K_OP, FMO_FF, 0, 99, F_INT, NULL}, {"MODE", K_OP, FMO_MODE, 0, 1, F_LIST, MODES}}, + {{"AMP MOD", K_OP, FMO_AMS, 0, 3, F_INT, NULL}, {"VEL SENS", K_OP, FMO_KVS, 0, 7, F_INT, NULL}, + {"OUT LVL", K_OP, FMO_OL, 0, 99, F_INT, NULL}, NONE}, + {{"L DEPTH", K_OP, FMO_LD, 0, 99, F_INT, NULL}, {"R DEPTH", K_OP, FMO_RD, 0, 99, F_INT, NULL}, + {"BREAK", K_OP, FMO_BP, 0, 99, F_NOTE, NULL}, NONE}, + {{"L CURVE", K_OP, FMO_LC, 0, 3, F_LIST, CURVES}, {"R CURVE", K_OP, FMO_RC, 0, 3, F_LIST, CURVES}, + {"RATE SCL", K_OP, FMO_RS, 0, 7, F_INT, NULL}, NONE}}; /* (el orden de las páginas del manual del FM-1) */ +static const char *const OP_PAGES[6] = {"RATES", "LEVELS", "FREQ", "OUTPUT", "SCALING", "CURVES"}; +static const bxp P_PIT[2][4] = { + {{"RATE 1", K_FMV, 126, 0, 99, F_INT, NULL}, {"RATE 2", K_FMV, 127, 0, 99, F_INT, NULL}, + {"RATE 3", K_FMV, 128, 0, 99, F_INT, NULL}, {"RATE 4", K_FMV, 129, 0, 99, F_INT, NULL}}, + {{"LEVEL 1", K_FMV, 130, 0, 99, F_INT, NULL}, {"LEVEL 2", K_FMV, 131, 0, 99, F_INT, NULL}, + {"LEVEL 3", K_FMV, 132, 0, 99, F_INT, NULL}, {"LEVEL 4", K_FMV, 133, 0, 99, F_INT, NULL}}}; +static const bxp P_EGLO[1][4] = {{ + {"ALGORITHM", K_FMV, BM_FM_ALG, 0, 31, F_P1, NULL}, {"FEEDBACK", K_FMV, BM_FM_FB, 0, 7, F_INT, NULL}, + {"OSC SYNC", K_FMV, 136, 0, 1, F_ONOFF, NULL}, {"TRANSP", K_FMV, BM_FM_TRSP, 0, 48, F_TRSP, NULL}}}; + +static const char *const PAGE_NAMES[BXP_N] = {"MAIN", "SEQ", "FX", "ENV", "LFO", "EDIT", "GLO", "ARP"}; + +int bx7_page_of(int btn) +{ + switch (btn) { + case BTN_SEQ: return BXP_SEQ; + case BTN_FX: return BXP_FX; + case BTN_ENV: return BXP_ENV; + case BTN_LFO: return BXP_LFO; + case BTN_EDIT: return BXP_EDIT; + case BTN_GLO: return BXP_GLO; + case BTN_ARP: return BXP_ARP; + default: return -1; + } +} + +static int page_btn(int p) +{ + static const int8_t B[BXP_N] = {-1, BTN_SEQ, BTN_FX, BTN_ENV, BTN_LFO, BTN_EDIT, BTN_GLO, BTN_ARP}; + return p >= 0 && p < BXP_N ? B[p] : -1; +} + +static int fx_at(const bm_app *a, int pos) { return a->pat.prm[a->track][BX_ORD0 + pos % BXF_N] % BXF_N; } + +/* las 4 perillas de la página de ahora y cuántas páginas tiene (SELECT) */ +static const bxp *cur(const bm_app *a, int *n) +{ + const bm_bx7ui *u = &a->bx; + switch (u->page) { + case BXP_SEQ: *n = 1; return MACH_SEQ; + case BXP_ENV: *n = 1; return P_ENV[0]; + case BXP_LFO: *n = 2; return P_LFO[u->sub[BXP_LFO] % 2]; + case BXP_GLO: *n = 2; return u->sub[BXP_GLO] % 2 ? P_GLO2 : MACH_GLO[0]; + case BXP_ARP: *n = 2; return MACH_ARP[u->sub[BXP_ARP] % 2]; + case BXP_FX: *n = 1; return P_FX[fx_at(a, u->fxpos)]; + case BXP_EDIT: + if (u->edit == BXE_PIT) { *n = 2; return P_PIT[u->esub[BXE_PIT] % 2]; } + if (u->edit == BXE_GLO) { *n = 1; return P_EGLO[0]; } + *n = 6; return P_OP[u->esub[u->edit % BXE_N] % 6]; + default: *n = 1; return P_MAIN[0]; + } +} + +static int sub_of(const bm_app *a) +{ + const bm_bx7ui *u = &a->bx; + if (u->page == BXP_EDIT) return u->esub[u->edit % BXE_N]; + return u->sub[u->page % BXP_N]; +} + +/* girar una perilla de la página */ +static void set(bm_app *a, int k, const bxp *p, int d) +{ + int v = mach_turn(a, p, d); + if (v < 0) return; + char b[12], ti[22]; + mach_fmt(p, v, b, sizeof b); + if (a->bx.page == BXP_EDIT && a->bx.edit <= BXE_OP6) snprintf(ti, sizeof ti, "OP%d %s", a->bx.edit + 1, T(p->name)); + else if (a->bx.page == BXP_FX) snprintf(ti, sizeof ti, "%s %s", T(bx7_fx_names[fx_at(a, a->bx.fxpos)]), T(p->name)); + else snprintf(ti, sizeof ti, "BX-7 %s", T(p->name)); + app_overlay(a, k, ti, b, "", mach_pct(p, v), -1, bm_knob_color(k)); +} + +/* ------------------------------------------------------------ entrar, botones, teclas, perillas */ +bool bx7_button(bm_app *a, int id, bm_gkind k) +{ + switch (id) { + case BTN_SCL: + if ((k == G_TAP || k == G_HOLD) && a->bx.page == BXP_FX) { + int f = fx_at(a, a->bx.fxpos); + if (!a->bx.grab && (f == BXF_REVERB || f == BXF_DELAY)) { app_toast(a, "SEND: ALWAYS AFTER THE FX"); return true; } + a->bx.grab = (uint8_t)!a->bx.grab; + app_toast(a, a->bx.grab ? "SELECT MOVES IT" : "PLACED"); + } + return true; + default: break; + } + int p = bx7_page_of(id); + if (p < 0) return true; /* lo demás no hace nada en la máquina */ + if (k != G_TAP && k != G_HOLD) return true; + bm_bx7ui *u = &a->bx; + int n; + if (u->page != p) { /* otro menú: entra en su página 1 */ + u->page = (uint8_t)p; + if (p == BXP_EDIT) u->esub[u->edit % BXE_N] = 0; else u->sub[p] = 0; + } else if (cur(a, &n), n > 1) { /* con páginas: la siguiente, en círculo (no sale) */ + if (p == BXP_EDIT) u->esub[u->edit % BXE_N] = (uint8_t)((u->esub[u->edit % BXE_N] + 1) % n); + else u->sub[p] = (uint8_t)((u->sub[p] + 1) % n); + } else u->page = BXP_MAIN; /* de una página: otra vez, MAIN */ + a->bx.grab = 0; + a->ov.on = 0; + return true; +} + +void bx7_key(bm_app *a, int k, int w, int b) +{ + int t = a->track; + if (a->bx.page == BXP_EDIT && b >= 0) { /* EDIT: las negras eligen qué editar */ + if (b <= BXE_GLO) { a->bx.edit = (uint8_t)b; a->ov.on = 0; return; } + if (b == 8 || b == 9) { + app_push(a, CMD_SET_PRM, (uint8_t)t, BX_MONO, (uint8_t)(b == 8)); + app_edited(a); + app_toast(a, b == 8 ? "MONO" : "POLY"); + } + return; + } + (void)w; + mach_play(a, k, 105); +} + +void bx7_encoder(bm_app *a, int id, int d) +{ + int t = a->track, n; + bm_bx7ui *u = &a->bx; + char b[16]; + switch (id) { + case ENC_SELECT: + if (u->page == BXP_FX) { + int np = (u->fxpos + app_lst(a, d) + BXF_N * 4) % BXF_N; + if (u->grab) { /* SCL tomada: la casilla se mueve en la cadena */ + uint8_t x = a->pat.prm[t][BX_ORD0 + u->fxpos], y = a->pat.prm[t][BX_ORD0 + np]; + app_push(a, CMD_SET_PRM, (uint8_t)t, (uint8_t)(BX_ORD0 + u->fxpos), y); + app_push(a, CMD_SET_PRM, (uint8_t)t, (uint8_t)(BX_ORD0 + np), x); + app_edited(a); + } + u->fxpos = (uint8_t)np; + a->ov.on = 0; + return; + } + return; /* las páginas, con su botón */ + case ENC_ALGO: + if (bm_gesture_is_down(&a->ges, BTN_OCT_DN) || bm_gesture_is_down(&a->ges, BTN_OCT_UP)) { /* OCT + ALGORITHM: transposición */ + a->oct_used = 1; + int v = bm_clampi(a->pat.trk[t].transpose + app_lst(a, d), 12, 36); + app_set_track(a, t, TRK(transpose), v); + snprintf(b, sizeof b, v > 24 ? "+%d ST" : "%d ST", v - 24); + app_overlay(a, -1, "TRANSPOSE", b, "", (v - 12) * 255 / 24, 128, C_ORANGE); + return; + } + { + int v = (a->pat.fmv[BM_FM_ALG] % 32 + app_lst(a, d) + 64) % 32; + app_push(a, CMD_FMV, BM_FM_ALG, (uint8_t)v, 0); + app_edited(a); + snprintf(b, sizeof b, "%d", v + 1); + if (u->page == BXP_MAIN || (u->page == BXP_EDIT && u->edit != BXE_PIT)) + a->ov.on = 0; /* el dibujo está a la vista: se ve cambiar */ + else + app_overlay(a, -1, "ALGORITHM", b, "", v * 255 / 31, -1, C_ORANGE); + } + return; + case ENC_PRESETS: app_enc_source(a, t, d); return; + default: break; + } + int k = id - ENC_K1; + if (k < 0 || k > 3) return; + const bxp *P = cur(a, &n); + set(a, k, &P[k], d); +} + +void bx7_legend(const bm_app *a, bm_legend L[4]) +{ + int n; + mach_legend(a, cur(a, &n), L); +} + +void bx7_bigknobs(const bm_app *a, const char **sel, const char **alg, const char **pre) +{ + int n; + cur(a, &n); + *sel = a->bx.page == BXP_FX ? "SLOT" : a->bx.page == BXP_SEQ ? "STEP" : "-"; + *alg = "ALG"; + *pre = "PRESET"; +} + +void bx7_keys(const bm_app *a, bm_keyfn K[BM_KEYS]) +{ + memset(K, 0, sizeof(bm_keyfn) * BM_KEYS); + app_note_keys(a, K, a->track); + if (a->bx.page != BXP_EDIT) return; + static const char *const EK[10] = {"OP1", "OP2", "OP3", "OP4", "OP5", "OP6", "PIT", "GLO", "MONO", "POLY"}; + int mono = a->pat.prm[a->track][BX_MONO] != 0; + for (int i = 0; i < BM_BLACKS; i++) { + bm_keyfn *f = &K[bm_black_key(i)]; + memset(f, 0, sizeof *f); + if (i >= 10) continue; + snprintf(f->label, sizeof f->label, "%s", EK[i]); + f->led = i < 8 ? (i == a->bx.edit ? LED_ON : LED_DIM) : ((i == 8) == mono ? LED_ON : LED_DIM); + f->color = C_ORANGE; + } +} + +uint8_t bx7_btn_led(const bm_app *a, int i) +{ + if (i == BTN_SCL) return a->bx.page != BXP_FX ? LED_OFF : a->bx.grab ? LED_BREATH : LED_DIM; + int p = bx7_page_of(i); + if (p < 0) return LED_OFF; + return p == a->bx.page ? LED_ON : LED_DIM; +} + +const char *bx7_title(const bm_app *a, char *buf, int cap) +{ + int n; + cur(a, &n); + const bm_bx7ui *u = &a->bx; + if (u->page == BXP_EDIT) { + if (u->edit <= BXE_OP6) snprintf(buf, (size_t)cap, "OP%d %s", u->edit + 1, T(OP_PAGES[u->esub[u->edit] % 6])); + else snprintf(buf, (size_t)cap, "%s", u->edit == BXE_PIT ? (u->esub[BXE_PIT] % 2 ? "PITCH LEVELS" : "PITCH RATES") : "VOICE"); + } else if (u->page == BXP_FX) snprintf(buf, (size_t)cap, "FX %s", T(bx7_fx_names[fx_at(a, u->fxpos)])); + else if (n > 1) snprintf(buf, (size_t)cap, "%s %d/%d", T(PAGE_NAMES[u->page % BXP_N]), sub_of(a) % n + 1, n); + else snprintf(buf, (size_t)cap, "%s", T(PAGE_NAMES[u->page % BXP_N])); + (void)page_btn; + return buf; +} diff --git a/core/bm_bx7fx.c b/core/bm_bx7fx.c new file mode 100644 index 0000000..a2eedd6 --- /dev/null +++ b/core/bm_bx7fx.c @@ -0,0 +1,159 @@ +/* SPDX-License-Identifier: GPL-3.0-or-later + * Copyright (C) 2026 Erbubar23 */ +/* Bubba Machine — los efectos propios de la BX-7 y el OVERDRIVE del BB-303. La BX-7, como la cadena del FM-1 de fábrica: filtro, + * distorsión, chorus y phaser, en el orden de sus casillas (BX_ORD0..5). La reverb y el delay de la + * cadena son los envíos del canal en la mezcla (core/bm_dsp.c): no se procesan dos veces. + * + * Solo calcula lo que está prendido (BX_FXON): con todo apagado no cuesta nada. Hay una sola BX-7 + * por patrón (es pesada), así que el estado es uno solo. Trabaja sobre el búfer del canal (int32, + * 32768 ~ una voz a todo volumen) antes del filtro DJ y del drive del canal. */ +#include +#include +#include "bm_audio.h" +#include "bm_params.h" +#include "bm_util.h" + +#define CH_N 2048u /* 46 ms a 44.1 kHz: el chorus barre 6-26 ms */ + +static struct { + float lp, bp; /* filtro de estado variable (Chamberlin, dos pasadas) */ + float tone; /* el tono de la distorsión (un polo) */ + float cbuf[CH_N]; uint32_t cw; float clfo; /* chorus */ + float ap[4], pfb, plfo; /* phaser: cuatro pasa-todo */ +} S; + +static float od_tone[BM_TRACKS]; /* el BB-303 puede estar en varios canales */ + +void bm_bx7_fx_reset(void) { memset(&S, 0, sizeof S); memset(od_tone, 0, sizeof od_tone); } + +/* 0..127 -> 100 Hz..20 kHz (logarítmico, como el CutOff del FM-1) */ +static float cut_hz(int v) { return 100.0f * powf(200.0f, (float)v / 127.0f); } + +static void fx_filter(float *x, uint32_t n, const uint8_t *p) +{ + float f = 2.0f * sinf(3.14159265f * fminf(cut_hz(p[BX_FLT_C]), 18000.0f) / (2.0f * (float)BM_FS)); /* dos pasadas por muestra */ + float q = 1.9f - 1.75f * (float)p[BX_FLT_Q] / 127.0f; /* Q 0..127: de suave a resonante */ + int type = p[BX_FLT_T] % 3; + float lp = S.lp, bp = S.bp; + for (uint32_t i = 0; i < n; i++) { + float hp = 0.0f; + for (int k = 0; k < 2; k++) { + lp += f * bp; + hp = x[i] - lp - q * bp; + bp += f * hp; + } + x[i] = type == 0 ? lp : type == 1 ? bp : hp; + } + if (!(fabsf(lp) < 1e6f) || !(fabsf(bp) < 1e6f)) lp = bp = 0.0f; /* NaN o desborde: de cero */ + S.lp = lp; S.bp = bp; +} + +/* recorte suave con tono de un polo: la distorsión de la BX-7 y el OVERDRIVE del BB-303 */ +static void fx_dist(float *x, uint32_t n, int gain, int tone, int level, float *st) +{ + float drive = 1.0f + (float)gain * 0.25f, lvl = (float)level / 127.0f / sqrtf(drive) * 1.4f; + float k = 0.05f + 0.9f * (float)tone / 127.0f, t = *st; + for (uint32_t i = 0; i < n; i++) { + float v = x[i] * (drive / 32768.0f); /* el canal: 32768 = una voz a pleno */ + v = v / (1.0f + fabsf(v)); /* recorte suave, sin exp */ + t += k * (v - t); + x[i] = t * lvl * 32768.0f; + } + *st = (fabsf(t) < 1e6f) ? t : 0.0f; +} + +static float ch_read(float d) +{ + float pos = (float)S.cw - d; + while (pos < 0.0f) pos += (float)CH_N; + uint32_t i0 = (uint32_t)pos, i1 = (i0 + 1u) & (CH_N - 1u); + float fr = pos - (float)i0; + return S.cbuf[i0 & (CH_N - 1u)] * (1.0f - fr) + S.cbuf[i1] * fr; +} + +static void fx_chorus(float *x, uint32_t n, const uint8_t *p) +{ + float rate = (0.05f + 4.0f * (float)p[BX_CHO_F] / 127.0f) / (float)BM_FS; + float mid = 0.016f * (float)BM_FS, dep = 0.010f * (float)BM_FS * (float)p[BX_CHO_D] / 127.0f; + float mix = (float)p[BX_CHO_M] / 127.0f; + for (uint32_t i = 0; i < n; i++) { + S.cbuf[S.cw] = x[i]; + S.clfo += rate; if (S.clfo >= 1.0f) S.clfo -= 1.0f; + float tri = 4.0f * fabsf(S.clfo - 0.5f) - 1.0f; + float w = ch_read(mid + dep * tri); + S.cw = (S.cw + 1u) & (CH_N - 1u); + x[i] = x[i] * (1.0f - 0.5f * mix) + w * mix; + } +} + +static void fx_phaser(float *x, uint32_t n, const uint8_t *p) +{ + float rate = (0.03f + 3.0f * (float)p[BX_PHA_F] / 127.0f) / (float)BM_FS; + float dep = (float)p[BX_PHA_D] / 127.0f, mix = (float)p[BX_PHA_M] / 127.0f; + float fb = S.pfb; + for (uint32_t i = 0; i < n; i++) { + S.plfo += rate; if (S.plfo >= 1.0f) S.plfo -= 1.0f; + float tri = 4.0f * fabsf(S.plfo - 0.5f) - 1.0f; + float a = 0.55f + 0.4f * dep * tri; /* coeficiente de los pasa-todo */ + float v = x[i] + fb * 0.5f; + for (int k = 0; k < 4; k++) { + float y = -a * v + S.ap[k]; + S.ap[k] = v + a * y; + v = y; + } + fb = v; + x[i] = x[i] * (1.0f - 0.5f * mix) + v * mix; + } + if (!(fabsf(fb) < 1e6f)) { fb = 0.0f; memset(S.ap, 0, sizeof S.ap); } + S.pfb = fb; +} + +void bm_bx7_fx(bm_ctx *c, int t, int32_t *buf, uint32_t n) +{ + const uint8_t *p = c->pat->prm[t]; + uint8_t on = p[BX_FXON]; + if (!(on & (1u << BXF_FILTER | 1u << BXF_DIST | 1u << BXF_CHORUS | 1u << BXF_PHASER))) return; + float x[BM_BLOCK]; + if (n > BM_BLOCK) n = BM_BLOCK; + for (uint32_t i = 0; i < n; i++) x[i] = (float)buf[i]; + for (int k = 0; k < BXF_N; k++) { + int f = p[BX_ORD0 + k] % BXF_N; + if (!(on & (1u << f))) continue; + switch (f) { + case BXF_FILTER: fx_filter(x, n, p); break; + case BXF_DIST: fx_dist(x, n, p[BX_DST_G], p[BX_DST_T], p[BX_DST_L], &S.tone); break; + case BXF_CHORUS: fx_chorus(x, n, p); break; + case BXF_PHASER: fx_phaser(x, n, p); break; + default: break; /* reverb y delay: envíos de la mezcla */ + } + } + for (uint32_t i = 0; i < n; i++) { + float v = x[i]; + if (v != v) v = 0.0f; /* NaN: silencio, nunca al bus */ + buf[i] = (int32_t)(v > 2.0e9f ? 2.0e9f : v < -2.0e9f ? -2.0e9f : v); + } +} + +/* B-MINI, BUNO-6, BITTAL: la DISTORTION del POLY D (DRIVE, TONE, LEVEL), el recorte del OVERDRIVE del BB-303 */ +void bm_px_fx(bm_ctx *c, int t, int32_t *buf, uint32_t n) +{ + const uint8_t *p = c->pat->prm[t]; + if (!bm_px_fx_on(p, c->pat->trk[t].engine, PXF_DIST)) return; + float x[BM_BLOCK]; + if (n > BM_BLOCK) n = BM_BLOCK; + for (uint32_t i = 0; i < n; i++) x[i] = (float)buf[i]; + fx_dist(x, n, p[PX_DS_G], p[PX_DS_T], p[PX_DS_L], &od_tone[t]); + for (uint32_t i = 0; i < n; i++) buf[i] = (int32_t)(x[i] > 2.0e9f ? 2.0e9f : x[i] < -2.0e9f ? -2.0e9f : x[i]); +} + +/* BB-303: el OVERDRIVE del TB-03, antes del filtro DJ y del drive del canal (DELAY y REVERB son los envíos) */ +void bm_acid_fx(bm_ctx *c, int t, int32_t *buf, uint32_t n) +{ + const uint8_t *p = c->pat->prm[t]; + if (!bm_acid_fx_on(p, ACF_OD)) return; + float x[BM_BLOCK]; + if (n > BM_BLOCK) n = BM_BLOCK; + for (uint32_t i = 0; i < n; i++) x[i] = (float)buf[i]; + fx_dist(x, n, p[AC_OD_G], p[AC_OD_T], p[AC_OD_L], &od_tone[t]); + for (uint32_t i = 0; i < n; i++) buf[i] = (int32_t)(x[i] > 2.0e9f ? 2.0e9f : x[i] < -2.0e9f ? -2.0e9f : x[i]); +} diff --git a/core/bm_config.h b/core/bm_config.h index 30d6111..2d3a35f 100644 --- a/core/bm_config.h +++ b/core/bm_config.h @@ -4,10 +4,11 @@ #ifndef BM_CONFIG_H #define BM_CONFIG_H -#define BM_VERSION_STR "0.9.0-beta" +#define BM_VERSION_STR "0.10.0-beta" #define BM_FMT 3 /* generación de ajustes y tomas (0.3 no lee los de 0.2) */ -#define BM_PAT_FMT 8 /* formato de patrones. Hasta la v1 no se leen formatos anteriores */ -#define BM_PRM 48 /* parámetros de sonido por canal, además de las 4 macros (= BM_SNAP_PRM) */ +#define BM_PAT_FMT 10 /* formato de patrones (10: prm de 56). Hasta la v1 solo se lee además el anterior (9) */ +#define BM_FMV_BYTES 156 /* la voz de la BX-7 en el patrón (= BM_FM_PATCH, VCED de la DX7) */ +#define BM_PRM 56 /* parámetros de sonido por canal, además de las 4 macros (los snapshots guardan los 48 primeros) */ /* ---- Audio (SPEC_V3 §1.4, §3.1) ---- */ #define BM_FS_OUT 44118u /* ≈ 24 MHz / 544, fijo por hardware */ @@ -24,7 +25,8 @@ #define BM_EVENTS 4 /* eventos por paso */ #define BM_PPQN 96 #define BM_TICKS_STEP 24 /* 96 PPQN / 4 semicorcheas */ -#define BM_PATTERNS 10 /* 0.9: W1-W10 en HOME (los objetos 10-15 de la flash se ignoran) */ +#define BM_PATTERNS 9 /* HOME: W1-W9 (los objetos 9-15 de la flash se ignoran) */ +#define BM_CH_W0 10 /* HOME: las blancas 11-16 son los canales; la 10, espacio de seguridad sin función */ #define BM_SONG_MAX 64 #define BM_PAT_MAX_EVENTS 768 #define BM_LANES 16 /* instrumentos de las pistas TR (T1 batería, T2 sampler) */ @@ -68,14 +70,19 @@ /* ---- Pantalla (§1.2, §6.3) ---- */ #define BM_LCD_W 240 #define BM_LCD_H 240 -/* 0.6: cuatro franjas (docs/DISENO_0.6.md §5.2) */ +/* 2026-10-22: cada perilla se dibuja una sola vez. Donde la pantalla ya muestra K1-K4 (un panel, + * una lista) no va la franja de perillas y el visor llega hasta el teclado; si no, la franja va + * entre el visor y el teclado. El teclado y la fila de las perillas grandes, siempre abajo. */ #define BM_STATUS_H 24 /* cabecera: máquina, PLAY/REC, patrón, BPM, CPU */ #define BM_CTX_Y 24 /* visor: lo propio de cada pantalla */ -#define BM_CTX_H 112 -#define BM_KEYS_Y 136 /* teclado: negras 136-149, blancas = pasos 151-167 */ +#define BM_CTX_H 112 /* con la franja de perillas (24..135) */ +#define BM_CTX_H_TALL 170 /* sin ella (24..193) */ +#define BM_LEGEND_Y 136 /* perillas K1-K4: dial, valor y nombre (cuando la pantalla no las muestra) */ +#define BM_LEGEND_H 58 +#define BM_KEYS_Y 194 /* teclado: negras 194-207, blancas = pasos 209-225 */ #define BM_KEYS_H 32 -#define BM_LEGEND_Y 168 /* perillas K1-K4: dial, valor y nombre */ -#define BM_LEGEND_H 72 +#define BM_FOOT_Y 226 /* SELECT, ALGORITHM y PRESETS: qué hacen aquí */ +#define BM_FOOT_H 14 #define BM_STRIP_H 8 /* franja de render */ #define BM_TILE_W 60 /* 4 tiles por franja: solo se envía lo que cambió */ diff --git a/core/bm_dsp.c b/core/bm_dsp.c index c38999d..090f572 100644 --- a/core/bm_dsp.c +++ b/core/bm_dsp.c @@ -116,23 +116,29 @@ static void rv_step(float x, float decay, float damp, float *oL, float *oR) *oR = 0.6f * (rv_tap(&rl[5], 260) + rv_tap(&rl[5], 2000) - rv_tap(&rl[6], 1240) + rv_tap(&rl[7], 1990) - rv_tap(&rl[9], 1580) - rv_tap(&rl[10], 280)); } -/* ------------------------------------------------------------ chorus de BUNO-6 (dos tomas de un BBD) +/* ------------------------------------------------------------ chorus del Juno (dos tomas de un BBD) + * El de BUNO-6 y el CHORUS I / II del B-MINI, uno por canal de notas (el B-MINI puede estar en varios). * Mono de entrada, estéreo de salida: el mismo retardo modulado con el LFO en fase opuesta en cada * lado. Velocidades y retardos de los citados para el Juno-60 (a confirmar con el manual de servicio). */ #define CH_LEN 512u -static float ch_buf[CH_LEN], ch_lfo, ch_lpL, ch_lpR; -static uint32_t ch_w; /* siempre < CH_LEN: como float, un contador libre pierde los decimales a los 6 min (2^24) */ +typedef struct { + float buf[CH_LEN], lfo, lpL, lpR; + uint32_t w; /* siempre < CH_LEN: como float, un contador libre pierde los decimales a los 6 min (2^24) */ + uint8_t on; +} chorus_st; +static chorus_st CHS[BM_SYN_TRACKS + 1]; /* uno por canal de notas y el del Slicer (T2), al final */ +static inline int ch_slot(int t) { return t >= BM_TR_TRACKS ? t - BM_TR_TRACKS : BM_SYN_TRACKS; } static const float CH_RATE[BN_CHORUSES] = {0.0f, 0.513f, 0.863f, 9.75f}; static const float CH_MIN_MS[BN_CHORUSES] = {0.0f, 1.66f, 1.66f, 3.30f}; static const float CH_MAX_MS[BN_CHORUSES] = {0.0f, 5.35f, 5.35f, 3.70f}; -static inline float ch_read(float dly) +static inline float ch_read(const chorus_st *h, float dly) { - float rp = (float)ch_w - dly; + float rp = (float)h->w - dly; if (rp < 0.0f) rp += (float)CH_LEN; uint32_t i0 = (uint32_t)rp; float f = rp - (float)i0; - float a = ch_buf[i0 & (CH_LEN - 1u)], b = ch_buf[(i0 + 1u) & (CH_LEN - 1u)]; + float a = h->buf[i0 & (CH_LEN - 1u)], b = h->buf[(i0 + 1u) & (CH_LEN - 1u)]; return a + (b - a) * f; } @@ -140,8 +146,7 @@ static inline float ch_read(float dly) void bm_dsp_reset(void) { rv_init(); - memset(ch_buf, 0, sizeof ch_buf); - ch_lfo = ch_lpL = ch_lpR = 0.0f; ch_w = 0; + memset(CHS, 0, sizeof CHS); } void bm_dsp_tick(bm_ctx *c) @@ -216,10 +221,15 @@ static int32_t mix_track(bm_ctx *c, int t, uint32_t n, float *L, float *R, float float gl = g * (float)bm_pan_l[tr->pan & 127] * K15; float gr = g * (float)bm_pan_r[tr->pan & 127] * K15; float gs = snd ? g * (float)tr->send * (1.0f / 128.0f) : 0.0f; + if (!bm_send_on(c->pat, t, 0)) gs = 0.0f; /* DELAY apagado en el FX de la máquina */ int32_t pk = 0; float dk = t >= 1 ? (float)tr->duck * (1.0f / 127.0f) : 0.0f; - int chm = tr->engine == ENG_BUNO ? c->pat->prm[t][BN_CHORUS] % BN_CHORUSES : 0; - if (chm && lr) { /* BUNO-6: chorus estéreo (con ducking) */ + int chm = bm_px_eng(tr->engine) ? bm_px_chorus(c->pat->prm[t], tr->engine) : 0; /* BUNO-6 con I+II; los otros OFF, I, II */ + if (t == 0) chm = 0; /* la batería no tiene */ + chorus_st *h = chm ? &CHS[ch_slot(t)] : NULL; + if (h && lr && !h->on) { memset(h->buf, 0, sizeof h->buf); h->lpL = h->lpR = 0.0f; } /* recién prendido: sin restos */ + if (t && lr) CHS[ch_slot(t)].on = (uint8_t)(chm != 0); /* (la pasada de solo envío no cuenta) */ + if (h && lr) { /* BUNO-6 y B-MINI: chorus estéreo (con ducking) */ float rate = CH_RATE[chm] / (float)BM_FS; float mn = CH_MIN_MS[chm] * 0.001f * (float)BM_FS, mx = CH_MAX_MS[chm] * 0.001f * (float)BM_FS; float mid = 0.5f * (mn + mx), dep = 0.5f * (mx - mn); @@ -235,12 +245,12 @@ static int32_t mix_track(bm_ctx *c, int t, uint32_t n, float *L, float *R, float /* ducking a la entrada del chorus: el eco del BBD lo sigue 2-5 ms después (no se * oye) y cuesta una multiplicación. dk = 0: sin ducking (SC viejo, no importa) */ float v = (float)xi * (1.0f - SC[i] * dk); - ch_lpL += kl * (v - ch_lpL); ch_lpR += kl * (ch_lpL - ch_lpR); - ch_buf[ch_w] = ch_lpR; - ch_lfo += rate; if (ch_lfo >= 1.0f) ch_lfo -= 1.0f; - float tri = 4.0f * fabsf(ch_lfo - 0.5f) - 1.0f; - float wl = ch_read(mid + dep * tri), wr = mono ? wl : ch_read(mid - dep * tri); - ch_w = (ch_w + 1u) & (CH_LEN - 1u); + h->lpL += kl * (v - h->lpL); h->lpR += kl * (h->lpL - h->lpR); + h->buf[h->w] = h->lpR; + h->lfo += rate; if (h->lfo >= 1.0f) h->lfo -= 1.0f; + float tri = 4.0f * fabsf(h->lfo - 0.5f) - 1.0f; + float wl = ch_read(h, mid + dep * tri), wr = mono ? wl : ch_read(h, mid - dep * tri); + h->w = (h->w + 1u) & (CH_LEN - 1u); L[i] += (v + wl) * cl; R[i] += (v + wr) * cr; S[i] += v * gs; } } else if (!lr) { /* solo el envío (BEAT FX OFF, antes del efecto) */ @@ -276,7 +286,8 @@ static void dsp_guard(bm_ctx *c) if (bad(c->sc_env)) { c->sc_env = 0.0f; fix++; } if (bad(c->d_acc + c->d_prev + c->d_cur)) { c->d_acc = c->d_prev = c->d_cur = 0.0f; fix++; } if (bad(rv_lp1 + rv_lp2 + rv_bw + rv_fb1 + rv_fb2 + rv_acc + rv_prevL + rv_prevR + rv_curL + rv_curR)) { rv_init(); fix++; } - if (bad(ch_lfo + ch_lpL + ch_lpR)) { memset(ch_buf, 0, sizeof ch_buf); ch_lfo = ch_lpL = ch_lpR = 0.0f; fix++; } + for (int i = 0; i <= BM_SYN_TRACKS; i++) + if (bad(CHS[i].lfo + CHS[i].lpL + CHS[i].lpR)) { memset(CHS[i].buf, 0, sizeof CHS[i].buf); CHS[i].lfo = CHS[i].lpL = CHS[i].lpR = 0.0f; fix++; } if (bad(c->mf_ic1[0] + c->mf_ic1[1] + c->mf_ic2[0] + c->mf_ic2[1])) { c->mf_ic1[0] = c->mf_ic1[1] = c->mf_ic2[0] = c->mf_ic2[1] = 0.0f; fix++; } if (bad(c->pf_ic1[0] + c->pf_ic1[1] + c->pf_ic2[0] + c->pf_ic2[1] + c->gate_g + c->sh_l + c->sh_r)) { c->pf_ic1[0] = c->pf_ic1[1] = c->pf_ic2[0] = c->pf_ic2[1] = c->gate_g = c->sh_l = c->sh_r = 0.0f; fix++; @@ -323,10 +334,14 @@ void bm_dsp_mix(bm_ctx *c, int32_t *out, uint32_t n) if (!(c->tact & (1u << t))) continue; const bm_track *tr = &c->pat->trk[t]; int32_t *x = c->tbuf[t]; + if (tr->engine == ENG_FM) bm_bx7_fx(c, t, x, n); /* BX-7: su cadena de efectos (lo que esté prendido) */ + else if (tr->engine == ENG_ACID) bm_acid_fx(c, t, x, n); /* BB-303: su OVERDRIVE */ + else if (bm_px_eng(tr->engine)) bm_px_fx(c, t, x, n); /* B-MINI, BUNO-6, BITTAL y el Slicer: su DISTORTION (el CHORUS, en la mezcla) */ dj_filter(c, t, tr->djf, x, n); if (tr->drive) ch_drive(x, n, tr->drive); float g = (float)tr->level * (1.0f / 400.0f) * K15; float rs = (float)tr->rsend * (1.0f / 128.0f); + if (!bm_send_on(c->pat, t, 1)) rs = 0.0f; /* REVERB apagada en el FX de la máquina */ if (tr->engine == ENG_BITTAL) rs += bm_bt_macro(c->pat->prm[t], tr->macro, BTM_SPACE) * 0.8f; /* macro SPACE */ float grv = g * (rs < 0.0f ? 0.0f : rs); if (grv > 0.0f) { diff --git a/core/bm_engines.c b/core/bm_engines.c index 1afa2a7..a1c778e 100644 --- a/core/bm_engines.c +++ b/core/bm_engines.c @@ -35,7 +35,7 @@ static int voice_prio(const bm_voice *v) } /* voces como máximo por máquina dentro del pool (BP-1 pads, BB-303, B-MINI, BX-7, BITTAL, BUNO-6) */ -static const uint8_t VCAP[ENG_COUNT] = {BM_V_DRUM_N, 6, 1, 1, 6, 4, 6}; +static const uint8_t VCAP[ENG_COUNT] = {BM_V_DRUM_N, 6, 1, 1, 8, 4, 6}; /* BX-7: 8 voces (2026-10-21) */ bm_voice *bm_voice_get(bm_ctx *c, int track, uint8_t note, uint8_t vel, const uint8_t lk[4], uint8_t legato) { @@ -125,7 +125,33 @@ static void take_locks(bm_engine *e, uint8_t lk[4]) static void common_init(bm_engine *e) { for (int i = 0; i < 4; i++) e->lock_next[i] = BM_LOCK_NONE; - e->legato_next = 0; + e->legato_next = 0; e->live_next = 0; e->nheld = 0; + e->lfo_s = 0.5f; e->lfo_g = 1.0f; +} + +/* Las teclas sostenidas de una máquina de una voz (la última arriba). Si la pista no tiene ninguna + * voz con la tecla apretada, lo que quedó es de antes (un STOP, un cambio de patrón): se vacía. */ +static void held_on(bm_engine *e, uint8_t note, bool gated) +{ + if (!gated) e->nheld = 0; + for (int i = 0; i < e->nheld; i++) + if (e->held[i] == note) { memmove(&e->held[i], &e->held[i + 1], (size_t)(e->nheld - i - 1)); e->nheld--; break; } + if (e->nheld >= 8) { memmove(&e->held[0], &e->held[1], 7); e->nheld = 7; } + e->held[e->nheld++] = note; +} + +/* soltar: la que queda arriba es la que sigue sonando (0xFF: ninguna) */ +static int held_off(bm_engine *e, uint8_t note) +{ + for (int i = 0; i < e->nheld; i++) + if (e->held[i] == note) { memmove(&e->held[i], &e->held[i + 1], (size_t)(e->nheld - i - 1)); e->nheld--; break; } + return e->nheld ? e->held[e->nheld - 1] : 0xFF; +} + +static bool track_gated(const bm_ctx *c, int t) +{ + for (int i = 0; i < BM_VOICES; i++) if (c->voice[i].active && c->voice[i].track == t && c->voice[i].gate && !c->voice[i].fade) return true; + return false; } static void common_set_macro(bm_engine *e, uint8_t id, uint8_t val) @@ -158,6 +184,38 @@ static void acid_par(const bm_ctx *c, const bm_voice *v, const bm_track *t, int { p->cut = eff(v, t, 0); p->res = eff(v, t, 1); p->env = eff(v, t, 2); p->dec = eff(v, t, 3); p->acc = t->accent; p->slide = t->glide; p->wave = c->pat->prm[track][AC_WAVE] & 1; + p->lfo_oct = 0.0f; p->lfo_fm = 1.0f; p->amp0 = p->amp1 = 1.0f; +} + +/* El LFO del canal, una vez por bloque: al compás (sonando, desde el PLAY; parado, el reloj libre), con + * su fase dentro del tick. El valor se suaviza un poco (los patrones de pasos no hacen clic). */ +typedef struct { float oct, fm, amp0, amp1; int res; } acid_mod; + +static void acid_lfo(bm_engine *e, acid_mod *m) +{ + bm_ctx *c = e->ctx; + const uint8_t *prm = c->pat->prm[e->track]; + float d = (float)prm[AC_LFO_DEPTH] * (1.0f / 127.0f); + m->oct = 0.0f; m->fm = 1.0f; m->amp0 = m->amp1 = 1.0f; m->res = 0; + if (d <= 0.0f) { e->lfo_s = 0.5f; e->lfo_g = 1.0f; return; } + uint32_t per = bm_acid_lfo_ticks[prm[AC_LFO_RATE] % AC_LFO_RATES]; + uint32_t pos = c->playing ? c->btick : c->st.free_ticks; + float frac = c->spt_q16 ? (float)c->acc_q16 / (float)c->spt_q16 : 0.0f; + if (frac > 1.0f) frac = 1.0f; + float ph = ((float)(pos % per) + frac) / (float)per; + float u = bm_acid_lfo_shape(prm[AC_LFO_WAVE] % ACW_N, ph >= 1.0f ? 0.9999f : ph, pos / per); + e->lfo_s += 0.5f * (u - e->lfo_s); + float b = 2.0f * e->lfo_s - 1.0f; /* -1..1 alrededor de la perilla */ + switch (prm[AC_LFO_DEST] % ACL_DESTS) { + case ACL_PITCH: m->fm = exp2f(d * b); break; /* hasta una octava */ + case ACL_RESO: m->res = (int)(d * b * 127.0f); break; + case ACL_VOLUME: { + float g = 1.0f - d * (1.0f - e->lfo_s); /* de la perilla para abajo: PUMP y GATE cortan */ + m->amp0 = e->lfo_g; m->amp1 = g; e->lfo_g = g; + break; + } + default: m->oct = 2.0f * d * b; break; /* CUTOFF: hasta dos octavas para cada lado */ + } } static void acid_voice_start(bm_engine *e, bm_voice *v, uint8_t note, uint8_t vel, const uint8_t lk[4], uint8_t legato) @@ -184,11 +242,13 @@ static void acid_note_on(bm_engine *e, uint8_t note, uint8_t vel) bm_ctx *c = e->ctx; uint8_t lk[4]; take_locks(e, lk); - uint8_t legato = e->legato_next; + /* SLIDE: del secuenciador, solo el paso con TIE; del teclado, tocar ligado (la anterior sigue apretada) */ + uint8_t slide = e->legato_next; e->legato_next = 0; + held_on(e, note, track_gated(c, e->track)); for (int i = 0; i < BM_VOICES; i++) { /* mono: la misma voz */ bm_voice *v = &c->voice[i]; - if (v->active && v->track == e->track && !v->fade) { acid_voice_start(e, v, note, vel, lk, legato && v->gate); return; } + if (v->active && v->track == e->track && !v->fade) { acid_voice_start(e, v, note, vel, lk, (slide || e->live_next) && v->gate); return; } } bm_voice *v = bm_voice_get(c, e->track, note, vel, lk, 0); if (v) acid_voice_start(e, v, note, vel, lk, 0); @@ -201,12 +261,16 @@ static bool acid_process(bm_engine *e, int32_t *buf, uint16_t frames) bool any = false; static float tmp2[2][BM_BLOCK]; float *tmp = tmp2[c->par_on ? (c->par_mask >> e->track) & 1 : 0]; + acid_mod m; + acid_lfo(e, &m); for (int vi = 0; vi < BM_VOICES; vi++) { bm_voice *v = &c->voice[vi]; if (!v->active || v->track != e->track) continue; any = true; bm_acid_par p; acid_par(c, v, t, e->track, &p); + if (m.res) p.res = (uint8_t)bm_clampi((int)p.res + m.res, 0, 127); + p.lfo_oct = m.oct; p.lfo_fm = m.fm; p.amp0 = m.amp0; p.amp1 = m.amp1; int alive = bm_acid_render(vi, &p, tmp, frames); if (alive < 0) { c->st.nan_fix++; alive = 0; } if (!v->fade) for (uint16_t i = 0; i < frames; i++) buf[i] += (int32_t)(tmp[i] * 32768.0f); @@ -568,6 +632,7 @@ static void wv_voice_start(bm_engine *e, bm_voice *v, uint8_t note, uint8_t vel, v->stage = ENV_ATK; v->fade = 0; v->pend = 0; v->age = ++c->age; v->env = 1 << 30; uint8_t m[4]; wv_macros(v, t, m); + if (t->engine == ENG_BUNO && !track_gated(c, e->track)) e->lfo_restart = 1; /* (el LFO: su retardo vuelve a empezar) */ bm_wv_start((int)(v - c->voice), t->engine, c->pat->prm[e->track], m, note_of(c, t, note), vel / 127.0f, legato); } @@ -587,6 +652,7 @@ static void wv_note_on(bm_engine *e, uint8_t note, uint8_t vel) uint8_t tie = e->legato_next; e->legato_next = 0; int mode = wv_mode(c, e->track); + if (mode != WM_POLY) held_on(e, note, track_gated(c, e->track)); if (mode != WM_POLY) { /* una voz: la que suena, si hay */ bm_voice *best = NULL; for (int i = 0; i < BM_VOICES; i++) { @@ -594,7 +660,7 @@ static void wv_note_on(bm_engine *e, uint8_t note, uint8_t vel) if (v->active && v->track == e->track && !v->fade && (!best || v->gate > best->gate || v->age > best->age)) best = v; } if (best) { - int leg = best->gate && (mode == WM_LEGATO || tie) ? 1 : 2; + int leg = best->gate && (mode == WM_LEGATO || tie) ? (tie ? 3 : 1) : 2; /* 3: ligada por el paso */ wv_voice_start(e, best, note, vel, lk, (uint8_t)leg); return; } @@ -606,10 +672,12 @@ static void wv_note_on(bm_engine *e, uint8_t note, uint8_t vel) static void wv_note_off(bm_engine *e, uint8_t note) { bm_ctx *c = e->ctx; + int back = wv_mode(c, e->track) != WM_POLY ? held_off(e, note) : 0xFF; for (int i = 0; i < BM_VOICES; i++) { bm_voice *v = &c->voice[i]; if (v->pend && v->pend_track == e->track && v->pend_note == note) v->pend = 0; if (v->active && v->track == e->track && v->note == note && v->gate) { + if (back != 0xFF) { wv_voice_start(e, v, (uint8_t)back, v->vel, v->lk, 1); continue; } /* a la que sigue apretada, ligada */ v->gate = 0; v->stage = ENV_REL; bm_wv_release(i); } @@ -635,6 +703,7 @@ static bool wv_process(bm_engine *e, int32_t *buf, uint16_t frames) for (int i = 0; i < 4; i++) locks |= v->lk[i] != BM_LOCK_NONE; } if (t->engine == ENG_BUNO && !locks && bm_wv_para(prm, t->macro)) flags = WV_PARA; + if (t->engine == ENG_MINI || t->engine == ENG_BUNO) { bm_wv_lfo(e->track, t->engine, prm, frames, lane, e->lfo_restart); e->lfo_restart = 0; } if (t->engine == ENG_BITTAL && nv > 1) flags = WV_READERS_ALL / nv; for (int vi = 0; vi < BM_VOICES; vi++) { bm_voice *v = &c->voice[vi]; @@ -664,66 +733,61 @@ static void wv_init(bm_engine *e) { common_init(e); } const bm_engine_vt bm_eng_wave = {wv_init, wv_note_on, wv_note_off, common_set_macro, wv_process, wv_voice_start}; static void acid_note_off(bm_engine *e, uint8_t note) { + bool cur = false; + for (int i = 0; i < BM_VOICES; i++) cur |= e->ctx->voice[i].active && e->ctx->voice[i].track == e->track && e->ctx->voice[i].note == note && e->ctx->voice[i].gate; + if (!cur) held_off(e, note); bm_ctx *c = e->ctx; for (int i = 0; i < BM_VOICES; i++) { bm_voice *v = &c->voice[i]; if (v->pend && v->pend_track == e->track && v->pend_note == note) v->pend = 0; - if (v->active && v->track == e->track && v->note == note && v->gate) { v->gate = 0; v->stage = ENV_REL; bm_acid_release(i); } + if (v->active && v->track == e->track && v->note == note && v->gate) { + int back = held_off(e, note); + if (back != 0xFF) { acid_voice_start(e, v, (uint8_t)back, v->vel, v->lk, 1); continue; } /* vuelve deslizando a la que sigue apretada */ + v->gate = 0; v->stage = ENV_REL; bm_acid_release(i); + } } } const bm_engine_vt bm_eng_acid = {acid_init, acid_note_on, acid_note_off, common_set_macro, acid_process, acid_voice_start}; /* ------------------------------------------------------------ FM: 6 operadores (msfa, core/bm_fm.cpp) - * El patch de fábrica (PRESETS) y encima las macros, con 64 = el patch tal cual: - * MOD LVL nivel de los moduladores (±32) FEEDBACK realimentación (±4) - * DECAY tiempos de caída (R2-R3) de todos RELEASE la salida (R4) de todos - * Encima también los ajustes del canal: el algoritmo (FX_ALG, 0 = el del patch), el LFO (FX_L*, 0 = - * el del patch) y R1 ATK (attack del canal). Polifónico; una nota con LIGA sigue con glide (PORTA). */ + * BX-7: la voz del patrón (pat->fmv: PRESETS la carga, las páginas la editan) y encima BRIGHT y la + * página ENV (bm_fm_patch_of). Polifónico; una nota con LIGA sigue con glide (PORTA). */ static uint8_t fm_m(const bm_voice *v, const bm_track *t, int i) { return v ? eff(v, t, i) : t->macro[i]; } -int bm_fm_alg_of(const bm_track *t, const uint8_t *prm) -{ - int a = prm[FX_ALG]; - return a >= 1 && a <= 32 ? a : bm_fm_patch(t->source)[BM_FM_ALG] % 32 + 1; -} - -int bm_fm_fb_of(const bm_track *t, int m2) -{ - return bm_clampi(bm_fm_patch(t->source)[BM_FM_FB] + (m2 - 64) / 16, 0, 7); -} +int bm_fm_alg_of(const bm_pattern *pat) { return pat->fmv[BM_FM_ALG] % 32 + 1; } -void bm_fm_patch_of(const bm_track *t, const uint8_t *prm, const bm_voice *v, uint8_t *p) +/* 2026-10-21: la base es la voz del patrón (pat->fmv, editable como en el FM-1: algoritmo, + * feedback, LFO y cada operador van directo ahí). Encima, la página ENV y BRIGHT, con 64 = la voz + * tal cual: BRIGHT (macro 0) los niveles de los moduladores, ATTACK (attack del canal) el R1 de + * todos, DECAY (macro 2) R2-R3, SUSTAIN (sustain del canal) el L3 de las portadoras y RELEASE + * (macro 3) el R4. */ +void bm_fm_patch_of(const bm_pattern *pat, int track, const bm_voice *v, uint8_t *p) { - memcpy(p, bm_fm_patch(t->source), BM_FM_PATCH); - int m1 = fm_m(v, t, 0), m2 = fm_m(v, t, 1), m3 = fm_m(v, t, 2), m4 = fm_m(v, t, 3); - p[BM_FM_ALG] = (uint8_t)(bm_fm_alg_of(t, prm) - 1); - p[BM_FM_FB] = (uint8_t)bm_fm_fb_of(t, m2); - for (int i = 0; i < 4; i++) if (prm[FX_LSPD + i]) p[137 + i] = (uint8_t)bm_clampi(prm[FX_LSPD + i] - 1, 0, 99); /* LFS LFD LPMD LAMD */ - if (prm[FX_LPMD] > 1 && !(p[143] & 7)) p[143] = 3; /* PMD sin sensibilidad en el patch: una media */ + const bm_track *t = &pat->trk[track]; + memcpy(p, pat->fmv, BM_FM_PATCH); + int m1 = fm_m(v, t, 0), m3 = fm_m(v, t, 2), m4 = fm_m(v, t, 3); + p[BM_FM_ALG] %= 32; p[BM_FM_FB] &= 7; uint8_t car = bm_fm_carriers(p[BM_FM_ALG]); - int dec = (m3 - 64) / 3, atk = t->attack * 70 / 127, rel = (m4 - 64) / 2; + int dec = (m3 - 64) / 3, atk = t->attack * 70 / 127, rel = (m4 - 64) / 2, sus = ((int)t->sustain - 64) * 3 / 4; for (int op = 0; op < 6; op++) { uint8_t *o = p + op * BM_FM_OP; if (!(car & (1u << op))) o[FMO_OL] = (uint8_t)bm_clampi(o[FMO_OL] + (m1 - 64) / 2, 0, 99); - else if (prm[FX_LAMD] > 1 && !o[FMO_AMS]) o[FMO_AMS] = 2; /* AMD: las portadoras lo sienten */ - o[FMO_R2] = (uint8_t)bm_clampi(o[FMO_R2] - dec, 1, 99); - o[FMO_R3] = (uint8_t)bm_clampi(o[FMO_R3] - dec, 1, 99); - o[FMO_R4] = (uint8_t)bm_clampi(o[FMO_R4] - dec - rel, 1, 99); + else if (sus) o[FMO_L3] = (uint8_t)bm_clampi(o[FMO_L3] + sus, 0, 99); + if (dec) { o[FMO_R2] = (uint8_t)bm_clampi(o[FMO_R2] - dec, 1, 99); o[FMO_R3] = (uint8_t)bm_clampi(o[FMO_R3] - dec, 1, 99); } + if (dec || rel) o[FMO_R4] = (uint8_t)bm_clampi(o[FMO_R4] - dec - rel, 1, 99); /* en 64: la voz tal cual (un rate 0 sigue en 0) */ if (atk) o[FMO_R1] = (uint8_t)bm_clampi(o[FMO_R1] < 99 - atk ? o[FMO_R1] : 99 - atk, 1, 99); } } -static uint32_t fm_sig(const bm_voice *v, const bm_track *t, const uint8_t *prm) +static uint32_t fm_sig(const bm_ctx *c, const bm_voice *v, const bm_track *t) { - uint32_t h = (uint32_t)(t->source ^ t->attack) + 31u * prm[FX_ALG]; - for (int i = 0; i < 4; i++) h = h * 31u + prm[FX_LSPD + i]; - return (uint32_t)fm_m(v, t, 0) | (uint32_t)fm_m(v, t, 1) << 7 | (uint32_t)fm_m(v, t, 2) << 14 | (uint32_t)fm_m(v, t, 3) << 21 - | (h & 15u) << 28; + uint32_t h = (uint32_t)(t->source ^ t->attack ^ (t->sustain << 1)) + 31u * c->fmv_gen; + return (uint32_t)fm_m(v, t, 0) | (uint32_t)fm_m(v, t, 2) << 7 | (uint32_t)fm_m(v, t, 3) << 14 | (h & 0x3FFu) << 21; } static int fm_note(const bm_ctx *c, const bm_track *t, uint8_t note) { - return bm_clampi(note + (int)t->transpose - 24 + (int)c->pat->meta.transpose - 24, 0, 127); + return bm_clampi(note + (int)t->transpose - 24 + (int)c->pat->meta.transpose - 24 + (int)(c->pat->fmv[BM_FM_TRSP] % 49) - 24, 0, 127); /* + TRANSPOSE de la voz (DX7: 24 = C3) */ } static void fm_voice_start(bm_engine *e, bm_voice *v, uint8_t note, uint8_t vel, const uint8_t lk[4], uint8_t legato) @@ -735,8 +799,8 @@ static void fm_voice_start(bm_engine *e, bm_voice *v, uint8_t note, uint8_t vel, int glide = legato && v->active && v->track == e->track && v->gate && !v->fade; int from = glide ? fm_note(c, t, v->note) : fm_note(c, t, note); memcpy(v->lk, lk, 4); - bm_fm_patch_of(t, c->pat->prm[e->track], v, p); - v->ic1 = (int32_t)fm_sig(v, t, c->pat->prm[e->track]); + bm_fm_patch_of(c->pat, e->track, v, p); + v->ic1 = (int32_t)fm_sig(c, v, t); if (glide) { /* ligado: cambia de nota sin redisparar */ v->note = note; v->vel = vel; bm_fm_update(vi, p, fm_note(c, t, note), vel, t->glide); @@ -754,6 +818,19 @@ static void fm_note_on(bm_engine *e, uint8_t note, uint8_t vel) take_locks(e, lk); uint8_t legato = e->legato_next; e->legato_next = 0; + if (c->pat->prm[e->track][BX_MONO]) { /* MONO (EDIT): una voz; con otra sostenida, sigue con glide */ + bm_voice *last = NULL; + for (int i = 0; i < BM_VOICES; i++) { + bm_voice *v = &c->voice[i]; + if (!v->active || v->track != e->track || v->fade) continue; + if (v->gate && (!last || v->age > last->age)) last = v; + } + for (int i = 0; i < BM_VOICES; i++) { /* las que quedan sonando (soltadas) se cortan */ + bm_voice *v = &c->voice[i]; + if (v != last && v->active && v->track == e->track && !v->fade) { v->gate = 0; v->stage = ENV_REL; bm_fm_release(i); } + } + if (last) { fm_voice_start(e, last, note, vel, lk, 1); return; } + } if (legato) { /* LIGA: la última voz sigue con glide (PORTA) */ bm_voice *last = NULL; for (int i = 0; i < BM_VOICES; i++) { @@ -789,10 +866,10 @@ static bool fm_process(bm_engine *e, int32_t *buf, uint16_t frames) bm_voice *v = &c->voice[vi]; if (!v->active || v->track != e->track) continue; any = true; - uint32_t sig = fm_sig(v, t, c->pat->prm[e->track]); + uint32_t sig = fm_sig(c, v, t); if ((int32_t)sig != v->ic1) { /* se movió una perilla: el patch cambia en vivo */ uint8_t p[BM_FM_PATCH]; - bm_fm_patch_of(t, c->pat->prm[e->track], v, p); + bm_fm_patch_of(c->pat, e->track, v, p); bm_fm_update(vi, p, fm_note(c, t, v->note), v->vel, -1); v->ic1 = (int32_t)sig; } diff --git a/core/bm_fm.cpp b/core/bm_fm.cpp index 2c1c2b8..dd2f25f 100644 --- a/core/bm_fm.cpp +++ b/core/bm_fm.cpp @@ -149,6 +149,7 @@ void bm_fm_start(int v, int t, const uint8_t *patch, int note, int vel, int src, z.alg = patch[BM_FM_ALG] & 31; z.gain = gain_for(z.alg); z.note.init(patch, note, vel, src, porta, &ctl(t)); + if (patch[136]) z.note.oscSync(); /* OSC KEY SYNC: la fase vuelve a 0 en cada nota (como Dexed) */ z.lfo.reset(patch + 137); z.lfo.keydown(); z.pos = _N_; @@ -163,6 +164,7 @@ void bm_fm_update(int v, const uint8_t *patch, int note, int vel, int porta) z.alg = patch[BM_FM_ALG] & 31; z.gain = gain_for(z.alg); z.note.update(patch, note, vel, porta, &ctl(z.track)); + z.lfo.reset(patch + 137); /* el LFO editado llega a lo que suena (no toca la fase) */ } void bm_fm_release(int v) diff --git a/core/bm_gesture.c b/core/bm_gesture.c index 87b1913..9d2e742 100644 --- a/core/bm_gesture.c +++ b/core/bm_gesture.c @@ -15,16 +15,19 @@ void bm_gesture_init(bm_gesture *g, bm_gesture_cb cb, void *user) { memset(g, 0, sizeof *g); g->cb = cb; g->user = user; - for (int i = 0; i < BTN_COUNT; i++) cfg(g, i, 1, 1, 0, 1, 0); /* toque + capa al mantener */ + /* 1.0: solo SCL, EDIT, ENV y LFO tienen capa (dentro del secuenciador de la batería; REPETIR va en + * la negra 11). Los demás son de un toque, sin importar cuánto dure. */ + for (int i = 0; i < BTN_COUNT; i++) cfg(g, i, 0, 0, 0, 1, 0); + cfg(g, BTN_SCL, 1, 1, 0, 1, 0); /* capa MUTE (silenciar sonidos) */ + cfg(g, BTN_EDIT, 1, 1, 0, 1, 0); /* capa INSTRUMENTO (modelo) */ + cfg(g, BTN_ENV, 1, 1, 0, 1, 0); /* capa SONIDO (golpe) */ + cfg(g, BTN_LFO, 1, 1, 0, 1, 0); /* capa ACENTOS */ cfg(g, BTN_PLAY, 0, 0, 1, 0, 0); cfg(g, BTN_OCT_DN, 0, 0, 1, 0, 0); cfg(g, BTN_OCT_UP, 0, 0, 1, 0, 0); - cfg(g, BTN_HOME, 1, 1, 0, 1, UI_LONG_MS); /* capa CONTROLADOR · 2 s: SISTEMA */ - cfg(g, BTN_SEQ, 1, 1, 0, 1, UI_LONG_MS); /* capa LARGO Y VELOCIDAD · 2 s: TIEMPO */ - cfg(g, BTN_EDIT, 1, 1, 0, 1, UI_LONG_MS); /* capa BORRAR · 2 s: TOMAS / SONIDO INICIAL */ - cfg(g, BTN_SAVE, 1, 1, 0, 1, UI_LONG_MS); /* capa COPIAR PATRON · 2 s: guardado rápido */ - /* REC: mantener = grabar mientras. Sin 2 s fijos: bm_app_button los pide al bajar con - * bm_gesture_set_long (LOOP: borrar el loop; en un canal sin grabar nada: borrar la pista). */ + cfg(g, BTN_HOME, 0, 0, 0, 1, UI_LONG_MS); /* 2 s: SISTEMA */ + cfg(g, BTN_SAVE, 0, 0, 0, 1, UI_LONG_MS); /* 2 s: guardado rápido */ + cfg(g, BTN_REC, 0, 0, 0, 1, UI_LONG_MS); /* 2 s en la BX-7: borra las notas del canal */ } void bm_gesture_set_long(bm_gesture *g, int id, uint16_t long_ms) diff --git a/core/bm_input.c b/core/bm_input.c index 574650c..d3cf767 100644 --- a/core/bm_input.c +++ b/core/bm_input.c @@ -1,112 +1,33 @@ /* SPDX-License-Identifier: GPL-3.0-or-later * Copyright (C) 2026 Erbubar23 */ -/* Bubba Machine — entrada (DISENO_3.0): cuatro gestos por botón, HOME en todas partes, - * ALGORITHM que navega, teclas por página y capas, perillas y su leyenda. */ +/* Bubba Machine — entrada (1.0, etapa 1): HOME es el mezclador de 6 canales y todo su teclado, sus + * botones y sus perillas son de la consola. PLAY/REC es HOME con el teclado tocando el canal del cursor. + * La batería tiene su secuenciador (V_CH); las demás máquinas solo se asignan y se tocan. */ #include #include #include -#include "bm_app_int.h" +#include "bm_mach.h" #include "bm_util.h" #include "bm_rom.h" #include "bm_params.h" #include "bm_drums.h" #include "bm_snap.h" -#include "bm_fm.h" - -static const char *const MAC_TR[4] = {"TONE", "TUNE", "DECAY", "COLOR"}; -static const char *const GEN_NAMES[4] = {"VARY", "ANCHOR", "REPEAT", "BREAK"}; -static const char *const MAC_PAD[4] = {"FILTER", "PITCH", "DECAY", "START"}; -static const char *const DLY_NAMES[4] = {"1/16", "1/8", "3/16", "1/4"}; -static const char *const EXT_NAMES[5] = {"TRIAD", "+7", "+9", "SUS2", "SUS4"}; -static const char *const ARP_MODES[5] = {"OFF", "UP", "DOWN", "UP-DN", "RAND"}; -static const char *const ARP_RATES[3] = {"1/8", "1/16", "1/32"}; -static const char *const VOICINGS[3] = {"CLOSED", "OPEN", "LED"}; + static const char *const RAT_NAMES[5] = {"X1", "X2", "X3", "X4", "FLAM"}; -static const char *const COND_NAMES[3] = {"ALWAYS", "FILL ONLY", "NO FILL"}; -static const char *const SNAP_NAMES[3] = {"OFF", "1/16", "1/8"}; -static const char *const PUNCH_NAMES[16] = {"S4", "S8", "S16", "S32", "R8", "R4", "TAPE", "GATE", "LPF", "HPF", "BIT", "SR", "DLY", "ECHO", "K-LO", "K-HI"}; -enum { ROLE_NONE, ROLE_MUTE, ROLE_FILL, ROLE_PAT, ROLE_SCENE, ROLE_BRKFX, ROLE_LMUTE, ROLE_NOTE, ROLE_FILLK, ROLE_PAD, ROLE_PREVIEW, ROLE_CMOD, - ROLE_CHAN, /* blanca 11-16 en la consola: el cursor; sostenida, la tarjeta del canal */ - ROLE_CUE, /* negra 11 en la consola */ - ROLE_HILO, /* negra 11 en la batería y los pads: toque HI/LO, sostenida MUTE de instrumentos */ - ROLE_ACC, /* negra 1 en SLOOP (batería y pads): los golpes que suenan mientras la sostienes, con acento */ - ROLE_SCNDONE }; /* tecla de escena que ya hizo lo suyo (cadena o guardada a los 2 s): soltarla no hace nada */ +#define SCENE_B0 7 /* las escenas A-D: negras 8-11 (la 7 sin función) */ +enum { ROLE_NONE, ROLE_MUTE, ROLE_PAT, ROLE_PATUSED, ROLE_SCENE, ROLE_SCNDONE, ROLE_CHAN, ROLE_SOLOADD, ROLE_PAD, ROLE_LREP }; -static bool console(const bm_app *a) { return a->view == V_HOME || a->view == V_FXG || a->view == V_GLO; } +static bool console(const bm_app *a) { return a->view == V_HOME || a->view == V_GLO; } -const char *bm_macro_name(const bm_app *a, int t, int i) -{ - if (t == 1) return MAC_PAD[i & 3]; - if (bm_is_tr(&a->pat, t)) return MAC_TR[i & 3]; - if (a->pat.trk[t].engine == ENG_BITTAL) { /* la macro dice a dónde va */ - int dst = a->pat.prm[t][BT_M1D + 2 * (i & 3)]; - return dst ? bm_btm_names[dst % BTM_TARGETS] : "MACRO"; - } - const bm_pdef *d = bm_engine_macro(a->pat.trk[t].engine, i); /* el nombre de su página */ - return d ? d->name : "MACRO"; -} +/* La batería (T1) es la única máquina con secuenciador propio */ +static bool drums_track(const bm_app *a, int t) { return bm_is_tr(&a->pat, t); } /* ------------------------------------------------------------ formato */ -static void fmt_ms(uint32_t ms, char *b, int cap) -{ - if (ms >= 1000) snprintf(b, (size_t)cap, "%u.%uS", (unsigned)(ms / 1000), (unsigned)((ms % 1000) / 100)); - else snprintf(b, (size_t)cap, "%uMS", (unsigned)ms); -} - -static void fmt_hz(uint32_t hz, char *b, int cap) -{ - if (hz >= 1000) snprintf(b, (size_t)cap, "%u.%02uK", (unsigned)(hz / 1000), (unsigned)((hz % 1000) / 10)); - else snprintf(b, (size_t)cap, "%uHZ", (unsigned)hz); -} - static void fmt_pct(int v, char *b, int cap) { snprintf(b, (size_t)cap, "%d%%", v * 100 / 127); } -static void fmt_pan(int v, char *b, int cap) -{ - if (v == 64) snprintf(b, (size_t)cap, "C"); - else if (v < 64) snprintf(b, (size_t)cap, "L%d", (64 - v) * 50 / 64); - else snprintf(b, (size_t)cap, "R%d", (v - 64) * 50 / 63); -} - -static void fmt_master(int m, char *b, int cap) -{ - if (!m) snprintf(b, (size_t)cap, "INF"); - else snprintf(b, (size_t)cap, "%d", m * 16); -} - -static void fmt_semi(int v, char *b, int cap) { snprintf(b, (size_t)cap, "%+d ST", v - 24); } - -void bm_fmt_macro(const bm_app *a, int t, int i, int v, char *b, int cap) -{ - if (t == 1) { /* pads: FILTER PITCH DECAY START */ - if (i == 1) snprintf(b, (size_t)cap, "%+d ST", (v - 64) * 12 / 63); - else if ((i == 0 || i == 2) && v >= 127) snprintf(b, (size_t)cap, "OFF"); - else fmt_pct(v, b, cap); - return; - } - if (bm_is_tr(&a->pat, t)) { /* batería: 64 = el kit tal cual */ - if (i == 1) snprintf(b, (size_t)cap, "%+d ST", ((v - 64) * 3) / 8); - else snprintf(b, (size_t)cap, "%+d", v - 64); - return; - } - if (bm_engine_paged(a->pat.trk[t].engine)) { /* la definición de la macro en sus páginas */ - if (a->pat.trk[t].engine == ENG_FM && (i & 3) == 1) { snprintf(b, (size_t)cap, "FB %d", bm_fm_fb_of(&a->pat.trk[t], v)); return; } - const bm_pdef *d = bm_engine_macro(a->pat.trk[t].engine, i); - if (d) bm_prm_fmt(d, v, b, cap); else fmt_pct(v, b, cap); - return; - } - switch (i) { - case 0: fmt_hz(bm_cutoff_hz(v), b, cap); break; - case 1: fmt_pct(v, b, cap); break; - case 2: fmt_ms(bm_decay_ms(v), b, cap); break; - default: fmt_pct(v, b, cap); break; - } -} - -static bool lock_mode(const bm_app *a) { return a->held_step >= 0 && a->held_long; } static int tr_lane(const bm_app *a) { return a->sel_lane[a->track] & 15; } -static int seq_page(const bm_app *a) { return a->view == V_CH && a->page == PG_SEQ; } +static bool seq_page(const bm_app *a) { return a->view == V_CH; } /* Perillas: `d` llega acelerado (para 0..127 y el BPM); las listas, los largos y los pasos usan los * detents tal cual (lst): uno por detent, ninguno se pierde ni se salta. Fuera de un giro (o si el @@ -119,17 +40,7 @@ static int lst(const bm_app *a, int d) } static int wrap(int v, int n) { return n > 0 ? ((v % n) + n) % n : 0; } - -/* ¿una nota larga que empezó antes sigue sonando en el paso s? */ -static int note_covers(const bm_app *a, int t, int s) -{ - for (int b = 1; b < BM_STEPS && b <= s; b++) - for (int k = 0; k < BM_EVENTS; k++) { - const bm_event *e = bm_evc(&a->pat, t, s - b, k); - if (!bm_event_empty(e) && (int)(e->len & BM_LEN_MASK) > b) return 1; - } - return 0; -} +int app_lst(const bm_app *a, int d) { return lst(a, d); } static int syn_step_events(const bm_app *a, int t, int s, int idx[4]) { @@ -139,103 +50,10 @@ static int syn_step_events(const bm_app *a, int t, int s, int idx[4]) return n; } -/* ------------------------------------------------------------ GLO de la máquina (0.9: MORE adentro) - * Notas: VIEW, LENGTH, SPEED, TRANSPOSE, ACCENT, MIDI OUT (y su canal), INIT SOUND · BR-8: LENGTH, - * SPEED, ACCENT, INIT KIT · BP-1: LENGTH, SPEED, ACCENT, INTERPOLATION, INIT. */ -enum { ROW_VIEW, ROW_ACC, ROW_LEN, ROW_SPEED, ROW_TRANSP, ROW_MIDIOUT, ROW_MIDICH, ROW_INTERP, ROW_INIT }; - -static int more_rows(const bm_app *a, int t, uint8_t out[10]) -{ - int n = 0, note = app_kind(a, t) == KIND_NOTE; - if (note) out[n++] = ROW_VIEW; - out[n++] = ROW_LEN; out[n++] = ROW_SPEED; - if (note) out[n++] = ROW_TRANSP; - out[n++] = ROW_ACC; - if (note) { out[n++] = ROW_MIDIOUT; if (a->pat.trk[t].midi_out) out[n++] = ROW_MIDICH; } - if (t == 1) out[n++] = ROW_INTERP; - out[n++] = ROW_INIT; - return n; -} - -static const char *const ROW_NAMES[] = {"VIEW", "ACCENT", "LENGTH", "SPEED", "TRANSPOSE", "MIDI OUT", "MIDI CHANNEL", "INTERPOLATION", "INIT SOUND"}; - -void bm_app_more_row(const bm_app *a, int i, const char **name, char *val, int cap) -{ - uint8_t rows[10]; - int n = more_rows(a, a->track, rows), t = a->track; - const bm_track *tk = &a->pat.trk[t]; - val[0] = 0; - if (i < 0 || i >= n) { *name = ""; return; } - *name = ROW_NAMES[rows[i]]; - switch (rows[i]) { - case ROW_VIEW: snprintf(val, (size_t)cap, "%s", bm_app_roll_view(a, t) ? "PIANO ROLL" : "NOTES"); break; - case ROW_INIT: *name = bm_is_tr(&a->pat, t) ? "INIT KIT" : t == 1 ? "INIT" : "INIT SOUND"; snprintf(val, (size_t)cap, "TURN"); break; - case ROW_ACC: fmt_pct(tk->accent, val, cap); break; - case ROW_LEN: snprintf(val, (size_t)cap, TF("%d STEPS"), bm_trk_len(&a->pat, t, bm_is_grid(&a->pat, t) ? 0 : -1)); break; - case ROW_SPEED: snprintf(val, (size_t)cap, "%s", bm_speed_names[tk->speed % SPD_COUNT]); break; - case ROW_TRANSP: fmt_semi(tk->transpose, val, cap); break; - case ROW_MIDICH: snprintf(val, (size_t)cap, "%d", tk->midi_ch + 1); break; - case ROW_MIDIOUT: snprintf(val, (size_t)cap, "%s", tk->midi_out ? "ON" : "OFF"); break; - case ROW_INTERP: snprintf(val, (size_t)cap, "%s", tk->interp ? "HERMITE" : "LINEAR"); break; - default: break; - } -} - -int bm_app_more_count(const bm_app *a) { uint8_t r[10]; return more_rows(a, a->track, r); } - -/* ------------------------------------------------------------ GLO de la consola (0.9) - * TEMPO: BPM SWING MASTER LENGTH TRANSPOSE AUTO FILL · MACHINES: T1-T6 (T3-T6 eligen, con la espera - * de 2 s) · SCALE: ROOT SCALE KEYS IN SCALE BASE CHORD · SONG: las entradas (su propia lista). */ -static const char *const FE_NAMES[4] = {"OFF", "EVERY 2", "EVERY 4", "EVERY 8"}; -static int fe_index(int fe) { return fe == 2 ? 1 : fe == 4 ? 2 : fe == 8 ? 3 : 0; } - -int bm_app_glo_count(const bm_app *a) -{ - switch (a->glo_page) { - case GP_TEMPO: return 5; - case GP_MACH: return BM_TRACKS; - case GP_SCALE: return 4; - default: return a->song.n; - } -} - -void bm_app_glo_row(const bm_app *a, int i, const char **name, char *val, int cap) -{ - const bm_meta *m = &a->pat.meta; - size_t n = (size_t)cap; - val[0] = 0; *name = ""; - switch (a->glo_page) { - case GP_TEMPO: { - static const char *const NM[5] = {"BPM", "SWING", "MASTER LENGTH", "TRANSPOSE", "AUTO FILL"}; - if (i < 0 || i >= 5) return; - *name = NM[i]; - if (i == 0) snprintf(val, n, "%d.%d", m->bpm_x10 / 10, m->bpm_x10 % 10); - else if (i == 1) snprintf(val, n, "%d%%", m->swing); - else if (i == 2) { if (m->master) snprintf(val, n, TF("%d STEPS"), m->master * 16); else snprintf(val, n, "INF"); } - else if (i == 3) fmt_semi(m->transpose, val, cap); - else snprintf(val, n, "%s", FE_NAMES[fe_index(m->fill_every)]); - return; - } - case GP_MACH: - if (i < 0 || i >= BM_TRACKS) return; - *name = bm_engine_names[a->pat.trk[i].engine % ENG_COUNT]; - snprintf(val, n, "%s", i < BM_TR_TRACKS ? "FIXED" : ""); - return; - case GP_SCALE: { - static const char *const NM[4] = {"ROOT", "SCALE", "KEYS IN SCALE", "BASE CHORD"}; - if (i < 0 || i >= 4) return; - *name = NM[i]; - if (i == 0) snprintf(val, n, "%s", bm_note_names[m->root % 12]); - else if (i == 1) snprintf(val, n, "%s", bm_scale_names[m->scale % BM_SCALES]); - else if (i == 2) snprintf(val, n, "%s", m->scale_lock ? "ON" : "OFF"); - else snprintf(val, n, "%s", EXT_NAMES[m->voicing % 5]); - return; - } - default: return; - } -} - /* ------------------------------------------------------------ leyenda de las perillas */ +static void L4(bm_legend *L, int i, const char *name, const char *val, int pct); +void app_layer_legend(const bm_app *a, bm_legend *L, int k, const char *name, const char *val, int pct) { (void)a; L4(L, k, name, val, pct); } + static void L4(bm_legend *L, int i, const char *name, const char *val, int pct) { snprintf(L[i].name, 10, "%s", name); @@ -243,430 +61,82 @@ static void L4(bm_legend *L, int i, const char *name, const char *val, int pct) L[i].pct = (uint8_t)bm_clampi(pct, 0, 255); } -/* GLO de la consola: K1-K4 = las filas de la página (las mismas que cambia ALGORITHM) */ -static void legend_glo(const bm_app *a, bm_legend *L) -{ - const bm_meta *m = &a->pat.meta; - char b[12]; - switch (a->glo_page) { - case GP_TEMPO: - snprintf(b, sizeof b, "%d.%d", m->bpm_x10 / 10, m->bpm_x10 % 10); L4(L, 0, "BPM", b, (m->bpm_x10 - 400) * 255 / 2000); - snprintf(b, sizeof b, "%d%%", m->swing); L4(L, 1, "SWING", b, (m->swing - 50) * 255 / 25); - fmt_master(m->master, b, sizeof b); L4(L, 2, "MASTER", b, m->master ? m->master * 31 : 255); - fmt_semi(m->transpose, b, sizeof b); L4(L, 3, "TRANSP", b, m->transpose * 5); - return; - case GP_SCALE: - L4(L, 0, "ROOT", bm_note_names[m->root % 12], m->root * 23); - snprintf(b, sizeof b, "%.8s", bm_scale_names[m->scale % BM_SCALES]); L4(L, 1, "SCALE", b, m->scale * 31); - L4(L, 2, "KEYS IN", m->scale_lock ? "ON" : "OFF", m->scale_lock ? 255 : 0); - L4(L, 3, "CHORD", EXT_NAMES[m->voicing % 5], m->voicing * 63); - return; - case GP_SONG: - if (a->song.n) { - uint8_t e = a->song.pat[a->song_cur % a->song.n]; - snprintf(b, sizeof b, "A%02d", bm_song_pat(e) + 1); L4(L, 0, "PATTERN", b, bm_song_pat(e) * 28); - snprintf(b, sizeof b, "x%d", a->song.rep[a->song_cur % a->song.n]); L4(L, 1, "TIMES", b, a->song.rep[a->song_cur % a->song.n] * 16); - } - L4(L, 3, "SONG", a->ctx.st.song_on ? "ON" : "OFF", a->ctx.st.song_on ? 255 : 0); - return; - default: return; /* MACHINES: solo SELECT y ALGORITHM */ - } -} - -static void legend_mix(const bm_app *a, int t, bm_legend *L) -{ - const bm_track *tr = &a->pat.trk[t]; - char b[12]; - if (a->mix_page && a->view == V_CH) { - if (t >= 1) { fmt_pct(tr->duck, b, sizeof b); L4(L, 0, "DUCK", b, tr->duck * 2); } else L4(L, 0, "DUCK", "SOURCE", 0); - return; - } - snprintf(b, sizeof b, "%d", tr->level); L4(L, 0, "LEVEL", b, tr->level * 2); - fmt_pan(tr->pan, b, sizeof b); L4(L, 1, "PAN", b, tr->pan * 2); - fmt_pct(tr->send, b, sizeof b); L4(L, 2, "DELAY", b, tr->send * 2); - fmt_pct(tr->rsend, b, sizeof b); L4(L, 3, "REVERB", b, tr->rsend * 2); -} - -/* HOME (BX-1): el canal del cursor y el master */ -static const char *const BEATFX_N[17] = {"OFF", "STUT 4", "STUT 8", "STUT 16", "STUT 32", "REV 8", "REV 4", "TAPE", "GATE", - "LPF", "HPF", "BIT", "SR", "THROW", "FREEZE", "KILL LO", "KILL HI"}; +/* HOME: el canal del cursor como una tira de mezclador (K1-K4 = VOLUME, FILTER, DELAY, REVERB) */ static void legend_home(const bm_app *a, bm_legend *L) { const bm_track *tr = &a->pat.trk[a->track]; - const bm_meta *m = &a->pat.meta; char b[12]; - (void)m; int p = !tr->djf || tr->djf == 64 ? 0 : tr->djf < 64 ? -(int)tr->djf : (int)tr->djf - 64; - snprintf(b, sizeof b, "%d", tr->level); L4(L, 0, "LEVEL", b, tr->level * 2); + fmt_pct(tr->level, b, sizeof b); L4(L, 0, "VOLUME", b, tr->level * 2); if (!p) snprintf(b, sizeof b, "OPEN"); else snprintf(b, sizeof b, "%s %d", p < 0 ? "LP" : "HP", p < 0 ? -p : p); L4(L, 1, "FILTER", b, (p + 64) * 2); fmt_pct(tr->send, b, sizeof b); L4(L, 2, "DELAY", b, tr->send * 2); fmt_pct(tr->rsend, b, sizeof b); L4(L, 3, "REVERB", b, tr->rsend * 2); } -/* La página del FX de la consola que mandan K1-K4 (con FX sostenido, el PUNCH: la del delay) */ -static int fx_kpage(const bm_app *a) { return a->layer == L_PUNCH ? FXP_DELAY : a->fx_page % FXP_COUNT; } - -static void legend_fx(const bm_app *a, bm_legend *L) -{ - const bm_meta *m = &a->pat.meta; - char b[12]; - int pg = fx_kpage(a); - if (pg == FXP_CHANNEL) { /* el canal del cursor: DRIVE PAN DUCK BEAT FX */ - const bm_track *tr = &a->pat.trk[a->track]; - if (tr->drive) fmt_pct(tr->drive, b, sizeof b); else snprintf(b, sizeof b, "OFF"); - L4(L, 0, "DRIVE", b, tr->drive * 2); - fmt_pan(tr->pan, b, sizeof b); L4(L, 1, "PAN", b, tr->pan * 2); - if (a->track) { fmt_pct(tr->duck, b, sizeof b); L4(L, 2, "DUCK", b, tr->duck * 2); } else L4(L, 2, "DUCK", "SOURCE", 0); - L4(L, 3, "BEAT FX", tr->bfx_off ? "OFF" : "ON", tr->bfx_off ? 0 : 255); - return; - } - if (pg == FXP_MASTER) { - if (m->mfilt >= 60 && m->mfilt <= 68) snprintf(b, sizeof b, "OPEN"); - else if (m->mfilt < 60) snprintf(b, sizeof b, "LP %d", m->mfilt); - else snprintf(b, sizeof b, "HP %d", m->mfilt - 64); - L4(L, 0, "MST FILT", b, m->mfilt * 2); - L4(L, 1, "BEAT FX", BEATFX_N[m->beatfx % 17], m->beatfx * 15); - fmt_pct(a->set.drive, b, sizeof b); L4(L, 2, "DRIVE", b, a->set.drive * 2); - return; - } - if (pg == FXP_REVERB) { - fmt_pct(m->rv_size, b, sizeof b); L4(L, 0, "SIZE", b, m->rv_size * 2); - fmt_pct(m->rv_damp, b, sizeof b); L4(L, 1, "DAMP", b, m->rv_damp * 2); - fmt_pct(m->rv_mix, b, sizeof b); L4(L, 2, "REV MIX", b, m->rv_mix * 2); - fmt_ms(bm_decay_ms(m->sc_release / 2), b, sizeof b); L4(L, 3, "SC REL", b, m->sc_release * 2); - return; - } - L4(L, 0, "DLY TIME", DLY_NAMES[m->dly_time & 3], (m->dly_time & 3) * 85); - fmt_pct(m->dly_fb, b, sizeof b); L4(L, 1, "FEEDBACK", b, m->dly_fb * 2); - fmt_pct(m->dly_mix, b, sizeof b); L4(L, 2, "DLY MIX", b, m->dly_mix * 2); - fmt_ms(bm_decay_ms(m->sc_release / 2), b, sizeof b); L4(L, 3, "SC REL", b, m->sc_release * 2); -} - -static void legend_macros(const bm_app *a, int t, bm_legend *L) -{ - const bm_track *tr = &a->pat.trk[t]; - char b[12]; - for (int i = 0; i < 4; i++) { bm_fmt_macro(a, t, i, tr->macro[i], b, sizeof b); L4(L, i, bm_macro_name(a, t, i), b, tr->macro[i] * 2); } -} - -static void legend_midi(const bm_app *a, int t, bm_legend *L) -{ - const bm_track *tr = &a->pat.trk[t]; - char b[12]; - snprintf(b, sizeof b, "%d", tr->midi_ch + 1); L4(L, 0, "CHANNEL", b, tr->midi_ch * 17); - snprintf(b, sizeof b, "%d", tr->macro[1] + 1); L4(L, 1, "PROG", b, tr->macro[1] * 2); - snprintf(b, sizeof b, "%d", tr->macro[2]); L4(L, 2, "CC1 MOD", b, tr->macro[2] * 2); - snprintf(b, sizeof b, "%d", tr->macro[3]); L4(L, 3, "CC74", b, tr->macro[3] * 2); -} - -static void legend_chords(const bm_app *a, bm_legend *L) -{ - const bm_meta *m = &a->pat.meta; - char b[12]; - snprintf(b, sizeof b, "%.8s", bm_chord_set_names[m->chord_set % BM_CHORD_SETS]); L4(L, 0, "SET", b, m->chord_set * 127); - snprintf(b, sizeof b, "%.8s", VOICINGS[m->chord_voicing % 3]); L4(L, 1, "VOICING", b, m->chord_voicing * 127); - snprintf(b, sizeof b, "%d", m->chord_oct); L4(L, 2, "OCTAVE", b, (m->chord_oct - 1) * 51); - snprintf(b, sizeof b, "%dMS", m->strum); L4(L, 3, "STRUM", b, m->strum * 4); -} - -static void legend_arp(const bm_app *a, int t, bm_legend *L) -{ - const bm_track *tr = &a->pat.trk[t]; - char b[12]; - L4(L, 0, "MODE", ARP_MODES[tr->arp_mode % 5], tr->arp_mode * 63); - L4(L, 1, "RATE", ARP_RATES[tr->arp_rate % 3], tr->arp_rate * 127); - snprintf(b, sizeof b, "%d", tr->arp_oct); L4(L, 2, "OCTAVES", b, tr->arp_oct * 85); - snprintf(b, sizeof b, "%d%%", tr->arp_gate); L4(L, 3, "GATE", b, tr->arp_gate * 255 / 100); -} - -static void legend_len(const bm_app *a, bm_legend *L) -{ - int t = a->track; - char b[12]; - int len = bm_trk_len(&a->pat, t, bm_is_grid(&a->pat, t) ? tr_lane(a) : -1); - snprintf(b, sizeof b, "%d", len); L4(L, 0, "LENGTH", b, len * 4); - L4(L, 1, "SPEED", bm_speed_names[a->pat.trk[t].speed % SPD_COUNT], (SPD_COUNT - 1 - a->pat.trk[t].speed) * 51); -} - -uint8_t bm_app_takes_sel(const bm_app *a) -{ - uint8_t list[BM_TAKES + 8]; - int n = bm_app_sources(a, list); - if (!n) return BM_SRC_NONE; - return list[a->takes_row % n]; -} - -/* ------------------------------------------------------------ editor de sonido por páginas - * B-MINI, BITTAL y BUNO-6: los ajustes de la máquina (bm_params.h) en SONIDO. Batería: el instrumento elegido - * (bm_lane_pages) en INSTR. K1-K4 = los 4 de la página; SELECT recorre las páginas y sigue a la - * pestaña de al lado al llegar al borde; el botón de la página otra vez = la siguiente. */ -const bm_ppage *bm_app_ed_pages(const bm_app *a, int t, int *n) -{ - if (bm_is_tr(&a->pat, t)) { *n = BM_LANE_PAGES; return bm_lane_pages; } - return bm_engine_pages(a->pat.trk[t].engine, n); -} - -int bm_app_ed_on(const bm_app *a) -{ - int n, t = a->track; - if (a->view != V_CH || !bm_app_ed_pages(a, t, &n)) return 0; - return bm_is_tr(&a->pat, t) ? a->page == PG_INST : a->page == PG_SOUND; -} - -int bm_app_ed_value(const bm_app *a, int t, const bm_pdef *d) -{ - if (bm_is_tr(&a->pat, t)) return ((const uint8_t *)&bm_trk_trc(&a->pat, t)->lane[tr_lane(a)])[d->slot & 7]; - return bm_prm_get(&a->pat, t, d); -} - -const char *bm_app_ed_name(const bm_app *a, int t, const bm_pdef *d) -{ - if (bm_is_tr(&a->pat, t) && d->slot == LN_COLOR) /* COLOR dice qué hace en ese modelo */ - return bm_drm_color[bm_trk_trc(&a->pat, t)->lane[tr_lane(a)].model % DRM_COUNT]; - return d->name; -} - -static void ed_set(bm_app *a, int t, const bm_pdef *d, int v) -{ - if (bm_is_tr(&a->pat, t)) { app_push_i(a, CMD_SET_LANE, (uint8_t)t, (uint8_t)tr_lane(a), d->slot & 7, v); app_edited(a); return; } - if (d->slot & PS_M0) { app_set_track(a, t, d->slot & 3, v); return; } - if (bm_ps_trk(d->slot)) { app_set_track(a, t, d->slot & 0x3F, v); return; } /* ACCENT, GLIDE, TRANSPOSE... */ - uint8_t s[2], x[2]; - int n = bm_prm_split(d, v, s, x); - for (int i = 0; i < n; i++) app_push(a, CMD_SET_PRM, (uint8_t)t, s[i], x[i]); - app_edited(a); -} - -/* el valor de un ajuste en palabras: las macros como en SEQ; el algoritmo de BX-7 dice el del patch */ -static void ed_fmt(const bm_app *a, int t, const bm_pdef *d, int v, char *b, int cap) -{ - if (!bm_is_tr(&a->pat, t) && (d->slot & PS_M0)) { bm_fmt_macro(a, t, d->slot & 3, v, b, cap); return; } - if (d->fmt == PF_ALG && !v) { snprintf(b, (size_t)cap, "%d *", bm_fm_alg_of(&a->pat.trk[t], a->pat.prm[t])); return; } - bm_prm_fmt(d, v, b, cap); -} - -static bool fmt_bip(int f) { return f == PF_BIP || f == PF_SEMI || f == PF_DSEMI || f == PF_CENT || f == PF_TRSP || f == PF_MOD; } - -static void ed_turn(bm_app *a, int t, int k, int d) -{ - int n; - const bm_ppage *pg = bm_app_ed_pages(a, t, &n); - if (!pg || !n) return; - const bm_ppage *P = &pg[a->ed_page[t] % n]; - if (k >= P->n) return; - const bm_pdef *def = &P->p[k]; - int cur = bm_app_ed_value(a, t, def); - int step = def->max <= 16 ? lst(a, d) : d; /* listas: de a una */ - int lo = bm_is_tr(&a->pat, t) && def->slot == LN_LEN ? 1 : 0; - int nv = bm_clampi(cur + step, lo, def->max); - if (nv == cur) return; - ed_set(a, t, def, nv); - char b[12], ti[22]; - if (bm_is_tr(&a->pat, t)) bm_prm_fmt(def, nv, b, sizeof b); - else ed_fmt(a, t, def, nv, b, sizeof b); - if (bm_is_tr(&a->pat, t)) snprintf(ti, sizeof ti, "%s %s", T(bm_lane_name(a, t, tr_lane(a))), T(bm_app_ed_name(a, t, def))); - else snprintf(ti, sizeof ti, "%s %s", T(P->name), T(def->name)); - app_overlay(a, k, ti, b, "", nv * 255 / (def->max ? def->max : 1), fmt_bip(def->fmt) ? 128 : -1, bm_knob_color(k)); -} - - -static void legend_editor(const bm_app *a, int t, bm_legend *L) +static int lane_val(const bm_app *a, int slot) { - int n; - const bm_ppage *pg = bm_app_ed_pages(a, t, &n); - if (!pg || !n) return; - const bm_ppage *P = &pg[a->ed_page[t] % n]; - char b[12]; - for (int k = 0; k < P->n; k++) { - int v = bm_app_ed_value(a, t, &P->p[k]); - if (bm_is_tr(&a->pat, t)) bm_prm_fmt(&P->p[k], v, b, sizeof b); else ed_fmt(a, t, &P->p[k], v, b, sizeof b); - L4(L, k, bm_app_ed_name(a, t, &P->p[k]), b, v * 255 / (P->p[k].max ? P->p[k].max : 1)); - } + return ((const uint8_t *)&bm_trk_trc(&a->pat, a->track)->lane[tr_lane(a)])[slot & 7]; } -/* PADS: TRIM (START LENGTH ZOOM SNAP) · SOUND (PITCH LEVEL PLAY DIR) · ENV (ATTACK RELEASE CHOKE TEMPO) */ -static void legend_pads(const bm_app *a, bm_legend *L) +/* K1-K4 de las capas de sonido: página 0 = el golpe (TUNE DECAY TONE COLOR), 1 = el instrumento (MODEL LEVEL CHOKE) */ +static void legend_lane(const bm_app *a, bm_legend *L, int page) { - const bm_pad *p = &a->pat.pad[a->sel_lane[1] & 15]; - const bm_lane *ln = &a->pat.tr[1].lane[a->sel_lane[1] & 15]; + const bm_ppage *P = &bm_lane_pages[page]; char b[12]; - bool ok = bm_pad_ok(p); - switch (a->ed_page[1] % 4) { - case 0: { - unsigned st = (unsigned)((uint32_t)p->start * 1000u / BM_SMP_RATE), ln_ms = (unsigned)((uint32_t)p->len * 1000u / BM_SMP_RATE); - snprintf(b, sizeof b, "%u.%03uS", st / 1000, st % 1000); L4(L, 0, "START", ok ? b : "-", ok && a->cut_wlen ? (int)((uint32_t)p->start * 255u / a->cut_wlen) : 0); - snprintf(b, sizeof b, "%u MS", ln_ms); L4(L, 1, "LENGTH", ok ? b : "-", ok && a->cut_wlen ? (int)((uint32_t)p->len * 255u / a->cut_wlen) : 0); - snprintf(b, sizeof b, "X%d", 1 << (a->cut_zoom & 3)); L4(L, 2, "ZOOM", b, a->cut_zoom * 85); - L4(L, 3, "SNAP", SNAP_NAMES[a->cut_snap % 3], a->cut_snap * 127); - break; - } - case 1: - snprintf(b, sizeof b, "%+d ST", p->pitch - 24); L4(L, 0, "PITCH", b, p->pitch * 255 / 48); - snprintf(b, sizeof b, "%d", ln->level); L4(L, 1, "LEVEL", b, ln->level * 2); - L4(L, 2, "PLAY", bm_pad_mode_name(p->mode), p->mode * 85); - L4(L, 3, "DIR", (p->flags & PAD_REV) ? "REV" : "FWD", (p->flags & PAD_REV) ? 255 : 0); - break; - case 3: - snprintf(b, sizeof b, "%d%%", p->loop_s * 100 / 255); L4(L, 0, "LOOP IN", ok ? b : "-", p->loop_s); - if (p->loop_e) snprintf(b, sizeof b, "%d%%", p->loop_e * 100 / 255); else snprintf(b, sizeof b, "WHOLE"); - L4(L, 1, "LOOP OUT", ok ? b : "-", p->loop_e); - L4(L, 2, "PLAY", bm_pad_mode_name(p->mode), p->mode * 85); - break; - default: - fmt_ms(bm_attack_ms(p->attack), b, sizeof b); L4(L, 0, "ATTACK", b, p->attack * 2); - fmt_ms(bm_decay_ms(p->release), b, sizeof b); L4(L, 1, "RELEASE", b, p->release * 2); - if (ln->choke) snprintf(b, sizeof b, "%d", ln->choke); else snprintf(b, sizeof b, "OFF"); - L4(L, 2, "CHOKE", b, ln->choke * 85); - L4(L, 3, "TEMPO", (p->flags & PAD_TEMPO) ? "SYNC" : "OFF", (p->flags & PAD_TEMPO) ? 255 : 0); - break; + for (int k = 0; k < (page == 1 ? 3 : P->n); k++) { + const bm_pdef *d = &P->p[k]; + int v = lane_val(a, d->slot); + bm_prm_fmt(d, v, b, sizeof b); + const char *nm = d->slot == LN_COLOR ? bm_drm_color[lane_val(a, LN_MODEL) % DRM_COUNT] : d->name; + L4(L, k, nm, b, v * 255 / (d->max ? d->max : 1)); } } static void legend_view(const bm_app *a, bm_legend *L); +static void legend_glo(const bm_app *a, bm_legend *L); void bm_app_legend(const bm_app *a, bm_legend L[4]) { memset(L, 0, sizeof(bm_legend) * 4); - int t = a->track; - const bm_track *tr = &a->pat.trk[t]; - const bm_meta *m = &a->pat.meta; + const bm_track *tr = &a->pat.trk[a->track]; char b[12]; switch (a->layer) { - case L_HOME: legend_home(a, L); return; /* HOME sostenido: la tira del canal, como en la consola */ - case L_TONE: /* K1 BPM y K2 SWING, como en HOME y en TEMPO */ - snprintf(b, sizeof b, "%d", (m->bpm_x10 + 5) / 10); L4(L, 0, "BPM", b, (m->bpm_x10 - 400) * 255 / 2000); - snprintf(b, sizeof b, "%d%%", m->swing); L4(L, 1, "SWING", b, (m->swing - 50) * 255 / 25); - fmt_semi(m->transpose, b, sizeof b); L4(L, 2, "TRANSP", b, m->transpose * 5); - snprintf(b, sizeof b, "%+d", ((int)m->transpose - 24) / 12); L4(L, 3, "OCTAVE", b, m->transpose * 5); - return; - case L_LEN: legend_len(a, L); return; case L_ACC: fmt_pct(tr->accent, b, sizeof b); L4(L, 0, "ACCENT", b, tr->accent * 2); return; - case L_REP: if (app_kind(a, t) == KIND_NOTE) { fmt_ms((uint32_t)tr->glide * 500 / 127, b, sizeof b); L4(L, 0, "GLIDE", b, tr->glide * 2); } return; - case L_PUNCH: legend_fx(a, L); return; - case L_CHORDS: legend_chords(a, L); return; - case L_ARP: legend_arp(a, t, L); return; - case L_ROLL: /* K1 velocidad, K2 rampa, K3 swing, K4 cola */ - L4(L, 0, "RATE", bm_roll_names[a->roll_rate % BM_ROLL_RATES], a->roll_rate * 51); - L4(L, 1, a->roll_ramp == 1 ? "CRESC" : a->roll_ramp == 2 ? "DECRESC" : "RAMP", bm_roll_len_names[a->roll_len & 3], a->roll_len * 85); - snprintf(b, sizeof b, "%d%%", a->roll_swing); L4(L, 2, "SWING", b, (a->roll_swing - 50) * 255 / 25); - L4(L, 3, "TAIL", bm_roll_tail_names[a->roll_tail & 3], a->roll_tail * 85); + case L_HIT: legend_lane(a, L, 0); return; + case L_INST: legend_lane(a, L, 1); return; + case L_REP: case L_MUTE: return; + case L_LEN: { /* Slicer: el largo del pad elegido y la velocidad del canal */ + int len = bm_trk_len(&a->pat, a->track, tr_lane(a)); + snprintf(b, sizeof b, len > 1 ? "%d STEPS" : "%d STEP", len); L4(L, 0, "LENGTH", b, (len - 1) * 255 / (BM_STEPS - 1)); + L4(L, 1, "SPEED", bm_speed_names[tr->speed % SPD_COUNT], (SPD_COUNT - 1 - tr->speed % SPD_COUNT) * 51); return; - case L_COPY: snprintf(b, sizeof b, "A%02d", a->ctx.st.pattern + 1); L4(L, 0, "FROM", b, 0); return; - case L_ERASE: return; - default: break; /* MUTE y FILL: las perillas siguen con lo de SEQ */ + } + default: break; } legend_view(a, L); } static void legend_view(const bm_app *a, bm_legend *L) { - int t = a->track; - const bm_track *tr = &a->pat.trk[t]; - const bm_meta *m = &a->pat.meta; char b[12]; switch (a->view) { case V_HOME: legend_home(a, L); return; + case V_MACH: mach_legend_view(a, L); return; case V_GLO: legend_glo(a, L); return; - case V_FXG: legend_fx(a, L); return; - case V_TIME: { - int row = a->time_row; - const bm_track *rt = &a->pat.trk[row]; - if (bm_is_grid(&a->pat, row)) { - const bm_tr *g = bm_trk_trc(&a->pat, row); - snprintf(b, sizeof b, "%d", g->lane[0].len); L4(L, 0, "LENGTH", b, g->lane[0].len * 4); - L4(L, 1, "SPEED", bm_speed_names[rt->speed % SPD_COUNT], (SPD_COUNT - 1 - rt->speed) * 51); - if (row != 1) { - L4(L, 2, "INSTRUM", bm_lane_name(a, row, a->time_lane), a->time_lane * 17); - snprintf(b, sizeof b, "%d", g->lane[a->time_lane].len); L4(L, 3, "LANE LEN", b, g->lane[a->time_lane].len * 4); - } - } else { - snprintf(b, sizeof b, "%d", rt->length); L4(L, 0, "LENGTH", b, rt->length * 4); - L4(L, 1, "SPEED", bm_speed_names[rt->speed % SPD_COUNT], (SPD_COUNT - 1 - rt->speed) * 51); - } - return; - } case V_SAVE: snprintf(b, sizeof b, "A%02d", a->save_target + 1); L4(L, 0, "TARGET", b, a->save_target * 17); return; case V_SYSTEM: L4(L, 0, "VALUE", "ALGO", 0); return; - case V_CH: break; - default: return; - } - if (lock_mode(a) && a->page == PG_SEQ) { - for (int i = 0; i < 4; i++) { - int val = tr->macro[i]; - if (bm_is_grid(&a->pat, t)) { - int lv = bm_tr_lock_get(bm_trk_trc(&a->pat, t), a->held_step, tr_lane(a), i); - if (lv >= 0) { val = lv; L[i].locked = 1; } - } else { - int idx[4]; - int n = syn_step_events(a, t, a->held_step, idx); - if (n && bm_evc(&a->pat, t, a->held_step, idx[0])->lk[i] != BM_LOCK_NONE) { val = bm_evc(&a->pat, t, a->held_step, idx[0])->lk[i]; L[i].locked = 1; } - } - bm_fmt_macro(a, t, i, val, b, sizeof b); - L4(L, i, bm_macro_name(a, t, i), b, val * 2); - } - return; - } - int kind = app_kind(a, t); - switch (a->page) { - case PG_SEQ: - if (app_midi(a, t)) legend_midi(a, t, L); - else legend_macros(a, t, L); - return; - case PG_SOUND: - if (kind == KIND_TR) legend_macros(a, t, L); - else legend_editor(a, t, L); - return; - case PG_INST: legend_editor(a, t, L); return; - case PG_MIX: legend_mix(a, t, L); return; - case PG_MORE: { - bm_legend tmp[4]; - memset(tmp, 0, sizeof tmp); - legend_len(a, tmp); /* K1 LENGTH, K2 SPEED como en la capa de SEQ y en TIME */ - L[0] = tmp[0]; L[1] = tmp[1]; - fmt_pct(tr->accent, b, sizeof b); L4(L, 2, "ACCENT", b, tr->accent * 2); - if (kind == KIND_NOTE) { fmt_semi(tr->transpose, b, sizeof b); L4(L, 3, "TRANSP", b, tr->transpose * 5); } - return; - } - case PG_BREAK: - for (int i = 0; i < 4; i++) { fmt_pct(tr->gen[i], b, sizeof b); L4(L, i, GEN_NAMES[i], b, tr->gen[i] * 2); } - return; - case PG_TAKES: { - uint8_t src = bm_app_takes_sel(a); - if (src != BM_SRC_NONE && !(src & BM_SRC_ROM)) { - const bm_take *tk = &a->take[src]; - snprintf(b, sizeof b, "%d", (tk->bpm_x10 + 5) / 10); L4(L, 0, "BPM", b, (tk->bpm_x10 - 400) * 255 / 2000); - snprintf(b, sizeof b, "%d", tk->bars); L4(L, 1, "BARS", b, tk->bars * 31); - int db = ((int)tk->gain - 64) * 6 / 64; - snprintf(b, sizeof b, "%+d DB", db); L4(L, 2, "GAIN", b, tk->gain * 2); - } else if (src != BM_SRC_NONE) { - const bm_rom_loop *l = &bm_rom_loops[src & 0x7F]; - snprintf(b, sizeof b, "%d", l->bpm_x10 / 10); L4(L, 0, "BPM", b, 0); - snprintf(b, sizeof b, "%d", l->bars); L4(L, 1, "BARS", b, 0); - L4(L, 2, "FACTORY", "FIXED", 0); + case V_CH: + if (a->held_step >= 0 && a->held_long) { /* paso sostenido: K1 acento, K2 repetición */ + uint8_t v = bm_trk_trc(&a->pat, a->track)->st[tr_lane(a)][a->held_step]; + int rat = (v & ST_FLAM) ? 4 : (v & ST_RAT_MASK) >> ST_RAT_SH; + L4(L, 0, "ACCENT", (v & ST_ACC) ? "ON" : "OFF", (v & ST_ACC) ? 255 : 0); + L4(L, 1, "REPEAT", RAT_NAMES[rat], rat * 63); + return; } + if (bm_is_pads(a->track)) { slicer_grid_legend(a, L); return; } /* LEVEL LENGTH PITCH RELEASE del pad */ + legend_lane(a, L, 2); return; - } - case PG_ARP: if (kind == KIND_NOTE) legend_arp(a, t, L); return; /* las rejillas: ARP es la capa ROLL */ - case PG_LOOP: { - const bm_loop *lp = &a->pat.loop[t >= 2 ? t - 2 : 0]; - L4(L, 0, "LOOP", lp->on ? "ON" : "OFF", lp->on ? 255 : 0); - snprintf(b, sizeof b, "%d", lp->bars); L4(L, 1, "BARS", b, lp->bars * 63); - return; - } - case PG_MIDI: legend_midi(a, t, L); return; - case PG_SCL: { - int root, sc = app_scale(a, t, &root); - L4(L, 0, "ROOT", bm_note_names[root], root * 23); - if (tr->scl == 0xFF) snprintf(b, sizeof b, "PROJECT"); else snprintf(b, sizeof b, "%.8s", bm_scale_names[sc]); - L4(L, 1, "SCALE", b, tr->scl == 0xFF ? 0 : (sc + 1) * 25); - L4(L, 2, "CHORD", EXT_NAMES[m->voicing % 5], m->voicing * 63); - L4(L, 3, "LOCK", m->scale_lock ? "ON" : "OFF", m->scale_lock ? 255 : 0); - return; - } - case PG_CHORDS: legend_chords(a, L); return; - case PG_REC: L4(L, 0, "START", a->rec_now ? "NOW" : "BAR", a->rec_now ? 255 : 0); L4(L, 1, "SOURCE", "MIX", 0); return; - case PG_PADS: legend_pads(a, L); return; default: return; } } @@ -676,61 +146,20 @@ static void legend_view(const bm_app *a, bm_legend *L) void bm_app_bigknobs(const bm_app *a, const char **sel, const char **alg, const char **pre) { const char *S = "-", *A = "-", *P = "-"; - int t = a->track, kind = app_kind(a, t), e = a->pat.trk[t].engine; - switch (a->layer) { - case L_HOME: S = "TRACK"; A = "BPM .1"; P = "PATTERN"; goto out; - case L_ROLL: goto out; /* ROLL: K1-K4 y las negras; las grandes, nada */ - case L_NONE: case L_LANEMUTE: case L_FILL: break; /* MUTE y FILL: siguen con lo de SEQ */ - default: goto out; /* las otras capas solo usan K1-K4 */ - } - if (a->view == V_CH && a->page == PG_SEQ && a->rec && kind == KIND_NOTE && a->held_step < 0) { S = "STEP"; A = "GATE"; P = "MICRO"; goto out; } - if (a->view == V_CH && a->page == PG_SEQ && a->held_step >= 0) { - S = "ACCENT"; - if (bm_is_grid(&a->pat, t)) { A = "REPEAT"; P = "COND"; } else { A = "PROB"; P = "LENGTH"; } - goto out; - } - { - const char *snd = bm_is_pads(t) ? "TAKE" : kind == KIND_TR ? "KIT" : e == ENG_FM ? "PATCH" : "SOUND"; - if (a->card && console(a)) { /* la tarjeta del canal: la máquina y su sonido */ - int ct = a->card - 1; - S = "TRACK"; A = ct >= BM_TR_TRACKS ? "MACHINE" : "-"; - P = bm_is_pads(ct) ? "TAKE" : app_kind(a, ct) == KIND_TR ? "KIT" : app_engine(a, ct) == ENG_FM ? "PATCH" : "SOUND"; - goto out; - } - switch (a->view) { - case V_HOME: S = "TRACK"; A = "BPM"; P = snd; goto out; - case V_FXG: S = "PAGE"; A = "BPM"; P = "MOVE"; goto out; - case V_GLO: - P = "MOVE"; - if (a->glo_page == GP_MACH) { S = "TRACK"; A = a->track >= BM_TR_TRACKS ? "MACHINE" : "-"; } - else if (a->glo_page == GP_SONG) { if (a->song.n) { S = "ENTRY"; A = "PATTERN"; } } - else { S = "ROW"; A = "VALUE"; } - goto out; - default: break; - } - } + int t = a->track; + if (a->layer) { if (a->layer == L_INST) A = "MODEL"; else if (a->layer == L_LEN) A = "PAD"; goto out; } /* las capas usan K1-K4 */ switch (a->view) { + case V_HOME: S = "TRACK"; A = "BPM"; P = drums_track(a, t) ? "KIT" : bm_is_pads(t) ? "TAKE" : "SOUND"; break; + case V_GLO: /* las páginas, con GLO */ + if (a->glo_page == 0) { S = "TRACK"; A = app_fixed(t) ? "-" : "MACHINE"; } + else if (a->glo_page == 1) A = "BPM"; + break; case V_SYSTEM: S = "ROW"; A = "VALUE"; break; case V_SAVE: S = "ROW"; A = "TARGET"; P = "TARGET"; break; - case V_TIME: S = "TRACK"; A = "TRACK"; break; - case V_COPYCH: S = "TARGET"; A = "TARGET"; break; case V_CH: - S = a->page == PG_MORE ? "ROW" : "PAGE"; - if (a->page == PG_MORE) A = "VALUE"; - else if (a->page == PG_TAKES) A = "TAKE"; - else if (a->page != PG_REC) - switch (e) { - case ENG_DRUM: A = "INSTR"; break; - case ENG_BREAK: A = "PAD"; break; - case ENG_ACID: A = "WAVE"; break; - case ENG_MINI: A = "MODE"; break; - case ENG_FM: A = "ALG"; break; - case ENG_BITTAL: A = "TABLE"; break; - case ENG_BUNO: A = "CHORUS"; break; - default: break; - } - P = bm_is_pads(t) ? "TAKE" : kind == KIND_TR ? "KIT" : e == ENG_FM ? "PATCH" : "SOUND"; + if (bm_is_pads(t)) { A = "PAD"; P = "TAKE"; } else { A = "INSTR"; P = "KIT"; } break; + case V_MACH: mach_bigknobs(a, &S, &A, &P); break; default: break; } out: @@ -741,7 +170,7 @@ void bm_app_bigknobs(const bm_app *a, const char **sel, const char **alg, const * Las luces son blancas y solo dicen el estado; la tira de teclas de la pantalla nombra cada tecla * con la misma intensidad. Una sola gramática en todas las pantallas: * OFF no hay nada: sin función, hueco vacío que no hace nada, fuera del largo - * DIM disponible pero quieto o vacío, o con contenido pero callado (muteado, NO-FILL) + * DIM disponible pero quieto o vacío, o con contenido pero callado (muteado) * MID tiene contenido y va a sonar; una referencia (carril con pasos, patrón guardado, tónica) * ON elegido, sostenido, activo ahora, o el destello de un golpe (live) * BLINK solo el cabezal o lo que está en cola @@ -760,6 +189,8 @@ static bm_keyfn *KB(bm_keyfn *K, int b, const char *l, uint8_t led, uint16_t c) return k; } +static void KL(bm_keyfn *K, int k, const char *l) { snprintf(K[k].label, sizeof K[k].label, "%s", l); } + /* La tira muestra 3 letras: cada instrumento de los kits tiene su nombre corto fijo (KICK y KICK2, * o los tres TOM, no pueden leerse iguales). Si se le cambió el modelo, el del modelo. */ static const char KIT_SHORT[BM_KITS_N][BM_LANES][4] = { @@ -803,34 +234,28 @@ static uint8_t lane_live(const bm_app *a, int t, int ln) return (uint8_t)(a->now < a->lane_flash[t][ln] && !((bm_trk_trc(&a->pat, t)->mute >> ln) & 1)); } -static int step_pages(const bm_app *a); -static int notes_empty(const bm_app *a, int t); -static void note_keys(const bm_app *a, bm_keyfn *K, int t); -static void lane_whites(const bm_app *a, bm_keyfn *K, int t); +/* Páginas de pasos del secuenciador (los compases de 16 pasos del instrumento elegido) */ +static int step_pages(const bm_app *a) +{ + int pages = (bm_trk_len(&a->pat, a->track, tr_lane(a)) + 15) / 16; + return pages > 0 ? pages : 1; +} -/* 0.9: las páginas de pasos en las negras 9 (<) y 10 (>): MID si hay página para ese lado */ +/* negras 9 y 10 = el compás anterior / siguiente (en círculo). Se ven siempre (pedido del usuario, + * 2026-10-20): con un solo compás quedan tenues y al tocarlas lo dicen. */ static void page_blacks(const bm_app *a, bm_keyfn *K) { - int last = step_pages(a) - 1; - KB(K, 8, "<", a->step_page > 0 ? LED_MID : LED_OFF, C_WHITE); - KB(K, 9, ">", a->step_page < last ? LED_MID : LED_OFF, C_WHITE); + uint8_t led = step_pages(a) < 2 ? LED_DIM : LED_MID; + KB(K, 8, "<", led, C_WHITE); + KB(K, 9, ">", led, C_WHITE); } -/* Las negras de un canal de batería o de pads: 1-8 eligen y tocan un instrumento del banco, 11 cambia - * de banco (HI/LO; sostenida, MUTE de instrumentos mientras la sostienes). En SEQ, 9 y 10 = páginas. */ -static void tr_blacks(const bm_app *a, bm_keyfn *K, int t, bool seq) +static int notes_empty(const bm_app *a, int t) { - const bm_tr *tr = bm_trk_trc(&a->pat, t); - int lane = tr_lane(a), bank = (lane / 8) * 8; - bool other = false; - for (int i = 0; i < 8; i++) { - int ln = bank + i; - bm_keyfn *k = KB(K, i, lane_short(a, t, ln), lane_led(tr, ln, lane), bm_track_color(t)); - k->live = (uint8_t)(lane_has(tr, ln) && lane_live(a, t, ln)); - if (!other) other = lane_has(tr, (ln + 8) & 15); - } - if (seq) page_blacks(a, K); - KB(K, 10, lane < 8 ? "HI" : "LO", lane >= 8 ? LED_ON : (other ? LED_MID : LED_DIM), C_WHITE); + for (int s = 0; s < BM_STEPS; s++) + for (int k = 0; k < BM_EVENTS; k++) + if (!bm_event_empty(bm_evc(&a->pat, t, s, k))) return 0; + return 1; } /* el canal tiene algo que suena (golpes o notas) */ @@ -842,12 +267,13 @@ static bool track_any(const bm_app *a, int t) return false; } -/* La consola (HOME, su FX y su GLO, y HOME sostenido en cualquier lado): - * blancas 1-10 patrones 01-10: ON el actual, BLINK en cola o el siguiente de la cadena, MID guardado, DIM vacío - * blancas 11-16 canales T1-T6: ON el cursor, MID con pasos (destella con cada golpe), DIM vacío, BREATH la tarjeta - * negras 1-6 mutes: MID suena (destella), DIM muteado, BLINK en CUE, ON solo - * negras 7-10 escenas A-D: ON la activa, BLINK en cola, MID guardada, DIM vacía - * negra 11 CUE: DIM apagado, BREATH armado */ +/* El mezclador (HOME y su GLO): + * blancas 1-9 patrones 01-09: ON el actual, BLINK en cola (entra al final del compás), MID guardado, apagado vacío + * blanca 10 sin función: espacio entre los patrones y los canales (no se cambia de patrón por error) + * blancas 11-16 canales T1-T6: ON el cursor, MID con pasos (destella con cada golpe), DIM vacío + * negras 1-6 mutes: MID suena (destella), DIM muteado, ON solo + * negra 7 sin función + * negras 8-11 escenas A-D: ON la activa, BLINK en cola, MID guardada, DIM vacía (con un patrón sostenido: guardar) */ static void map_console(const bm_app *a, bm_keyfn *K) { const bm_status *st = &a->ctx.st; @@ -856,328 +282,289 @@ static void map_console(const bm_app *a, bm_keyfn *K) bool has = bm_store_has(&a->store, (uint8_t)w) || w == st->pattern || a->pend_obj == w; bool q = w == st->queued && st->queued != st->pattern; snprintf(b, sizeof b, "%02d", w + 1); - KW(K, w, b, w == st->pattern ? LED_ON : q ? LED_BLINK : has ? LED_MID : LED_DIM, w == st->pattern ? C_WHITE : q ? C_CYAN : 0); + KW(K, w, b, w == st->pattern ? LED_ON : q ? LED_BLINK : has ? LED_MID : LED_OFF, w == st->pattern ? C_WHITE : q ? C_CYAN : 0); } - for (int t = 0; t < BM_TRACKS; t++) { + for (int n = 0; n < BM_TRACKS; n++) { + int t = BM_ORDER[n]; bool any = track_any(a, t); - uint8_t led = a->card == t + 1 ? LED_BREATH : a->home_go == t + 1 ? LED_BLINK : t == a->track ? LED_ON : any ? LED_MID : LED_DIM; - snprintf(b, sizeof b, "T%d", t + 1); - KW(K, 10 + t, b, led, bm_track_color(t))->live = (uint8_t)(any && !a->pat.trk[t].mute && a->now < a->trig_until[t] && !a->card); + snprintf(b, sizeof b, "T%d", n + 1); + KW(K, BM_CH_W0 + n, b, t == a->track ? LED_ON : any ? LED_MID : LED_DIM, bm_track_color(t))->live = + (uint8_t)(any && !a->pat.trk[t].mute && a->now < a->trig_until[t]); } - for (int t = 0; t < BM_TRACKS; t++) { + for (int n = 0; n < BM_TRACKS; n++) { + int t = BM_ORDER[n]; bool mute = a->pat.trk[t].mute != 0; - uint8_t led = a->solo_on && a->solo_track == t ? LED_ON : ((st->cue_x >> t) & 1) ? LED_BLINK : mute ? LED_DIM : LED_MID; - snprintf(b, sizeof b, "M%d", t + 1); - KB(K, t, b, led, bm_track_color(t))->live = (uint8_t)(!mute && led == LED_MID && a->now < a->trig_until[t]); + uint8_t led = a->solo_on && a->solo_track == t ? LED_ON : mute ? LED_DIM : LED_MID; + snprintf(b, sizeof b, "M%d", n + 1); + KB(K, n, b, led, bm_track_color(t))->live = (uint8_t)(!mute && led == LED_MID && a->now < a->trig_until[t]); } for (int s = 0; s < BM_SCENES; s++) { - snprintf(b, sizeof b, "%c", 'A' + s); - KB(K, 6 + s, b, st->scene == s ? LED_ON : st->scene_q == s ? LED_BLINK : (a->song.scene[s].flags & SCN_STORED) ? LED_MID : LED_DIM, C_CYAN); + snprintf(b, sizeof b, a->pat_held ? "S%c" : "%c", 'A' + s); + KB(K, SCENE_B0 + s, b, st->scene == s ? LED_ON : st->scene_q == s ? LED_BLINK : (a->song.scene[st->pattern % BM_PATTERNS][s].flags & SCN_STORED) ? LED_MID : LED_DIM, C_CYAN); } - KB(K, 10, "CUE", a->cue ? LED_BREATH : LED_DIM, C_ORANGE); } -/* GLO de la consola > SONG: blancas 1-10 agregan el patrón, negras 7-10 ponen (o quitan) una escena - * en la entrada elegida, negra 11 la borra. Los canales y los mutes siguen siendo de la consola. */ -static void map_song(const bm_app *a, bm_keyfn *K) +/* ------------------------------------------------------------ notas y teclado de PLAY/REC */ +/* las máquinas de bajo (BB-303 y B-MINI) tocan una octava más abajo, en el canal que estén */ +static int bass_machine(const bm_app *a, int t) { int e = app_engine(a, t); return e == ENG_ACID || e == ENG_MINI; } + +/* la nota de una tecla en PLAY/REC: cromática desde F, con la octava corrida por OCT -/+ */ +static int key_note(const bm_app *a, int t, int k) { - map_console(a, K); - int cur = a->song.n ? a->song.pat[a->song_cur % a->song.n] : -1; - char b[6]; - for (int w = 0; w < BM_PATTERNS; w++) { - bool has = bm_store_has(&a->store, (uint8_t)w) || w == a->ctx.st.pattern; - snprintf(b, sizeof b, "%02d", w + 1); - KW(K, w, b, cur >= 0 && bm_song_pat((uint8_t)cur) == w ? LED_ON : has ? LED_MID : LED_DIM, C_WHITE); - } - for (int s = 0; s < BM_SCENES; s++) { - snprintf(b, sizeof b, "+%c", 'A' + s); - bool on = cur >= 0 && bm_song_scene((uint8_t)cur) == s; - KB(K, 6 + s, b, !a->song.n ? LED_OFF : on ? LED_ON : (a->song.scene[s].flags & SCN_STORED) ? LED_MID : LED_DIM, C_CYAN); - } - KB(K, 10, "DEL", a->song.n ? LED_DIM : LED_OFF, C_RED); + return BM_KEY_BASE_NOTE + k + 12 * a->oct - (bass_machine(a, t) ? 12 : 0); } -/* SLOOP-REC: las teclas tocan la máquina del cursor. Notas: las 27 cromáticas desde F (con KEYS IN - * SCALE, la escala en las blancas y los acordes en las negras). Batería y pads: las blancas son los 16 - * instrumentos y la negra 1 ACC (los golpes que tocas mientras la sostienes van con acento). */ -static void map_sloop(const bm_app *a, bm_keyfn *K) +/* las notas que el canal t acaba de tocar desde sus pasos (para que destellen sus teclas) */ +static int live_notes(const bm_app *a, int t, uint8_t out[4]) { - int t = a->track; - if (app_kind(a, t) == KIND_NOTE) { note_keys(a, K, t); return; } - lane_whites(a, K, t); - KB(K, 0, "ACC", LED_DIM, C_WHITE); + if (!(a->now < a->trig_until[t])) return 0; + int s = bm_app_track_step(a, t, -1), idx[4]; + if (s < 0) return 0; + int n = syn_step_events(a, t, s, idx); + for (int i = 0; i < n; i++) out[i] = bm_evc(&a->pat, t, s, idx[i])->note; + return n; } -static void map_steps(const bm_app *a, bm_keyfn *K, int mode) +static uint8_t note_in(int note, const uint8_t *nn, int n) { - /* mode 0: acento · 1: repetir/ligar · 2: borrar · 3: solo en el fill - * Un paso vacío está disponible (DIM) donde la capa lo crea: acento, y en batería repetir y fill. */ - int t = a->track, kind = app_kind(a, t); - uint8_t empty = (mode == 0 || (kind != KIND_NOTE && (mode == 1 || mode == 3))) ? LED_DIM : LED_OFF; - for (int w = 0; w < 16; w++) { - int s = a->step_page * 16 + w; - const char *l = ""; - uint8_t led = empty; - if (kind == KIND_NOTE) { - if (s >= a->pat.trk[t].length) { KW(K, w, "", LED_OFF, 0); continue; } - int idx[4], n = syn_step_events(a, t, s, idx); - if (n) { - const bm_event *e = bm_evc(&a->pat, t, s, idx[0]); - if (mode == 3) { - l = e->prob == BM_PROB_FILL ? "F" : e->prob == BM_PROB_NOFILL ? "-" : ""; - led = e->prob == BM_PROB_FILL ? LED_ON : e->prob == BM_PROB_NOFILL ? LED_DIM : LED_MID; - } - else if (mode == 0) { l = e->vel >= BM_VEL_ACC ? "A" : e->vel <= BM_VEL_GHOST ? "G" : ""; led = e->vel >= BM_VEL_ACC ? LED_ON : LED_MID; } - else if (mode == 1) { l = (e->len & BM_LEN_TIE) ? "TIE" : ""; led = (e->len & BM_LEN_TIE) ? LED_ON : LED_MID; } - else { l = "X"; led = LED_MID; } - } - } else { - const bm_tr *tr = bm_trk_trc(&a->pat, t); - int lane = tr_lane(a); - if (s >= tr->lane[lane].len) { KW(K, w, "", LED_OFF, 0); continue; } - uint8_t v = tr->st[lane][s]; - int on = (v & ST_ON) != 0; - if (on) { - int rat = (v & ST_FLAM) ? 4 : (v & ST_RAT_MASK) >> ST_RAT_SH; - int cond = (v & ST_COND_MASK) >> ST_COND_SH; - if (mode == 3) { l = cond == 1 ? "F" : cond == 2 ? "-" : ""; led = cond == 1 ? LED_ON : cond == 2 ? LED_DIM : LED_MID; } - else if (mode == 0) { l = (v & ST_ACC) ? "A" : ""; led = (v & ST_ACC) ? LED_ON : LED_MID; } - else if (mode == 1) { l = RAT_NAMES[rat]; if (!rat) l = ""; led = rat ? LED_ON : LED_MID; } - else { l = "X"; led = LED_MID; } - } - } - if (s == bm_app_track_step(a, t, kind == KIND_NOTE ? -1 : tr_lane(a))) led = LED_BLINK; - KW(K, w, l, led, mode == 0 ? C_WHITE : mode == 1 ? C_YELLOW : mode == 3 ? C_ORANGE : C_RED); - } + for (int i = 0; i < n; i++) if (nn[i] == note) return 1; + return 0; } -/* Las blancas como los 16 instrumentos. act: los sostenidos (ON). - * MUTE: con pasos y sonando MID y destella con cada golpe, muteado DIM, vacío OFF. - * ERASE: con pasos MID (muteado o no), vacío OFF (no hay nada que borrar). - * ROLL: todos suenan: vacío DIM, con pasos MID, y destellan. */ -enum { LM_MUTE, LM_ERASE, LM_ROLL }; +/* El teclado de un canal de notas en PLAY/REC: cromático (la escala DIM, la tónica MID, fuera de la + * escala OFF) */ +static void note_keys(const bm_app *a, bm_keyfn *K, int t); +void app_note_keys(const bm_app *a, bm_keyfn *K, int t) { note_keys(a, K, t); } -static void map_lanes(const bm_app *a, bm_keyfn *K, int t, uint16_t act, int mode) +static void note_keys(const bm_app *a, bm_keyfn *K, int t) { - const bm_tr *tr = bm_trk_trc(&a->pat, t); - for (int w = 0; w < 16; w++) { - bool has = lane_has(tr, w), mute = (tr->mute >> w) & 1; - uint8_t led, live = 0; - if (mode == LM_MUTE) { led = has ? (mute ? LED_DIM : LED_MID) : LED_OFF; live = (uint8_t)(has && lane_live(a, t, w)); } - else if (mode == LM_ERASE) led = has ? LED_MID : LED_OFF; - else { led = has ? LED_MID : LED_DIM; live = lane_live(a, t, w); } - if ((act >> w) & 1) led = LED_ON; - KW(K, w, lane_short(a, t, w), led, bm_track_color(t))->live = live; + int root, sc = app_scale(a, t, &root), sl = bm_scale_len(sc); + uint8_t nn[4]; + int nl = live_notes(a, t, nn); + uint16_t col = bm_track_color(t); + uint16_t pcs = 0; + for (int d = 0; d < sl; d++) pcs |= (uint16_t)(1u << (bm_scale_note(root, sc, d, 0) % 12)); + for (int k = 0; k < BM_KEYS; k++) { + int note = key_note(a, t, k), pc = (note + 120) % 12; + KL(K, k, bm_note_names[pc]); + K[k].led = pc == root ? LED_MID : ((pcs >> pc) & 1) ? LED_DIM : LED_OFF; + K[k].color = col; + K[k].live = note_in(note, nn, nl); } } -static void map_chords(const bm_app *a, bm_keyfn *K) +/* Las blancas de un canal de batería o de pads en PLAY/REC: los 16 instrumentos, como un selector */ +static void lane_whites(const bm_app *a, bm_keyfn *K, int t) { - static const uint16_t FN[3] = {C_BLUE, C_GREEN, C_ORANGE}; - const bm_meta *m = &a->pat.meta; - int root, sc = app_scale(a, bm_app_chord_track(a), &root); - for (int p = 0; p < 16; p++) { - bm_pad_chord pc = bm_chord_pad(m->chord_set, p); - char rn[10]; - bm_roman(root, sc, pc.degree, pc.ext, rn, sizeof rn); - rn[4] = 0; - KW(K, p, rn, p == a->last_pad ? LED_ON : LED_DIM, FN[bm_chord_function(pc.degree)]); - } - static const char *const MODS[4] = {"+7", "+9", "S2", "S4"}; - for (int b = 0; b < 4; b++) KB(K, b, MODS[b], (a->chord_mod >> b) & 1 ? LED_ON : LED_DIM, C_YELLOW); -} - + const bm_tr *tr = bm_trk_trc(&a->pat, t); + for (int w = 0; w < 16; w++) + KW(K, w, lane_short(a, t, w), lane_led(tr, w, tr_lane(a)), bm_track_color(t))->live = (uint8_t)(lane_has(tr, w) && lane_live(a, t, w)); +} + +/* PLAY/REC: las teclas tocan la máquina del cursor. Notas: las 27 cromáticas desde F. Batería y + * sampler: las blancas son los 16 instrumentos o pads. */ +static void map_sloop(const bm_app *a, bm_keyfn *K) +{ + int t = a->track; + if (app_kind(a, t) == KIND_NOTE) note_keys(a, K, t); else lane_whites(a, K, t); +} + +/* mode 0: acento · 1: repetir · 2: borrar. En acento y repetir los pasos con golpe quedan MID y los + * que tienen la marca ON (pedido del usuario 2026-10-21: antes los golpes sin marca iban apagados y + * no se veía dónde había sonido); vacíos apagados, sin el paso que suena. */ +static void map_steps(const bm_app *a, bm_keyfn *K, int mode) +{ + int t = a->track; + const bm_tr *tr = bm_trk_trc(&a->pat, t); + int lane = tr_lane(a); + for (int w = 0; w < 16; w++) { + int s = a->step_page * 16 + w; + const char *l = ""; + uint8_t led = LED_OFF; + if (s >= tr->lane[lane].len) { KW(K, w, "", LED_OFF, 0); continue; } + uint8_t v = tr->st[lane][s]; + if (v & ST_ON) { + int rat = (v & ST_FLAM) ? 4 : (v & ST_RAT_MASK) >> ST_RAT_SH; + if (mode == 0) { l = (v & ST_ACC) ? "A" : "-"; led = (v & ST_ACC) ? LED_ON : LED_MID; } + else if (mode == 1) { l = rat ? RAT_NAMES[rat] : "-"; led = rat ? LED_ON : LED_MID; } + else { l = "X"; led = LED_MID; } + } + if (mode == 2 && s == bm_app_track_step(a, t, lane)) led = LED_BLINK; + KW(K, w, l, led, mode == 0 ? C_WHITE : mode == 1 ? C_YELLOW : C_RED); + } +} + +/* Las blancas como los 16 instrumentos: con pasos MID, vacío OFF; en MUTE, el muteado DIM (y destella al sonar) */ +static void map_lanes(const bm_app *a, bm_keyfn *K, int t, int mute_mode) +{ + const bm_tr *tr = bm_trk_trc(&a->pat, t); + for (int w = 0; w < 16; w++) { + bool has = lane_has(tr, w), mute = (tr->mute >> w) & 1; + if (mute_mode) { /* MUTE: fijo; suena = fuerte, muteado = tenue (aunque no tenga golpes) */ + KW(K, w, lane_short(a, t, w), mute ? LED_DIM : has ? LED_ON : LED_OFF, bm_track_color(t)); + continue; + } + uint8_t led = has ? LED_MID : LED_OFF; + if (w == tr_lane(a)) led = LED_ON; + KW(K, w, lane_short(a, t, w), led, bm_track_color(t))->live = (uint8_t)(has && lane_live(a, t, w)); + } +} + +/* Navegación: las negras 1-8 son los instrumentos de la página de sonidos (la elegida ON) y 9/10 los compases */ +static void nav_blacks(const bm_app *a, bm_keyfn *K) +{ + int t = a->track, lane = tr_lane(a), bank = (lane / 8) * 8; + const bm_tr *tg = bm_trk_trc(&a->pat, t); + for (int i = 0; i < 8; i++) + KB(K, i, lane_short(a, t, bank + i), lane_led(tg, bank + i, lane), bm_track_color(t))->live = (uint8_t)(lane_has(tg, bank + i) && lane_live(a, t, bank + i)); + page_blacks(a, K); +} + +/* LFO, ENV, EDIT y SCL de la batería: las negras 1-8 son acceso rápido a los instrumentos de la + * página de sonidos, sin sonar (en SCL mutean, como su blanca); 10 y 11 = el compás anterior / + * siguiente; la 9 nada. */ +static void layer_blacks(const bm_app *a, bm_keyfn *K) +{ + int t = a->track, lane = tr_lane(a), bank = (lane / 8) * 8; + const bm_tr *tg = bm_trk_trc(&a->pat, t); + for (int i = 0; i < 8; i++) { + int l = bank + i; + if (a->layer == L_MUTE) { + bool has = lane_has(tg, l), mute = (tg->mute >> l) & 1; + KB(K, i, lane_short(a, t, l), mute ? LED_DIM : has ? LED_ON : LED_OFF, bm_track_color(t)); + } else KB(K, i, lane_short(a, t, l), lane_led(tg, l, lane), bm_track_color(t))->live = (uint8_t)(lane_has(tg, l) && lane_live(a, t, l)); + } + uint8_t led = step_pages(a) < 2 ? LED_DIM : LED_MID; + KB(K, 9, "<", led, C_WHITE); + KB(K, 10, ">", led, C_WHITE); +} + /* Las pistas del visor de cada capa: la línea 1 dice qué hacen teclas y perillas, la 2 empieza * siempre por cómo se sale. CONTROL = VERBO OBJETO, dos espacios entre pares, hasta 38 letras, los * controles con el nombre impreso en el equipo. */ void bm_app_keymap(const bm_app *a, bm_keyfn K[BM_KEYS], char *title, int cap, uint16_t *color, const char **h1, const char **h2) { memset(K, 0, sizeof(bm_keyfn) * BM_KEYS); - int t = a->track, kind = app_kind(a, t); - const bm_meta *m = &a->pat.meta; - char b[8]; + int t = a->track; *h1 = ""; *h2 = ""; *color = C_WHITE; title[0] = 0; - int L = a->layer; - switch (L) { - case L_HOME: - snprintf(title, (size_t)cap, "HOME"); - *h1 = "W1-10 PATTERN W11-16 GO TO MACHINE"; - *h2 = "EXIT: RELEASE HOME B1-6 MUTE"; - map_console(a, K); - return; - case L_LEN: { - snprintf(title, (size_t)cap, "LENGTH AND SPEED"); - *color = bm_track_color(t); - *h1 = "WHITE = SET LENGTH BLACK 11 = +16"; - *h2 = "EXIT: RELEASE SEQ BLACK 1-6 = SPEED"; - int len = bm_trk_len(&a->pat, t, kind == KIND_NOTE ? -1 : tr_lane(a)); - for (int w = 0; w < 16; w++) { - int v = a->len_page * 16 + w + 1; - snprintf(b, sizeof b, "%d", v); - KW(K, w, b, v == len ? LED_ON : (v < len ? LED_MID : LED_DIM), bm_track_color(t)); - } - static const char *const SP[SPD_COUNT] = {"X2", "3/2", "X1", "3/4", "1/2", "1/4"}; - for (int s = 0; s < SPD_COUNT; s++) KB(K, s, SP[s], a->pat.trk[t].speed == s ? LED_ON : LED_DIM, C_WHITE); - int spb = BM_BAR_TICKS / bm_speed_tps[a->pat.trk[t].speed % SPD_COUNT]; - for (int c = 1; c <= 4; c++) { snprintf(b, sizeof b, "%dBR", c); KB(K, 5 + c, b, len == c * spb ? LED_ON : LED_DIM, C_YELLOW); } - KB(K, 10, "+16", a->len_page ? LED_ON : LED_MID, C_WHITE); /* 1-16 > 17-32 > 33-48 > 49-64 */ - return; - } - case L_ERASE: { - bool con = console(a); - snprintf(title, (size_t)cap, "ERASE"); - *color = C_RED; - *h1 = app_playing(a) ? "HOLD WHITE = ERASE LIVE B6 = UNDO" - : kind == KIND_TR ? "WHITE = ERASE INSTRUMENT B6 = UNDO" : "WHITE = ERASE STEP BLACK 6 = UNDO"; - *h2 = con ? "EXIT: RELEASE EDIT B7-10 = CLR SCENE" : "EXIT: RELEASE EDIT BLACK 7 = REDO"; - if (kind == KIND_TR) map_lanes(a, K, t, a->erase_mask, LM_ERASE); - else { map_steps(a, K, 2); if (!con) page_blacks(a, K); } - KB(K, 0, "CPY", LED_DIM, C_WHITE); KB(K, 1, "PST", LED_DIM, C_WHITE); KB(K, 2, "CLR", LED_DIM, C_RED); - if (t == 1) KB(K, 3, "CAPT", LED_DIM, C_YELLOW); - KB(K, 5, "UND", a->undo_track >= 0 ? LED_MID : LED_OFF, C_WHITE); - if (con) /* EDIT sostenido + escena = vaciarla */ - for (int s = 0; s < BM_SCENES; s++) { - snprintf(b, sizeof b, "X%c", 'A' + s); - KB(K, 6 + s, b, (a->song.scene[s].flags & SCN_STORED) ? LED_MID : LED_OFF, C_CYAN); - } - else KB(K, 6, "RED", a->redo_track >= 0 ? LED_MID : LED_OFF, C_WHITE); - return; - } + switch (a->layer) { case L_ACC: - snprintf(title, (size_t)cap, "ACCENT"); - *h1 = kind == KIND_NOTE ? "WHITE = CYCLE ACCENT AND GHOST" : "WHITE = TOGGLE ACCENT"; - *h2 = "EXIT: RELEASE ENV BLACK 9/10 = PAGE"; + snprintf(title, (size_t)cap, "ACCENTS"); + *h1 = "WHITE = TOGGLE ACCENT K1 = AMOUNT"; + *h2 = "EXIT: LFO OR HOME BLACK = SOUND, BAR"; map_steps(a, K, 0); - page_blacks(a, K); + layer_blacks(a, K); return; case L_REP: - snprintf(title, (size_t)cap, kind == KIND_NOTE ? "TIE" : "REPEAT"); + snprintf(title, (size_t)cap, "REPEAT"); *color = C_YELLOW; - *h1 = kind == KIND_NOTE ? "WHITE = TIE TO NEXT NOTE K1 = GLIDE" : "WHITE = CYCLE X1-X4 AND FLAM"; - *h2 = a->layer_latch ? "EXIT: LFO OR HOME BLACK 9/10 = PAGE" : "EXIT: RELEASE LFO BLACK 9/10 = PAGE"; + *h1 = "WHITE = CYCLE X1-X4 AND FLAM"; + *h2 = a->layer_latch ? "EXIT: BLACK 11 OR HOME" : "EXIT: RELEASE BLACK 11"; map_steps(a, K, 1); - page_blacks(a, K); - return; - case L_PUNCH: - snprintf(title, (size_t)cap, "PUNCH-IN"); - *color = C_RED; - *h1 = "WHITE = PLAY EFFECT BLACK 1-6 = MUTE"; - *h2 = "EXIT: RELEASE FX"; - for (int w = 0; w < 16; w++) KW(K, w, PUNCH_NAMES[w], a->ctx.st.punch == w ? LED_ON : (a->ctx.arena_busy && w <= 6 ? LED_OFF : LED_DIM), C_YELLOW); - for (int i = 0; i < BM_TRACKS; i++) { - bool mute = a->pat.trk[i].mute != 0; - snprintf(b, sizeof b, "M%d", i + 1); - KB(K, i, b, mute ? LED_DIM : LED_MID, bm_track_color(i))->live = (uint8_t)(!mute && a->now < a->trig_until[i]); - } - return; - case L_CHORDS: - snprintf(title, (size_t)cap, "CHORDS"); - *color = C_GREEN; - *h1 = "WHITE = PLAY CHORD BLACK 1-4 = EXTEND"; - *h2 = "EXIT: RELEASE SCL"; - map_chords(a, K); + nav_blacks(a, K); + KB(K, 10, "RPT", LED_BREATH, C_YELLOW); return; - case L_ARP: case L_ROLL: - if (L == L_ROLL) { /* blancas: los 16 instrumentos o pads */ - static const char *const RT[BM_ROLL_RATES] = {"8", "16", "32", "8T", "16T", "32T"}; - snprintf(title, (size_t)cap, "ROLL"); - *color = bm_track_color(t); - *h1 = "HOLD WHITE = ROLL BLACK 1-6 = RATE"; - if (a->layer_latch) *h2 = a->rec ? "EXIT: ARP OR HOME REC IS RECORDING" : "EXIT: ARP OR HOME BLACK 11 = FILL"; - else *h2 = a->rec ? "EXIT: RELEASE ARP REC IS RECORDING" : "EXIT: RELEASE ARP BLACK 11 = FILL"; - map_lanes(a, K, t, a->roll_mask, LM_ROLL); - for (int r = 0; r < BM_ROLL_RATES; r++) KB(K, r, RT[r], a->roll_rate == r ? LED_ON : LED_DIM, C_WHITE); - KB(K, 6, "CRE", a->roll_ramp == 1 ? LED_ON : LED_DIM, C_CYAN); - KB(K, 7, "DEC", a->roll_ramp == 2 ? LED_ON : LED_DIM, C_CYAN); - KB(K, 10, "FIL", a->fill ? LED_ON : LED_DIM, C_ORANGE); - } else { - snprintf(title, (size_t)cap, "ARPEGGIO"); - *color = bm_track_color(t); - *h1 = "HOLD KEYS = ARPEGGIATE IN TEMPO"; - *h2 = "EXIT: RELEASE ARP"; - for (int k = 0; k < BM_KEYS; k++) { - int note = BM_KEY_BASE_NOTE + k + 12 * a->oct; - snprintf(K[k].label, sizeof K[k].label, "%s", bm_note_names[note % 12]); - K[k].led = LED_DIM; K[k].color = bm_track_color(t); - } - } + case L_HIT: + snprintf(title, (size_t)cap, "SOUND"); + *color = bm_track_color(t); + *h1 = "WHITE = PICK AND HEAR K1-K4 = THE HIT"; + *h2 = "EXIT: ENV OR HOME BLACK = SOUND, BAR"; + map_lanes(a, K, t, 0); + layer_blacks(a, K); return; - case L_COPY: - snprintf(title, (size_t)cap, "COPY PATTERN"); - *color = C_YELLOW; - *h1 = "WHITE = PASTE BLACK+WHITE = ONE TRACK"; - *h2 = "EXIT: RELEASE SAVE"; - for (int w = 0; w < BM_PATTERNS; w++) { - snprintf(b, sizeof b, "%02d", w + 1); - KW(K, w, b, w == a->ctx.st.pattern ? LED_ON : (bm_store_has(&a->store, (uint8_t)w) ? LED_MID : LED_DIM), C_YELLOW); - } - for (int i = 0; i < BM_TRACKS; i++) { - snprintf(b, sizeof b, "T%d", i + 1); - KB(K, i, b, LED_DIM, bm_track_color(i)); /* sostenida: ON (app_leds) */ - } + case L_INST: + snprintf(title, (size_t)cap, "INSTRUMENT"); + *color = bm_track_color(t); + *h1 = "ALGORITHM = THIS DRUM'S SOUND K1-K3"; + *h2 = "EXIT: EDIT OR HOME WHITE = PICK"; + map_lanes(a, K, t, 0); + layer_blacks(a, K); return; - case L_TONE: - snprintf(title, (size_t)cap, "TRANSPOSE"); - *color = C_CYAN; - *h1 = "KEYS = TRANSPOSE PROJECT K2 = OCTAVE"; - *h2 = "EXIT: RELEASE GLO PLAY = TAP TEMPO"; - for (int k = 0; k < BM_KEYS; k++) { - int off = k - 7; - snprintf(K[k].label, sizeof K[k].label, off > 0 ? "+%d" : "%d", off); /* el snprintf del SDK no tiene %+d */ - K[k].led = (24 + off == m->transpose) ? LED_ON : (off == 0 ? LED_MID : LED_DIM); - K[k].color = C_CYAN; + case L_LEN: { /* Slicer, SEQ otra vez (como la capa de antes) */ + snprintf(title, (size_t)cap, "LENGTH/SPEED"); + *color = bm_track_color(t); + char b[6]; + int len = bm_trk_len(&a->pat, t, tr_lane(a)); + for (int w = 0; w < 16; w++) { /* blancas: el largo del pad elegido */ + int v = a->len_page * 16 + w + 1; + snprintf(b, sizeof b, "%d", v); + KW(K, w, b, v == len ? LED_ON : (v < len ? LED_MID : LED_DIM), bm_track_color(t)); } - return; - case L_LANEMUTE: case L_FILL: { - bool fill = L == L_FILL; - snprintf(title, (size_t)cap, fill ? "FILL" : "MUTE INSTRUMENTS"); - *color = fill ? C_ORANGE : bm_track_color(t); - if (fill) { - *h1 = "WHITE = MAKE NOTE FILL-ONLY"; - *h2 = a->layer_latch ? "EXIT: BLACK 11 OR HOME" : "EXIT: RELEASE BLACK 11"; - map_steps(a, K, 3); - page_blacks(a, K); - } else { - *h1 = "WHITE = TOGGLE MUTE BLACK 1-8 = PLAY"; - *h2 = "EXIT: RELEASE BLACK 11"; - map_lanes(a, K, t, 0, LM_MUTE); - if (kind == KIND_TR) tr_blacks(a, K, t, false); /* las negras siguen eligiendo instrumento */ + static const char *const SP[SPD_COUNT] = {"X2", "3/2", "X1", "3/4", "1/2", "1/4"}; + for (int s = 0; s < SPD_COUNT; s++) KB(K, s, SP[s], a->pat.trk[t].speed == s ? LED_ON : LED_DIM, C_WHITE); /* negras 1-6: la velocidad */ + int spb = BM_BAR_TICKS / bm_speed_tps[a->pat.trk[t].speed % SPD_COUNT]; + for (int c = 1; c <= 4; c++) { /* negras 7-10: 1 a 4 compases */ + snprintf(b, sizeof b, "%dBR", c); + KB(K, 5 + c, b, c * spb > BM_STEPS ? LED_OFF : len == c * spb ? LED_ON : LED_DIM, C_YELLOW); } - KB(K, 10, "X", LED_BREATH, fill ? C_ORANGE : C_RED); /* sostenida: ON (app_leds) */ + KB(K, 10, "+16", a->len_page ? LED_ON : LED_MID, C_WHITE); /* 1-16 > 17-32 > 33-48 > 49-64 */ return; } + case L_MUTE: + snprintf(title, (size_t)cap, "MUTE SOUNDS"); + *color = C_RED; + *h1 = "WHITE = MUTE OR PLAY THAT SOUND"; + *h2 = "EXIT: SCL OR HOME BLACK = SOUND, BAR"; + map_lanes(a, K, t, 1); + layer_blacks(a, K); + return; default: break; } - if (a->view == V_CH && a->page == PG_CHORDS) map_chords(a, K); } -/* ------------------------------------------------------------ notas y grabación en vivo */ -static void rec_syn(bm_app *a, int k, int t, const uint8_t *notes, int n) +/* ------------------------------------------------------------ grabación en vivo */ +static void rec_syn(bm_app *a, int k, int t, const uint8_t *notes, int n) { app_rec_at(a, k, t, notes, n, a->ctx.st.rtick); } + +void app_rec_at(bm_app *a, int k, int t, const uint8_t *notes, int n, uint32_t rt) { int tps = bm_speed_tps[a->pat.trk[t].speed % SPD_COUNT]; int len = a->pat.trk[t].length ? a->pat.trk[t].length : 16; - uint32_t rt = a->ctx.st.rtick; uint32_t q = (rt + (uint32_t)tps / 2) / (uint32_t)tps; + int master = bm_master_steps(&a->pat.meta) * BM_TICKS_STEP; + if (master) q %= ((uint32_t)master + (uint32_t)tps - 1u) / (uint32_t)tps; /* pasado el final del maestro: el 0 */ int s = (int)(q % (uint32_t)len); int micro = bm_clampi((int)(rt - q * (uint32_t)tps), -11, 11); /* lo que se adelantó o se atrasó */ if (micro > -3 && micro < 3) micro = 0; /* lo que está casi en el paso, en el paso */ + micro = micro * (a->pat.trk[t].qfree & 3) / 4; /* QUANT (GLO): 100 % = justo en el paso */ a->key_rec_step[k] = (int8_t)s; + uint32_t bt = a->ctx.st.playing ? a->ctx.st.btick : 0; /* REC armado: todavía no arrancó, empieza en 0 */ a->key_rec_tick[k] = rt; + a->key_rec_bt[k] = bt; a->key_rec_slot[k] = -1; a->rec_steps |= 1ull << s; /* esta pasada: se ve en rojo */ + uint8_t busy = 0; /* las casillas de las teclas que siguen apretadas */ + for (int k2 = 0; k2 < BM_KEYS; k2++) + if (k2 != k && a->keys_down[k2] && a->key_trk[k2] == t && a->key_rec_step[k2] >= 0 && a->key_rec_slot[k2] >= 0) + busy |= (uint8_t)(1u << a->key_rec_slot[k2]); + /* Reescribe: lo que había en el paso se borra la primera vez que lo tocas en esta vuelta; lo que + * tocas otra vez en la misma vuelta (un acorde) se suma. Lo que no tocas sigue como estaba. */ + uint8_t gone = 0; + uint32_t loop = (uint32_t)len * (uint32_t)tps; + uint32_t same = loop > (uint32_t)tps ? loop - (uint32_t)tps : (uint32_t)tps / 2u; + if (a->rec_clr_trk != t) { a->rec_clr_on = 0; a->rec_clr_trk = (int8_t)t; } + if (!((a->rec_clr_on >> s) & 1u) || bt - a->rec_clr_bt[s] >= same) { + bm_event z; + bm_event_clear(&z); + for (int e = 0; e < BM_EVENTS; e++) + if (!((busy >> e) & 1u) && !bm_event_empty(bm_evc(&a->pat, t, s, e))) { app_push_ev(a, t, s, e, &z); gone |= (uint8_t)(1u << e); } + } + a->rec_clr_bt[s] = bt; a->rec_clr_on |= 1ull << s; for (int i = 0; i < n; i++) { int slot = -1; for (int e = 0; e < BM_EVENTS; e++) { const bm_event *ev = bm_evc(&a->pat, t, s, e); - if (!bm_event_empty(ev) && ev->note == notes[i]) { slot = e; break; } - if (slot < 0 && bm_event_empty(ev)) slot = e; + bool empty = ((gone >> e) & 1u) || bm_event_empty(ev); /* (lo borrado recién: la cola todavía no lo aplicó) */ + if (!empty && ev->note == notes[i]) { slot = e; break; } + if (slot < 0 && empty && !((busy >> e) & 1u)) slot = e; /* (su gate cortaría a la otra) */ } + if (slot >= 0) gone &= (uint8_t)~(1u << slot); if (slot < 0) continue; bm_event ev; bm_event_clear(&ev); ev.note = notes[i]; ev.len = 1; ev.micro = (int8_t)micro; + if (a->rec_vel >= 127) ev.vel = BM_VEL_ACC; /* BB-303: LFO sostenido */ app_push_ev(a, t, s, slot, &ev); if (a->key_rec_slot[k] < 0) a->key_rec_slot[k] = (int8_t)slot; } @@ -1190,26 +577,26 @@ static int quant_step(const bm_app *a, int t, int len) return (int)(((a->ctx.st.rtick + (uint32_t)tps / 2) / (uint32_t)tps) % (uint32_t)(len ? len : 16)); } -/* un golpe grabado (en SLOOP con ACC sostenida, con acento) */ +/* un golpe grabado: sobrescribe el paso (se suma a lo que ya estaba) */ static void rec_tr(bm_app *a, int t, int lane) { const bm_tr *tr = bm_trk_trc(&a->pat, t); int s = quant_step(a, t, tr->lane[lane].len); - uint8_t acc = a->sloop && a->keys_down[bm_black_key(0)] ? ST_ACC : 0; - app_push_i(a, CMD_SET_TRSTEP, (uint8_t)t, (uint8_t)lane, (uint8_t)s, (uint8_t)(tr->st[lane][s] | ST_ON | acc)); + uint8_t v = (uint8_t)(tr->st[lane][s] | ST_ON); + if (bm_gesture_is_down(&a->ges, BTN_OCT_UP)) v |= ST_ACC; /* OCT+ sostenido: golpe fuerte = acento */ + else if (bm_gesture_is_down(&a->ges, BTN_OCT_DN)) v &= (uint8_t)~ST_ACC; /* OCT- sostenido: suave */ + app_push_i(a, CMD_SET_TRSTEP, (uint8_t)t, (uint8_t)lane, (uint8_t)s, v); a->rec_steps |= 1ull << s; a->rec_lanes |= (uint16_t)(1u << (lane & 15)); app_edited(a); } -static void play_notes(bm_app *a, int k, int t, const uint8_t *notes, int n, int vel, int strum) +static void play_notes(bm_app *a, int k, int t, const uint8_t *notes, int n, int vel); +void app_play_notes(bm_app *a, int k, int t, const uint8_t *notes, int n, int vel) { play_notes(a, k, t, notes, n, vel); } + +static void play_notes(bm_app *a, int k, int t, const uint8_t *notes, int n, int vel) { - if (strum && n > 1) { - int32_t packed = 0; - for (int i = 0; i < n && i < 4; i++) packed |= (int32_t)notes[i] << (8 * i); - app_push_i(a, CMD_STRUM, (uint8_t)t, (uint8_t)n, (uint8_t)vel, packed); - } else { - for (int i = 0; i < n; i++) app_push(a, CMD_NOTE_ON, (uint8_t)t, notes[i], (uint8_t)vel); - } + for (int i = 0; i < n; i++) app_push(a, CMD_NOTE_ON, (uint8_t)t, notes[i], (uint8_t)vel); + a->rec_vel = (uint8_t)vel; memcpy(a->key_notes[k], notes, (size_t)n); a->key_nn[k] = (uint8_t)n; a->key_trk[k] = (uint8_t)t; @@ -1217,708 +604,93 @@ static void play_notes(bm_app *a, int k, int t, const uint8_t *notes, int n, int a->key_rec_step[k] = -1; if (a->rec && app_playing(a) && !seq_page(a)) { if (bm_is_grid(&a->pat, t)) rec_tr(a, t, notes[0] & 15); - else if (a->ctx.st.loop_mode[t - 2] == LOOP_OFF) rec_syn(a, k, t, notes, n); - } -} - -static int chord_ext(const bm_app *a, int base) -{ - if (a->chord_mod & 1) return 1; - if (a->chord_mod & 2) return 2; - if (a->chord_mod & 4) return 3; - if (a->chord_mod & 8) return 4; - return base; -} - -static void play_pad(bm_app *a, int k, int pad) -{ - const bm_meta *m = &a->pat.meta; - int t = bm_app_chord_track(a), root, sc = app_scale(a, t, &root); - bm_pad_chord pc = bm_chord_pad(m->chord_set, pad); - int ext = chord_ext(a, pc.ext); - uint8_t notes[4]; - int n = bm_chord_notes(root, sc, pc.degree, ext, m->chord_oct + a->oct, notes); - if (m->chord_voicing == 1 && n >= 3) notes[1] = (uint8_t)bm_clampi(notes[1] + 12, 0, 127); - if (m->chord_voicing == 2 && a->prev_chord_n) { /* conducción de voces */ - int avg = 0; - for (int i = 0; i < a->prev_chord_n; i++) avg += a->prev_chord[i]; - avg /= a->prev_chord_n; - for (int i = 0; i < n; i++) { - while (notes[i] - avg > 6 && notes[i] >= 12) notes[i] -= 12; - while (avg - notes[i] > 6 && notes[i] <= 115) notes[i] += 12; - } - } - memcpy(a->prev_chord, notes, (size_t)n); - a->prev_chord_n = (uint8_t)n; - bm_chord_name(root, sc, pc.degree, ext, a->chord_name, sizeof a->chord_name); - bm_roman(root, sc, pc.degree, ext, a->chord_roman, sizeof a->chord_roman); - a->last_pad = (int8_t)pad; - play_notes(a, k, t, notes, n, 95, 1); -} - -/* las máquinas de bajo (BB-303 y B-MINI) tocan una octava más abajo, en el canal que estén */ -static int bass_machine(const bm_app *a, int t) { int e = app_engine(a, t); return e == ENG_ACID || e == ENG_MINI; } -static int base_oct(const bm_app *a, int t) { return (bass_machine(a, t) ? 2 : 3) + a->oct; } - -/* Tocar el instrumento del canal con una tecla (páginas que no son SEQ). */ -static void play_key_down(bm_app *a, int k, int w, int b) -{ - int t = a->track, kind = app_kind(a, t); - const bm_meta *m = &a->pat.meta; - if (kind == KIND_TR) { - if (w >= 0) { - uint8_t n = (uint8_t)w; - a->sel_lane[t] = (uint8_t)w; - play_notes(a, k, t, &n, 1, 110, 0); - } - return; - } - int root, sc = app_scale(a, t, &root); - if ((a->view == V_CH && a->page == PG_SCL) || m->scale_lock) { - if (w >= 0) { - uint8_t n = (uint8_t)bm_scale_note(root, sc, w, base_oct(a, t)); - play_notes(a, k, t, &n, 1, 105, 0); - } else if (b < 7) { - uint8_t notes[4]; - int ext = chord_ext(a, m->voicing % 5); - int n = bm_chord_notes(root, sc, b, ext, base_oct(a, t), notes); - bm_chord_name(root, sc, b, ext, a->chord_name, sizeof a->chord_name); - bm_roman(root, sc, b, ext, a->chord_roman, sizeof a->chord_roman); - play_notes(a, k, t, notes, n, 95, 1); - } else { a->chord_mod |= (uint8_t)(1u << (b - 7)); a->key_role[k] = ROLE_CMOD; } - return; - } - int note = BM_KEY_BASE_NOTE + k + 12 * a->oct - (bass_machine(a, t) ? 12 : 0); - uint8_t n = (uint8_t)bm_clampi(note, 0, 127); - play_notes(a, k, t, &n, 1, 105, 0); -} - -/* ------------------------------------------------------------ SEQ: pasos */ -static void seq_step_down(bm_app *a, int w) -{ - int t = a->track, kind = app_kind(a, t); - if (a->held_white >= 0) { /* notas: blanca sostenida + otra = una nota larga */ - int s2 = a->step_page * BM_PAGE_STEPS + w, s = a->held_step; - if (kind != KIND_NOTE || s < 0 || s2 <= s) return; - int l = s2 - s + 1; - for (int e = 0; e < BM_EVENTS; e++) { - bm_event ev = *bm_evc(&a->pat, t, s, e); - if (bm_event_empty(&ev)) continue; - ev.len = (uint8_t)l; ev.gate = 0; - app_push_ev(a, t, s, e, &ev); - } - a->held_edit = 1; - app_edited(a); - char b[24]; snprintf(b, sizeof b, TF("LONG NOTE: %d STEPS"), l); - app_toast(a, b); - return; - } - int s = a->step_page * BM_PAGE_STEPS + w; - int len = bm_trk_len(&a->pat, t, kind == KIND_NOTE ? -1 : tr_lane(a)); - if (s >= len) { app_toast(a, "OUTSIDE THE LENGTH"); return; } - app_undo_snapshot(a, t); - a->held_white = (int8_t)w; a->held_step = (int8_t)s; - a->held_long = 0; a->held_edit = 0; a->held_notes = 0; a->step_t0 = a->now; - if (kind == KIND_TR) { - int lane = tr_lane(a); - a->held_had_event = (bm_trk_trc(&a->pat, t)->st[lane][s] & ST_ON) != 0; - if (!a->held_had_event) { app_push_i(a, CMD_SET_TRSTEP, (uint8_t)t, (uint8_t)lane, (uint8_t)s, ST_ON); app_edited(a); } - return; - } - int idx[4]; - int n = syn_step_events(a, t, s, idx); - a->held_had_event = n > 0; - if (!n) { - bm_event e; bm_event_clear(&e); - e.note = a->last_note[t]; - app_push_ev(a, t, s, 0, &e); - app_edited(a); - } -} - -static void seq_step_up(bm_app *a, int w) -{ - if (w != a->held_white) return; - int t = a->track, s = a->held_step; - if (s >= 0 && a->held_had_event && !a->held_long && !a->held_edit) { - if (bm_is_grid(&a->pat, t)) { app_push_i(a, CMD_SET_TRSTEP, (uint8_t)t, (uint8_t)tr_lane(a), (uint8_t)s, 0); app_edited(a); } - else { - bm_event e; bm_event_clear(&e); - for (int k = 0; k < BM_EVENTS; k++) app_push_ev(a, t, s, k, &e); - app_edited(a); - } - } - a->held_white = -1; a->held_step = -1; a->held_long = 0; a->held_edit = 0; -} - -/* nota en el paso sostenido (negras 1-8 = grados de la escala) */ -static void step_note(bm_app *a, int note) -{ - int t = a->track, s = a->held_step; - int idx[4], n = syn_step_events(a, t, s, idx); - a->held_edit = 1; - for (int j = 0; j < n; j++) - if (bm_evc(&a->pat, t, s, idx[j])->note == note && (a->held_had_event || a->held_notes)) { /* ya estaba: se quita */ - bm_event e; bm_event_clear(&e); - app_push_ev(a, t, s, idx[j], &e); app_edited(a); - return; - } - int slot = -1; - if (!a->held_had_event && !a->held_notes) slot = n ? idx[0] : 0; /* el primero reemplaza la nota de relleno */ - else for (int e = 0; e < BM_EVENTS && slot < 0; e++) if (bm_event_empty(bm_evc(&a->pat, t, s, e))) slot = e; - if (slot < 0) { app_toast(a, "4 NOTES PER STEP"); return; } - bm_event e; - if (n) e = *bm_evc(&a->pat, t, s, idx[0]); else bm_event_clear(&e); - e.note = (uint8_t)note; - app_push_ev(a, t, s, slot, &e); - a->held_notes++; - a->last_note[t] = (uint8_t)note; - app_edited(a); -} - -/* ------------------------------------------------------------ negra 11: FILL (notas) y MUTE (batería, pads) - * Notas: un toque deja abierta la pantalla de FILL (se cierra con la misma tecla o con HOME); - * mantenerla = solo mientras la sostienes; el fill suena mientras está abierta. Batería y pads (0.9): - * un toque cambia de banco (HI/LO) y sostenerla abre MUTE de instrumentos mientras la sostienes. */ -static void enc_fill_every(bm_app *a, int d); - -static void key_screen_open(bm_app *a, int k, int L) -{ - a->layer = (uint8_t)L; - a->layer_latch = 1; - a->ov.on = 0; - a->key_role[k] = L == L_FILL ? ROLE_FILLK : ROLE_LMUTE; - a->key_t0[k] = a->now; - if (L == L_FILL) { app_push(a, CMD_FILL, 1, 0, 0); a->fill = 1; } -} - -static void hilo(bm_app *a) /* batería y pads: el otro banco de 8 */ -{ - int t = a->track; - a->sel_lane[t] = (uint8_t)((tr_lane(a) + 8) % 16); - app_toast(a, bm_is_pads(t) ? (tr_lane(a) < 8 ? "PADS 1-8" : "PADS 9-16") : tr_lane(a) < 8 ? "INSTRUMENTS 1-8" : "INSTRUMENTS 9-16"); -} - -/* ------------------------------------------------------------ ROLL: ARP en las rejillas (T1, T2) - * Como el ROLL de una TR-8: un toque de ARP deja la pantalla abierta (se cierra con ARP o HOME), - * sostener ARP = solo mientras lo sostienes. Blanca sostenida = ese instrumento o pad se repite; - * negras 1-6 la velocidad, 7/8 CRESC/DECRESC, 11 el fill mientras la sostienes. Todo en vivo: no se - * guarda. Con REC el roll se graba como pasos con repetición (y la rampa, como acentos). */ -static void roll_cfg_send(bm_app *a) -{ - app_push_i(a, CMD_ROLL_CFG, a->roll_ramp, a->roll_swing, bm_roll_tail_ticks[a->roll_tail & 3], bm_roll_len_ticks[a->roll_len & 3]); -} - -static void roll_stop(bm_app *a) /* las blancas sueltan (sigue la cola) */ -{ - for (int l = 0; l < BM_LANES; l++) if (a->roll_mask & (1u << l)) app_push_i(a, CMD_ROLL, a->track, (uint8_t)l, 0, 0); - a->roll_mask = 0; -} - -static void roll_set_rate(bm_app *a, int r) -{ - a->roll_rate = (uint8_t)bm_clampi(r, 0, BM_ROLL_RATES - 1); - app_overlay(a, 0, "ROLL RATE", bm_roll_names[a->roll_rate], "", a->roll_rate * 51, -1, bm_knob_color(0)); - for (int l = 0; l < BM_LANES; l++) if (a->roll_mask & (1u << l)) app_push_i(a, CMD_ROLL, a->track, (uint8_t)l, 1, bm_roll_ticks[a->roll_rate]); -} - -static void roll_open(bm_app *a) -{ - if (a->view != V_CH) app_enter(a, a->track, a->ch_page[a->track]); /* la máquina, entera */ - a->layer = L_ROLL; - a->layer_latch = 1; - a->ov.on = 0; - a->roll_mask = 0; - roll_cfg_send(a); -} - -static void key_screen_close(bm_app *a) -{ - if (a->layer == L_FILL) { app_push(a, CMD_FILL, 0, 0, 0); a->fill = 0; } - if (a->layer == L_FILL || a->layer == L_LANEMUTE || (a->layer_latch && a->layer == L_REP)) a->layer = L_NONE; - if (a->layer == L_ROLL && a->layer_latch) { roll_stop(a); a->layer = L_NONE; } - a->layer_latch = 0; -} - -/* LFO en una máquina sin página de LFO (BR-8, BP-1, BB-303, MIDI): un toque deja abierta su - * capa de mantener (REPETIR en las de pasos, LIGAR en las de notas) hasta LFO otra vez o HOME. */ -static bool lfo_has_page(const bm_app *a, int t) -{ - return app_kind(a, t) == KIND_NOTE && !app_midi(a, t) && bm_engine_page_of(app_engine(a, t), EPG_LFO) >= 0; -} - -static void lfo_latch(bm_app *a) -{ - if (a->layer) return; /* nunca dos capas a la vez */ - if (a->view != V_CH) app_enter(a, a->track, a->ch_page[a->track]); /* la capa es de la máquina */ - a->layer = L_REP; - a->layer_latch = 1; - a->ov.on = 0; -} - -/* FILL: la blanca deja ese golpe (o esa nota) solo para el fill, u otra vez como siempre */ -static void paint_fill(bm_app *a, int w) -{ - int t = a->track, s = a->step_page * 16 + w, kind = app_kind(a, t); - app_undo_snapshot(a, t); - if (kind == KIND_NOTE) { - if (s >= a->pat.trk[t].length) return; - int idx[4], n = syn_step_events(a, t, s, idx); - if (!n) { app_toast(a, "STEP HAS NO NOTES: WRITE THEM IN SEQ"); return; } - int fill = bm_evc(&a->pat, t, s, idx[0])->prob != BM_PROB_FILL; - for (int j = 0; j < n; j++) { - bm_event e = *bm_evc(&a->pat, t, s, idx[j]); - e.prob = fill ? BM_PROB_FILL : 100; - app_push_ev(a, t, s, idx[j], &e); - } - app_toast(a, fill ? "ONLY IN THE FILL" : "ALWAYS PLAYS"); - app_edited(a); - return; - } - const bm_tr *tr = bm_trk_trc(&a->pat, t); - int lane = tr_lane(a); - if (s >= tr->lane[lane].len) return; - uint8_t v = tr->st[lane][s]; - int cond = (v & ST_COND_MASK) >> ST_COND_SH; - if (!(v & ST_ON)) v = (uint8_t)(ST_ON | (1u << ST_COND_SH)); /* vacío: golpe solo en el fill */ - else if (cond == 1) v = 0; /* ya era del fill: se borra */ - else v = (uint8_t)((v & ~ST_COND_MASK) | (1u << ST_COND_SH)); /* golpe normal: pasa al fill */ - app_push_i(a, CMD_SET_TRSTEP, (uint8_t)t, (uint8_t)lane, (uint8_t)s, v); - app_edited(a); -} - -/* ------------------------------------------------------------ capas: pasos pintados */ -static void paint_accent(bm_app *a, int w) -{ - int t = a->track, s = a->step_page * 16 + w, kind = app_kind(a, t); - app_undo_snapshot(a, t); - if (kind == KIND_NOTE) { - if (s >= a->pat.trk[t].length) return; - int idx[4], n = syn_step_events(a, t, s, idx); - if (!n) { bm_event e; bm_event_clear(&e); e.note = a->last_note[t]; e.vel = BM_VEL_ACC; app_push_ev(a, t, s, 0, &e); app_edited(a); return; } - for (int j = 0; j < n; j++) { - bm_event e = *bm_evc(&a->pat, t, s, idx[j]); - e.vel = e.vel >= BM_VEL_ACC ? BM_VEL_GHOST : e.vel <= BM_VEL_GHOST ? BM_VEL_NORMAL : BM_VEL_ACC; - app_push_ev(a, t, s, idx[j], &e); - } - app_edited(a); - return; - } - const bm_tr *tr = bm_trk_trc(&a->pat, t); - int lane = tr_lane(a); - if (s >= tr->lane[lane].len) return; - uint8_t v = tr->st[lane][s]; - app_push_i(a, CMD_SET_TRSTEP, (uint8_t)t, (uint8_t)lane, (uint8_t)s, (v & ST_ON) ? (v ^ ST_ACC) : (ST_ON | ST_ACC)); - app_edited(a); -} - -static void paint_repeat(bm_app *a, int w) -{ - int t = a->track, s = a->step_page * 16 + w, kind = app_kind(a, t); - app_undo_snapshot(a, t); - if (kind == KIND_NOTE) { - if (s >= a->pat.trk[t].length) return; - int idx[4], n = syn_step_events(a, t, s, idx); - for (int j = 0; j < n; j++) { - bm_event e = *bm_evc(&a->pat, t, s, idx[j]); - e.len = (e.len & BM_LEN_TIE) ? (uint8_t)(e.len & BM_LEN_MASK) : (uint8_t)(e.len | BM_LEN_TIE); - app_push_ev(a, t, s, idx[j], &e); - } - if (n) app_edited(a); - return; - } - const bm_tr *tr = bm_trk_trc(&a->pat, t); - int lane = tr_lane(a); - if (s >= tr->lane[lane].len) return; - uint8_t v = tr->st[lane][s]; - int ln = lane; - if (!(v & ST_ON)) v = ST_ON; - int r = (v & ST_FLAM) ? 4 : (v & ST_RAT_MASK) >> ST_RAT_SH; - r = (r + 1) % 5; - v = (uint8_t)(v & ~(ST_RAT_MASK | ST_FLAM)); - if (r == 4) v |= ST_FLAM; else v |= (uint8_t)(r << ST_RAT_SH); - app_push_i(a, CMD_SET_TRSTEP, (uint8_t)t, (uint8_t)ln, (uint8_t)s, v); - app_edited(a); -} - -static void set_len(bm_app *a, int t, int len) -{ - len = bm_clampi(len, 1, BM_STEPS); - if (bm_is_grid(&a->pat, t)) { for (int l = 0; l < BM_LANES; l++) app_push_i(a, CMD_SET_LANE, (uint8_t)t, (uint8_t)l, 0, len); app_edited(a); } - else app_set_track(a, t, TRK_OFF(length), len); - char b[24]; snprintf(b, sizeof b, TF("T%d LENGTH %d"), t + 1, len); - app_toast(a, b); -} - -/* El sampler: CAPT escribe en la rejilla lo que BREAK está haciendo en este compás (el pad que - * cambió, las repeticiones y los silencios). La reversa y la media velocidad no se guardan. */ -static void capture(bm_app *a) -{ - const bm_tr *tr = &a->pat.tr[1]; - const bm_ctx *c = &a->ctx; - app_undo_snapshot(a, 1); - uint32_t blk = c->st.gen_blk; - int n = 0; - for (int k = 0; k < 16; k++) { - uint8_t sub = c->gen_sl[k], fx = c->gen_fx[k]; - if (sub == 0xFF && !(fx & (GEN_RT_MASK | GEN_SKIP))) continue; - uint32_t at = blk * 16u + (uint32_t)k; - uint8_t keep = 0; - int first = -1; - for (int l = 0; l < BM_LANES; l++) { - int len = tr->lane[l].len ? tr->lane[l].len : 16, s = (int)(at % (uint32_t)len); - if (!(tr->st[l][s] & ST_ON)) continue; - if (first < 0) { first = l; keep = tr->st[l][s]; } - if (sub != 0xFF || (fx & GEN_SKIP)) app_push_i(a, CMD_SET_TRSTEP, 1, (uint8_t)l, (uint8_t)s, 0); - } - if (first < 0 || (fx & GEN_SKIP)) { n += first >= 0; continue; } - int l = sub != 0xFF ? sub : first; - int len = tr->lane[l].len ? tr->lane[l].len : 16, s = (int)(at % (uint32_t)len); - uint8_t v = (uint8_t)((keep & ~(ST_RAT_MASK | ST_FLAM | ST_LOCK)) | ST_ON); - int rt = fx & GEN_RT_MASK; - if (rt >= 1 && rt <= 3) v |= (uint8_t)(rt << ST_RAT_SH); - app_push_i(a, CMD_SET_TRSTEP, 1, (uint8_t)l, (uint8_t)s, v); - n++; - } - app_edited(a); - char b[30]; snprintf(b, sizeof b, TF("CAPTURED: %d STEPS"), n); - app_toast(a, b); -} - -/* ------------------------------------------------------------ PADS (T2) */ -static const char *const PAD_MODE_N[PAD_MODES] = {"ONESHOT", "KEY", "THRU", "LOOP"}; -const char *bm_pad_mode_name(int mode) { return PAD_MODE_N[(unsigned)mode % PAD_MODES]; } - -static uint32_t snap_len(const bm_app *a, const bm_take *tk) -{ - uint32_t bpm = tk->bpm_x10 ? tk->bpm_x10 : a->pat.meta.bpm_x10; - uint32_t eighth = (uint32_t)BM_SMP_RATE * 300u / bpm; /* muestras por corchea */ - return a->cut_snap == 1 ? eighth / 2 : a->cut_snap == 2 ? eighth : 0; -} - -static uint32_t snap_to(const bm_app *a, const bm_take *tk, uint32_t pos) -{ - uint32_t step = snap_len(a, tk); - return step ? ((pos + step / 2) / step) * step : pos; -} - -/* la ganancia, el BPM o los compases de una toma cambiaron */ -static void take_changed(bm_app *a, int id) -{ - a->take_dirty |= (uint8_t)(1u << id); - a->t_edit = a->now; - app_send_takes(a); -} - -static const bm_take *pad_take(const bm_app *a, const bm_pad *p) -{ - return p->src < BM_TAKES && a->take[p->src].valid ? &a->take[p->src] : NULL; -} - -/* Una tecla toca un pad: sostenida, según su modo (ONESHOT, KEY, THRU, LOOP). Con REC sonando, - * el golpe queda en la línea del pad. */ -static void pad_down(bm_app *a, int k, int pad) -{ - a->key_role[k] = ROLE_PAD; - a->pad_key = (int8_t)k; - a->sel_lane[1] = (uint8_t)pad; - app_push(a, CMD_PAD_KEY, 1, (uint8_t)pad, a->sloop && a->keys_down[bm_black_key(0)] ? 127 : 110); /* SLOOP: ACC */ - if (a->rec && app_playing(a)) rec_tr(a, 1, pad); -} - -/* Escuchar un trozo de una toma (TAKES): sostenido sigue por la toma. */ -static void preview_down(bm_app *a, int k, int src, uint32_t start, uint32_t len) -{ - a->key_role[k] = ROLE_PREVIEW; - a->pad_key = (int8_t)k; - app_push_i(a, CMD_SMP_PREVIEW, 1, (uint8_t)src, 0, (int32_t)(start | len << 16)); -} - -static void pad_toast(bm_app *a, const char *fmt) -{ - char b[30]; snprintf(b, sizeof b, fmt, a->sel_lane[1] % 16 + 1); - app_toast(a, b); -} - -/* N1-N4 de PADS: copiar, pegar, vaciar, y el inicio al golpe más cercano */ -static void pad_copy(bm_app *a) -{ - int l = a->sel_lane[1] & 15; - a->pad_clip = a->pat.pad[l]; - a->pad_clip_level = a->pat.tr[1].lane[l].level; a->pad_clip_choke = a->pat.tr[1].lane[l].choke; - a->pad_clip_on = 1; - pad_toast(a, TF("PAD %d COPIED")); -} - -static void pad_paste(bm_app *a) -{ - if (!a->pad_clip_on) { app_toast(a, "NOTHING TO PASTE HERE"); return; } - int l = a->sel_lane[1] & 15; - a->pat.pad[l] = a->pad_clip; - app_push_i(a, CMD_SET_LANE, 1, (uint8_t)l, 1, a->pad_clip_level); - app_push_i(a, CMD_SET_LANE, 1, (uint8_t)l, 7, a->pad_clip_choke); - app_edited(a); - pad_toast(a, TF("PASTED ON PAD %d")); -} - -static void pad_clear(bm_app *a) -{ - bm_pad_clear(app_pad(a)); - app_edited(a); - pad_toast(a, TF("PAD %d EMPTY")); -} - -static void pad_hit(bm_app *a) -{ - bm_pad *p = app_pad(a); - const bm_take *tk = pad_take(a, p); - if (!tk) { app_toast(a, "EMPTY PAD: TAKES > PAD"); return; } - uint32_t m[BM_SLICES], bpm = tk->bpm_x10 ? tk->bpm_x10 : a->pat.meta.bpm_x10; - int n = bm_slice_onsets(tk->data, tk->len, (uint32_t)BM_SMP_RATE * 75u / bpm, 127, m); - uint32_t best = p->start, d = 0xFFFFFFFFu, end = (uint32_t)p->start + p->len; - for (int i = 0; i < n; i++) { - uint32_t x = m[i] > p->start ? m[i] - p->start : p->start - m[i]; - if (x < d && m[i] + 64 < end) { d = x; best = m[i]; } - } - p->start = (uint16_t)best; p->len = (uint16_t)(end - best); - app_edited(a); - app_toast(a, "START ON THE HIT"); -} - -/* K de la página TRIM: mueve el inicio (el final queda) o el largo. Sin SNAP, dos columnas de la - * ventana por paso; con SNAP, de rejilla en rejilla. */ -static void pad_trim(bm_app *a, int which, int d) -{ - bm_pad *p = app_pad(a); - const bm_take *tk = pad_take(a, p); - if (!tk) { app_toast(a, "EMPTY PAD: TAKES > PAD"); return; } - uint32_t step = snap_len(a, tk), span = a->cut_v1 > a->cut_v0 ? a->cut_v1 - a->cut_v0 : tk->len; - int32_t px = (int32_t)(span / 116u); - if (px < 8) px = 8; - int32_t end = (int32_t)p->start + p->len; - if (which == 0) { - int32_t s = (int32_t)p->start; - s = step ? (int32_t)snap_to(a, tk, (uint32_t)s) + lst(a, d) * (int32_t)step : s + d * px; - s = bm_clampi(s, 0, end - 64); - p->start = (uint16_t)s; p->len = (uint16_t)(end - s); - } else { - int32_t e = step ? (int32_t)snap_to(a, tk, (uint32_t)end) + lst(a, d) * (int32_t)step : end + d * px; - e = bm_clampi(e, (int32_t)p->start + 64, (int32_t)tk->len); - p->len = (uint16_t)(e - (int32_t)p->start); - } - app_edited(a); -} - -static void pad_sound(bm_app *a, int k, int d) -{ - bm_pad *p = app_pad(a); - int l = a->sel_lane[1] & 15; - const bm_lane *ln = &a->pat.tr[1].lane[l]; - char b[16]; - if (!bm_pad_ok(p)) { app_toast(a, "EMPTY PAD: TAKES > PAD"); return; } - if (a->ed_page[1] == 1) { /* SOUND: PITCH LEVEL PLAY DIR */ - if (k == 0) { p->pitch = (uint8_t)bm_clampi(p->pitch + lst(a, d), 0, 48); snprintf(b, sizeof b, "%+d", p->pitch - 24); app_overlay(a, 0, "PITCH", b, "ST", p->pitch * 255 / 48, 128, bm_knob_color(0)); } - else if (k == 1) { int v = bm_clampi(ln->level + d, 0, 127); app_push_i(a, CMD_SET_LANE, 1, (uint8_t)l, 1, v); snprintf(b, sizeof b, "%d", v); app_overlay(a, 1, "LEVEL", b, "", v * 2, -1, bm_knob_color(1)); } - else if (k == 2) { p->mode = (uint8_t)wrap(p->mode + lst(a, d), PAD_MODES); app_overlay(a, 2, "PLAY", PAD_MODE_N[p->mode], "", p->mode * 85, -1, bm_knob_color(2)); } - else { p->flags = (uint8_t)(d > 0 ? p->flags | PAD_REV : p->flags & ~PAD_REV); app_overlay(a, 3, "DIR", (p->flags & PAD_REV) ? "REV" : "FWD", "", (p->flags & PAD_REV) ? 255 : 0, -1, bm_knob_color(3)); } - } else if (a->ed_page[1] == 3) { /* LOOP: dónde empieza y termina el sustain */ - if (k == 0) { p->loop_s = (uint8_t)bm_clampi(p->loop_s + d, 0, 254); if (p->loop_e && p->loop_e <= p->loop_s) p->loop_e = (uint8_t)(p->loop_s + 1); snprintf(b, sizeof b, "%d", p->loop_s * 100 / 255); app_overlay(a, 0, "LOOP IN", b, "%", p->loop_s, -1, bm_knob_color(0)); } - else if (k == 1) { int v = bm_clampi(p->loop_e + d, 0, 255); if (v && v <= p->loop_s) v = p->loop_s + 1; p->loop_e = (uint8_t)v; if (v) snprintf(b, sizeof b, "%d", v * 100 / 255); else snprintf(b, sizeof b, "WHOLE"); app_overlay(a, 1, "LOOP OUT", b, v ? "%" : "", v, -1, bm_knob_color(1)); } - else if (k == 2) { p->mode = (uint8_t)wrap(p->mode + lst(a, d), PAD_MODES); app_overlay(a, 2, "PLAY", PAD_MODE_N[p->mode], "", p->mode * 85, -1, bm_knob_color(2)); } - if (k <= 1 && p->mode != PAD_LOOP) { p->mode = PAD_LOOP; app_toast(a, "PLAY = LOOP: HELD REPEATS THE LOOP"); } - } else { /* ENV: ATTACK RELEASE CHOKE TEMPO */ - if (k == 0) { p->attack = (uint8_t)bm_clampi(p->attack + d, 0, 127); } - else if (k == 1) { p->release = (uint8_t)bm_clampi(p->release + d, 0, 127); } - else if (k == 2) { int v = bm_clampi(ln->choke + lst(a, d), 0, 3); app_push_i(a, CMD_SET_LANE, 1, (uint8_t)l, 7, v); } - else p->flags = (uint8_t)(d > 0 ? p->flags | PAD_TEMPO : p->flags & ~PAD_TEMPO); /* derecha SYNC */ - } - app_edited(a); -} - -/* Un kit desde la toma marcada en TAKES (pregunta si el kit ya tiene pads). */ -static void kit_ask(bm_app *a, int src, int how) -{ - if (src >= BM_TAKES || !a->take[src].valid) { app_toast(a, "NO TAKE"); return; } - if (app_kit_empty(a)) { - int n = app_kit_from_take(a, src, how); - char b[30]; snprintf(b, sizeof b, TF("KIT: %d PADS"), n); - app_toast(a, b); - return; + else if (a->ctx.st.loop_mode[t - 2] == LOOP_OFF && !a->pat.trk[t].arp_mode) rec_syn(a, k, t, notes, n); /* con ARP graba el arpegiador */ } - char l1[30]; snprintf(l1, sizeof l1, TF("NEW KIT FROM TAKE %02d?"), src + 1); - app_ask(a, ASK_KIT, src, how, l1, "THE PADS ARE REPLACED"); -} - -/* ------------------------------------------------------------ teclas */ -/* GLO de la consola > SONG: blancas 1-10 agregan el patrón, negras 7-10 ponen (o quitan) una escena - * en la entrada elegida, negra 11 la borra. */ -static void song_append(bm_app *a, int p) -{ - if (a->song.n >= BM_SONG_MAX) { app_toast(a, "SONG FULL"); return; } - a->song.pat[a->song.n] = (uint8_t)(p & 15); a->song.rep[a->song.n] = 1; - a->song_cur = a->song.n++; - a->song_dirty = 1; a->t_edit = a->now; -} - -static void song_scene(bm_app *a, int s) -{ - if (!a->song.n) { app_toast(a, "ADD A PATTERN FIRST"); return; } - uint8_t *e = &a->song.pat[a->song_cur % a->song.n]; - int cur = bm_song_scene(*e); - *e = (uint8_t)(bm_song_pat(*e) | (cur == s ? 0 : (s + 1) << 4)); /* la misma otra vez: se quita */ - a->song_dirty = 1; a->t_edit = a->now; - char b[24]; - if (cur == s) snprintf(b, sizeof b, TF("ENTRY %d: NO SCENE"), a->song_cur + 1); - else snprintf(b, sizeof b, TF("ENTRY %d: SCENE %c"), a->song_cur + 1, 'A' + s); - app_toast(a, b); -} - -static void song_delete(bm_app *a) -{ - if (!a->song.n) return; - for (int i = a->song_cur; i + 1 < a->song.n; i++) { a->song.pat[i] = a->song.pat[i + 1]; a->song.rep[i] = a->song.rep[i + 1]; } - a->song.n--; - if (a->song_cur >= a->song.n && a->song_cur) a->song_cur--; - a->song_dirty = 1; a->t_edit = a->now; -} - -/* Grabación libre (como una loopera): en un canal de notas vacío, REC no tiene largo fijo. - * Al parar REC, el canal queda con los compases completos que tocaste (1-4) y cada nota - * con lo que la sostuviste. */ -static int notes_empty(const bm_app *a, int t) -{ - for (int s = 0; s < BM_STEPS; s++) - for (int k = 0; k < BM_EVENTS; k++) if (!bm_event_empty(bm_evc(&a->pat, t, s, k))) return 0; - return 1; -} - -static void free_rec_start(bm_app *a) -{ - int t = a->track; - if (app_kind(a, t) != KIND_NOTE || !notes_empty(a, t)) return; - a->rec_free = (uint8_t)(t + 1); - a->rec_free_t0 = app_playing(a) ? a->ctx.st.btick : 0xFFFFFFFFu; - app_set_track(a, t, TRK_OFF(length), BM_STEPS); - app_toast(a, "FREE REC: REC AGAIN CLOSES"); } -static void free_rec_close(bm_app *a) -{ - int t = a->rec_free - 1; - a->rec_free = 0; - int spb = BM_BAR_TICKS / bm_speed_tps[a->pat.trk[t].speed % SPD_COUNT]; - int bars = 1; - if (a->rec_free_t0 != 0xFFFFFFFFu) { - uint32_t el = a->ctx.st.btick - a->rec_free_t0; - bars = bm_clampi((int)((el + BM_BAR_TICKS / 2) / BM_BAR_TICKS), 1, 4); - } - int len = bm_clampi(bars * spb, 1, BM_STEPS); - /* lo grabado se dobla sobre el largo nuevo, en su mismo lugar del compás */ - bm_notes *nb = &a->redo.nt; - a->redo_track = -1; - for (int s = 0; s < BM_STEPS; s++) for (int k = 0; k < BM_EVENTS; k++) bm_event_clear(&nb->ev[s][k]); - for (int s = 0; s < BM_STEPS; s++) - for (int k = 0; k < BM_EVENTS; k++) { - const bm_event *e = bm_evc(&a->pat, t, s, k); - if (bm_event_empty(e)) continue; - int d = s % len; - for (int j = 0; j < BM_EVENTS; j++) - if (bm_event_empty(&nb->ev[d][j])) { nb->ev[d][j] = *e; break; } - else if (nb->ev[d][j].note == e->note) break; - } - app_push_ptr(a, CMD_TRACK_BULK, (uint8_t)t, nb); - app_set_track(a, t, TRK_OFF(length), len); - char b[30]; snprintf(b, sizeof b, bars > 1 ? TF("T%d: %d BARS") : TF("T%d: %d BAR"), t + 1, bars); - app_toast(a, b); -} +/* ------------------------------------------------------------ REC y PLAY/REC + * Como SLOOP: se graba sobre el largo que tiene el canal; al llegar al final da la vuelta y lo que + * tocas reescribe sus pasos. Grabar nunca alarga el canal. */ +/* REC: lo que tocas reescribe los pasos que tocas del canal del cursor */ +static void rec_set(bm_app *a, int on); +void app_rec_set(bm_app *a, int on) { rec_set(a, on); } -/* REC: grabar en el canal del cursor (con el canal vacío, en libre) o dejar de grabar */ static void rec_set(bm_app *a, int on) { a->rec = (uint8_t)on; - app_push(a, CMD_REC, a->rec, 0, 0); - if (a->rec) { app_undo_snapshot(a, a->track); a->rec_steps = 0; a->rec_lanes = 0; } + a->rec_clr_on = 0; + app_push(a, CMD_REC, a->rec, a->track, 0); + if (a->rec) { a->rec_steps = 0; a->rec_lanes = 0; } app_toast(a, a->rec ? "REC ON" : "REC OFF"); - if (a->rec) free_rec_start(a); - else if (a->rec_free) free_rec_close(a); } -/* SLOOP-REC (REC en MIX o FX): la consola arma el canal del cursor y las teclas dejan de ser del - * mezclador: tocan esa máquina y graban con el REC expresivo. REC otra vez = el mezclador. */ +/* REC parado en el SEQ de una máquina: paso a paso (las teclas escriben en el paso del cursor). Con + * PLAY sigue grabando en vivo. */ +void app_step_rec(bm_app *a) +{ + a->rec = 1; + app_push(a, CMD_REC, 1, a->track, 0); + a->rec_steps = 0; a->rec_lanes = 0; + app_toast(a, "STEP REC"); +} + +/* PLAY/REC: HOME en la misma pantalla, pero el teclado deja de ser del mezclador y toca (y graba) la + * máquina del cursor. Se entra con la blanca del canal del cursor (o con REC, ya grabando); se sale + * con HOME. */ void app_sloop(bm_app *a, int on) { if (!on == !a->sloop) return; a->sloop = (uint8_t)(on ? 1 : 0); - a->card = 0; a->mach_arm = 0; - if (a->rec != a->sloop) rec_set(a, a->sloop); - if (a->sloop) { char b[30]; snprintf(b, sizeof b, TF("SLOOP: T%d %s"), a->track + 1, bm_track_name(a, a->track)); app_toast(a, b); } + if (!on && a->rec) rec_set(a, 0); } -/* SLOOP: SELECT cambió de canal. La grabación libre del anterior se cierra y la del nuevo empieza - * (si está vacío); deshacer y el rojo de "esta pasada" pasan al nuevo. */ +/* PLAY/REC: SELECT cambió de canal: la grabación (y el arpegiador) pasa al nuevo, con el rojo de + * "esta pasada". */ static void sloop_follow(bm_app *a) { - if (a->rec_free) free_rec_close(a); if (!a->rec) return; - app_undo_snapshot(a, a->track); + app_push(a, CMD_REC, a->rec, a->track, 0); /* el arpegiador graba en el canal nuevo */ a->rec_steps = 0; a->rec_lanes = 0; - free_rec_start(a); - char b[30]; snprintf(b, sizeof b, TF("SLOOP: T%d %s"), a->track + 1, bm_track_name(a, a->track)); - app_toast(a, b); } -/* Mute de un canal: con CUE (y sonando), cambia en el próximo compás junto con lo demás */ +/* ------------------------------------------------------------ mutes, escenas y canales */ static void toggle_mute(bm_app *a, int t) { char b[24]; - if (a->cue && app_playing(a)) { - app_push(a, CMD_MUTE_CUE, (uint8_t)(1u << t), 0, 0); - snprintf(b, sizeof b, TF("T%d: NEXT BAR"), t + 1); - app_toast(a, b); - return; - } bool muted = !a->pat.trk[t].mute; /* el patrón cambia cuando el audio lo aplica */ app_set_track(a, t, TRK_OFF(mute), muted ? 1 : 0); snprintf(b, sizeof b, "%s %s", bm_track_name(a, t), T(muted ? "MUTED" : "ON")); app_toast(a, b); } -static void toggle_lane_mute(bm_app *a, int t, int lane) -{ - uint16_t m = (uint16_t)(bm_trk_trc(&a->pat, t)->mute ^ (1u << lane)); - app_push_i(a, CMD_LANE_MUTE, (uint8_t)t, 0, 0, m); - app_edited(a); - char b[24]; snprintf(b, sizeof b, "%s %s", T(bm_lane_name(a, t, lane)), T((m >> lane) & 1 ? "MUTE" : "PLAYS")); - app_toast(a, b); -} +/* Escenas: cada patrón tiene 4, una foto de los mutes. Guardar: la blanca de un patrón sostenida + la + * negra de la escena (se guarda en ese patrón). Una escena guardada del patrón que suena, con un toque, + * entra en el próximo compás (parado: ya). Borrar: la negra de la escena sostenida 3 s. */ +#define SCENE_DEL_MS 3000u +static bm_scene *scn(const bm_app *a, int pat, int s) { return (bm_scene *)&a->song.scene[pat % BM_PATTERNS][s]; } -/* ------------------------------------------------------------ escenas (0.9: solo mutes, del proyecto) - * Toque en una vacía = guardar los mutes de ahora · toque en una guardada = entra en el próximo compás - * (parado: ya) · 2 s = guardar encima · EDIT sostenido + escena = vaciarla · A sostenida + C, B = una - * cadena que avanza cada ciclo maestro. */ -static void scene_store(bm_app *a, int s) +static void scene_store(bm_app *a, int pat, int s) { - bm_scene *sc = &a->song.scene[s]; + bm_scene *sc = scn(a, pat, s); uint16_t lm[BM_TR_TRACKS]; sc->trk_mute = bm_mutes_get(&a->pat, lm); memcpy(sc->lane_mute, lm, sizeof lm); sc->flags = SCN_STORED; a->song_dirty = 1; a->t_edit = a->now; - char b[24]; snprintf(b, sizeof b, TF("SCENE %c STORED"), 'A' + s); + char b[30]; snprintf(b, sizeof b, TF("SCENE %c A%02d STORED"), 'A' + s, pat + 1); app_toast(a, b); } static void scene_clear(bm_app *a, int s) { - memset(&a->song.scene[s], 0, sizeof a->song.scene[s]); + memset(scn(a, a->ctx.st.pattern, s), 0, sizeof(bm_scene)); a->song_dirty = 1; a->t_edit = a->now; - char b[24]; snprintf(b, sizeof b, TF("SCENE %c CLEARED"), 'A' + s); + char b[24]; snprintf(b, sizeof b, TF("SCENE %c DELETED"), 'A' + s); app_toast(a, b); } static void scene_launch(bm_app *a, int s) { - a->chain_n = 1; a->chain[0] = (uint8_t)s; app_push(a, CMD_SCENE, (uint8_t)s, 0, 0); char b[24]; snprintf(b, sizeof b, app_playing(a) ? TF("SCENE %c: NEXT BAR") : TF("SCENE %c"), 'A' + s); app_toast(a, b); @@ -1927,103 +699,164 @@ static void scene_launch(bm_app *a, int s) static void scene_key(bm_app *a, int k, int s) { a->key_role[k] = ROLE_SCENE; a->key_t0[k] = a->now; - uint8_t held = (uint8_t)(a->launch_held & ~(1u << s)); - a->launch_held |= (uint8_t)(1u << s); - if (!held) return; /* sola: hace lo suyo al soltarla */ - if (!a->scn_chain) { /* la cadena empieza por la sostenida */ - a->chain_n = 0; - for (int i = 0; i < BM_SCENES && !a->chain_n; i++) if ((held >> i) & 1) a->chain[a->chain_n++] = (uint8_t)i; - } - if (a->chain_n < 8) a->chain[a->chain_n++] = (uint8_t)s; - a->scn_chain = 1; - app_push_ptr(a, CMD_CHAIN, a->chain_n, a->chain); - for (int i = 0; i < BM_KEYS; i++) if (a->keys_down[i] && a->key_role[i] == ROLE_SCENE) a->key_role[i] = ROLE_SCNDONE; - char b[24]; snprintf(b, sizeof b, TF("CHAIN OF %d SCENES"), a->chain_n); - app_toast(a, b); + if (!a->pat_held) return; /* sola: un toque la lanza, 3 s la borra */ + int pat = 0; + while (!((a->pat_held >> pat) & 1)) pat++; /* el patrón sostenido */ + scene_store(a, pat, s); /* con un patrón sostenido: guardar los mutes de ahora */ + a->key_role[k] = ROLE_SCNDONE; + for (int i = 0; i < BM_KEYS; i++) /* el patrón sostenido sirvió de modificador: no se elige */ + if (a->keys_down[i] && a->key_role[i] == ROLE_PAT) a->key_role[i] = ROLE_PATUSED; } -/* La tecla de un canal (blancas 11-16): baja = el cursor; sostenida = su tarjeta (app_input_tick); - * con HOME sostenido, a esa máquina al soltar HOME. */ +static void mach_reset(bm_app *a, int t); + +/* La tecla de un canal (blancas 11-16): con el cursor ya en él entra a PLAY/REC; si no, mueve el cursor. */ static void chan_key(bm_app *a, int k, int t) { - a->key_role[k] = ROLE_CHAN; a->key_t0[k] = a->now; - if (a->layer == L_HOME) { a->home_go = (uint8_t)(t + 1); a->track = (uint8_t)t; return; } - if (a->card) return; /* una tarjeta a la vez */ + a->key_role[k] = ROLE_CHAN; + if (a->view == V_GLO) { a->track = (uint8_t)t; mach_reset(a, t); return; } + if (t == a->track) { app_sloop(a, 1); return; } a->track = (uint8_t)t; - a->card_turn = 0; } -/* La consola: blancas 1-10 patrones, 11-16 canales; negras 1-6 mutes, 7-10 escenas, 11 CUE. */ +/* El mezclador: blancas 1-9 patrones (se eligen al soltar), 10 nada, 11-16 canales; negras 1-6 mutes, 7 sin + * función, 8-11 escenas. */ static void console_key(bm_app *a, int k, int w, int b) { if (w >= 0) { - if (w >= BM_PATTERNS) { chan_key(a, k, w - BM_PATTERNS); return; } + if (w >= BM_CH_W0) { chan_key(a, k, BM_ORDER[w - BM_CH_W0]); return; } + if (w >= BM_PATTERNS) return; /* la 10: espacio de seguridad */ a->key_role[k] = ROLE_PAT; - if (a->pat_held & ~(1u << w)) { /* otra blanca sostenida: cadena */ - if (a->pchain_n < 8) a->pchain[a->pchain_n++] = (uint8_t)w; - app_push_ptr(a, CMD_PCHAIN, a->pchain_n, a->pchain); - char t[24]; snprintf(t, sizeof t, TF("CHAIN OF %d PATTERNS"), a->pchain_n); - app_toast(a, t); - } else { - a->pchain_n = 0; - a->pchain[a->pchain_n++] = (uint8_t)w; - app_select_pattern(a, w); - } a->pat_held |= (uint16_t)(1u << w); return; } - if (b < 6) { a->key_role[k] = ROLE_MUTE; a->key_t0[k] = a->now; return; } - if (b < 10) { scene_key(a, k, b - 6); return; } - a->key_role[k] = ROLE_CUE; a->key_t0[k] = a->now; /* CUE: mientras la sostienes; un toque la deja fija */ - a->cue |= 1; + if (b < 6) { + a->key_t0[k] = a->now; + if (a->solo_on) { toggle_mute(a, BM_ORDER[b]); a->key_role[k] = ROLE_SOLOADD; return; } /* en SOLO: ese canal se suma */ + a->key_role[k] = ROLE_MUTE; + return; + } + if (b >= SCENE_B0 && b < SCENE_B0 + BM_SCENES) scene_key(a, k, b - SCENE_B0); } -static void song_key(bm_app *a, int k, int w, int b) +/* Una tecla toca un pad del sampler: sostenida, según su modo (ONESHOT, KEY, THRU, LOOP). Con REC + * sonando, el golpe queda en la línea del pad. */ +static void pad_down(bm_app *a, int k, int pad) { - if (w >= 0 && w < BM_PATTERNS) { song_append(a, w); return; } - if (b >= 6 && b < 10) { song_scene(a, b - 6); return; } - if (b == 10) { song_delete(a); return; } - console_key(a, k, w, b); /* los canales y los mutes siguen siendo de la consola */ + a->key_role[k] = ROLE_PAD; + a->pad_key = (int8_t)k; + a->sel_lane[1] = (uint8_t)pad; + app_push(a, CMD_PAD_KEY, 1, (uint8_t)pad, 110); + if (a->rec && app_playing(a)) rec_tr(a, 1, pad); } -/* SLOOP-REC: las teclas tocan (y graban) el canal del cursor */ +void app_pad_down(bm_app *a, int k, int pad) { pad_down(a, k, pad & 15); } + +/* PLAY/REC: las teclas tocan (y graban) el canal del cursor */ static void sloop_key(bm_app *a, int k, int w, int b) { + (void)b; int t = a->track; - if (app_kind(a, t) == KIND_NOTE) { play_key_down(a, k, w, b); return; } - if (w >= 0) { - a->sel_lane[t] = (uint8_t)w; - if (bm_is_pads(t)) { pad_down(a, k, w); return; } - uint8_t n = (uint8_t)w; - play_notes(a, k, t, &n, 1, a->keys_down[bm_black_key(0)] ? 127 : 110, 0); + if (app_kind(a, t) == KIND_NOTE) { + uint8_t n = (uint8_t)bm_clampi(key_note(a, t, k), 0, 127); + play_notes(a, k, t, &n, 1, 105); return; } - if (b == 0) a->key_role[k] = ROLE_ACC; /* ACC: los golpes de mientras, con acento */ + if (w < 0) return; /* las negras de la batería y del sampler: sin función */ + a->sel_lane[t] = (uint8_t)w; + if (bm_is_pads(t)) { pad_down(a, k, w); return; } + uint8_t n = (uint8_t)w; + int vel = bm_gesture_is_down(&a->ges, BTN_OCT_UP) ? 127 : bm_gesture_is_down(&a->ges, BTN_OCT_DN) ? 55 : 100; /* como SLOOP */ + play_notes(a, k, t, &n, 1, vel); } -/* B9 / B10: las páginas de pasos */ -static void step_page_turn(bm_app *a, int d) +/* ------------------------------------------------------------ secuenciador de la batería: pasos */ +static void step_page_set(bm_app *a, int p) { int pages = step_pages(a); - a->step_page = (uint8_t)bm_clampi(a->step_page + d, 0, pages - 1); - char b[24]; snprintf(b, sizeof b, TF("PAGE %d/%d"), a->step_page + 1, pages); + if (pages < 2) { app_toast(a, "ONE BAR ONLY"); return; } /* con un solo compás no hay a dónde ir */ + p = (p % pages + pages) % pages; /* en círculo */ + a->step_page = (uint8_t)p; + char b[24]; snprintf(b, sizeof b, TF("BAR %d/%d"), p + 1, pages); app_toast(a, b); } -/* las negras de la batería y de los pads fuera de las capas: 1-8 eligen (y tocan) un instrumento, - * 11 toque HI/LO o sostenida MUTE de instrumentos (app_input_tick) */ -static void tr_black_key(bm_app *a, int k, int b) +static void seq_step_down(bm_app *a, int w) { int t = a->track; - if (b < 8) { - int lane = (tr_lane(a) / 8) * 8 + b; - a->sel_lane[t] = (uint8_t)lane; - if (bm_is_pads(t)) { pad_down(a, k, lane); return; } - uint8_t n = (uint8_t)lane; - play_notes(a, k, t, &n, 1, 100, 0); - } else if (b == 10) { a->key_role[k] = ROLE_HILO; a->key_t0[k] = a->now; } + int s = a->step_page * BM_PAGE_STEPS + w; + int len = bm_trk_len(&a->pat, t, tr_lane(a)); + if (s >= len) { app_toast(a, "OUTSIDE THE LENGTH"); return; } + a->held_white = (int8_t)w; a->held_step = (int8_t)s; + a->held_long = 0; a->held_edit = 0; a->held_notes = 0; a->step_t0 = a->now; + int lane = tr_lane(a); + a->held_had_event = (bm_trk_trc(&a->pat, t)->st[lane][s] & ST_ON) != 0; + if (!a->held_had_event) { app_push_i(a, CMD_SET_TRSTEP, (uint8_t)t, (uint8_t)lane, (uint8_t)s, ST_ON); app_edited(a); } +} + +static void seq_step_up(bm_app *a, int w) +{ + if (w != a->held_white) return; + int t = a->track, s = a->held_step; + if (s >= 0 && a->held_had_event && !a->held_long && !a->held_edit) { + app_push_i(a, CMD_SET_TRSTEP, (uint8_t)t, (uint8_t)tr_lane(a), (uint8_t)s, 0); app_edited(a); + } + a->held_white = -1; a->held_step = -1; a->held_long = 0; a->held_edit = 0; +} + +/* Una capa abierta con un toque queda hasta que la cierre el mismo botón, otro botón o HOME */ +static void key_screen_close(bm_app *a) +{ + if (a->layer_latch) a->layer = L_NONE; + a->layer_latch = 0; +} + +static void layer_latch_open(bm_app *a, int L) +{ + if (a->layer || a->view != V_CH) return; /* nunca dos capas a la vez */ + a->layer = (uint8_t)L; + a->layer_latch = 1; + a->ov.on = 0; +} + +static void toggle_lane_mute(bm_app *a, int t, int lane) +{ + uint16_t m = (uint16_t)(bm_trk_trc(&a->pat, t)->mute ^ (1u << lane)); + app_push_i(a, CMD_LANE_MUTE, (uint8_t)t, 0, 0, m); + app_edited(a); + char b[24]; snprintf(b, sizeof b, "%s %s", T(bm_lane_name(a, t, lane)), T((m >> lane) & 1 ? "MUTE" : "PLAYS")); + app_toast(a, b); +} + +/* ------------------------------------------------------------ capas: pasos pintados */ +static void paint_accent(bm_app *a, int w) +{ + int t = a->track, s = a->step_page * 16 + w; + const bm_tr *tr = bm_trk_trc(&a->pat, t); + int lane = tr_lane(a); + if (s >= tr->lane[lane].len) return; + uint8_t v = tr->st[lane][s]; + app_push_i(a, CMD_SET_TRSTEP, (uint8_t)t, (uint8_t)lane, (uint8_t)s, (v & ST_ON) ? (v ^ ST_ACC) : (ST_ON | ST_ACC)); + app_edited(a); } +static void paint_repeat(bm_app *a, int w) +{ + int t = a->track, s = a->step_page * 16 + w; + const bm_tr *tr = bm_trk_trc(&a->pat, t); + int lane = tr_lane(a); + if (s >= tr->lane[lane].len) return; + uint8_t v = tr->st[lane][s]; + if (!(v & ST_ON)) v = ST_ON; + int r = (v & ST_FLAM) ? 4 : (v & ST_RAT_MASK) >> ST_RAT_SH; + r = (r + 1) % 5; + v = (uint8_t)(v & ~(ST_RAT_MASK | ST_FLAM)); + if (r == 4) v |= ST_FLAM; else v |= (uint8_t)(r << ST_RAT_SH); + app_push_i(a, CMD_SET_TRSTEP, (uint8_t)t, (uint8_t)lane, (uint8_t)s, v); + app_edited(a); +} + +/* ------------------------------------------------------------ teclas */ static void key_release(bm_app *a, int k, int w, int b) { if (a->key_nn[k]) { @@ -2032,287 +865,136 @@ static void key_release(bm_app *a, int k, int w, int b) if (a->key_rec_step[k] >= 0 && a->key_rec_slot[k] >= 0 && app_kind(a, t) == KIND_NOTE) { int tps = bm_speed_tps[a->pat.trk[t].speed % SPD_COUNT]; int s = a->key_rec_step[k]; - uint32_t held = a->ctx.st.rtick - a->key_rec_tick[k]; /* lo que la sostuviste, en ticks */ + uint32_t held = a->ctx.st.btick - a->key_rec_bt[k]; /* lo que la sostuviste, en ticks (btick no vuelve a 0 con el maestro) */ int steps = (int)(held / (uint32_t)tps), frac = (int)(held % (uint32_t)tps), gate = 0; if (frac * 8 > tps) { steps++; gate = frac * 100 / tps; if (gate >= 90) gate = 0; } if (steps < 1) { steps = 1; gate = bm_clampi(frac * 100 / tps, 10, 99); if (gate >= 90) gate = 0; } - if (!a->rec_free) { /* el compás corta la nota (auto-gate clip) */ + { /* el compás corta la nota (auto-gate clip) */ int spb = BM_BAR_TICKS / tps, end = (s / spb + 1) * spb; if (s + steps > end) { steps = end - s; gate = 0; } } - steps = bm_clampi(steps, 1, BM_STEPS); + int Lc = a->pat.trk[t].length ? a->pat.trk[t].length : 16; /* y nunca más que el canal: no se pisa a sí misma */ + steps = bm_clampi(steps, 1, Lc < BM_STEPS ? Lc : BM_STEPS); + uint8_t tie = 0; + if (a->pat.trk[t].engine == ENG_ACID) { /* BB-303: tocada ligada = SLIDE hasta la siguiente */ + int L = a->pat.trk[t].length ? a->pat.trk[t].length : 16; + for (int k2 = 0; k2 < BM_KEYS; k2++) + if (k2 != k && a->keys_down[k2] && a->key_nn[k2] && a->key_trk[k2] == t && a->key_rec_step[k2] >= 0 && + (int32_t)(a->key_rec_bt[k2] - a->key_rec_bt[k]) > 0) { + int dist = (a->key_rec_step[k2] - s + L) % L; + if (dist >= 1) { steps = dist; gate = 0; tie = BM_LEN_TIE; } + break; + } + } for (int e = 0; e < BM_EVENTS; e++) { bm_event ev = *bm_evc(&a->pat, t, s, e); for (int i = 0; i < a->key_nn[k]; i++) - if (!bm_event_empty(&ev) && ev.note == a->key_notes[k][i]) { ev.len = (uint8_t)steps; ev.gate = (uint8_t)gate; app_push_ev(a, t, s, e, &ev); } + if (!bm_event_empty(&ev) && ev.note == a->key_notes[k][i]) { ev.len = (uint8_t)(steps | tie); ev.gate = (uint8_t)gate; app_push_ev(a, t, s, e, &ev); } } } a->key_nn[k] = 0; a->key_rec_step[k] = -1; } - if (a->punch_key == k) { app_push(a, CMD_PUNCH, 0xFF, 0, 0); a->punch_key = -1; } - bool tap = a->now - a->key_t0[k] < UI_HOLD_MS; + if (a->view == V_MACH) mach_key_up(a, k); switch (a->key_role[k]) { case ROLE_MUTE: if (a->solo_key == k && a->solo_on) { /* fin del solo: vuelven los mutes de antes */ - for (int t = 0; t < BM_TRACKS; t++) app_set_track(a, t, TRK_OFF(mute), (a->solo_saved >> t) & 1); - a->solo_on = 0; a->solo_key = -1; - } else if (b >= 0 && b < 6) toggle_mute(a, b); - if (a->solo_key == k) a->solo_key = -1; - break; - case ROLE_FILL: app_push(a, CMD_FILL, 0, 0, 0); a->fill = 0; break; - case ROLE_SCENE: /* sola y corta: guardar (vacía) o lanzar */ - if (b >= 6 && b < 10) { - int s = b - 6; - if (a->song.scene[s].flags & SCN_STORED) scene_launch(a, s); else scene_store(a, s); - } - break; - case ROLE_CHAN: - if (w >= BM_PATTERNS && a->card == w - BM_PATTERNS + 1) { /* la tarjeta: soltar = entrar (si no se giró nada) */ - int t = w - BM_PATTERNS; - a->card = 0; a->mach_arm = 0; - if (!a->card_turn) app_enter(a, t, a->ch_page[t]); - } + for (int t = 0; t < BM_TRACKS; t++) app_set_track(a, t, TRK_OFF(mute), (a->solo_saved >> t) & 1); + a->solo_on = 0; a->solo_key = -1; + app_toast(a, "SOLO OFF"); + } else if (b >= 0 && b < 6) toggle_mute(a, BM_ORDER[b]); + if (a->solo_key == k) a->solo_key = -1; break; - case ROLE_CUE: - a->cue &= (uint8_t)~1u; - if (tap) a->cue ^= 2; /* un toque la deja fija; otro la suelta */ - app_toast(a, a->cue ? "CUE: MUTES AND SCENES ON THE NEXT BAR" : "CUE OFF"); + case ROLE_PAT: /* un toque: el patrón entra al final del compás */ + if (w >= 0 && w < BM_PATTERNS) app_select_pattern(a, w); break; - case ROLE_HILO: - if (a->layer == L_LANEMUTE && !a->layer_latch) a->layer = L_NONE; /* sostenida: MUTE mientras la sostenías */ - else if (tap) hilo(a); + case ROLE_SCENE: /* un toque: lanzar la escena (si está guardada) */ + if (b >= SCENE_B0 && b < SCENE_B0 + BM_SCENES && (scn(a, a->ctx.st.pattern, b - SCENE_B0)->flags & SCN_STORED)) scene_launch(a, b - SCENE_B0); break; - case ROLE_BRKFX: - if (b >= 8) { a->brk_live &= (uint8_t)~(1u << (b - 8)); app_push(a, CMD_BRK_LIVE, a->brk_live, 0, 0); } + case ROLE_LREP: /* mantenida: solo mientras la sostienes; un toque la deja abierta */ + if (a->layer == L_REP && a->layer_latch && a->now - a->key_t0[k] >= UI_HOLD_MS) key_screen_close(a); break; case ROLE_PAD: /* solo la última tecla de pad lo suelta */ if (a->pad_key == k) { app_push(a, CMD_PAD_KEY, 0, (uint8_t)(a->sel_lane[1] & 15), 0); a->pad_key = -1; } break; - case ROLE_PREVIEW: - if (a->pad_key == k) { app_push(a, CMD_SMP_PREVIEW, 0, 0, 0); a->pad_key = -1; } - break; - case ROLE_CMOD: /* solo el modificador suelta su +7/+9/SUS: un acorde no */ - if (b >= 0 && b < 4) a->chord_mod &= (uint8_t)~(1u << b); - else if (b >= 7 && b <= 10) a->chord_mod &= (uint8_t)~(1u << (b - 7)); - break; - case ROLE_LMUTE: case ROLE_FILLK: /* mantenida: era solo mientras la sostenías */ - if (a->layer_latch && !tap) key_screen_close(a); - break; default: break; } a->key_role[k] = ROLE_NONE; a->key_t0[k] = 0; - if (b >= 6 && b < 10) { - a->launch_held &= (uint8_t)~(1u << (b - 6)); - if (!a->launch_held) a->scn_chain = 0; - } if (w >= 0) { - if (a->roll_mask & (1u << w)) { a->roll_mask &= (uint16_t)~(1u << w); app_push_i(a, CMD_ROLL, a->track, (uint8_t)w, 0, 0); } - a->erase_mask &= (uint16_t)~(1u << w); - if (!a->erase_mask) a->erase_syn = 0; - a->pat_held &= (uint16_t)~(1u << w); + if (w < BM_PATTERNS) a->pat_held &= (uint16_t)~(1u << w); seq_step_up(a, w); } } -static void layer_key(bm_app *a, int k, int w, int b) +/* Elegir (y escuchar) un instrumento */ +static void pick_lane(bm_app *a, int k, int lane) { - int t = a->track, kind = app_kind(a, t); - switch (a->layer) { - case L_HOME: console_key(a, k, w, b); return; - case L_LEN: - if (w >= 0) set_len(a, t, a->len_page * 16 + w + 1); - else if (b == 10) { /* +16: 1-16 > 17-32 > 33-48 > 49-64 */ - a->len_page = (uint8_t)((a->len_page + 1) % 4); - char s[24]; snprintf(s, sizeof s, TF("LENGTHS %d-%d"), a->len_page * 16 + 1, a->len_page * 16 + 16); app_toast(a, s); - } else if (b >= 6 && b <= 9) { /* compases completos */ - int spb = BM_BAR_TICKS / bm_speed_tps[a->pat.trk[t].speed % SPD_COUNT]; - set_len(a, t, (b - 5) * spb); - } else if (b < SPD_COUNT) { - app_set_track(a, t, TRK_OFF(speed), b); - char s[24]; snprintf(s, sizeof s, TF("T%d SPEED %s"), t + 1, bm_speed_names[b]); - app_toast(a, s); - } - return; - case L_ACC: if (w >= 0) paint_accent(a, w); else if (b == 8 || b == 9) step_page_turn(a, b == 9 ? 1 : -1); return; - case L_REP: if (w >= 0) paint_repeat(a, w); else if (b == 8 || b == 9) step_page_turn(a, b == 9 ? 1 : -1); return; - case L_LANEMUTE: case L_FILL: - if (b == 10) { if (a->layer_latch) key_screen_close(a); return; } /* la misma tecla: salir */ - if (w >= 0) { - if (a->layer == L_FILL) paint_fill(a, w); - else if (kind == KIND_TR) toggle_lane_mute(a, t, w); - return; - } - if (a->layer == L_FILL) { if (b == 8 || b == 9) step_page_turn(a, b == 9 ? 1 : -1); return; } - if (kind == KIND_TR && b >= 0 && b < 8) { /* elegir (y escuchar) un instrumento */ - int lane = (tr_lane(a) / 8) * 8 + b; - a->sel_lane[t] = (uint8_t)lane; - if (bm_is_pads(t)) { pad_down(a, k, lane); return; } - uint8_t n = (uint8_t)lane; - play_notes(a, k, t, &n, 1, 100, 0); - } - return; - case L_PUNCH: - if (w >= 0) { app_push(a, CMD_PUNCH, (uint8_t)w, 0, 0); a->punch_key = (int8_t)k; } - else if (b < 6) toggle_mute(a, b); - return; - case L_ERASE: - if (b >= 0) { - bool con = console(a); - if (b == 0) app_copy_track(a, t); - else if (b == 1) app_paste_track(a, t); - else if (b == 2) app_clear_track(a, t); - else if (b == 3 && t == 1) capture(a); - else if (b == 5) app_do_undo(a); - else if (con && b >= 6 && b < 10) scene_clear(a, b - 6); /* en la consola: vaciar la escena */ - else if (b == 6) app_do_redo(a); - else if ((b == 8 || b == 9) && kind == KIND_NOTE && !con) step_page_turn(a, b == 9 ? 1 : -1); - return; - } - if (kind == KIND_TR) { - if (app_playing(a)) { if (!a->erase_mask) app_undo_snapshot(a, t); a->erase_mask |= (uint16_t)(1u << w); } - else { - const bm_tr *tr = bm_trk_trc(&a->pat, t); - app_undo_snapshot(a, t); - for (int s = 0; s < BM_STEPS; s++) if (tr->st[w][s]) app_push_i(a, CMD_SET_TRSTEP, (uint8_t)t, (uint8_t)w, (uint8_t)s, 0); - app_edited(a); - char m[24]; snprintf(m, sizeof m, TF("%s ERASED"), T(bm_lane_name(a, t, w))); app_toast(a, m); - } - } else { - if (app_playing(a)) { if (!a->erase_syn) app_undo_snapshot(a, t); a->erase_syn = 1; a->erase_mask |= (uint16_t)(1u << w); } - else { - int s = a->step_page * 16 + w; - app_undo_snapshot(a, t); - bm_event e; bm_event_clear(&e); for (int kk = 0; kk < BM_EVENTS; kk++) app_push_ev(a, t, s, kk, &e); - app_edited(a); - } - } - return; - case L_ROLL: - if (w >= 0) { - a->roll_mask |= (uint16_t)(1u << w); - a->sel_lane[t] = (uint8_t)w; - app_push_i(a, CMD_ROLL, (uint8_t)t, (uint8_t)w, 1, bm_roll_ticks[a->roll_rate % BM_ROLL_RATES]); - } else if (b >= 0 && b < BM_ROLL_RATES) roll_set_rate(a, b); - else if (b == 6 || b == 7) { /* CRESC / DECRESC: otra vez, plano */ - int r = b == 6 ? 1 : 2; - a->roll_ramp = (uint8_t)(a->roll_ramp == r ? 0 : r); - roll_cfg_send(a); - } else if (b == 10) { app_push(a, CMD_FILL, 1, 0, 0); a->fill = 1; a->key_role[k] = ROLE_FILL; } /* FILL + ROLL */ - return; - case L_CHORDS: - if (w >= 0) play_pad(a, k, w); - else if (b < 4) { a->chord_mod |= (uint8_t)(1u << b); a->key_role[k] = ROLE_CMOD; } - return; - case L_ARP: { - int note = BM_KEY_BASE_NOTE + k + 12 * a->oct - (bass_machine(a, t) ? 12 : 0); - uint8_t n = (uint8_t)bm_clampi(note, 0, 127); - play_notes(a, k, t, &n, 1, 105, 0); - return; - } - case L_COPY: - if (w >= 0 && w < BM_PATTERNS) { - if (app_playing(a)) { app_toast(a, "STOP TO COPY"); return; } - if (w == a->ctx.st.pattern) { app_toast(a, "IT IS THE CURRENT PATTERN"); return; } - int trk = -1; - for (int i = 0; i < BM_TRACKS; i++) if (a->keys_down[bm_black_key(i)]) trk = i; - char l1[30], l2[30]; - if (trk >= 0) snprintf(l1, sizeof l1, TF("COPY T%d TO A%02d?"), trk + 1, w + 1); - else snprintf(l1, sizeof l1, TF("COPY A%02d TO A%02d?"), a->ctx.st.pattern + 1, w + 1); - snprintf(l2, sizeof l2, TF("A%02d ALREADY HAS DATA"), w + 1); - if (bm_store_has(&a->store, (uint8_t)w)) app_ask(a, trk >= 0 ? ASK_COPY_TRK : ASK_COPY_PAT, w, trk, l1, l2); - else if (trk >= 0) { app_job(a, JOB_COPY_TRK, w | (trk << 4)); app_toast(a, "TRACK COPIED"); } - else { app_job(a, JOB_COPY_PAT, w); app_toast(a, "PATTERN COPIED"); } - } - return; - case L_TONE: { - int tp = bm_clampi(24 + k - 7, 0, 48); - app_set_meta(a, META_OFF(transpose), tp); - char s[24]; snprintf(s, sizeof s, TF("TRANSPOSE %+d"), tp - 24); - app_toast(a, s); - return; - } - default: return; - } + a->sel_lane[a->track] = (uint8_t)lane; + uint8_t n = (uint8_t)lane; + play_notes(a, k, a->track, &n, 1, 100); } -static void seq_keys(bm_app *a, int k, int w, int b) +/* LENGTH AND SPEED (Slicer): el largo del pad elegido en pasos, la velocidad del canal */ +static void pad_len_set(bm_app *a, int len) { - int t = a->track, kind = app_kind(a, t); - if (w >= 0) { seq_step_down(a, w); return; } - if (b == 8 || b == 9) { step_page_turn(a, b == 9 ? 1 : -1); return; } /* < y > */ - if (kind == KIND_TR) { tr_black_key(a, k, b); return; } - if (b < 8) { /* notas: grados de la escala */ - int root, sc = app_scale(a, t, &root); - int note = bm_scale_note(root, sc, b, base_oct(a, t)); - if (a->held_step >= 0) { step_note(a, note); return; } - uint8_t n = (uint8_t)note; - play_notes(a, k, t, &n, 1, 105, 0); - if (a->rec && app_playing(a) && a->ctx.st.loop_mode[t - 2] == LOOP_OFF) rec_syn(a, k, t, &n, 1); - } else key_screen_open(a, k, L_FILL); + int t = a->track, lane = tr_lane(a); + len = bm_clampi(len, 1, BM_STEPS); + app_push_i(a, CMD_SET_LANE, (uint8_t)t, (uint8_t)lane, LN_LEN, len); + app_edited(a); + if (a->step_page * 16 >= len) a->step_page = (uint8_t)((len - 1) / 16); + char b[24]; snprintf(b, sizeof b, TF("P%d LENGTH %d"), lane + 1, len); + app_toast(a, b); } -static void page_keys(bm_app *a, int k, int w, int b) +static void speed_set(bm_app *a, int s) { - int t = a->track, kind = app_kind(a, t); - switch (a->page) { - case PG_SEQ: seq_keys(a, k, w, b); return; - case PG_CHORDS: - if (w >= 0) play_pad(a, k, w); - else if (b < 4) { a->chord_mod |= (uint8_t)(1u << b); a->key_role[k] = ROLE_CMOD; } - return; - case PG_TAKES: { - uint8_t src = bm_app_takes_sel(a); - if (src >= BM_TAKES || !a->take[src].valid) { if (w >= 0 || b < 4) app_toast(a, "NO TAKE"); return; } - const bm_take *tk = &a->take[src]; - if (w >= 0) { /* la toma en 16 partes: sostenida sigue */ - preview_down(a, k, src, tk->len * (uint32_t)w / 16u, tk->len / 16u); - return; - } - if (b == 0) kit_ask(a, src, 0); /* KIT en los golpes */ - else if (b == 1 || b == 2) kit_ask(a, src, b == 1 ? 16 : 8); - else if (b == 3) { /* la toma entera en el pad elegido */ - app_pad_take(a, a->sel_lane[1] & 15, src); - char m[30]; snprintf(m, sizeof m, TF("TAKE %02d > PAD %d"), src + 1, (a->sel_lane[1] & 15) + 1); - app_toast(a, m); - } else if (b == 10) { - char l1[30]; snprintf(l1, sizeof l1, TF("DELETE TAKE %02d?"), src + 1); - app_ask(a, ASK_TAKE_DEL, src, 0, l1, "CANNOT BE UNDONE"); - } + int t = a->track; + s = bm_clampi(s, 0, SPD_COUNT - 1); + app_set_track(a, t, TRK_OFF(speed), s); + char b[24]; snprintf(b, sizeof b, TF("T%d SPEED %s"), app_pos(t) + 1, bm_speed_names[s]); + app_toast(a, b); +} + +static void len_key(bm_app *a, int w, int b) +{ + int t = a->track; + if (w >= 0) { pad_len_set(a, a->len_page * 16 + w + 1); return; } + if (b < SPD_COUNT) { speed_set(a, b); return; } + if (b >= 6 && b <= 9) { /* compases completos */ + int spb = BM_BAR_TICKS / bm_speed_tps[a->pat.trk[t].speed % SPD_COUNT]; + if ((b - 5) * spb <= BM_STEPS) pad_len_set(a, (b - 5) * spb); return; } - case PG_REC: /* grabando, las teclas no suenan; después, escuchar la toma nueva */ - if (w >= 0 && !a->ctx.st.smp_rec && a->ctx.st.smp_unsaved) { - uint32_t len = a->ctx.smp[0].len; - preview_down(a, k, BM_TAKE_NEW, len * (uint32_t)w / 16u, len / 16u); - } - return; - case PG_PADS: - if (w >= 0) { pad_down(a, k, w); return; } - if (b == 0) pad_copy(a); - else if (b == 1) pad_paste(a); - else if (b == 2) pad_clear(a); - else if (b == 3) pad_hit(a); - else if (b >= 8) { /* REV, HALF, STUTTER mientras se sostienen */ - a->key_role[k] = ROLE_BRKFX; - a->brk_live |= (uint8_t)(1u << (b - 8)); - app_push(a, CMD_BRK_LIVE, a->brk_live, 0, 0); - } - return; - default: break; + if (b == 10) { /* +16: 1-16 > 17-32 > 33-48 > 49-64 */ + a->len_page = (uint8_t)((a->len_page + 1) % 4); + char s[24]; snprintf(s, sizeof s, TF("LENGTHS %d-%d"), a->len_page * 16 + 1, a->len_page * 16 + 16); + app_toast(a, s); } - if (kind == KIND_TR && b >= 0) { tr_black_key(a, k, b); return; } - play_key_down(a, k, w, b); } -/* La pregunta: el control que preguntó la acepta sostenido 2 s; soltarlo antes, u otro, es no. */ -static void ask_no(bm_app *a, int same) +static void layer_key(bm_app *a, int k, int w, int b) { - int was = a->ask; - a->ask = ASK_NONE; - if (was == ASK_DISCARD && same) { app_set_view(a, V_HOME); app_toast(a, "TAKE KEPT (NOT SAVED)"); } /* HOME otra vez: la toma queda y HOME sale */ - else app_toast(a, "CANCELED"); + int t = a->track; + if (a->layer == L_LEN) { len_key(a, w, b); return; } + if (a->layer != L_REP && b >= 0) { /* LFO, ENV, EDIT y SCL */ + int lane = (tr_lane(a) / 8) * 8 + b; + if (b < 8 && a->layer == L_MUTE) toggle_lane_mute(a, t, lane); /* acceso rápido: mutea */ + else if (b < 8) a->sel_lane[t] = (uint8_t)lane; /* acceso rápido: elige, sin sonar */ + else if (b == 9 || b == 10) step_page_set(a, a->step_page + (b == 10 ? 1 : -1)); /* los compases, en círculo */ + return; + } + if (b >= 0 && b < 8) { pick_lane(a, k, (tr_lane(a) / 8) * 8 + b); return; } /* navegar: los instrumentos de la página */ + if (b == 8 || b == 9) { step_page_set(a, a->step_page + (b == 9 ? 1 : -1)); return; } /* y los compases, en círculo */ + if (b == 10) { if (a->layer == L_REP && a->layer_latch) key_screen_close(a); return; } + if (w < 0) return; + switch (a->layer) { + case L_ACC: paint_accent(a, w); return; + case L_REP: paint_repeat(a, w); return; + case L_HIT: case L_INST: pick_lane(a, k, w); return; + case L_MUTE: toggle_lane_mute(a, t, w); return; + default: return; + } } void bm_app_key(bm_app *a, int k, int down, uint32_t now) @@ -2323,339 +1005,88 @@ void bm_app_key(bm_app *a, int k, int down, uint32_t now) if (a->keys_down[k]) return; a->keys_down[k] = 1; bm_gesture_other(&a->ges, now); - if (bm_gesture_is_down(&a->ges, BTN_HOME)) a->home_used = 1; } else { if (!a->keys_down[k]) return; a->keys_down[k] = 0; } if (a->view == V_BOOT) return; - a->cur_ctl = (uint8_t)(ASK_KEY | k); - if (a->ask) { - if (a->ask_ctl == (ASK_KEY | k)) { /* la tecla que preguntó */ - if (down) { a->ask_live = 1; a->ask_t0 = now; return; } - ask_no(a, 1); - } else if (down) { ask_no(a, 0); return; } /* otra tecla: no (y no hace nada más) */ - } int w = bm_key_white_index(k), b = bm_key_black_index(k); if (!down) { key_release(a, k, w, b); return; } if (a->layer) { layer_key(a, k, w, b); return; } switch (a->view) { - case V_HOME: case V_FXG: + case V_HOME: if (a->sloop) sloop_key(a, k, w, b); else console_key(a, k, w, b); return; - case V_GLO: - if (a->glo_page == GP_SONG) song_key(a, k, w, b); else console_key(a, k, w, b); + case V_GLO: console_key(a, k, w, b); return; + case V_MACH: mach_key(a, k, w, b); return; + case V_CH: + if (w >= 0) seq_step_down(a, w); + else if (b >= 0 && b < 8) pick_lane(a, k, (tr_lane(a) / 8) * 8 + b); /* negras 1-8: eligen (y tocan) un instrumento de la página de sonidos */ + else if (b == 10) { /* negra 11: la página de REPEAT (un toque la deja abierta) */ + a->key_role[k] = ROLE_LREP; a->key_t0[k] = a->now; + layer_latch_open(a, L_REP); + } + else if (b == 8 || b == 9) step_page_set(a, a->step_page + (b == 9 ? 1 : -1)); /* negras 9 y 10: el compás anterior / siguiente */ return; - case V_CH: page_keys(a, k, w, b); return; - default: play_key_down(a, k, w, b); return; + default: return; /* SYSTEM y SAVE: el teclado no hace nada */ } } /* ------------------------------------------------------------ botones */ -static bool oct_ok(const bm_app *a); - -static int layer_of(const bm_app *a, int id) -{ - switch (id) { - case BTN_HOME: return L_HOME; - case BTN_SEQ: return L_LEN; - case BTN_EDIT: return L_ERASE; - case BTN_ENV: return L_ACC; - case BTN_LFO: return L_REP; - case BTN_FX: return L_PUNCH; - case BTN_SCL: return L_CHORDS; - case BTN_ARP: return bm_is_grid(&a->pat, a->track) ? L_ROLL : L_ARP; - case BTN_SAVE: return L_COPY; - case BTN_GLO: return L_TONE; - default: return L_NONE; - } -} - -static void open_layer(bm_app *a, int id) -{ - if (a->layer) return; /* nunca dos capas a la vez */ - if (id == BTN_EDIT && a->view == V_COPYCH) return; /* COPY TRACK: EDIT sostenido 2 s pega */ - int L = layer_of(a, id); - if (!L) return; - if (L == L_ARP && app_kind(a, a->track) != KIND_NOTE) return; - a->layer = (uint8_t)L; - a->ov.on = 0; - if (L == L_ARP) app_push(a, CMD_ARP, a->track, 1, 0); - if (L == L_ROLL) { a->roll_mask = 0; roll_cfg_send(a); } - if (L == L_ERASE) { a->erase_mask = 0; a->erase_syn = 0; } - if (L == L_LEN) { - int len = bm_trk_len(&a->pat, a->track, app_kind(a, a->track) == KIND_NOTE ? -1 : 0); - a->len_page = (uint8_t)((len - 1) / 16); - } -} - -static void close_layer(bm_app *a, int id) -{ - int L = layer_of(a, id); - if (L == L_ROLL && a->layer == L_ARP) L = L_ARP; - if (L == L_ARP && a->layer == L_ROLL) L = L_ROLL; - if (!L || a->layer != L) return; - if (L == L_PUNCH) { app_push(a, CMD_PUNCH, 0xFF, 0, 0); a->punch_key = -1; } - if (L == L_ARP) app_push(a, CMD_ARP, a->track, 0, 0); - if (L == L_ROLL) { roll_stop(a); a->layer_latch = 0; } - if (L == L_ERASE) { a->erase_mask = 0; a->erase_syn = 0; } - a->layer = L_NONE; -} - -/* El GLO de la consola en una de sus páginas */ -static void glo_open(bm_app *a, int page) -{ - a->glo_page = (uint8_t)(page % GP_COUNT); - a->glo_row = 0; - a->card = 0; a->mach_arm = 0; - app_set_view(a, V_GLO); -} - -/* Toque de un botón. En la consola: FX su FX (otra vez, la página siguiente), SCL y GLO su GLO; los - * demás entran a la máquina del cursor en esa página. Dentro de una máquina: su página; otra vez, la - * siguiente. GLO dentro de la máquina: su GLO; otra vez, de vuelta. */ -static void button_page(bm_app *a, int id) -{ - int t = a->track, kind = app_kind(a, t), midi = app_midi(a, t); - if (console(a)) { - switch (id) { - case BTN_FX: - if (a->view == V_FXG) a->fx_page = (uint8_t)((a->fx_page + 1) % FXP_COUNT); - else { a->fx_page = FXP_CHANNEL; a->card = 0; app_set_view(a, V_FXG); } - return; - case BTN_SCL: glo_open(a, GP_SCALE); return; - case BTN_GLO: - if (a->view == V_GLO) { a->glo_page = (uint8_t)((a->glo_page + 1) % GP_COUNT); a->glo_row = 0; a->mach_arm = 0; } - else glo_open(a, GP_TEMPO); - return; - default: break; - } - } - int cur = a->view == V_CH ? a->page : -1, pg = PG_SEQ; - switch (id) { - case BTN_SEQ: - if (cur == PG_SEQ) pg = bm_is_pads(t) ? PG_BREAK : (kind == KIND_NOTE && !midi) ? PG_LOOP : PG_SEQ; - else pg = PG_SEQ; - break; - case BTN_EDIT: - if (bm_is_pads(t)) { /* PADS: TRIM > SOUND > ENV */ - if (cur == PG_PADS) a->ed_page[t] = (uint8_t)((a->ed_page[t] + 1) % 4); - pg = PG_PADS; - } else if (midi) pg = PG_MIDI; - else if (kind == KIND_TR) { /* SONIDO > INSTR (2 páginas) > SONIDO */ - if (cur == PG_SOUND) { pg = PG_INST; a->ed_page[t] = 0; } - else if (cur == PG_INST && a->ed_page[t] + 1 < BM_LANE_PAGES) { pg = PG_INST; a->ed_page[t]++; } - else pg = PG_SOUND; - } else { /* SOUND: vuelve a la última; otra vez, la siguiente */ - int np; bm_engine_pages(app_engine(a, t), &np); - if (cur == PG_SOUND && np) a->ed_page[t] = (uint8_t)((a->ed_page[t] + 1) % np); - pg = PG_SOUND; - } - break; - case BTN_ENV: - if (bm_is_pads(t)) { a->ed_page[t] = 2; pg = PG_PADS; } - else if (kind == KIND_TR) { pg = PG_INST; if (cur != PG_INST) a->ed_page[t] = 0; } - else if (midi) pg = PG_MIDI; - else { /* su envolvente; otra vez, la segunda */ - int e1 = bm_engine_page_of(app_engine(a, t), EPG_ENV1), e2 = bm_engine_page_of(app_engine(a, t), EPG_ENV2); - a->ed_page[t] = (uint8_t)(cur == PG_SOUND && a->ed_page[t] == e1 ? e2 : e1); - pg = PG_SOUND; - } - break; - case BTN_LFO: - if (!lfo_has_page(a, t)) { lfo_latch(a); return; } /* sin LFO: su capa queda abierta */ - a->ed_page[t] = (uint8_t)bm_engine_page_of(app_engine(a, t), EPG_LFO); - pg = PG_SOUND; - break; - case BTN_FX: - if (cur == PG_MIX) a->mix_page ^= 1; else a->mix_page = 0; - pg = PG_MIX; - break; - case BTN_SCL: pg = cur == PG_SCL ? PG_CHORDS : PG_SCL; break; - case BTN_ARP: pg = PG_ARP; break; - case BTN_GLO: /* el GLO de la máquina; otra vez, de vuelta */ - if (cur == PG_MORE) { pg = a->glo_back; break; } - a->glo_back = (uint8_t)(cur >= 0 ? cur : a->ch_page[t]); - a->more_row = 0; - pg = PG_MORE; - break; - default: return; - } - app_enter(a, t, pg); - a->nav_btn = 0; /* su luz: este botón, mientras sigas aquí */ - if (a->view == V_CH && a->page == pg && id != BTN_GLO) { - a->nav_btn = (uint8_t)(id + 1); a->nav_track = a->track; a->nav_page = a->page; a->nav_sub = a->ed_page[a->track]; - } -} - -/* SONG REC: sonando, el ciclo que suena ya cuenta; parado, queda armado y empieza con PLAY (2) */ -static void song_rec_toggle(bm_app *a) +/* OCT -/+: en el secuenciador de la batería (y en su PLAY/REC) cambian la página de sonidos; en + * PLAY/REC de una máquina de notas, la octava. En el mezclador no hacen nada. */ +static bool oct_ok(const bm_app *a) { - a->song_rec = (uint8_t)(a->song_rec ? 0 : app_playing(a) ? 1 : 2); - a->song_rec_loops = a->ctx.st.loops; - a->song_rec_scene = 0xFF; - if (a->song_rec == 1) app_song_rec_note(a); - app_toast(a, a->song_rec ? "SONG REC ON" : "SONG REC OFF"); + if (a->view == V_CH) return true; + return a->view == V_HOME && a->sloop && (app_kind(a, a->track) == KIND_NOTE || drums_track(a, a->track)); /* batería: sostenidos dan golpes suaves / fuertes */ } -static void home_combo(bm_app *a, int id) +/* la capa de la rejilla que abre cada botón: en la batería LFO, ENV, EDIT y SCL; en el Slicer LFO, SCL y + * SEQ otra vez (LENGTH AND SPEED): su EDIT, ENV, FX y GLO son páginas de la máquina (V_MACH) */ +static int layer_of(const bm_app *a, int id) { - a->home_used = 1; + bool pads = bm_is_pads(a->track); switch (id) { - case BTN_OCT_DN: app_do_undo(a); break; - case BTN_OCT_UP: app_do_redo(a); break; - case BTN_PLAY: app_push(a, CMD_PLAY, app_playing(a) ? 2 : 1, 0, 0); app_toast(a, "FROM STEP 1"); break; - case BTN_REC: song_rec_toggle(a); break; - case BTN_SEQ: glo_open(a, GP_SONG); break; - case BTN_FX: if (a->view == V_FXG) a->fx_page = (uint8_t)((a->fx_page + 1) % FXP_COUNT); else { a->fx_page = FXP_CHANNEL; app_set_view(a, V_FXG); } break; - case BTN_SCL: glo_open(a, GP_SCALE); break; - case BTN_GLO: if (a->view == V_GLO) a->glo_page = (uint8_t)((a->glo_page + 1) % GP_COUNT); else glo_open(a, GP_TEMPO); break; - case BTN_SAVE: a->save_row = 1; a->save_target = (uint8_t)((a->ctx.st.pattern + 1) % BM_PATTERNS); app_set_view(a, V_SAVE); break; - case BTN_EDIT: { - a->copy_src = a->track; - int k = app_kind(a, a->track); - a->copy_dst = 0xFF; - for (int i = 1; i < BM_TRACKS && a->copy_dst == 0xFF; i++) { - int d = (a->track + i) % BM_TRACKS; - if (d == 1 || bm_is_pads(a->track)) continue; - if (app_kind(a, d) == k) a->copy_dst = (uint8_t)d; - } - if (a->copy_dst == 0xFF) { app_toast(a, "THE SAMPLER IS NOT COPIED"); break; } - app_set_view(a, V_COPYCH); - break; - } - default: app_toast(a, "HOME + THIS BUTTON: NOTHING"); break; - } -} - -static void copy_channel(bm_app *a) -{ - int s = a->copy_src, d = a->copy_dst; - int ks = app_kind(a, s); - char b[30]; - if (ks == KIND_NOTE) { /* la máquina viaja con el canal */ - int o = bm_machine_conflict(&a->pat, d, a->pat.trk[s].engine); - if (o >= 0 && o != d) { /* BUNO-6 y BITTAL: una vez por patrón */ - snprintf(b, sizeof b, TF("%s ALREADY ON T%d"), bm_engine_names[a->pat.trk[s].engine], o + 1); - app_toast(a, b); - return; - } - } - app_undo_snapshot(a, d); - if (ks == KIND_NOTE) app_push(a, CMD_CLONE, (uint8_t)s, (uint8_t)d, 0); - memcpy(&a->clip, app_track_data(a, s), app_track_size(s)); - app_push_ptr(a, CMD_TRACK_BULK, (uint8_t)d, &a->clip); - const uint8_t *src = (const uint8_t *)&a->pat.trk[s]; - for (unsigned off = 0; off < sizeof(bm_track); off++) - if (off != TRK_OFF(engine) && off != TRK_OFF(mute) && off != TRK_OFF(midi_ch)) app_push(a, CMD_SET_TRACK, (uint8_t)d, (uint8_t)off, src[off]); - app_edited(a); - snprintf(b, sizeof b, TF("T%d COPIED TO T%d"), s + 1, d + 1); - app_toast(a, b); - app_enter(a, d, PG_SEQ); -} - -static void ask_yes(bm_app *a) -{ - int k = a->ask, x = a->ask_arg, y = a->ask_arg2; - a->ask = ASK_NONE; - char b[30]; - switch (k) { - case ASK_COPY_PAT: app_job(a, JOB_COPY_PAT, x); app_toast(a, "PATTERN COPIED"); break; - case ASK_COPY_TRK: app_job(a, JOB_COPY_TRK, x | (y << 4)); app_toast(a, "TRACK COPIED"); break; - case ASK_TAKE_DEL: - app_job(a, JOB_TAKE_ERASE, x); - snprintf(b, sizeof b, TF("TAKE %02d DELETED"), x + 1); - app_toast(a, b); - break; - case ASK_KIT: { int n = app_kit_from_take(a, x, y); snprintf(b, sizeof b, TF("KIT: %d PADS"), n); app_toast(a, b); break; } - case ASK_INIT: - if (bm_is_tr(&a->pat, x)) { app_push(a, CMD_PRESET, (uint8_t)x, a->pat.trk[x].source, 0); app_edited(a); } /* INIT KIT: el kit como vino */ - app_init_sound(a, x); - break; - case ASK_DISCARD: - if (a->ctx.st.smp_unsaved && !a->ctx.st.smp_rec) { app_push_ptr(a, CMD_SMP_DISCARD, 0, &a->smp_send[0]); app_toast(a, "TAKE DISCARDED"); } - break; - default: break; - } -} - -/* REC 2 s = borrar la pista del canal (en la consola, el del cursor), en vivo y sin preguntar (HOME + - * OCT- lo deshace). Solo una pulsación que no graba nada: nunca en la GRABADORA (ahí sostener REC - * graba la mezcla), ni con la grabadora o una loopera grabando o armadas. Se mira al bajar REC y otra - * vez a los 2 s. */ -static bool rec_erase_ok(const bm_app *a) -{ - const bm_status *st = &a->ctx.st; - if (a->layer || a->ask) return false; - if (a->view != V_CH && a->view != V_HOME && a->view != V_FXG) return false; - if (a->view == V_CH && (a->page == PG_REC || a->page == PG_TAKES || a->page == PG_LOOP)) return false; - if (st->smp_rec || st->smp_armed) return false; - for (int i = 0; i < BM_SYN_TRACKS; i++) { - int lm = st->loop_mode[i]; - if (lm == LOOP_ARMED || lm == LOOP_REC || lm == LOOP_DUB) return false; + case BTN_SCL: return L_MUTE; + case BTN_LFO: return L_ACC; + case BTN_ENV: return pads ? L_NONE : L_HIT; + case BTN_EDIT: return pads ? L_NONE : L_INST; + case BTN_SEQ: return pads ? L_LEN : L_NONE; + default: return L_NONE; } - for (int k = 0; k < BM_KEYS; k++) if (a->keys_down[k]) return false; /* una nota sostenida graba */ - return true; } -/* Mientras REC estuvo abajo, ¿se grabó algo? Cualquier cambio en el patrón (tecla, MIDI, perilla, - * roll, loopera: todo pasa por app_edited). Tocar una tecla o una perilla además cancela los 2 s. */ -static bool rec_hold_wrote(const bm_app *a) +/* a la rejilla del Slicer, con esa capa abierta (LFO, SCL) o ninguna */ +void app_slicer_grid(bm_app *a, int layer) { - return (int32_t)(a->t_edit - a->ges.b[BTN_REC].t0) >= 0; + app_sloop(a, 0); + app_enter(a, 1, PG_SEQ); + if (layer) layer_latch_open(a, layer); } -static void tap_tempo(bm_app *a) +/* OCT -/+ en la batería: la página de sonidos (8 instrumentos: 1-8 o 9-16); el instrumento elegido + * se queda en su lugar de la página. */ +static void sound_page(bm_app *a, int dir) { - if (a->tap_n && a->now - a->tap_t[(a->tap_n - 1) & 3] > 2000) a->tap_n = 0; - a->tap_t[a->tap_n & 3] = a->now; - a->tap_n++; - if (a->tap_n < 2) { app_toast(a, "TAP"); return; } - int n = a->tap_n > 4 ? 4 : a->tap_n; - uint32_t first = a->tap_t[(a->tap_n - n) & 3], last = a->tap_t[(a->tap_n - 1) & 3]; - uint32_t iv = (last - first) / (uint32_t)(n - 1); - if (!iv) return; - int bpm = bm_clampi((int)(600000u / iv), 400, 2400); - app_push_i(a, CMD_SET_BPM, 0, 0, 0, bpm); app_edited(a); - char b[16]; snprintf(b, sizeof b, "%d.%d", bpm / 10, bpm % 10); - app_overlay(a, -1, "TAP TEMPO", b, "BPM", (bpm - 400) * 255 / 2000, -1, C_CYAN); + int t = a->track, lane = tr_lane(a), pg = lane / 8; + int np = bm_clampi(pg + dir, 0, BM_LANES / 8 - 1); + if (np == pg) return; + a->sel_lane[t] = (uint8_t)(np * 8 + lane % 8); + app_toast(a, np ? "SOUNDS 9-16" : "SOUNDS 1-8"); } void app_on_gesture(void *u, int id, bm_gkind k) { bm_app *a = (bm_app *)u; if (a->view == V_BOOT) return; - uint16_t bit = (uint16_t)(1u << id); - a->cur_ctl = (uint8_t)id; - if (a->ask_eat & bit) return; /* la pregunta ya usó este botón: hasta soltarlo */ - if (a->ask) { - if (id == a->ask_ctl) return; /* el que preguntó: lo mira bm_app_button */ - if (k == G_PRESS || k == G_TAP || k == G_HOLD) { ask_no(a, 0); a->ask_eat |= bit; return; } /* otro botón: no */ - } - if (id != BTN_HOME && (a->home_mod & bit)) { /* HOME + botón = su versión global */ - if ((k == G_TAP || k == G_HOLD || k == G_PRESS) && !(a->home_done & bit)) { a->home_done |= bit; home_combo(a, id); } - return; - } - /* ARP en una rejilla (T1, T2) = ROLL: un toque la deja abierta y otro la cierra; sostener ARP con - * ella abierta = queda solo mientras lo sostienes (se cierra al soltar). */ - if (id == BTN_ARP && bm_is_grid(&a->pat, a->track) && (!a->layer || a->layer == L_ROLL || a->layer_latch)) { - if (k == G_TAP) { - if (a->layer == L_ROLL) close_layer(a, id); - else { key_screen_close(a); roll_open(a); } /* FILL o LFO abiertas: ROLL en su lugar */ - return; - } - if (k == G_HOLD && a->layer == L_ROLL) { a->layer_latch = 0; return; } - } - /* pantalla abierta con un toque (FILL, ROLL, la capa de LFO): HOME la cierra; otro botón la cierra - * y hace lo suyo (LFO otra vez: solo la cierra). PLAY y OCT -/+ no la cierran, y en ROLL tampoco - * REC (graba el roll). */ - if (a->layer_latch && id != BTN_PLAY && id != BTN_OCT_DN && id != BTN_OCT_UP && !(id == BTN_REC && a->layer == L_ROLL)) { + if (a->view == V_MACH && mach_button(a, id, k)) return; /* la máquina toma sus botones (PLAY, SAVE y HOME siguen) */ + /* capa abierta con un toque: HOME la cierra; otro botón la cierra y hace lo suyo (el suyo otra + * vez: solo la cierra). PLAY y OCT -/+ no la cierran. */ + if (a->layer_latch && id != BTN_PLAY && id != BTN_OCT_DN && id != BTN_OCT_UP) { if (id == BTN_HOME) { if (k == G_TAP) { key_screen_close(a); return; } - if (k == G_HOLD) key_screen_close(a); /* y se abre la capa de HOME */ - } - else if (k == G_PRESS || k == G_TAP || k == G_HOLD) { - bool same = id == BTN_LFO && k == G_TAP && a->layer == L_REP; + } else if (k == G_TAP || k == G_HOLD) { + bool same = layer_of(a, id) == a->layer; key_screen_close(a); if (same) return; } @@ -2664,174 +1095,114 @@ void app_on_gesture(void *u, int id, bm_gkind k) switch (id) { case BTN_PLAY: if (k != G_PRESS) return; - if (a->layer == L_TONE) { tap_tempo(a); return; } app_push(a, CMD_PLAY, app_playing(a) ? 0 : 1, 0, 0); + if (a->bx.armed && !app_playing(a)) { a->bx.armed = 0; rec_set(a, 1); } /* REC armado: PLAY también arranca la toma */ /* con el reloj externo, PLAY espera los pulsos MIDI: sin ellos no avanza nada y parecía * colgado (dos veces en el aparato, con CLOCK cambiado sin querer en SYSTEM) */ if (!app_playing(a) && a->set.clock && !a->ctx.st.ext_ok) app_toast(a, "EXT CLOCK: WAITING FOR MIDI"); return; - case BTN_OCT_DN: case BTN_OCT_UP: /* 0.9: siempre la octava (en la batería y los pads, nada) */ + case BTN_OCT_DN: case BTN_OCT_UP: if (k != G_PRESS || !oct_ok(a)) return; + if (a->view == V_CH) { sound_page(a, id == BTN_OCT_UP ? 1 : -1); return; } + if (drums_track(a, a->track)) return; /* PLAY/REC de la batería: se sostienen (golpes suaves / fuertes) */ a->oct = (int8_t)bm_clampi(a->oct + (id == BTN_OCT_UP ? 1 : -1), -2, 2); snprintf(b, sizeof b, TF("OCTAVE %+d"), a->oct); app_toast(a, b); return; - case BTN_REC: - if (k == G_TAP) { - if (a->view == V_CH && a->track == 1 && a->page != PG_PADS && a->layer != L_ROLL) { /* en PADS y en ROLL, REC graba lo que tocas */ - if (a->page != PG_REC) { app_enter(a, 1, PG_REC); } - if (a->ctx.st.smp_rec || a->ctx.st.smp_armed) { app_push(a, CMD_SMP_REC, 0, 0, 0); return; } - uint32_t room = bm_app_rec_room(a); - if (!room) { app_toast(a, "TAKES FULL: DELETE ONE"); return; } - app_push_i(a, CMD_SMP_REC, a->rec_now ? 1 : 2, 0, 0, (int32_t)room); - app_toast(a, a->rec_now ? "RECORDING" : app_playing(a) ? "STARTS ON THE BAR" : "ARMED: PLAY TO RECORD"); - } else if (a->view == V_CH && a->page == PG_LOOP) app_push(a, CMD_LOOP, a->track, 1, 0); - else if (a->view == V_HOME || a->view == V_FXG) app_sloop(a, !a->sloop); /* SLOOP-REC */ - else if (a->view == V_GLO && a->glo_page == GP_SONG) song_rec_toggle(a); - else rec_set(a, !a->rec); - } else if (k == G_HOLD) { /* grabar solo mientras lo sostienes */ - if (a->view == V_CH && a->page == PG_REC) { /* en la GRABADORA: la mezcla, ya */ - uint32_t room = bm_app_rec_room(a); - if (!room) { app_toast(a, "TAKES FULL: DELETE ONE"); return; } - app_push_i(a, CMD_SMP_REC, 1, 0, 0, (int32_t)room); - a->rec_hold = 2; - } else if ((a->view == V_HOME || a->view == V_FXG) && !a->sloop) { /* la consola: SLOOP mientras lo sostienes */ - app_sloop(a, 1); - a->rec_hold = 3; - } else { /* notas, golpes o slices fijos */ - a->rec_before = a->rec; a->rec = 1; a->rec_hold = 1; - app_push(a, CMD_REC, 1, 0, 0); - app_undo_snapshot(a, a->track); - } - } else if (k == G_RELEASE || k == G_LONG) { - bool wrote = k == G_LONG && rec_hold_wrote(a); /* antes de soltar la grabación */ - if (a->rec_hold == 2) app_push(a, CMD_SMP_REC, 0, 0, 0); - else if (a->rec_hold == 3) app_sloop(a, 0); - else if (a->rec_hold == 1) { a->rec = a->rec_before; app_push(a, CMD_REC, a->rec, 0, 0); } - a->rec_hold = 0; - if (k != G_LONG) return; - /* 2 s (bm_app_button decide al bajar si los hay): en LOOP borran el loop; en un canal - * (o en la consola, el del cursor), la pista, sin preguntar (en vivo) y con HOME + OCT- - * para deshacer. Si mientras lo sostenías se grabó algo, no se borra nada. */ - if (a->view == V_CH && a->page == PG_LOOP) { app_push(a, CMD_LOOP, a->track, 2, 0); app_toast(a, "LOOP ERASED"); } - else if (!wrote && rec_erase_ok(a)) app_clear_track(a, a->track); /* toma la foto para deshacer */ + case BTN_REC: /* grabar: solo en el mezclador y su PLAY/REC */ + if (k == G_LONG && (a->view == V_HOME || a->view == V_CH)) { /* 2 s: borra el canal del cursor, sonando o parado */ + if (a->rec) rec_set(a, 0); + app_push(a, CMD_TRACK_CLEAR, a->track, 0, 0); + app_edited(a); + char b[24]; snprintf(b, sizeof b, TF("T%d CLEARED"), app_pos(a->track) + 1); + app_toast(a, b); + return; } + if (k != G_TAP || a->view != V_HOME) return; + if (a->sloop) rec_set(a, !a->rec); + else { app_sloop(a, 1); rec_set(a, 1); } return; - case BTN_GLO: - if (k == G_TAP) button_page(a, id); - else if (k == G_HOLD) open_layer(a, id); - else if (k == G_RELEASE) close_layer(a, id); + case BTN_GLO: /* el menú global del mezclador */ + if (k != G_TAP) return; + if (a->view == V_CH && bm_is_pads(a->track)) { mach_enter(a, a->track, BXP_GLO); return; } /* la rejilla del Slicer: su GLO */ + if (a->view == V_HOME) { mach_reset(a, a->track); a->glo_page = 0; app_set_view(a, V_GLO); } + else if (a->view == V_GLO) { a->mach_arm = 0; a->glo_page = (uint8_t)wrap(a->glo_page + 1, BM_GLO_PAGES); a->ov.on = 0; } /* la página siguiente; sale HOME */ return; case BTN_SAVE: if (k == G_TAP) { if (a->view == V_SAVE) { switch (a->save_row) { - case 0: + case 0: /* el patrón y, si cambiaron, las escenas */ app_save_jobs(a, 1); + if (a->song_dirty) app_job(a, JOB_SAVE_SONG, 0); snprintf(b, sizeof b, TF("SAVED A%02d"), a->ctx.st.pattern + 1); - app_toast(a, app_playing(a) ? "STOP TO SAVE" : b); + app_toast(a, app_playing(a) ? "SAVES WHEN STOPPED" : b); break; case 1: app_save_jobs(a, 0); app_job(a, JOB_SAVE_AS, a->save_target); snprintf(b, sizeof b, TF("SAVED AS A%02d"), a->save_target + 1); - app_toast(a, app_playing(a) ? "STOP TO SAVE" : b); + app_toast(a, app_playing(a) ? "SAVES WHEN STOPPED" : b); break; - case 2: app_job(a, JOB_SAVE_SONG, 0); app_toast(a, "SONG AND SCENES SAVED"); break; - case 3: + case 2: if (a->clear_armed && a->now - a->clear_t < 3000) { for (int t = 0; t < BM_TRACKS; t++) app_push(a, CMD_TRACK_CLEAR, (uint8_t)t, 0, 0); app_edited(a); a->clear_armed = 0; app_toast(a, "PATTERN CLEARED"); } else { a->clear_armed = 1; a->clear_t = a->now; app_toast(a, "SAVE AGAIN = CLEAR"); } break; - default: - snprintf(b, sizeof b, TF("%d EVENTS"), bm_pattern_count_events(&a->pat)); - app_toast(a, b); + default: break; } } else app_set_view(a, V_SAVE); - } else if (k == G_HOLD) open_layer(a, id); - else if (k == G_RELEASE) close_layer(a, id); - else if (k == G_LONG) { - close_layer(a, id); + } else if (k == G_LONG) { app_save_jobs(a, 1); - app_toast(a, app_playing(a) ? "STOP TO SAVE" : "QUICK SAVE"); + app_toast(a, app_playing(a) ? "SAVES WHEN STOPPED" : "QUICK SAVE"); } return; - case BTN_HOME: + case BTN_HOME: /* salir: a la consola; 2 s: SYSTEM */ if (k == G_TAP) { - if (a->view == V_CH && a->page == PG_REC && a->ctx.st.smp_unsaved && !a->ctx.st.smp_rec) { /* la toma sin guardar: preguntar */ - app_ask(a, ASK_DISCARD, 0, 0, "DISCARD THE NEW TAKE?", "IT IS NOT SAVED YET"); - return; - } - if (a->view == V_COPYCH) app_toast(a, "CANCELED"); - a->card = 0; a->mach_arm = 0; - app_set_view(a, V_HOME); /* 0.9: HOME siempre vuelve a MIX */ - } else if (k == G_HOLD) { a->home_used = 0; a->home_go = 0; open_layer(a, id); } - else if (k == G_RELEASE) { - close_layer(a, id); - if (a->pat_sel >= 0) { app_select_pattern(a, a->pat_sel); a->pat_sel = -1; } /* el patrón que quedó en PRESETS */ - if (a->home_go) { int t = a->home_go - 1; a->home_go = 0; app_enter(a, t, a->ch_page[t]); } /* HOME + blanca 11-16 */ - } else if (k == G_LONG) { close_layer(a, id); app_set_view(a, V_SYSTEM); } + a->mach_arm = 0; + app_sloop(a, 0); + app_set_view(a, V_HOME); + } else if (k == G_LONG) { app_sloop(a, 0); app_set_view(a, V_SYSTEM); } return; default: break; } - if (k == G_TAP) button_page(a, id); - else if (k == G_HOLD) open_layer(a, id); - else if (k == G_RELEASE) close_layer(a, id); - else if (k == G_LONG) { - close_layer(a, id); - if (id == BTN_SEQ) { a->time_row = a->track; app_set_view(a, V_TIME); } - else if (id == BTN_EDIT) { - if (a->view == V_COPYCH) copy_channel(a); /* COPY TRACK: EDIT 2 s pega */ - else if (a->track == 1) app_enter(a, 1, PG_TAKES); - else { snprintf(b, sizeof b, TF("INIT SOUND ON T%d?"), a->track + 1); app_ask(a, ASK_INIT, a->track, 0, b, "THE SOUND SETTINGS ARE LOST"); } - } + /* Un clic entra y otro sale: SEQ abre el secuenciador de la batería y lo cierra; LFO, ENV y EDIT, + * ahí dentro, abren su capa y la cierran (sostener es lo mismo que un clic). En HOME, con el cursor + * en la batería, cada uno lleva directo a lo suyo: SEQ al secuenciador, LFO/ENV/EDIT a su capa. */ + if (k != G_TAP && k != G_HOLD) return; + int L = layer_of(a, id); + if (bm_is_pads(a->track) && (a->view == V_HOME || a->view == V_CH)) { /* el Slicer: SEQ, LFO y SCL su rejilla; EDIT, ENV y FX sus páginas */ + int p = slicer_page_of(id); + if (a->view == V_HOME && (id == BTN_SEQ || L)) app_slicer_grid(a, id == BTN_SEQ ? L_NONE : L); + else if (a->view == V_CH && L) layer_latch_open(a, L); /* SEQ otra vez: LENGTH AND SPEED */ + else if (p >= 0 && !(a->view == V_HOME && id == BTN_GLO)) mach_enter(a, a->track, p); /* (GLO en HOME es el de la consola) */ + return; + } + if (a->view == V_HOME && mach_has(a->pat.trk[a->track].engine)) { /* una máquina de notas: cada botón a su página */ + int p = mach_page_of(a->pat.trk[a->track].engine, id); + if (p >= 0 && id != BTN_GLO) mach_enter(a, a->track, p); + return; + } + if (a->view == V_HOME) { + if (!drums_track(a, a->track) || (id != BTN_SEQ && !L)) return; + app_sloop(a, 0); + app_enter(a, a->track, PG_SEQ); + if (L) layer_latch_open(a, L); + return; } + if (a->view != V_CH) return; + if (id == BTN_SEQ) { app_set_view(a, V_HOME); return; } + if (L) layer_latch_open(a, L); } void bm_app_button(bm_app *a, int id, int down, uint32_t now) { a->now = now; if (id < 0 || id >= BTN_COUNT) return; - uint16_t bit = (uint16_t)(1u << id); - if (down && id != BTN_HOME && bm_gesture_is_down(&a->ges, BTN_HOME)) { a->home_mod |= bit; a->home_done &= (uint16_t)~bit; a->home_used = 1; } - if (down && id == BTN_REC) { /* REC 2 s: en LOOP borra el loop; en un canal (o la consola), la pista */ - bool lp = a->view == V_CH && a->page == PG_LOOP && !a->layer; - bool ers = !bm_gesture_is_down(&a->ges, BTN_HOME) && rec_erase_ok(a); - bm_gesture_set_long(&a->ges, BTN_REC, (uint16_t)(lp || ers ? UI_LONG_MS : 0)); - } - if (down && id == BTN_EDIT) /* EDIT 2 s: en una máquina INIT / TAKES, en COPY TRACK pegar */ - bm_gesture_set_long(&a->ges, BTN_EDIT, (uint16_t)(a->view == V_CH || a->view == V_COPYCH ? UI_LONG_MS : 0)); - if (a->ask && id == a->ask_ctl) { /* el botón que preguntó: sostenido 2 s = sí, soltarlo = no */ - if (down) { a->ask_live = 1; a->ask_t0 = now; } - else { a->ask_eat |= bit; ask_no(a, 1); } - } if (down) bm_gesture_down(&a->ges, id, now); else bm_gesture_up(&a->ges, id, now); - if (!down) { a->home_mod &= (uint16_t)~bit; a->home_done &= (uint16_t)~bit; a->ask_eat &= (uint16_t)~bit; } -} - -/* ------------------------------------------------------------ perillas */ -static void enc_macro(bm_app *a, int t, int i, int d) -{ - int v = bm_clampi(a->pat.trk[t].macro[i] + d, 0, 127); - app_set_track(a, t, (uint8_t)i, v); - if (a->rec && app_playing(a) && app_kind(a, t) == KIND_NOTE) /* REC: la nota sostenida graba la perilla */ - for (int k = 0; k < BM_KEYS; k++) { - if (a->key_rec_step[k] < 0 || a->key_trk[k] != t) continue; - for (int e = 0; e < BM_EVENTS; e++) { - bm_event ev = *bm_evc(&a->pat, t, a->key_rec_step[k], e); - if (bm_event_empty(&ev)) continue; - ev.lk[i] = (uint8_t)v; - app_push_ev(a, t, a->key_rec_step[k], e, &ev); - } - a->knob_rec = 1; - } - char b[12], ti[22]; - bm_fmt_macro(a, t, i, v, b, sizeof b); - snprintf(ti, sizeof ti, "T%d %s", t + 1, T(bm_macro_name(a, t, i))); - app_overlay(a, i, ti, b, "", v * 2, -1, bm_knob_color(i)); } static void enc_track_u8(bm_app *a, int t, int k, uint8_t off, int cur, int d, int lo, int hi, const char *name, int pct_mul) @@ -2840,220 +1211,70 @@ static void enc_track_u8(bm_app *a, int t, int k, uint8_t off, int cur, int d, i app_set_track(a, t, off, v); char b[12], ti[22]; fmt_pct(v, b, sizeof b); - snprintf(ti, sizeof ti, "T%d %s", t + 1, T(name)); + snprintf(ti, sizeof ti, "T%d %s", app_pos(t) + 1, T(name)); app_overlay(a, k, ti, b, "", v * pct_mul, -1, k >= 0 ? bm_knob_color(k) : C_WHITE); } -static void enc_step_grid(bm_app *a, int id, int d) +/* GLO de HOME, páginas TEMPO y MASTER FX: lo del proyecto entero */ +typedef struct { const char *name; uint8_t off, lo, hi; } glo_par; +static const glo_par GLO_P[2][4] = { + {{"SWING", offsetof(bm_meta, swing), 50, 75}, {"SCALE", offsetof(bm_meta, scale), 0, BM_SCALES - 1}, + {"ROOT", offsetof(bm_meta, root), 0, 11}, {"TRANSP", offsetof(bm_meta, transpose), 12, 36}}, + {{"DLY TIME", offsetof(bm_meta, dly_time), 0, 3}, {"DLY FDBK", offsetof(bm_meta, dly_fb), 0, 127}, + {"REV SIZE", offsetof(bm_meta, rv_size), 0, 127}, {"REV MIX", offsetof(bm_meta, rv_mix), 0, 127}}}; +static const char *const DLY_T[4] = {"1/16", "1/8", "3/16", "1/4"}; + +static void glo_fmt(int pg, int k, int v, char *b, int cap) { - int t = a->track, s = a->held_step, lane = tr_lane(a); - const bm_tr *tr = bm_trk_trc(&a->pat, t); - uint8_t bb; - bb = tr->st[lane][s]; - if (!(bb & ST_ON)) { app_toast(a, "EMPTY STEP"); return; } - a->held_long = 1; a->held_edit = 1; - char b[16], ti[22]; - if (id >= ENC_K1 && id <= ENC_K4) { - int i = id - ENC_K1; - int cur = bm_tr_lock_get(tr, s, lane, i); - if (cur < 0) cur = a->pat.trk[t].macro[i]; - int v = bm_clampi(cur + d, 0, 127); - app_push_i(a, CMD_TR_LOCK, (uint8_t)t, (uint8_t)lane, (uint8_t)s, (i << 8) | v); - app_edited(a); - bm_fmt_macro(a, t, i, v, b, sizeof b); - snprintf(ti, sizeof ti, "P-LOCK %02d %s", s + 1, T(bm_macro_name(a, t, i))); - app_overlay(a, i, ti, b, "", v * 2, a->pat.trk[t].macro[i] * 2, bm_knob_color(i)); - return; - } - if (id == ENC_SELECT) { - bb = d > 0 ? (uint8_t)(bb | ST_ACC) : (uint8_t)(bb & ~ST_ACC); - snprintf(b, sizeof b, "%s", (bb & ST_ACC) ? "ACCENT" : "NORMAL"); - snprintf(ti, sizeof ti, TF("STEP %02d HIT"), s + 1); - } else if (id == ENC_ALGO) { - int r = (bb & ST_FLAM) ? 4 : ((bb & ST_RAT_MASK) >> ST_RAT_SH); - r = bm_clampi(r + lst(a, d), 0, 4); - bb = (uint8_t)(bb & ~(ST_RAT_MASK | ST_FLAM)); - if (r == 4) bb |= ST_FLAM; else bb |= (uint8_t)(r << ST_RAT_SH); - snprintf(b, sizeof b, "%s", RAT_NAMES[r]); - snprintf(ti, sizeof ti, TF("STEP %02d REPEAT"), s + 1); - } else { - int c = (bb & ST_COND_MASK) >> ST_COND_SH; - c = bm_clampi(c + lst(a, d), 0, 2); - bb = (uint8_t)((bb & ~ST_COND_MASK) | (c << ST_COND_SH)); - snprintf(b, sizeof b, "%s", COND_NAMES[c]); - snprintf(ti, sizeof ti, TF("STEP %02d CONDITION"), s + 1); - } - app_push_i(a, CMD_SET_TRSTEP, (uint8_t)t, (uint8_t)lane, (uint8_t)s, bb); - app_edited(a); - app_overlay(a, -1, ti, b, "", 128, -1, C_WHITE); + if (pg == 1 && k == 1) snprintf(b, (size_t)cap, "%s", bm_scale_names[v % BM_SCALES]); + else if (pg == 1 && k == 2) snprintf(b, (size_t)cap, "%s", bm_note_names[v % 12]); + else if (pg == 1 && k == 3) snprintf(b, (size_t)cap, v > 24 ? "+%d" : "%d", v - 24); + else if (pg == 1 && k == 0) snprintf(b, (size_t)cap, "%d%%", v); + else if (pg == 2 && k == 0) snprintf(b, (size_t)cap, "%s", DLY_T[v & 3]); + else snprintf(b, (size_t)cap, "%d%%", (v * 100 + 63) / 127); } -static void enc_step_syn(bm_app *a, int id, int d) +static void glo_knob(bm_app *a, int k, int d) { - int t = a->track, s = a->held_step; - int idx[4]; - int n = syn_step_events(a, t, s, idx); - if (!n) { app_toast(a, "EMPTY STEP"); return; } - a->held_long = 1; a->held_edit = 1; - char b[16] = "", ti[22]; - if (id >= ENC_K1 && id <= ENC_K4) { - int i = id - ENC_K1; - const bm_event *e0 = bm_evc(&a->pat, t, s, idx[0]); - int base = e0->lk[i] != BM_LOCK_NONE ? e0->lk[i] : a->pat.trk[t].macro[i]; - int v = bm_clampi(base + d, 0, 127); - for (int j = 0; j < n; j++) { bm_event e = *bm_evc(&a->pat, t, s, idx[j]); e.lk[i] = (uint8_t)v; app_push_ev(a, t, s, idx[j], &e); } - bm_fmt_macro(a, t, i, v, b, sizeof b); - snprintf(ti, sizeof ti, "P-LOCK %02d %s", s + 1, T(bm_macro_name(a, t, i))); - app_overlay(a, i, ti, b, "", v * 2, a->pat.trk[t].macro[i] * 2, bm_knob_color(i)); - app_edited(a); - return; - } - const char *nm = ""; - for (int j = 0; j < n; j++) { - bm_event e = *bm_evc(&a->pat, t, s, idx[j]); - if (id == ENC_SELECT) { /* acento: normal > acento > fantasma */ - int lv = e.vel >= BM_VEL_ACC ? 2 : e.vel <= BM_VEL_GHOST ? 0 : 1; - lv = bm_clampi(lv + lst(a, d), 0, 2); - e.vel = lv == 2 ? BM_VEL_ACC : lv == 0 ? BM_VEL_GHOST : BM_VEL_NORMAL; - if (j == 0) snprintf(b, sizeof b, "%s", lv == 2 ? "ACCENT" : lv == 0 ? "GHOST" : "NORMAL"); - nm = "HIT"; - } else if (id == ENC_ALGO) { - int p = e.prob == BM_PROB_FILL ? 101 : e.prob == BM_PROB_NOFILL ? 102 : e.prob; - if (p <= 100) p = bm_clampi(p + d * 5, 0, 102); else p = bm_clampi(p + lst(a, d), 95, 102); - e.prob = p == 101 ? BM_PROB_FILL : p == 102 ? BM_PROB_NOFILL : (uint8_t)bm_clampi(p, 0, 100); - if (j == 0) { if (p == 101) snprintf(b, sizeof b, "FILL ONLY"); else if (p == 102) snprintf(b, sizeof b, "NO FILL"); else snprintf(b, sizeof b, "%d%%", e.prob); } - nm = "PROB/FILL"; - } else { - int cur = (e.len & BM_LEN_TIE) ? 17 : (e.len & BM_LEN_MASK); - cur = bm_clampi(cur + d, 1, 17); - e.len = cur == 17 ? (uint8_t)(1 | BM_LEN_TIE) : (uint8_t)cur; - if (j == 0) { if (cur == 17) snprintf(b, sizeof b, "TIE"); else snprintf(b, sizeof b, TF("%d STEPS"), cur); } - nm = "LENGTH"; - } - app_push_ev(a, t, s, idx[j], &e); - } - snprintf(ti, sizeof ti, TF("STEP %02d %s"), s + 1, T(nm)); - app_overlay(a, -1, ti, b, "", 128, -1, C_WHITE); - app_edited(a); + int pg = a->glo_page; + if (pg < 1 || pg > 2) return; + const glo_par *p = &GLO_P[pg - 1][k]; + int cur = ((const uint8_t *)&a->pat.meta)[p->off]; + int v = bm_clampi(cur + (p->hi - p->lo <= 24 ? lst(a, d) : d), p->lo, p->hi); + if (v == cur) return; + app_set_meta(a, p->off, v); + char b[12]; + glo_fmt(pg, k, v, b, sizeof b); + app_overlay(a, k, p->name, b, "", (v - p->lo) * 255 / (p->hi - p->lo), -1, bm_knob_color(k)); } -static bool enc_global(bm_app *a, int k, int d) +static void legend_glo(const bm_app *a, bm_legend *L) { - bm_meta *m = &a->pat.meta; - char b[16]; - switch (k) { - case 0: { - int bpm = bm_clampi(m->bpm_x10 + d * 10, 400, 2400); - app_push_i(a, CMD_SET_BPM, 0, 0, 0, bpm); app_edited(a); - snprintf(b, sizeof b, "%d.%d", bpm / 10, bpm % 10); - app_overlay(a, -1, "TEMPO", b, "BPM", (bpm - 400) * 255 / 2000, -1, C_TEMPO); - a->ov.beat = 1; - return true; - } - case 1: { - int sw = bm_clampi(m->swing + lst(a, d), 50, 75); - app_set_meta(a, META_OFF(swing), sw); - snprintf(b, sizeof b, "%d", sw); - app_overlay(a, 1, "SWING 50=STRAIGHT", b, "%", (sw - 50) * 255 / 25, -1, bm_knob_color(1)); - return true; - } - case 2: { - int i = 0; - while (i < 6 && bm_master_steps_tab[i] != m->master) i++; - i = bm_clampi((i >= 6 ? 3 : i) + lst(a, d), 0, 5); - app_set_meta(a, META_OFF(master), bm_master_steps_tab[i]); - fmt_master(bm_master_steps_tab[i], b, sizeof b); - app_overlay(a, 2, "MASTER LENGTH", b, bm_master_steps_tab[i] ? "STEPS" : "", i * 51, -1, bm_knob_color(2)); - return true; - } - case 3: - a->set.drive = (uint8_t)bm_clampi(a->set.drive + d, 0, 127); - app_push(a, CMD_DRIVE, a->set.drive, 0, 0); - a->set_dirty = 1; a->t_edit = a->now; - fmt_pct(a->set.drive, b, sizeof b); - app_overlay(a, 3, "DRIVE (SOFT-CLIP)", b, "", a->set.drive * 2, -1, bm_knob_color(3)); - return true; - default: return false; + int pg = a->glo_page; + if (pg < 1 || pg > 2) return; + char b[12]; + for (int k = 0; k < 4; k++) { + const glo_par *p = &GLO_P[pg - 1][k]; + int v = ((const uint8_t *)&a->pat.meta)[p->off]; + glo_fmt(pg, k, v, b, sizeof b); + L4(L, k, p->name, b, (v - p->lo) * 255 / (p->hi - p->lo)); } } -static void enc_fill_every(bm_app *a, int d) +/* HOME, ALGORITHM: el BPM del proyecto (global) */ +static void enc_bpm(bm_app *a, int d) { - static const uint8_t FE[4] = {0, 2, 4, 8}; bm_meta *m = &a->pat.meta; + int bpm = bm_clampi(m->bpm_x10 + d * 10, 400, 2400); char b[16]; - int i = 0; - while (i < 4 && FE[i] != m->fill_every) i++; - i = bm_clampi((i >= 4 ? 0 : i) + lst(a, d), 0, 3); - app_set_meta(a, META_OFF(fill_every), FE[i]); - if (FE[i]) snprintf(b, sizeof b, TF("EVERY %d"), FE[i]); else snprintf(b, sizeof b, "OFF"); - app_overlay(a, -1, "AUTOMATIC FILL", b, FE[i] ? "BARS" : "", i * 85, -1, C_WHITE); -} - -static void enc_transpose(bm_app *a, int d) -{ - int tp = bm_clampi(a->pat.meta.transpose + d, 0, 48); - app_set_meta(a, META_OFF(transpose), tp); - char b[12]; snprintf(b, sizeof b, "%+d", tp - 24); - app_overlay(a, -1, "PROJECT TRANSPOSE", b, "ST", tp * 5, 120, C_CYAN); -} - -/* REC expresivo en el paso marcado (docs/DISENO_0.6.md §8): el largo del último paso y el corrimiento */ -/* en pantalla: 100 = TIE (liga con la siguiente), 95 = el paso entero (gate 0), 10..90 = el porcentaje */ -static int ev_gate_ui(const bm_event *e) { return (e->len & BM_LEN_TIE) ? 100 : e->gate ? e->gate : 95; } - -static void enc_rec(bm_app *a, int id, int d) -{ - int t = a->track, len = bm_trk_len(&a->pat, t, -1); - char b[16]; - if (a->rec_step < 0 || a->rec_step >= len) a->rec_step = (int8_t)bm_clampi(a->step_page * 16, 0, len - 1); - if (id == ENC_SELECT) { - a->rec_step = (int8_t)bm_clampi(a->rec_step + lst(a, d), 0, len - 1); - a->step_page = (uint8_t)(a->rec_step / 16); - snprintf(b, sizeof b, "%d", a->rec_step + 1); - app_overlay(a, -1, "REC STEP", b, "", a->rec_step * 255 / (len > 1 ? len - 1 : 1), -1, C_RED); - return; - } - int s = a->rec_step, n = 0, shown = 0; - for (int e = 0; e < BM_EVENTS; e++) { - bm_event ev = *bm_evc(&a->pat, t, s, e); - if (bm_event_empty(&ev)) continue; - if (id == ENC_ALGO) { - int g = bm_clampi(ev_gate_ui(&ev) + 5 * lst(a, d), 10, 100); - ev.len = (uint8_t)((ev.len & BM_LEN_MASK) | (g >= 100 ? BM_LEN_TIE : 0)); - ev.gate = (uint8_t)(g >= 95 ? 0 : g); - shown = g; - } else { - ev.micro = (int8_t)bm_clampi(ev.micro + lst(a, d), -11, 11); - shown = ev.micro; - } - app_push_ev(a, t, s, e, &ev); - n++; - } - if (!n) { app_toast(a, "EMPTY STEP: PLAY A NOTE THERE FIRST"); return; } - app_edited(a); - if (id == ENC_ALGO) { - a->rec_gate = (uint8_t)shown; - if (shown >= 100) snprintf(b, sizeof b, "TIE"); else snprintf(b, sizeof b, "%d", shown); - app_overlay(a, -1, "GATE LENGTH", b, shown >= 100 ? "" : "%", shown * 255 / 100, -1, C_GREEN); - } else { - a->rec_micro = (int8_t)shown; - snprintf(b, sizeof b, "%+d", shown); - app_overlay(a, -1, "MICRO TIMING", b, "TICKS", (shown + 11) * 255 / 22, 128, C_ORANGE); - } -} - -static void enc_bpm_fine(bm_app *a, int d) -{ - int bpm = bm_clampi(a->pat.meta.bpm_x10 + lst(a, d), 400, 2400); app_push_i(a, CMD_SET_BPM, 0, 0, 0, bpm); app_edited(a); - char b[12]; snprintf(b, sizeof b, "%d.%d", bpm / 10, bpm % 10); - app_overlay(a, -1, "TEMPO (FINE)", b, "BPM", (bpm - 400) * 255 / 2000, -1, C_TEMPO); + snprintf(b, sizeof b, "%d.%d", bpm / 10, bpm % 10); + app_overlay(a, -1, "TEMPO", b, "BPM", (bpm - 400) * 255 / 2000, -1, C_TEMPO); a->ov.beat = 1; } -/* Controles bipolares (MOVE, filtro DJ, PAN): el centro retiene 2 detents antes de salir, y un giro - * que lo cruza se para en él (como la zona OPEN del filtro del master). */ +/* Controles bipolares (el filtro DJ): el centro retiene 2 detents antes de salir, y un giro que lo + * cruza se para en él. */ static int center_stop(bm_app *a, int cur, int d, int c, int lo, int hi) { int nv = bm_clampi(cur + d, lo, hi); @@ -3081,65 +1302,41 @@ static void fmt_djf(uint8_t djf, char *b, int cap) else snprintf(b, (size_t)cap, "%s %d", p < 0 ? "LP" : "HP", p < 0 ? -p : p); } -/* HOME (0.7), K1-K4: el canal del cursor como una tira de mezclador: nivel, filtro DJ, delay, reverb */ +/* HOME, K1-K4: el canal del cursor como una tira de mezclador: VOLUME, FILTER (DJ), DELAY, REVERB */ static void enc_home(bm_app *a, int k, int d) { int t = a->track; const bm_track *tr = &a->pat.trk[t]; char b[16], ti[22]; switch (k) { - case 0: - snprintf(ti, sizeof ti, TF("T%d LEVEL"), t + 1); - enc_track_u8(a, t, 0, TRK_OFF(level), tr->level, d, 0, 127, ti, 2); - return; + case 0: enc_track_u8(a, t, 0, TRK_OFF(level), tr->level, d, 0, 127, "VOLUME", 2); return; case 1: { int p = center_stop(a, djf_pos(tr->djf), d, 0, -63, 63); app_set_track(a, t, TRK_OFF(djf), djf_of(p)); a->pat.trk[t].djf = djf_of(p); fmt_djf(djf_of(p), b, sizeof b); - snprintf(ti, sizeof ti, TF("T%d FILTER"), t + 1); + snprintf(ti, sizeof ti, TF("T%d FILTER"), app_pos(t) + 1); app_overlay(a, 1, ti, b, "", (p + 64) * 2, 128, bm_knob_color(1)); return; } - case 2: - snprintf(ti, sizeof ti, TF("T%d DELAY"), t + 1); - enc_track_u8(a, t, 2, TRK_OFF(send), tr->send, d, 0, 127, ti, 2); - return; - case 3: - snprintf(ti, sizeof ti, TF("T%d REVERB"), t + 1); - enc_track_u8(a, t, 3, TRK_OFF(rsend), tr->rsend, d, 0, 127, ti, 2); - return; + case 2: enc_track_u8(a, t, 2, TRK_OFF(send), tr->send, d, 0, 127, "DELAY", 2); return; + case 3: enc_track_u8(a, t, 3, TRK_OFF(rsend), tr->rsend, d, 0, 127, "REVERB", 2); return; default: return; } } -/* HOME, PRESETS = MOVE (0.7): una perilla que mueve toda la mezcla. A la izquierda cierra el filtro - * del master y manda la mezcla al eco; a la derecha abre el pasa-altos y la lava en la reverb. En - * vivo: no se guarda. Los patrones se eligen con las blancas. */ -static void enc_move(bm_app *a, int d) -{ - a->move = (int8_t)center_stop(a, a->move, d, 0, -63, 63); - app_push(a, CMD_MOVE, (uint8_t)a->move, 0, 0); - char b[8]; - snprintf(b, sizeof b, "%+d", a->move); - app_overlay(a, -1, a->move < 0 ? "MOVE DARK + ECHO" : a->move > 0 ? "MOVE BRIGHT + WASH" : "MOVE OFF", - a->move ? b : "0", "", (a->move + 64) * 2, 128, C_PINK); -} - -static void box_turn_in(bm_app *a, int d, int lane); - -/* Cambio de máquina (T3-T6), desde la consola: la tarjeta del canal (su blanca sostenida + ALGORITHM) - * o GLO > MACHINES. ALGORITHM mueve la elegida entre las 5, sin pregunta; quedarse 2 s en una la - * carga (en vivo: se elige girando y se suelta); irse antes, o soltar la tarjeta, cancela. Una pesada - * (BUNO-6, BITTAL) que ya está en otro canal no arranca la cuenta. La máquina queda por patrón. */ +/* Asignar una máquina a un canal (T3-T6), desde GLO > SELECT MACHINE: ALGORITHM mueve la elegida + * entre las 4, sin pregunta; quedarse 2 s en una la carga (en vivo: se elige girando y se suelta); + * irse antes, o salir de GLO, cancela. Una pesada (BUNO-6, BITTAL) que ya está en otro canal no + * arranca la cuenta. La máquina queda por patrón. */ static void mach_reset(bm_app *a, int t) /* empieza en la que suena, sin cuenta */ { a->mach_trk = (uint8_t)t; a->mach_sel = a->pat.trk[t].engine; a->mach_arm = 0; } -static void mach_turn(bm_app *a, int t, int d) +static void glo_mach_turn(bm_app *a, int t, int d) { - if (t < BM_TR_TRACKS) { app_toast(a, "T1 AND T2 ARE FIXED MACHINES"); return; } + if (app_fixed(t)) { app_toast(a, "THIS MACHINE IS FIXED"); return; } if (a->mach_trk != t) mach_reset(a, t); int i = 0; while (i < BM_MACHINES && bm_machines[i] != a->mach_sel) i++; @@ -3151,99 +1348,67 @@ static void mach_turn(bm_app *a, int t, int d) a->mach_arm = 0; if (a->mach_sel == a->pat.trk[t].engine) return; /* la que suena: nada que cargar */ int o = bm_machine_conflict(&a->pat, t, a->mach_sel); - if (o >= 0) { - char b[30]; snprintf(b, sizeof b, TF("%s ALREADY ON T%d"), bm_engine_names[a->mach_sel], o + 1); - app_toast(a, b); - return; - } - a->mach_arm = 1; -} - -/* la cuenta: a los 2 s en la misma, el canal cambia de máquina (mientras la tarjeta o GLO > MACHINES siga abierta) */ -static void mach_tick(bm_app *a) -{ - if (!a->mach_arm) return; - bool open = (a->card && a->card - 1 == a->mach_trk) || (a->view == V_GLO && a->glo_page == GP_MACH && a->track == a->mach_trk); - if (!open || a->layer) { a->mach_arm = 0; return; } - if (a->now - a->mach_t0 < BM_MACH_MS) return; - a->mach_arm = 0; - app_set_machine(a, a->mach_trk, a->mach_sel); -} - -/* ALGORITHM dentro de un canal: el modo de su máquina (docs/DISENO_0.6.md §5.3) */ -static void enc_mode(bm_app *a, int d) -{ - int t = a->track; - const bm_track *tr = &a->pat.trk[t]; - char b[20]; - switch (tr->engine) { - case ENG_DRUM: box_turn_in(a, d, 1); return; /* el instrumento */ - case ENG_BREAK: { /* el pad */ - int p = bm_clampi((a->sel_lane[1] & 15) + lst(a, d), 0, BM_LANES - 1); - a->sel_lane[1] = (uint8_t)p; - app_wave_view(a, a->pat.pad[p].src, a->pat.pad[p].start, a->cut_zoom); - snprintf(b, sizeof b, TF("PAD %d"), p + 1); - app_toast(a, b); - return; - } - case ENG_ACID: { /* la forma de onda: derecha SQUARE */ - int v = d > 0; - if (v == (a->pat.prm[t][AC_WAVE] & 1)) return; - app_push(a, CMD_SET_PRM, (uint8_t)t, AC_WAVE, (uint8_t)v); - a->pat.prm[t][AC_WAVE] = (uint8_t)v; - app_edited(a); - app_overlay(a, -1, "BB-303 WAVEFORM", v ? "SQUARE" : "SAW", "", v * 255, -1, bm_track_color(t)); - return; - } - case ENG_MINI: { /* derecha LEGATO, izquierda MONO */ - int v = d > 0; - if (v == (a->pat.prm[t][MN_MODE] != 0)) return; - app_push(a, CMD_SET_PRM, (uint8_t)t, MN_MODE, (uint8_t)v); - a->pat.prm[t][MN_MODE] = (uint8_t)v; - app_edited(a); - app_overlay(a, -1, "B-MINI MODE", v ? "LEGATO" : "MONO", "", v * 255, -1, bm_track_color(t)); - return; - } - case ENG_FM: { /* el algoritmo, 1..32 */ - int alg = bm_clampi(bm_fm_alg_of(tr, a->pat.prm[t]) + lst(a, d), 1, 32); - app_push(a, CMD_SET_PRM, (uint8_t)t, FX_ALG, (uint8_t)alg); - a->pat.prm[t][FX_ALG] = (uint8_t)alg; - app_edited(a); - snprintf(b, sizeof b, "%d", alg); - app_overlay(a, -1, "BX-7 ALGORITHM", b, "/ 32", (alg - 1) * 8, -1, bm_track_color(t)); - return; - } - case ENG_BITTAL: { /* la tabla del oscilador 1 */ - int n = bm_snap_count(ENG_BITTAL); - int v = bm_clampi(a->pat.prm[t][BT_TAB1] + lst(a, d), 0, n); - app_push(a, CMD_SET_PRM, (uint8_t)t, BT_TAB1, (uint8_t)v); - a->pat.prm[t][BT_TAB1] = (uint8_t)v; - app_edited(a); - app_overlay(a, -1, "OSC 1 TABLE", v ? bm_snap_name(ENG_BITTAL, v - 1) : "OWN", "", v * 255 / (n ? n : 1), -1, bm_track_color(t)); + if (o >= 0) { + char b[30]; snprintf(b, sizeof b, TF("%s ALREADY ON T%d"), bm_engine_names[a->mach_sel], app_pos(o) + 1); + app_toast(a, b); return; } - case ENG_BUNO: { /* el chorus */ - int v = wrap(a->pat.prm[t][BN_CHORUS] + lst(a, d), BN_CHORUSES); - app_push(a, CMD_SET_PRM, (uint8_t)t, BN_CHORUS, (uint8_t)v); - a->pat.prm[t][BN_CHORUS] = (uint8_t)v; - app_edited(a); - app_overlay(a, -1, "BUNO-6 CHORUS", bm_bn_chorus_names[v], "", v * 85, -1, bm_track_color(t)); + if (bm_engine_heavy(a->mach_sel) && bm_heavy_count(&a->pat, t) >= BM_HEAVY_MAX) { /* dice dónde están, para cambiar una de ellas */ + char b[30]; int n = snprintf(b, sizeof b, "%s", T("2 HEAVY ON")); + for (int i = 0; i < BM_TRACKS && n < (int)sizeof b - 4; i++) { + int o = BM_ORDER[i]; + if (o != t && bm_engine_heavy(a->pat.trk[o].engine)) n += snprintf(b + n, sizeof b - (size_t)n, " T%d", i + 1); + } + app_toast(a, b); return; } - default: return; + a->mach_arm = 1; +} + +/* El GLO de cada máquina, MACHINE: solo las que este canal puede tener ahora (una pesada que ya está + * en otro canal, o una tercera pesada, no aparecen); quedarse 2 s en una la carga, como en HOME. */ +static bool mach_avail(const bm_app *a, int t, int e) +{ + if (e == a->pat.trk[t].engine) return true; + if (!bm_engine_ok(t, e) || bm_machine_conflict(&a->pat, t, e) >= 0) return false; + return !(bm_engine_heavy(e) && bm_heavy_count(&a->pat, t) >= BM_HEAVY_MAX); +} + +int app_mach_shown(const bm_app *a) { return a->mach_trk == a->track ? a->mach_sel : a->pat.trk[a->track].engine; } + +void app_mach_pick(bm_app *a, int d) +{ + int t = a->track; + if (a->mach_trk != t) mach_reset(a, t); + int i = 0; + while (i < BM_MACHINES && bm_machines[i] != a->mach_sel) i++; + if (i >= BM_MACHINES) i = 0; + for (int n = lst(a, d), dir = n > 0 ? 1 : -1; n; n -= dir) { /* saltando las que no se pueden */ + int j = i + dir; + while (j >= 0 && j < BM_MACHINES && !mach_avail(a, t, bm_machines[j])) j += dir; + if (j < 0 || j >= BM_MACHINES) break; + i = j; } + a->mach_sel = bm_machines[i]; + a->mach_t0 = a->now; + a->mach_arm = (uint8_t)(a->mach_sel != a->pat.trk[t].engine); + char ti[22]; + snprintf(ti, sizeof ti, "T%d %s", app_pos(t) + 1, T("MACHINE")); + app_overlay(a, 1, ti, bm_engine_names[a->mach_sel], "", i * 255 / (BM_MACHINES - 1), -1, bm_knob_color(1)); } -static void enc_pattern(bm_app *a, int d) +/* la cuenta: a los 2 s en la misma, el canal cambia de máquina (mientras su GLO siga abierto) */ +static void mach_tick(bm_app *a) { - int base = a->pat_sel >= 0 ? a->pat_sel : a->ctx.st.pattern; - a->pat_sel = (int8_t)bm_clampi(base + lst(a, d), 0, BM_PATTERNS - 1); - a->pat_sel_t = a->now; - char b[8]; snprintf(b, sizeof b, "A%02d", a->pat_sel + 1); - app_overlay(a, -1, app_playing(a) ? "PATTERN (QUEUED)" : "PATTERN", b, "", a->pat_sel * 17, -1, C_WHITE); + if (!a->mach_arm) return; + bool glo = a->view == V_GLO || (a->view == V_MACH && a->bx.page == BXP_GLO); + if (!glo || a->track != a->mach_trk) { a->mach_arm = 0; return; } + if (a->now - a->mach_t0 < BM_MACH_MS) return; + a->mach_arm = 0; + app_set_machine(a, a->mach_trk, a->mach_sel); } -/* ALGORITHM en INSTR (batería): un recuadro dice a qué instrumento vas; al rato lo eliges (y suena). */ +/* ALGORITHM en el secuenciador de la batería: un recuadro dice a qué instrumento vas; al rato lo eliges (y suena). */ static void box_commit(bm_app *a) { a->box_on = 0; @@ -3254,10 +1419,9 @@ static void box_commit(bm_app *a) app_toast(a, b); } -static void box_turn_in(bm_app *a, int d, int lane) +static void box_turn(bm_app *a, int d) { - (void)lane; - if (!a->box_on || a->box_mode != BOX_LANE) { a->box_track = a->track; a->box_lane = (uint8_t)tr_lane(a); a->box_mode = BOX_LANE; } + if (!a->box_on) { a->box_track = a->track; a->box_lane = (uint8_t)tr_lane(a); a->box_mode = BOX_LANE; } a->box_lane = (uint8_t)bm_clampi(a->box_lane + lst(a, d), 0, BM_LANES - 1); int ms = bm_app_enter_ms(a); a->box_on = 1; a->box_hold = 0; @@ -3265,18 +1429,14 @@ static void box_turn_in(bm_app *a, int d, int lane) a->box_until = a->now + (uint32_t)ms; } +/* PRESETS: el sonido del canal (el kit de la batería, la toma del sampler, el preset de cada máquina) */ +static void enc_source(bm_app *a, int t, int d); +void app_enc_source(bm_app *a, int t, int d) { enc_source(a, t, d); } + static void enc_source(bm_app *a, int t, int d) { char b[16]; int kind = app_kind(a, t); - if (app_midi(a, t)) { - int v = bm_clampi(a->pat.trk[t].macro[1] + lst(a, d), 0, 127); - app_set_track(a, t, 1, v); - app_push(a, CMD_MIDI_SEND, (uint8_t)(0xC0 | (a->pat.trk[t].midi_ch & 15)), (uint8_t)v, 0xFF); - snprintf(b, sizeof b, "%d", v + 1); - app_overlay(a, -1, "MIDI PROGRAM", b, "", v * 2, -1, bm_track_color(t)); - return; - } if (bm_is_pads(t)) { /* la toma entera en el pad elegido */ uint8_t list[BM_TAKES + 8]; int n = bm_app_sources(a, list), i = 0, pad = a->sel_lane[1] & 15; @@ -3291,120 +1451,22 @@ static void enc_source(bm_app *a, int t, int d) } int lim = bm_sound_count(a, t), e = a->pat.trk[t].engine; int v = wrap(a->pat.trk[t].source % lim + lst(a, d), lim); - if (kind == KIND_TR && a->enc_new) app_undo_snapshot(a, t); /* el kit de antes: HOME + OCT- (una vez por giro) */ if (kind == KIND_TR || bm_engine_paged(e)) { app_push(a, CMD_PRESET, (uint8_t)t, (uint8_t)v, 0); app_edited(a); } else app_set_track(a, t, TRK_OFF(source), v); a->pat.trk[t].source = (uint8_t)v; char ti[22]; - if (kind == KIND_TR) snprintf(ti, sizeof ti, "T%d KIT", t + 1); - else snprintf(ti, sizeof ti, "T%d %s %s", t + 1, bm_engine_names[e % ENG_COUNT], T(e == ENG_FM ? "PATCH" : "SOUND")); + if (kind == KIND_TR) snprintf(ti, sizeof ti, "T%d KIT", app_pos(t) + 1); + else snprintf(ti, sizeof ti, "T%d %s %s", app_pos(t) + 1, bm_engine_names[e % ENG_COUNT], T("SOUND")); app_overlay(a, -1, ti, bm_sound_name(a, t), "", v * 255 / (lim > 1 ? lim - 1 : 1), -1, bm_track_color(t)); } -/* GLO de la máquina: ALGORITHM cambia la fila */ -static void more_change(bm_app *a, int d) -{ - uint8_t rows[10]; - int n = more_rows(a, a->track, rows), t = a->track; - if (a->more_row >= n) a->more_row = (uint8_t)(n - 1); - const bm_track *tk = &a->pat.trk[t]; - char b[30]; - switch (rows[a->more_row]) { - case ROW_VIEW: /* a la derecha PIANO ROLL, a la izquierda NOTES */ - if ((d > 0) == bm_app_roll_view(a, t)) return; - a->set.note_view = (uint8_t)(d > 0 ? a->set.note_view | (1u << t) : a->set.note_view & ~(1u << t)); - a->set_dirty = 1; a->t_edit = a->now; - app_toast(a, d > 0 ? "VIEW: PIANO ROLL (THE WHOLE LOOP)" : "VIEW: NOTES"); - return; - case ROW_MIDIOUT: /* a la derecha ON, a la izquierda OFF */ - if ((d > 0) == (tk->midi_out != 0)) return; - app_set_track(a, t, TRK_OFF(midi_out), d > 0); - app_toast(a, d > 0 ? "MIDI OUT ON: NOTES ALSO GO OUT" : "MIDI OUT OFF"); - return; - case ROW_ACC: enc_track_u8(a, t, -1, TRK_OFF(accent), tk->accent, d, 0, 127, "ACCENT", 2); return; - case ROW_LEN: set_len(a, t, bm_trk_len(&a->pat, t, bm_is_grid(&a->pat, t) ? 0 : -1) + lst(a, d)); return; - case ROW_SPEED: { - int v = bm_clampi(tk->speed + -lst(a, d), 0, SPD_COUNT - 1); - app_set_track(a, t, TRK_OFF(speed), v); - snprintf(b, sizeof b, TF("T%d SPEED"), t + 1); - app_overlay(a, -1, b, bm_speed_names[v], "", (SPD_COUNT - 1 - v) * 51, -1, C_WHITE); - return; - } - case ROW_TRANSP: { - int v = bm_clampi(tk->transpose + lst(a, d), 0, 48); - app_set_track(a, t, TRK_OFF(transpose), v); - char vb[12]; fmt_semi(v, vb, sizeof vb); - snprintf(b, sizeof b, TF("T%d TRANSPOSE"), t + 1); - app_overlay(a, -1, b, vb, "", v * 5, 120, C_WHITE); - return; - } - case ROW_MIDICH: { - int v = bm_clampi(tk->midi_ch + lst(a, d), 0, 15); - app_set_track(a, t, TRK_OFF(midi_ch), v); - char vb[8]; snprintf(vb, sizeof vb, "%d", v + 1); - app_overlay(a, -1, "MIDI CHANNEL", vb, "", v * 17, -1, C_WHITE); - return; - } - case ROW_INTERP: if ((d > 0) != (tk->interp != 0)) app_set_track(a, t, TRK_OFF(interp), d > 0); return; /* derecha HERMITE */ - default: /* INIT: a la derecha pregunta; 2 s sin tocar nada = sí */ - if (d < 0 || a->ask) return; - snprintf(b, sizeof b, bm_is_tr(&a->pat, t) ? TF("INIT KIT ON T%d?") : TF("INIT SOUND ON T%d?"), t + 1); - app_ask(a, ASK_INIT, t, 0, b, "THE SOUND SETTINGS ARE LOST"); - return; - } -} - -/* Las sub-páginas de la página del canal (las que recorre SELECT antes de cambiar de pestaña): las - * páginas del editor (SOUND, INSTR), las de PADS y MIX y su DUCK. */ -static uint8_t *sub_page(bm_app *a, int *n) -{ - int t = a->track; - *n = 0; - if (a->view != V_CH) return NULL; - switch (a->page) { - case PG_SOUND: case PG_INST: - if (!bm_app_ed_on(a) || !bm_app_ed_pages(a, t, n)) { *n = 0; return NULL; } - return &a->ed_page[t]; - case PG_PADS: *n = 4; return &a->ed_page[1]; - case PG_MIX: *n = 2; return &a->mix_page; - default: return NULL; - } -} - -static void tabs_turn(bm_app *a, int d) -{ - uint8_t tabs[8]; - int n = bm_app_tabs(a, a->track, tabs), i = 0; - while (i < n && tabs[i] != a->page) i++; - if (i >= n) i = d > 0 ? 0 : n - 1; - else i = (i + (d > 0 ? 1 : n - 1)) % n; - app_enter(a, a->track, tabs[i]); - int sn; - uint8_t *sp = sub_page(a, &sn); /* a la derecha entra por la primera, a la izquierda por la última */ - if (sp && sn > 0) *sp = (uint8_t)(d > 0 ? 0 : sn - 1); -} - -/* SELECT en un canal: de a un detent, la sub-página siguiente y, en el borde, la pestaña de al lado. - * En el GLO de la máquina, las filas. */ -static void select_turn(bm_app *a, int d) -{ - int r = lst(a, d), s = r > 0 ? 1 : -1; - if (a->page == PG_MORE) { a->more_row = (uint8_t)bm_clampi(a->more_row + r, 0, bm_app_more_count(a) - 1); return; } - for (int i = 0; i < (r > 0 ? r : -r); i++) { - int n; - uint8_t *sp = sub_page(a, &n); - if (sp && n > 0 && *sp % n + s >= 0 && *sp % n + s < n) *sp = (uint8_t)(*sp % n + s); - else tabs_turn(a, s); - } -} - static void system_change(bm_app *a, int d) { bm_settings *s = &a->set; /* los interruptores: a la derecha = encendido (o el siguiente), a la izquierda = apagado; nunca * dan la vuelta, así que girar de más no los cambia otra vez */ int on = d > 0; - switch (a->menu_row) { + switch (BM_SYS_ROWS[a->menu_row % BM_SYS_VIS]) { case 0: /* derecha EXTERNAL, izquierda INTERNAL */ if (on == s->clock) return; s->clock = (uint8_t)on; app_push(a, CMD_CLOCK, s->clock, 0, 0); @@ -3442,261 +1504,94 @@ static void system_change(bm_app *a, int d) a->set_dirty = 1; a->t_edit = a->now; } -/* GLO de la consola > SCALE: ROOT, SCALE, KEYS IN SCALE, BASE CHORD (k = la perilla, -1 = ALGORITHM) */ -static void scale_change(bm_app *a, int row, int d, int k) -{ - const bm_meta *m = &a->pat.meta; - const char *val = ""; - static const char *const NM[4] = {"PROJECT ROOT", "PROJECT SCALE", "KEYS IN SCALE", "BASE CHORD"}; - row &= 3; - if (row == 0) { int nv = wrap(m->root + lst(a, d), 12); app_set_meta(a, META_OFF(root), nv); val = bm_note_names[nv]; } - else if (row == 1) { int nv = wrap(m->scale + lst(a, d), BM_SCALES); app_set_meta(a, META_OFF(scale), nv); val = bm_scale_names[nv]; } - else if (row == 2) { int nv = d > 0; if (nv != m->scale_lock) app_set_meta(a, META_OFF(scale_lock), nv); val = nv ? "ON" : "OFF"; } - else { int nv = wrap(m->voicing + lst(a, d), 5); app_set_meta(a, META_OFF(voicing), nv); val = EXT_NAMES[nv]; } - app_overlay(a, k, NM[row], val, "", 128, -1, k >= 0 ? bm_knob_color(k) : C_WHITE); -} +/* Aceleración por el tiempo entre giros de cada perilla (no por cuántos detents juntó el bucle, que + * depende de la pantalla): rápido = x2 o x4 en los valores continuos. Las listas usan lst(). */ +#define ENC_FAST_MS 18u /* menos de esto por detent: x4 */ +#define ENC_MED_MS 35u /* menos de esto: x2 */ +#define ENC_GESTURE_MS 800u /* quieta más que esto: el giro empieza un gesto nuevo */ -/* GLO de la consola > SONG: el patrón de la entrada elegida (sin tocar su escena) */ -static void song_entry_pat(bm_app *a, int d) +/* K de una capa de sonido: un parámetro del instrumento elegido */ +static void lane_set(bm_app *a, int slot, int v) { - if (!a->song.n) return; - uint8_t *e = &a->song.pat[a->song_cur % a->song.n]; - int p = bm_clampi(bm_song_pat(*e) + lst(a, d), 0, BM_PATTERNS - 1); - *e = (uint8_t)((*e & 0xF0) | p); - a->song_dirty = 1; a->t_edit = a->now; + app_push_i(a, CMD_SET_LANE, (uint8_t)a->track, (uint8_t)tr_lane(a), (uint8_t)slot, v); + app_edited(a); } -/* GLO de la consola: ALGORITHM cambia la fila (TEMPO, SCALE), la máquina (MACHINES) o el patrón de la - * entrada (SONG) */ -static void glo_change(bm_app *a, int d) +static void enc_lane(bm_app *a, int page, int k, int d) { - switch (a->glo_page) { - case GP_TEMPO: - if (a->glo_row <= 2) enc_global(a, a->glo_row, d); - else if (a->glo_row == 3) enc_transpose(a, lst(a, d)); - else enc_fill_every(a, d); - return; - case GP_MACH: mach_turn(a, a->track, d); return; - case GP_SCALE: scale_change(a, a->glo_row, d, -1); return; - default: song_entry_pat(a, d); return; - } + const bm_pdef *def = &bm_lane_pages[page].p[k]; + int cur = lane_val(a, def->slot), step = def->max <= 16 ? lst(a, d) : d; + int nv = bm_clampi(cur + step, 0, def->max); + if (nv == cur) return; + lane_set(a, def->slot, nv); + char b[12], ti[22]; + bm_prm_fmt(def, nv, b, sizeof b); + snprintf(ti, sizeof ti, "%s %s", T(bm_lane_name(a, a->track, tr_lane(a))), T(def->slot == LN_COLOR ? bm_drm_color[lane_val(a, LN_MODEL) % DRM_COUNT] : def->name)); + app_overlay(a, k, ti, b, "", nv * 255 / (def->max ? def->max : 1), -1, bm_knob_color(k)); } -/* K1-K4 en el GLO de la consola: TEMPO BPM SWING MASTER TRANSPOSE · SCALE ROOT SCALE KEYS CHORD · - * SONG K1 patrón, K2 vueltas, K4 SONG */ -static void glo_knob(bm_app *a, int k, int d) +/* ALGORITHM en EDIT: el sonido de este instrumento = su modelo de batería (se puede combinar cualquiera con cualquiera) */ +static void enc_model(bm_app *a, int d) { - switch (a->glo_page) { - case GP_TEMPO: if (k <= 2) enc_global(a, k, d); else enc_transpose(a, lst(a, d)); return; - case GP_SCALE: scale_change(a, k, d, k); return; - case GP_SONG: - if (k == 0) song_entry_pat(a, d); - else if (k == 1 && a->song.n) { int i = a->song_cur % a->song.n; a->song.rep[i] = (uint8_t)bm_clampi(a->song.rep[i] + lst(a, d), 1, 16); a->song_dirty = 1; a->t_edit = a->now; } - else if (k == 3) { /* a la derecha ON, a la izquierda OFF */ - int v = d > 0; - if (v != (a->ctx.st.song_on != 0)) { app_push(a, CMD_SONG, (uint8_t)v, 0, 0); app_toast(a, v ? "SONG ON" : "SONG OFF"); } - } - return; - default: return; - } + int nv = wrap(lane_val(a, LN_MODEL) + lst(a, d), DRM_COUNT); + lane_set(a, LN_MODEL, nv); + app_push(a, CMD_NOTE_ON, (uint8_t)a->track, (uint8_t)tr_lane(a), 100); + char ti[22]; + snprintf(ti, sizeof ti, "%s", T(bm_lane_name(a, a->track, tr_lane(a)))); + app_overlay(a, -1, ti, bm_drm_names[nv], "", nv * 255 / (DRM_COUNT - 1), -1, bm_track_color(a->track)); } -/* HOME FX > CHANNEL: el canal del cursor. K1 DRIVE (soft-clip), K2 PAN, K3 DUCK, K4 BEAT FX (ON/OFF: - * el efecto de BEAT FX o del PUNCH lo toca o no, como el botón de cada canal de un MX-1) */ -static void fx_channel(bm_app *a, int k, int d) +/* K1-K4 en el secuenciador de la batería. Con un paso sostenido: K1 su acento, K2 su repetición + * (sin abrir capas). Si no: LEVEL del instrumento elegido, LENGTH del kit entero (todos los + * instrumentos, 1-64 pasos), DECAY y TONE del elegido. */ +static void kit_len(bm_app *a, int d) { app_kit_len(a, a->track, 1, d); } + +void app_kit_len(bm_app *a, int t, int k, int d) { - int t = a->track; - const bm_track *tr = &a->pat.trk[t]; - char b[16], ti[22]; - switch (k) { - case 0: { - int v = bm_clampi(tr->drive + d, 0, 127); - app_set_track(a, t, TRK_OFF(drive), v); - if (v) fmt_pct(v, b, sizeof b); else snprintf(b, sizeof b, "OFF"); - snprintf(ti, sizeof ti, TF("T%d DRIVE"), t + 1); - app_overlay(a, 0, ti, b, "", v * 2, -1, bm_knob_color(0)); - return; - } - case 1: { - int nv = center_stop(a, tr->pan, d, 64, 0, 127); /* el centro retiene */ - app_set_track(a, t, TRK_OFF(pan), nv); - fmt_pan(nv, b, sizeof b); - snprintf(ti, sizeof ti, TF("T%d PAN"), t + 1); - app_overlay(a, 1, ti, b, "", nv * 2, 128, bm_knob_color(1)); - return; - } - case 2: - if (t == 0) { app_overlay(a, 2, "DUCK", "T1 IS THE SOURCE", "", 0, -1, bm_knob_color(2)); return; } - enc_track_u8(a, t, 2, TRK_OFF(duck), tr->duck, d, 0, 127, "DUCK (SIDECHAIN)", 2); - return; - default: { - int off = d < 0; /* a la derecha ON, a la izquierda OFF */ - if (off != tr->bfx_off) app_set_track(a, t, TRK_OFF(bfx_off), off); - snprintf(ti, sizeof ti, TF("T%d BEAT FX"), t + 1); - app_overlay(a, 3, ti, off ? "OFF" : "ON", "", off ? 0 : 255, -1, bm_knob_color(3)); - return; - } - } + const bm_tr *tr = bm_trk_trc(&a->pat, t); + int cur = tr->lane[tr_lane(a)].len ? tr->lane[tr_lane(a)].len : 16; + int v = bm_clampi(cur + d, 1, BM_STEPS); + if (v == cur) return; + for (int l = 0; l < BM_LANES; l++) app_push_i(a, CMD_SET_LANE, (uint8_t)t, (uint8_t)l, LN_LEN, v); + app_edited(a); + if (a->step_page * 16 >= v) a->step_page = (uint8_t)((v - 1) / 16); + char b[12], ti[22]; + snprintf(b, sizeof b, v > 1 ? "%d STEPS" : "%d STEP", v); + snprintf(ti, sizeof ti, "T%d %s", app_pos(t) + 1, T("LENGTH")); + app_overlay(a, k, ti, b, "", (v - 1) * 255 / (BM_STEPS - 1), -1, bm_knob_color(k)); } -static void enc_channel(bm_app *a, int id, int d) +static void seq_knob(bm_app *a, int k, int d) { - int t = a->track, kind = app_kind(a, t), k = id - ENC_K1; - const bm_track *tr = &a->pat.trk[t]; - bm_meta *m = &a->pat.meta; - char b[16], ti[22]; - if (id == ENC_PRESETS) { enc_source(a, t, d); return; } - if (id == ENC_SELECT) { select_turn(a, d); return; } - if (id == ENC_ALGO) { - if (a->page == PG_MORE) { more_change(a, d); return; } - if (a->page == PG_TAKES) { - uint8_t list[BM_TAKES + 8]; - int n = bm_app_sources(a, list); - if (!n) return; - a->takes_row = (uint8_t)bm_clampi(a->takes_row + lst(a, d), 0, n - 1); - return; - } - if (a->page == PG_REC) { app_toast(a, "THE SAMPLER STAYS HERE"); return; } - enc_mode(a, d); - return; - } - if (k < 0 || k > 3) return; - switch (a->page) { - case PG_SEQ: - if (app_midi(a, t)) goto midi; - enc_macro(a, t, k, d); - return; - case PG_SOUND: - if (kind == KIND_TR) { enc_macro(a, t, k, d); return; } - ed_turn(a, t, k, d); - return; - case PG_INST: ed_turn(a, t, k, d); return; - case PG_MIX: goto mix; - case PG_MORE: - if (k == 0) set_len(a, t, bm_trk_len(&a->pat, t, bm_is_grid(&a->pat, t) ? tr_lane(a) : -1) + lst(a, d)); - else if (k == 1) { int v = bm_clampi(tr->speed + -lst(a, d), 0, SPD_COUNT - 1); app_set_track(a, t, TRK_OFF(speed), v); app_overlay(a, 1, "SPEED", bm_speed_names[v], "", (SPD_COUNT - 1 - v) * 51, -1, bm_knob_color(1)); } - else if (k == 2) enc_track_u8(a, t, 2, TRK_OFF(accent), tr->accent, d, 0, 127, "ACCENT", 2); - else if (kind == KIND_NOTE) { int v = bm_clampi(tr->transpose + lst(a, d), 0, 48); app_set_track(a, t, TRK_OFF(transpose), v); fmt_semi(v, b, sizeof b); app_overlay(a, 3, "TRANSPOSE", b, "", v * 5, 120, bm_knob_color(3)); } - return; - case PG_BREAK: enc_track_u8(a, 1, k, (uint8_t)(TRK_OFF(gen) + k), tr->gen[k], d, 0, 127, GEN_NAMES[k], 2); return; - case PG_TAKES: { - uint8_t src = bm_app_takes_sel(a); - if (src == BM_SRC_NONE || (src & BM_SRC_ROM)) { app_toast(a, "FACTORY IS READ ONLY"); return; } - bm_take *tk = &a->take[src]; - if (k == 0) { tk->bpm_x10 = (uint16_t)bm_clampi(tk->bpm_x10 + d * 10, 400, 2400); snprintf(b, sizeof b, "%d", tk->bpm_x10 / 10); app_overlay(a, 0, "TAKE BPM", b, "BPM", (tk->bpm_x10 - 400) * 255 / 2000, -1, bm_knob_color(0)); } - else if (k == 1) { tk->bars = (uint8_t)bm_clampi(tk->bars + lst(a, d), 1, 8); snprintf(b, sizeof b, "%d", tk->bars); app_overlay(a, 1, "BARS", b, "", tk->bars * 31, -1, bm_knob_color(1)); } - else if (k == 2) { tk->gain = (uint8_t)bm_clampi(tk->gain + d, 8, 127); snprintf(b, sizeof b, "%+d", ((int)tk->gain - 64) * 6 / 64); app_overlay(a, 2, "GAIN", b, "DB", tk->gain * 2, 128, bm_knob_color(2)); } - else return; - take_changed(a, src); - return; - } - case PG_ARP: - if (kind != KIND_NOTE) return; /* las rejillas: ARP es la capa ROLL */ - goto arp; - case PG_LOOP: - if (k == 0 && (d > 0) != (a->pat.loop[t - 2].on != 0)) { app_push(a, CMD_LOOP, (uint8_t)t, 3, 0); app_edited(a); } /* derecha ON */ - if (k == 1) { - const bm_loop *lp = &a->pat.loop[t - 2]; - int nb = lp->bars == 1 ? (d > 0 ? 2 : 1) : lp->bars == 2 ? (d > 0 ? 4 : 1) : (d > 0 ? 4 : 2); - app_push(a, CMD_LOOP, (uint8_t)t, 4, (uint8_t)nb); app_edited(a); - snprintf(b, sizeof b, "%d", nb); - app_overlay(a, 1, "LOOP BARS", b, "", nb * 63, -1, bm_knob_color(1)); - } - return; - case PG_MIDI: goto midi; - case PG_SCL: { - const char *val = ""; - if (k == 0) { - if (tr->scl == 0xFF) { int nv = wrap(m->root + lst(a, d), 12); app_set_meta(a, META_OFF(root), nv); val = bm_note_names[nv]; } - else { int nv = wrap(tr->scl_root + lst(a, d), 12); app_set_track(a, t, TRK_OFF(scl_root), nv); val = bm_note_names[nv]; } - } else if (k == 1) { - int cur = tr->scl == 0xFF ? -1 : tr->scl; - int nv = bm_clampi(cur + lst(a, d), -1, BM_SCALES - 1); - if (cur == -1 && nv == 0) app_set_track(a, t, TRK_OFF(scl_root), m->root); - app_set_track(a, t, TRK_OFF(scl), nv < 0 ? 0xFF : nv); - val = nv < 0 ? "PROJECT" : bm_scale_names[nv]; - } else if (k == 2) { int nv = wrap(m->voicing + lst(a, d), 5); app_set_meta(a, META_OFF(voicing), nv); val = EXT_NAMES[nv]; } - else { int nv = d > 0; if (nv != m->scale_lock) app_set_meta(a, META_OFF(scale_lock), nv); val = nv ? "ON" : "OFF"; } - static const char *const NM[4] = {"ROOT", "TRACK SCALE", "BASE CHORD", "KEYS IN SCALE"}; - app_overlay(a, k, NM[k], val, "", 128, -1, bm_knob_color(k)); - return; - } - case PG_CHORDS: goto chords; - case PG_REC: if (k == 0 && (d > 0) != (a->rec_now != 0)) { a->rec_now = d > 0; app_toast(a, a->rec_now ? "STARTS WHEN YOU PRESS REC" : "STARTS ON THE BAR"); } return; - case PG_PADS: - if (a->ed_page[1] == 0) { /* TRIM: START LENGTH ZOOM SNAP */ - if (k <= 1) pad_trim(a, k, d); - else if (k == 2) a->cut_zoom = (uint8_t)bm_clampi(a->cut_zoom + lst(a, d), 0, 3); - else a->cut_snap = (uint8_t)bm_clampi(a->cut_snap + lst(a, d), 0, 2); - } else pad_sound(a, k, d); - return; - default: return; - } -mix: - { - if (a->mix_page && a->view == V_CH) { /* FX otra vez: DUCK */ - if (k) return; - if (t == 0) { app_overlay(a, 0, "DUCK", "T1 IS THE SOURCE", "", 0, -1, bm_knob_color(0)); return; } - enc_track_u8(a, t, 0, TRK_OFF(duck), tr->duck, d, 0, 127, "DUCK (SIDECHAIN)", 2); - return; + if (a->held_step >= 0) { + if (k > 1) return; + int t = a->track, lane = tr_lane(a), s = a->held_step; + uint8_t v = bm_trk_trc(&a->pat, t)->st[lane][s]; + if (!(v & ST_ON)) return; + if (k == 0) v = (uint8_t)(d > 0 ? v | ST_ACC : v & ~ST_ACC); + else { + int r = (v & ST_FLAM) ? 4 : (v & ST_RAT_MASK) >> ST_RAT_SH; + r = bm_clampi(r + lst(a, d), 0, 4); + v = (uint8_t)(v & ~(ST_RAT_MASK | ST_FLAM)); + if (r == 4) v |= ST_FLAM; else v |= (uint8_t)(r << ST_RAT_SH); } - static const uint8_t OFFS[4] = {TRK_OFF(level), TRK_OFF(pan), TRK_OFF(send), TRK_OFF(rsend)}; - const uint8_t cur[4] = {tr->level, tr->pan, tr->send, tr->rsend}; - int nv = k == 1 ? center_stop(a, cur[k], d, 64, 0, 127) : bm_clampi(cur[k] + d, 0, 127); /* PAN: el centro retiene */ - app_set_track(a, t, OFFS[k], nv); - if (k == 1) fmt_pan(nv, b, sizeof b); else if (k == 0) snprintf(b, sizeof b, "%d", nv); else fmt_pct(nv, b, sizeof b); - static const char *const NM[4] = {"LEVEL", "PAN", "DELAY SEND", "REVERB SEND"}; - snprintf(ti, sizeof ti, "T%d %s", t + 1, T(NM[k])); - app_overlay(a, k, ti, b, "", nv * 2, k == 1 ? 128 : -1, bm_knob_color(k)); - return; - } -midi: - { - static const uint8_t CC[4] = {0, 0, 1, 74}; - if (k == 0) { int v = bm_clampi(tr->midi_ch + lst(a, d), 0, 15); app_set_track(a, t, TRK_OFF(midi_ch), v); snprintf(b, sizeof b, "%d", v + 1); app_overlay(a, 0, "MIDI CHANNEL", b, "", v * 17, -1, bm_knob_color(0)); return; } - if (k == 1) { enc_source(a, t, d); return; } - int v = bm_clampi(tr->macro[k] + d, 0, 127); - app_set_track(a, t, (uint8_t)k, v); - app_push(a, CMD_MIDI_SEND, (uint8_t)(0xB0 | (tr->midi_ch & 15)), CC[k], (uint8_t)v); - snprintf(b, sizeof b, "%d", v); snprintf(ti, sizeof ti, "CC %d", CC[k]); - app_overlay(a, k, ti, b, "", v * 2, -1, bm_knob_color(k)); - return; - } -arp: - { - int nv; - if (k == 0) { nv = wrap(tr->arp_mode + lst(a, d), 5); app_set_track(a, t, TRK_OFF(arp_mode), nv); app_overlay(a, 0, "ARP MODE", ARP_MODES[nv], "", nv * 63, -1, bm_knob_color(0)); } - if (k == 1) { nv = bm_clampi(tr->arp_rate + lst(a, d), 0, 2); app_set_track(a, t, TRK_OFF(arp_rate), nv); app_overlay(a, 1, "ARP RATE", ARP_RATES[nv], "", nv * 127, -1, bm_knob_color(1)); } - if (k == 2) { nv = bm_clampi(tr->arp_oct + lst(a, d), 1, 3); app_set_track(a, t, TRK_OFF(arp_oct), nv); snprintf(b, sizeof b, "%d", nv); app_overlay(a, 2, "ARP OCTAVES", b, "", nv * 85, -1, bm_knob_color(2)); } - if (k == 3) { nv = bm_clampi(tr->arp_gate + d, 10, 100); app_set_track(a, t, TRK_OFF(arp_gate), nv); snprintf(b, sizeof b, "%d", nv); app_overlay(a, 3, "ARP GATE", b, "%", nv * 255 / 100, -1, bm_knob_color(3)); } + app_push_i(a, CMD_SET_TRSTEP, (uint8_t)t, (uint8_t)lane, (uint8_t)s, v); + app_edited(a); + a->held_edit = 1; a->held_long = 1; /* soltarlo no lo borra */ return; } -chords: - { - const char *val = ""; - if (k == 0) { int nv = wrap(m->chord_set + lst(a, d), BM_CHORD_SETS); app_set_meta(a, META_OFF(chord_set), nv); val = bm_chord_set_names[nv]; } - if (k == 1) { int nv = wrap(m->chord_voicing + lst(a, d), 3); app_set_meta(a, META_OFF(chord_voicing), nv); val = VOICINGS[nv]; a->prev_chord_n = 0; } - if (k == 2) { int nv = bm_clampi(m->chord_oct + lst(a, d), 1, 5); app_set_meta(a, META_OFF(chord_oct), nv); snprintf(b, sizeof b, "%d", nv); val = b; } - if (k == 3) { int nv = bm_clampi(m->strum + 2 * lst(a, d), 0, 60); app_set_meta(a, META_OFF(strum), nv); snprintf(b, sizeof b, "%d", nv); val = b; } - static const char *const NM[4] = {"CHORD SET", "VOICING", "OCTAVE", "STRUM (MS)"}; - app_overlay(a, k, NM[k], val, "", 128, -1, bm_knob_color(k)); - } + if (bm_is_pads(a->track)) { slicer_grid_knob(a, k, d); return; } /* LEVEL LENGTH PITCH RELEASE del pad */ + if (k == 1) { kit_len(a, d); return; } + enc_lane(a, 2, k, d); } -static void enc_dispatch(bm_app *a, int id, int d, uint32_t now); - -/* Aceleración por el tiempo entre giros de cada perilla (no por cuántos detents juntó el bucle, que - * depende de la pantalla): rápido = x2 o x4 en los valores continuos. Las listas usan lst(). */ -#define ENC_FAST_MS 18u /* menos de esto por detent: x4 */ -#define ENC_MED_MS 35u /* menos de esto: x2 */ -#define ENC_GESTURE_MS 800u /* quieta más que esto: el giro empieza un gesto nuevo */ +static void enc_dispatch(bm_app *a, int id, int d); void bm_app_encoder(bm_app *a, int id, int d, uint32_t now) { a->now = now; if (!d || a->view == V_BOOT || id < 0 || id >= ENC_COUNT) return; bm_gesture_other(&a->ges, now); - if (bm_gesture_is_down(&a->ges, BTN_HOME)) a->home_used = 1; d = bm_clampi(d, -100, 100); uint32_t dt = now - a->enc_t[id]; a->enc_t[id] = now; @@ -3704,201 +1599,68 @@ void bm_app_encoder(bm_app *a, int id, int d, uint32_t now) a->enc_new = dt > ENC_GESTURE_MS; a->enc_raw = (int8_t)d; a->enc_cur = (uint8_t)(id + 1); - a->cur_ctl = ASK_ENC; int mul = per < ENC_FAST_MS ? 4 : per < ENC_MED_MS ? 2 : 1; - enc_dispatch(a, id, d * mul, now); + enc_dispatch(a, id, d * mul); a->enc_raw = 0; a->enc_cur = 0; } -static void enc_dispatch(bm_app *a, int id, int d, uint32_t now) +static void enc_dispatch(bm_app *a, int id, int d) { int k = id - ENC_K1; - bm_meta *m = &a->pat.meta; - char b[16]; - (void)now; - - /* una pregunta: la perilla que preguntó (ALGORITHM a la derecha en INIT) sigue; otra es no */ - if (a->ask) { - if (!(a->ask_ctl == ASK_ENC && id == ENC_ALGO && d > 0)) ask_no(a, 0); - return; - } - /* la tarjeta del canal abierta: ALGORITHM = su máquina, PRESETS = su sonido; girar algo = soltar no entra */ - if (a->card && console(a) && !a->layer) { - int ct = a->card - 1; - a->card_turn = 1; - if (id == ENC_ALGO) { mach_turn(a, ct, d); return; } - if (id == ENC_PRESETS) { enc_source(a, ct, d); return; } - } - /* capas primero: las perillas siguen a la capa */ + if (a->view == V_MACH) { mach_encoder(a, id, d); return; } + /* capas: las perillas siguen a la capa */ switch (a->layer) { - case L_HOME: /* HOME sostenido: la consola en cualquier lado */ - if (id == ENC_SELECT) a->track = (uint8_t)bm_clampi(a->track + lst(a, d), 0, BM_TRACKS - 1); - else if (id == ENC_ALGO) enc_bpm_fine(a, d); /* HOME + ALGORITHM: décimas de BPM */ - else if (id == ENC_PRESETS) enc_pattern(a, d); /* se elige al soltar HOME */ - else if (k >= 0 && k <= 3) enc_home(a, k, d); - return; - case L_TONE: /* GLO sostenido: K1 BPM, K2 SWING como en todas partes */ - if (k == 0 || k == 1) enc_global(a, k, d); - else if (k == 2) enc_transpose(a, lst(a, d)); - else if (k == 3) enc_transpose(a, 12 * lst(a, d)); - return; - case L_LEN: - if (k == 0) set_len(a, a->track, bm_trk_len(&a->pat, a->track, app_kind(a, a->track) == KIND_NOTE ? -1 : 0) + lst(a, d)); - else if (k == 1) { int v = bm_clampi(a->pat.trk[a->track].speed + -lst(a, d), 0, SPD_COUNT - 1); app_set_track(a, a->track, TRK_OFF(speed), v); app_overlay(a, 1, "SPEED", bm_speed_names[v], "", (SPD_COUNT - 1 - v) * 51, -1, bm_knob_color(1)); } - return; case L_ACC: if (k == 0) enc_track_u8(a, a->track, 0, TRK_OFF(accent), a->pat.trk[a->track].accent, d, 0, 127, "ACCENT", 2); return; - case L_REP: if (k == 0 && app_kind(a, a->track) == KIND_NOTE) enc_track_u8(a, a->track, 0, TRK_OFF(glide), a->pat.trk[a->track].glide, d, 0, 127, "GLIDE", 2); return; - case L_ROLL: - if (k == 0) roll_set_rate(a, a->roll_rate + lst(a, d)); /* K1 = lo mismo que las negras 1-6 */ - else if (k == 1) { /* K2 = largo de la rampa */ - a->roll_len = (uint8_t)bm_clampi(a->roll_len + lst(a, d), 0, 3); - app_overlay(a, 1, a->roll_ramp == 1 ? "CRESC" : a->roll_ramp == 2 ? "DECRESC" : "RAMP", bm_roll_len_names[a->roll_len], "", a->roll_len * 85, -1, bm_knob_color(1)); - } else if (k == 2) { /* K3 = swing del roll */ - a->roll_swing = (uint8_t)bm_clampi(a->roll_swing + d, 50, 75); - snprintf(b, sizeof b, "%d%%", a->roll_swing); - app_overlay(a, 2, "ROLL SWING", b, "", (a->roll_swing - 50) * 255 / 25, -1, bm_knob_color(2)); - } else if (k == 3) { /* K4 = cola al soltar */ - a->roll_tail = (uint8_t)bm_clampi(a->roll_tail + lst(a, d), 0, 3); - app_overlay(a, 3, "ROLL TAIL", bm_roll_tail_names[a->roll_tail], "", a->roll_tail * 85, -1, bm_knob_color(3)); - } else return; - if (k > 0) roll_cfg_send(a); + case L_HIT: if (k >= 0 && k <= 3) enc_lane(a, 0, k, d); return; + case L_INST: + if (id == ENC_ALGO) enc_model(a, d); + else if (k >= 0 && k <= 2) enc_lane(a, 1, k, d); return; - case L_FILL: case L_LANEMUTE: /* pantallas de MUTE y FILL: las perillas siguen con lo de SEQ */ - if (id == ENC_SELECT) key_screen_close(a); /* cambiar de página cierra la pantalla */ - break; - case L_PUNCH: case L_CHORDS: case L_ARP: case L_ERASE: case L_COPY: - if (a->layer == L_PUNCH && k >= 0 && k <= 3) break; - if ((a->layer == L_CHORDS || a->layer == L_ARP) && k >= 0 && k <= 3) break; + case L_REP: case L_MUTE: return; + case L_LEN: /* Slicer: K1 el largo del pad, K2 la velocidad; ALGORITHM el pad */ + if (id == ENC_ALGO) box_turn(a, d); + else if (k == 0) pad_len_set(a, bm_trk_len(&a->pat, a->track, tr_lane(a)) + lst(a, d)); + else if (k == 1) speed_set(a, a->pat.trk[a->track].speed - lst(a, d)); return; default: break; } - if (a->layer == L_PUNCH) goto fxg; - if (a->layer == L_CHORDS) { uint8_t pg = a->page; a->page = PG_CHORDS; enc_channel(a, id, d); a->page = pg; return; } - if (a->layer == L_ARP) { uint8_t pg = a->page; a->page = PG_ARP; enc_channel(a, id, d); a->page = pg; return; } - - /* REC en un canal de notas: SELECT = el paso, ALGORITHM = su gate (10..100 %, 100 = TIE), PRESETS = su micro-timing */ - if (a->rec && a->view == V_CH && a->page == PG_SEQ && app_kind(a, a->track) == KIND_NOTE && a->held_step < 0 - && (id == ENC_SELECT || id == ENC_ALGO || id == ENC_PRESETS)) { enc_rec(a, id, d); return; } - /* paso sostenido > lista > canal > HOME. Con un paso sostenido PRESETS es la condición (golpes) o - * el largo (notas), nunca el kit: cambiarlo ahí reemplazaba los 16 instrumentos sin querer. */ - if (a->view == V_CH && a->page == PG_SEQ && a->held_step >= 0) { - if (bm_is_grid(&a->pat, a->track)) enc_step_grid(a, id, d); else enc_step_syn(a, id, d); - return; - } - /* el FX y el GLO de la consola: PRESETS = MOVE */ - if (id == ENC_PRESETS && (a->view == V_FXG || a->view == V_GLO)) { enc_move(a, d); return; } switch (a->view) { - case V_HOME: /* MIX: el canal del cursor */ - if (id == ENC_ALGO) enc_global(a, 0, d); /* ALGORITHM = BPM (HOME + ALGORITHM: décimas) */ + case V_HOME: /* el mezclador: SELECT el canal, ALGORITHM el BPM, PRESETS el sonido */ + if (id == ENC_ALGO) enc_bpm(a, d); else if (id == ENC_SELECT) { int t0 = a->track; - a->track = (uint8_t)bm_clampi(a->track + lst(a, d), 0, BM_TRACKS - 1); - if (a->sloop && a->track != t0) sloop_follow(a); /* SLOOP: el teclado sigue al canal */ + a->track = BM_ORDER[wrap(app_pos(a->track) + lst(a, d), BM_TRACKS)]; /* de arriba a abajo, y vuelve al 1 */ + if (a->sloop && a->track != t0) sloop_follow(a); /* PLAY/REC: el teclado sigue al canal */ } - else if (id == ENC_PRESETS) enc_source(a, a->track, d); /* su kit, patch o sonido (el kit se deshace) */ + else if (id == ENC_PRESETS) enc_source(a, a->track, d); else enc_home(a, k, d); return; - case V_GLO: - if (id == ENC_SELECT) { - if (a->glo_page == GP_MACH) { a->track = (uint8_t)bm_clampi(a->track + lst(a, d), BM_TR_TRACKS, BM_TRACKS - 1); mach_reset(a, a->track); } - else if (a->glo_page == GP_SONG) { if (a->song.n) a->song_cur = (uint8_t)bm_clampi(a->song_cur + lst(a, d), 0, a->song.n - 1); } - else a->glo_row = (uint8_t)bm_clampi(a->glo_row + lst(a, d), 0, bm_app_glo_count(a) - 1); - } else if (id == ENC_ALGO) glo_change(a, d); - else if (k >= 0 && k <= 3) glo_knob(a, k, d); + case V_GLO: /* PRESETS: la página; MACHINES: SELECT el canal, ALGORITHM su máquina */ + if (a->glo_page == 0) { + if (id == ENC_SELECT) { a->track = BM_ORDER[wrap(app_pos(a->track) + lst(a, d), BM_TRACKS)]; mach_reset(a, a->track); } + else if (id == ENC_ALGO) glo_mach_turn(a, a->track, d); + return; + } + if (a->glo_page == 1 && id == ENC_ALGO) { enc_bpm(a, d); return; } + if (k >= 0 && k <= 3) glo_knob(a, k, d); return; case V_SYSTEM: - if (id == ENC_SELECT) a->menu_row = (uint8_t)bm_clampi(a->menu_row + lst(a, d), 0, 10); + if (id == ENC_SELECT) a->menu_row = (uint8_t)bm_clampi(a->menu_row + lst(a, d), 0, BM_SYS_VIS - 1); else if (id == ENC_ALGO || id == ENC_K1) system_change(a, d); return; case V_SAVE: /* PRESETS = el patrón de destino, como ALGORITHM */ - if (id == ENC_SELECT) a->save_row = (uint8_t)bm_clampi(a->save_row + lst(a, d), 0, 4); + if (id == ENC_SELECT) a->save_row = (uint8_t)bm_clampi(a->save_row + lst(a, d), 0, BM_SAVE_ROWS - 1); else if (id == ENC_ALGO || id == ENC_K1 || id == ENC_PRESETS) a->save_target = (uint8_t)bm_clampi(a->save_target + lst(a, d), 0, BM_PATTERNS - 1); a->clear_armed = 0; return; - case V_TIME: { - if (id == ENC_SELECT || id == ENC_ALGO) { a->time_row = (uint8_t)bm_clampi(a->time_row + lst(a, d), 0, BM_TRACKS - 1); return; } - int row = a->time_row; - const bm_track *rt = &a->pat.trk[row]; - char ti[22]; - if (k == 0) set_len(a, row, bm_trk_len(&a->pat, row, bm_is_grid(&a->pat, row) ? 0 : -1) + lst(a, d)); - else if (k == 1) { - int nv = bm_clampi(rt->speed + -lst(a, d), 0, SPD_COUNT - 1); /* a la derecha = más rápido */ - app_set_track(a, row, TRK_OFF(speed), nv); - snprintf(ti, sizeof ti, TF("T%d SPEED"), row + 1); - app_overlay(a, 1, ti, bm_speed_names[nv], "", (SPD_COUNT - 1 - nv) * 51, -1, bm_knob_color(1)); - } else if (k == 2 && bm_is_grid(&a->pat, row) && row != 1) { /* T2: cada pad tiene su largo en la capa LENGTH */ - a->time_lane = (uint8_t)bm_clampi(a->time_lane + lst(a, d), 0, 15); - } else if (k == 3 && bm_is_grid(&a->pat, row) && row != 1) { - const bm_lane *ln = &bm_trk_trc(&a->pat, row)->lane[a->time_lane]; - int nv = bm_clampi(ln->len + lst(a, d), 1, 64); - app_push_i(a, CMD_SET_LANE, (uint8_t)row, a->time_lane, 0, nv); app_edited(a); - snprintf(b, sizeof b, "%d", nv); snprintf(ti, sizeof ti, TF("%s LENGTH"), T(bm_lane_name(a, row, a->time_lane))); - app_overlay(a, 3, ti, b, "STEPS", nv * 4, -1, bm_knob_color(3)); - } - return; - } - case V_FXG: /* SELECT = CHANNEL > DELAY > REVERB > MASTER, ALGORITHM = BPM */ - if (id == ENC_SELECT) { a->fx_page = (uint8_t)bm_clampi(a->fx_page + lst(a, d), 0, FXP_COUNT - 1); return; } - if (id == ENC_ALGO) { enc_global(a, 0, d); return; } - goto fxg; - case V_COPYCH: - if (id == ENC_ALGO || id == ENC_SELECT) { - int ks = app_kind(a, a->copy_src), dst = a->copy_dst; - for (int i = 0; i < BM_TRACKS; i++) { - dst = (dst + (d > 0 ? 1 : BM_TRACKS - 1)) % BM_TRACKS; - if (dst == a->copy_src || dst == 1) continue; - if (app_kind(a, dst) == ks) break; - } - a->copy_dst = (uint8_t)dst; - } + case V_CH: /* secuenciador de la batería */ + if (id == ENC_PRESETS) enc_source(a, a->track, d); + else if (id == ENC_ALGO) box_turn(a, d); + else if (k >= 0 && k <= 3) seq_knob(a, k, d); return; - case V_CH: enc_channel(a, id, d); return; default: return; } -fxg: - if (k < 0 || k > 3) return; - switch (fx_kpage(a)) { - case FXP_CHANNEL: fx_channel(a, k, d); return; - case FXP_MASTER: /* MASTER: filtro, BEAT FX, drive */ - if (k == 0) { - int nv = bm_clampi(m->mfilt + d, 0, 127); - app_set_meta(a, META_OFF(mfilt), nv); - if (nv >= 60 && nv <= 68) snprintf(b, sizeof b, "OPEN"); else if (nv < 60) snprintf(b, sizeof b, "LP %d", nv); else snprintf(b, sizeof b, "HP %d", nv - 64); - app_overlay(a, 0, "MASTER FILTER", b, "", nv * 2, 128, bm_knob_color(0)); - } else if (k == 1) { - int nv = bm_clampi(m->beatfx + lst(a, d), 0, 16); - app_set_meta(a, META_OFF(beatfx), nv); - app_overlay(a, 1, "BEAT FX", BEATFX_N[nv], "", nv * 15, -1, bm_knob_color(1)); - } else if (k == 2) enc_global(a, 3, d); /* DRIVE */ - return; - case FXP_REVERB: - if (k < 3) { /* REVERB: tamaño, amortiguación, mezcla */ - static const uint8_t RO[3] = {META_OFF(rv_size), META_OFF(rv_damp), META_OFF(rv_mix)}; - const uint8_t cur[3] = {m->rv_size, m->rv_damp, m->rv_mix}; - int nv = bm_clampi(cur[k] + d, 0, 127); - app_set_meta(a, RO[k], nv); - fmt_pct(nv, b, sizeof b); - static const char *const NM[3] = {"REVERB SIZE", "REVERB DAMP", "REVERB MIX"}; - app_overlay(a, k, NM[k], b, "", nv * 2, -1, bm_knob_color(k)); - return; - } - break; /* K4: SC REL, como en el delay */ - default: break; - } - if (k == 0) { - int nv = bm_clampi(m->dly_time + lst(a, d), 0, 3); - app_set_meta(a, META_OFF(dly_time), nv); - app_overlay(a, 0, "DELAY TIME", DLY_NAMES[nv], "", nv * 85, -1, bm_knob_color(0)); - } else { - static const uint8_t OFFS[4] = {0, META_OFF(dly_fb), META_OFF(dly_mix), META_OFF(sc_release)}; - const uint8_t cur[4] = {0, m->dly_fb, m->dly_mix, m->sc_release}; - int nv = bm_clampi(cur[k] + d, 0, 127); - app_set_meta(a, OFFS[k], nv); - if (k == 3) fmt_ms(bm_decay_ms(nv / 2), b, sizeof b); else fmt_pct(nv, b, sizeof b); - static const char *const NM[4] = {"", "DELAY FEEDBACK", "DELAY MIX", "SIDECHAIN RELEASE"}; - app_overlay(a, k, NM[k], b, "", nv * 2, -1, bm_knob_color(k)); - } } /* ------------------------------------------------------------ tick de la entrada */ @@ -3906,45 +1668,25 @@ void app_input_tick(bm_app *a) { uint32_t now = a->now; mach_tick(a); - if (a->ask && a->ask_live && now - a->ask_t0 >= UI_LONG_MS) { /* sostenido 2 s: sí */ - if (a->ask_ctl < BTN_COUNT) a->ask_eat |= (uint16_t)(1u << a->ask_ctl); /* lo que siga de ese botón no cuenta */ - ask_yes(a); - } if (a->held_white >= 0 && !a->held_long && now - a->step_t0 >= UI_HOLD_MS) a->held_long = 1; - if (a->rec_free && a->rec_free_t0 == 0xFFFFFFFFu && app_playing(a)) a->rec_free_t0 = a->ctx.st.btick; /* empieza con PLAY */ - if (a->fill && a->layer != L_FILL) { /* el fill suena solo con su pantalla abierta o su tecla sostenida */ - int held = 0; - for (int k = 0; k < BM_KEYS; k++) if (a->keys_down[k] && (a->key_role[k] == ROLE_FILL || a->key_role[k] == ROLE_FILLK)) held = 1; - if (!held) { app_push(a, CMD_FILL, 0, 0, 0); a->fill = 0; } - } for (int k = 0; k < BM_KEYS; k++) { if (!a->keys_down[k] || !a->key_t0[k] || now - a->key_t0[k] < UI_HOLD_MS) continue; switch (a->key_role[k]) { case ROLE_MUTE: /* negra sostenida en la consola: solo */ if (!a->solo_on) { - int t = bm_key_black_index(k); + int t = BM_ORDER[bm_key_black_index(k)]; a->solo_saved = 0; for (int i = 0; i < BM_TRACKS; i++) if (a->pat.trk[i].mute) a->solo_saved |= (uint8_t)(1u << i); for (int i = 0; i < BM_TRACKS; i++) app_set_track(a, i, TRK_OFF(mute), i != t); a->solo_on = 1; a->solo_key = (int8_t)k; a->solo_track = (int8_t)t; - char b[16]; snprintf(b, sizeof b, "SOLO T%d", t + 1); + char b[16]; snprintf(b, sizeof b, "SOLO T%d", app_pos(t) + 1); app_toast(a, b); } break; - case ROLE_CHAN: /* blanca 11-16 sostenida: la tarjeta del canal */ - if (!a->card && !a->layer && console(a) && !a->sloop) { - int t = bm_key_white_index(k) - BM_PATTERNS; - a->card = (uint8_t)(t + 1); - mach_reset(a, t); - a->ov.on = 0; - } - break; - case ROLE_HILO: /* negra 11 sostenida (batería, pads): MUTE de instrumentos */ - if (!a->layer && a->view == V_CH && bm_is_grid(&a->pat, a->track)) { a->layer = L_LANEMUTE; a->layer_latch = 0; a->ov.on = 0; } - break; - case ROLE_SCENE: /* escena 2 s: guardar encima */ - if (now - a->key_t0[k] >= UI_LONG_MS) { - scene_store(a, bm_key_black_index(k) - 6); + case ROLE_SCENE: /* escena 2 s: borrarla (si estaba guardada) */ + if (now - a->key_t0[k] >= SCENE_DEL_MS) { + int s = bm_key_black_index(k) - SCENE_B0; + if (s >= 0 && s < BM_SCENES && (scn(a, a->ctx.st.pattern, s)->flags & SCN_STORED)) scene_clear(a, s); a->key_role[k] = ROLE_SCNDONE; } break; @@ -3954,41 +1696,23 @@ void app_input_tick(bm_app *a) if (a->box_on && (int32_t)(now - a->box_until) >= 0) box_commit(a); } -/* ------------------------------------------------------------ anillos y preguntas (para el dibujo) */ +/* ------------------------------------------------------------ anillos (para el dibujo) */ +/* una escena guardada sostenida: el anillo hacia los 2 s en que se borra */ int bm_app_key_ring(const bm_app *a, char *label, int cap) { for (int k = 0; k < BM_KEYS; k++) { if (!a->keys_down[k] || a->key_role[k] != ROLE_SCENE) continue; + int s = bm_key_black_index(k) - SCENE_B0; + if (s < 0 || s >= BM_SCENES || !(scn(a, a->ctx.st.pattern, s)->flags & SCN_STORED)) continue; uint32_t el = a->now - a->key_t0[k]; if (el < UI_HOLD_MS) continue; - snprintf(label, (size_t)cap, TF("STORE SCENE %c"), 'A' + bm_key_black_index(k) - 6); - uint32_t p = (el - UI_HOLD_MS) * 255u / (UI_LONG_MS - UI_HOLD_MS); + snprintf(label, (size_t)cap, TF("DELETE SCENE %c"), 'A' + s); + uint32_t p = (el - UI_HOLD_MS) * 255u / (SCENE_DEL_MS - UI_HOLD_MS); return (int)(p > 255 ? 255 : p); } return -1; } -int bm_app_ask_progress(const bm_app *a) -{ - if (!a->ask || !a->ask_live) return 0; - uint32_t p = (a->now - a->ask_t0) * 255u / UI_LONG_MS; - return (int)(p > 255 ? 255 : p); -} - -void bm_app_ask_hint(const bm_app *a, char *buf, int cap) -{ - static const char *const BN[BTN_COUNT] = {"OCT-", "OCT+", "FX", "SCL", "ENV", "LFO", "EDIT", "GLO", "HOME", "SAVE", "ARP", "SEQ", "PLAY", "REC"}; - size_t n = (size_t)cap; - if (a->ask_ctl == ASK_ENC) { snprintf(buf, n, "%s", T("2 S = YES ANY CONTROL = NO")); return; } - char c[12]; - if (a->ask_ctl & ASK_KEY) { - int k = a->ask_ctl & 0x7F, w = bm_key_white_index(k); - if (w >= 0) snprintf(c, sizeof c, TF("WHITE %d"), w + 1); else snprintf(c, sizeof c, TF("BLACK %d"), bm_key_black_index(k) + 1); - } else snprintf(c, sizeof c, "%s", a->ask_ctl < BTN_COUNT ? BN[a->ask_ctl] : "?"); - if (a->ask_live) snprintf(buf, n, TF("KEEP HOLDING %s = YES"), c); - else snprintf(buf, n, TF("HOLD %s 2 S = YES"), c); -} - /* ------------------------------------------------------------ LEDs */ static uint8_t led_last[BM_LEDS]; @@ -4003,96 +1727,46 @@ static void led(bm_app *a, int id, uint8_t lvl) if (a->pf.led) a->pf.led(a->pf.user, id, lvl); } -/* El botón de la página del canal: el que la abrió (button_page) mientras sigas en ella; si no, - * el que la abre según la página (y en las de un editor por páginas, la envolvente o el LFO). */ -static int page_button(const bm_app *a) -{ - int t = a->track; - if (a->nav_btn && a->nav_track == t && a->nav_page == a->page && a->nav_sub == a->ed_page[t]) return a->nav_btn - 1; - switch (a->page) { - case PG_SEQ: case PG_LOOP: case PG_BREAK: return BTN_SEQ; - case PG_SOUND: - if (app_kind(a, t) == KIND_NOTE && bm_engine_paged(app_engine(a, t))) { - int e = app_engine(a, t), p = a->ed_page[t]; - if (p == bm_engine_page_of(e, EPG_ENV1) || p == bm_engine_page_of(e, EPG_ENV2)) return BTN_ENV; - if (p == bm_engine_page_of(e, EPG_LFO)) return BTN_LFO; - } - return BTN_EDIT; - case PG_PADS: return a->ed_page[t] == 2 ? BTN_ENV : BTN_EDIT; - case PG_INST: case PG_TAKES: case PG_MIDI: return BTN_EDIT; - case PG_MIX: return BTN_FX; - case PG_SCL: case PG_CHORDS: return BTN_SCL; - case PG_ARP: return BTN_ARP; - case PG_MORE: return BTN_GLO; - default: return -1; - } -} - -/* El botón sostenido de cada capa (respira). MUTE y FILL se abren con una tecla: ninguno. */ +/* El botón sostenido de cada capa (respira) */ static int layer_button(int L) { switch (L) { - case L_HOME: return BTN_HOME; + case L_ACC: return BTN_LFO; + case L_HIT: return BTN_ENV; + case L_INST: return BTN_EDIT; + case L_MUTE: return BTN_SCL; case L_LEN: return BTN_SEQ; - case L_ERASE: return BTN_EDIT; - case L_ACC: return BTN_ENV; - case L_REP: return BTN_LFO; - case L_PUNCH: return BTN_FX; - case L_CHORDS: return BTN_SCL; - case L_ARP: case L_ROLL: return BTN_ARP; - case L_COPY: return BTN_SAVE; - case L_TONE: return BTN_GLO; - default: return -1; /* L_NONE, L_LANEMUTE, L_FILL */ + default: return -1; /* REPEAT se abre con la negra 11 */ } } -/* El botón de "dónde estás" en cada pantalla. En la consola (MIX, su FX y su GLO) es HOME. */ +/* El botón de "dónde estás" en cada pantalla */ static int view_button(const bm_app *a) { - if (console(a)) return BTN_HOME; switch (a->view) { - case V_SYSTEM: return BTN_HOME; - case V_TIME: return BTN_SEQ; + case V_HOME: case V_SYSTEM: return BTN_HOME; + case V_GLO: return BTN_GLO; case V_SAVE: return BTN_SAVE; - case V_CH: return page_button(a); + case V_CH: return BTN_SEQ; default: return -1; } } -/* En la consola, el otro botón que abre la misma página (MID): FX, GLO (y SCL en SCALE, SEQ en SONG). - * En MIX, SEQ y EDIT entran a la máquina del cursor. */ -static int alias_button(const bm_app *a, int i) +/* ¿el botón hace algo en esta pantalla? (los que no, quedan apagados) */ +static bool btn_used(const bm_app *a, int i) { switch (a->view) { - case V_FXG: return i == BTN_FX; - case V_GLO: return i == BTN_GLO || (i == BTN_SCL && a->glo_page == GP_SCALE) || (i == BTN_SEQ && a->glo_page == GP_SONG); - case V_HOME: return i == BTN_SEQ || i == BTN_EDIT; - default: return 0; - } -} - -/* Páginas de pasos del canal (B9 / B10 en SEQ y en ACENTO, REPETIR, BORRAR y FILL). */ -static int step_pages(const bm_app *a) -{ - int t = a->track, len = bm_trk_len(&a->pat, t, app_kind(a, t) == KIND_NOTE ? -1 : tr_lane(a)); - int pages = (len + 15) / 16; - return pages > 0 ? pages : 1; -} - -/* HOME + EDIT: hay otro canal del mismo tipo para copiar (home_combo) */ -static bool copy_target(const bm_app *a) -{ - if (bm_is_pads(a->track)) return false; - int k = app_kind(a, a->track); - for (int i = 1; i < BM_TRACKS; i++) { - int d = (a->track + i) % BM_TRACKS; - if (d != 1 && app_kind(a, d) == k) return true; + case V_HOME: return i == BTN_HOME || i == BTN_GLO || i == BTN_SAVE || i == BTN_REC || + ((i == BTN_SEQ || layer_of(a, i)) && bm_is_grid(&a->pat, a->track)) || + (i != BTN_GLO && mach_page_of(a->pat.trk[a->track].engine, i) >= 0); /* la máquina: sus páginas */ + case V_GLO: return i == BTN_HOME || i == BTN_GLO || i == BTN_SAVE; + case V_CH: return i == BTN_HOME || i == BTN_SAVE || i == BTN_SEQ || layer_of(a, i) || (bm_is_pads(a->track) && slicer_page_of(i) >= 0); + default: return i == BTN_HOME || i == BTN_SAVE; } - return false; } -/* Hay algo sin guardar (el patrón, la canción, una toma o su ganancia). Los ajustes no: SAVE no - * los escribe, se guardan solos. */ +/* Hay algo sin guardar (el patrón, las escenas o una toma). Los ajustes no: SAVE no los escribe, se + * guardan solos. */ static bool unsaved(const bm_app *a) { return a->dirty || a->song_dirty || a->pend_obj >= 0 || a->take_dirty || a->ctx.st.smp_unsaved; @@ -4104,7 +1778,7 @@ static bool writing(const bm_app *a) return a->job_fading; } -/* Un patrón o una escena en cola (no las cadenas, que siempre tienen el siguiente en cola). */ +/* Un patrón o una escena en cola */ static bool queued(const bm_app *a) { const bm_status *st = &a->ctx.st; @@ -4120,58 +1794,30 @@ static uint8_t play_led(const bm_app *a) static uint8_t rec_led(const bm_app *a) { - const bm_status *st = &a->ctx.st; - int t = a->track, lm = LOOP_OFF; - if (t >= BM_TR_TRACKS && t < BM_TRACKS && app_kind(a, t) == KIND_NOTE) lm = st->loop_mode[t - BM_TR_TRACKS]; - bool smp = a->view != V_CH || t == 1; /* la grabadora: no dentro de otra máquina */ - if ((smp && st->smp_rec) || a->rec_hold || lm == LOOP_REC) return LED_BLINK; /* grabando */ - if ((smp && st->smp_armed) || lm == LOOP_ARMED) return LED_BREATH; /* armado */ - if (a->rec || lm == LOOP_DUB) return LED_ON; /* REC de notas, SLOOP, sobregrabación */ - return LED_DIM; -} - -/* 0.9: OCT -/+ siempre cambian la octava donde las teclas tocan notas: dentro de una máquina de notas - * (también en SEQ), en SLOOP y en la consola (la octava de SLOOP). En la batería y los pads, nada. */ -static bool oct_ok(const bm_app *a) -{ - if (a->view == V_BOOT || a->view == V_COPYCH) return false; - if (a->layer == L_CHORDS || (a->view == V_CH && a->page == PG_CHORDS)) return true; - return app_kind(a, a->track) == KIND_NOTE; + if (a->view != V_HOME) return LED_OFF; + return a->rec ? LED_ON : LED_DIM; /* sobregrabando / disponible */ } static uint8_t oct_led(const bm_app *a, int up) { if (!oct_ok(a)) return LED_OFF; - return (up ? a->oct > 0 : a->oct < 0) ? LED_ON : LED_DIM; /* octava corrida */ + if (a->view == V_CH) return (up ? tr_lane(a) >= 8 : tr_lane(a) < 8) ? LED_ON : LED_DIM; /* la página de sonidos */ + if (drums_track(a, a->track)) return bm_gesture_is_down(&a->ges, up ? BTN_OCT_UP : BTN_OCT_DN) ? LED_ON : LED_DIM; + return (up ? a->oct > 0 : a->oct < 0) ? LED_ON : LED_DIM; /* octava corrida */ } /* La luz de un botón. Blancas: dicen el estado, nunca la función (eso lo dice la pantalla). * OFF no hace nada aquí · DIM disponible · MID significado especial ahora · ON dónde estás o un - * estado que queda · BLINK te necesita ya · BREATH armado o pendiente. - * Precedencia: pregunta > HOME sostenido > capa sostenida > pantalla. */ + * estado que queda · BLINK te necesita ya · BREATH armado o pendiente. */ static uint8_t btn_led(const bm_app *a, int i) { - if (a->ask) return i == a->ask_ctl ? LED_BLINK : LED_OFF; /* el que preguntó: sostenerlo = sí */ - if (a->view == V_COPYCH) return i == BTN_EDIT ? LED_BLINK : i == BTN_HOME ? LED_ON : LED_OFF; /* EDIT 2 s pega, HOME no */ - if (a->layer == L_HOME) { /* HOME sostenido: los que tienen HOME + */ - switch (i) { - case BTN_HOME: return LED_ON; - case BTN_OCT_DN: return a->undo_track >= 0 ? LED_MID : LED_OFF; - case BTN_OCT_UP: return a->redo_track >= 0 ? LED_MID : LED_OFF; - case BTN_EDIT: return copy_target(a) ? LED_MID : LED_OFF; - case BTN_REC: return a->song_rec ? LED_ON : LED_MID; - case BTN_SEQ: case BTN_FX: case BTN_SCL: case BTN_GLO: case BTN_SAVE: case BTN_PLAY: return LED_MID; - default: return LED_OFF; - } - } - if (a->layer) { /* capa sostenida, o MUTE / FILL abiertas */ - int L = a->layer; - if (i == layer_button(L)) return LED_BREATH; + if (a->view == V_MACH && i != BTN_PLAY && i != BTN_SAVE) return mach_btn_led(a, i); + if (a->layer) { /* capa sostenida, o REPETIR abierta */ + if (i == layer_button(a->layer)) return LED_BREATH; switch (i) { case BTN_OCT_DN: case BTN_OCT_UP: return oct_led(a, i == BTN_OCT_UP); - case BTN_PLAY: return L == L_TONE ? LED_MID : play_led(a); /* TONE: tap tempo */ - case BTN_REC: { uint8_t r = rec_led(a); return r == LED_DIM ? LED_OFF : r; } - case BTN_HOME: return a->layer_latch ? LED_MID : LED_OFF; /* FILL, ROLL, LFO: salir */ + case BTN_PLAY: return play_led(a); + case BTN_HOME: return a->layer_latch ? LED_MID : LED_OFF; default: return LED_OFF; } } @@ -4179,189 +1825,60 @@ static uint8_t btn_led(const bm_app *a, int i) case BTN_PLAY: return play_led(a); case BTN_REC: return rec_led(a); case BTN_OCT_DN: case BTN_OCT_UP: return oct_led(a, i == BTN_OCT_UP); - case BTN_HOME: /* dentro de un canal: salir a la consola */ + case BTN_HOME: if (queued(a) && !console(a)) return LED_BLINK; /* patrón o escena en cola */ + if (a->sloop) return LED_MID; /* PLAY/REC: HOME es la salida */ break; case BTN_SAVE: - if (a->view == V_SAVE && a->clear_armed && a->now - a->clear_t < 3000) return LED_BLINK; /* SAVE otra vez = borrar */ - if (writing(a)) return LED_ON; - if (a->view != V_SAVE && a->view != V_CH && unsaved(a)) return LED_BREATH; /* global: no dentro de la máquina */ - break; - case BTN_SEQ: - if (a->song_rec && a->view != V_CH) return LED_BLINK; /* SONG REC (de la consola) */ + if (writing(a)) return app_playing(a) ? LED_BLINK : LED_ON; /* sonando: se escribe al parar */ + if (a->view != V_SAVE && a->view != V_CH && unsaved(a)) return LED_BREATH; /* global: no dentro del secuenciador */ break; default: break; } if (i == view_button(a)) return LED_ON; - if (alias_button(a, i)) return LED_MID; - return LED_DIM; + return btn_used(a, i) ? LED_DIM : LED_OFF; } /* Qué hace cada tecla ahora y cómo está su luz. Las luces del FM-1 son blancas: solo dicen el estado * (la gramática está arriba, en el mapa del teclado), así que la pantalla muestra estos mismos nombres - * (tira de teclas) y la luz y el dibujo salen siempre de aquí. Dentro de un canal las teclas son la - * superficie de esa máquina; en la consola, las de la consola (o, en SLOOP, las de la máquina). */ -static void KL(bm_keyfn *K, int k, const char *l) { snprintf(K[k].label, sizeof K[k].label, "%s", l); } - -/* las notas que el canal t acaba de tocar desde sus pasos (para que destellen sus teclas) */ -static int live_notes(const bm_app *a, int t, uint8_t out[4]) -{ - if (!(a->now < a->trig_until[t])) return 0; - int s = bm_app_track_step(a, t, -1), idx[4]; - if (s < 0) return 0; - int n = syn_step_events(a, t, s, idx); - for (int i = 0; i < n; i++) out[i] = bm_evc(&a->pat, t, s, idx[i])->note; - return n; -} - -static uint8_t note_in(int note, const uint8_t *nn, int n) -{ - for (int i = 0; i < n; i++) if (nn[i] == note) return 1; - return 0; -} - -/* El teclado de un canal de notas fuera de SEQ: cromático (la escala DIM, la tónica MID, fuera de la - * escala OFF) o, con KEYS IN SCALE o en SCALE, la escala en las blancas y los acordes en las negras. */ -static void note_keys(const bm_app *a, bm_keyfn *K, int t) -{ - int root, sc = app_scale(a, t, &root), sl = bm_scale_len(sc); - uint8_t nn[4]; - int nl = live_notes(a, t, nn); - uint16_t col = bm_track_color(t); - if (a->pat.meta.scale_lock || (a->view == V_CH && a->page == PG_SCL)) { - static const char *const R[7] = {"I", "II", "III", "IV", "V", "VI", "VII"}; - static const char *const X[4] = {"+7", "+9", "S2", "S4"}; - for (int w = 0; w < 16; w++) { - int note = bm_scale_note(root, sc, w, base_oct(a, t)); - KW(K, w, bm_note_names[note % 12], (w % sl) == 0 ? LED_MID : LED_DIM, col)->live = note_in(note, nn, nl); - } - for (int b = 0; b < 7; b++) KB(K, b, R[b], LED_DIM, col); - for (int b = 7; b < 11; b++) KB(K, b, X[b - 7], (a->chord_mod >> (b - 7)) & 1 ? LED_ON : LED_DIM, C_YELLOW); - return; - } - uint16_t pcs = 0; - for (int d = 0; d < sl; d++) pcs |= (uint16_t)(1u << (bm_scale_note(root, sc, d, 0) % 12)); - for (int k = 0; k < BM_KEYS; k++) { - int note = BM_KEY_BASE_NOTE + k + 12 * a->oct - (bass_machine(a, t) ? 12 : 0), pc = (note + 120) % 12; - KL(K, k, bm_note_names[pc]); - K[k].led = pc == root ? LED_MID : ((pcs >> pc) & 1) ? LED_DIM : LED_OFF; - K[k].color = col; - K[k].live = note_in(note, nn, nl); - } -} - -/* Las blancas de un canal de batería fuera de SEQ: los 16 instrumentos, como un selector */ -static void lane_whites(const bm_app *a, bm_keyfn *K, int t) -{ - const bm_tr *tr = bm_trk_trc(&a->pat, t); - for (int w = 0; w < 16; w++) - KW(K, w, lane_short(a, t, w), lane_led(tr, w, tr_lane(a)), bm_track_color(t))->live = (uint8_t)(lane_has(tr, w) && lane_live(a, t, w)); -} - + * (tira de teclas) y la luz y el dibujo salen siempre de aquí. */ static void keys_fill(const bm_app *a, bm_keyfn K[BM_KEYS]) { - const bm_status *st = &a->ctx.st; - int t = a->track, kind = app_kind(a, t); + int t = a->track; char title[24], b8[8]; uint16_t col; const char *h1, *h2; - if (a->layer || (a->view == V_CH && a->page == PG_CHORDS)) { bm_app_keymap(a, K, title, sizeof title, &col, &h1, &h2); return; } + if (a->layer) { bm_app_keymap(a, K, title, sizeof title, &col, &h1, &h2); return; } memset(K, 0, sizeof(bm_keyfn) * BM_KEYS); - if (console(a)) { /* la consola */ - if (a->sloop && a->view != V_GLO) map_sloop(a, K); - else if (a->view == V_GLO && a->glo_page == GP_SONG) map_song(a, K); - else map_console(a, K); - return; - } - if (a->view != V_CH) { /* las demás pantallas tocan el canal */ - if (kind == KIND_NOTE) note_keys(a, K, t); else lane_whites(a, K, t); + switch (a->view) { + case V_HOME: + if (a->sloop) map_sloop(a, K); else map_console(a, K); return; - } - switch (a->page) { - case PG_SEQ: + case V_GLO: map_console(a, K); return; + case V_MACH: mach_keys(a, K); return; + case V_CH: { + const bm_tr *tr = bm_trk_trc(&a->pat, t); + int lane = tr_lane(a); for (int w = 0; w < 16; w++) { int s = a->step_page * 16 + w; uint8_t l = LED_OFF; snprintf(b8, sizeof b8, "%d", s + 1); - if (kind == KIND_NOTE) { - int idx[4]; - if (s < a->pat.trk[t].length) { - l = syn_step_events(a, t, s, idx) ? LED_ON : note_covers(a, t, s) ? LED_MID : LED_OFF; - if (s == bm_app_track_step(a, t, -1)) l = LED_BLINK; - } - } else { - const bm_tr *tr = bm_trk_trc(&a->pat, t); - int lane = tr_lane(a); - if (s < tr->lane[lane].len) { - uint8_t bb = tr->st[lane][s]; - l = (bb & ST_ON) ? ((bb & ST_LOCK) ? LED_BREATH : LED_ON) : LED_OFF; - if (s == bm_app_track_step(a, t, lane)) l = LED_BLINK; - } + if (s < tr->lane[lane].len) { + uint8_t bb = tr->st[lane][s]; + l = (bb & ST_ON) ? ((bb & ST_LOCK) ? LED_BREATH : LED_ON) : w % 4 == 0 ? LED_DIM : LED_OFF; /* tiempos 1-4: tenues */ + if (s == bm_app_track_step(a, t, lane)) l = LED_BLINK; } KW(K, w, b8, l, 0); } - if (kind != KIND_NOTE) { tr_blacks(a, K, t, true); return; } - { - int root, sc = app_scale(a, t, &root), idx[4], n = 0; - if (a->held_step >= 0) n = syn_step_events(a, t, a->held_step, idx); - for (int b = 0; b < 8; b++) { /* grados: ON los que tiene el paso sostenido */ - int note = bm_scale_note(root, sc, b, base_oct(a, t)); - uint8_t l = LED_DIM; - for (int i = 0; i < n; i++) if (bm_evc(&a->pat, t, a->held_step, idx[i])->note == note) l = LED_ON; - KB(K, b, bm_note_names[note % 12], l, bm_track_color(t)); - } - page_blacks(a, K); - KB(K, 10, "FIL", a->fill ? LED_ON : LED_DIM, C_ORANGE); - } - return; - case PG_PADS: - for (int w = 0; w < 16; w++) { - snprintf(b8, sizeof b8, "%d", w + 1); - KW(K, w, b8, w == (a->sel_lane[1] & 15) ? LED_ON : (bm_pad_ok(&a->pat.pad[w]) ? LED_MID : LED_OFF), bm_track_color(1))->live = - (uint8_t)(a->now < a->lane_flash[1][w]); - } - { - static const char *const CB[4] = {"CPY", "PST", "CLR", "HIT"}; - static const char *const FX[3] = {"REV", "HLF", "STU"}; - for (int b = 0; b < 4; b++) KB(K, b, CB[b], LED_DIM, C_WHITE); - for (int b = 8; b < 11; b++) KB(K, b, FX[b - 8], (a->brk_live >> (b - 8)) & 1 ? LED_ON : LED_DIM, C_YELLOW); - } - return; - case PG_TAKES: { /* sin toma marcada no hacen nada */ - uint8_t src = bm_app_takes_sel(a); - uint8_t l = src < BM_TAKES && a->take[src].valid ? LED_DIM : LED_OFF; - static const char *const TB[4] = {"HIT", "16", "8", "PAD"}; - for (int w = 0; w < 16; w++) { snprintf(b8, sizeof b8, "%d", w + 1); KW(K, w, b8, l, C_WHITE); } - for (int b = 0; b < 4; b++) KB(K, b, TB[b], l, C_WHITE); - KB(K, 10, "DEL", l, C_RED); + nav_blacks(a, K); + KB(K, 10, "RPT", LED_DIM, C_YELLOW); return; } - case PG_REC: /* después de grabar: escuchar la toma */ - if (st->smp_unsaved && !st->smp_rec) - for (int w = 0; w < 16; w++) { snprintf(b8, sizeof b8, "%d", w + 1); KW(K, w, b8, LED_DIM, C_RED); } - return; - default: - if (kind == KIND_NOTE) note_keys(a, K, t); - else { lane_whites(a, K, t); tr_blacks(a, K, t, false); } - return; + default: return; /* SYSTEM y SAVE: el teclado no hace nada */ } } void bm_app_keys(const bm_app *a, bm_keyfn K[BM_KEYS]) { keys_fill(a, K); - if (a->ask && (a->ask_ctl & ASK_KEY) && a->ask_ctl != ASK_ENC) { /* la tecla que preguntó: sostenerla = sí */ - int k = (a->ask_ctl & 0x7F) % BM_KEYS; - K[k].led = LED_BLINK; K[k].live = 0; - if (!K[k].label[0]) KL(K, k, "YES"); - } - if (!a->box_on) return; - /* el recuadro de ALGORITHM en INSTR: parpadea la tecla del instrumento al que vas */ - int k = -1, t = a->track; - if (a->box_mode == BOX_LANE && !a->layer && a->view == V_CH && app_kind(a, t) == KIND_TR) { - int ln = a->box_lane & 15; - if (a->page == PG_SEQ) { if (ln / 8 == tr_lane(a) / 8) k = bm_black_key(ln % 8); } - else if (a->page != PG_PADS && a->page != PG_TAKES && a->page != PG_REC) k = bm_white_key(ln); - } - if (k >= 0 && K[k].label[0]) { K[k].led = LED_BLINK; K[k].live = 0; } } void app_leds(bm_app *a) @@ -4375,7 +1892,6 @@ void app_leds(bm_app *a) for (int i = 0; i < BTN_COUNT; i++) led(a, i, btn_led(a, i)); bm_keyfn K[BM_KEYS]; bm_app_keys(a, K); - int ak = a->ask && (a->ask_ctl & ASK_KEY) && a->ask_ctl != ASK_ENC ? (a->ask_ctl & 0x7F) % BM_KEYS : -1; for (int k = 0; k < BM_KEYS; k++) /* sostenida (si hace algo) o un golpe que suena: ON */ - led(a, BM_LED_KEY0 + k, k == ak ? LED_BLINK : (a->keys_down[k] && K[k].label[0]) || K[k].live ? LED_ON : K[k].led); + led(a, BM_LED_KEY0 + k, (a->keys_down[k] && K[k].label[0]) || K[k].live ? LED_ON : K[k].led); } diff --git a/core/bm_mach.c b/core/bm_mach.c new file mode 100644 index 0000000..87f0dd3 --- /dev/null +++ b/core/bm_mach.c @@ -0,0 +1,436 @@ +/* SPDX-License-Identifier: GPL-3.0-or-later + * Copyright (C) 2026 Erbubar23 */ +/* Bubba Machine — la máquina de un canal de notas por dentro (V_MACH), 2026-10-22. + * + * Se entra desde HOME con el cursor en el canal y un botón de menú: cada máquina dice qué botones + * tiene (mach_page_of) y a qué página llevan. Adentro la máquina toma el FM-1 entero; HOME sale. + * Todas tienen su piano roll (SEQ) con REC tipo SLOOP y sus menús, como el aparato de verdad: la BX-7 + * (core/bm_bx7.c), el BB-303 (core/bm_b303.c) y las de panel, B-MINI, BUNO-6 y BITTAL (core/bm_panel.c). */ +#include +#include +#include +#include +#include "bm_mach.h" +#include "bm_util.h" +#include "bm_params.h" +#include "bm_fm.h" +#include "bm_lang.h" + +static const char *const ARPM[ARP_MODES] = {"OFF", "UP", "DOWN", "INCL", "EXCL", "RANDOM", "ORDER", "REPEAT"}; +static const char *const ARPR[3] = {"1/8", "1/16", "1/32"}; + +const bxp MACH_SEQ[4] = { + NONE, {"SPEED", K_TRK, TRK(speed), 0, SPD_COUNT - 1, F_LIST, bm_speed_names}, + {"PAGE", K_VIEWX, 0, 0, 3, F_P1, NULL}, {"SCROLL", K_VIEWY, 0, 16, 112, F_BIP, NULL}}; /* K3/K4: recorrer el piano roll */ +/* el GLO de cada máquina: lo primero, el largo; después cambiar de máquina (solo las que se pueden) */ +const bxp MACH_GLO[2][4] = { + {{"LENGTH", K_LEN, 0, 1, BM_STEPS, F_STEPS, NULL}, {"MACHINE", K_MACH, 0, 0, ENG_COUNT - 1, F_LIST, bm_engine_names}, + {"MIDI CH", K_TRK, TRK(midi_ch), 0, 15, F_CH, NULL}, {"MIDI OUT", K_TRK, TRK(midi_out), 0, 1, F_ONOFF, NULL}}, + {NONE, NONE, MACH_QUANT, {"RESET", K_RST, 0, 0, 1, F_INT, NULL}}}; +const char *const MACH_QUANTS[4] = {"25%", "50%", "75%", "100%"}; +const bxp MACH_ARP[2][4] = { + {{"MODE", K_TRK, TRK(arp_mode), 0, ARP_MODES - 1, F_LIST, ARPM}, {"OCTAVE", K_TRK, TRK(arp_oct), 1, 4, F_INT, NULL}, + {"RATE", K_TRK, TRK(arp_rate), 0, 2, F_LIST, ARPR}, {"GATE", K_TRK, TRK(arp_gate), 20, 100, F_RAWPCT, NULL}}, /* FM-1: 20-100 % */ + {{"LATCH", K_LATCH, 0, 0, 1, F_ONOFF, NULL}, NONE, NONE, NONE}}; + +static int op_byte(const bm_app *a, int field) { return (5 - a->bx.edit % 6) * BM_FM_OP + field; } /* OPn está en el dato 6-n */ +static int eng_of(const bm_app *a) { return a->pat.trk[a->track].engine; } +static int latch_prm(const bm_app *a) { return eng_of(a) == ENG_FM ? BX_LATCH : bm_panel_eng(eng_of(a)) ? PX_LATCH : AC_LATCH; } + +static int fx_on(const bm_app *a, int slot) +{ + const uint8_t *p = a->pat.prm[a->track]; + return eng_of(a) == ENG_ACID ? bm_acid_fx_on(p, slot) : bm_px_eng(eng_of(a)) ? bm_px_fx_on(p, eng_of(a), slot) : (p[BX_FXON] >> slot) & 1; +} + +int mach_get(const bm_app *a, const bxp *p) +{ + const bm_track *tr = &a->pat.trk[a->track]; + switch (p->kind) { + case K_FMV: return a->pat.fmv[p->idx]; + case K_OP: return a->pat.fmv[op_byte(a, p->idx)]; + case K_TRK: return ((const uint8_t *)tr)[p->idx]; + case K_MAC: return tr->macro[p->idx & 3]; + case K_PRM: return a->pat.prm[a->track][p->idx]; + case K_LEN: return bm_clampi(tr->length ? tr->length : 16, 1, BM_STEPS); + case K_ON: return fx_on(a, p->idx); + case K_LATCH: return a->pat.prm[a->track][latch_prm(a)] != 0; + case K_MACH: return app_mach_shown(a); + case K_VIEWX: return mach_view_page(a); + case K_VIEWY: return 64 + a->bx.vy; + case K_QUANT: return 3 - (tr->qfree & 3); + case K_PRMI: return p->max - a->pat.prm[a->track][p->idx]; + case K_R3: { int r = a->pat.prm[a->track][p->idx]; return r >= MN_R_LO ? 0 : r + 1; } + default: return 0; + } +} + +void mach_fmt(const bxp *p, int v, char *b, int cap) +{ + static const char *const NN[12] = {"C", "C#", "D", "D#", "E", "F", "F#", "G", "G#", "A", "A#", "B"}; + switch (p->fmt) { + case F_P1: snprintf(b, (size_t)cap, "%d", v + 1); break; + case F_LIST: snprintf(b, (size_t)cap, "%s", p->list && v >= 0 && v <= p->max ? p->list[v] : "?"); break; + case F_ONOFF: snprintf(b, (size_t)cap, "%s", v ? "ON" : "OFF"); break; + case F_BIP: snprintf(b, (size_t)cap, v > 64 ? "+%d" : "%d", v - 64); break; /* el snprintf del SDK no tiene %+d */ + case F_PCT: snprintf(b, (size_t)cap, "%d%%", (v * 100 + 63) / 127); break; + case F_RAWPCT: snprintf(b, (size_t)cap, "%d%%", v); break; + case F_TRSP: snprintf(b, (size_t)cap, v > 24 ? "+%d" : "%d", v - 24); break; + case F_DT: snprintf(b, (size_t)cap, v > 7 ? "+%d" : "%d", v - 7); break; + case F_HZ: { unsigned hz = (unsigned)(100.0f * powf(200.0f, (float)v / 127.0f)); if (hz < 1000) snprintf(b, (size_t)cap, "%u HZ", hz); else snprintf(b, (size_t)cap, "%u.%uK", hz / 1000, hz % 1000 / 100); break; } + case F_NOTE: { int n = v + 21; snprintf(b, (size_t)cap, n / 12 - 2 < 0 ? "%s-%d" : "%s%d", NN[n % 12], n / 12 - 2 < 0 ? 2 - n / 12 : n / 12 - 2); break; } /* DX7: 0 = A-1, 39 = C3 */ + case F_BARS: snprintf(b, (size_t)cap, v > 1 ? "%d BARS" : "%d BAR", v); break; + case F_STEPS: snprintf(b, (size_t)cap, v > 1 ? "%d STEPS" : "%d STEP", v); break; + case F_CH: snprintf(b, (size_t)cap, "%d", v + 1); break; + case F_MIX: /* B-MINI: a la izquierda el OSC 3, a la derecha el LFO */ + if (v <= 0) snprintf(b, (size_t)cap, "%s", "OSC 3"); + else if (v >= 127) snprintf(b, (size_t)cap, "%s", "LFO"); + else { int l = (v * 100 + 63) / 127; snprintf(b, (size_t)cap, "%d/%d", 100 - l, l); } + break; + case F_OHZ: case F_DMS: case F_GLIDE: case F_PHZ: case F_TIME: case F_RATE: case F_SEMI: case F_CENT: { /* como en el editor */ + static const uint8_t PF[] = {PF_OHZ, PF_DMS, PF_GLIDE, PF_HZ, PF_TIME, PF_RATE, 0, PF_SEMI, PF_CENT}; + bm_pdef d = {p->name, 0, 0, p->max, PF[p->fmt - F_OHZ], NULL}; + bm_prm_fmt(&d, v, b, cap); + break; + } + default: snprintf(b, (size_t)cap, "%d", v); break; + } +} + +int mach_pct(const bxp *p, int v) { return p->max > p->lo ? (v - p->lo) * 255 / (p->max - p->lo) : 0; } + +int mach_turn(bm_app *a, const bxp *p, int d) +{ + int t = a->track; + if (p->kind == K_NONE) return -1; + if (p->kind == K_MACH) { app_mach_pick(a, d); return -1; } /* la cuenta y el aviso: bm_input.c */ + if (p->kind == K_VIEWX) { /* la página de 16 pasos que se ve */ + int np = (mach_len(a) + 15) / 16, v = bm_clampi(mach_view_page(a) + app_lst(a, d), 0, np - 1); + a->bx.vman = 1; a->bx.vpage = (uint8_t)v; + return v; + } + if (p->kind == K_VIEWY) { /* las alturas que se ven, de a semitono */ + a->bx.vy = (int8_t)bm_clampi(a->bx.vy + app_lst(a, d), -48, 48); + return 64 + a->bx.vy; + } + if (p->kind == K_RST) { /* el sonido vuelve al del preset */ + app_push(a, CMD_PRESET, (uint8_t)t, a->pat.trk[t].source, 0); + app_edited(a); + app_toast(a, eng_of(a) == ENG_FM ? "VOICE RESET" : "SOUND RESET"); + return -1; + } + int cur_v = mach_get(a, p), step = p->max - p->lo <= 16 ? app_lst(a, d) : d; + if (p->kind == K_ON || p->kind == K_LATCH) step = d > 0 ? 1 : -1; + int v = bm_clampi(cur_v + step, p->lo, p->max); + if (v == cur_v) return -1; + switch (p->kind) { + case K_FMV: app_push(a, CMD_FMV, p->idx, (uint8_t)v, 0); app_edited(a); break; + case K_OP: app_push(a, CMD_FMV, (uint8_t)op_byte(a, p->idx), (uint8_t)v, 0); app_edited(a); break; + case K_TRK: + app_set_track(a, t, p->idx, v); + if (p->idx == TRK(arp_mode) && !v) app_push(a, CMD_ARP, (uint8_t)t, 0, 0); /* sin arpegiador: suelta lo que tenía */ + break; + case K_MAC: app_set_track(a, t, (uint8_t)(offsetof(bm_track, macro) + (p->idx & 3)), v); break; + case K_PRM: app_push(a, CMD_SET_PRM, (uint8_t)t, p->idx, (uint8_t)v); app_edited(a); break; + case K_LATCH: app_push(a, CMD_SET_PRM, (uint8_t)t, (uint8_t)latch_prm(a), (uint8_t)v); app_edited(a); break; + case K_LEN: app_set_track(a, t, TRK(length), v); break; + case K_QUANT: app_set_track(a, t, TRK(qfree), 3 - v); break; + case K_PRMI: app_push(a, CMD_SET_PRM, (uint8_t)t, p->idx, (uint8_t)(p->max - v)); app_edited(a); break; + case K_R3: app_push(a, CMD_SET_PRM, (uint8_t)t, p->idx, (uint8_t)(v ? v - 1 : MN_R_LO)); app_edited(a); break; + case K_ON: { + uint8_t m; + if (eng_of(a) == ENG_ACID) { + m = bm_acid_fx_set(a->pat.prm[t][AC_FX], p->idx, v); + app_push(a, CMD_SET_PRM, (uint8_t)t, AC_FX, m); + } else if (bm_px_eng(eng_of(a))) { /* bit 0 DISTORTION prendida, bit 1 REVERB apagada */ + uint8_t bit = p->idx == PXF_DIST ? 1u : 2u; + m = a->pat.prm[t][PX_FX]; + m = (uint8_t)((p->idx == PXF_DIST) == !!v ? m | bit : m & ~bit); + app_push(a, CMD_SET_PRM, (uint8_t)t, PX_FX, m); + } else { + m = a->pat.prm[t][BX_FXON]; + m = (uint8_t)(v ? m | (1u << p->idx) : m & ~(1u << p->idx)); + app_push(a, CMD_SET_PRM, (uint8_t)t, BX_FXON, m); + } + app_edited(a); + break; + } + default: break; + } + return v; +} + +void mach_legend(const bm_app *a, const bxp *P, bm_legend L[4]) +{ + char b[12]; + for (int k = 0; k < 4; k++) { + if (P[k].kind == K_NONE) continue; + int v = mach_get(a, &P[k]); + if (P[k].kind == K_RST) snprintf(b, sizeof b, "%s", "TURN"); + else mach_fmt(&P[k], v, b, sizeof b); + app_layer_legend(a, L, k, P[k].name, b, mach_pct(&P[k], v)); + } +} + +bool mach_oct(bm_app *a, int id, bm_gkind k) +{ + char b[30]; + if (id != BTN_OCT_DN && id != BTN_OCT_UP) return false; + int other = id == BTN_OCT_UP ? BTN_OCT_DN : BTN_OCT_UP; + if (k == G_PRESS) { + a->oct_used = 0; + if (bm_gesture_is_down(&a->ges, other)) { /* los dos: todo a cero, como el FM-1 */ + a->oct = 0; + a->oct_used = 1; + app_set_track(a, a->track, TRK(transpose), 24); + app_toast(a, "OCTAVE 0 TRANSPOSE 0"); + } + return true; + } + if (k != G_UP || a->oct_used) return true; /* al soltar; sostenido con ALGORITHM era transposición */ + a->oct_used = 1; + a->oct = (int8_t)bm_clampi(a->oct + (id == BTN_OCT_UP ? 1 : -1), -3, 3); + snprintf(b, sizeof b, a->oct > 0 ? TF("OCTAVE +%d") : TF("OCTAVE %d"), a->oct); + app_toast(a, b); + return true; +} + +void mach_rec(bm_app *a, bm_gkind k) +{ + int t = a->track; + char b[30]; + if (k == G_LONG) { /* 2 s: borra las notas del canal */ + if (a->rec) app_rec_set(a, 0); + a->bx.armed = 0; + app_push(a, CMD_TRACK_CLEAR, (uint8_t)t, 0, 0); + app_edited(a); + snprintf(b, sizeof b, TF("T%d CLEARED"), app_pos(t) + 1); + app_toast(a, b); + return; + } + if (k != G_TAP) return; + if (a->rec) { app_rec_set(a, 0); a->bx.armed = 0; return; } + if (a->bx.armed) { a->bx.armed = 0; app_toast(a, "REC OFF"); return; } + if (a->ctx.st.playing) app_rec_set(a, 1); + else if (a->bx.page == BXP_SEQ) { /* parado en el SEQ: paso a paso, desde el paso del cursor */ + a->bx.chord = 0; + if (a->bx.step >= mach_len(a)) a->bx.step = 0; + app_step_rec(a); + } else { a->bx.armed = 1; app_toast(a, "REC ARMED: PLAY A NOTE"); } +} + +int mach_len(const bm_app *a) +{ + int L = a->pat.trk[a->track].length; + return L > 0 && L <= BM_STEPS ? L : 16; +} + +/* la página de 16 pasos que muestra el piano roll: la que se eligió con K3, si no la del cabezal + * (sonando) o la del cursor (parado) */ +int mach_view_page(const bm_app *a) +{ + int L = mach_len(a), np = (L + 15) / 16; + if (a->bx.vman) return a->bx.vpage < np ? a->bx.vpage : np - 1; + int s = a->ctx.st.playing ? bm_app_track_step(a, a->track, -1) : a->bx.step; + if (s < 0) s = 0; + return (s % L) / 16; +} + +bool mach_step_mode(const bm_app *a) { return a->rec && !a->ctx.st.playing && a->view == V_MACH && a->bx.page == BXP_SEQ; } + +/* Paso a paso: la primera tecla reescribe el paso del cursor (lo de antes se borra), las que se suman + * mientras está apretada hacen un acorde; al soltarlas todas, el cursor pasa al siguiente. Cada nota, + * un paso de largo (los largos se graban sonando). */ +static void step_write(bm_app *a, uint8_t note, int vel) +{ + bm_bx7ui *u = &a->bx; + int t = a->track, s = u->step % mach_len(a); + bm_event ev; + if (!u->chord) { + bm_event_clear(&ev); + for (int e = 0; e < BM_EVENTS; e++) app_push_ev(a, t, s, e, &ev); + u->chord = 1; u->nslot = 0; + } + if (u->nslot >= BM_EVENTS) return; + bm_event_clear(&ev); + ev.note = note; ev.len = 1; + ev.vel = (uint8_t)bm_clampi(vel, 1, BM_VEL_ACC - 1); /* el ACCENT del BB-303 se pone con SCL */ + app_push_ev(a, t, s, u->nslot++, &ev); + a->rec_steps |= 1ull << s; + app_edited(a); +} + +void mach_key_up(bm_app *a, int k) +{ + bm_bx7ui *u = &a->bx; + if (!u->chord) return; + for (int k2 = 0; k2 < BM_KEYS; k2++) if (k2 != k && a->keys_down[k2]) return; /* el acorde sigue apretado */ + u->chord = 0; + u->step = (uint8_t)((u->step + 1) % mach_len(a)); +} + +void mach_cursor(bm_app *a, int d) +{ + int L = mach_len(a); + a->bx.chord = 0; a->bx.vman = 0; /* el roll vuelve a seguir al cursor */ + a->bx.step = (uint8_t)(((a->bx.step % L) + d % L + L) % L); +} + +int mach_play(bm_app *a, int k, int vel) +{ + int t = a->track; + uint8_t n = (uint8_t)bm_clampi(BM_KEY_BASE_NOTE + k + 12 * a->oct, 0, 127); + if (mach_step_mode(a)) { /* REC parado en el SEQ: escribe en el paso del cursor */ + app_play_notes(a, k, t, &n, 1, vel); + step_write(a, n, vel); + return 1; + } + if (a->bx.armed && !a->ctx.st.playing) { /* armado: la primera nota arranca y graba */ + a->bx.armed = 0; + app_push(a, CMD_PLAY, 1, 0, 0); + app_rec_set(a, 1); + app_play_notes(a, k, t, &n, 1, vel); + if (a->pat.trk[t].arp_mode) return 0; + app_rec_at(a, k, t, &n, 1, 0); + return 1; + } + app_play_notes(a, k, t, &n, 1, vel); + return a->key_rec_step[k] >= 0; +} + +uint8_t mach_common_led(const bm_app *a, int i) +{ + if (i == BTN_HOME) return LED_DIM; + if (i == BTN_REC) return a->rec ? LED_ON : a->bx.armed ? LED_BREATH : LED_DIM; + if (i == BTN_OCT_DN) return a->oct < 0 ? LED_ON : LED_DIM; + if (i == BTN_OCT_UP) return a->oct > 0 ? LED_ON : LED_DIM; + return 0xFF; +} + +void mach_head(bm_app *a) { a->bx.grab = 0; a->bx.armed = 0; a->bx.chord = 0; } + +/* ------------------------------------------------------------ el reparto según la máquina del canal */ +bool mach_has(int engine) { return engine == ENG_FM || engine == ENG_ACID || bm_panel_eng(engine) || engine == ENG_BREAK; } + +int mach_page_of(int engine, int btn) +{ + switch (engine) { + case ENG_FM: return bx7_page_of(btn); + case ENG_ACID: return b303_page_of(btn); + case ENG_BREAK: return slicer_page_of(btn); + default: return bm_panel_eng(engine) ? panel_page_of(btn) : -1; + } +} + +void mach_enter(bm_app *a, int t, int page) +{ + app_sloop(a, 0); + a->track = (uint8_t)t; + a->bx.page = (uint8_t)(page >= 0 && page < BXP_N ? page : BXP_MAIN); + a->bx.vman = 0; a->bx.vy = 0; + mach_head(a); + app_set_view(a, V_MACH); +} + +bool mach_button(bm_app *a, int id, bm_gkind k) +{ + switch (id) { + case BTN_PLAY: case BTN_SAVE: return false; + case BTN_HOME: /* sale a la consola: la grabación termina */ + if (k == G_TAP) { if (a->rec) app_rec_set(a, 0); mach_head(a); } + return false; + default: break; + } + if (eng_of(a) == ENG_BREAK) return slicer_button(a, id, k); /* el Slicer: REC graba pads, OCT nada */ + if (id == BTN_REC) { mach_rec(a, k); return true; } + if (mach_oct(a, id, k)) return true; + switch (eng_of(a)) { + case ENG_FM: return bx7_button(a, id, k); + case ENG_ACID: return b303_button(a, id, k); + default: return panel_button(a, id, k); + } +} + +void mach_key(bm_app *a, int k, int w, int b) +{ + switch (eng_of(a)) { + case ENG_FM: bx7_key(a, k, w, b); return; + case ENG_ACID: b303_key(a, k, w, b); return; + case ENG_BREAK: slicer_key(a, k, w, b); return; + default: panel_key(a, k, w, b); return; + } +} + +void mach_encoder(bm_app *a, int id, int d) +{ + if (eng_of(a) == ENG_BREAK) { slicer_encoder(a, id, d); return; } + if (a->bx.page == BXP_SEQ && id == ENC_SELECT) { mach_cursor(a, app_lst(a, d)); return; } /* SEQ: SELECT mueve el cursor de paso */ + switch (eng_of(a)) { + case ENG_FM: bx7_encoder(a, id, d); return; + case ENG_ACID: b303_encoder(a, id, d); return; + default: panel_encoder(a, id, d); return; + } +} + +void mach_legend_view(const bm_app *a, bm_legend L[4]) +{ + switch (eng_of(a)) { + case ENG_FM: bx7_legend(a, L); return; + case ENG_ACID: b303_legend(a, L); return; + case ENG_BREAK: slicer_legend(a, L); return; + default: panel_legend(a, L); return; + } +} + +void mach_bigknobs(const bm_app *a, const char **sel, const char **alg, const char **pre) +{ + switch (eng_of(a)) { + case ENG_FM: bx7_bigknobs(a, sel, alg, pre); return; + case ENG_ACID: b303_bigknobs(a, sel, alg, pre); return; + case ENG_BREAK: slicer_bigknobs(a, sel, alg, pre); return; + default: panel_bigknobs(a, sel, alg, pre); return; + } +} + +void mach_keys(const bm_app *a, bm_keyfn K[BM_KEYS]) +{ + if (eng_of(a) == ENG_FM) { bx7_keys(a, K); return; } + if (eng_of(a) == ENG_BREAK) { slicer_keys(a, K); return; } + if (a->bx.page == BXP_SCL) { b303_keys(a, K); return; } /* BB-303 y las de panel: los pasos */ + memset(K, 0, sizeof(bm_keyfn) * BM_KEYS); + app_note_keys(a, K, a->track); +} + +uint8_t mach_btn_led(const bm_app *a, int i) +{ + if (eng_of(a) == ENG_BREAK) return slicer_btn_led(a, i); + uint8_t c = mach_common_led(a, i); + if (c != 0xFF) return c; + switch (eng_of(a)) { + case ENG_FM: return bx7_btn_led(a, i); + case ENG_ACID: return b303_btn_led(a, i); + default: return panel_btn_led(a, i); + } +} + +const char *mach_title(const bm_app *a, char *buf, int cap) +{ + switch (eng_of(a)) { + case ENG_FM: return bx7_title(a, buf, cap); + case ENG_ACID: return b303_title(a, buf, cap); + case ENG_BREAK: return slicer_title(a, buf, cap); + default: return panel_title(a, buf, cap); + } +} + +/* ¿la pantalla de la máquina ya muestra K1-K4 (su panel, o la lista de GLO, ARP y LFO)? Entonces no va + * la franja de perillas de abajo: cada perilla se dibuja una sola vez. */ +bool mach_knobs_shown(const bm_app *a) +{ + int p = a->bx.page; + switch (eng_of(a)) { + case ENG_FM: return p == BXP_GLO || p == BXP_ARP; + case ENG_BREAK: return slicer_knobs_shown(a); + default: return p == BXP_MAIN || p == BXP_LFO || p == BXP_GLO || p == BXP_ARP; /* BB-303 y las de panel */ + } +} diff --git a/core/bm_mach.h b/core/bm_mach.h new file mode 100644 index 0000000..aa9eed8 --- /dev/null +++ b/core/bm_mach.h @@ -0,0 +1,103 @@ +/* SPDX-License-Identifier: GPL-3.0-or-later + * Copyright (C) 2026 Erbubar23 */ +/* Bubba Machine — lo que comparten las máquinas de los canales de notas por dentro (V_MACH): cómo se + * describe una perilla de una página, cómo se lee, se escribe y se muestra, y lo que se toca igual en + * todas (OCT, REC tipo SLOOP, la nota que arranca la grabación, la página SEQ). Cada máquina tiene sus + * menús (core/bm_bx7.c, core/bm_b303.c y core/bm_panel.c: B-MINI, BUNO-6, BITTAL). */ +#ifndef BM_MACH_H +#define BM_MACH_H + +#include "bm_app_int.h" + +/* qué mueve una perilla: un byte de la voz de la BX-7 (K_FMV) o de su operador (K_OP), un campo del + * canal, una macro, un byte de prm, el largo en compases, el ON/OFF de una casilla de FX, volver al + * preset, o el LATCH del arpegiador. K_PRMI: un byte de prm al revés (max - v); K_R3: el RANGE del OSC 3 + * del B-MINI, con LO primero (en prm va al final, MN_R_LO). */ +enum { K_NONE, K_FMV, K_OP, K_TRK, K_MAC, K_PRM, K_LEN, K_ON, K_RST, K_LATCH, K_MACH, K_VIEWX, K_VIEWY, K_QUANT, + K_PRMI, K_R3, + K_SLICE }; /* el Slicer: un campo del pad elegido o de su ventana (core/bm_slicer.c) */ +enum { F_INT, F_P1, F_LIST, F_ONOFF, F_BIP, F_PCT, F_RAWPCT, F_TRSP, F_DT, F_HZ, F_NOTE, F_BARS, F_STEPS, F_CH, + F_OHZ, F_DMS, F_GLIDE, /* el corte, la caída y el slide del BB-303 */ + F_PHZ, F_TIME, F_RATE, F_MIX, /* las de panel: el corte, un tiempo, la velocidad del LFO, MOD MIX (OSC 3 / LFO) */ + F_SEMI, F_CENT }; /* BITTAL: TRANSP en semitonos, FINE en cents */ +typedef struct { const char *name; uint8_t kind, idx, lo, max, fmt; const char *const *list; } bxp; + +#define TRK(f) ((uint8_t)offsetof(bm_track, f)) +#define NONE {"", K_NONE, 0, 0, 0, F_INT, NULL} + +extern const bxp MACH_SEQ[4]; /* SEQ: SPEED; K3/K4 recorren el piano roll */ +extern const bxp MACH_GLO[2][4]; /* GLO: LENGTH, MACHINE, MIDI CH, MIDI OUT; pág 2 QUANT (K3), RESET */ +extern const char *const MACH_QUANTS[4]; +#define MACH_QUANT {"QUANT", K_QUANT, 0, 0, 3, F_LIST, MACH_QUANTS} /* PLAY+REC: 25 50 75 100 % */ +extern const bxp MACH_ARP[2][4]; /* ARP: MODE OCTAVE RATE GATE / LATCH */ + +int mach_get(const bm_app *a, const bxp *p); +void mach_fmt(const bxp *p, int v, char *b, int cap); +int mach_pct(const bxp *p, int v); +/* gira la perilla k: escribe el valor y devuelve el nuevo (-1 si no cambió; el título lo arma quien llama) */ +int mach_turn(bm_app *a, const bxp *p, int d); +void mach_legend(const bm_app *a, const bxp *P, bm_legend L[4]); +bool mach_oct(bm_app *a, int id, bm_gkind k); /* OCT -/+ (los dos: todo a 0); true = lo usó */ +void mach_rec(bm_app *a, bm_gkind k); /* REC tipo SLOOP; sostenido 2 s borra el canal */ +/* toca la nota de la tecla k con esa fuerza; con REC armado la primera nota arranca y graba. Devuelve 1 + * si grabó la nota (para marcarle acento o slide). */ +int mach_play(bm_app *a, int k, int vel); +uint8_t mach_common_led(const bm_app *a, int i); /* HOME, REC y OCT: 0xFF si no es uno de esos */ +void mach_head(bm_app *a); /* al entrar: sin grabación armada ni casilla tomada */ +bool mach_knobs_shown(const bm_app *a); /* la pantalla ya muestra K1-K4: sin la franja de perillas */ + +/* el BB-303 (core/bm_b303.c) */ +int b303_page_of(int btn); +bool b303_button(bm_app *a, int id, bm_gkind k); +void b303_key(bm_app *a, int k, int w, int b); +void b303_encoder(bm_app *a, int id, int d); +void b303_legend(const bm_app *a, bm_legend L[4]); +void b303_bigknobs(const bm_app *a, const char **sel, const char **alg, const char **pre); +uint8_t b303_btn_led(const bm_app *a, int i); +const char *b303_title(const bm_app *a, char *buf, int cap); +void b303_keys(const bm_app *a, bm_keyfn K[BM_KEYS]); /* SCL: las blancas son los pasos */ +extern const char *const b303_fx_names[ACF_N]; +void mach_scl_toggle(bm_app *a, int w); /* SCL: el ACCENT (o SLIDE / GLIDE) del paso w de la página */ + +/* las de panel: B-MINI, BUNO-6, BITTAL (core/bm_panel.c) */ +int panel_page_of(int btn); +bool panel_button(bm_app *a, int id, bm_gkind k); +void panel_key(bm_app *a, int k, int w, int b); +void panel_encoder(bm_app *a, int id, int d); +void panel_legend(const bm_app *a, bm_legend L[4]); +void panel_bigknobs(const bm_app *a, const char **sel, const char **alg, const char **pre); +uint8_t panel_btn_led(const bm_app *a, int i); +const char *panel_title(const bm_app *a, char *buf, int cap); +int panel_sub(const bm_app *a); /* la página del menú que se ve */ +const bxp *panel_knobs(const bm_app *a); /* sus cuatro perillas */ +int panel_edit_n(const bm_app *a); /* las secciones de EDIT y sus nombres */ +const char *panel_edit_name(const bm_app *a, int i); +extern const char *const panel_fx_names[PXF_N]; +extern const char *const bmini_r3_names[6]; + +/* el Slicer (core/bm_slicer.c): EDIT (TRIM, SOUND), ENV, FX y GLO; SEQ, LFO y SCL son su rejilla (V_CH) */ +int slicer_page_of(int btn); +bool slicer_button(bm_app *a, int id, bm_gkind k); +void slicer_key(bm_app *a, int k, int w, int b); +void slicer_encoder(bm_app *a, int id, int d); +void slicer_legend(const bm_app *a, bm_legend L[4]); +void slicer_bigknobs(const bm_app *a, const char **sel, const char **alg, const char **pre); +uint8_t slicer_btn_led(const bm_app *a, int i); +const char *slicer_title(const bm_app *a, char *buf, int cap); +void slicer_keys(const bm_app *a, bm_keyfn K[BM_KEYS]); +void slicer_status(const bm_app *a, char *b, int cap, uint16_t *col); /* la cabecera: SAMPLE o el pad y su toma */ +bool slicer_knobs_shown(const bm_app *a); +int slicer_sub(const bm_app *a); +const bxp *slicer_knobs(const bm_app *a); +int slicer_get(const bm_app *a, const bxp *p); +void slicer_fmt(const bm_app *a, const bxp *p, int v, char *b, int cap); +int slicer_pct(const bm_app *a, const bxp *p, int v); +int slicer_turn(bm_app *a, const bxp *p, int d); +bool slicer_live(const bm_app *a, const bxp *p); /* ¿la perilla hace algo ahora? */ +bool slicer_take(const bm_app *a, int pad, bm_smp_src *m); /* la toma del pad (si tiene) */ +void slicer_view(const bm_app *a, uint32_t *v0, uint32_t *v1); /* TRIM: la ventana de la onda, en muestras */ +void slicer_grid_knob(bm_app *a, int k, int d); /* la rejilla: LEVEL, LENGTH, PITCH y RELEASE */ +void slicer_grid_legend(const bm_app *a, bm_legend L[4]); +extern const char *const slicer_mode_names[PAD_MODES]; + +#endif diff --git a/core/bm_panel.c b/core/bm_panel.c new file mode 100644 index 0000000..019423a --- /dev/null +++ b/core/bm_panel.c @@ -0,0 +1,314 @@ +/* SPDX-License-Identifier: GPL-3.0-or-later + * Copyright (C) 2026 Erbubar23 */ +/* Bubba Machine — las máquinas de panel por dentro: B-MINI (Minimoog, con los menús del POLY D de + * Behringer), BUNO-6 (Juno-6) y BITTAL (Vital), 2026-10-22. Cada sección del panel en su botón: + * EDIT el panel, una sección por página (con pestañas arriba) + * ENV sus envolventes (una página cada una) + * LFO su modulación (BITTAL: y los destinos de sus 4 macros) + * FX DISTORTION (DRIVE, TONE, LEVEL); pág 2 CHORUS y REVERB (el DELAY, desde HOME) + * SCL el ACCENT de cada paso; SCL otra vez: el GLIDE de cada paso (como la 303) + * SEQ, ARP y GLO como en las demás máquinas + * ALGORITHM el corte del filtro, en cualquier página · PRESETS los sonidos + * Un menú con páginas no se sale: su botón otra vez pasa a la siguiente, en círculo; se sale con otro + * menú o HOME. El de una página (y SEQ), otra vez, vuelve al panel. */ +#include +#include +#include +#include "bm_mach.h" +#include "bm_util.h" +#include "bm_params.h" +#include "bm_lang.h" + +#define VOLUME {"VOLUME", K_TRK, TRK(level), 0, 127, F_PCT, NULL} +static const bxp P_NONE[4] = {NONE, NONE, NONE, NONE}; + +/* ------------------------------------------------------------ B-MINI: el Minimoog, como el POLY D */ +static const char *const MN_RANGES[5] = {"32'", "16'", "8'", "4'", "2'"}; +const char *const bmini_r3_names[6] = {"LO", "32'", "16'", "8'", "4'", "2'"}; +static const char *const MN_WAVES_N[MN_WAVES] = {"TRI", "SHARK", "SAW", "SQUARE", "WIDE", "NARROW"}; +static const char *const MN_MODES[2] = {"MONO", "LEGATO"}; +static const char *const MN_LWAVES[2] = {"TRI", "SQUARE"}; +static const char *const MN_DESTS[MN_LDESTS] = {"OSC", "FILTER", "BOTH"}; +static const bxp MN_EDIT[5][4] = { + {{"CUTOFF", K_MAC, 0, 0, 127, F_PHZ, NULL}, {"EMPHASIS", K_MAC, 1, 0, 127, F_PCT, NULL}, + {"CONTOUR", K_MAC, 2, 0, 127, F_PCT, NULL}, {"KBD CTRL", K_PRM, MN_KEYT, 0, 127, F_PCT, NULL}}, + {{"RANGE", K_PRM, MN_R1, 0, 4, F_LIST, MN_RANGES}, {"WAVE", K_PRM, MN_W1, 0, MN_WAVES - 1, F_LIST, MN_WAVES_N}, + {"LEVEL", K_PRM, MN_L1, 0, 127, F_PCT, NULL}, {"TUNE", K_PRM, MN_TUNE, 0, 127, F_BIP, NULL}}, + {{"RANGE", K_PRM, MN_R2, 0, 4, F_LIST, MN_RANGES}, {"FREQ", K_PRM, MN_T2, 0, 127, F_BIP, NULL}, + {"WAVE", K_PRM, MN_W2, 0, MN_WAVES - 1, F_LIST, MN_WAVES_N}, {"LEVEL", K_PRM, MN_L2, 0, 127, F_PCT, NULL}}, + {{"RANGE", K_R3, MN_R3, 0, 5, F_LIST, bmini_r3_names}, {"FREQ", K_PRM, MN_T3, 0, 127, F_BIP, NULL}, + {"WAVE", K_PRM, MN_W3, 0, MN_WAVES - 1, F_LIST, MN_WAVES_N}, {"LEVEL", K_PRM, MN_L3, 0, 127, F_PCT, NULL}}, + {{"NOISE", K_PRM, MN_NOISE, 0, 127, F_PCT, NULL}, {"GLIDE", K_PRM, MN_GLIDE, 0, 127, F_TIME, NULL}, + {"MODE", K_PRM, MN_MODE, 0, 1, F_LIST, MN_MODES}, VOLUME}}; +static const char *const MN_EDIT_N[5] = {"FILTER", "OSC 1", "OSC 2", "OSC 3", "OUTPUT"}; +static const bxp MN_ENV[2][4] = { + {{"ATTACK", K_PRM, MN_FA, 0, 127, F_TIME, NULL}, {"DECAY", K_PRM, MN_FD, 0, 127, F_TIME, NULL}, + {"SUSTAIN", K_PRM, MN_FS, 0, 127, F_PCT, NULL}, {"RELEASE", K_PRM, MN_FR, 0, 127, F_TIME, NULL}}, + {{"ATTACK", K_PRM, MN_AA, 0, 127, F_TIME, NULL}, {"DECAY", K_PRM, MN_AD, 0, 127, F_TIME, NULL}, + {"SUSTAIN", K_PRM, MN_AS, 0, 127, F_PCT, NULL}, {"RELEASE", K_PRM, MN_AR, 0, 127, F_TIME, NULL}}}; +static const char *const MN_ENV_N[2] = {"FILTER", "LOUDNESS"}; +static const bxp MN_LFO[2][4] = { + {{"RATE", K_PRM, MN_LRATE, 0, 127, F_RATE, NULL}, {"WAVE", K_PRM, MN_LWAVE, 0, 1, F_LIST, MN_LWAVES}, + {"MOD MIX", K_PRMI, MN_MIX, 0, 127, F_MIX, NULL}, {"AMOUNT", K_PRM, MN_LAMT, 0, 127, F_PCT, NULL}}, + {{"DEST", K_PRM, MN_LDEST, 0, MN_LDESTS - 1, F_LIST, MN_DESTS}, NONE, NONE, NONE}}; +static const char *const MN_LFO_N[2] = {"", "DEST"}; + +/* ------------------------------------------------------------ BUNO-6: el Juno-6 */ +static const char *const BN_RANGES[3] = {"16'", "8'", "4'"}; +static const char *const BN_PWM_N[BN_PWMS] = {"LFO", "MANUAL", "ENV"}; +static const char *const BN_HPFS[4] = {"0", "1", "2", "3"}; +static const char *const BN_POLS[2] = {"+", "-"}; +static const char *const BN_VCAS[2] = {"ENV", "GATE"}; +static const bxp BN_EDIT[5][4] = { + {{"FREQ", K_MAC, 0, 0, 127, F_PHZ, NULL}, {"RES", K_MAC, 1, 0, 127, F_PCT, NULL}, + {"ENV", K_MAC, 2, 0, 127, F_PCT, NULL}, {"LFO", K_MAC, 3, 0, 127, F_PCT, NULL}}, + {{"RANGE", K_PRM, BN_RANGE, 0, 2, F_LIST, BN_RANGES}, {"PULSE", K_PRM, BN_PULSE, 0, 1, F_ONOFF, NULL}, + {"SAW", K_PRM, BN_SAW, 0, 1, F_ONOFF, NULL}, {"SUB", K_PRM, BN_SUB, 0, 127, F_PCT, NULL}}, + {{"LFO", K_PRM, BN_LFODCO, 0, 127, F_PCT, NULL}, {"PWM", K_PRM, BN_PWM, 0, 127, F_PCT, NULL}, + {"PWM MODE", K_PRM, BN_PWMSRC, 0, BN_PWMS - 1, F_LIST, BN_PWM_N}, {"NOISE", K_PRM, BN_NOISE, 0, 127, F_PCT, NULL}}, + {{"HPF", K_PRM, BN_HPF, 0, 3, F_LIST, BN_HPFS}, {"ENV +/-", K_PRM, BN_ENVPOL, 0, 1, F_LIST, BN_POLS}, + {"KYBD", K_PRM, BN_KEYT, 0, 127, F_PCT, NULL}, {"VELO", K_PRM, BN_VELF, 0, 127, F_PCT, NULL}}, + {{"ENV/GATE", K_PRM, BN_VCA, 0, 1, F_LIST, BN_VCAS}, {"VELO", K_PRM, BN_VELA, 0, 127, F_PCT, NULL}, NONE, VOLUME}}; +static const char *const BN_EDIT_N[5] = {"VCF", "DCO", "DCO MOD", "VCF MOD", "VCA"}; +static const bxp BN_ENV[1][4] = { + {{"ATTACK", K_PRM, BN_A, 0, 127, F_TIME, NULL}, {"DECAY", K_PRM, BN_D, 0, 127, F_TIME, NULL}, + {"SUSTAIN", K_PRM, BN_S, 0, 127, F_PCT, NULL}, {"RELEASE", K_PRM, BN_R, 0, 127, F_TIME, NULL}}}; +static const char *const BN_ENV_N[1] = {""}; +static const bxp BN_LFO[1][4] = { + {{"RATE", K_PRM, BN_LRATE, 0, 127, F_RATE, NULL}, {"DELAY", K_PRM, BN_LDELAY, 0, 127, F_TIME, NULL}, NONE, NONE}}; +static const char *const BN_LFO_N[1] = {""}; + +/* ------------------------------------------------------------ BITTAL: Vital */ +static const char *const BT_UNIS[4] = {"1", "2", "3", "4"}; +static const char *const BT_FILTERS_N[BT_FILTERS] = {"LP 24", "LP 12", "BP", "HP", "LADDER", "OFF"}; +static const char *const BT_MODES[WM_MODES] = {"POLY", "MONO", "LEGATO"}; +static const char *const BT_LSHAPES_N[BT_LSHAPES] = {"SINE", "TRI", "SAW", "SQUARE", "RANDOM"}; +static const char *const BT_LDESTS_N[BT_LDESTS] = {"PITCH", "CUTOFF", "POSITION", "LEVEL"}; +#define BT_OSC(L, S, P, U) {{"LEVEL", K_PRM, L, 0, 127, F_PCT, NULL}, {"TRANSP", K_PRM, S, 0, 127, F_SEMI, NULL}, \ + {"FRAME", K_PRM, P, 0, 127, F_PCT, NULL}, {"UNISON", K_PRM, U, 0, 3, F_LIST, BT_UNIS}} +#define BT_OSCP(D, F, T) {{"DETUNE", K_PRM, D, 0, 127, F_PCT, NULL}, {"FINE", K_PRM, F, 0, 127, F_CENT, NULL}, \ + {"TABLE", K_PRM, T, 0, 63, F_INT, NULL}, NONE} +static const bxp BT_EDIT[7][4] = { + BT_OSC(BT_L1, BT_S1, BT_P1, BT_U1), BT_OSCP(BT_D1, BT_F1, BT_TAB1), + BT_OSC(BT_L2, BT_S2, BT_P2, BT_U2), BT_OSCP(BT_D2, BT_F2, BT_TAB2), + {{"MODEL", K_PRM, BT_FT, 0, BT_FILTERS - 1, F_LIST, BT_FILTERS_N}, {"CUTOFF", K_PRM, BT_CUT, 0, 127, F_PHZ, NULL}, + {"RESO", K_PRM, BT_RES, 0, 127, F_PCT, NULL}, {"DRIVE", K_PRM, BT_DRIVE, 0, 127, F_PCT, NULL}}, + {{"ENV2 AMT", K_PRM, BT_FENV, 0, 127, F_BIP, NULL}, {"KEYTRK", K_PRM, BT_KEYT, 0, 127, F_PCT, NULL}, + {"VELO", K_PRM, BT_VELF, 0, 127, F_PCT, NULL}, {"ENV2 POS", K_PRM, BT_EPOS, 0, 127, F_PCT, NULL}}, + {{"MODE", K_PRM, BT_MODE, 0, WM_MODES - 1, F_LIST, BT_MODES}, {"GLIDE", K_PRM, BT_GLIDE, 0, 127, F_TIME, NULL}, + {"VELO", K_PRM, BT_VELA, 0, 127, F_PCT, NULL}, VOLUME}}; +static const char *const BT_EDIT_N[7] = {"OSC 1", "OSC 1 +", "OSC 2", "OSC 2 +", "FILTER", "FILTER +", "VOICE"}; +static const bxp BT_ENV[2][4] = { + {{"ATTACK", K_PRM, BT_AA, 0, 127, F_TIME, NULL}, {"DECAY", K_PRM, BT_AD, 0, 127, F_TIME, NULL}, + {"SUSTAIN", K_PRM, BT_AS, 0, 127, F_PCT, NULL}, {"RELEASE", K_PRM, BT_AR, 0, 127, F_TIME, NULL}}, + {{"ATTACK", K_PRM, BT_MA, 0, 127, F_TIME, NULL}, {"DECAY", K_PRM, BT_MD, 0, 127, F_TIME, NULL}, + {"SUSTAIN", K_PRM, BT_MS, 0, 127, F_PCT, NULL}, {"RELEASE", K_PRM, BT_MR, 0, 127, F_TIME, NULL}}}; +static const char *const BT_ENV_N[2] = {"ENV 1", "ENV 2"}; +#define BT_MAC(n1, d1, a1, n2, d2, a2) {{n1 " TO", K_PRM, d1, 0, BTM_TARGETS - 1, F_LIST, bm_btm_names}, \ + {n1 " AMT", K_PRM, a1, 0, 127, F_BIP, NULL}, \ + {n2 " TO", K_PRM, d2, 0, BTM_TARGETS - 1, F_LIST, bm_btm_names}, \ + {n2 " AMT", K_PRM, a2, 0, 127, F_BIP, NULL}} +static const bxp BT_LFO[3][4] = { + {{"SHAPE", K_PRM, BT_LSHAPE, 0, BT_LSHAPES - 1, F_LIST, BT_LSHAPES_N}, {"RATE", K_PRM, BT_LRATE, 0, 127, F_RATE, NULL}, + {"DEST", K_PRM, BT_LDEST, 0, BT_LDESTS - 1, F_LIST, BT_LDESTS_N}, {"AMOUNT", K_PRM, BT_LAMT, 0, 127, F_PCT, NULL}}, + BT_MAC("M1", BT_M1D, BT_M1A, "M2", BT_M2D, BT_M2A), + BT_MAC("M3", BT_M3D, BT_M3A, "M4", BT_M4D, BT_M4A)}; +static const char *const BT_LFO_N[3] = {"", "MACRO 1-2", "MACRO 3-4"}; + +/* ------------------------------------------------------------ los efectos, iguales en las tres */ +static const bxp PX_FX1[4] = {{"DRIVE", K_PRM, PX_DS_G, 0, 127, F_PCT, NULL}, {"TONE", K_PRM, PX_DS_T, 0, 127, F_PCT, NULL}, + {"LEVEL", K_PRM, PX_DS_L, 0, 127, F_PCT, NULL}, {"ON", K_ON, PXF_DIST, 0, 1, F_ONOFF, NULL}}; +#define PX_FX2(...) {{__VA_ARGS__}, NONE, {"REVERB", K_TRK, TRK(rsend), 0, 127, F_PCT, NULL}, {"REV ON", K_ON, PXF_REVERB, 0, 1, F_ONOFF, NULL}} +static const bxp PX_FX2_STD[4] = PX_FX2("CHORUS", K_PRM, PX_CHORUS, 0, 2, F_LIST, bm_px_chorus_names); +static const bxp PX_FX2_BN[4] = PX_FX2("CHORUS", K_PRM, BN_CHORUS, 0, BN_CHORUSES - 1, F_LIST, bm_bn_chorus_names); /* el del Juno, con I+II */ +const char *const panel_fx_names[PXF_N] = {"DISTORTION", "CHORUS", "REVERB"}; + +typedef struct { + const char *name; /* para el recuadro: "B-MINI CUTOFF" */ + int edit_n; const bxp (*edit)[4]; const char *const *edit_names; + int env_n; const bxp (*env)[4]; const char *const *env_names; + int lfo_n; const bxp (*lfo)[4]; const char *const *lfo_names; + const bxp *fx2; + bxp algo; /* ALGORITHM: el corte */ +} pmach; + +static const pmach PM[3] = { + {"B-MINI", 5, MN_EDIT, MN_EDIT_N, 2, MN_ENV, MN_ENV_N, 2, MN_LFO, MN_LFO_N, PX_FX2_STD, + {"CUTOFF", K_MAC, 0, 0, 127, F_PHZ, NULL}}, + {"BUNO-6", 5, BN_EDIT, BN_EDIT_N, 1, BN_ENV, BN_ENV_N, 1, BN_LFO, BN_LFO_N, PX_FX2_BN, + {"FREQ", K_MAC, 0, 0, 127, F_PHZ, NULL}}, + {"BITTAL", 7, BT_EDIT, BT_EDIT_N, 2, BT_ENV, BT_ENV_N, 3, BT_LFO, BT_LFO_N, PX_FX2_STD, + {"CUTOFF", K_PRM, BT_CUT, 0, 127, F_PHZ, NULL}}}; + +static const pmach *pm_of(const bm_app *a) +{ + int e = a->pat.trk[a->track].engine; + return &PM[e == ENG_BUNO ? 1 : e == ENG_BITTAL ? 2 : 0]; +} + +int panel_page_of(int btn) +{ + switch (btn) { + case BTN_EDIT: return BXP_MAIN; + case BTN_SEQ: return BXP_SEQ; + case BTN_FX: return BXP_FX; + case BTN_ENV: return BXP_ENV; + case BTN_LFO: return BXP_LFO; + case BTN_SCL: return BXP_SCL; + case BTN_ARP: return BXP_ARP; + case BTN_GLO: return BXP_GLO; + default: return -1; + } +} + +static int pages(const pmach *m, int p) +{ + switch (p) { + case BXP_MAIN: return m->edit_n; + case BXP_ENV: return m->env_n; + case BXP_LFO: return m->lfo_n; + case BXP_SEQ: return 1; + default: return 2; + } +} + +int panel_sub(const bm_app *a) { return a->bx.sub[a->bx.page % BXP_N] % pages(pm_of(a), a->bx.page); } + +static const bxp *cur(const bm_app *a, int *n) +{ + const pmach *m = pm_of(a); + *n = pages(m, a->bx.page); + int s = panel_sub(a); + switch (a->bx.page) { + case BXP_SEQ: return MACH_SEQ; + case BXP_ENV: return m->env[s]; + case BXP_LFO: return m->lfo[s]; + case BXP_FX: return s ? m->fx2 : PX_FX1; + case BXP_SCL: return P_NONE; + case BXP_GLO: return MACH_GLO[s]; + case BXP_ARP: return MACH_ARP[s]; + default: return m->edit[s]; + } +} + +const bxp *panel_knobs(const bm_app *a) { int n; return cur(a, &n); } + +/* el panel está a la vista: se ve girar la perilla, sin el recuadro grande encima (ALGORITHM se ve + * solo si está en la página, como el CUTOFF del B-MINI en FILTER) */ +static bool on_panel(const bm_app *a, int k, const bxp *p) +{ + if (a->bx.page != BXP_MAIN) return false; + if (k >= 0) return true; + const bxp *P = pm_of(a)->edit[panel_sub(a)]; + for (int i = 0; i < 4; i++) if (P[i].kind == p->kind && P[i].idx == p->idx) return true; + return false; +} + +static void turned(bm_app *a, int k, const bxp *p, int v) +{ + if (v < 0) return; + if (on_panel(a, k, p)) { a->ov.on = 0; return; } + char b[12], ti[22]; + mach_fmt(p, v, b, sizeof b); + const char *pre = a->bx.page == BXP_FX ? "FX" : a->bx.page == BXP_LFO ? "LFO" : a->bx.page == BXP_ENV ? "ENV" : pm_of(a)->name; + snprintf(ti, sizeof ti, "%s %s", pre, T(p->name)); + app_overlay(a, k, ti, b, "", mach_pct(p, v), p->fmt == F_BIP || p->fmt == F_SEMI || p->fmt == F_CENT ? 128 : -1, + k >= 0 ? bm_knob_color(k) : C_ORANGE); +} + +bool panel_button(bm_app *a, int id, bm_gkind k) +{ + int p = panel_page_of(id); + if (p < 0) return true; /* lo demás no hace nada */ + if (k != G_TAP && k != G_HOLD) return true; + bm_bx7ui *u = &a->bx; + int n = pages(pm_of(a), p); + if (u->page != p) { /* otro menú: entra en su página 1 */ + u->page = (uint8_t)p; + u->sub[p] = 0; + if (p == BXP_SCL) u->blk = (uint8_t)(u->step % mach_len(a) / 16); + } else if (n > 1) u->sub[p] = (uint8_t)((u->sub[p] + 1) % n); /* la siguiente, en círculo */ + else u->page = BXP_MAIN; /* de una página: otra vez, el panel */ + a->ov.on = 0; + return true; +} + +void panel_key(bm_app *a, int k, int w, int b) +{ + (void)b; + if (a->bx.page == BXP_SCL) { if (w >= 0 && w < 16) mach_scl_toggle(a, w); return; } /* las negras: nada */ + mach_play(a, k, 105); +} + +void panel_encoder(bm_app *a, int id, int d) +{ + bm_bx7ui *u = &a->bx; + int n; + switch (id) { + case ENC_SELECT: + if (u->page == BXP_SCL) { /* la página de 16 pasos */ + int nb = (mach_len(a) + 15) / 16; + u->blk = (uint8_t)((u->blk + app_lst(a, d) + nb * 8) % nb); + } + return; /* las páginas, con su botón */ + case ENC_ALGO: { /* el corte, en cualquier página */ + const bxp *p = &pm_of(a)->algo; + turned(a, -1, p, mach_turn(a, p, d)); + return; + } + case ENC_PRESETS: app_enc_source(a, a->track, d); return; + default: break; + } + int k = id - ENC_K1; + if (k < 0 || k > 3) return; + const bxp *P = cur(a, &n); + turned(a, k, &P[k], mach_turn(a, &P[k], d)); +} + +void panel_legend(const bm_app *a, bm_legend L[4]) +{ + int n; + mach_legend(a, cur(a, &n), L); +} + +void panel_bigknobs(const bm_app *a, const char **sel, const char **alg, const char **pre) +{ + *sel = a->bx.page == BXP_SCL ? "STEPS" : a->bx.page == BXP_SEQ ? "STEP" : "-"; + *alg = pm_of(a)->algo.name; + *pre = "PRESET"; +} + +uint8_t panel_btn_led(const bm_app *a, int i) +{ + int p = panel_page_of(i); + if (p < 0) return LED_OFF; + return p == a->bx.page ? LED_ON : LED_DIM; +} + +const char *panel_title(const bm_app *a, char *buf, int cap) +{ + const pmach *m = pm_of(a); + const bm_bx7ui *u = &a->bx; + int n = pages(m, u->page), s = panel_sub(a); + switch (u->page) { + case BXP_MAIN: snprintf(buf, (size_t)cap, "%s %d/%d", T(m->edit_names[s]), s + 1, n); break; + case BXP_ENV: + if (n > 1) snprintf(buf, (size_t)cap, "ENV %d/%d %s", s + 1, n, T(m->env_names[s])); + else snprintf(buf, (size_t)cap, "%s", "ENV"); + break; + case BXP_LFO: + if (n > 1) snprintf(buf, (size_t)cap, m->lfo_names[s][0] ? "LFO %d/%d %s" : "LFO %d/%d", s + 1, n, T(m->lfo_names[s])); + else snprintf(buf, (size_t)cap, "%s", "LFO"); + break; + case BXP_FX: snprintf(buf, (size_t)cap, "FX %d/2 %s", s + 1, T(s ? "CHORUS REVERB" : "DISTORTION")); break; + case BXP_SCL: snprintf(buf, (size_t)cap, "%s %d-%d", T(s ? "GLIDE" : "ACCENT"), u->blk * 16 + 1, u->blk * 16 + 16); break; + case BXP_GLO: snprintf(buf, (size_t)cap, "GLO %d/2", s + 1); break; + case BXP_ARP: snprintf(buf, (size_t)cap, "ARP %d/2", s + 1); break; + default: snprintf(buf, (size_t)cap, "%s", "SEQ"); break; + } + return buf; +} + +/* el panel: cuántas secciones tiene EDIT y cómo se llaman */ +int panel_edit_n(const bm_app *a) { return pm_of(a)->edit_n; } +const char *panel_edit_name(const bm_app *a, int i) { return pm_of(a)->edit_names[i % pm_of(a)->edit_n]; } diff --git a/core/bm_params.c b/core/bm_params.c index 349d0fe..7ee233e 100644 --- a/core/bm_params.c +++ b/core/bm_params.c @@ -74,15 +74,14 @@ const bm_ppage bm_mn_pages[BM_MN_PAGES] = { P("VEL FILT", MN_VELF, 40, 127, PF_PCT, 0), P("VEL LVL", MN_VELA, 40, 127, PF_PCT, 0)}}, }; -/* BX-7: ALGORITHM (con el dibujo), EG, VOICE y LFO. Las macros y el LFO van encima del patch. */ +/* BX-7 (2026-10-21): lo que va encima de la voz (pat->fmv), con 64 = la voz tal cual. La voz misma + * (algoritmo, feedback, LFO, operadores) se edita byte a byte con CMD_FMV desde core/bm_bx7.c. + * MAIN: lo de la pantalla principal · ENV: el ADSR de volumen del FM-1 de fábrica. */ const bm_ppage bm_fx_pages[BM_FX_PAGES] = { - {"ALGORITHM", 4, {P("ALG", FX_ALG, 0, 32, PF_ALG, 0), P("FEEDBACK", PS_M0 + 1, 64, 127, PF_BIP, 0), - P("MOD LVL", PS_M0 + 0, 64, 127, PF_BIP, 0), P("KEY VEL", PS_TRK(accent), 100, 127, PF_PCT, 0)}}, - {"EG", 3, {P("R1 ATK", PS_TRK(attack), 0, 127, PF_PCT, 0), P("R2-3 DEC", PS_M0 + 2, 64, 127, PF_BIP, 0), - P("R4 REL", PS_M0 + 3, 64, 127, PF_BIP, 0)}}, - {"VOICE", 2, {P("PORTA", PS_TRK(glide), 30, 127, PF_PCT, 0), P("TRANSP", PS_TRK(transpose), 24, 48, PF_TRSP, 0)}}, - {"LFO", 4, {P("SPEED", FX_LSPD, 0, 100, PF_OVR, 0), P("DELAY", FX_LDLY, 0, 100, PF_OVR, 0), - P("PMD", FX_LPMD, 0, 100, PF_OVR, 0), P("AMD", FX_LAMD, 0, 100, PF_OVR, 0)}}, + {"MAIN", 3, {P("BRIGHT", PS_M0 + 0, 64, 127, PF_BIP, 0), P("PORTA", PS_TRK(glide), 0, 127, PF_PCT, 0), + P("KEY VEL", PS_TRK(accent), 100, 127, PF_PCT, 0)}}, + {"ENV", 4, {P("ATTACK", PS_TRK(attack), 0, 127, PF_PCT, 0), P("DECAY", PS_M0 + 2, 64, 127, PF_BIP, 0), + P("SUSTAIN", PS_TRK(sustain), 64, 127, PF_BIP, 0), P("RELEASE", PS_M0 + 3, 64, 127, PF_BIP, 0)}}, }; /* BUNO-6: el panel del Juno-6 de izquierda a derecha */ @@ -149,8 +148,8 @@ static const bm_pdef MN_FDEC = P("F DECAY", PS_M0 + 3, 64, 127, PF_BIP, 0); static const bm_pdef BT_MAC[4] = {P("MACRO 1", PS_M0 + 0, 64, 127, PF_PCT, 0), P("MACRO 2", PS_M0 + 1, 0, 127, PF_PCT, 0), P("MACRO 3", PS_M0 + 2, 0, 127, PF_PCT, 0), P("MACRO 4", PS_M0 + 3, 0, 127, PF_PCT, 0)}; -/* T3-T6: las 5 máquinas, en el orden de la página MACHINE */ -const uint8_t bm_machines[BM_MACHINES] = {ENG_ACID, ENG_MINI, ENG_FM, ENG_BITTAL, ENG_BUNO}; +/* T3-T6: las máquinas que se eligen, en el orden de GLO > SELECT MACHINE */ +const uint8_t bm_machines[BM_MACHINES] = {ENG_ACID, ENG_MINI, ENG_BUNO, ENG_BITTAL, ENG_FM}; const char *bm_machine_origin(int engine) { @@ -173,6 +172,9 @@ const bm_ppage bm_lane_pages[BM_LANE_PAGES] = { P("TONE", LN_TONE, 64, 127, PF_PCT, 0), P("COLOR", LN_COLOR, 64, 127, PF_PCT, 0)}}, {"INSTRUMENT", 4, {P("MODEL", LN_MODEL, 0, DRM_COUNT - 1, PF_LIST, DRM_LIST), P("LEVEL", LN_LEVEL, 100, 127, PF_INT, 0), P("CHOKE", LN_CHOKE, 0, 3, PF_LIST, CHOKES), P("LENGTH", LN_LEN, 16, 64, PF_INT, 0)}}, + /* el secuenciador sin capa (2026-10-21): lo que más se toca del instrumento elegido */ + {"SEQ", 4, {P("LEVEL", LN_LEVEL, 100, 127, PF_INT, 0), P("LENGTH", LN_LEN, 16, 64, PF_INT, 0), /* LENGTH: todo el kit */ + P("DECAY", LN_DECAY, 64, 127, PF_PCT, 0), P("TONE", LN_TONE, 64, 127, PF_PCT, 0)}}, }; /* AFINA: semitonos = (tune - 64) * 3 / 8 sobre el tono base del modelo (bm_drm_base_hz). @@ -304,6 +306,101 @@ void bm_prm_defaults(bm_pattern *p, int t) for (int i = 0; i < n; i++) for (int k = 0; k < pg[i].n; k++) if (pg[i].p[k].slot != PS_TRK(transpose)) prm_set(p, t, &pg[i].p[k], pg[i].p[k].def); /* el tono del canal queda */ + if (e == ENG_FM) bm_bx7_fx_defaults(p->prm[t]); + if (e == ENG_ACID) bm_acid_fx_defaults(p->prm[t]); + if (bm_px_eng(e)) bm_px_fx_defaults(p->prm[t]); +} + +typedef char bm_assert_px[(BM_SNAP_PRM <= PX_FX) ? 1 : -1]; /* un preset no pisa los efectos */ + +void bm_px_fx_defaults(uint8_t *prm) +{ + prm[PX_FX] = 0; + prm[PX_DS_G] = 60; prm[PX_DS_T] = 70; prm[PX_DS_L] = 90; + prm[PX_CHORUS] = 0; prm[PX_LATCH] = 0; +} + +const char *const bm_px_chorus_names[3] = {"OFF", "I", "II"}; + +void bm_acid_fx_defaults(uint8_t *prm) +{ + prm[AC_FX] = 0; + prm[AC_OD_G] = 60; prm[AC_OD_T] = 70; prm[AC_OD_L] = 90; + prm[AC_LATCH] = 0; + prm[AC_LFO_RATE] = 4; prm[AC_LFO_DEPTH] = 0; prm[AC_LFO_WAVE] = ACW_SINE; prm[AC_LFO_DEST] = ACL_CUTOFF; /* 1 compás, apagado */ +} + +const uint16_t bm_acid_lfo_ticks[AC_LFO_RATES] = {24, 48, 96, 192, 384, 768, 1536, 3072}; +const char *const bm_acid_lfo_rates[AC_LFO_RATES] = {"1/16", "1/8", "1/4", "1/2", "1 BAR", "2 BARS", "4 BARS", "8 BARS"}; +const char *const bm_acid_lfo_waves[ACW_N] = {"SINE", "TRIANGLE", "SAW UP", "SAW DOWN", "SQUARE", "S&H", "PUMP", "GATE", "STEPS", "3-3-2", "BUILD"}; +const char *const bm_acid_lfo_dests[ACL_DESTS] = {"CUTOFF", "PITCH", "RESO", "VOLUME"}; + +/* los patrones: 16 pasos por ciclo (con RATE = 1 BAR, uno por semicorchea) */ +static const uint8_t LFO_GATE[16] = {1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1}; /* trance gate */ +static const uint8_t LFO_STEPS[16] = {0, 96, 45, 127, 19, 76, 114, 38, 6, 102, 57, 127, 25, 83, 51, 121}; /* una línea de filtro */ +static const uint8_t LFO_332[16] = {1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0}; /* tresillo: 3 + 3 + 2 */ + +float bm_acid_lfo_shape(int wave, float ph, uint32_t cyc) +{ + if (ph < 0.0f) ph = 0.0f; + if (ph >= 1.0f) ph = 0.9999f; + int st = (int)(ph * 16.0f); + float in = ph * 16.0f - (float)st; /* dentro del paso, 0..1 */ + switch (wave) { + case ACW_TRI: return ph < 0.5f ? 2.0f * ph : 2.0f - 2.0f * ph; + case ACW_SAWUP: return ph; + case ACW_SAWDN: return 1.0f - ph; + case ACW_SQUARE: return ph < 0.5f ? 1.0f : 0.0f; + case ACW_SH: { /* un valor por ciclo, el mismo en cada vuelta del patrón */ + uint32_t h = (cyc + 1u) * 2654435761u; + h ^= h >> 15; h *= 2246822519u; h ^= h >> 13; + return (float)(h & 1023u) * (1.0f / 1023.0f); + } + case ACW_PUMP: { /* cuatro bombeos por ciclo: abajo en el golpe, sube rápido */ + float q = ph * 4.0f; + q -= (float)(int)q; + float r = 1.0f - q; + return 1.0f - r * r * r; + } + case ACW_GATE: return LFO_GATE[st] ? 1.0f : 0.0f; + case ACW_STEPS: return (float)LFO_STEPS[st] * (1.0f / 127.0f); + case ACW_332: { /* cada golpe arriba y cae hasta el siguiente */ + int k = st; + while (k > 0 && !LFO_332[k]) k--; + float since = (float)(st - k) + in; + return 1.0f / (1.0f + 1.5f * since); + } + case ACW_BUILD: return (float)st * (1.0f / 15.0f); /* una escalera que sube: con 4 u 8 compases, una subida */ + default: return 0.5f - 0.5f * cosf(6.2831853f * ph); /* SINE */ + } +} + +bool bm_send_on(const bm_pattern *p, int t, int rev) +{ + switch (p->trk[t].engine) { + case ENG_FM: return (p->prm[t][BX_FXON] >> (rev ? BXF_REVERB : BXF_DELAY)) & 1u; + case ENG_ACID: return bm_acid_fx_on(p->prm[t], rev ? ACF_REVERB : ACF_DELAY); + case ENG_MINI: case ENG_BUNO: case ENG_BITTAL: case ENG_BREAK: return !rev || bm_px_fx_on(p->prm[t], p->trk[t].engine, PXF_REVERB); /* el DELAY, desde HOME */ + default: return true; + } +} + +void bm_bx7_fx_defaults(uint8_t *prm) +{ + for (int i = BX_FX_FIRST; i <= BX_LATCH; i++) prm[i] = 0; + prm[BX_FXON] = (uint8_t)(1u << BXF_REVERB | 1u << BXF_DELAY); /* los envíos de la mezcla, como siempre */ + for (int i = 0; i < BXF_N; i++) prm[BX_ORD0 + i] = (uint8_t)i; + prm[BX_FLT_C] = 90; prm[BX_FLT_Q] = 30; + prm[BX_DST_G] = 40; prm[BX_DST_T] = 80; prm[BX_DST_L] = 90; + prm[BX_CHO_F] = 30; prm[BX_CHO_D] = 60; prm[BX_CHO_M] = 50; + prm[BX_PHA_F] = 30; prm[BX_PHA_D] = 80; prm[BX_PHA_M] = 50; +} + +static int bx_ord_ok(const uint8_t *prm) +{ + unsigned seen = 0; + for (int i = 0; i < BXF_N; i++) { if (prm[BX_ORD0 + i] >= BXF_N) return 0; seen |= 1u << prm[BX_ORD0 + i]; } + return seen == (1u << BXF_N) - 1u; } /* El preset: en BB-303 uno de bm_ac_presets; en BX-7 el patch (source) con los ajustes de fábrica @@ -312,9 +409,19 @@ void bm_preset_apply(bm_pattern *p, int t, int preset) { int eng = p->trk[t].engine; if (!bm_engine_paged(eng)) return; - bm_prm_defaults(p, t); - if (eng == ENG_FM) return; - if (eng == ENG_ACID) { + if (eng == ENG_FM) { /* la voz del preset, para editarla; los efectos y MONO/POLY quedan */ + uint8_t keep[BX_LATCH + 1]; + memcpy(keep, p->prm[t], sizeof keep); + bm_prm_defaults(p, t); + if (bx_ord_ok(keep)) memcpy(p->prm[t] + BX_FX_FIRST, keep + BX_FX_FIRST, (size_t)(BX_LATCH + 1 - BX_FX_FIRST)); + memcpy(p->fmv, bm_fm_patch(preset), BM_FMV_BYTES); + return; + } + if (eng == ENG_ACID) { /* el sonido del preset; los efectos y LATCH quedan */ + uint8_t keep[AC_NPRM]; + memcpy(keep, p->prm[t], sizeof keep); + bm_prm_defaults(p, t); + if (keep[AC_OD_G] || keep[AC_OD_T] || keep[AC_OD_L]) memcpy(p->prm[t] + AC_FX, keep + AC_FX, (size_t)(AC_NPRM - AC_FX)); const bm_ac_preset *a = &bm_ac_presets[(preset % BM_AC_PRESETS + BM_AC_PRESETS) % BM_AC_PRESETS]; bm_track *k = &p->trk[t]; k->macro[0] = a->cut; k->macro[1] = a->res; k->macro[2] = a->env; k->macro[3] = a->dec; @@ -322,12 +429,19 @@ void bm_preset_apply(bm_pattern *p, int t, int preset) p->prm[t][AC_WAVE] = a->wave; return; } + uint8_t keep[BM_PRM]; /* B-MINI, BUNO-6, BITTAL: sus efectos y LATCH quedan */ + memcpy(keep, p->prm[t], sizeof keep); + bm_prm_defaults(p, t); int n = bm_snap_count(eng); if (!n) return; const uint8_t *s = bm_snap_get(eng, (preset % n + n) % n); if (!s) return; - memcpy(p->prm[t], s + 40, BM_PRM < BM_SNAP_PRM ? BM_PRM : BM_SNAP_PRM); + memcpy(p->prm[t], s + 40, BM_PRM < BM_SNAP_PRM ? BM_PRM : BM_SNAP_PRM); /* (los efectos, PX_*, no están: quedan) */ memcpy(p->trk[t].macro, s + 36, 4); + if (bm_panel_eng(eng)) { + if (keep[PX_DS_G] || keep[PX_DS_T] || keep[PX_DS_L]) memcpy(p->prm[t] + PX_FX, keep + PX_FX, (size_t)(PX_END - PX_FX)); + else bm_px_fx_defaults(p->prm[t]); + } if (eng == ENG_BITTAL) { p->prm[t][BT_TAB1] = 0; p->prm[t][BT_TAB2] = 0; } } @@ -365,7 +479,7 @@ void bm_prm_fmt(const bm_pdef *d, int v, char *b, int cap) case PF_GLIDE: snprintf(b, (size_t)cap, "%d MS", (v + 8) * 1000 / 254); break; case PF_MOD: if (v == 64) snprintf(b, (size_t)cap, "OFF"); - else snprintf(b, (size_t)cap, v < 64 ? "OSC %d%%" : "FILT %d%%", ((v < 64 ? 64 - v : v - 64) * 200 + 63) / 127); + else { int pc = ((v < 64 ? 64 - v : v - 64) * 200 + 63) / 127; snprintf(b, (size_t)cap, v < 64 ? "OSC %d%%" : "FILT %d%%", pc > 100 ? 100 : pc); } break; case PF_ALG: if (v) snprintf(b, (size_t)cap, "%d", v); else snprintf(b, (size_t)cap, "PATCH"); break; case PF_OVR: if (v) snprintf(b, (size_t)cap, "%d", v - 1); else snprintf(b, (size_t)cap, "PATCH"); break; diff --git a/core/bm_params.h b/core/bm_params.h index cad8409..a528b93 100644 --- a/core/bm_params.h +++ b/core/bm_params.h @@ -42,8 +42,34 @@ typedef struct { typedef struct { const char *name; uint8_t n; bm_pdef p[4]; } bm_ppage; /* ------------------------------------------------------------ BB-303 (TB-303): VCO, VCF y ENV - * macros: 0 CUTOFF, 1 RESO, 2 ENV MOD, 3 DECAY · PRESETS: los sonidos de bm_ac_presets */ -enum { AC_WAVE, AC_NPRM }; + * macros: 0 CUTOFF, 1 RESO, 2 ENV MOD, 3 DECAY · PRESETS: los sonidos de bm_ac_presets + * 2026-10-22: sus efectos, como los del TB-03 de Roland: OVERDRIVE (aquí) y DELAY / REVERB, que son + * los envíos del canal en la mezcla. AC_FX: bit 0 = OVERDRIVE prendido, bits 1 y 2 = DELAY y REVERB + * APAGADOS (así un patrón de antes, con 0, suena como siempre). AC_LATCH: el arpegiador sigue. */ +enum { AC_WAVE, AC_FX, AC_OD_G, AC_OD_T, AC_OD_L, AC_LATCH, AC_LFO_RATE, AC_LFO_DEPTH, AC_LFO_WAVE, AC_LFO_DEST, AC_NPRM }; +/* El LFO del BB-303 (la 303 no tiene; es un añadido): va al compás (RATE = lo que dura un ciclo), con + * las formas de siempre y patrones de 16 pasos hechos para darle movimiento a una línea. DEPTH 0 = nada. */ +enum { ACL_CUTOFF, ACL_PITCH, ACL_RESO, ACL_VOLUME, ACL_DESTS }; +enum { ACW_SINE, ACW_TRI, ACW_SAWUP, ACW_SAWDN, ACW_SQUARE, ACW_SH, ACW_PUMP, ACW_GATE, ACW_STEPS, ACW_332, ACW_BUILD, ACW_N }; +#define AC_LFO_RATES 8 +extern const uint16_t bm_acid_lfo_ticks[AC_LFO_RATES]; /* ticks de un ciclo (96 por negra) */ +extern const char *const bm_acid_lfo_rates[AC_LFO_RATES]; +extern const char *const bm_acid_lfo_waves[ACW_N]; +extern const char *const bm_acid_lfo_dests[ACL_DESTS]; +float bm_acid_lfo_shape(int wave, float ph, uint32_t cyc); /* 0..1 en la fase ph (0..1) del ciclo número cyc */ +enum { ACF_OD, ACF_DELAY, ACF_REVERB, ACF_N }; /* las casillas, en el orden fijo del TB-03 */ +static inline bool bm_acid_fx_on(const uint8_t *prm, int f) +{ + return f == ACF_OD ? (prm[AC_FX] & 1u) != 0 : !(prm[AC_FX] & (1u << f)); +} +static inline uint8_t bm_acid_fx_set(uint8_t m, int f, int on) +{ + uint8_t b = (uint8_t)(1u << f); + return (uint8_t)((f == ACF_OD) == !!on ? m | b : m & ~b); +} +void bm_acid_fx_defaults(uint8_t *prm); /* OVERDRIVE apagado con sus valores de fábrica; envíos prendidos */ +/* el envío de delay (rev 0) o reverb (rev 1) del canal: lo apaga el FX de la BX-7 o del BB-303 */ +bool bm_send_on(const bm_pattern *p, int t, int rev); #define BM_AC_PAGES 2 extern const bm_ppage bm_ac_pages[BM_AC_PAGES]; typedef struct { const char *name; uint8_t cut, res, env, dec, acc, glide, wave; } bm_ac_preset; @@ -51,20 +77,36 @@ typedef struct { const char *name; uint8_t cut, res, env, dec, acc, glide, wave; extern const bm_ac_preset bm_ac_presets[BM_AC_PRESETS]; /* ------------------------------------------------------------ B-MINI (Minimoog): tres osciladores y escalera - * macros: 0 CUTOFF, 1 EMPHASIS, 2 CONTOUR (cantidad de la envolvente), 3 F DECAY (64 = la de la página) */ + * macros: 0 CUTOFF, 1 EMPHASIS, 2 CONTOUR (cantidad de la envolvente), 3 F DECAY (64 = la de la página) + * 2026-10-22, sus menús como los del POLY D de Behringer: la modulación mezcla el OSC 3 y el LFO + * (MN_MIX = lo que pone el OSC 3; 0 = solo el LFO, como antes) y va a los osciladores, al filtro o a + * los dos; el LFO es triángulo o cuadrada; el OSC 3 tiene el rango LO (MN_R3 = MN_R_LO: un LFO más). + * Sus efectos, los de las máquinas de panel (PX_*, más abajo). */ enum { MN_W1, MN_R1, MN_L1, MN_W2, MN_R2, MN_T2, MN_L2, MN_W3, MN_R3, MN_T3, MN_L3, MN_NOISE, MN_DRIVE, MN_KEYT, MN_VELF, MN_FA, MN_FD, MN_FS, MN_FR, MN_AA, MN_AD, MN_AS, MN_AR, - MN_LRATE, MN_LAMT, MN_LDEST, MN_GLIDE, MN_MODE, MN_VELA, MN_TUNE, MN_NPRM }; + MN_LRATE, MN_LAMT, MN_LDEST, MN_GLIDE, MN_MODE, MN_VELA, MN_TUNE, MN_LWAVE, MN_MIX, MN_NPRM }; enum { MN_WAVE_TRI, MN_WAVE_SHARK, MN_WAVE_SAW, MN_WAVE_SQR, MN_WAVE_WIDE, MN_WAVE_NARROW, MN_WAVES }; -enum { MN_D_PITCH, MN_D_CUT, MN_LDESTS }; +enum { MN_D_PITCH, MN_D_CUT, MN_D_BOTH, MN_LDESTS }; +#define MN_R_LO 5 /* OSC 3: el rango LO (después de 32' 16' 8' 4' 2') */ enum { WM_POLY, WM_MONO, WM_LEGATO, WM_MODES }; #define BM_MN_PAGES 9 extern const bm_ppage bm_mn_pages[BM_MN_PAGES]; -/* ------------------------------------------------------------ BX-7 (DX7): el patch y encima los ajustes - * macros: 0 MOD LVL, 1 FEEDBACK, 2 DECAY (R2-3), 3 RELEASE (R4); 64 = el patch tal cual */ -enum { FX_ALG, FX_LSPD, FX_LDLY, FX_LPMD, FX_LAMD, FX_NPRM }; -#define BM_FX_PAGES 4 +/* ------------------------------------------------------------ BX-7 (DX7): la voz (pat->fmv) y encima + * macros: 0 BRIGHT, 2 DECAY (R2-3), 3 RELEASE (R4); 64 = la voz tal cual. Después de FX_LAMD (sin uso + * desde 2026-10-21: la voz se edita entera) los efectos propios, como en el FM-1 de fábrica: seis + * casillas (filtro, reverb, delay, distorsión, chorus, phaser) en el orden BX_ORD0..5; reverb y delay + * son los envíos del canal en la mezcla (no se procesan dos veces). BX_MONO: MONO/POLY de EDIT; + * BX_LATCH: el arpegiador sigue con las teclas sueltas. */ +enum { FX_ALG, FX_LSPD, FX_LDLY, FX_LPMD, FX_LAMD, + BX_FXON, BX_ORD0, BX_ORD1, BX_ORD2, BX_ORD3, BX_ORD4, BX_ORD5, + BX_FLT_T, BX_FLT_C, BX_FLT_Q, BX_DST_G, BX_DST_T, BX_DST_L, BX_CHO_F, BX_CHO_D, BX_CHO_M, + BX_PHA_F, BX_PHA_D, BX_PHA_M, BX_MONO, BX_LATCH, FX_NPRM }; +enum { BXF_FILTER, BXF_REVERB, BXF_DELAY, BXF_DIST, BXF_CHORUS, BXF_PHASER, BXF_N }; /* las casillas, como en el FM-1 */ +#define BX_FX_FIRST BX_FXON +#define BX_FX_LAST BX_PHA_M +void bm_bx7_fx_defaults(uint8_t *prm); /* los efectos de fábrica: todo apagado salvo los envíos, orden 0..5 */ +#define BM_FX_PAGES 2 extern const bm_ppage bm_fx_pages[BM_FX_PAGES]; /* ------------------------------------------------------------ BUNO-6 (Juno-6): un DCO por voz y chorus @@ -97,9 +139,27 @@ extern const char *const bm_btm_names[BTM_TARGETS]; /* cuánto mueve la macro i (0..127, 64 = nada) el destino dest en un canal BITTAL: -1..1 */ float bm_bt_macro(const uint8_t *prm, const uint8_t mac[4], int dest); +/* ------------------------------------------------------------ máquinas de panel: B-MINI, BUNO-6, BITTAL + * (2026-10-22) Sus menús son los del B-MINI (core/bm_panel.c) y sus efectos los mismos: DISTORTION + * (DRIVE, TONE, LEVEL), CHORUS I / II (el del Juno; BUNO-6 usa el suyo, BN_CHORUS, con I+II) y la + * REVERB, que es el envío del canal; el DELAY solo se maneja desde HOME. Viven en las últimas casillas + * de prm, que los snapshots no guardan: un preset no los pisa. PX_FX: bit 0 = DISTORTION prendida, + * bit 1 = REVERB APAGADA (así 0 suena como siempre). PX_LATCH: el arpegiador sigue. */ +enum { PX_FX = 48, PX_DS_G, PX_DS_T, PX_DS_L, PX_CHORUS, PX_LATCH, PX_END }; +enum { PXF_DIST, PXF_CHORUS, PXF_REVERB, PXF_N }; /* las casillas, en el orden de la cadena */ +static inline bool bm_panel_eng(int e) { return e == ENG_MINI || e == ENG_BUNO || e == ENG_BITTAL; } +static inline bool bm_px_eng(int e) { return bm_panel_eng(e) || e == ENG_BREAK; } /* con estos efectos: las de panel y el Slicer */ +static inline int bm_px_chorus(const uint8_t *prm, int eng) { return eng == ENG_BUNO ? prm[BN_CHORUS] % BN_CHORUSES : prm[PX_CHORUS] % 3; } +static inline bool bm_px_fx_on(const uint8_t *prm, int eng, int f) +{ + return f == PXF_DIST ? (prm[PX_FX] & 1u) != 0 : f == PXF_CHORUS ? bm_px_chorus(prm, eng) != 0 : !(prm[PX_FX] & 2u); +} +void bm_px_fx_defaults(uint8_t *prm); /* DISTORTION apagada con sus valores de fábrica, sin chorus, REVERB prendida */ +extern const char *const bm_px_chorus_names[3]; /* OFF, I, II */ + /* ------------------------------------------------------------ batería: un instrumento (bm_lane) */ enum { LN_LEN, LN_LEVEL, LN_TUNE, LN_DECAY, LN_MODEL, LN_TONE, LN_COLOR, LN_CHOKE }; /* = campos de bm_lane */ -#define BM_LANE_PAGES 2 +#define BM_LANE_PAGES 3 extern const bm_ppage bm_lane_pages[BM_LANE_PAGES]; /* slot = campo LN_* */ typedef struct { char name[6]; uint8_t model, tune, decay, tone, color, level, choke; } bm_kit_lane; diff --git a/core/bm_pattern.c b/core/bm_pattern.c index fe4e39d..6efc98c 100644 --- a/core/bm_pattern.c +++ b/core/bm_pattern.c @@ -12,7 +12,7 @@ typedef char bm_assert_track[(sizeof(bm_track) == 48) ? 1 : -1]; typedef char bm_assert_meta[(sizeof(bm_meta) == 64) ? 1 : -1]; typedef char bm_assert_notes[(sizeof(bm_tr) <= sizeof(bm_notes)) ? 1 : -1]; typedef char bm_assert_lane[(sizeof(bm_lane) == 8) ? 1 : -1]; -typedef char bm_assert_prm[(BT_NPRM <= BM_PRM && MN_NPRM <= BM_PRM && BN_NPRM <= BM_PRM) ? 1 : -1]; +typedef char bm_assert_prm[((int)BT_NPRM <= (int)PX_FX && (int)MN_NPRM <= (int)PX_FX && (int)BN_NPRM <= (int)PX_FX && PX_END <= BM_PRM) ? 1 : -1]; const uint8_t bm_speed_tps[SPD_COUNT] = {12, 16, 24, 32, 48, 96}; const char *const bm_speed_names[SPD_COUNT] = {"X2", "X3/2", "X1", "X3/4", "X1/2", "X1/4"}; @@ -83,15 +83,26 @@ void bm_track_clear_events(bm_pattern *p, int track) bm_event_clear(bm_ev(p, track, s, e)); } +/* El tope de cada byte de la voz de la DX7 (VCED): 6 operadores de 21 y 30 de la voz */ +int bm_fmv_max(int i) +{ + static const uint8_t OP[21] = {99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 3, 3, 7, 3, 7, 99, 1, 31, 99, 14}; + static const uint8_t V[30] = {99, 99, 99, 99, 99, 99, 99, 99, 31, 7, 1, 99, 99, 99, 99, 1, 5, 7, 48, + 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 63}; + if (i < 0 || i >= BM_FMV_BYTES) return 0; + return i < 126 ? OP[i % 21] : V[i - 126]; +} + int bm_track_engine(int track) { - static const uint8_t E[BM_TRACKS] = {ENG_DRUM, ENG_BREAK, ENG_ACID, ENG_FM, ENG_BITTAL, ENG_BUNO}; + static const uint8_t E[BM_TRACKS] = {ENG_DRUM, ENG_BREAK, ENG_ACID, ENG_MINI, ENG_BITTAL, ENG_BUNO}; return E[(unsigned)track % BM_TRACKS]; } bool bm_engine_ok(int track, int engine) { - if (track >= BM_TR_TRACKS && track < BM_TRACKS) return engine >= ENG_ACID && engine < ENG_COUNT; + if (track >= BM_TR_TRACKS && track < BM_TRACKS) /* 2026-10-21: solo la batería y el Slicer son fijos */ + return engine == ENG_ACID || engine == ENG_MINI || engine == ENG_BUNO || engine == ENG_BITTAL || engine == ENG_FM; return engine == bm_track_engine(track); } @@ -103,12 +114,21 @@ int bm_machine_conflict(const bm_pattern *p, int track, int engine) return -1; } +int bm_heavy_count(const bm_pattern *p, int skip) +{ + int n = 0; + for (int o = BM_TR_TRACKS; o < BM_TRACKS; o++) + if (o != skip && bm_engine_heavy(p->trk[o].engine)) n++; + return n; +} + /* la máquina y su primer preset, sin P-Locks en las notas (los de otra máquina no significan nada) */ static void machine_put(bm_pattern *p, int track, int engine) { bm_track *t = &p->trk[track]; t->engine = (uint8_t)engine; t->source = 0; + memset(p->prm[track], 0, BM_PRM); /* nada de la máquina anterior (los efectos de la BX-7 vuelven a fábrica) */ bm_preset_apply(p, track, 0); for (int s = 0; s < BM_STEPS; s++) for (int k = 0; k < BM_EVENTS; k++) { @@ -121,6 +141,7 @@ void bm_track_set_engine(bm_pattern *p, int track, int engine) { if (track < BM_TR_TRACKS || !bm_engine_ok(track, engine)) return; if (p->trk[track].engine == engine || bm_machine_conflict(p, track, engine) >= 0) return; + if (bm_engine_heavy(engine) && bm_heavy_count(p, track) >= BM_HEAVY_MAX) return; machine_put(p, track, engine); } @@ -140,6 +161,10 @@ static void heavy_fix(bm_pattern *p) } if (!changed) break; } + /* más pesadas que las que caben: la que no es de fábrica en su canal vuelve a la de fábrica */ + for (int t = BM_TRACKS - 1; t >= BM_TR_TRACKS && bm_heavy_count(p, -1) > BM_HEAVY_MAX; t--) + if (bm_engine_heavy(p->trk[t].engine) && bm_track_engine(t) != p->trk[t].engine && !bm_engine_heavy(bm_track_engine(t))) + machine_put(p, t, bm_track_engine(t)); } void bm_pattern_init(bm_pattern *p) @@ -157,6 +182,7 @@ void bm_pattern_init(bm_pattern *p) bm_kit_apply(&p->tr[0], 0); p->meta.rv_size = 80; p->meta.rv_damp = 60; p->meta.rv_mix = 90; p->meta.mfilt = 64; for (int t = BM_TR_TRACKS; t < BM_TRACKS; t++) bm_preset_apply(p, t, p->trk[t].source); + bm_px_fx_defaults(p->prm[1]); /* el Slicer: sus efectos (como las de panel) */ } int bm_master_steps(const bm_meta *m) { return m->master * BM_PAGE_STEPS; } @@ -300,6 +326,8 @@ int bm_pattern_pack(const bm_pattern *p, uint8_t *out, int cap) } NEED((int)sizeof p->pad); memcpy(out + o, p->pad, sizeof p->pad); o += (int)sizeof p->pad; + NEED((int)sizeof p->fmv); + memcpy(out + o, p->fmv, sizeof p->fmv); o += (int)sizeof p->fmv; return o; } @@ -338,15 +366,21 @@ int bm_pattern_unpack(bm_pattern *p, const uint8_t *in, int len) { int o = 0; GET(64 + (int)sizeof p->trk); - if (in[offsetof(bm_meta, fmt)] != BM_PAT_FMT) return -1; /* hasta la v1, sin compatibilidad hacia atrás */ + int fmt = in[offsetof(bm_meta, fmt)]; + if (fmt != BM_PAT_FMT && fmt != 9) return -1; /* hasta la v1: el de ahora y el anterior (prm de 48) */ bm_pattern_init(p); memcpy(&p->meta, in, 64); p->meta.bpm_x10 = (uint16_t)(in[0] | (in[1] << 8)); p->meta.fmt = BM_PAT_FMT; o = 64; memcpy(p->trk, in + o, sizeof p->trk); o += (int)sizeof p->trk; - GET((int)sizeof p->prm); - memcpy(p->prm, in + o, sizeof p->prm); o += (int)sizeof p->prm; + if (fmt == 9) { + GET(BM_TRACKS * 48); + for (int t = 0; t < BM_TRACKS; t++) { memcpy(p->prm[t], in + o, 48); memset(p->prm[t] + 48, 0, BM_PRM - 48); o += 48; } + } else { + GET((int)sizeof p->prm); + memcpy(p->prm, in + o, sizeof p->prm); o += (int)sizeof p->prm; + } for (int t = 0; t < BM_TRACKS; t++) { /* T1 y T2 no cambian de máquina */ uint8_t e = p->trk[t].engine; if (!bm_engine_ok(t, e)) { p->trk[t].engine = (uint8_t)bm_track_engine(t); p->trk[t].source = 0; bm_preset_apply(p, t, 0); } @@ -377,6 +411,15 @@ int bm_pattern_unpack(bm_pattern *p, const uint8_t *in, int len) } } heavy_fix(p); /* BUNO-6 y BITTAL, una vez cada una */ + for (int t = BM_TR_TRACKS; t < BM_TRACKS; t++) /* BB-303 de antes de sus FX: los de fábrica */ + if (p->trk[t].engine == ENG_ACID && !p->prm[t][AC_OD_G] && !p->prm[t][AC_OD_T] && !p->prm[t][AC_OD_L]) { + uint8_t m = p->prm[t][AC_FX]; + bm_acid_fx_defaults(p->prm[t]); + p->prm[t][AC_FX] = m; + } + for (int t = 1; t < BM_TRACKS; t++) /* B-MINI, BUNO-6, BITTAL de antes de sus FX: los de fábrica */ + if (bm_px_eng(p->trk[t].engine) && !p->prm[t][PX_DS_G] && !p->prm[t][PX_DS_T] && !p->prm[t][PX_DS_L]) + bm_px_fx_defaults(p->prm[t]); for (int t = 0; t < BM_SYN_TRACKS; t++) { GET(3); bm_loop *lp = &p->loop[t]; @@ -398,6 +441,9 @@ int bm_pattern_unpack(bm_pattern *p, const uint8_t *in, int len) if (d->mode >= PAD_MODES) d->mode = PAD_ONESHOT; if (d->pitch > 48) d->pitch = 24; } + GET((int)sizeof p->fmv); + memcpy(p->fmv, in + o, sizeof p->fmv); o += (int)sizeof p->fmv; + for (int i = 0; i < BM_FMV_BYTES; i++) if (p->fmv[i] > bm_fmv_max(i)) p->fmv[i] = (uint8_t)bm_fmv_max(i); if (p->meta.bpm_x10 < 400 || p->meta.bpm_x10 > 2400) p->meta.bpm_x10 = 1200; if (p->meta.swing < 50 || p->meta.swing > 75) p->meta.swing = 50; if (p->meta.master > 8) p->meta.master = 4; @@ -410,6 +456,7 @@ int bm_pattern_unpack(bm_pattern *p, const uint8_t *in, int len) if (tk->length < 1 || tk->length > BM_STEPS) tk->length = 16; if (tk->scl != 0xFF && tk->scl >= BM_SCALES) tk->scl = 0xFF; tk->scl_root %= 12; tk->midi_ch &= 15; + if (tk->qfree > 3) tk->qfree = 0; if (tk->pitch > 48) tk->pitch = 24; } return o; diff --git a/core/bm_pattern.h b/core/bm_pattern.h index 71bf235..94c5963 100644 --- a/core/bm_pattern.h +++ b/core/bm_pattern.h @@ -107,7 +107,7 @@ typedef struct { uint8_t arp_mode, arp_rate, arp_oct, arp_gate; uint8_t speed; /* SPD_* */ uint8_t length; /* notas: 1..64 pasos (TR: largo por instrumento) */ - uint8_t engine; /* ENG_*: T1 y T2 fijos; T3-T6 una de las 5 máquinas de notas */ + uint8_t engine; /* ENG_*: T1 y T2 fijos; T3-T6 una de las 4 máquinas de notas */ uint8_t accent; /* cuánto más fuerte suena un acento (0 = igual) */ uint8_t midi_ch; /* MIDI: canal 0..15 */ uint8_t scl_root, scl; /* escala propia del canal; scl 0xFF = la del proyecto */ @@ -119,7 +119,8 @@ typedef struct { uint8_t djf; /* filtro DJ del canal (K2 de HOME): 0 abierto, 1-63 pasa-bajos, 65-127 pasa-altos */ uint8_t drive; /* HOME FX > CHANNEL K1: soft-clip mono del canal (0 = apagado, no cuesta nada) */ uint8_t bfx_off; /* HOME FX > CHANNEL K4: 1 = el BEAT FX (y el PUNCH) no toca este canal (0 = sí, como siempre) */ - uint8_t rsv[4]; + uint8_t qfree; /* PLAY+REC: lo que se deja sin cuantizar, 0 = 100 % (de fábrica), 1 = 75, 2 = 50, 3 = 25 % */ + uint8_t rsv[3]; } bm_track; /* ------------------------------------------------------------ metadatos: 64 bytes */ @@ -152,6 +153,7 @@ typedef struct { bm_notes nt[BM_SYN_TRACKS]; /* T3..T6 */ bm_loop loop[BM_SYN_TRACKS]; uint8_t prm[BM_TRACKS][BM_PRM]; /* parámetros del motor de cada canal (bm_params.h) */ + uint8_t fmv[BM_FMV_BYTES]; /* BX-7 (una sola por patrón): su voz entera, editable como en el FM-1 */ } bm_pattern; /* Escenas y canción (0.9): una escena = solo mutes (los 6 canales y los instrumentos de BR-8 y @@ -162,9 +164,9 @@ typedef struct { uint8_t n; uint8_t pat[BM_SONG_MAX]; /* patrón (bits 0-3) | (escena + 1) << 4 */ uint8_t rep[BM_SONG_MAX]; - bm_scene scene[BM_SCENES]; + bm_scene scene[BM_PATTERNS][BM_SCENES]; /* 4 escenas por patrón */ } bm_song; -#define BM_SONG_VER 2 /* el objeto canción + escenas en la flash: otro número se ignora (sin conversión) */ +#define BM_SONG_VER 4 /* el objeto canción + escenas en la flash: otro número se ignora (sin conversión) */ static inline int bm_song_pat(uint8_t e) { return e & 15; } static inline int bm_song_scene(uint8_t e) { return (e >> 4) - 1; } /* -1 = sin escena */ @@ -190,10 +192,14 @@ void bm_track_defaults(bm_track *t, int track); void bm_tr_defaults(bm_tr *tr); void bm_pattern_init(bm_pattern *p); void bm_track_clear_events(bm_pattern *p, int track); -bool bm_engine_ok(int track, int engine); /* T1 BR-8, T2 BP-1; T3-T6 cualquiera de las 5 máquinas de notas */ +bool bm_engine_ok(int track, int engine); /* T1 BR-8 y T2 BP-1 fijos; T3-T6 eligen entre BB-303, B-MINI, BUNO-6, BITTAL y BX-7 */ int bm_track_engine(int track); /* la máquina de fábrica del canal */ -/* BUNO-6 (~32 % de CPU, un solo chorus) y BITTAL (sus tablas en RAM): una sola vez por patrón */ -static inline bool bm_engine_heavy(int engine) { return engine == ENG_BUNO || engine == ENG_BITTAL; } +int bm_fmv_max(int i); /* el valor más alto del byte i de la voz de la BX-7 (VCED) */ +/* BUNO-6 (~32 % de CPU, un solo chorus), BITTAL (sus tablas en RAM) y BX-7 (8 voces FM): cada una una + * sola vez por patrón, y no más de BM_HEAVY_MAX a la vez (2026-10-21) */ +#define BM_HEAVY_MAX 2 +static inline bool bm_engine_heavy(int engine) { return engine == ENG_BUNO || engine == ENG_BITTAL || engine == ENG_FM; } +int bm_heavy_count(const bm_pattern *p, int skip); /* pesadas en el patrón, sin contar el canal skip (-1: todas) */ /* el otro canal que ya tiene esa máquina pesada (-1 si no hay o si no es pesada) */ int bm_machine_conflict(const bm_pattern *p, int track, int engine); /* T3-T6: cambia de máquina. Las notas, el largo y la mezcla quedan; el sonido pasa al primer preset diff --git a/core/bm_rom.h b/core/bm_rom.h index 35e4483..b47032c 100644 --- a/core/bm_rom.h +++ b/core/bm_rom.h @@ -21,7 +21,7 @@ typedef struct { extern const bm_rom_loop bm_rom_loops[]; /* Patches de fábrica del motor FM (tools/gen_fm.py): voz de la DX7 sin empaquetar, 156 bytes. */ -#define BM_FM_PATCHES 20 +#define BM_FM_PATCHES 31 extern const uint8_t bm_fm_rom[BM_FM_PATCHES][156]; extern const char bm_fm_names[BM_FM_PATCHES][9]; extern const int bm_rom_nloops; diff --git a/core/bm_seq.c b/core/bm_seq.c index 569236f..1ad6bd3 100644 --- a/core/bm_seq.c +++ b/core/bm_seq.c @@ -9,6 +9,7 @@ * compás y con una semilla, qué slice suena en cada paso. */ #include #include "bm_audio.h" +#include "bm_params.h" #include "bm_util.h" static const uint8_t ARP_RATE[3] = {48, 24, 12}; @@ -177,6 +178,8 @@ void bm_gen_decide(bm_ctx *c, uint32_t blk) c->gen_blk = blk + 1; } +static bool live_now(const bm_ctx *c, int t, uint8_t note); + static void fire_tr(bm_ctx *c, int t, uint32_t n, int tps, bool fill) { const bm_tr *tr = bm_trk_tr(c->pat, t); @@ -196,6 +199,7 @@ static void fire_tr(bm_ctx *c, int t, uint32_t n, int tps, bool fill) int cond = (b & ST_COND_MASK) >> ST_COND_SH; if ((cond == 1 && !fill) || (cond == 2 && fill)) continue; uint8_t note = (uint8_t)l; + if (live_now(c, t, note)) continue; /* se está tocando en vivo (grabando): no dos veces */ if (sub != 0xFF) { if (fired) continue; note = sub; } /* BREAK cambió el pad: suena uno solo */ if (fx & GEN_REV) note |= BRK_REV; if (fx & GEN_HALF) note |= BRK_HALF; @@ -208,13 +212,20 @@ static void fire_tr(bm_ctx *c, int t, uint32_t n, int tps, bool fill) /* ------------------------------------------------------------ canales de notas */ /* Una nota del paso s. El largo es en pasos; con gate (REC expresivo) el último paso suena solo ese * porcentaje, y con TIE se liga a la siguiente (slide). */ +/* grabando ese canal, la nota que se está tocando en vivo no se repite desde el patrón (recién grabada + * un poco antes del paso, sonaría dos veces y su gate cortaría la que sostienes) */ +static bool live_now(const bm_ctx *c, int t, uint8_t note) +{ + return c->rec && c->rec_trk == t && ((c->live_held[t][(note & 127) >> 5] >> (note & 31)) & 1u); +} + static int fire_ev(bm_ctx *c, int t, int s, int k, int tps, bool fill) { int i = t - BM_TR_TRACKS; const bm_track *tr = &c->pat->trk[t]; bm_engine *e = &c->eng[t]; const bm_event *ev = bm_evc(c->pat, t, s, k); - if (bm_event_empty(ev) || tr->mute) return 0; + if (bm_event_empty(ev) || tr->mute || live_now(c, t, ev->note)) return 0; if (ev->prob == BM_PROB_FILL) { if (!fill) return 0; } else if (ev->prob == BM_PROB_NOFILL) { if (fill) return 0; } else if (!c->fill && ev->prob < 100 && (bm_xorshift32(&c->rng) % 100u) >= ev->prob) return 0; @@ -225,13 +236,14 @@ static int fire_ev(bm_ctx *c, int t, int s, int k, int tps, bool fill) if (legato) e->vt->set_macro(e, BM_MACRO_LEGATO, 1); int nv = bm_vel(c, t, 0); int vel = ev->vel >= BM_VEL_ACC ? 127 : bm_clampi(nv * ev->vel / BM_VEL_NORMAL, 1, 127); + if ((tr->engine == ENG_ACID || tr->engine == ENG_MINI) && ev->vel < BM_VEL_ACC) vel = bm_clampi(ev->vel, 1, 110); /* 303 y B-MINI: acento = 127, el del paso (SCL) */ e->vt->note_on(e, ev->note, (uint8_t)vel); if (c->gate[i][k].ticks && prev != ev->note) e->vt->note_off(e, prev); int l = ev->len & BM_LEN_MASK; if (l < 1) l = 1; c->gate[i][k].note = ev->note; c->gate[i][k].tie = (ev->len & BM_LEN_TIE) ? 1 : 0; - int ticks = c->gate[i][k].tie ? l * tps + tps / 4 : l * tps - 4; + int ticks = c->gate[i][k].tie ? l * tps + tps / 2 : l * tps - 4; if (!c->gate[i][k].tie && ev->gate >= 10 && ev->gate < 100) ticks = (l - 1) * tps + bm_clampi(tps * ev->gate / 100, 2, tps - 2); c->gate[i][k].ticks = (uint16_t)(ticks > 1 ? ticks : 1); return 1; @@ -260,7 +272,9 @@ static void fire_syn(bm_ctx *c, int t, uint32_t n, int tps, bool fill) { const bm_track *tr = &c->pat->trk[t]; int len = tr->length ? tr->length : 16; - int s = (int)(n % (uint32_t)len), s1 = (int)((n + 1) % (uint32_t)len); + int master = bm_master_steps(&c->pat->meta) * BM_TICKS_STEP; + uint32_t n1 = master && (n + 1) * (uint32_t)tps >= (uint32_t)master ? 0 : n + 1; /* el maestro vuelve a 0 */ + int s = (int)(n % (uint32_t)len), s1 = (int)(n1 % (uint32_t)len); int fired = 0; for (int k = 0; k < BM_EVENTS; k++) { const bm_event *ev = bm_evc(c->pat, t, s, k); @@ -380,6 +394,7 @@ void bm_mutes_set(bm_pattern *p, uint8_t tm, const uint16_t lm[BM_TR_TRACKS]) static void do_swap(bm_ctx *c, int to) { + c->dq_n = 0; /* lo que esperaba era del patrón de antes */ if (to < 0 || to == c->cur_pat || !c->swap) return; syn_gates_off(c); uint16_t lm[BM_TR_TRACKS]; @@ -404,8 +419,8 @@ static void do_swap(bm_ctx *c, int to) static void apply_scene(bm_ctx *c, int idx) { - if (!c->song || idx < 0 || idx >= BM_SCENES || !(c->song->scene[idx].flags & SCN_STORED)) return; - const bm_scene *s = &c->song->scene[idx]; + if (!c->song || idx < 0 || idx >= BM_SCENES || !(c->song->scene[c->cur_pat % BM_PATTERNS][idx].flags & SCN_STORED)) return; + const bm_scene *s = &c->song->scene[c->cur_pat % BM_PATTERNS][idx]; bm_mutes_set(c->pat, s->trk_mute, s->lane_mute); c->st.scene = (uint8_t)idx; c->st.edits++; @@ -436,9 +451,19 @@ static void scene_step(bm_ctx *c) c->st.scene_q = c->scene_q < 0 ? 0xFF : (uint8_t)c->scene_q; } -/* Cada compás: la escena que se lanzó y los mutes de CUE, todo junto (después del cambio de patrón). */ +/* Cada compás: el patrón en cola (entra desde su primer paso), la escena que se lanzó y los mutes de + * CUE, todo junto. Un patrón en cola espera al final del compás en curso, no al del ciclo maestro. */ static void bar(bm_ctx *c) { + if (c->queued >= 0 && c->pchain_n <= 1) { + int to = c->queued; + c->queued = -1; + c->st.queued = 0xFF; + if (to != c->cur_pat) { + do_swap(c, to); + if (c->cur_pat == to) { c->rtick = 0; c->st.loops++; } /* si el cambio falló, sigue el patrón de antes */ + } + } if (c->scene_q >= 0 && c->scene_bar) scene_step(c); if (c->cue_x) { for (int t = 0; t < BM_TRACKS; t++) if ((c->cue_x >> t) & 1) c->pat->trk[t].mute ^= 1; @@ -568,6 +593,36 @@ static bool arp_active(const bm_ctx *c, int t) return c->arp[t].on || c->pat->trk[t].arp_mode != 0; } +/* Con REC sonando en este canal, la nota del arpegiador queda en el patrón (2026-10-21: "lo que + * arpegia se graba"): en el paso más cercano, con su largo en pasos o su gate si es más corta. */ +static void arp_record(bm_ctx *c, int t, uint8_t note, int ticks) +{ + int tps = bm_track_tps(c, t), len = c->pat->trk[t].length ? c->pat->trk[t].length : 16; + int master = bm_master_steps(&c->pat->meta) * BM_TICKS_STEP; + uint32_t q = (c->rtick + (uint32_t)tps / 2u) / (uint32_t)tps; + if (master) q %= ((uint32_t)master + (uint32_t)tps - 1u) / (uint32_t)tps; /* pasado el final del maestro: el 0 */ + int s = (int)(q % (uint32_t)len), slot = -1; + for (int k = 0; k < BM_EVENTS; k++) { + const bm_event *ev = bm_evc(c->pat, t, s, k); + if (!bm_event_empty(ev) && ev->note == note) { slot = k; break; } + if (slot < 0 && bm_event_empty(ev)) slot = k; + } + if (slot < 0) return; + bm_event *ev = bm_ev(c->pat, t, s, slot); + bm_event_clear(ev); + ev->note = note; ev->vel = 100; + ev->len = (uint8_t)bm_clampi((ticks + tps / 2) / tps, 1, BM_STEPS); + ev->gate = ticks < tps ? (uint8_t)bm_clampi(ticks * 100 / tps, 10, 89) : 0; +} + +static bool arp_latch(const bm_ctx *c, int t) +{ + int eng = c->pat->trk[t].engine; + return (eng == ENG_FM && c->pat->prm[t][BX_LATCH]) || (eng == ENG_ACID && c->pat->prm[t][AC_LATCH]) || (bm_panel_eng(eng) && c->pat->prm[t][PX_LATCH]); +} + +/* El arpegiador del FM-1 de fábrica: UP, DOWN, INCL (sube y baja repitiendo los extremos), EXCL (sin + * repetirlos), RANDOM, ORDER (como se tocaron) y REPEAT (cada nota dos veces), de 1 a 4 octavas. */ static void arp_tick(bm_ctx *c) { for (int t = BM_TR_TRACKS; t < BM_TRACKS; t++) { @@ -576,25 +631,33 @@ static void arp_tick(bm_ctx *c) const bm_track *tr = &c->pat->trk[t]; bm_engine *e = &c->eng[t]; if (a->playing && a->gate_left && --a->gate_left == 0) { e->vt->note_off(e, a->cur); a->playing = 0; } + if (a->n && a->down == 0 && !arp_latch(c, t)) { /* LATCH se apagó con las teclas sueltas: para (FM-1) */ + a->n = 0; + if (a->playing) { e->vt->note_off(e, a->cur); a->playing = 0; } + } if (!arp_active(c, t) || a->n == 0) continue; uint8_t rate = ARP_RATE[tr->arp_rate % 3]; - if (c->st.free_ticks % rate) continue; + if ((c->playing ? c->btick : c->st.free_ticks) % rate) continue; /* sonando: en fase con el compás */ if (a->playing) { e->vt->note_off(e, a->cur); a->playing = 0; } - int oct = tr->arp_oct < 1 ? 1 : (tr->arp_oct > 3 ? 3 : tr->arp_oct); + int oct = tr->arp_oct < 1 ? 1 : (tr->arp_oct > 4 ? 4 : tr->arp_oct); int total = a->n * oct; - int mode = tr->arp_mode ? tr->arp_mode : 1; + int mode = tr->arp_mode % ARP_MODES ? tr->arp_mode % ARP_MODES : ARP_UP; + const uint8_t *src = mode == ARP_ORDER ? a->ord : a->held; int i; - if (mode == 4) i = (int)(bm_xorshift32(&c->rng) % (uint32_t)total); - else if (mode == 2) { i = total - 1 - (a->idx % total); a->idx++; } - else if (mode == 3 && total > 1) { int period = 2 * total - 2, p = a->idx % period; i = p < total ? p : period - p; a->idx++; } + if (mode == ARP_RANDOM) i = (int)(bm_xorshift32(&c->rng) % (uint32_t)total); + else if (mode == ARP_DOWN) { i = total - 1 - (a->idx % total); a->idx++; } + else if (mode == ARP_EXCL && total > 1) { int period = 2 * total - 2, p = a->idx % period; i = p < total ? p : period - p; a->idx++; } + else if (mode == ARP_INCL) { int period = 2 * total, p = a->idx % period; i = p < total ? p : period - 1 - p; a->idx++; } + else if (mode == ARP_REPEAT) { i = (a->idx / 2) % total; a->idx++; } else { i = a->idx % total; a->idx++; } - int note = a->held[i % a->n] + 12 * (i / a->n); + int note = src[i % a->n] + 12 * (i / a->n); a->cur = (uint8_t)(note > 127 ? 127 : note); e->vt->note_on(e, a->cur, 100); if (c->lp[t - BM_TR_TRACKS].mode == LOOP_REC || c->lp[t - BM_TR_TRACKS].mode == LOOP_DUB) loop_record(c, t - BM_TR_TRACKS, a->cur, 100); a->playing = 1; a->gate_left = (uint16_t)(rate * (tr->arp_gate ? tr->arp_gate : 50) / 100); if (!a->gate_left) a->gate_left = 1; + if (c->rec && c->playing && c->rec_trk == t) arp_record(c, t, a->cur, a->gate_left); } } @@ -688,21 +751,34 @@ void bm_live_note(bm_ctx *c, int t, uint8_t note, uint8_t vel, int on) { if (t < 0 || t >= BM_TRACKS) return; bm_engine *e = &c->eng[t]; + if (on && !(t >= BM_TR_TRACKS && is_note(c, t) && arp_active(c, t))) c->live_held[t][(note & 127) >> 5] |= 1u << (note & 31); + else if (!on) c->live_held[t][(note & 127) >> 5] &= ~(1u << (note & 31)); if (!on) for (int i = 0; i < 8; i++) if (c->strum[i].vel && c->strum[i].track == t && c->strum[i].note == note) c->strum[i].vel = 0; if (t >= BM_TR_TRACKS && is_note(c, t) && arp_active(c, t)) { bm_arp *a = &c->arp[t]; + int latch = arp_latch(c, t); if (on) { + if (latch && a->down == 0) a->n = 0; /* LATCH: soltaste todas, esto es otro acorde */ + if (a->down < 255) a->down++; for (int i = 0; i < a->n; i++) if (a->held[i] == note) return; if (a->n >= 8) return; + a->ord[a->n] = note; int i = a->n++; while (i > 0 && a->held[i - 1] > note) { a->held[i] = a->held[i - 1]; i--; } a->held[i] = note; if (a->n == 1) a->idx = 0; } else { + int in = 0; + for (int i = 0; i < a->n; i++) in |= a->held[i] == note; + if (!in && a->down == 0) { e->vt->note_off(e, note); return; } /* sonó antes de prender el arpegiador */ + if (a->down) a->down--; + if (latch) return; /* LATCH: sigue sonando lo que tocaste */ + for (int i = 0; i < a->n; i++) + if (a->held[i] == note) { memmove(&a->held[i], &a->held[i + 1], (size_t)(a->n - i - 1)); break; } for (int i = 0; i < a->n; i++) - if (a->held[i] == note) { memmove(&a->held[i], &a->held[i + 1], (size_t)(a->n - i - 1)); a->n--; break; } + if (a->ord[i] == note) { memmove(&a->ord[i], &a->ord[i + 1], (size_t)(a->n - i - 1)); a->n--; break; } if (a->n == 0 && a->playing) { e->vt->note_off(e, a->cur); a->playing = 0; } } return; @@ -710,7 +786,9 @@ void bm_live_note(bm_ctx *c, int t, uint8_t note, uint8_t vel, int on) if (t >= BM_TR_TRACKS && is_note(c, t)) loop_record(c, t - BM_TR_TRACKS, note, on ? vel : 0); if (on) { if (t == 1) note = (uint8_t)(note | (((c->brk_live & 1) ? BRK_REV : 0) | ((c->brk_live & 2) ? BRK_HALF : 0))); + e->live_next = 1; e->vt->note_on(e, note, vel); + e->live_next = 0; if (bm_is_tr(c->pat, t)) c->st.lane_trig[t] |= (uint16_t)(1u << (note & 15)); } else e->vt->note_off(e, note); } diff --git a/core/bm_slicer.c b/core/bm_slicer.c new file mode 100644 index 0000000..22f2737 --- /dev/null +++ b/core/bm_slicer.c @@ -0,0 +1,450 @@ +/* SPDX-License-Identifier: GPL-3.0-or-later + * Copyright (C) 2026 Erbubar23 */ +/* Bubba Machine — el Slicer (T2) por dentro, 2026-10-22: un sampler de pads como el KO II que ya + * teníamos (cada pad, su inicio y su largo dentro de una toma; pueden encimarse). Sus botones: + * SEQ la rejilla por pasos (V_CH, la de la batería); SEQ otra vez: LENGTH AND SPEED + * LFO, SCL en la rejilla: ACCENTS y MUTE PADS + * EDIT TRIM: la onda de la toma con el pad, START LENGTH ZOOM; negras AUTO, 8 y 16 cortan la + * toma del pad en los pads 1..n y escriben la secuencia que suena como ella; la negra 11 + * (SAMPLE) graba lo que suena (K4: cuántos compases) · SOUND: PITCH LEVEL MODE REVERSE + * ENV ATTACK RELEASE y el loop del modo LOOP (LOOP START / END) + * FX como las de panel: DISTORTION; pág 2 CHORUS y REVERB (el DELAY, desde HOME) + * GLO LENGTH (todos los pads), MIDI CH, MIDI OUT; pág 2 RESET + * blancas los 16 pads (suena y se elige) · ALGORITHM el pad · PRESETS su toma (entera) + * Un menú con páginas no se sale: su botón otra vez pasa a la siguiente; el de una página, otra vez, + * vuelve a la rejilla. HOME sale a la consola. */ +#include +#include +#include "bm_mach.h" +#include "bm_util.h" +#include "bm_params.h" +#include "bm_lang.h" + +#define SL 1 /* el canal del Slicer (pista interna T2) */ + +const char *const slicer_mode_names[PAD_MODES] = {"ONESHOT", "KEY", "THRU", "LOOP"}; +static const char *const DIRS[2] = {"FWD", "REV"}; +static const char *const ZOOMS[4] = {"X1", "X2", "X4", "X8"}; + +/* lo que mueve cada perilla del Slicer (además de las de siempre: K_PRM, K_ON, K_TRK) */ +enum { S_START = 1, S_LEN, S_ZOOM, S_BARS, S_PITCH, S_LEVEL, S_MODE, S_REV, S_ATK, S_REL, S_LOOPS, S_LOOPE, S_KLEN, S_RST }; +#define SK(n, id, mx) {n, K_SLICE, id, 0, mx, F_INT, NULL} + +static const bxp SL_EDIT[2][4] = { + {SK("START", S_START, 255), SK("LENGTH", S_LEN, 255), SK("ZOOM", S_ZOOM, 3), SK("SAMPLE", S_BARS, 2)}, + {SK("PITCH", S_PITCH, 48), SK("LEVEL", S_LEVEL, 127), SK("MODE", S_MODE, PAD_MODES - 1), SK("REVERSE", S_REV, 1)}}; +static const char *const SL_EDIT_N[2] = {"TRIM", "SOUND"}; +static const bxp SL_ENV[4] = {SK("ATTACK", S_ATK, 127), SK("RELEASE", S_REL, 127), SK("LOOP IN", S_LOOPS, 254), SK("LOOP OUT", S_LOOPE, 255)}; +static const bxp SL_FX[2][4] = { + {{"DRIVE", K_PRM, PX_DS_G, 0, 127, F_PCT, NULL}, {"TONE", K_PRM, PX_DS_T, 0, 127, F_PCT, NULL}, + {"LEVEL", K_PRM, PX_DS_L, 0, 127, F_PCT, NULL}, {"ON", K_ON, PXF_DIST, 0, 1, F_ONOFF, NULL}}, + {{"CHORUS", K_PRM, PX_CHORUS, 0, 2, F_LIST, bm_px_chorus_names}, NONE, + {"REVERB", K_TRK, TRK(rsend), 0, 127, F_PCT, NULL}, {"REV ON", K_ON, PXF_REVERB, 0, 1, F_ONOFF, NULL}}}; +static const bxp SL_GLO[2][4] = { + {SK("LENGTH", S_KLEN, BM_STEPS), NONE, {"MIDI CH", K_TRK, TRK(midi_ch), 0, 15, F_CH, NULL}, {"MIDI OUT", K_TRK, TRK(midi_out), 0, 1, F_ONOFF, NULL}}, + {NONE, NONE, NONE, SK("RESET", S_RST, 1)}}; +/* la rejilla (V_CH): LEVEL, LENGTH (todos los pads), PITCH y RELEASE del pad elegido */ +static const bxp SL_GRID[4] = {SK("LEVEL", S_LEVEL, 127), SK("LENGTH", S_KLEN, BM_STEPS), SK("PITCH", S_PITCH, 48), SK("RELEASE", S_REL, 127)}; + +static int pad_sel(const bm_app *a) { return a->sel_lane[SL] & 15; } +static bm_pad *pad_of(bm_app *a) { return &a->pat.pad[pad_sel(a)]; } +static const bm_pad *cpad(const bm_app *a) { return &a->pat.pad[pad_sel(a)]; } + +int slicer_page_of(int btn) +{ + switch (btn) { + case BTN_EDIT: return BXP_MAIN; + case BTN_ENV: return BXP_ENV; + case BTN_FX: return BXP_FX; + case BTN_GLO: return BXP_GLO; + default: return -1; /* SEQ, LFO y SCL: la rejilla */ + } +} + +static int pages(int p) { return p == BXP_ENV ? 1 : 2; } +int slicer_sub(const bm_app *a) { return a->bx.sub[a->bx.page % BXP_N] % pages(a->bx.page); } + +const bxp *slicer_knobs(const bm_app *a) +{ + int s = slicer_sub(a); + switch (a->bx.page) { + case BXP_ENV: return SL_ENV; + case BXP_FX: return SL_FX[s]; + case BXP_GLO: return SL_GLO[s]; + default: return SL_EDIT[s]; + } +} + +/* ------------------------------------------------------------ la toma del pad y la ventana de TRIM */ +bool slicer_take(const bm_app *a, int pad, bm_smp_src *m) +{ + const bm_pad *p = &a->pat.pad[pad & 15]; + return bm_pad_ok(p) && bm_app_src_info(a, p->src, m) && m->len; +} + +/* la ventana de la onda: la toma entera (X1) o, con zoom, alrededor del inicio del pad (a un tercio, + * para ver más de lo que sigue) */ +void slicer_view(const bm_app *a, uint32_t *v0, uint32_t *v1) +{ + bm_smp_src m; + *v0 = *v1 = 0; + if (!slicer_take(a, pad_sel(a), &m)) return; + uint32_t span = m.len >> (a->bx.szoom & 3), at = cpad(a)->start; + if (span < 232) span = m.len < 232 ? m.len : 232; + uint32_t s = at > span / 3 ? at - span / 3 : 0; + if (s + span > m.len) s = m.len - span; + *v0 = s; *v1 = s + span; +} + +/* compases que entran en una toma nueva (SAMPLE): 1, 2 o 4, los que caben en la RAM de grabación */ +static uint32_t bar_samples(const bm_app *a) { return (uint32_t)BM_SMP_RATE * 2400u / (a->pat.meta.bpm_x10 ? a->pat.meta.bpm_x10 : 1200u); } +static int bars_of(int i) { return 1 << (i & 3); } +static int bars_max(const bm_app *a) /* el índice más alto que cabe (0 = 1 compás) */ +{ + int i = 2; + while (i > 0 && (uint32_t)bars_of(i) * bar_samples(a) > BM_SMP_REC_MAX) i--; + return i; +} +static int bars_idx(const bm_app *a) { int i = a->bx.sbars > 2 ? 0 : a->bx.sbars, mx = bars_max(a); return i > mx ? mx : i; } + +/* ------------------------------------------------------------ leer y escribir */ +int slicer_get(const bm_app *a, const bxp *p) +{ + if (p->kind != K_SLICE) return mach_get(a, p); + const bm_pad *d = cpad(a); + const bm_tr *tr = &a->pat.tr[SL]; + switch (p->idx) { + case S_START: return d->start; + case S_LEN: return d->len; + case S_ZOOM: return a->bx.szoom & 3; + case S_BARS: return bars_idx(a); + case S_PITCH: return d->pitch; + case S_LEVEL: return tr->lane[pad_sel(a)].level; + case S_MODE: return d->mode % PAD_MODES; + case S_REV: return (d->flags & PAD_REV) != 0; + case S_ATK: return d->attack; + case S_REL: return d->release; + case S_LOOPS: return d->loop_s; + case S_LOOPE: return d->loop_e; + case S_KLEN: return tr->lane[pad_sel(a)].len ? tr->lane[pad_sel(a)].len : 16; + default: return 0; + } +} + +/* ¿la perilla hace algo ahora? (el loop solo en modo LOOP; el pad vacío no tiene sonido que tocar) */ +bool slicer_live(const bm_app *a, const bxp *p) +{ + if (p->kind == K_NONE) return false; + if (p->kind != K_SLICE) return true; + bool ok = bm_pad_ok(cpad(a)); + switch (p->idx) { + case S_LOOPS: case S_LOOPE: return ok && cpad(a)->mode == PAD_LOOP; + case S_START: case S_LEN: case S_PITCH: case S_MODE: case S_REV: case S_ATK: case S_REL: return ok; + default: return true; + } +} + +static void ms(char *b, int cap, uint32_t samples) +{ + unsigned t = (unsigned)(samples * 1000u / BM_SMP_RATE); + if (t >= 1000) snprintf(b, (size_t)cap, "%u.%03u S", t / 1000, t % 1000); + else snprintf(b, (size_t)cap, "%u MS", t); +} + +void slicer_fmt(const bm_app *a, const bxp *p, int v, char *b, int cap) +{ + if (p->kind != K_SLICE) { mach_fmt(p, v, b, cap); return; } + switch (p->idx) { + case S_START: case S_LEN: ms(b, cap, (uint32_t)v); break; + case S_ZOOM: snprintf(b, (size_t)cap, "%s", ZOOMS[v & 3]); break; + case S_BARS: snprintf(b, (size_t)cap, v ? "%d BARS" : "%d BAR", bars_of(v)); break; + case S_PITCH: snprintf(b, (size_t)cap, v > 24 ? "+%d ST" : "%d ST", v - 24); break; /* el snprintf del SDK no tiene %+d */ + case S_MODE: snprintf(b, (size_t)cap, "%s", slicer_mode_names[v % PAD_MODES]); break; + case S_REV: snprintf(b, (size_t)cap, "%s", DIRS[v & 1]); break; + case S_ATK: snprintf(b, (size_t)cap, "%u MS", (unsigned)bm_attack_ms(v)); break; + case S_REL: case S_LEVEL: snprintf(b, (size_t)cap, "%d%%", (v * 100 + 63) / 127); break; + case S_LOOPS: snprintf(b, (size_t)cap, "%d%%", v * 100 / 255); break; + case S_LOOPE: if (v) snprintf(b, (size_t)cap, "%d%%", v * 100 / 255); else snprintf(b, (size_t)cap, "%s", "END"); break; + case S_KLEN: snprintf(b, (size_t)cap, v > 1 ? "%d STEPS" : "%d STEP", v); break; + case S_RST: snprintf(b, (size_t)cap, "%s", "TURN"); break; + default: snprintf(b, (size_t)cap, "%d", v); break; + } +} + +int slicer_pct(const bm_app *a, const bxp *p, int v) +{ + if (p->kind != K_SLICE) return mach_pct(p, v); + bm_smp_src m; + switch (p->idx) { + case S_START: return slicer_take(a, pad_sel(a), &m) ? (int)((uint32_t)v * 255u / m.len) : 0; + case S_LEN: return slicer_take(a, pad_sel(a), &m) ? (int)((uint32_t)v * 255u / m.len) : 0; + case S_BARS: return v * 127; + case S_KLEN: return (v - 1) * 255 / (BM_STEPS - 1); + default: return p->max ? v * 255 / p->max : 0; + } +} + +/* Todos los pads vuelven al sonido de fábrica (los cortes quedan) y los efectos a los de fábrica */ +static void sound_reset(bm_app *a) +{ + for (int i = 0; i < BM_LANES; i++) { + bm_pad *d = &a->pat.pad[i]; + d->pitch = 24; d->mode = PAD_ONESHOT; d->flags &= (uint8_t)~PAD_REV; + d->attack = 0; d->release = 20; d->loop_s = 0; d->loop_e = 0; /* como un pad nuevo (bm_pad_clear) */ + app_push_i(a, CMD_SET_LANE, SL, (uint8_t)i, LN_LEVEL, 100); + } + bm_px_fx_defaults(a->pat.prm[SL]); + app_edited(a); + app_toast(a, "SOUND RESET"); +} + +/* K de TRIM: START mueve el inicio (el final queda), LENGTH el final. De a dos columnas de la ventana + * por detent (con aceleración); ni más corto que 64 muestras ni fuera de la toma. */ +static int trim(bm_app *a, int which, int d) +{ + bm_smp_src m; + if (!slicer_take(a, pad_sel(a), &m)) return -1; + bm_pad *p = pad_of(a); + uint32_t v0, v1; + slicer_view(a, &v0, &v1); + int32_t px = (int32_t)((v1 - v0) / 116u); + if (px < 8) px = 8; + int32_t end = (int32_t)p->start + p->len; + if (end > (int32_t)m.len) end = (int32_t)m.len; + if (which == 0) { + int32_t s = bm_clampi((int32_t)p->start + d * px, 0, end - 64); + p->start = (uint16_t)s; p->len = (uint16_t)(end - s); + } else { + int32_t e = bm_clampi(end + d * px, (int32_t)p->start + 64, (int32_t)m.len); + p->len = (uint16_t)(e - (int32_t)p->start); + } + app_edited(a); + return which ? p->len : p->start; +} + +int slicer_turn(bm_app *a, const bxp *p, int d) +{ + if (p->kind != K_SLICE) return mach_turn(a, p, d); + if (!slicer_live(a, p)) return -1; /* sin función ahora: no hace nada */ + bm_pad *q = pad_of(a); + int l = pad_sel(a), cur = slicer_get(a, p), v; + int step = p->max <= 16 ? app_lst(a, d) : d; + switch (p->idx) { + case S_START: return trim(a, 0, d); + case S_LEN: return trim(a, 1, d); + case S_ZOOM: v = bm_clampi(cur + step, 0, 3); a->bx.szoom = (uint8_t)v; return v == cur ? -1 : v; + case S_BARS: v = bm_clampi(cur + step, 0, bars_max(a)); a->bx.sbars = (uint8_t)v; return v == cur ? -1 : v; + case S_RST: sound_reset(a); return -1; + case S_KLEN: app_kit_len(a, SL, p == &SL_GRID[1] ? 1 : 0, d); return -1; /* el aviso lo da ella (K2 en la rejilla, K1 en GLO) */ + default: break; + } + v = bm_clampi(cur + step, 0, p->max); + if (v == cur) return -1; + switch (p->idx) { + case S_PITCH: q->pitch = (uint8_t)v; break; + case S_LEVEL: app_push_i(a, CMD_SET_LANE, SL, (uint8_t)l, LN_LEVEL, v); break; + case S_MODE: q->mode = (uint8_t)v; break; + case S_REV: q->flags = (uint8_t)(v ? q->flags | PAD_REV : q->flags & ~PAD_REV); break; + case S_ATK: q->attack = (uint8_t)v; break; + case S_REL: q->release = (uint8_t)v; break; + case S_LOOPS: q->loop_s = (uint8_t)v; if (q->loop_e && q->loop_e <= v) q->loop_e = (uint8_t)(v + 1); break; + case S_LOOPE: if (v && v <= q->loop_s) v = q->loop_s + 1; q->loop_e = (uint8_t)v; break; + default: return -1; + } + app_edited(a); + return v; +} + +void slicer_legend_of(const bm_app *a, const bxp *P, bm_legend L[4]) +{ + char b[12]; + for (int k = 0; k < 4; k++) { + if (!slicer_live(a, &P[k])) continue; /* sin función: nada (ni el nombre) */ + int v = slicer_get(a, &P[k]); + slicer_fmt(a, &P[k], v, b, sizeof b); + app_layer_legend(a, L, k, P[k].name, b, slicer_pct(a, &P[k], v)); + } +} + +void slicer_legend(const bm_app *a, bm_legend L[4]) { slicer_legend_of(a, slicer_knobs(a), L); } + +/* el giro: en TRIM y SOUND las perillas están dibujadas (sin el recuadro grande); en las demás, la + * línea de arriba dice qué se movió */ +static void turned(bm_app *a, int k, const bxp *p, int v) +{ + if (v < 0) return; + if (a->view == V_MACH && a->bx.page == BXP_MAIN) { a->ov.on = 0; return; } + char b[12], ti[22]; + slicer_fmt(a, p, v, b, sizeof b); + snprintf(ti, sizeof ti, "P%d %s", pad_sel(a) + 1, T(p->name)); + app_overlay(a, k, ti, b, "", slicer_pct(a, p, v), p->idx == S_PITCH && p->kind == K_SLICE ? 128 : -1, bm_knob_color(k)); +} + +/* la rejilla (V_CH): K1-K4 del pad elegido */ +void slicer_grid_knob(bm_app *a, int k, int d) { if (k >= 0 && k < 4) turned(a, k, &SL_GRID[k], slicer_turn(a, &SL_GRID[k], d)); } +void slicer_grid_legend(const bm_app *a, bm_legend L[4]) { slicer_legend_of(a, SL_GRID, L); } + +/* ------------------------------------------------------------ cortar y grabar */ +static void cut(bm_app *a, int how) +{ + const bm_pad *p = cpad(a); + if (!bm_pad_ok(p) || p->src >= BM_TAKES) return; /* pad vacío: no hay qué cortar */ + int n = app_kit_from_take(a, p->src, how); + char b[30]; + snprintf(b, sizeof b, TF("%d PADS + SEQUENCE"), n); + app_toast(a, b); +} + +/* SAMPLE: graba lo que suena (la mezcla) desde el próximo compás, los compases de K4; parado, + * empieza con PLAY. Otra vez: para. La toma se guarda al parar y queda en el pad elegido. */ +static void sample(bm_app *a) +{ + const bm_status *st = &a->ctx.st; + if (st->smp_rec || st->smp_armed) { app_push_i(a, CMD_SMP_REC, 0, 0, 0, 0); app_toast(a, "SAMPLE STOPPED"); return; } + if (st->smp_unsaved) { app_toast(a, "STOP: THE LAST SAMPLE IS SAVED FIRST"); return; } + uint32_t cap = (uint32_t)bars_of(bars_idx(a)) * bar_samples(a); + if (cap > BM_SMP_REC_MAX) cap = BM_SMP_REC_MAX; + if (cap > bm_app_rec_room(a)) { app_toast(a, "NO ROOM: DELETE A TAKE"); return; } + app_push_i(a, CMD_SMP_REC, 2, 0, 0, (int32_t)cap); + app_toast(a, app_playing(a) ? "SAMPLE: NEXT BAR" : "SAMPLE ARMED: PRESS PLAY"); +} + +/* ------------------------------------------------------------ botones, teclas y perillas */ +bool slicer_button(bm_app *a, int id, bm_gkind k) +{ + if (id == BTN_REC) { /* REC: graba los pads que tocas; 2 s borra la secuencia */ + if (k == G_LONG) mach_rec(a, k); + else if (k == G_TAP) app_rec_set(a, !a->rec); + return true; + } + if (k != G_TAP && k != G_HOLD) return true; + if (id == BTN_SEQ || id == BTN_LFO || id == BTN_SCL) { /* la rejilla, o su capa */ + app_slicer_grid(a, id == BTN_LFO ? L_ACC : id == BTN_SCL ? L_MUTE : L_NONE); + return true; + } + int p = slicer_page_of(id); + if (p < 0) return true; /* lo demás (OCT, ARP...) no hace nada */ + bm_bx7ui *u = &a->bx; + if (u->page != p) { u->page = (uint8_t)p; u->sub[p] = 0; } + else if (pages(p) > 1) u->sub[p] = (uint8_t)((u->sub[p] + 1) % pages(p)); /* la siguiente, en círculo */ + else { app_slicer_grid(a, L_NONE); return true; } /* de una página: otra vez, la rejilla */ + a->ov.on = 0; + return true; +} + +void slicer_key(bm_app *a, int k, int w, int b) +{ + if (w >= 0) { app_pad_down(a, k, w); return; } /* blancas: los pads */ + if (a->bx.page != BXP_MAIN || slicer_sub(a) != 0) return; /* las negras, solo en TRIM */ + switch (b) { + case 0: cut(a, 0); return; /* AUTO: en los golpes */ + case 1: cut(a, 8); return; + case 2: cut(a, 16); return; + case 10: sample(a); return; + default: return; + } +} + +void slicer_encoder(bm_app *a, int id, int d) +{ + char b[24]; + switch (id) { + case ENC_SELECT: return; /* las páginas, con su botón */ + case ENC_ALGO: { /* el pad */ + int v = bm_clampi(pad_sel(a) + app_lst(a, d), 0, BM_LANES - 1); + if (v == pad_sel(a)) return; + a->sel_lane[SL] = (uint8_t)v; + if (bm_pad_ok(cpad(a))) bm_app_src_name(a, cpad(a)->src, b, sizeof b); else snprintf(b, sizeof b, "%s", T("EMPTY")); + char ti[12]; snprintf(ti, sizeof ti, TF("PAD %d"), v + 1); + if (a->bx.page == BXP_MAIN) a->ov.on = 0; /* TRIM y SOUND ya lo muestran */ + else app_overlay(a, -1, ti, b, "", v * 17, -1, bm_track_color(SL)); + return; + } + case ENC_PRESETS: app_enc_source(a, SL, d); return; /* la toma del pad, entera */ + default: break; + } + int k = id - ENC_K1; + if (k < 0 || k > 3) return; + const bxp *P = slicer_knobs(a); + turned(a, k, &P[k], slicer_turn(a, &P[k], d)); +} + +void slicer_bigknobs(const bm_app *a, const char **sel, const char **alg, const char **pre) +{ + (void)a; + *sel = "-"; *alg = "PAD"; *pre = "TAKE"; +} + +uint8_t slicer_btn_led(const bm_app *a, int i) +{ + switch (i) { + case BTN_HOME: return LED_DIM; + case BTN_REC: return a->rec ? LED_ON : LED_DIM; + case BTN_SEQ: case BTN_LFO: case BTN_SCL: return LED_DIM; + default: break; + } + int p = slicer_page_of(i); + if (p < 0) return LED_OFF; + return p == a->bx.page ? LED_ON : LED_DIM; +} + +const char *slicer_title(const bm_app *a, char *buf, int cap) +{ + int s = slicer_sub(a); + switch (a->bx.page) { + case BXP_ENV: snprintf(buf, (size_t)cap, "%s", "ENV"); break; + case BXP_FX: snprintf(buf, (size_t)cap, "FX %d/2 %s", s + 1, T(s ? "CHORUS REVERB" : "DISTORTION")); break; + case BXP_GLO: snprintf(buf, (size_t)cap, "GLO %d/2", s + 1); break; + default: snprintf(buf, (size_t)cap, "%s %d/2", T(SL_EDIT_N[s]), s + 1); break; + } + return buf; +} + +/* las blancas son los 16 pads: el elegido ON, con toma MID (destella al sonar), vacío OFF. En TRIM, las + * negras AUTO, 8 y 16 (con un pad que tenga toma) y SAMPLE (armado respira, grabando ON). */ +void slicer_keys(const bm_app *a, bm_keyfn K[BM_KEYS]) +{ + memset(K, 0, sizeof(bm_keyfn) * BM_KEYS); + uint16_t col = bm_track_color(SL); + char b[6]; + for (int w = 0; w < 16; w++) { + bm_keyfn *f = &K[bm_white_key(w)]; + bool ok = bm_pad_ok(&a->pat.pad[w]); + snprintf(b, sizeof b, "P%d", w + 1); + snprintf(f->label, sizeof f->label, "%s", b); + f->led = w == pad_sel(a) ? LED_ON : ok ? LED_MID : LED_OFF; + f->color = col; + f->live = (uint8_t)(ok && a->now < a->lane_flash[SL][w]); + } + if (a->bx.page != BXP_MAIN || slicer_sub(a) != 0) return; + bool ok = bm_pad_ok(cpad(a)) && cpad(a)->src < BM_TAKES; + static const char *const CUT[3] = {"AUTO", "8", "16"}; + for (int i = 0; i < 3; i++) { + bm_keyfn *f = &K[bm_black_key(i)]; + snprintf(f->label, sizeof f->label, "%s", CUT[i]); + f->led = ok ? LED_MID : LED_OFF; f->color = C_CYAN; + } + const bm_status *st = &a->ctx.st; + bm_keyfn *f = &K[bm_black_key(10)]; + snprintf(f->label, sizeof f->label, "%s", "SMP"); + f->led = st->smp_rec ? LED_ON : st->smp_armed ? LED_BREATH : LED_DIM; f->color = C_RED; +} + +/* la cabecera: lo que graba SAMPLE, o el pad elegido y su toma */ +void slicer_status(const bm_app *a, char *b, int cap, uint16_t *col) +{ + const bm_status *st = &a->ctx.st; + *col = C_WHITE; + if (st->smp_rec) { + unsigned t = (unsigned)(st->smp_len * 10u / BM_SMP_RATE); + snprintf(b, (size_t)cap, TF("SAMPLING %u.%u S"), t / 10, t % 10); + *col = C_RED; + return; + } + if (st->smp_armed) { snprintf(b, (size_t)cap, "%s", T(app_playing(a) ? "SAMPLE: NEXT BAR" : "SAMPLE ARMED")); *col = C_RED; return; } + char tk[16]; + if (bm_pad_ok(cpad(a))) bm_app_src_name(a, cpad(a)->src, tk, sizeof tk); else snprintf(tk, sizeof tk, "%s", T("EMPTY")); + snprintf(b, (size_t)cap, "P%d %s", pad_sel(a) + 1, tk); +} + +bool slicer_knobs_shown(const bm_app *a) { return a->bx.page == BXP_MAIN || a->bx.page == BXP_GLO; } diff --git a/core/bm_store.h b/core/bm_store.h index 4d5f971..8a5fe73 100644 --- a/core/bm_store.h +++ b/core/bm_store.h @@ -12,7 +12,7 @@ typedef struct { int (*program)(uint32_t addr, const void *src, uint32_t n); /* <= 256 B, sin cruzar página */ } bm_flash_ops; -#define BM_OBJ_PATTERN0 0 /* 0..BM_PATTERNS-1 (10..15 se ignoran al montar) */ +#define BM_OBJ_PATTERN0 0 /* 0..BM_PATTERNS-1 (los de después se ignoran al montar) */ #define BM_OBJ_SONG 16 #define BM_OBJ_COUNT 17 #define BM_STORE_SLOTS ((BM_STORE_HI - BM_STORE_LO) / BM_SLOT_SIZE) diff --git a/core/bm_ui_draw.c b/core/bm_ui_draw.c index c35ce12..00dcf9f 100644 --- a/core/bm_ui_draw.c +++ b/core/bm_ui_draw.c @@ -1,35 +1,39 @@ /* SPDX-License-Identifier: GPL-3.0-or-later * Copyright (C) 2026 Erbubar23 */ -/* Bubba Machine — pantallas (docs/DISENO_0.6.md §5). Cuatro franjas en todas: +/* Bubba Machine — pantallas (1.0, etapa 1): HOME (el mezclador y su PLAY/REC), su GLO, el secuenciador + * de la batería, SAVE y SYSTEM. Franjas (2026-10-22: cada perilla se dibuja una sola vez): * y 0..23 cabecera: la máquina, PLAY/REC, patrón, BPM, CPU (anillo de la pulsación de 2 s) - * y 24..135 visor: en un canal, sus pestañas arriba y la página debajo - * y 136..167 teclado: las 11 negras y las 16 blancas (= los 16 pasos) con lo que hace cada una - * y 168..239 perillas: K1-K4 con su dial, su valor y su nombre, en su orden físico + * y 24..135 visor: la pantalla de ahora (hasta 193 si la pantalla ya muestra K1-K4) + * y 136..193 perillas: K1-K4 con su dial, su valor y su nombre, en su orden físico (si el visor no las muestra) + * y 194..225 teclado: las 11 negras y las 16 blancas (= los 16 pasos) con lo que hace cada una + * y 226..239 SELECT, ALGORITHM y PRESETS: qué hacen aquí * Todo el texto en pantalla va en ASCII (la fuente no tiene acentos). */ #include #include +#include #include "bm_app_int.h" +#include "bm_mach.h" #include "bm_rom.h" #include "bm_util.h" -#include "bm_fm.h" #include "bm_drums.h" #include "bm_params.h" #include "bm_snap.h" +#include "bm_fm.h" #include "bm_wt.h" -#include +#include "bm_wave.h" +#include "bm_acid.h" -#define PY 36 /* primera fila útil de una página de canal (debajo de las pestañas) */ +#define PY 36 /* primera fila útil de una pantalla de canal */ /* La miga del dibujo (0.7, temporal): qué parte de la pantalla se estaba dibujando. Si el * procesador falla, hal/fm1/sdk/wl82_debug.c la guarda en la huella y la consola la muestra. * 0 = fuera del dibujo. */ volatile uint8_t bm_ui_paso; #define PASO(n) (bm_ui_paso = (uint8_t)(n)) -#define VB 135 /* última fila del visor */ +#define VB 135 /* última fila del visor (con la franja de perillas) */ +#define VT 193 /* última fila del visor sin la franja */ static uint16_t dim(uint16_t c) { return (uint16_t)((c >> 1) & 0x7BEF); } -static float bm_clampf(float v, float lo, float hi) { return v < lo ? lo : (v > hi ? hi : v); } - /* ------------------------------------------------------------ cabecera */ static void draw_ring(bm_gfx *g, int cx, int cy, int p, uint16_t c) { @@ -39,40 +43,30 @@ static void draw_ring(bm_gfx *g, int cx, int cy, int p, uint16_t c) for (int i = 0; i < 24; i++) gfx_fill(g, cx + CS[i][0], cy + CS[i][1], 2, 2, i < n ? c : C_DGREY); } -/* la consola (BX-1): MIX, su FX y su GLO */ -static bool console_view(const bm_app *a) { return a->view == V_HOME || a->view == V_FXG || a->view == V_GLO; } - -/* El nombre de lo que se toca: BX-1 en la consola, la máquina del canal adentro (y en SLOOP). */ static const char *machine_title(const bm_app *a, uint16_t *col) { - bool ch = a->view == V_CH || (a->layer && a->layer != L_HOME) || (a->sloop && console_view(a) && !a->layer); + bool ch = a->view == V_CH || a->view == V_MACH || (a->sloop && a->view == V_HOME); *col = ch ? bm_track_color(a->track) : C_CYAN; if (ch) return bm_track_name(a, a->track); - switch (a->view) { /* MIX, FX y GLO son páginas de BX-1 */ + switch (a->view) { case V_SYSTEM: return "SYSTEM"; - case V_TIME: return "TIME"; case V_SAVE: return "SAVE"; default: return "BX-1"; } } -/* "<": HOME vuelve a MIX (la consola) desde aquí: desde todas partes menos MIX. */ -static bool home_goes_back(const bm_app *a) { return a->view != V_HOME; } +/* "<": HOME vuelve al mezclador desde aquí: desde todas partes menos el mezclador (y su PLAY/REC, que también sale con HOME). */ +static bool home_goes_back(const bm_app *a) { return a->view != V_HOME || a->sloop; } /* adónde lleva mantener un botón 2 s (lo mismo que decide app_on_gesture) */ -static const char *hold_target(const bm_app *a, int id, char *b, int cap) +static const char *hold_target(const bm_app *a, int id) { - switch (id) { - case BTN_HOME: return "SYSTEM"; - case BTN_SEQ: return "TIME"; - case BTN_EDIT: return a->view == V_COPYCH ? "PASTE" : a->track == 1 ? "TAKES" : "INIT SOUND"; - case BTN_SAVE: return "QUICK SAVE"; - case BTN_REC: - if (a->view == V_CH && a->page == PG_LOOP) return "ERASE LOOP"; - snprintf(b, (size_t)cap, TF("ERASE T%d"), a->track + 1); + static char b[12]; + if (id == BTN_REC && (a->view == V_HOME || a->view == V_CH || a->view == V_MACH)) { /* REC 2 s: borra el canal */ + snprintf(b, sizeof b, TF("CLEAR T%d"), app_pos(a->track) + 1); return b; - default: return NULL; } + return id == BTN_HOME ? "SYSTEM" : id == BTN_SAVE ? "QUICK SAVE" : NULL; } /* el autoguardado no tapa la pantalla con un aviso: es una marca en la cabecera */ @@ -86,8 +80,8 @@ static void draw_status(bm_gfx *g, const bm_app *a) gfx_fill(g, 0, 0, BM_LCD_W, 23, C_BLACK); if (st->playing) for (int i = 0; i < 9; i++) gfx_vline(g, 4 + i, 7 + i / 2, 10 - (i / 2) * 2, C_GREEN); else gfx_fill(g, 4, 8, 8, 8, C_GREY); - bool recording = a->rec || st->smp_rec || a->song_rec || st->smp_armed; - if (recording && (!(st->smp_rec || a->song_rec || st->smp_armed) || ((a->now / 250) & 1))) gfx_disc(g, 18, 12, 3, st->smp_armed ? C_YELLOW : C_RED); + bool recording = a->rec; + if (recording && ((a->now / 250) & 1)) gfx_disc(g, 18, 12, 3, C_RED); uint16_t mc; const char *mt = machine_title(a, &mc); int tx = 25; @@ -100,12 +94,11 @@ static void draw_status(bm_gfx *g, const bm_app *a) int qx = x + gfx_text(g, x, 3, b, C_WHITE, 1) + 1; bool queued = st->queued != 0xFF && st->queued != st->pattern; if (queued) { - uint16_t qc = st->pchain_n > 1 ? C_CYAN : C_YELLOW; + uint16_t qc = C_YELLOW; snprintf(b, sizeof b, ">A%02d", st->queued + 1); gfx_text(g, qx, 3, b, qc, 1); if (st->playing) { /* pulsos que faltan para el cambio */ - uint32_t m = (uint32_t)bm_master_steps(&a->pat.meta) * BM_TICKS_STEP; - uint32_t left = m ? (m > st->rtick ? m - st->rtick : 0) : BM_BAR_TICKS - st->btick % BM_BAR_TICKS; + uint32_t left = BM_BAR_TICKS - st->btick % BM_BAR_TICKS; /* el patrón en cola entra al final del compás */ int beats = (int)((left + BM_PPQN - 1) / BM_PPQN); for (int i = 0; i < 4; i++) gfx_fill(g, x + 20 + i * 5, 14, 4, 5, beats > 4 ? dim(qc) : (i < beats ? qc : C_DDGREY)); } @@ -116,8 +109,8 @@ static void draw_status(bm_gfx *g, const bm_app *a) if (!queued && st->scene_q != 0xFF) { snprintf(b, sizeof b, ">%c", 'A' + st->scene_q); gfx_small(g, x + 20, 14, b, C_CYAN); } else if (!queued && st->scene != 0xFF) { snprintf(b, sizeof b, "%c", 'A' + st->scene); gfx_small(g, x + 20, 14, b, C_CYAN); } /* los 6 canales: su color = suena, rojo = mute, blanco = golpe, borde = solo */ - for (int t = 0; t < BM_TRACKS; t++) { - int cx = x + t * 7; + for (int n = 0; n < BM_TRACKS; n++) { + int t = BM_ORDER[n], cx = x + n * 7; bool mu = a->pat.trk[t].mute; gfx_fill(g, cx, 20, 5, 2, mu ? C_RED : (a->now < a->trig_until[t] ? C_WHITE : bm_track_color(t))); if (a->solo_on && a->solo_track == t) gfx_rect(g, cx - 1, 19, 7, 4, C_WHITE); @@ -128,29 +121,19 @@ static void draw_status(bm_gfx *g, const bm_app *a) gfx_text_r(g, 186, 5, b, C_TEMPO, 2); if (bpm % 10) { snprintf(b, sizeof b, ".%d", bpm % 10); gfx_small(g, 187, 4, b, C_TEMPO); } gfx_small(g, 187, 14, a->set.clock ? (st->ext_ok ? "EXT" : "EXT?") : "BPM", a->set.clock && !st->ext_ok ? C_RED : C_GREY); - /* REC: el largo de las notas que se graban · si no, la CPU */ - int hid = -1, p = a->ask ? -1 : bm_gesture_progress(&a->ges, a->now, &hid); /* la pregunta tiene su barra */ + /* la pulsación de 2 s: el anillo y adónde lleva (HOME: SYSTEM, SAVE: guardado rápido, una escena: borrarla) · si no, la CPU */ + int hid = -1, p = bm_gesture_progress(&a->ges, a->now, &hid); char kl[22]; - int kp = p < 0 && !a->ask ? bm_app_key_ring(a, kl, sizeof kl) : -1; /* una tecla de escena sostenida: guardar a los 2 s */ - bool slot = false; /* la esquina de arriba quedó ocupada */ - if (p >= 0 || kp >= 0) { /* la pulsación de 2 s: el anillo y adónde lleva */ + int kp = p < 0 ? bm_app_key_ring(a, kl, sizeof kl) : -1; + const char *to = p >= 0 ? hold_target(a, hid) : kp >= 0 ? kl : NULL; + if (p >= 0 && !to) p = -1; /* un botón sin pulsación de 2 s: nada */ + if (p >= 0 || kp >= 0) { draw_ring(g, 210, 12, p >= 0 ? p : kp, C_YELLOW); - const char *to = p >= 0 ? hold_target(a, hid, b, sizeof b) : kl; - if (to) { /* tapa el BPM mientras dura */ - int w = gfx_text_w(to, 1), x0 = 186 - gfx_text_w("888", 2); - if (198 - w - 3 < x0) x0 = 198 - w - 3; - gfx_fill(g, x0, 2, 201 - x0, 20, C_BLACK); - gfx_text(g, 198 - w - 1, 9, to, C_YELLOW, 1); - } - slot = true; - } else if (a->rec && app_kind(a, a->track) == KIND_NOTE) { - if (a->rec_gate >= 100) snprintf(b, sizeof b, "TIE"); else snprintf(b, sizeof b, "G%d%%", a->rec_gate); - gfx_small(g, 202, 4, b, C_GREEN); - gfx_small(g, 202, 14, "REC", C_RED); - slot = true; + int w = gfx_text_w(to, 1), x0 = 186 - gfx_text_w("888", 2); /* tapa el BPM mientras dura */ + if (198 - w - 3 < x0) x0 = 198 - w - 3; + gfx_fill(g, x0, 2, 201 - x0, 20, C_BLACK); + gfx_text(g, 198 - w - 1, 9, to, C_YELLOW, 1); } else if (a->cpu > 95) gfx_small(g, 202, 14, "CPU!", C_RED); /* solo si el audio no alcanza */ - if (st->fill && st->playing) { gfx_small(g, 202, 4, "FILL", C_ORANGE); slot = true; } - if (!slot && st->song_on) gfx_small(g, 202, 4, "SONG", C_CYAN); if (toast_autosave(a)) gfx_disc(g, 223, 19, 2, C_GREEN); /* autoguardado: una marca, sin tapar nada */ /* batería, vertical */ int bp = a->battery; @@ -193,7 +176,7 @@ static void draw_legend(bm_gfx *g, const bm_app *a) bm_app_legend(a, L); PASO(29); /* SYSTEM: K1 muestra el valor de la fila, no el nombre de otra perilla */ - if (a->view == V_SYSTEM && !a->layer && L[0].name[0]) sys_val(a, a->menu_row, L[0].val, sizeof L[0].val); + if (a->view == V_SYSTEM && !a->layer && L[0].name[0]) sys_val(a, BM_SYS_ROWS[a->menu_row % BM_SYS_VIS], L[0].val, sizeof L[0].val); } gfx_fill(g, 0, BM_LEGEND_Y, BM_LCD_W, BM_LEGEND_H, C_BLACK); gfx_hline(g, 0, BM_LEGEND_Y, BM_LCD_W, C_DDGREY); @@ -201,31 +184,38 @@ static void draw_legend(bm_gfx *g, const bm_app *a) int x = i * 60, cx = x + 30; uint16_t kc = bm_knob_color(i); bool hi = a->ov.on && a->ov.enc == i; - if (i) gfx_vline(g, x, BM_LEGEND_Y + 4, 54, C_DDGREY); - if (!L[i].name[0]) { draw_dial(g, cx, BM_LEGEND_Y + 19, 0, -1, C_DDGREY, false); continue; } - if (hi) gfx_rect(g, x + 2, BM_LEGEND_Y + 2, 56, 58, kc); - draw_dial(g, cx, BM_LEGEND_Y + 19, L[i].pct, -1, kc, hi); - gfx_text_c(g, cx, BM_LEGEND_Y + 37, L[i].val, L[i].locked ? kc : C_WHITE, 1); - if (L[i].locked) gfx_fill(g, x + 53, BM_LEGEND_Y + 38, 4, 4, kc); + if (i) gfx_vline(g, x, BM_LEGEND_Y + 4, 50, C_DDGREY); + if (!L[i].name[0]) { draw_dial(g, cx, BM_LEGEND_Y + 17, 0, -1, C_DDGREY, false); continue; } + if (hi) gfx_rect(g, x + 2, BM_LEGEND_Y + 2, 56, 55, kc); + draw_dial(g, cx, BM_LEGEND_Y + 17, L[i].pct, -1, kc, hi); + gfx_text_c(g, cx, BM_LEGEND_Y + 33, L[i].val, L[i].locked ? kc : C_WHITE, 1); + if (L[i].locked) gfx_fill(g, x + 53, BM_LEGEND_Y + 34, 4, 4, kc); char nm[11]; snprintf(nm, sizeof nm, "%.9s", T(L[i].name)); - gfx_text_c(g, cx, BM_LEGEND_Y + 49, nm, kc, 1); + gfx_text_c(g, cx, BM_LEGEND_Y + 45, nm, kc, 1); } } /* Las tres perillas grandes, en su orden del panel (SELECT, ALGORITHM, PRESETS): qué hacen aquí, - * o "-" si aquí no hacen nada. Una fila chica debajo de los diales. */ + * o "-" si aquí no hacen nada. La fila de abajo, con letra grande (2026-10-22: antes casi no se + * leía): el nombre de la perilla en una etiqueta y lo que hace al lado. */ static void draw_bigknobs(bm_gfx *g, const bm_app *a) { - if (!gfx_strip_hit(g, 232, 6)) return; + if (!gfx_strip_hit(g, BM_FOOT_Y, BM_FOOT_H)) return; const char *v[3]; static const char *const N[3] = {"SEL", "ALG", "PRE"}; bm_app_bigknobs(a, &v[0], &v[1], &v[2]); + gfx_fill(g, 0, BM_FOOT_Y, BM_LCD_W, BM_FOOT_H, C_BLACK); for (int i = 0; i < 3; i++) { - int x = 4 + i * 80; + int x = 1 + i * 80, y = BM_FOOT_Y + 3; bool dead = !v[i][0] || (v[i][0] == '-' && !v[i][1]); bool hi = a->ov.on && a->ov.knob == (i == 0 ? ENC_SELECT : i == 1 ? ENC_ALGO : ENC_PRESETS) + 1; - gfx_small(g, x, 232, N[i], dead ? C_DGREY : C_GREY); - gfx_small(g, x + gfx_small_w(N[i]) + 4, 232, dead ? "-" : v[i], hi ? a->ov.color : dead ? C_DGREY : C_WHITE); + int w = gfx_small_w(N[i]) + 4; + gfx_fill(g, x, y - 1, w, 9, dead ? C_DDGREY : C_DGREY); + gfx_small(g, x + 2, y + 1, N[i], dead ? C_DGREY : C_WHITE); + char b[12]; + snprintf(b, sizeof b, "%.10s", dead ? "-" : T(v[i])); + if (gfx_text_w(b, 1) > 78 - w - 3) b[(78 - w - 3) / 6] = 0; /* que no pise a la siguiente */ + gfx_text(g, x + w + 3, y, b, hi ? a->ov.color : dead ? C_DGREY : C_WHITE, 1); } } @@ -237,62 +227,6 @@ static void header(bm_gfx *g, const char *title, const char *sub, uint16_t col) gfx_hline(g, 4, 44, 232, C_DDGREY); } -/* Las ayudas (0.7): se ven los primeros HINT_MS de cada página y después se van; la franja de teclas - * y las perillas siguen diciendo qué hace cada cosa. Antes eran ~40 líneas fijas en pantalla. */ -#define HINT_MS 4000u -static bool hints_on; -/* Una línea de ayuda: en la 5x7 si cabe (hasta 38 letras), si no en la 3x5. Texto fijo: solo cuesta - * el primer cuadro (el render manda lo que cambió). */ -static void note_s(bm_gfx *g, int y, const char *s) -{ - if (!s || !s[0]) return; - if (gfx_text_w(s, 1) <= 228) { - if (y > VB - 6) y = VB - 6; - if (gfx_strip_hit(g, y, 8)) gfx_text(g, 6, y, s, C_GREY, 1); - } else if (gfx_strip_hit(g, y, 6)) gfx_small(g, 4, y, s, C_GREY); -} -static void hint(bm_gfx *g, int y, const char *s) { if (hints_on && gfx_strip_hit(g, y, 8)) gfx_text(g, 6, y, s, C_GREY, 1); } -static void hint_s(bm_gfx *g, int y, const char *s) { if (hints_on) note_s(g, y, s); } - -static void hints_update(const bm_app *a) -{ - static uint32_t key = 0xFFFFFFFFu, t0; - uint32_t k = (uint32_t)a->view | (uint32_t)a->page << 8 | (uint32_t)a->layer << 16 | (uint32_t)a->track << 24 - | (uint32_t)a->ed_page[a->track] << 28 | (uint32_t)a->fx_page << 30; - if (k != key) { key = k; t0 = a->now; } - hints_on = a->now - t0 < HINT_MS; -} - -/* Las páginas de la consola (BX-1): MIX y FX (HOME siempre vuelve a MIX) y su GLO; la actual en cian. - * A la derecha, las sub-páginas de la actual (FX y GLO las recorren con su botón) o lo que se diga. */ -static void home_pages(bm_gfx *g, const bm_app *a, const char *sub, uint16_t subc) -{ - if (!gfx_strip_hit(g, 25, 10)) return; - static const uint8_t V[3] = {V_HOME, V_FXG, V_GLO}; - static const char *const N[3] = {"MIX", "FX", "GLO"}; - int x = 4; - for (int i = 0; i < 3; i++) { - int w = gfx_small_w(N[i]); - if (a->view == V[i]) { gfx_fill(g, x - 2, 25, w + 4, 9, C_CYAN); gfx_small(g, x, 27, N[i], C_BLACK); } - else gfx_small(g, x, 27, N[i], C_GREY); - x += w + 8; - } - if (a->view == V_FXG || a->view == V_GLO) { /* sus páginas: la actual en blanco */ - static const char *const FP[FXP_COUNT] = {"CHANNEL", "DELAY", "REVERB", "MASTER"}; - static const char *const GP[GP_COUNT] = {"TEMPO", "MACHINES", "SCALE", "SONG"}; - const char *const *P = a->view == V_FXG ? FP : GP; - int n = a->view == V_FXG ? FXP_COUNT : GP_COUNT, cur = a->view == V_FXG ? a->fx_page % FXP_COUNT : a->glo_page % GP_COUNT; - int xr = 236; - for (int i = n - 1; i >= 0; i--) { - xr -= gfx_small_w(P[i]); - gfx_small(g, xr, 27, P[i], i == cur ? C_WHITE : C_DGREY); - xr -= 5; - } - return; - } - if (sub) gfx_small(g, 236 - gfx_small_w(sub), 27, sub, subc); -} - static void row(bm_gfx *g, int y, bool sel, const char *l, const char *r) { if (!gfx_strip_hit(g, y, 12)) return; @@ -308,16 +242,6 @@ static void grid(bm_gfx *g, int x0, int y0, int w, int h, int step) if (gfx_strip_hit(g, y, 1)) for (int x = x0; x < x0 + w; x += step) gfx_fill(g, x, y, 1, 1, C_DDGREY); } -static int src_name(const bm_app *a, int t, char *b, int cap) -{ - if (t == 1) { /* el sampler: cuántos pads tiene el kit */ - int n = 0; - for (int i = 0; i < BM_LANES; i++) n += bm_pad_ok(&a->pat.pad[i]); - return n ? snprintf(b, (size_t)cap, TF("%d PADS"), n) : snprintf(b, (size_t)cap, "%s", T("NO KIT")); - } - return snprintf(b, (size_t)cap, "%s", bm_sound_name(a, t)); -} - /* ¿el canal tiene golpe/nota en el paso absoluto s? (0 nada, 1 golpe o comienzo, 2 nota que sigue) */ static int track_has(const bm_app *a, int t, int s) { @@ -395,23 +319,6 @@ static void draw_keys(bm_gfx *g, const bm_app *a) int k = bm_black_key(i), wi = bm_key_white_index(k - 1); key_cell(g, a, (wi + 1) * 15 - 8, BM_KEYS_Y + 2, 16, 12, &K[k], a->keys_down[k], 0); } - /* SEQ de un canal de notas: las notas largas (TIE) como una barra continua sobre sus pasos */ - int t = a->track; - if (a->view == V_CH && a->page == PG_SEQ && app_kind(a, t) == KIND_NOTE && !a->layer && !bm_app_roll_view(a, t)) { - int p0 = a->step_page * 16, len = a->pat.trk[t].length ? a->pat.trk[t].length : 16; - for (int s = p0 - 16; s < p0 + 16; s++) { - if (s < 0 || s >= len) continue; - for (int k = 0; k < BM_EVENTS; k++) { - const bm_event *e = bm_evc(&a->pat, t, s, k); - if (bm_event_empty(e)) continue; - int l = (e->len & BM_LEN_MASK) + ((e->len & BM_LEN_TIE) ? 1 : 0); - if (l < 2) continue; - int x0 = (s - p0) * 15, x1 = (s - p0 + l) * 15 - 2; - x0 = bm_clampi(x0, 0, 239); x1 = bm_clampi(x1, 0, 239); - if (x1 > x0) gfx_fill(g, x0, BM_KEYS_Y + BM_KEYS_H - 2, x1 - x0, 2, C_GREEN); - } - } - } } static void lane_pads(bm_gfx *g, const bm_app *a, int t, int y0, int rowh) @@ -440,75 +347,30 @@ static void lane_pads(bm_gfx *g, const bm_app *a, int t, int y0, int rowh) } } -/* ------------------------------------------------------------ pestañas del canal */ -/* qué hace tocar otra vez el botón de esta página (como decide button_page) */ -static bool again_name(const bm_app *a, char *b, int cap) -{ - int t = a->track, kind = app_kind(a, t), eng = app_engine(a, t); - bool midi = app_midi(a, t); - const char *s = NULL; - switch (a->page) { - case PG_SEQ: s = bm_is_pads(t) ? "BREAK" : (kind == KIND_NOTE && !midi) ? "LOOP" : NULL; break; - case PG_BREAK: case PG_LOOP: s = "SEQ"; break; - case PG_SOUND: - if (kind == KIND_TR) s = bm_lane_pages[0].name; - else if (bm_engine_paged(eng)) { int np; const bm_ppage *pp = bm_engine_pages(eng, &np); if (np > 1) s = pp[(a->ed_page[t] + 1) % np].name; } - break; - case PG_INST: s = a->ed_page[t] + 1 < BM_LANE_PAGES ? bm_lane_pages[a->ed_page[t] + 1].name : "SOUND"; break; - case PG_MIX: s = a->mix_page ? "MIX" : (t ? "DUCK" : NULL); break; - case PG_SCL: s = "CHORDS"; break; - case PG_CHORDS: s = "SCALE"; break; - case PG_MORE: s = "BACK"; break; - case PG_PADS: { static const char *const PN[4] = {"TRIM", "SOUND", "ENV", "LOOP"}; s = PN[(a->ed_page[1] + 1) % 4]; break; } - default: break; - } - if (!s) return false; - snprintf(b, (size_t)cap, "%s %s", T("AGAIN:"), T(s)); - return true; -} - -static void draw_tabs(bm_gfx *g, const bm_app *a) -{ - if (!gfx_strip_hit(g, 24, 12)) return; - int t = a->track; - uint8_t tabs[8]; - int n = bm_app_tabs(a, t, tabs), in = 0; - for (int i = 0; i < n; i++) if (tabs[i] == a->page) in = 1; - /* 0.7: el nombre de la página actual y un punto por página (la actual, más larga). SELECT las recorre. */ - uint16_t tc = bm_track_color(t); - int xo = 4 + gfx_text(g, 4, 25, bm_page_name(a->page), in ? tc : C_WHITE, 1) + 6; - char b[24]; - if (a->oct) { snprintf(b, sizeof b, "O%c%d", a->oct < 0 ? '-' : '+', a->oct < 0 ? -a->oct : a->oct); gfx_small(g, xo, 27, b, C_YELLOW); } - int x = 236 - (n - 1) * 6 - 12; - if (again_name(a, b, sizeof b)) gfx_small(g, x - 6 - gfx_small_w(b), 27, b, C_GREY); - for (int i = 0; i < n; i++) { - bool cur = tabs[i] == a->page; - gfx_fill(g, x, 28, cur ? 10 : 3, 3, cur ? tc : C_DGREY); - x += cur ? 14 : 6; - } - gfx_hline(g, 0, 34, BM_LCD_W, C_DDGREY); -} - /* ------------------------------------------------------------ HOME: BX-1, el mezclador */ static void draw_sloop(bm_gfx *g, const bm_app *a); /* Una fila por canal: la máquina, su secuencia (pulsos para los golpes, bloques para las notas - * largas), el efecto que más usa y su volumen. SELECT (o su blanca 11-16) mueve el cursor; SEQ o EDIT - * entran, y sostener su blanca abre su tarjeta. En SLOOP, el canal del cursor en PIANO ROLL. */ + * largas), el filtro y su ganancia. SELECT (o la blanca de su canal) mueve el cursor; la blanca del canal + * del cursor entra a PLAY/REC y SEQ abre el secuenciador de la batería. En PLAY/REC, el canal del cursor + * en PIANO ROLL. */ static void draw_home(bm_gfx *g, const bm_app *a) { const bm_status *st = &a->ctx.st; char b[16]; if (a->sloop) { draw_sloop(g, a); return; } - home_pages(g, a, a->cue ? "CUE" : a->move ? (a->move < 0 ? "MOVE DARK" : "MOVE BRIGHT") : NULL, a->cue ? C_ORANGE : C_PINK); - for (int t = 0; t < BM_TRACKS; t++) { - int y = 33 + t * 16; + if (gfx_strip_hit(g, 25, 10)) { + gfx_fill(g, 2, 25, gfx_small_w("MIXER") + 4, 9, C_CYAN); + gfx_small(g, 4, 27, "MIXER", C_BLACK); + } + for (int n = 0; n < BM_TRACKS; n++) { + int t = BM_ORDER[n], y = 33 + n * 16; if (!gfx_strip_hit(g, y, 16)) continue; const bm_track *tr = &a->pat.trk[t]; uint16_t col = tr->mute ? C_DGREY : bm_track_color(t); bool sel = t == a->track; if (sel) { gfx_fill(g, 0, y, BM_LCD_W, 15, C_DDGREY); gfx_fill(g, 0, y, 2, 15, C_CYAN); } - snprintf(b, sizeof b, "%d", t + 1); + snprintf(b, sizeof b, "%d", n + 1); gfx_text(g, 5, y + 4, b, sel ? C_CYAN : C_GREY, 1); gfx_text(g, 15, y + 4, bm_track_name(a, t), tr->mute ? C_GREY : col, 1); uint32_t n = st->tn[t]; @@ -528,56 +390,23 @@ static void draw_home(bm_gfx *g, const bm_app *a) gfx_fill(g, 200, y + 9, 26, 2, C_DDGREY); gfx_fill(g, 200, y + 9, pk, 2, C_GREEN); if (tr->mute) gfx_text(g, 230, y + 4, "M", C_RED, 1); else if (a->now < a->trig_until[t]) gfx_disc(g, 233, y + 7, 3, col); - if ((st->cue_x >> t) & 1) gfx_rect(g, 227, y + 1, 12, 13, C_ORANGE); /* CUE: cambia en el próximo compás */ } } -/* La tarjeta del canal (su blanca sostenida en HOME): soltar = entrar; ALGORITHM = la máquina (T3-T6, - * con la espera de 2 s; las pesadas, una a la vez), PRESETS = su sonido. Girar algo = soltar no entra. */ -static void draw_card(bm_gfx *g, const bm_app *a) +/* ------------------------------------------------------------ SEQ: rejilla TR */ +/* OCT -/+ cambian la página de sonidos de la batería: la página va como una tecla (borde y nombre) + * para que se vea que la cambian ellos. Devuelve el ancho. */ +static int page_tag(bm_gfx *g, const bm_app *a, int xr, int y, int h, uint16_t c) { - int t = a->card - 1; - if (t < 0 || !gfx_strip_hit(g, 26, 110)) return; - uint16_t col = bm_track_color(t); - char b[40]; - gfx_fill(g, 2, 26, 236, 109, C_BLACK); - gfx_rect(g, 2, 26, 236, 109, col); - snprintf(b, sizeof b, "T%d", t + 1); - int x = 8 + gfx_text(g, 8, 30, b, col, 2) + 8; - gfx_text(g, x, 30, bm_track_name(a, t), C_WHITE, 2); - snprintf(b, sizeof b, "%s %s", T(bm_is_pads(t) ? "TAKE" : app_kind(a, t) == KIND_TR ? "KIT" : "SOUND"), bm_sound_name(a, t)); - gfx_small(g, 8, 47, b, C_GREY); - if (t < BM_TR_TRACKS) gfx_text_c(g, 120, 74, "FIXED MACHINE", C_GREY, 1); - else - for (int i = 0; i < BM_MACHINES; i++) { /* las 5 máquinas: la elegida resaltada, la que suena con > */ - int e = bm_machines[i], y = 55 + i * 11; - if (!gfx_strip_hit(g, y, 11)) continue; - int other = bm_machine_conflict(&a->pat, t, e); - bool sel = e == a->mach_sel && a->mach_trk == t, on = e == a->pat.trk[t].engine, off = other >= 0; - if (sel) gfx_fill(g, 6, y, 228, 10, off ? C_DDGREY : col); - uint16_t fg = off ? C_DGREY : sel ? C_BLACK : C_WHITE; - gfx_text(g, 10, y + 2, on ? ">" : " ", fg, 1); - gfx_text(g, 18, y + 2, bm_engine_names[e], fg, 1); - if (off) { snprintf(b, sizeof b, TF("ON T%d"), other + 1); gfx_small(g, 230 - gfx_small_w(b), y + 3, b, C_GREY); } - else if (sel && a->mach_arm == 1) { /* la espera: la barra se llena en 2 s */ - uint32_t dt = a->now - a->mach_t0; - unsigned left = dt >= BM_MACH_MS ? 0 : (unsigned)(BM_MACH_MS - dt + 99) / 100; - snprintf(b, sizeof b, TF("LOAD IN %u.%u S"), left / 10, left % 10); - gfx_small(g, 230 - gfx_small_w(b), y + 3, b, C_BLACK); - gfx_fill(g, 6, y + 9, (int)(dt >= BM_MACH_MS ? 228 : dt * 228u / BM_MACH_MS), 1, C_WHITE); - } else if (bm_engine_heavy(e)) gfx_small(g, 230 - gfx_small_w("ONE AT A TIME"), y + 3, "ONE AT A TIME", sel ? C_BLACK : C_DGREY); - } - if (gfx_strip_hit(g, 112, 22)) { - if (a->card_turn) snprintf(b, sizeof b, "%s", T("RELEASE = STAY ON MIX")); - else snprintf(b, sizeof b, TF("RELEASE = ENTER %s"), bm_track_name(a, t)); - gfx_text_c(g, 120, 113, b, C_WHITE, 1); - gfx_small(g, 120 - gfx_small_w(t < BM_TR_TRACKS ? "PRE = SOUND" : "ALG = MACHINE PRE = SOUND") / 2, 124, - t < BM_TR_TRACKS ? "PRE = SOUND" : "ALG = MACHINE PRE = SOUND", C_GREY); - } + const char *s = (a->sel_lane[a->track] & 15) >= 8 ? "OCT 9-16" : "OCT 1-8"; + int w = gfx_small_w(s) + 6; + gfx_rect(g, xr - w, y, w, h, c); + gfx_small(g, xr - w + 3, y + (h - 5) / 2, s, c); + return w; } -/* ------------------------------------------------------------ SEQ: rejilla TR */ -/* Batería: la sección que tocan las negras 1-8 (instrumentos 1-8 o 9-16, la negra 9 cambia). */ +/* Batería: 8 instrumentos por página de sonidos (1-8 o 9-16; OCT -/+ cambia) y los 16 pasos del compás + * que ves (las negras 9 y 10 cambian el compás). */ static void draw_seq_tr(bm_gfx *g, const bm_app *a) { int t = a->track, sel = a->sel_lane[t], base = (sel / 8) * 8; @@ -594,17 +423,10 @@ static void draw_seq_tr(bm_gfx *g, const bm_app *a) gfx_fill(g, 0, PY - 1, 240, 9, C_DGREY); gfx_text(g, 4, PY, b, C_YELLOW, 1); } else { - if (bm_is_pads(t)) { - char nm[40]; - const bm_pad *pd = &a->pat.pad[sel]; - snprintf(b, sizeof b, TF("PAD %d"), sel + 1); - int x = gfx_text(g, 4, PY, b, C_WHITE, 1) + 8; - if (bm_pad_ok(pd)) { bm_app_src_name(a, pd->src, nm, sizeof nm); gfx_small(g, x, PY + 1, nm, C_GREY); } - else gfx_small(g, x, PY + 1, "EMPTY", C_GREY); - } else gfx_text(g, 4, PY, bm_lane_name(a, t, sel), C_WHITE, 1); + gfx_text(g, 4, PY, bm_lane_name(a, t, sel), C_WHITE, 1); int len = tr->lane[sel].len; - snprintf(b, sizeof b, "%s P%d/%d L%d", base ? "9-16" : "1-8", a->step_page + 1, (len + 15) / 16, len); - gfx_text_r(g, 236, PY, b, C_GREY, 1); + snprintf(b, sizeof b, TF("BAR %d/%d %d STEPS"), a->step_page + 1, (len + 15) / 16, len); + page_tag(g, a, 236 - gfx_text_r(g, 236, PY, b, C_GREY, 1) - 5, PY - 1, 9, C_WHITE); } } for (int i = 0; i < 8; i++) { @@ -640,126 +462,6 @@ static void draw_seq_tr(bm_gfx *g, const bm_app *a) } } -/* SEQ de un canal de notas: piano roll de la página con el largo de cada nota (las ligadas en - * verde menta, como una sola nota larga), y los compases del canal. */ -static void draw_seq_syn(bm_gfx *g, const bm_app *a) -{ - const bm_status *st = &a->ctx.st; - int t = a->track; - const bm_track *trk = &a->pat.trk[t]; - uint16_t col = bm_track_color(t); - char b[30], c2[12]; - int len = trk->length ? trk->length : 16; - int ps = bm_app_track_step(a, t, -1); - int spb = BM_BAR_TICKS / bm_speed_tps[trk->speed % SPD_COUNT]; - if (gfx_strip_hit(g, PY, 9)) { - if (a->held_step >= 0 && a->held_long) snprintf(c2, sizeof c2, TF("STEP %02d"), a->held_step + 1); - else bm_note_str(a->last_note[t], c2, sizeof c2); - gfx_text(g, 4, PY, c2, C_WHITE, 1); - if (a->rec_free == t + 1) { - uint32_t el = a->rec_free_t0 == 0xFFFFFFFFu ? 0 : st->btick - a->rec_free_t0; - snprintf(b, sizeof b, TF("FREE REC %u.%u"), (unsigned)(el / BM_BAR_TICKS + 1), (unsigned)(el / BM_PPQN % 4 + 1)); - gfx_fill(g, 52, PY - 1, gfx_text_w(b, 1) + 4, 9, C_RED); - gfx_text(g, 54, PY, b, C_BLACK, 1); - } else if (a->oct) { snprintf(b, sizeof b, a->oct > 0 ? "OCT +%d" : "OCT %d", a->oct); gfx_small(g, 56, PY + 1, b, C_GREY); } - if (len % spb == 0) snprintf(b, sizeof b, TF("%d BARS %s"), len / spb, bm_speed_names[trk->speed % SPD_COUNT]); - else snprintf(b, sizeof b, "L%d %s", len, bm_speed_names[trk->speed % SPD_COUNT]); - gfx_text_r(g, 236, PY, b, C_GREY, 1); - } - int p0 = a->step_page * 16, lo = 127, hi = 0; - for (int s = 0; s < 16 && p0 + s < len; s++) - for (int k = 0; k < BM_EVENTS; k++) { - const bm_event *e = bm_evc(&a->pat, t, p0 + s, k); - if (bm_event_empty(e)) continue; - if (e->note < lo) lo = e->note; - if (e->note > hi) hi = e->note; - } - if (lo > hi) { lo = a->last_note[t] - 6; hi = a->last_note[t] + 6; } - while (hi - lo < 12) { hi++; if (hi - lo < 12) lo--; } - if (hi - lo > 24) lo = hi - 24; - int R = hi - lo + 1, ry = PY + 10, rh = 74, row = rh / R; - if (row < 2) row = 2; - rh = row * R; - if (gfx_strip_hit(g, ry, rh + 2)) { - for (int s = 0; s < 16; s++) { /* columnas = las 16 blancas */ - int ab = p0 + s, x = s * 15; - gfx_fill(g, x, ry, 15, rh, ab == ps ? C_DDGREY : C_BLACK); - if (ab >= len) { gfx_fill(g, x + 6, ry + rh / 2, 2, 2, C_DDGREY); continue; } - if (s % 4 == 0) gfx_vline(g, x, ry, rh, s ? C_DGREY : C_GREY); - else for (int y = ry; y < ry + rh; y += 4) gfx_fill(g, x, y, 1, 1, C_DDGREY); - if (ab == ps) gfx_fill(g, x, ry, 14, 2, C_ORANGE); - } - for (int n = lo; n <= hi; n++) - if (n % 12 == 0) gfx_hline(g, 0, ry + (hi - n) * row + row / 2, 240, C_DGREY); - for (int s = -16; s < 16; s++) { - int ab = p0 + s; - if (ab < 0 || ab >= len) continue; - for (int k = 0; k < BM_EVENTS; k++) { - const bm_event *e = bm_evc(&a->pat, t, ab, k); - if (bm_event_empty(e) || e->note < lo || e->note > hi) continue; - int l = e->len & BM_LEN_MASK; - if (l < 1) l = 1; - bool tie = (e->len & BM_LEN_TIE) || l > 1; - int x0 = s * 15 + e->micro * 15 / 24, x1 = (s + l) * 15 - 2; - if (e->len & BM_LEN_TIE) x1 += 3; - else if (e->gate) x1 = (s + l - 1) * 15 + 15 * e->gate / 100 - 1; - if (x1 <= 0) continue; - if (x0 < 0) x0 = 0; - if (x1 > 239) x1 = 239; - int y = ry + (hi - e->note) * row; - uint16_t c = e->vel >= BM_VEL_ACC ? C_WHITE : tie ? C_GREEN : col; - if (e->vel <= BM_VEL_GHOST) gfx_rect(g, x0, y, x1 - x0, row, c); - else gfx_fill(g, x0, y, x1 - x0, row - (row > 3), c); - if (s >= 0) gfx_fill(g, x0, y, 2, row, C_WHITE); - bool wk = e->prob < 100 || e->prob == BM_PROB_FILL || e->prob == BM_PROB_NOFILL; - if (wk && s >= 0) gfx_fill(g, x0 + 3, y, 2, row, C_BLACK); - } - } - if (a->held_step >= 0 && a->held_long && a->held_step / 16 == a->step_page) gfx_rect(g, (a->held_step % 16) * 15 - 1, ry, 16, rh, C_YELLOW); - if (a->rec && a->rec_step >= 0 && a->rec_step / 16 == a->step_page) gfx_rect(g, (a->rec_step % 16) * 15, ry, 15, rh, C_RED); - snprintf(b, sizeof b, "%s", bm_note_names[hi % 12]); - gfx_small(g, 236 - gfx_small_w(b), ry + 1, b, C_GREY); - bm_note_str(lo, c2, sizeof c2); - gfx_small(g, 236 - gfx_small_w(c2), ry + rh - 6, c2, C_GREY); - } - int oy = ry + rh + 3; - if (a->held_step >= 0 && a->held_long) { - if (!gfx_strip_hit(g, oy, VB - oy + 1)) return; - const bm_event *e = NULL; - for (int k = 0; k < BM_EVENTS; k++) if (!bm_event_empty(bm_evc(&a->pat, t, a->held_step, k))) { e = bm_evc(&a->pat, t, a->held_step, k); break; } - gfx_fill(g, 0, oy, 240, VB - oy + 1, C_DDGREY); - if (!e) { gfx_small(g, 4, oy + 3, "EMPTY STEP - HOLD + ANOTHER WHITE = LONG NOTE", C_GREY); return; } - int nn = 0; char notes[24] = ""; - for (int k = 0; k < BM_EVENTS; k++) { - const bm_event *x = bm_evc(&a->pat, t, a->held_step, k); - if (bm_event_empty(x)) continue; - char nb[6]; bm_note_str(x->note, nb, sizeof nb); - size_t l = strlen(notes); - snprintf(notes + l, sizeof notes - l, "%s%s", nn++ ? " " : "", nb); - } - gfx_small(g, 4, oy + 3, notes, C_WHITE); - if (e->len & BM_LEN_TIE) snprintf(b, sizeof b, "TIE"); else snprintf(b, sizeof b, TF("%d STEPS"), e->len & BM_LEN_MASK); - gfx_small(g, 120, oy + 3, b, C_GREEN); - if (e->prob == BM_PROB_FILL) snprintf(b, sizeof b, "FILL"); else if (e->prob == BM_PROB_NOFILL) snprintf(b, sizeof b, "NO FILL"); else snprintf(b, sizeof b, "%d%%", e->prob); - gfx_small(g, 180, oy + 3, b, C_YELLOW); - gfx_small(g, 4, oy + 11, "SELECT HIT - ALGORITHM PROB - PRESETS LENGTH", C_GREY); - return; - } - if (gfx_strip_hit(g, oy, VB - oy + 1)) { /* los compases del canal y el seguidor */ - int bars = (len + spb - 1) / spb; - if (bars < 1) bars = 1; - int bw = 232 / bars; - for (int k = 0; k < bars; k++) { - int x = 4 + k * bw; - bool cur = a->step_page * 16 / spb == k || (a->step_page * 16 + 15) / spb == k; - gfx_rect(g, x, oy, bw - 2, 10, cur ? col : C_DGREY); - snprintf(b, sizeof b, "%d", k + 1); - gfx_small(g, x + 2, oy + 3, b, cur ? C_WHITE : C_GREY); - } - if (ps >= 0) { int px = 4 + ps * (bw * bars) / len; gfx_fill(g, px, oy + 11, 2, 4, C_ORANGE); } - } -} - /* ------------------------------------------------------------ PIANO ROLL (0.9) * El loop entero del canal (1-4 compases) con las filas de alturas ajustadas a lo que hay (hasta 3 * octavas); a la izquierda un teclado vertical que destella con lo que suena. En la batería y los pads, @@ -819,20 +521,29 @@ static bool roll_sounding(const bm_app *a, int t, int note) return false; } -static void draw_seq_roll(bm_gfx *g, const bm_app *a, int t, int y0, int y1, bool win) +/* page >= 0: solo esa página de 16 pasos (las máquinas: cada 16 pasos, una página); -1: el loop entero */ +static void draw_seq_roll(bm_gfx *g, const bm_app *a, int t, int y0, int y1, bool win, int page) { if (!gfx_strip_hit(g, y0 - 2, y1 - y0 + 2)) return; /* el corchete va 2 filas arriba */ static uint32_t lf; /* el reparto, una vez por cuadro */ if (lf != g->frame) { lf = g->frame; roll_layout(a, t); } bool grid = bm_is_grid(&a->pat, t); uint16_t col = bm_track_color(t); - int R = grid ? rl.n : rl.hi - rl.lo + 1, L = rl.len ? rl.len : 16, H = y1 - y0; + int lo = rl.lo, hi = rl.hi; /* las máquinas: K4 corre las alturas */ + if (page >= 0 && !grid && a->bx.vy) { + int sh = bm_clampi(a->bx.vy, -lo, 127 - hi); + lo += sh; hi += sh; + } + int R = grid ? rl.n : hi - lo + 1, L = rl.len ? rl.len : 16, H = y1 - y0; if (R < 1) R = 1; int rh = bm_clampi(H / R, 2, 12), top = y0 + (H - R * rh) / 2, x0 = 15, W = 239 - x0; int spb = BM_BAR_TICKS / bm_speed_tps[a->pat.trk[t].speed % SPD_COUNT]; int ps = bm_app_track_step(a, t, grid ? (rl.n ? rl.lane[0] : 0) : -1); bool red = a->rec && a->rec_steps; -#define RX(s) (x0 + (s) * W / L) + int v0 = 0, VL = L; /* los pasos que se ven */ + if (page >= 0) { v0 = page * 16; VL = 16; win = false; } + int v1 = v0 + VL < L ? v0 + VL : L; +#define RX(s) (x0 + ((s) - v0) * W / VL) /* el fondo: los 16 pasos de las blancas en gris (con su corchete), compases y tiempos */ if (win) { int p0 = a->step_page * 16, p1 = p0 + 16 > L ? L : p0 + 16; @@ -841,11 +552,12 @@ static void draw_seq_roll(bm_gfx *g, const bm_app *a, int t, int y0, int y1, boo gfx_hline(g, RX(p0), top + R * rh + 1, RX(p1) - RX(p0) + 1, C_WHITE); gfx_vline(g, RX(p0), top - 2, 2, C_WHITE); gfx_vline(g, RX(p1), top - 2, 2, C_WHITE); } - for (int s = 0; s <= L; s++) { + if (v1 < v0 + VL) gfx_fill(g, RX(v1), top, RX(v0 + VL) - RX(v1), R * rh, C_DDGREY); /* después del largo */ + for (int s = v0; s <= v1; s++) { uint16_t c = s % spb == 0 ? C_DGREY : s % 4 == 0 ? C_DDGREY : 0; if (c) gfx_vline(g, RX(s), top, R * rh, c); } - if (ps >= 0 && ps < L) gfx_vline(g, RX(ps), top, R * rh, C_ORANGE); /* el cabezal */ + if (ps >= v0 && ps < v1) gfx_vline(g, RX(ps), top, R * rh, C_ORANGE); /* el cabezal */ for (int r = 0; r < R; r++) { int y = top + r * rh; if (!gfx_strip_hit(g, y, rh)) continue; @@ -859,7 +571,7 @@ static void draw_seq_roll(bm_gfx *g, const bm_app *a, int t, int y0, int y1, boo } const bm_tr *tr = bm_trk_trc(&a->pat, t); int ll = tr->lane[l].len ? tr->lane[l].len : 16; - for (int s = 0; s < L; s++) { + for (int s = v0; s < v1; s++) { uint8_t v = tr->st[l][s % ll]; if (!(v & ST_ON)) continue; bool mine = red && ((a->rec_steps >> (s % 64)) & 1) && ((a->rec_lanes >> l) & 1); @@ -869,7 +581,7 @@ static void draw_seq_roll(bm_gfx *g, const bm_app *a, int t, int y0, int y1, boo } continue; } - int note = rl.hi - r; /* el teclado vertical */ + int note = hi - r; /* el teclado vertical */ int pc = note % 12; bool blk = pc == 1 || pc == 3 || pc == 6 || pc == 8 || pc == 10, on = roll_sounding(a, t, note); gfx_fill(g, 0, y, blk ? 9 : 14, rh - (rh > 2), on ? col : blk ? C_DGREY : C_GREY); @@ -879,11 +591,12 @@ static void draw_seq_roll(bm_gfx *g, const bm_app *a, int t, int y0, int y1, boo for (int s = 0; s < L; s++) for (int k = 0; k < BM_EVENTS; k++) { const bm_event *e = bm_evc(&a->pat, t, s, k); - if (bm_event_empty(e) || e->note > rl.hi || e->note < rl.lo) continue; - int y = top + (rl.hi - e->note) * rh; + if (bm_event_empty(e) || e->note > hi || e->note < lo) continue; + int y = top + (hi - e->note) * rh; if (!gfx_strip_hit(g, y, rh)) continue; int l = e->len & BM_LEN_MASK; if (l < 1) l = 1; + if (s >= v0 + VL || s + l <= v0) continue; /* fuera de la página */ int xa = RX(s) + e->micro * (W / L) / 24, xb = RX(s + l) - 1; if (e->len & BM_LEN_TIE) xb += 2; else if (e->gate) xb = RX(s + l - 1) + (RX(s + l) - RX(s + l - 1)) * e->gate / 100 - 1; @@ -894,1481 +607,1209 @@ static void draw_seq_roll(bm_gfx *g, const bm_app *a, int t, int y0, int y1, boo if (e->vel <= BM_VEL_GHOST) gfx_rect(g, xa, y, xb > xa ? xb - xa : 1, rh, c); else gfx_fill(g, xa, y, xb > xa ? xb - xa : 1, rh - (rh > 3), c); } - if (a->held_step >= 0 && a->held_long && a->held_step < L) gfx_rect(g, RX(a->held_step) - 1, top, RX(a->held_step + 1) - RX(a->held_step) + 2, R * rh, C_YELLOW); + if (page < 0 && a->held_step >= 0 && a->held_long && a->held_step < L) gfx_rect(g, RX(a->held_step) - 1, top, RX(a->held_step + 1) - RX(a->held_step) + 2, R * rh, C_YELLOW); + } + if (page >= 0 && mach_step_mode(a)) { /* paso a paso: el paso que se escribe */ + int cs = a->bx.step % L; + if (cs >= v0 && cs < v1) { + gfx_rect(g, RX(cs), top - 2, RX(cs + 1) - RX(cs) + 1, R * rh + 4, C_YELLOW); + gfx_rect(g, RX(cs) + 1, top - 1, RX(cs + 1) - RX(cs) - 1, R * rh + 2, C_YELLOW); + } } #undef RX } -/* SEQ de un canal de notas con VIEW = PIANO ROLL: las mismas teclas que NOTES (las blancas son los 16 - * pasos del corchete, B9/B10 lo mueven, B1-B8 los grados), el dibujo es el loop entero. */ -static void draw_seq_pianoroll(bm_gfx *g, const bm_app *a) -{ - int t = a->track; - const bm_track *trk = &a->pat.trk[t]; - if (gfx_strip_hit(g, PY, 9)) { - char b[30], c2[12]; - int len = trk->length ? trk->length : 16, spb = BM_BAR_TICKS / bm_speed_tps[trk->speed % SPD_COUNT]; - if (a->held_step >= 0 && a->held_long) snprintf(c2, sizeof c2, TF("STEP %02d"), a->held_step + 1); - else bm_note_str(a->last_note[t], c2, sizeof c2); - gfx_text(g, 4, PY, c2, C_WHITE, 1); - snprintf(b, sizeof b, TF("STEPS %d-%d"), a->step_page * 16 + 1, a->step_page * 16 + 16 > len ? len : a->step_page * 16 + 16); - gfx_small(g, 56, PY + 1, b, C_CYAN); - if (len % spb == 0) snprintf(b, sizeof b, TF("%d BARS %s"), len / spb, bm_speed_names[trk->speed % SPD_COUNT]); - else snprintf(b, sizeof b, "L%d %s", len, bm_speed_names[trk->speed % SPD_COUNT]); - gfx_text_r(g, 236, PY, b, C_GREY, 1); - } - draw_seq_roll(g, a, t, PY + 12, VB, true); -} +/* V_MACH SEQ: la página de 16 pasos que se ve: la del cabezal sonando, la del cursor parado */ +static int mach_roll_page(const bm_app *a, int t) { (void)t; return mach_view_page(a); } -/* SLOOP-REC en la consola: el canal del cursor en PIANO ROLL, las teclas lo tocan */ +/* PLAY/REC: el canal del cursor en PIANO ROLL; el teclado lo toca (y, con REC, lo sobregraba) */ static void draw_sloop(bm_gfx *g, const bm_app *a) { int t = a->track; if (gfx_strip_hit(g, 25, 10)) { char b[32]; gfx_fill(g, 0, 25, BM_LCD_W, 10, a->rec ? C_RED : C_DGREY); - snprintf(b, sizeof b, TF("SLOOP T%d %s"), t + 1, bm_track_name(a, t)); + snprintf(b, sizeof b, TF("%s T%d %s"), a->rec ? "REC" : "PLAY", app_pos(t) + 1, bm_track_name(a, t)); gfx_text(g, 4, 26, b, C_BLACK, 1); - if (a->rec_free == t + 1) snprintf(b, sizeof b, "%s", T("FREE REC")); - else if (app_kind(a, t) == KIND_NOTE) snprintf(b, sizeof b, a->oct > 0 ? "OCT +%d" : "OCT %d", a->oct); /* el snprintf del SDK no tiene %+d */ - else snprintf(b, sizeof b, "%s", T("B1 = ACCENT")); + if (app_kind(a, t) == KIND_NOTE) snprintf(b, sizeof b, a->oct > 0 ? "OCT +%d" : "OCT %d", a->oct); /* el snprintf del SDK no tiene %+d */ + else if (bm_is_tr(&a->pat, t)) /* batería: OCT sostenidos = golpes suaves / fuertes */ + snprintf(b, sizeof b, "%s", T(bm_gesture_is_down(&a->ges, BTN_OCT_UP) ? "HARD" : bm_gesture_is_down(&a->ges, BTN_OCT_DN) ? "SOFT" : "OCT- SOFT OCT+ HARD")); + else b[0] = 0; gfx_text_r(g, 236, 26, b, C_BLACK, 1); } - draw_seq_roll(g, a, t, 39, VB, false); + draw_seq_roll(g, a, t, 39, VB, false, -1); } -/* ------------------------------------------------------------ SONIDO */ -/* BB-303: dos ciclos de la forma de onda, y el filtro como una curva. */ -static void draw_synth(bm_gfx *g, const bm_app *a, int t, int x0, int y0, int w, int h) +/* GLO del mezclador > SELECT MACHINE: T1 y T2 fijos; en T3-T6, ALGORITHM elige (2 s en una la carga) */ +static void mach_list(bm_gfx *g, const bm_app *a, int y0, int rh); + +static void draw_glo(bm_gfx *g, const bm_app *a) { - const bm_track *tr = &a->pat.trk[t]; - gfx_rect(g, x0, y0, w, h, C_DDGREY); - grid(g, x0 + 2, y0 + 2, w - 4, h - 4, 8); - gfx_hline(g, x0 + 1, y0 + h / 2, w - 2, C_DDGREY); - int sq = a->pat.prm[t][AC_WAVE] & 1; - int py = -1, cw = (w - 4) / 2; - for (int x = 0; x < w - 4; x++) { - int ph = (x % cw) * 256 / cw, s = sq ? (ph < 128 ? 100 : -100) : 127 - ph; - int y = y0 + h / 2 - s * (h / 2 - 6) / 128; - if (py >= 0) gfx_line(g, x0 + 1 + x, py, x0 + 2 + x, y, C_CYAN); - py = y; + char b[30]; + static const char *const PG[BM_GLO_PAGES] = {"SELECT MACHINE", "TEMPO AND SCALE", "MASTER FX"}; + if (gfx_strip_hit(g, 25, 10)) { + gfx_fill(g, 2, 25, gfx_small_w("GLO") + 4, 9, C_CYAN); + gfx_small(g, 4, 27, "GLO", C_BLACK); + snprintf(b, sizeof b, "%s %d/%d", T(PG[a->glo_page % BM_GLO_PAGES]), a->glo_page % BM_GLO_PAGES + 1, BM_GLO_PAGES); + gfx_small(g, 236 - gfx_small_w(b), 27, b, C_WHITE); + } + if (a->glo_page) { /* TEMPO / MASTER FX: las cuatro perillas en lista */ + mach_list(g, a, 40, 38); + return; } - int fx = x0 + 4 + tr->macro[0] * (w - 30) / 127, peak = tr->macro[1] * 14 / 127; - for (int x = x0 + 4; x < x0 + w - 4; x++) { - int y = x < fx - 12 ? y0 + 8 : x < fx ? y0 + 8 - peak * (x - fx + 12) / 12 : y0 + 8 + (x - fx) * 2 / 3; - if (y < y0 + h - 2) gfx_fill(g, x, bm_clampi(y, y0 + 1, y0 + h - 2), 1, 2, C_ORANGE); + for (int n = 0; n < BM_TRACKS; n++) { + int t = BM_ORDER[n], y = PY + 2 + n * 13; + if (!gfx_strip_hit(g, y, 13)) continue; + bool sel = t == a->track, fixed = app_fixed(t); + uint16_t col = bm_track_color(t); + if (sel) { gfx_fill(g, 0, y, BM_LCD_W, 12, C_DDGREY); gfx_fill(g, 0, y, 2, 12, C_CYAN); } + snprintf(b, sizeof b, "T%d", n + 1); + gfx_text(g, 6, y + 2, b, fixed ? C_GREY : col, 1); + int e = sel && a->mach_trk == t ? a->mach_sel : a->pat.trk[t].engine; + int other = fixed ? -1 : bm_machine_conflict(&a->pat, t, e); + bool pending = sel && a->mach_trk == t && e != a->pat.trk[t].engine; + snprintf(b, sizeof b, pending ? "< %s >" : "%s", bm_engine_names[e % ENG_COUNT]); + gfx_text(g, 28, y + 2, b, fixed ? C_GREY : other >= 0 ? C_DGREY : sel ? C_WHITE : C_GREY, 1); + if (fixed) gfx_small(g, 236 - gfx_small_w("FIXED"), y + 3, "FIXED", C_DGREY); + else if (other >= 0) { snprintf(b, sizeof b, TF("ON T%d"), app_pos(other) + 1); gfx_small(g, 236 - gfx_small_w(b), y + 3, b, C_GREY); } + else if (pending && a->mach_arm == 1) { + uint32_t dt = a->now - a->mach_t0; + unsigned left = dt >= BM_MACH_MS ? 0 : (unsigned)(BM_MACH_MS - dt + 99) / 100; + snprintf(b, sizeof b, TF("LOAD IN %u.%u S"), left / 10, left % 10); + gfx_small(g, 236 - gfx_small_w(b), y + 3, b, C_YELLOW); + gfx_fill(g, 2, y + 11, (int)(dt >= BM_MACH_MS ? 236 : dt * 236u / BM_MACH_MS), 1, C_WHITE); + } else if (!pending) gfx_small(g, 236 - gfx_small_w(bm_machine_origin(e)), y + 3, bm_machine_origin(e), C_DGREY); } } -/* BX-7: la topología del algoritmo como en una DX7: portadoras abajo, moduladores encima, la - * realimentación como un lazo. Cada operador con su nivel y su relación de frecuencia. */ -static void draw_fm(bm_gfx *g, const bm_app *a, int t, int x0, int y0, int w, int h) + +/* ------------------------------------------------------------ globales */ +enum { SYS_ROWS = 11 }; +static void sys_val(const bm_app *a, int i, char *v, int cap) { - if (!gfx_strip_hit(g, y0, h + 1)) return; - /* el patch y la topología, una vez por cuadro (no una por franja) */ - static struct { uint32_t frame; int t, alg, bx[6], by[6]; uint8_t p[BM_FM_PATCH], car, mods[6]; int8_t fb[2]; } L; - if (L.frame != g->frame || L.t != t) { - L.frame = g->frame; L.t = t; - uint8_t *p = L.p, *mods = L.mods; - bm_fm_patch_of(&a->pat.trk[t], a->pat.prm[t], NULL, p); - int alg = L.alg = p[BM_FM_ALG] & 31; - uint8_t car = L.car = bm_fm_carriers(alg); - bm_fm_alg_graph(alg, mods, L.fb); - /* profundidad: las portadoras en 0; un modulador, uno más que su destino */ - int depth[6] = {0, 0, 0, 0, 0, 0}, maxd = 0; - for (int it = 0; it < 6; it++) - for (int i = 0; i < 6; i++) - for (int j = 0; j < 6; j++) - if (mods[j] & (1u << i)) if (depth[i] < depth[j] + 1) depth[i] = depth[j] + 1; - for (int i = 0; i < 6; i++) if (depth[i] > maxd) maxd = depth[i]; - /* columnas: las portadoras de izquierda a derecha (OP1 primero), sus cadenas encima */ - float cx[6]; int placed[6] = {0, 0, 0, 0, 0, 0}, col = 0; - for (int pass = 0; pass < 2; pass++) - for (int op = 1; op <= 6; op++) { - int i = 6 - op; - if (placed[i]) continue; - bool carrier = (car >> i) & 1; - if (pass == 0 && !carrier) continue; - int tgt = -1; - for (int j = 0; j < 6; j++) if (mods[j] & (1u << i)) { tgt = j; break; } - if (tgt >= 0 && placed[tgt]) { - int sib = 0; /* hermanos ya puestos sobre el mismo destino */ - for (int k = 0; k < 6; k++) if (k != i && placed[k] && (mods[tgt] & (1u << k))) sib++; - cx[i] = cx[tgt] + (float)sib; - if (sib) { cx[i] = (float)col; col++; } - } else { cx[i] = (float)col; col++; } - placed[i] = 1; - } - int ncol = col > 0 ? col : 1; - float cw = (float)(w - 8) / (float)ncol; - int rh = (h - 18) / (maxd + 1); - if (rh > 22) rh = 22; - for (int i = 0; i < 6; i++) { - L.bx[i] = x0 + 4 + (int)(cx[i] * cw + cw / 2.0f) - 9; - L.by[i] = y0 + h - 18 - depth[i] * rh - 12; - } - } - const uint8_t *p = L.p, *mods = L.mods, car = L.car; - const int8_t *fb = L.fb; - const int *bx = L.bx, *by = L.by, alg = L.alg; - gfx_rect(g, x0, y0, w, h, C_DDGREY); - grid(g, x0 + 2, y0 + 2, w - 4, h - 4, 8); - uint16_t tc = bm_track_color(t); - for (int j = 0; j < 6; j++) /* conexiones */ - for (int i = 0; i < 6; i++) - if (mods[j] & (1u << i)) gfx_line(g, bx[i] + 9, by[i] + 12, bx[j] + 9, by[j], C_GREY); - for (int i = 0; i < 6; i++) if ((car >> i) & 1) gfx_vline(g, bx[i] + 9, by[i] + 12, y0 + h - 14 - by[i] - 12, C_GREY); - gfx_hline(g, x0 + 4, y0 + h - 14, w - 8, C_DGREY); - if (fb[0] >= 0 && fb[1] >= 0) { /* la realimentación */ - int a0 = fb[0], a1 = fb[1]; - int xr = bx[a0] + 20; - gfx_hline(g, bx[a0] + 18, by[a0] + 6, 4, C_ORANGE); - gfx_vline(g, xr, by[a1] - 3, by[a0] + 6 - (by[a1] - 3) + 1, C_ORANGE); - gfx_hline(g, bx[a1] + 9, by[a1] - 3, xr - bx[a1] - 9, C_ORANGE); - gfx_vline(g, bx[a1] + 9, by[a1] - 3, 3, C_ORANGE); - } - char b[12]; - for (int i = 0; i < 6; i++) { - const uint8_t *o = p + i * BM_FM_OP; - bool c = (car >> i) & 1; - int lv = o[FMO_OL] * 16 / 99; - gfx_fill(g, bx[i], by[i], 18, 12, c ? tc : C_DGREY); - gfx_fill(g, bx[i], by[i] + 12 - lv * 12 / 16, 2, lv * 12 / 16, C_WHITE); /* nivel */ - snprintf(b, sizeof b, "%d", 6 - i); - gfx_text(g, bx[i] + 7, by[i] + 3, b, c ? C_BLACK : C_WHITE, 1); + const bm_settings *s = &a->set; + size_t n = (size_t)cap; + switch (i) { + case 0: snprintf(v, n, "%s", s->clock ? "EXTERNAL" : "INTERNAL"); break; + case 1: snprintf(v, n, "%s", s->sync_mode ? "SPLIT L/R" : "STEREO"); break; + case 2: snprintf(v, n, "%d PPQN", s->sync_ppqn); break; + case 3: snprintf(v, n, "%d MS", s->sync_lat); break; + case 4: snprintf(v, n, "%s", s->autosave ? "ON" : "OFF"); break; + case 5: snprintf(v, n, "%s", s->led_dim == 0 ? "OFF" : (s->led_dim == 1 ? "DIM" : "MEDIUM")); break; + case 6: snprintf(v, n, "%s", s->fast_lcd ? "ON (TEST)" : "OFF"); break; + case 7: snprintf(v, n, "%s", s->dual_core ? "ON (TEST)" : "OFF"); break; + case 8: { + int nt = 0; for (int k = 0; k < BM_TAKES; k++) nt += a->take[k].valid; + unsigned fs = (unsigned)(bm_takes_free(a->take) * 10u / BM_SMP_RATE); + snprintf(v, n, TF("%d+%d, FREE %u.%uS"), nt, bm_snaps_user_n(), fs / 10, fs % 10); + break; } - snprintf(b, sizeof b, "ALG %d", alg + 1); - gfx_text(g, x0 + 4, y0 + h - 10, b, C_ORANGE, 1); - snprintf(b, sizeof b, "FB %d", p[BM_FM_FB]); - gfx_small(g, x0 + 56, y0 + h - 9, b, C_ORANGE); - for (int i = 0; i < 6; i++) { /* relaciones de frecuencia, OP1..OP6 */ - const uint8_t *o = p + (5 - i) * BM_FM_OP; - int fc = o[FMO_FC], ff = o[FMO_FF]; - if (o[FMO_MODE]) snprintf(b, sizeof b, "FX"); - else { int r100 = (fc ? fc * 100 : 50) * (100 + ff) / 100; if (r100 % 100) snprintf(b, sizeof b, "%d.%d", r100 / 100, r100 % 100 / 10); else snprintf(b, sizeof b, "%d", r100 / 100); } - gfx_small(g, x0 + 86 + i * 24, y0 + h - 9, b, C_GREY); + case 9: snprintf(v, n, "%s", bm_lang_name()); break; + default: snprintf(v, n, "%s", BM_VERSION_STR); break; } } -/* La onda espejada, como en un sampler: el pico en el tono oscuro y el RMS encima, a todo color. */ -static void draw_wave(bm_gfx *g, const uint8_t wave[2][232], int x0, int y, int w, int h, int c0, int c1, - int hl0, int hl1, uint16_t col, uint16_t hcol) +static void draw_system(bm_gfx *g, const bm_app *a) { - int mid = y + h / 2, half = h / 2 - 1; - for (int x = 0; x < w - 2; x++) { - int c = c0 + (c1 - c0) * x / (w - 2); - if (c < 0 || c >= 232) continue; - bool hi = c >= hl0 && c < hl1; - uint16_t k = hi ? hcol : col; - int p = wave[0][c] * half / 255, r = wave[1][c] * half / 255; - if (p > 0) gfx_vline(g, x0 + 1 + x, mid - p, 2 * p + 1, hi ? C_GREY : dim(k)); - if (r > 0) gfx_vline(g, x0 + 1 + x, mid - r, 2 * r + 1, k); - else gfx_vline(g, x0 + 1 + x, mid, 1, dim(k)); + enum { NR = SYS_ROWS }; + char v[20]; + static const char *const L[NR] = {"CLOCK", "SYNC OUT", "SYNC PPQN", "SYNC LATENCY", "AUTOSAVE", "IDLE LEDS", "FAST SCREEN", "TWO CORES", + "TAKES+SOUNDS", N_("LANGUAGE"), "VERSION"}; + for (int i = 0; i < BM_SYS_VIS; i++) { /* solo lo básico (2026-10-21) */ + int r = BM_SYS_ROWS[i]; + if (!gfx_strip_hit(g, 30 + i * 14, 14)) continue; + sys_val(a, r, v, sizeof v); + row(g, 30 + i * 14, i == a->menu_row, T(L[r]), v); } } -/* ------------------------------------------------------------ BP-1: sampler de pads (T2) */ -static void take_map(bm_gfx *g, const bm_app *a, int src, uint32_t len, int y, int h, int hl) +static void draw_save(bm_gfx *g, const bm_app *a) { - if (!gfx_strip_hit(g, y, h + 1) || !len) return; - uint16_t col = bm_track_color(1); - const bm_pad *ph = hl >= 0 ? &a->pat.pad[hl] : NULL; - int s0 = ph ? (int)((uint64_t)ph->start * 232u / len) : -1, s1 = ph ? (int)((uint64_t)(ph->start + ph->len) * 232u / len) : -1; - gfx_fill(g, 4, y, 232, h, C_DDGREY); - for (int x = 0; x < 232; x++) { - int p = a->wave_ov[x] * (h / 2 - 1) / 255; - gfx_vline(g, 4 + x, y + h / 2 - p, 2 * p + 1, x >= s0 && x < s1 ? col : C_GREY); - } - for (int i = 0; i < BM_LANES; i++) { - const bm_pad *p = &a->pat.pad[i]; - if (!bm_pad_ok(p) || p->src != src) continue; - int x0 = 4 + (int)((uint64_t)p->start * 231u / len), x1 = 4 + (int)((uint64_t)(p->start + p->len) * 231u / len); - gfx_hline(g, x0, y, x1 - x0 > 1 ? x1 - x0 : 1, i == hl ? C_WHITE : dim(col)); - gfx_vline(g, x0, y, 3, i == hl ? C_WHITE : C_GREY); - } - if (a->cut_v1 > a->cut_v0 && a->cut_v1 - a->cut_v0 < len) { - int v0 = (int)((uint64_t)a->cut_v0 * 232u / len), v1 = (int)((uint64_t)a->cut_v1 * 232u / len); - gfx_rect(g, 4 + v0, y, v1 - v0 > 2 ? v1 - v0 : 2, h, C_WHITE); + char r0[24], r1[24], r4[24]; + snprintf(r0, sizeof r0, "A%02d", a->ctx.st.pattern + 1); + snprintf(r1, sizeof r1, "A%02d", a->save_target + 1); + snprintf(r4, sizeof r4, "%d", bm_pattern_count_events(&a->pat)); + header(g, "SAVE", a->dirty ? "UNSAVED" : "SAVED", C_WHITE); + row(g, 50, a->save_row == 0, "SAVE", r0); + row(g, 66, a->save_row == 1, "SAVE AS", r1); + row(g, 82, a->save_row == 2, a->clear_armed ? "CLEAR? SAVE AGAIN" : "CLEAR PATTERN", NULL); + (void)r4; + gfx_small(g, 4, 122, a->ctx.st.playing ? "ONLY WHEN STOPPED (CUTS AUDIO)" : "ONLY WHEN STOPPED - SAVE 2 S: QUICK SAVE", a->ctx.st.playing ? C_ORANGE : C_GREY); +} + +/* ------------------------------------------------------------ el sonido de la batería (ENV y EDIT) */ +/* El instrumento elegido y su golpe dibujado (como en 0.9): la onda espejada que dura lo que DECAY y + * oscila con TUNE sobre el tono del modelo. Se calcula solo cuando cambia (expf y sinf por x). */ +#define HIT_W 228 +static int16_t hit_y[HIT_W]; +static uint8_t hit_key[4]; +static int hit_hz; + +static void hit_seg(bm_gfx *g, int xa, int ya, int xb, int yb, uint16_t c) +{ + if ((ya > yb ? ya : yb) < g->cy0 || (ya < yb ? ya : yb) >= g->cy1) return; + gfx_line(g, xa, ya, xb, yb, c); +} + +static void draw_hit(bm_gfx *g, const bm_app *a, int y0, int h) +{ + int t = a->track, lane = a->sel_lane[t] & 15; + const bm_lane *ln = &bm_trk_trc(&a->pat, t)->lane[lane]; + int model = ln->model % DRM_COUNT; + uint16_t col = bm_track_color(t); + char b[32]; + if (gfx_strip_hit(g, y0, 9)) { + snprintf(b, sizeof b, "%d %s - %s", lane + 1, T(bm_lane_name(a, t, lane)), T(bm_drm_names[model])); + gfx_text(g, 4, y0, b, C_WHITE, 1); } - const bm_status *st = &a->ctx.st; - if (st->smp_pos_src == src && st->smp_pos < len) gfx_vline(g, 4 + (int)((uint64_t)st->smp_pos * 231u / len), y, h, C_ORANGE); + int x0 = 6, wy = y0 + 13, wh = h - 13, mid = wy + wh / 2; + if (!gfx_strip_hit(g, wy - 2, wh + 4)) return; + gfx_rect(g, x0 - 2, wy - 2, HIT_W + 4, wh + 4, C_DDGREY); + gfx_hline(g, x0, mid, HIT_W, C_DDGREY); + int dec = 6 + ln->decay * (HIT_W - 12) / 127, n = dec < HIT_W ? dec : HIT_W; + const uint8_t key[4] = {(uint8_t)model, ln->tune, (uint8_t)dec, (uint8_t)wh}; + if (memcmp(key, hit_key, sizeof key)) { + memcpy(hit_key, key, sizeof key); + float hz = (float)bm_drm_base_hz[model] * exp2f((float)(ln->tune - 64) * 0.375f / 12.0f); + for (int x = 0; x < n; x++) + hit_y[x] = (int16_t)(sinf((float)x * 0.12f * hz / 300.0f) * expf(-4.0f * (float)x / (float)dec) * (float)(wh / 2 - 3)); + hit_hz = (int)(hz + 0.5f); + } + for (int x = 1; x < n; x++) { + hit_seg(g, x0 + x - 1, mid - hit_y[x - 1], x0 + x, mid - hit_y[x], col); + hit_seg(g, x0 + x - 1, mid + hit_y[x - 1], x0 + x, mid + hit_y[x], dim(col)); + } + snprintf(b, sizeof b, "%d HZ", hit_hz); + gfx_small(g, x0 + HIT_W - gfx_small_w(b) - 2, wy + 2, b, C_GREY); } -/* PADS: el editor del pad elegido, como un KO II o un OP-1 field. Arriba el mapa de su toma; en - * el medio la onda grande con el pad entre corchetes cian y su loop (sustain) en verde menta. */ -static void draw_pads(bm_gfx *g, const bm_app *a) +/* ------------------------------------------------------------ capas: lo que hace cada tecla */ +/* ACENTOS y REPETIR: los pasos del compás del instrumento elegido, cada uno encima de su blanca + * (mismo ancho que la franja de teclas), para ver qué paso estás tocando. Con golpe: el color del + * canal; con acento (o repetición): blanco (o amarillo) y su marca; el que suena, subrayado. */ +static void draw_steps_ref(bm_gfx *g, const bm_app *a, int y0) { - PASO(12); - int sel = a->sel_lane[1] & 15, page = a->ed_page[1] % 4; - const bm_pad *p = &a->pat.pad[sel]; - const bm_status *st = &a->ctx.st; - uint16_t col = bm_track_color(1); - char b[40]; - bool ok = bm_pad_ok(p) && a->cut_wlen; - uint32_t len = a->cut_wlen; - if (gfx_strip_hit(g, PY, 9)) { - snprintf(b, sizeof b, TF("PAD %d"), sel + 1); - int x = gfx_text(g, 4, PY, b, C_WHITE, 1) + 10; - if (ok) { bm_app_src_name(a, p->src, b, sizeof b); gfx_small(g, x, PY + 1, b, C_GREY); } - static const char *const PG[4] = {N_("TRIM"), N_("SOUND"), N_("ENV"), N_("LOOP")}; - int xr = 236; - for (int i = 3; i >= 0; i--) { - xr -= gfx_small_w(PG[i]); - gfx_small(g, xr, PY + 1, PG[i], i == page ? C_ORANGE : C_GREY); - xr -= 6; + int t = a->track, lane = a->sel_lane[t] & 15; + const bm_tr *tr = bm_trk_trc(&a->pat, t); + uint16_t col = bm_track_color(t); + int len = tr->lane[lane].len, rep = a->layer == L_REP; + char b[24]; + if (gfx_strip_hit(g, y0, 9)) { + snprintf(b, sizeof b, "%d %s", lane + 1, T(bm_lane_name(a, t, lane))); + gfx_text(g, 4, y0, b, col, 1); + snprintf(b, sizeof b, TF("BAR %d/%d"), a->step_page + 1, (len + 15) / 16); + gfx_text_r(g, 236, y0, b, C_GREY, 1); + } + /* los otros instrumentos de la página en gris, una línea fina cada uno: para acentuar sabiendo + * dónde caen el bombo o la caja (pedido del usuario 2026-10-21) */ + int base = (lane / 8) * 8, gy = y0 + 11; + for (int i = 0; i < 8; i++) { + int l = base + i, ry = gy + i * 3; + if (l == lane || !gfx_strip_hit(g, ry, 2)) continue; + int ll = tr->lane[l].len ? tr->lane[l].len : 16; + for (int w = 0; w < 16; w++) { + int s = a->step_page * 16 + w; + if (s < ll && (tr->st[l][s] & ST_ON)) gfx_fill(g, w * 15 + 1, ry, 12, 2, C_DGREY); } } - if (!ok) { - if (gfx_strip_hit(g, PY + 24, 40)) { - gfx_text_c(g, 120, PY + 28, "EMPTY PAD", C_WHITE, 1); - gfx_small(g, 120 - gfx_small_w("TAKES (HOLD EDIT): BLACK 1 = KIT FROM A TAKE") / 2, PY + 44, "TAKES (HOLD EDIT): BLACK 1 = KIT FROM A TAKE", C_GREY); - gfx_small(g, 120 - gfx_small_w("BLACK 4 = THE TAKE ON THIS PAD") / 2, PY + 52, "BLACK 4 = THE TAKE ON THIS PAD", C_GREY); + int y = gy + 26, h = 22; + if (!gfx_strip_hit(g, y, h + 3)) return; + int ps = bm_app_track_step(a, t, lane); + for (int w = 0; w < 16; w++) { + int s = a->step_page * 16 + w, x = w * 15; + if (s >= len) { gfx_fill(g, x + 6, y + h / 2, 2, 2, C_DDGREY); continue; } + uint8_t v = tr->st[lane][s]; + int rat = (v & ST_FLAM) ? 4 : (v & ST_RAT_MASK) >> ST_RAT_SH; + bool on = (v & ST_ON) != 0, mark = on && (rep ? rat != 0 : (v & ST_ACC) != 0); + if (on) gfx_fill(g, x, y, 14, h, mark ? (rep ? C_YELLOW : C_WHITE) : dim(col)); + else gfx_rect(g, x, y, 14, h, w % 4 == 0 ? C_DGREY : C_DDGREY); + snprintf(b, sizeof b, "%d", s + 1); + gfx_small(g, x + (14 - gfx_small_w(b)) / 2 + 1, y + 3, b, mark ? C_BLACK : on ? C_WHITE : C_DGREY); + if (mark) { + static const char *const R[5] = {"", "X2", "X3", "X4", "FL"}; + const char *m = rep ? R[rat] : "A"; + gfx_small(g, x + (14 - gfx_small_w(m)) / 2 + 1, y + 13, m, C_BLACK); } - hint_s(g, VB - 6, "WHITE = PLAY AND PICK A PAD - PRESETS = ITS TAKE"); - return; + if (s == ps) gfx_fill(g, x, y + h + 1, 14, 2, C_ORANGE); } - take_map(g, a, p->src, len, PY + 10, 9, sel); - int wy = PY + 21, wh = 58; - uint32_t v0 = a->cut_v0, v1 = a->cut_v1 > a->cut_v0 ? a->cut_v1 : len, span = v1 - v0; -#define VX(q) (5 + (int)(((int64_t)(q) - (int64_t)v0) * 230 / (int64_t)span)) - if (gfx_strip_hit(g, wy, wh + 1)) { - uint32_t a0 = p->start, a1 = (uint32_t)p->start + p->len; - int bx0 = bm_clampi(VX(a0), 4, 236), bx1 = bm_clampi(VX(a1), 4, 236); - if (bx1 > bx0) gfx_fill(g, bx0, wy, bx1 - bx0, wh, C_DDGREY); - gfx_hline(g, 4, wy + wh / 2, 232, C_DDGREY); - int hl0 = (int)(((int64_t)a0 - v0) * 232 / (int64_t)span), hl1 = (int)(((int64_t)a1 - v0) * 232 / (int64_t)span); - draw_wave(g, a->wave_cut, 4, wy, 232, wh, 0, 232, hl0, hl1, dim(col), C_CYAN); - if (p->mode == PAD_LOOP && (bm_pad_has_loop(p) || page == 3)) { /* el loop de sustain */ - uint32_t l0 = p->start + bm_pad_loop_start(p), l1 = p->start + bm_pad_loop_end(p); - int lx0 = bm_clampi(VX(l0), 4, 236), lx1 = bm_clampi(VX(l1), 4, 236); - gfx_fill(g, lx0, wy + wh - 3, lx1 - lx0 > 1 ? lx1 - lx0 : 1, 3, C_GREEN); - gfx_small(g, lx0 + 2, wy + wh - 10, "LOOP", C_GREEN); - } - if (a->cut_snap) { - uint32_t bpm = a->take[p->src].bpm_x10 ? a->take[p->src].bpm_x10 : a->pat.meta.bpm_x10; - uint32_t snap = (uint32_t)BM_SMP_RATE * (a->cut_snap == 1 ? 150u : 300u) / bpm; - if (snap && span / snap < 116) - for (uint32_t q = (v0 + snap - 1) / snap * snap; q < v1; q += snap) gfx_vline(g, VX(q), wy + wh - 4, 4, C_GREY); - } - for (int i = 0; i < BM_LANES; i++) { - const bm_pad *o = &a->pat.pad[i]; - if (i == sel || !bm_pad_ok(o) || o->src != p->src || o->start < v0 || o->start >= v1) continue; - int x = VX(o->start); - gfx_vline(g, x, wy, wh, C_DGREY); - snprintf(b, sizeof b, "%d", i + 1); - gfx_small(g, x + 2, wy + 2, b, C_GREY); - } - if (a0 >= v0 && a0 < v1) { - int x = VX(a0); - gfx_vline(g, x, wy, wh, C_CYAN); gfx_hline(g, x, wy, 5, C_CYAN); gfx_hline(g, x, wy + wh - 1, 5, C_CYAN); - gfx_fill(g, x, wy + 2, 9, 7, C_CYAN); - snprintf(b, sizeof b, "%d", sel + 1); - gfx_small(g, x + 2, wy + 3, b, C_BLACK); - } - if (a1 > v0 && a1 <= v1) { - int x = VX(a1) - 1; - gfx_vline(g, x, wy, wh, C_CYAN); gfx_hline(g, x - 4, wy, 5, C_CYAN); gfx_hline(g, x - 4, wy + wh - 1, 5, C_CYAN); - } - if (st->smp_pos_src == p->src && st->smp_pos >= v0 && st->smp_pos < v1) gfx_vline(g, VX(st->smp_pos), wy, wh, C_ORANGE); - } -#undef VX - PASO(14); - if (gfx_strip_hit(g, wy + wh + 2, 6)) { - unsigned ms = (unsigned)((uint32_t)p->len * 1000u / BM_SMP_RATE); - snprintf(b, sizeof b, "%s %+d ST %u MS%s%s", T(bm_pad_mode_name(p->mode)), p->pitch - 24, ms, - (p->flags & PAD_REV) ? " REV" : "", (p->flags & PAD_TEMPO) ? " SYNC" : ""); - gfx_small(g, 4, wy + wh + 2, b, C_WHITE); - snprintf(b, sizeof b, "X%d", 1 << (a->cut_zoom & 3)); - gfx_small(g, 236 - gfx_small_w(b), wy + wh + 2, b, C_GREY); - } - PASO(15); - bool holding = a->pad_key >= 0 && a->keys_down[a->pad_key]; - static const char *const HL[4] = {N_("K1 START - K2 END - EDIT = SOUND, ENV, LOOP"), N_("K3 PLAY: ONESHOT, KEY, THRU OR LOOP"), N_("ATTACK, RELEASE, CHOKE GROUP, TEMPO SYNC"), - N_("HELD: THE LOOP REPEATS - RELEASED: TO THE END")}; - hint_s(g, VB - 6, holding ? "HELD: KEY, THRU AND LOOP KEEP PLAYING" : HL[page]); } -/* BREAK: la fila YOU (lo que programaste) y la fila PLAYS (lo que BREAK hace sonar este compás). */ -static void draw_break(bm_gfx *g, const bm_app *a) +/* LENGTH AND SPEED (Slicer): los 8 pads de la página, cada uno con su largo (una barra de 1 a 64 + * pasos, con los compases marcados); el elegido encendido */ +static void lane_lengths(bm_gfx *g, const bm_app *a, int y0) { - const bm_status *st = &a->ctx.st; - const bm_track *tk = &a->pat.trk[1]; - const bm_tr *tr = &a->pat.tr[1]; - uint16_t col = bm_track_color(1); - char b[30]; - bool on = tk->gen[0] || tk->gen[2] || tk->gen[3]; - if (gfx_strip_hit(g, PY, 9)) gfx_text(g, 4, PY, on ? "THE GRID, VARIED EVERY BAR" : "ALL AT 0: THE GRID AS IS", on ? C_WHITE : C_GREY, 1); - uint32_t blk = st->gen_blk; - int cur = st->playing ? (int)(st->tn[1] % 16u) : -1; - int ty = PY + 18, sy = PY + 46; - if (gfx_strip_hit(g, ty - 8, 58)) { - gfx_small(g, 2, ty - 7, "YOU", C_GREY); - gfx_small(g, 2, sy - 7, "PLAYS", C_GREY); - for (int k = 0; k < 16; k++) { - int x = 1 + k * 15, main = -1; - for (int l = 0; l < BM_LANES && main < 0; l++) { - int len = tr->lane[l].len ? tr->lane[l].len : 16; - if (!((tr->mute >> l) & 1) && (tr->st[l][(blk * 16u + (uint32_t)k) % (uint32_t)len] & ST_ON)) main = l; - } - uint16_t bg = k == cur ? C_WHITE : main >= 0 ? C_DDGREY : C_BLACK; - gfx_fill(g, x, ty, 13, 18, bg); - if (main >= 0) { snprintf(b, sizeof b, "%d", main + 1); gfx_small(g, x + 7 - gfx_small_w(b) / 2, ty + 7, b, k == cur ? C_BLACK : C_GREY); } - else gfx_fill(g, x + 5, ty + 8, 2, 2, C_DGREY); - uint8_t pl = st->gen_sl[k], fx = st->gen_fx[k]; - bool changed = pl != 0xFF && pl != main; - gfx_fill(g, x, sy, 13, 18, k == cur ? C_WHITE : pl != 0xFF ? (changed ? col : C_DDGREY) : C_BLACK); - uint16_t fg = k == cur || changed ? C_BLACK : C_WHITE; - if (pl != 0xFF) { snprintf(b, sizeof b, "%d", pl + 1); gfx_small(g, x + 7 - gfx_small_w(b) / 2, sy + 7, b, fg); } - else if (fx & GEN_SKIP) gfx_text(g, x + 4, sy + 5, "-", C_RED, 1); - if (fx & GEN_RT_MASK) gfx_fill(g, x + 1, sy + 15, 11, 2, C_ORANGE); - if (fx & GEN_REV) gfx_small(g, x + 1, sy + 1, "<", fg); - if (fx & GEN_HALF) gfx_small(g, x + 9, sy + 1, "H", fg); - } - } - hint_s(g, PY + 70, "VARY: OTHER PADS - ANCHOR: THE BEATS STAY"); - hint_s(g, PY + 78, "REPEAT: RETRIGS - BREAK: REVERSE, HALF, SILENCE"); - hint_s(g, PY + 88, "HOLD EDIT + BLACK 4 = CAPTURE INTO THE GRID"); -} - -/* ------------------------------------------------------------ el dibujo del visor, guardado - * El cuadro recorre la escena una vez por franja (30 veces). Las curvas del visor de SOUND (filtro, - * ondas, LFO, el golpe de la batería, la tabla de BITTAL) cuestan exp/log/seno por cada x: se - * calculan cuando cambia lo que dibujan y cada franja las recorre desde aquí. Se ve una sola a la - * vez: la clave dice cuál es y con qué valores. ~1.4 KB. */ -#define CV_W 228 -static union { - int16_t y[2][CV_W]; /* curvas: la fila de cada x, desde y0 */ - uint8_t tab[1368]; /* BITTAL: los frames uno tras otro, desde su fila de arriba (8 x 171 como mucho) */ -} cv; -static int32_t cv_x[8]; /* lo demás de la curva: marcas, la barra del ENV, Hz */ -static uint8_t cv_key[24], cv_len; - -/* ¿lo guardado es de esta clave? Si no, la anota: el que llama lo calcula de nuevo */ -static bool cv_fresh(const uint8_t *key, int len) -{ - if (len == cv_len && !memcmp(cv_key, key, (size_t)len)) return true; - memcpy(cv_key, key, (size_t)len); - cv_len = (uint8_t)len; - return false; -} - -/* un tramo de la curva solo si toca la franja (los demás ni llaman a gfx_line) */ -static void seg(bm_gfx *g, int xa, int ya, int xb, int yb, uint16_t c) -{ - if (ya < 0) return; /* como el "py >= 0" de siempre */ - if ((ya > yb ? ya : yb) < g->cy0 || (ya < yb ? ya : yb) >= g->cy1) return; - gfx_line(g, xa, ya, xb, yb, c); -} - -/* ------------------------------------------------------------ editor de sonido por páginas */ -static float mini_wave(int w, float p) /* las formas de B-MINI */ -{ - float saw = 1.0f - 2.0f * p, tri = p < 0.5f ? 4.0f * p - 1.0f : 3.0f - 4.0f * p; - switch (w) { - case MN_WAVE_TRI: return tri; - case MN_WAVE_SHARK: return 0.5f * (tri + saw); - case MN_WAVE_SQR: return p < 0.5f ? 1.0f : -1.0f; - case MN_WAVE_WIDE: return p < 0.3f ? 1.0f : -1.0f; - case MN_WAVE_NARROW: return p < 0.12f ? 1.0f : -1.0f; - default: return saw; + int t = a->track, sel = a->sel_lane[t] & 15, base = (sel / 8) * 8; + const bm_tr *tr = bm_trk_trc(&a->pat, t); + uint16_t col = bm_track_color(t); + int spb = BM_BAR_TICKS / bm_speed_tps[a->pat.trk[t].speed % SPD_COUNT]; + char b[12]; + for (int i = 0; i < 8; i++) { + int l = base + i, y = y0 + i * 11, len = tr->lane[l].len ? tr->lane[l].len : 16; + if (!gfx_strip_hit(g, y, 10)) continue; + bool s = l == sel; + if (s) gfx_fill(g, 0, y, 240, 10, C_DDGREY); + snprintf(b, sizeof b, "P%d", l + 1); + gfx_small(g, 2, y + 3, b, s ? C_WHITE : C_GREY); + gfx_fill(g, 20, y + 2, len * 3, 6, s ? col : dim(col)); /* 64 pasos = 192 px */ + for (int c = spb; c < BM_STEPS; c += spb) gfx_vline(g, 20 + c * 3, y + 1, 8, C_DGREY); + snprintf(b, sizeof b, "%d", len); + gfx_small(g, 236 - gfx_small_w(b), y + 3, b, s ? C_WHITE : C_GREY); } } -/* B-MINI: los tres osciladores sumados (el de la página resaltado) · BUNO-6: el DCO con su PWM */ -static void ed_wave(bm_gfx *g, const bm_app *a, int t, int x0, int y0, int w, int h, int page) +/* La franja del teclado ya muestra cada tecla con su luz; el visor dice qué capa es y cómo se usa. */ +static void draw_layer(bm_gfx *g, const bm_app *a) { - const uint8_t *q = a->pat.prm[t]; - int eng = a->pat.trk[t].engine, mid = y0 + h / 2; - bool two = eng == ENG_MINI && page >= 0 && page <= 2; /* el oscilador de la página, encima */ - uint16_t col = C_CYAN; - gfx_hline(g, x0, mid, w, C_DDGREY); - if (w > CV_W) return; - const uint8_t key[] = {1, (uint8_t)eng, (uint8_t)(page + 1), (uint8_t)w, (uint8_t)h, q[BN_PWM], q[BN_SAW], q[BN_PULSE], q[BN_SUB], - q[MN_W1], q[MN_W2], q[MN_W3], q[MN_R1], q[MN_R2], q[MN_R3], q[MN_L1], q[MN_L2], q[MN_L3]}; - if (!cv_fresh(key, sizeof key)) { - static const float RG[5] = {0.25f, 0.5f, 1.0f, 2.0f, 4.0f}; - for (int x = 0; x < w; x++) { - float p = (float)x * 2.0f / (float)w, y, y2 = 0.0f; - if (eng == ENG_BUNO) { - float ph = p - (float)(int)p, pw = 0.5f - 0.46f * (float)q[BN_PWM] / 127.0f * 0.5f; - y = (q[BN_SAW] ? 1.0f - 2.0f * ph : 0.0f) + (q[BN_PULSE] ? (ph < pw ? 1.0f : -1.0f) : 0.0f); - float ps = p * 0.5f; ps -= (float)(int)ps; - y += (float)q[BN_SUB] / 127.0f * (ps < 0.5f ? 1.0f : -1.0f); - y *= 0.6f; - } else { - static const uint8_t W[3] = {MN_W1, MN_W2, MN_W3}, R[3] = {MN_R1, MN_R2, MN_R3}, L[3] = {MN_L1, MN_L2, MN_L3}; - y = 0.0f; - int sel = page >= 0 && page <= 2 ? page : -1; - for (int k = 0; k < 3; k++) { - float pk = p * RG[q[R[k]] % 5] / RG[q[R[0]] % 5]; pk -= (float)(int)pk; - float v = mini_wave(q[W[k]] % MN_WAVES, pk) * (float)q[L[k]] / 127.0f; - y += v * 0.45f; - if (k == sel) y2 = v; - } - if (sel < 0) y2 = 0.0f; - } - cv.y[0][x] = (int16_t)(h / 2 - (int)(bm_clampf(y, -1.2f, 1.2f) * (float)(h / 2 - 3))); - cv.y[1][x] = (int16_t)(h / 2 - (int)(y2 * (float)(h / 2 - 3))); - } - } - for (int x = 1; x < w; x++) { /* en el orden de siempre: se pisan igual */ - seg(g, x0 + x - 1, y0 + cv.y[0][x - 1], x0 + x, y0 + cv.y[0][x], col); - if (two) seg(g, x0 + x - 1, y0 + cv.y[1][x - 1], x0 + x, y0 + cv.y[1][x], C_ORANGE); + static char title[24]; /* el mapa de la capa: una vez por cuadro */ + static uint16_t col; + static const char *h1, *h2; + static uint32_t mf; + if (mf != g->frame) { + bm_keyfn K[BM_KEYS]; /* aquí solo hace falta el título y las ayudas */ + mf = g->frame; + bm_app_keymap(a, K, title, sizeof title, &col, &h1, &h2); } + if (gfx_strip_hit(g, 26, 20)) { + gfx_fill(g, 0, 26, BM_LCD_W, 18, col); + gfx_text(g, 6, 28, title, C_BLACK, 2); + char b[24]; + snprintf(b, sizeof b, "T%d", app_pos(a->track) + 1); + if (a->layer_latch) { /* abierta con un toque: queda hasta cerrarla */ + gfx_small(g, 236 - gfx_small_w("LATCHED"), 28, "LATCHED", C_BLACK); + gfx_small(g, 236 - gfx_small_w(b), 36, b, C_BLACK); + page_tag(g, a, 236 - gfx_small_w(b) - 4, 34, 9, C_BLACK); + } else page_tag(g, a, 234 - gfx_text_r(g, 234, 32, b, C_BLACK, 1) - 4, 31, 9, C_BLACK); + } + /* Lo que la capa toca, no una copia de la franja de teclas: en MUTE los instrumentos (mute en rojo, + * destello al sonar); en ENV y EDIT el sonido elegido y su golpe; en ACENTOS y REPETIR los pasos + * del compás encima de sus blancas. */ + if (a->layer == L_LEN) lane_lengths(g, a, 48); + else if (a->layer == L_MUTE) lane_pads(g, a, a->track, 47, 14); + else if (a->layer == L_HIT || a->layer == L_INST) draw_hit(g, a, 47, 58); + else if (a->layer == L_ACC || a->layer == L_REP) draw_steps_ref(g, a, 48); + /* cómo se usa (se va a los 4 s) y cómo se sale (queda) */ } -/* BITTAL: la tabla en 2.5D, los frames uno detrás del otro; el de la posición actual en cian */ -static void ed_table(bm_gfx *g, const bm_app *a, int t, int x0, int y0, int w, int h, int osc) +/* ------------------------------------------------------------ recuadro, pregunta, overlay, toast */ +/* ALGORITHM en INSTR (batería): el instrumento al que vas */ +static void draw_box(bm_gfx *g, const bm_app *a) { - int slot = osc & 1; - if (!bm_wt_ready(slot)) { gfx_text_c(g, x0 + w / 2, y0 + h / 2 - 3, "NO TABLE", C_GREY, 1); return; } - const uint8_t *q = a->pat.prm[t]; - int nf = bm_wt_frames(slot); - float pos = (float)q[slot ? BT_P2 : BT_P1] / 127.0f + bm_bt_macro(q, a->pat.trk[t].macro, slot ? BTM_POS2 : BTM_POS1) + bm_bt_macro(q, a->pat.trk[t].macro, BTM_POS); - pos = bm_clampf(pos, 0.0f, 1.0f); - int curf = (int)(pos * (float)(nf - 1) + 0.5f); - int dx = 7, dy = 5, ww = w - 8 - dx * (nf - 1), hh = h - 6 - dy * (nf - 1); - if (hh < 16) hh = 16; - if (nf < 1 || ww < 1 || nf * ww > (int)sizeof cv.tab || hh > 255) return; - uint32_t sig = a->wt_sig[slot]; - const uint8_t key[] = {2, (uint8_t)slot, (uint8_t)nf, (uint8_t)ww, (uint8_t)hh, - (uint8_t)sig, (uint8_t)(sig >> 8), (uint8_t)(sig >> 16), (uint8_t)(sig >> 24)}; - if (!cv_fresh(key, sizeof key)) /* la tabla solo cambia si se rearma */ - for (int f = 0; f < nf; f++) { - int n; - const int16_t *d = bm_wt_data(slot, f, 3, &n); /* 128 muestras para dibujar */ - for (int x = 0; x < ww; x++) cv.tab[f * ww + x] = (uint8_t)(hh / 2 - (int)d[x * n / ww] * (hh / 2 - 1) / 32768); - } - for (int f = nf - 1; f >= 0; f--) { - int ox = x0 + 4 + f * dx, oy = y0 + 3 + (nf - 1 - f) * dy; - if (oy + hh <= g->cy0 || oy >= g->cy1) continue; /* el frame entero, fuera de la franja */ - uint16_t c = f == curf ? C_CYAN : (f < curf ? C_DGREY : dim(C_VIOLET)); - const uint8_t *ty = cv.tab + f * ww; - for (int x = 1; x < ww; x++) seg(g, ox + x - 1, oy + ty[x - 1], ox + x, oy + ty[x], c); - } + int t = a->track; + if (!gfx_strip_hit(g, 50, 70)) return; + gfx_fill(g, 40, 50, 160, 68, C_BLACK); + gfx_rect(g, 40, 50, 160, 68, bm_track_color(t)); + gfx_rect(g, 41, 51, 158, 66, bm_track_color(t)); char b[24]; - snprintf(b, sizeof b, "WT FRAME %d/%d", curf + 1, nf); - gfx_small(g, x0 + 4, y0 + h - 6, b, C_WHITE); - snprintf(b, sizeof b, "UNISON %d", (q[slot ? BT_U2 : BT_U1] & 3) + 1); - gfx_small(g, x0 + w - gfx_small_w(b) - 4, y0 + h - 6, b, C_GREY); + snprintf(b, sizeof b, "%d", a->box_lane + 1); + gfx_text_c(g, 120, 58, b, bm_track_color(t), 4); + const bm_lane *ln = &bm_trk_trc(&a->pat, t)->lane[a->box_lane & 15]; + if (bm_is_pads(t)) { /* un pad del Slicer: su toma */ + char tk[16]; + if (bm_pad_ok(&a->pat.pad[a->box_lane & 15])) bm_app_src_name(a, a->pat.pad[a->box_lane & 15].src, tk, sizeof tk); + else snprintf(tk, sizeof tk, "%s", T("EMPTY")); + snprintf(b, sizeof b, "%s - %s", T(bm_lane_name(a, t, a->box_lane)), tk); + } else snprintf(b, sizeof b, "%s - %s", T(bm_lane_name(a, t, a->box_lane)), T(bm_drm_short[ln->model % DRM_COUNT])); + gfx_text_c(g, 120, 92, b, C_WHITE, 1); + int left = (int)(a->box_until - a->now); + int w = bm_clampi(left * 140 / 400, 0, 140); + gfx_fill(g, 50, 108, 140, 3, C_DGREY); + gfx_fill(g, 50, 108, 140 - w, 3, bm_track_color(t)); } -static float ed_filter_db(int type, float w, float qv) /* respuesta del filtro, w = f / corte */ +/* K1-K4: una línea con el nombre y el valor en la fila de arriba (pestañas o título), sin tapar la + * rejilla ni el paso sostenido; el dial de abajo ya marca cuál giró. */ +static void draw_overlay_line(bm_gfx *g, const bm_app *a) { - float w2 = w * w; - float d1 = sqrtf((1.0f - w2) * (1.0f - w2) + w2 / (qv * qv)); - float qb = 0.5f + 0.02f * qv, d2 = sqrtf((1.0f - w2) * (1.0f - w2) + w2 / (qb * qb)); - float m; - switch (type) { - case 1: m = 1.0f / d1; break; /* LP 12 */ - case 2: m = (w / qv) / d1 * 1.5f; break; /* BP */ - case 3: m = w2 / d1; break; /* HP */ - default: m = 1.0f / (d1 * d2); break; /* LP 24 y escalera */ - } - return 20.0f * log10f(m > 1e-6f ? m : 1e-6f); + const bm_overlay *o = &a->ov; + bool tall = a->layer || a->view == V_SAVE; + int h = tall ? 21 : 11; /* también tapa el título grande de esas pantallas */ + if (!gfx_strip_hit(g, 24, h)) return; + gfx_fill(g, 0, 24, BM_LCD_W, h, C_BLACK); + int y = 24 + (h - 7) / 2; + gfx_text(g, 4, y, o->title, o->color, 1); + int x = 236; + if (o->unit[0]) x -= gfx_text_r(g, x, y, o->unit, C_GREY, 1) + 4; + gfx_text_r(g, x, y, o->val, C_WHITE, 1); + gfx_fill(g, 0, 24 + h - 1, BM_LCD_W, 1, C_DDGREY); + gfx_fill(g, 0, 24 + h - 1, o->pct * BM_LCD_W / 255, 1, o->color); } -static void ed_filter(bm_gfx *g, const bm_app *a, int t, int x0, int y0, int w, int h) +static void draw_overlay(bm_gfx *g, const bm_app *a) { - const bm_track *tk = &a->pat.trk[t]; - const uint8_t *q = a->pat.prm[t]; - int eng = tk->engine, type = 0, cut, res, envb; - if (eng == ENG_BITTAL) { type = q[BT_FT] % BT_FILTERS; cut = q[BT_CUT]; res = q[BT_RES]; envb = q[BT_FENV]; if (type == BT_F_LADDER) type = 0; } - else { cut = tk->macro[0]; res = tk->macro[1]; envb = tk->macro[2]; } /* B-MINI y BUNO-6: CONTOUR / ENV */ - if (eng == ENG_BITTAL && q[BT_FT] == BT_F_OFF) { gfx_text_c(g, x0 + w / 2, y0 + h / 2, "FILTER OFF", C_GREY, 1); return; } - if (w > CV_W) return; - int hpf = eng == ENG_BUNO ? q[BN_HPF] : 0; - const uint8_t key[] = {3, (uint8_t)(eng == ENG_BITTAL), (uint8_t)type, (uint8_t)cut, (uint8_t)res, (uint8_t)envb, (uint8_t)hpf, (uint8_t)w, (uint8_t)h}; - enum { XA, XB, ENV_ON, HPF_X, MK0 }; /* cv_x: lo que no es la curva */ - if (!cv_fresh(key, sizeof key)) { /* 228 x (exp2f, 2 sqrtf, log10f): solo si cambió */ - float env = eng == ENG_BITTAL ? (float)(envb - 64) / 63.0f * 72.0f : (float)envb / 127.0f * 72.0f; - float fc = bm_cut_hz(cut), qv = bm_reso_q(res); - cv_x[ENV_ON] = env != 0.0f; - if (env != 0.0f) { - float fe = fc * exp2f(env / 12.0f); - cv_x[XA] = (int)((log2f(bm_clampf(fc, 20.0f, 20000.0f) / 20.0f)) / 10.0f * (float)w); - cv_x[XB] = (int)((log2f(bm_clampf(fe, 20.0f, 20000.0f) / 20.0f)) / 10.0f * (float)w); - } - for (int x = 0; x < w; x++) { - float f = 20.0f * exp2f((float)x * 10.0f / (float)w); - float db = bm_clampf(ed_filter_db(type, f / fc, qv), -36.0f, 18.0f); - cv.y[0][x] = (int16_t)(int)((18.0f - db) / 54.0f * (float)(h - 6)); - } - static const float F[3] = {100.0f, 1000.0f, 10000.0f}; - for (int k = 0; k < 3; k++) cv_x[MK0 + k] = (int)(log2f(F[k] / 20.0f) / 10.0f * (float)w); - static const float HZ[4] = {0.0f, 120.0f, 250.0f, 520.0f}; - if (hpf) cv_x[HPF_X] = (int)(log2f(HZ[hpf & 3] / 20.0f) / 10.0f * (float)w); - } - if (cv_x[ENV_ON]) { - int xa = x0 + cv_x[XA], xb = x0 + cv_x[XB]; - gfx_fill(g, xa < xb ? xa : xb, y0 + h - 4, (xa < xb ? xb - xa : xa - xb) + 1, 3, C_GREEN); - } - int y0db = y0 + h * 18 / 54; - gfx_hline(g, x0, y0db, w, C_DDGREY); - for (int x = 1; x < w; x++) seg(g, x0 + x - 1, y0 + cv.y[0][x - 1], x0 + x, y0 + cv.y[0][x], C_ORANGE); - static const char *const N[3] = {"100", "1K", "10K"}; - for (int k = 0; k < 3; k++) { - int x = x0 + cv_x[MK0 + k]; - gfx_vline(g, x, y0 + h - 8, 3, C_DGREY); - gfx_small(g, x - 4, y0 + h - 12, N[k], C_GREY); - } - if (hpf) { /* el pasa-altos de BUNO-6 */ - int x = x0 + cv_x[HPF_X]; - gfx_fill(g, x0, y0 + 2, x - x0, 3, C_PINK); - gfx_small(g, x0 + 2, y0 + 6, "HPF", C_PINK); + const bm_overlay *o = &a->ov; + if (o->knob >= ENC_K1 + 1 && o->knob <= ENC_K4 + 1 && !o->beat) { draw_overlay_line(g, a); return; } + if (!gfx_strip_hit(g, 46, 84)) return; + gfx_fill(g, 12, 46, 216, 84, C_BLACK); + gfx_rect(g, 12, 46, 216, 84, o->color); + gfx_rect(g, 13, 47, 214, 82, o->color); + grid(g, 16, 50, 208, 76, 6); + gfx_text(g, 20, 52, o->title, C_GREY, 1); + if (o->knob) { /* la perilla grande que se giró, en la esquina */ + static const char *const KN[ENC_COUNT] = {"SELECT", "ALGORITHM", "K1", "K2", "K3", "K4", "PRESETS"}; + gfx_small(g, 222 - gfx_small_w(KN[(o->knob - 1) % ENC_COUNT]), 53, KN[(o->knob - 1) % ENC_COUNT], o->color); } -} - -static void ed_adsr(bm_gfx *g, int x0, int y0, int w, int h, int A, int D, int S, int R) -{ - int a = 2 + A * (w / 4) / 127, d = 2 + D * (w / 4) / 127, r = 2 + R * (w / 4) / 127, s = w - a - d - r - 4; - int yb = y0 + h - 2, sy = yb - S * (h - 4) / 127; - int x1 = x0 + a, x2 = x1 + d, x3 = x2 + (s > 8 ? s : 8), x4 = x3 + r; - for (int o = 0; o < 2; o++) { - gfx_line(g, x0, yb + o, x1, y0 + 2 + o, bm_knob_color(0)); - gfx_line(g, x1, y0 + 2 + o, x2, sy + o, bm_knob_color(1)); - gfx_line(g, x2, sy + o, x3, sy + o, bm_knob_color(2)); - gfx_line(g, x3, sy + o, x4, yb + o, bm_knob_color(3)); + int w = gfx_text(g, 20, 68, o->val, C_WHITE, gfx_text_w(o->val, 3) > 196 ? 2 : 3); + if (o->unit[0]) gfx_text(g, 26 + w, 78, o->unit, C_GREY, 2); + if (o->beat) { /* el beat, en el color del tempo */ + const bm_status *st = &a->ctx.st; + int cur = st->playing ? (int)((st->btick / BM_PPQN) % 4) : -1; + for (int i = 0; i < 4; i++) gfx_fill(g, 20 + i * 51, 108, 47, 12, i == cur ? o->color : dim(dim(o->color))); + return; } + gfx_fill(g, 20, 110, 200, 8, C_DGREY); + gfx_fill(g, 20, 110, o->pct * 200 / 255, 8, o->color); + if (o->ghost != 255) gfx_fill(g, 19 + o->ghost * 200 / 255, 106, 2, 16, C_WHITE); } -static void ed_lfo(bm_gfx *g, int x0, int y0, int w, int h, int shape, int amt, uint16_t col) +static void draw_toast(bm_gfx *g, const bm_app *a) { - int mid = y0 + h / 2; - gfx_hline(g, x0, mid, w, C_DDGREY); - if (w > CV_W) return; - const uint8_t key[] = {4, (uint8_t)shape, (uint8_t)amt, (uint8_t)w, (uint8_t)h}; - if (!cv_fresh(key, sizeof key)) { - uint32_t rng = 12345; - float sh = 0.0f; - for (int x = 0; x < w; x++) { - float p = (float)x * 3.0f / (float)w, ph = p - (float)(int)p, y; - switch (shape) { - case 0: y = sinf(6.2831853f * ph); break; - case 1: y = 4.0f * fabsf(ph - 0.5f) - 1.0f; break; - case 2: y = 1.0f - 2.0f * ph; break; - case 3: y = ph < 0.5f ? 1.0f : -1.0f; break; - default: - if (x == 0 || (int)((float)(x - 1) * 3.0f / (float)w * 2.0f) != (int)(p * 2.0f)) sh = (float)(int32_t)(rng = rng * 1664525u + 1013904223u) / 2147483648.0f; - y = sh; - break; - } - cv.y[0][x] = (int16_t)(h / 2 - (int)(y * (float)(h / 2 - 3) * (0.25f + 0.75f * (float)amt / 127.0f))); - } - } - for (int x = 1; x < w; x++) seg(g, x0 + x - 1, y0 + cv.y[0][x - 1], x0 + x, y0 + cv.y[0][x], amt ? col : C_DGREY); + if (!gfx_strip_hit(g, 118, 16)) return; + gfx_fill(g, 0, 118, BM_LCD_W, 16, C_DGREY); + gfx_hline(g, 0, 118, BM_LCD_W, C_CYAN); + gfx_text_c(g, 120, 122, a->toast, C_WHITE, 1); } -/* BITTAL: las 4 macros con su destino y lo que mueven ahora */ -static void ed_macros(bm_gfx *g, const bm_app *a, int t, int x0, int y0, int w, int h) -{ - const uint8_t *q = a->pat.prm[t]; - char b[24]; - (void)w; (void)h; - for (int i = 0; i < 4; i++) { - int y = y0 + 4 + i * 15; - if (!gfx_strip_hit(g, y, 14)) continue; - int dst = q[BT_M1D + 2 * i] % BTM_TARGETS, amt = (int)q[BT_M1A + 2 * i] - 64, v = a->pat.trk[t].macro[i]; - snprintf(b, sizeof b, "M%d", i + 1); - gfx_text(g, x0 + 4, y + 3, b, bm_knob_color(i), 1); - gfx_text(g, x0 + 24, y + 3, bm_btm_names[dst], dst ? C_WHITE : C_GREY, 1); - snprintf(b, sizeof b, "%+d", amt * 100 / 63); - gfx_small(g, x0 + 100, y + 4, b, C_GREY); - gfx_fill(g, x0 + 130, y + 4, 90, 5, C_DDGREY); - gfx_fill(g, x0 + 130, y + 4, v * 90 / 127, 5, bm_knob_color(i)); - } -} +/* ------------------------------------------------------------ BX-7 (V_MACH): el FM-1 de fábrica, con nuestra cara */ +extern const char *const bx7_fx_names[BXF_N]; -static void draw_editor(bm_gfx *g, const bm_app *a) +/* La topología del algoritmo como en una DX7: portadoras abajo, moduladores encima, la realimentación + * como un lazo; cada operador con su nivel (la barra blanca) y abajo las relaciones de frecuencia. */ +static void draw_fm(bm_gfx *g, const bm_app *a, int t, int x0, int y0, int w, int h, int sel) { - int t = a->track, n; - const bm_ppage *pg = bm_app_ed_pages(a, t, &n); - if (!pg || !n) return; - int cur = a->ed_page[t] % n, tr = bm_is_tr(&a->pat, t), eng = a->pat.trk[t].engine; - const bm_ppage *P = &pg[cur]; - uint16_t col = bm_track_color(t); - char b[32]; - if (gfx_strip_hit(g, PY, 9)) { - if (tr) { - const bm_lane *ln = &bm_trk_trc(&a->pat, t)->lane[a->sel_lane[t] & 15]; - snprintf(b, sizeof b, "%s - %s", T(bm_lane_name(a, t, a->sel_lane[t] & 15)), T(bm_drm_names[ln->model % DRM_COUNT])); - } else snprintf(b, sizeof b, "%s", bm_sound_name(a, t)); - gfx_text(g, 4, PY, b, C_WHITE, 1); - if (!tr && (eng == ENG_MINI || eng == ENG_BITTAL || eng == ENG_BUNO)) { /* la huella del snapshot: #A4F9 */ - const uint8_t *s = bm_snap_get(eng, a->pat.trk[t].source); - if (s) { snprintf(b, sizeof b, "#%04X", (unsigned)(s[8] | s[9] << 8)); gfx_small(g, 236 - gfx_small_w(b), PY + 1, b, C_DGREY); } - } - } - if (gfx_strip_hit(g, PY + 10, 9)) { - gfx_text(g, 4, PY + 10, P->name, col, 1); - for (int i = 0; i < n; i++) { - int x = 236 - (n - i) * 7; - if (i == cur) gfx_fill(g, x, PY + 11, 5, 5, col); else gfx_rect(g, x, PY + 11, 5, 5, C_DGREY); - } - } - int x0 = 6, y0 = PY + 21, w = 228, h = VB - y0 - 1; - if (!gfx_strip_hit(g, y0 - 2, h + 4)) return; - gfx_rect(g, x0 - 2, y0 - 2, w + 4, h + 4, C_DDGREY); - const uint8_t *q = a->pat.prm[t]; - if (tr) { - const bm_lane *ln = &bm_trk_trc(&a->pat, t)->lane[a->sel_lane[t] & 15]; - int dec = 6 + ln->decay * (w - 12) / 127, mid = y0 + h / 2, n = dec < w ? dec : w; - gfx_hline(g, x0, mid, w, C_DDGREY); - if (n > CV_W) return; - const uint8_t key[] = {5, (uint8_t)(ln->model % DRM_COUNT), ln->tune, (uint8_t)dec, (uint8_t)w, (uint8_t)h}; - if (!cv_fresh(key, sizeof key)) { /* el golpe: expf y sinf por x, solo si cambió */ - float hz = (float)bm_drm_base_hz[ln->model % DRM_COUNT] * exp2f((float)(ln->tune - 64) * 0.375f / 12.0f); - for (int x = 0; x < n; x++) { - float e = expf(-4.0f * (float)x / (float)dec); - float s = sinf((float)x * 0.12f * hz / 300.0f) * e; - cv.y[0][x] = (int16_t)(h / 2 - (int)(s * (float)(h / 2 - 4))); - cv.y[1][x] = (int16_t)(h / 2 + (int)(s * (float)(h / 2 - 4))); + if (!gfx_strip_hit(g, y0, h + 1)) return; + static struct { uint32_t frame; int t, alg, bx[6], by[6]; uint8_t p[BM_FM_PATCH], car, mods[6]; int8_t fb[2]; } L; + if (L.frame != g->frame || L.t != t) { + L.frame = g->frame; L.t = t; + uint8_t *p = L.p, *mods = L.mods; + bm_fm_patch_of(&a->pat, t, NULL, p); + int alg = L.alg = p[BM_FM_ALG] & 31; + uint8_t car = L.car = bm_fm_carriers(alg); + bm_fm_alg_graph(alg, mods, L.fb); + int depth[6] = {0, 0, 0, 0, 0, 0}, maxd = 0; + for (int it = 0; it < 6; it++) + for (int i = 0; i < 6; i++) + for (int j = 0; j < 6; j++) + if (mods[j] & (1u << i)) if (depth[i] < depth[j] + 1) depth[i] = depth[j] + 1; + for (int i = 0; i < 6; i++) if (depth[i] > maxd) maxd = depth[i]; + float cx[6]; int placed[6] = {0, 0, 0, 0, 0, 0}, col = 0; + for (int pass = 0; pass < 2; pass++) + for (int op = 1; op <= 6; op++) { + int i = 6 - op; + if (placed[i]) continue; + bool carrier = (car >> i) & 1; + if (pass == 0 && !carrier) continue; + int tgt = -1; + for (int j = 0; j < 6; j++) if (mods[j] & (1u << i)) { tgt = j; break; } + if (tgt >= 0 && placed[tgt]) { + int sib = 0; + for (int k = 0; k < 6; k++) if (k != i && placed[k] && (mods[tgt] & (1u << k))) sib++; + cx[i] = cx[tgt] + (float)sib; + if (sib) { cx[i] = (float)col; col++; } + } else { cx[i] = (float)col; col++; } + placed[i] = 1; } - cv_x[0] = (int)(hz + 0.5f); - } - for (int x = 1; x < n; x++) { - seg(g, x0 + x - 1, y0 + cv.y[0][x - 1], x0 + x, y0 + cv.y[0][x], col); - seg(g, x0 + x - 1, y0 + cv.y[1][x - 1], x0 + x, y0 + cv.y[1][x], dim(col)); - } - snprintf(b, sizeof b, "%d HZ", (int)cv_x[0]); - gfx_small(g, x0 + w - gfx_small_w(b) - 2, y0 + 2, b, C_GREY); - return; - } - const bm_track *tk = &a->pat.trk[t]; - if (eng == ENG_BITTAL) { /* OSC 1, OSC 1 +, OSC 2, OSC 2 +, FILTER, FILTER +, ENV 1, ENV 2, LFO 1, MACRO x2, VOICE */ - if (cur <= 3) ed_table(g, a, t, x0, y0, w, h, cur >= 2); - else if (cur == 4 || cur == 5) ed_filter(g, a, t, x0, y0, w, h); - else if (cur == 6) ed_adsr(g, x0, y0, w, h, q[BT_AA], q[BT_AD], q[BT_AS], q[BT_AR]); - else if (cur == 7) ed_adsr(g, x0, y0, w, h, q[BT_MA], q[BT_MD], q[BT_MS], q[BT_MR]); - else if (cur == 8) ed_lfo(g, x0, y0, w, h, q[BT_LSHAPE] % BT_LSHAPES, q[BT_LAMT], col); - else if (cur == 9 || cur == 10) ed_macros(g, a, t, x0, y0, w, h); - else { - static const char *const M[WM_MODES] = {"POLY: UP TO 4 VOICES", "MONO: ONE VOICE, RETRIGGERS", "LEGATO: ONE VOICE, TIED"}; - gfx_text_c(g, 120, y0 + h / 2 - 4, M[q[BT_MODE] % WM_MODES], C_WHITE, 1); - } - } else if (eng == ENG_MINI) { /* CONTROL, OSC 1-3, MIXER, FILTER, F CONTOUR, L CONTOUR, OUTPUT */ - if (cur == 0) ed_lfo(g, x0, y0, w, h, 1, q[MN_LAMT], col); - else if (cur <= 4) ed_wave(g, a, t, x0, y0, w, h, cur <= 3 ? cur - 1 : -1); - else if (cur == 5) ed_filter(g, a, t, x0, y0, w, h); - else if (cur == 6) ed_adsr(g, x0, y0, w, h, q[MN_FA], q[MN_FD], q[MN_FS], q[MN_FR]); - else if (cur == 7) ed_adsr(g, x0, y0, w, h, q[MN_AA], q[MN_AD], q[MN_AS], q[MN_AR]); - else gfx_text_c(g, 120, y0 + h / 2 - 4, q[MN_MODE] ? "LEGATO: TIED NOTES GLIDE" : "MONO: EVERY NOTE RETRIGGERS", C_WHITE, 1); - } else if (eng == ENG_ACID) { /* VCO VCF y ENV */ - if (cur == 0) draw_synth(g, a, t, x0, y0, w, h); - else ed_adsr(g, x0, y0, w, h, 0, tk->macro[3], 0, 10); - if (hints_on) gfx_small(g, x0 + 4, y0 + h - 8, "ACCENT OPENS THE FILTER - TIE = SLIDE", C_GREY); - } else if (eng == ENG_FM) { /* ALGORITHM, EG, VOICE, LFO */ - if (cur == 3) ed_lfo(g, x0, y0, w, h, 1, q[FX_LPMD] || q[FX_LAMD] ? 100 : 0, col); - else if (cur == 2) { - snprintf(b, sizeof b, TF("PORTA WITH TIE %+d ST"), (int)tk->transpose - 24); - gfx_text_c(g, 120, y0 + h / 2 - 4, b, C_WHITE, 1); - } else if (cur == 1) ed_adsr(g, x0, y0, w, h, tk->attack, tk->macro[2], 90, tk->macro[3]); - else draw_fm(g, a, t, x0, y0, w, h); - } else { /* BUNO-6: LFO, DCO, DCO WAVE, HPF VCF, VCF MOD, VCA, ENV, CHORUS */ - if (cur == 0) ed_lfo(g, x0, y0, w, h, 1, 90, col); - else if (cur <= 2) ed_wave(g, a, t, x0, y0, w, h, cur); - else if (cur <= 4) ed_filter(g, a, t, x0, y0, w, h); - else if (cur == 5) gfx_text_c(g, 120, y0 + h / 2 - 4, q[BN_VCA] ? "VCA: GATE" : "VCA: ENV", C_WHITE, 1); - else if (cur == 6) ed_adsr(g, x0, y0, w, h, q[BN_A], q[BN_D], q[BN_S], q[BN_R]); - else { - int ch = q[BN_CHORUS] % BN_CHORUSES; - snprintf(b, sizeof b, "CHORUS %s", bm_bn_chorus_names[ch]); - gfx_text(g, x0 + 6, y0 + h / 2 - 8, b, ch ? C_PINK : C_GREY, 2); - if (hints_on) gfx_small(g, x0 + 6, y0 + h - 8, "ALGORITHM = CHORUS", C_GREY); + int ncol = col > 0 ? col : 1; + float cw = (float)(w - 8) / (float)ncol; + int rh = (h - 18) / (maxd + 1); + if (rh > 22) rh = 22; + for (int i = 0; i < 6; i++) { + L.bx[i] = x0 + 4 + (int)(cx[i] * cw + cw / 2.0f) - 9; + L.by[i] = y0 + h - 18 - depth[i] * rh - 12; } } -} - -/* GLO de la consola > MACHINES: T1 y T2 fijos; en T3-T6, ALGORITHM elige (2 s en una la carga) */ -static void draw_glo_mach(bm_gfx *g, const bm_app *a) -{ - char b[30]; - for (int t = 0; t < BM_TRACKS; t++) { - int y = PY + 2 + t * 13; - if (!gfx_strip_hit(g, y, 13)) continue; - bool sel = t == a->track, fixed = t < BM_TR_TRACKS; - uint16_t col = bm_track_color(t); - if (sel) { gfx_fill(g, 0, y, BM_LCD_W, 12, C_DDGREY); gfx_fill(g, 0, y, 2, 12, C_CYAN); } - snprintf(b, sizeof b, "T%d", t + 1); - gfx_text(g, 6, y + 2, b, fixed ? C_GREY : col, 1); - int e = sel && a->mach_trk == t ? a->mach_sel : a->pat.trk[t].engine; - int other = fixed ? -1 : bm_machine_conflict(&a->pat, t, e); - bool pending = sel && a->mach_trk == t && e != a->pat.trk[t].engine; - snprintf(b, sizeof b, pending ? "< %s >" : "%s", bm_engine_names[e % ENG_COUNT]); - gfx_text(g, 28, y + 2, b, fixed ? C_GREY : other >= 0 ? C_DGREY : sel ? C_WHITE : C_GREY, 1); - if (fixed) gfx_small(g, 236 - gfx_small_w("FIXED"), y + 3, "FIXED", C_DGREY); - else if (other >= 0) { snprintf(b, sizeof b, TF("ON T%d"), other + 1); gfx_small(g, 236 - gfx_small_w(b), y + 3, b, C_GREY); } - else if (pending && a->mach_arm == 1) { - uint32_t dt = a->now - a->mach_t0; - unsigned left = dt >= BM_MACH_MS ? 0 : (unsigned)(BM_MACH_MS - dt + 99) / 100; - snprintf(b, sizeof b, TF("LOAD IN %u.%u S"), left / 10, left % 10); - gfx_small(g, 236 - gfx_small_w(b), y + 3, b, C_YELLOW); - gfx_fill(g, 2, y + 11, (int)(dt >= BM_MACH_MS ? 236 : dt * 236u / BM_MACH_MS), 1, C_WHITE); - } else if (!pending) gfx_small(g, 236 - gfx_small_w(bm_machine_origin(e)), y + 3, bm_machine_origin(e), C_DGREY); + const uint8_t *p = L.p, *mods = L.mods, car = L.car; + const int8_t *fb = L.fb; + const int *bx = L.bx, *by = L.by, alg = L.alg; + gfx_rect(g, x0, y0, w, h, C_DDGREY); + grid(g, x0 + 2, y0 + 2, w - 4, h - 4, 8); + uint16_t tc = bm_track_color(t); + for (int j = 0; j < 6; j++) + for (int i = 0; i < 6; i++) + if (mods[j] & (1u << i)) gfx_line(g, bx[i] + 9, by[i] + 12, bx[j] + 9, by[j], C_GREY); + for (int i = 0; i < 6; i++) if ((car >> i) & 1) gfx_vline(g, bx[i] + 9, by[i] + 12, y0 + h - 14 - by[i] - 12, C_GREY); + gfx_hline(g, x0 + 4, y0 + h - 14, w - 8, C_DGREY); + if (fb[0] >= 0 && fb[1] >= 0) { + int a0 = fb[0], a1 = fb[1]; + int xr = bx[a0] + 20; + gfx_hline(g, bx[a0] + 18, by[a0] + 6, 4, C_ORANGE); + gfx_vline(g, xr, by[a1] - 3, by[a0] + 6 - (by[a1] - 3) + 1, C_ORANGE); + gfx_hline(g, bx[a1] + 9, by[a1] - 3, xr - bx[a1] - 9, C_ORANGE); + gfx_vline(g, bx[a1] + 9, by[a1] - 3, 3, C_ORANGE); } - note_s(g, VB - 6, "SELECT = TRACK ALGORITHM = MACHINE (2 S)"); -} - -static void draw_sound(bm_gfx *g, const bm_app *a); - -/* El GLO de la máquina (GLO dentro de ella; GLO otra vez = de vuelta): SELECT la fila, ALGORITHM el valor */ -static void draw_more(bm_gfx *g, const bm_app *a) -{ - int n = bm_app_more_count(a), t = a->track; - char v[40]; - if (gfx_strip_hit(g, PY, 9)) { - if (t >= BM_TR_TRACKS) { - snprintf(v, sizeof v, TF("CHANGE: HOLD T%d ON HOME + ALG"), t + 1); - gfx_small(g, 4, PY + 1, v, C_GREY); - } else gfx_small(g, 4, PY + 1, "FIXED MACHINE", C_DGREY); - } - int first = a->more_row > 7 ? a->more_row - 7 : 0; - for (int i = 0; i < 8 && first + i < n; i++) { - const char *nm; - int y = PY + 9 + i * 11; - if (!gfx_strip_hit(g, y, 11)) continue; /* la fila, solo si se dibuja */ - bm_app_more_row(a, first + i, &nm, v, sizeof v); - row(g, y, first + i == a->more_row, nm, v); + char b[12]; + for (int i = 0; i < 6; i++) { + const uint8_t *o = p + i * BM_FM_OP; + bool c = (car >> i) & 1; + int lv = o[FMO_OL] * 16 / 99; + gfx_fill(g, bx[i], by[i], 18, 12, c ? tc : C_DGREY); + gfx_fill(g, bx[i], by[i] + 12 - lv * 12 / 16, 2, lv * 12 / 16, C_WHITE); + if (sel == 5 - i) gfx_rect(g, bx[i] - 2, by[i] - 2, 22, 16, C_WHITE); /* el operador que se edita */ + snprintf(b, sizeof b, "%d", 6 - i); + gfx_text(g, bx[i] + 7, by[i] + 3, b, c ? C_BLACK : C_WHITE, 1); } -} - -static void draw_sound(bm_gfx *g, const bm_app *a) -{ - int t = a->track; - if (bm_is_tr(&a->pat, t)) { - if (gfx_strip_hit(g, PY, 9)) { - gfx_text(g, 4, PY, "KIT", C_GREY, 1); gfx_text(g, 28, PY, bm_sound_name(a, t), C_WHITE, 1); - gfx_small(g, 80, PY + 1, "MODELED", C_ORANGE); - if (hints_on) gfx_small(g, 150, PY + 1, "PRESETS = ANOTHER KIT", C_GREY); - } - lane_pads(g, a, t, PY + 10, 22); - return; + snprintf(b, sizeof b, "ALG %d", alg + 1); + gfx_text(g, x0 + 4, y0 + h - 10, b, C_ORANGE, 1); + snprintf(b, sizeof b, "FB %d", p[BM_FM_FB]); + gfx_small(g, x0 + 56, y0 + h - 9, b, C_ORANGE); + for (int i = 0; i < 6; i++) { + const uint8_t *o = p + (5 - i) * BM_FM_OP; + int fc = o[FMO_FC], ff = o[FMO_FF]; + if (o[FMO_MODE]) snprintf(b, sizeof b, "FX"); + else { int r100 = (fc ? fc * 100 : 50) * (100 + ff) / 100; if (r100 % 100) snprintf(b, sizeof b, "%d.%d", r100 / 100, r100 % 100 / 10); else snprintf(b, sizeof b, "%d", r100 / 100); } + gfx_small(g, x0 + 86 + i * 24, y0 + h - 9, b, i == sel ? C_WHITE : C_GREY); } - draw_editor(g, a); /* las 5 máquinas de notas: sus páginas */ } -static void draw_inst(bm_gfx *g, const bm_app *a) { draw_editor(g, a); } - -static void draw_ch_mix(bm_gfx *g, const bm_app *a) +/* una envolvente de 4 tramos (tiempos 0..1 de ancho relativo, niveles 0..1) en un recuadro */ +static void env_shape(bm_gfx *g, int x0, int y0, int w, int h, const float tm[4], const float lv[4], float start, uint16_t c) { - int t = a->track; - const bm_track *tr = &a->pat.trk[t]; - static const char *const NM[4] = {"LEVEL", "PAN", "DELAY", "REVERB"}; - const int val[4] = {tr->level, tr->pan, tr->send, tr->rsend}; - if (a->mix_page) { /* la sub-página DUCK: solo K1 */ - char d[30]; - if (gfx_strip_hit(g, PY + 2, 76)) { - gfx_text(g, 6, PY + 2, "DUCK (SIDECHAIN FROM T1)", bm_knob_color(0), 1); - gfx_fill(g, 6, PY + 20, 228, 12, C_DDGREY); - if (t) gfx_fill(g, 6, PY + 20, tr->duck * 228 / 127, 12, bm_knob_color(0)); - if (t) snprintf(d, sizeof d, "%d%%", tr->duck * 100 / 127); else snprintf(d, sizeof d, "T1 IS THE SOURCE"); - gfx_text(g, 6, PY + 40, d, C_WHITE, 2); - } - hint_s(g, PY + 86, "K1 = DUCK - SELECT LEFT = LEVEL, PAN, SENDS"); - return; - } + if (!gfx_strip_hit(g, y0, h + 1)) return; + gfx_rect(g, x0, y0, w, h, C_DDGREY); + float sum = tm[0] + tm[1] + tm[2] + tm[3]; + if (sum <= 0.0f) sum = 1.0f; + int x = x0 + 2, y = y0 + h - 2 - (int)(start * (float)(h - 4)); for (int i = 0; i < 4; i++) { - int x = 6 + i * 58; - if (!gfx_strip_hit(g, PY + 2, 76)) break; - gfx_text(g, x, PY + 2, NM[i], bm_knob_color(i), 1); - gfx_fill(g, x + 10, PY + 13, 20, 60, C_DDGREY); - if (i == 1) { int c = x + 20, p = (val[1] - 64) * 10 / 64; gfx_fill(g, p < 0 ? c + p : c, PY + 13, p < 0 ? -p : (p ? p : 1), 60, bm_knob_color(1)); continue; } - int h = val[i] * 60 / 127; - gfx_fill(g, x + 10, PY + 73 - h, 20, h, bm_knob_color(i)); - } - int pk = a->ctx.st.peak[t] * 228 / 255; - if (gfx_strip_hit(g, PY + 78, 6)) { gfx_fill(g, 6, PY + 78, 228, 4, C_DDGREY); gfx_fill(g, 6, PY + 78, pk, 4, C_GREEN); } - char b[30]; - if (t) snprintf(b, sizeof b, TF("DUCK %d%% (FX AGAIN: K1)"), tr->duck * 100 / 127); else snprintf(b, sizeof b, "T1 IS THE SIDECHAIN SOURCE"); - hint_s(g, PY + 86, a->mix_page && t ? "K1 = DUCK (T1 SIDECHAIN)" : b); - hint_s(g, PY + 94, "HOME + FX = DELAY, REVERB AND SIDECHAIN"); -} - -/* TAKES: las tomas guardadas, con la onda de la marcada. */ -static void draw_takes(bm_gfx *g, const bm_app *a) -{ - uint8_t list[BM_TAKES + 8]; - int n = bm_app_sources(a, list); - int first = a->takes_row > 2 ? a->takes_row - 2 : 0; - char b[30]; - if (!n && gfx_strip_hit(g, PY + 14, 30)) { - gfx_text_c(g, 120, PY + 18, "NO TAKES YET", C_WHITE, 1); - gfx_text_c(g, 120, PY + 30, "REC = RECORD ONE", C_GREY, 1); - } - for (int i = 0; i < 3 && first + i < n; i++) { - int y = PY + i * 12, e = first + i; - if (!gfx_strip_hit(g, y, 12)) continue; - uint8_t s = list[e]; - bool sel = e == a->takes_row; - if (sel) { gfx_fill(g, 0, y, 240, 11, C_DDGREY); gfx_fill(g, 0, y, 2, 11, C_CYAN); } - bm_app_src_name(a, s, b, sizeof b); - gfx_text(g, 4, y + 2, b, sel ? C_WHITE : C_GREY, 1); - if (s & BM_SRC_ROM) continue; - unsigned ds = (unsigned)(a->take[s].len * 10u / BM_SMP_RATE); - snprintf(b, sizeof b, TF("%d BPM %d BAR %u.%uS"), (a->take[s].bpm_x10 + 5) / 10, a->take[s].bars, ds / 10, ds % 10); - gfx_small(g, 230 - gfx_small_w(b), y + 3, b, C_GREY); - int pads = 0; - for (int k = 0; k < BM_LANES; k++) pads += bm_pad_ok(&a->pat.pad[k]) && a->pat.pad[k].src == s; - if (pads) gfx_disc(g, 235, y + 5, 2, bm_track_color(1)); - if ((a->take_dirty >> s) & 1) gfx_disc(g, 235, y + 5, 2, C_ORANGE); - } - uint8_t src = bm_app_takes_sel(a); - if (src < BM_TAKES && a->take[src].valid && gfx_strip_hit(g, PY + 38, 28)) { - int y = PY + 38, h = 26; - gfx_fill(g, 4, y, 232, h, C_DDGREY); - for (int x = 0; x < 232; x++) { - int pk = a->wave_ov[x] * (h / 2 - 1) / 255; - gfx_vline(g, 4 + x, y + h / 2 - pk, 2 * pk + 1, bm_track_color(1)); - } - for (int k = 1; k < 16; k++) gfx_vline(g, 4 + k * 232 / 16, y + h - 3, 3, C_GREY); - const bm_status *st = &a->ctx.st; - if (st->smp_pos_src == 0 && st->smp_pos < a->take[src].len) - gfx_vline(g, 4 + (int)((uint64_t)st->smp_pos * 231u / a->take[src].len), y, h, C_ORANGE); - } - /* las tomas: hasta 6 s en total, en la zona que comparten con los sonidos */ - uint32_t total = BM_TAKES_MAX_LEN, freeb = bm_takes_free(a->take); - if (gfx_strip_hit(g, PY + 67, 12)) { - unsigned fs = (unsigned)(freeb * 10u / BM_SMP_RATE); - snprintf(b, sizeof b, TF("FREE %u.%u S - %d SOUNDS ON TOP"), fs / 10, fs % 10, bm_snaps_user_n()); - gfx_small(g, 4, PY + 67, b, C_GREY); - uint32_t used = total > freeb ? total - freeb : 0; - gfx_fill(g, 4, PY + 75, 232, 3, C_DDGREY); - gfx_fill(g, 4, PY + 75, (int)(used * 232u / total), 3, C_GREY); - } - snprintf(b, sizeof b, TF("BLACK 4 = THE TAKE ON PAD %d"), (a->sel_lane[1] & 15) + 1); - hint_s(g, PY + 81, "KIT FROM THIS TAKE: BLACK 1 HITS, 2 = 16, 3 = 8"); - hint_s(g, PY + 89, b); + int nx = x + (int)(tm[i] / sum * (float)(w - 4)), ny = y0 + h - 2 - (int)(lv[i] * (float)(h - 4)); + gfx_line(g, x, y, nx, ny, c); + x = nx; y = ny; + } } -static void draw_rec(bm_gfx *g, const bm_app *a) +/* Las cuatro perillas como una lista (GLO, ARP, LFO...): una fila por perilla, en su orden, con su + * dial en su color, el nombre y el valor grande. Es la única vez que se dibujan (sin la franja). */ +static void mach_list(bm_gfx *g, const bm_app *a, int y0, int rh) { - const bm_status *st = &a->ctx.st; - char b[30]; - uint32_t room = st->smp_rec || st->smp_armed ? (st->smp_cap ? st->smp_cap : BM_SMP_REC_MAX) : bm_app_rec_room(a); - uint32_t used = st->smp_rec ? st->smp_len : (st->smp_unsaved ? st->smp_len : 0); - const char *lbl; uint16_t lc, big; - if (st->smp_rec) { lbl = "REC"; lc = C_RED; big = C_RED; } - else if (st->smp_armed) { lbl = "ARMED"; lc = C_YELLOW; big = C_WHITE; } - else if (st->smp_unsaved) { lbl = "UNSAVED"; lc = C_GREEN; big = C_GREEN; } - else { lbl = "READY"; lc = C_GREY; big = C_WHITE; } - if (gfx_strip_hit(g, PY, 12)) { - int w = gfx_text_w(lbl, 1) + 8; - gfx_fill(g, 4, PY, w, 11, lc); - gfx_text(g, 8, PY + 2, lbl, C_BLACK, 1); - gfx_text_r(g, 236, PY + 2, "SOURCE: MIX", C_GREY, 1); - } - uint32_t show = st->smp_unsaved && !st->smp_rec ? used : (room > used ? room - used : 0); - unsigned ds = (unsigned)(show * 10u / BM_SMP_RATE); - if (gfx_strip_hit(g, PY + 14, 30)) { - snprintf(b, sizeof b, "%u.%u", ds / 10, ds % 10); - int w = gfx_text(g, 8, PY + 14, b, big, 4); - gfx_text(g, 16 + w, PY + 16, "S", C_GREY, 2); - gfx_text(g, 16 + w, PY + 32, st->smp_unsaved && !st->smp_rec ? "RECORDED" : st->smp_rec ? "LEFT" : "AVAILABLE", C_GREY, 1); - } - if (gfx_strip_hit(g, PY + 46, 6)) { - unsigned fs = (unsigned)(bm_takes_free(a->take) * 10u / BM_SMP_RATE); - snprintf(b, sizeof b, TF("TAKES: FREE %u.%u OF 6 S"), fs / 10, fs % 10); - gfx_small(g, 4, PY + 46, b, C_GREY); - gfx_small(g, 236 - gfx_small_w("MAX 3.0 S PER TAKE"), PY + 46, "MAX 3.0 S PER TAKE", C_GREY); - } - int y = PY + 54; - if (gfx_strip_hit(g, y, 20)) { - gfx_fill(g, 4, y, 232, 11, C_DDGREY); - uint32_t cap = BM_SMP_REC_MAX; - int uw = (int)((uint64_t)used * 232u / cap); - gfx_fill(g, 4, y, uw, 11, st->smp_rec ? C_RED : st->smp_unsaved ? C_GREEN : C_DGREY); - uint32_t bar = (uint32_t)BM_SMP_RATE * 2400u / a->pat.meta.bpm_x10; - for (uint32_t k = 1; k * bar < cap; k++) gfx_vline(g, 4 + (int)(k * bar * 232u / cap), y, 11, C_WHITE); - int cx = 4 + (int)((uint64_t)room * 232u / cap); - gfx_fill(g, cx - 1, y - 2, 2, 15, C_YELLOW); - unsigned bs = (unsigned)(bar * 10u / BM_SMP_RATE); - snprintf(b, sizeof b, TF("1 BAR = %u.%u S"), bs / 10, bs % 10); - gfx_small(g, 4, y + 13, b, C_GREY); - gfx_small(g, 236 - gfx_small_w(room < cap ? "LIMIT: MEMORY" : "LIMIT: RECORDING RAM"), y + 13, room < cap ? "LIMIT: MEMORY" : "LIMIT: RECORDING RAM", C_YELLOW); - } - /* la grabadora cambia de estado sola: lo que hace REC (y HOME) se ve siempre */ - if (st->smp_rec) { note_s(g, PY + 78, "REC = STOP - STOPS BY ITSELF AT THE LIMIT"); hint_s(g, PY + 86, "DELAY AND PUNCH-IN PAUSED WHILE RECORDING"); } - else if (st->smp_armed) { note_s(g, PY + 78, "STARTS ON THE BAR - REC AGAIN = CANCEL"); hint_s(g, PY + 86, "KEYS ARE SILENT IN THE RECORDER"); } - else if (st->smp_unsaved) { hint_s(g, PY + 78, "IT SAVES WHEN YOU STOP - WHITES = LISTEN"); note_s(g, PY + 86, "HOME = DISCARD? - REC = ANOTHER TAKE"); } - else { note_s(g, PY + 78, "REC = ARM (K1: BAR OR NOW)"); hint_s(g, PY + 86, "HOLD REC = RECORD WHILE HELD"); } -} - -/* ------------------------------------------------------------ ENV, LFO, FX */ -static void draw_fx(bm_gfx *g, const bm_app *a) + static bm_legend L[4]; /* una vez por cuadro, no por franja */ + static uint32_t lf; + if (lf != g->frame) { lf = g->frame; bm_app_legend(a, L); } + for (int k = 0; k < 4; k++) { + int y = y0 + k * rh, h = rh - 3, cy = y + h / 2; + if (!L[k].name[0] || !gfx_strip_hit(g, y, h)) continue; + uint16_t kc = bm_knob_color(k); + bool hi = a->ov.on && a->ov.enc == k; + gfx_fill(g, 2, y, 236, h, C_DDGREY); + if (hi) gfx_rect(g, 2, y, 236, h, kc); + draw_dial(g, 19, cy, L[k].pct, -1, kc, hi); + gfx_text(g, 40, cy - 3, T(L[k].name), kc, 1); + int s = gfx_text_w(L[k].val, 2) > 236 - 110 ? 1 : 2; + gfx_text_r(g, 233, cy - (s == 2 ? 7 : 3), L[k].val, C_WHITE, s); + } +} + +/* ------------------------------------------------------------ BB-303: el panel de la TB-303 */ +/* una perilla del panel: de 7:00 a 5:00, como las de la 303; el aro con el color de la perilla del + * FM-1 que la mueve (o gris si ninguna la mueve en esta página) */ +static void dial(bm_gfx *g, int cx, int cy, int r, int v, int max, uint16_t ring, const char *name) +{ + if (!gfx_strip_hit(g, cy - r, 2 * r + 22)) return; + gfx_disc(g, cx, cy, r, ring); + gfx_disc(g, cx, cy, r - 2, C_DGREY); + float ang = (-135.0f + 270.0f * (float)v / (float)(max > 0 ? max : 1)) * 0.0174533f; + gfx_line(g, cx, cy, cx + (int)(sinf(ang) * (float)(r - 2)), cy - (int)(cosf(ang) * (float)(r - 2)), ring == C_DDGREY ? C_GREY : C_WHITE); + uint16_t nc = ring == C_DDGREY ? C_DGREY : C_WHITE; /* el nombre, grande (se lee); dos palabras, dos renglones */ + const char *sp = strchr(name, ' '); + if (!sp) { gfx_text(g, cx - gfx_text_w(name, 1) / 2, cy + r + 4, name, nc, 1); return; } + char w1[12]; + snprintf(w1, sizeof w1, "%.*s", (int)(sp - name), name); + gfx_text(g, cx - gfx_text_w(w1, 1) / 2, cy + r + 4, w1, nc, 1); + gfx_text(g, cx - gfx_text_w(sp + 1, 1) / 2, cy + r + 13, sp + 1, nc, 1); +} + +/* ------------------------------------------------------------ el dibujo de lo que se mueve + * (2026-10-22) Debajo del panel, en el lugar que dejó la franja de perillas: la curva del filtro, la + * forma de la onda o el contorno de la sección que se edita. */ +#define PIC_X 6 +#define PIC_W 228 +enum { FC_LP4, FC_LP2, FC_BP, FC_HP, FC_FLAT }; + +/* La respuesta del filtro de 20 Hz a 20 kHz (eje logarítmico): el corte en Hz y RESO de 0 a 127. La curva se + * calcula solo cuando cambia (powf por columna). */ +static void filter_curve(bm_gfx *g, int y0, int h, float fc, int res, int type, uint16_t col) { - const bm_meta *m = &a->pat.meta; - static const char *const DT[4] = {"1/16", "1/8", "3/16", "1/4"}; - char b[24]; - int pg = a->fx_page % FXP_COUNT; - if (a->sloop) { draw_sloop(g, a); return; } - home_pages(g, a, NULL, C_WHITE); - if (pg == FXP_CHANNEL) { /* el canal del cursor: DRIVE PAN DUCK BEAT FX */ - int t = a->track; - const bm_track *tr = &a->pat.trk[t]; - uint16_t col = bm_track_color(t); - if (gfx_strip_hit(g, 37, 10)) { - snprintf(b, sizeof b, "T%d %s", t + 1, bm_track_name(a, t)); - gfx_text(g, 6, 38, b, col, 1); - gfx_small(g, 236 - gfx_small_w("W11-16 = TRACK"), 39, "W11-16 = TRACK", C_DGREY); - } - static const char *const NM[4] = {"DRIVE", "PAN", "DUCK", "BEAT FX"}; - for (int i = 0; i < 4; i++) { - int x = 6 + i * 58, y = 49; - if (!gfx_strip_hit(g, y, 58)) break; - uint16_t kc = bm_knob_color(i); - gfx_text(g, x, y, NM[i], kc, 1); - gfx_fill(g, x + 10, y + 11, 20, 40, C_DDGREY); - if (i == 1) { int c = x + 20, p = (tr->pan - 64) * 10 / 64; gfx_fill(g, p < 0 ? c + p : c, y + 11, p < 0 ? -p : (p ? p : 1), 40, kc); continue; } - int v = i == 0 ? tr->drive : i == 2 ? (t ? tr->duck : 0) : (tr->bfx_off ? 0 : 127); - int h = v * 40 / 127; - gfx_fill(g, x + 10, y + 51 - h, 20, h, kc); - if (i == 3) gfx_text_c(g, x + 20, y + 26, tr->bfx_off ? "OFF" : "ON", tr->bfx_off ? C_GREY : C_BLACK, 1); - if (i == 0 && !tr->drive) gfx_text_c(g, x + 20, y + 26, "OFF", C_GREY, 1); - if (i == 2 && !t) gfx_small(g, x + 2, y + 26, "SOURCE", C_GREY); - } - if (gfx_strip_hit(g, 110, 9)) { /* qué canales toca el BEAT FX (ahora suena el de MASTER) */ - gfx_small(g, 6, 112, "BEAT FX", C_GREY); - for (int i = 0; i < BM_TRACKS; i++) { - bool on = !a->pat.trk[i].bfx_off; - snprintf(b, sizeof b, "%d", i + 1); - gfx_fill(g, 40 + i * 14, 110, 12, 9, on ? bm_track_color(i) : C_DDGREY); - gfx_small(g, 44 + i * 14, 112, b, on ? C_BLACK : C_GREY); - } - snprintf(b, sizeof b, "%s", m->beatfx ? "" : T("MASTER > K2 PICKS IT")); - if (b[0]) gfx_small(g, 128, 112, b, C_DGREY); + if (!gfx_strip_hit(g, y0, h + 1)) return; + static int16_t ys[PIC_W]; + static int key[5] = {-1, -1, -1, -1, -1}; + int k[5] = {(int)fc, res, type, y0, h}; + if (memcmp(k, key, sizeof k)) { + memcpy(key, k, sizeof k); + float q = 0.6f + (float)res / 127.0f * 7.0f; + for (int x = 0; x < PIC_W; x++) { + float r = 20.0f * powf(1000.0f, (float)x / (float)(PIC_W - 1)) / fc; + float d = sqrtf((1.0f - r * r) * (1.0f - r * r) + (r / q) * (r / q)); + float m = type == FC_HP ? r * r / d : type == FC_BP ? (r / q) / d : type == FC_FLAT ? 1.0f : 1.0f / d; + if (type == FC_LP4) m /= sqrtf((1.0f - r * r) * (1.0f - r * r) + 2.0f * r * r); /* y dos polos más */ + float db = 20.0f * log10f(m > 1e-6f ? m : 1e-6f); + if (db > 18.0f) db = 18.0f; + if (db < -42.0f) db = -42.0f; + ys[x] = (int16_t)(y0 + 2 + (int)((18.0f - db) / 60.0f * (float)(h - 4))); } - hint_s(g, 124, "FX AGAIN = NEXT PAGE"); - return; } - if (pg == FXP_MASTER) { /* MASTER: filtro, BEAT FX y drive */ - static const char *const BF[17] = {"OFF", "STUT4", "STUT8", "STUT16", "STUT32", "REV8", "REV4", "TAPE", "GATE", - "LPF", "HPF", "BIT", "SR", "THROW", "FREEZE", "KILL LO", "KILL HI"}; - char f[16]; - if (m->mfilt >= 60 && m->mfilt <= 68) snprintf(f, sizeof f, "OPEN"); - else if (m->mfilt < 60) snprintf(f, sizeof f, "LP %d", m->mfilt); - else snprintf(f, sizeof f, "HP %d", m->mfilt - 64); - gfx_rect(g, 4, 48, 112, 56, C_CYAN); - gfx_text(g, 8, 52, "FILTER", C_CYAN, 1); - gfx_text(g, 8, 66, f, C_WHITE, 2); - gfx_rect(g, 122, 48, 114, 56, C_ORANGE); - gfx_text(g, 126, 52, "BEAT FX", C_ORANGE, 1); - gfx_text(g, 126, 66, BF[m->beatfx % 17], m->beatfx ? C_PINK : C_GREY, 2); - snprintf(b, sizeof b, "DRIVE %d%%", a->set.drive * 100 / 127); - gfx_small(g, 6, 110, b, C_GREEN); - hint_s(g, 120, "FX AGAIN = NEXT PAGE"); - return; + int base = y0 + h - 2; + gfx_rect(g, PIC_X - 2, y0, PIC_W + 4, h, C_DDGREY); + for (int f = 100; f <= 10000; f *= 10) gfx_vline(g, PIC_X + (int)(log10f((float)f / 20.0f) / 3.0f * (float)(PIC_W - 1)), y0 + 1, h - 2, C_DDGREY); + gfx_hline(g, PIC_X, y0 + 2 + (h - 4) * 18 / 60, PIC_W, C_DDGREY); /* 0 dB */ + uint16_t fill = dim(dim(col)); + for (int x = 0; x < PIC_W; x++) { + int y = ys[x]; + if (y < base) gfx_vline(g, PIC_X + x, y, base - y, fill); + if (x) hit_seg(g, PIC_X + x - 1, ys[x - 1], PIC_X + x, y, col); } - gfx_rect(g, 4, 48, 74, 56, pg == FXP_REVERB ? C_DGREY : C_CYAN); - gfx_text(g, 8, 52, "DELAY", C_CYAN, 1); - gfx_text(g, 8, 64, DT[m->dly_time & 3], C_WHITE, 2); - snprintf(b, sizeof b, "FB %d%%", m->dly_fb * 100 / 127); gfx_small(g, 8, 84, b, C_ORANGE); - snprintf(b, sizeof b, "MIX %d%%", m->dly_mix * 100 / 127); gfx_small(g, 8, 92, b, C_GREEN); - gfx_rect(g, 82, 48, 74, 56, pg == FXP_REVERB ? C_PINK : C_DGREY); - gfx_text(g, 86, 52, "REVERB", C_PINK, 1); - snprintf(b, sizeof b, "%d%%", m->rv_size * 100 / 127); gfx_text(g, 86, 64, b, C_WHITE, 2); - snprintf(b, sizeof b, "DAMP %d%%", m->rv_damp * 100 / 127); gfx_small(g, 86, 84, b, C_ORANGE); - snprintf(b, sizeof b, "MIX %d%%", m->rv_mix * 100 / 127); gfx_small(g, 86, 92, b, C_GREEN); - gfx_rect(g, 160, 48, 76, 56, C_DGREY); - gfx_text(g, 164, 52, "DUCK", C_ORANGE, 1); - for (int t = 1; t < BM_TRACKS; t++) { - int x = 164 + (t - 1) * 14; - gfx_fill(g, x, 66, 10, 30, C_DDGREY); - int h = a->pat.trk[t].duck * 30 / 127; - gfx_fill(g, x, 96 - h, 10, h, bm_track_color(t)); - } - if (a->ctx.arena_busy) { gfx_fill(g, 4, 48, 74, 56, C_DDGREY); gfx_small(g, 8, 70, "PAUSED: TAKE", C_ORANGE); gfx_small(g, 8, 78, "NOT SAVED YET", C_ORANGE); } - hint_s(g, 112, "FX AGAIN = NEXT PAGE"); - hint_s(g, 120, "HOLD FX = PUNCH-IN"); } -/* ------------------------------------------------------------ escala y acordes */ -static void draw_keyboard(bm_gfx *g, const bm_app *a, int ky, int kh) -{ - int t = a->track, root, sc = app_scale(a, t, &root); - int base_oct = (app_engine(a, t) == ENG_ACID || app_engine(a, t) == ENG_MINI ? 2 : 3) + a->oct; /* las de bajo, una octava abajo */ - char b[12]; - if (!gfx_strip_hit(g, ky, kh + 2)) return; - int n = bm_scale_len(sc); - for (int i = 0; i < BM_WHITES; i++) { - int x = i * 15, k = bm_white_key(i); - uint16_t c = (i % n == 0) ? C_ORANGE : C_WHITE; - if (a->keys_down[k]) c = bm_track_color(t); - gfx_fill(g, x, ky, 14, kh, c); - int note = bm_scale_note(root, sc, i, base_oct); - snprintf(b, sizeof b, "%s", bm_note_names[note % 12]); - gfx_small(g, x + 7 - gfx_small_w(b) / 2, ky + kh - 14, b, C_BLACK); - snprintf(b, sizeof b, "%d", note / 12 - 1); - gfx_small(g, x + 6, ky + kh - 7, b, C_DGREY); - } - for (int i = 0; i < BM_BLACKS; i++) { - int k = bm_black_key(i), wi = bm_key_white_index(k - 1), x = wi * 15 + 9; - uint16_t c = a->keys_down[k] ? bm_track_color(t) : C_DDGREY; - gfx_fill(g, x, ky, 11, kh * 6 / 10, c); - gfx_rect(g, x, ky, 11, kh * 6 / 10, C_BLACK); - if (i < 7) { - char nm[10]; - bm_chord_name(root, sc, i, 0, nm, sizeof nm); - nm[3] = 0; - gfx_small(g, x + 1, ky + kh * 6 / 10 - 8, nm, a->keys_down[k] ? C_BLACK : C_WHITE); - } else { - static const char *const MODS[4] = {"+7", "+9", "S2", "S4"}; - gfx_small(g, x + 2, ky + kh * 6 / 10 - 8, MODS[i - 7], a->keys_down[k] ? C_BLACK : C_YELLOW); - } +/* Dos ciclos de una forma de onda (fn devuelve -1..1 para una fase 0..2: dos ciclos, para que el + * sub de una octava abajo haga uno) */ +typedef float (*wave_fn)(const bm_app *a, float ph2); +static void osc_shape(bm_gfx *g, const bm_app *a, int y0, int h, wave_fn fn, uint16_t col) +{ + if (!gfx_strip_hit(g, y0, h + 1)) return; + int mid = y0 + h / 2, amp = h / 2 - 4, py = mid; + gfx_rect(g, PIC_X - 2, y0, PIC_W + 4, h, C_DDGREY); + gfx_hline(g, PIC_X, mid, PIC_W, C_DDGREY); + for (int x = 0; x < PIC_W; x++) { + float v = fn(a, (float)x * 2.0f / (float)PIC_W); + int y = mid - (int)((v > 1.0f ? 1.0f : v < -1.0f ? -1.0f : v) * (float)amp); + if (x) hit_seg(g, PIC_X + x - 1, py, PIC_X + x, y, col); + py = y; } } -static void draw_scl(bm_gfx *g, const bm_app *a, int project) +static float frac1(float x) { return x - (float)(int)x; } + +/* SCL del BB-303 y del B-MINI: el roll de la página de 16 pasos y debajo el ACCENT y el SLIDE (o GLIDE) + * de cada paso; la fila que se edita, encendida */ +static void draw_scl(bm_gfx *g, const bm_app *a, const char *row2) { - const bm_meta *m = &a->pat.meta; - const bm_track *tr = &a->pat.trk[a->track]; - char b[30]; - int root = m->root, sc = m->scale; - if (!project && tr->scl != 0xFF) { root = tr->scl_root; sc = tr->scl; } - int y = project ? 28 : PY; - if (gfx_strip_hit(g, y, 26)) { - gfx_text(g, 6, y, project ? "PROJECT SCALE" : (tr->scl == 0xFF ? "SCALE (FROM THE PROJECT)" : "OWN TRACK SCALE"), C_GREY, 1); - snprintf(b, sizeof b, "%s %s", bm_note_names[root % 12], T(bm_scale_names[sc % BM_SCALES])); - gfx_text(g, 6, y + 10, b, C_WHITE, 2); - if (a->chord_name[0]) gfx_text_r(g, 234, y + 10, a->chord_name, C_ORANGE, 2); - } - if (app_kind(a, a->track) == KIND_NOTE || project) draw_keyboard(g, a, y + 28, VB - y - 36); - else gfx_text_c(g, 120, 90, "PICK A NOTE TRACK", C_GREY, 1); - hint_s(g, VB - 6, project ? "FOR TRACKS WITHOUT THEIR OWN SCALE" : "SCL AGAIN: CHORDS - HOME + SCL: PROJECT"); + int t = a->track; + const bm_bx7ui *u = &a->bx; + bool sl = u->sub[BXP_SCL] % 2 != 0; + int L = mach_len(a); + draw_seq_roll(g, a, t, 39, 82, false, u->blk); + for (int row = 0; row < 2; row++) { + int y = 90 + row * 15; + if (!gfx_strip_hit(g, y, 13)) continue; + bool act = row == (sl ? 1 : 0); + uint16_t rc = row ? C_GREEN : C_ORANGE; + gfx_small(g, 2, y + 3, row ? row2 : "ACC", act ? rc : C_DGREY); + for (int w = 0; w < 16; w++) { + int s = u->blk * 16 + w, x = 20 + w * 14; + if (s >= L) continue; + bool has = false, on = false; + for (int e = 0; e < BM_EVENTS; e++) { + const bm_event *ev = bm_evc(&a->pat, t, s, e); + if (bm_event_empty(ev)) continue; + has = true; + on |= row ? (ev->len & BM_LEN_TIE) != 0 : ev->vel >= BM_VEL_ACC; + } + if (on) gfx_fill(g, x, y, 12, 12, act ? rc : dim(rc)); + else gfx_rect(g, x, y, 12, 12, has ? (act ? C_GREY : C_DGREY) : C_DDGREY); + } + } } -static void draw_chords(bm_gfx *g, const bm_app *a, int y0) +static float wv_303(const bm_app *a, float ph2) /* SAW o SQR, como el interruptor */ { - const bm_meta *m = &a->pat.meta; - char b[24]; - int t = bm_app_chord_track(a), root, sc = app_scale(a, t, &root); - if (gfx_strip_hit(g, y0, 9)) { - snprintf(b, sizeof b, "%s %.5s T%d", bm_note_names[root % 12], T(bm_scale_names[sc % BM_SCALES]), t + 1); - gfx_text(g, 4, y0, b, C_WHITE, 1); - if (a->last_pad >= 0) gfx_text_r(g, 236, y0, a->chord_name, C_WHITE, 1); - } - static const uint16_t FN[3] = {C_CYAN, C_GREEN, C_ORANGE}; - int rh = (VB - y0 - 10) / 4; - for (int p = 0; p < 16; p++) { - int x = (p % 4) * 60, y = y0 + 10 + (p / 4) * rh; - if (!gfx_strip_hit(g, y, rh)) continue; - bm_pad_chord pc = bm_chord_pad(m->chord_set, p); - uint16_t fc = FN[bm_chord_function(pc.degree)]; - int k = bm_white_key(p); - bool on = a->keys_down[k], last = p == a->last_pad; - gfx_fill(g, x + 1, y, 58, rh - 1, on ? fc : (last ? dim(fc) : C_DDGREY)); - gfx_fill(g, x + 1, y, 3, rh - 1, fc); - char rn[10], nm[10]; - bm_roman(root, sc, pc.degree, pc.ext, rn, sizeof rn); - bm_chord_name(root, sc, pc.degree, pc.ext, nm, sizeof nm); - gfx_text(g, x + 8, y + 2, rn, on ? C_BLACK : C_WHITE, 1); - gfx_small(g, x + 8, y + rh - 8, nm, on ? C_BLACK : fc); - } + float p = frac1(ph2); + return (a->pat.prm[a->track][AC_WAVE] & 1) ? (p < 0.5f ? 1.0f : -1.0f) : 1.0f - 2.0f * p; } -/* ------------------------------------------------------------ ARP y LOOP */ -static void draw_arp(bm_gfx *g, const bm_app *a) +static void draw_b303(bm_gfx *g, const bm_app *a) { - static const char *const M[5] = {"OFF", "UP", "DOWN", "UP-DOWN", "RANDOM"}; - static const char *const R[3] = {"1/8", "1/16", "1/32"}; int t = a->track; + const bm_bx7ui *u = &a->bx; const bm_track *tr = &a->pat.trk[t]; - char b[24]; - if (bm_is_grid(&a->pat, t)) return; /* las rejillas: ARP es la capa ROLL (draw_layer) */ - gfx_text(g, 6, PY + 4, M[tr->arp_mode % 5], C_WHITE, 3); - snprintf(b, sizeof b, "%s %d OCT GATE %d%%", R[tr->arp_rate % 3], tr->arp_oct, tr->arp_gate); - note_s(g, PY + 30, b); - const bm_arp *ar = &a->ctx.arp[t]; - for (int i = 0; i < 8; i++) { - int x = 10 + i * 28, h = 8 + i * 5; - if (gfx_strip_hit(g, 122 - h, h)) gfx_fill(g, x, 122 - h, 22, h, i < ar->n ? (ar->playing && ar->cur % 12 == ar->held[i] % 12 ? C_WHITE : bm_track_color(t)) : C_DDGREY); + const uint8_t *p = a->pat.prm[t]; + uint16_t col = bm_track_color(t); + char b[16]; + switch (u->page) { + case BXP_SEQ: /* el piano roll: ACCENT en blanco, SLIDE en verde */ + draw_seq_roll(g, a, t, 39, VB - 10, false, mach_roll_page(a, t)); + return; + case BXP_SCL: /* ACCENT o SLIDE de cada paso: las 16 blancas */ + draw_scl(g, a, "SLD"); + return; + case BXP_LFO: { /* las cuatro perillas y la forma de un ciclo */ + mach_list(g, a, 37, 30); + if (gfx_strip_hit(g, 158, 35)) { + int w = p[AC_LFO_WAVE] % ACW_N, px = -1, py = 0; + uint16_t c = p[AC_LFO_DEPTH] ? col : C_DGREY; + gfx_rect(g, 8, 158, 224, 34, C_DDGREY); + for (int x = 0; x < 222; x++) { + int y = 189 - (int)(bm_acid_lfo_shape(w, (float)x / 222.0f, 0) * 28.0f); + if (px >= 0) gfx_line(g, 8 + px, py, 9 + x, y, c); + px = x + 1; py = y; + } + } + return; + } + case BXP_FX: { /* las tres casillas del TB-03, en su orden */ + int pg = u->sub[BXP_FX] % 2; + for (int i = 0; i < ACF_N; i++) { + int x = 4 + i * 80, y = 44; + if (!gfx_strip_hit(g, y, 46)) continue; + bool on = bm_acid_fx_on(p, i), sel = pg ? i != ACF_OD : i == ACF_OD; + if (on) gfx_fill(g, x, y, 72, 44, dim(col)); + gfx_rect(g, x, y, 72, 44, sel ? C_WHITE : C_DGREY); + if (sel) gfx_rect(g, x + 1, y + 1, 70, 42, C_WHITE); + gfx_small(g, x + 36 - gfx_small_w(T(b303_fx_names[i])) / 2, y + 14, T(b303_fx_names[i]), on ? C_WHITE : C_GREY); + gfx_small(g, x + 36 - gfx_small_w(on ? "ON" : "OFF") / 2, y + 28, on ? "ON" : "OFF", on ? C_ORANGE : C_DGREY); + if (i < ACF_N - 1) { gfx_hline(g, x + 73, y + 22, 6, C_GREY); gfx_line(g, x + 76, y + 19, x + 78, y + 22, C_GREY); gfx_line(g, x + 76, y + 25, x + 78, y + 22, C_GREY); } + } + return; + } + case BXP_GLO: case BXP_ARP: + mach_list(g, a, 40, 38); + return; + default: break; + } + /* el panel: la fila de perillas de la 303 y debajo la forma de onda, el slide y el volumen */ + int pg = u->sub[BXP_MAIN] % 2; + uint16_t k1 = bm_knob_color(0), k2 = bm_knob_color(1), k3 = bm_knob_color(2), k4 = bm_knob_color(3), off = C_DDGREY; + static const char *const NM[6] = {"TUNING", "CUT OFF", "RESO", "ENV MOD", "DECAY", "ACCENT"}; + int val[6] = {tr->transpose, tr->macro[0], tr->macro[1], tr->macro[2], tr->macro[3], tr->accent}; + int mx[6] = {48, 127, 127, 127, 127, 127}; + uint16_t ring[6] = {pg ? k1 : off, pg ? off : k1, pg ? off : k2, pg ? off : k3, pg ? off : k4, C_ORANGE}; + for (int i = 0; i < 6; i++) dial(g, 20 + i * 40, 54, 14, bm_clampi(val[i], 0, mx[i]), mx[i], ring[i], NM[i]); + if (gfx_strip_hit(g, 92, 30)) { + uint16_t wc = pg ? k2 : C_DGREY; + int w = p[AC_WAVE] & 1; + gfx_text(g, 6, 94, "WAVEFORM", pg ? C_WHITE : C_DGREY, 1); + for (int i = 0; i < 2; i++) { /* el interruptor: SAW / SQR */ + int x = 6 + i * 34; + if (i == w) gfx_fill(g, x, 104, 32, 15, wc); else gfx_rect(g, x, 104, 32, 15, C_DGREY); + gfx_text(g, x + 16 - gfx_text_w(i ? "SQR" : "SAW", 1) / 2, 108, i ? "SQR" : "SAW", i == w ? C_BLACK : C_DGREY, 1); + } + static const bxp GL = {"SLIDE", K_TRK, 0, 0, 127, F_GLIDE, NULL}; + mach_fmt(&GL, tr->glide, b, sizeof b); + gfx_text(g, 92, 94, "SLIDE", pg ? C_WHITE : C_DGREY, 1); + gfx_text(g, 92, 105, b, pg ? k3 : C_DGREY, 2); + } + dial(g, 210, 105, 12, tr->level, 127, pg ? k4 : off, "VOLUME"); + /* abajo, lo que mueve la página: el filtro (CUT OFF y RESO) o la onda (SAW / SQR) */ + if (pg) osc_shape(g, a, 134, 58, wv_303, col); + else filter_curve(g, 134, 58, bm_acid_cut_hz(tr->macro[0]), tr->macro[1], FC_LP4, col); +} + +/* ------------------------------------------------------------ las de panel: B-MINI, BUNO-6, BITTAL */ +/* un contorno (ATTACK, DECAY, SUSTAIN, RELEASE) desde sus cuatro bytes de prm */ +static void env_contour(bm_gfx *g, const uint8_t *q, int y0, int h, uint16_t c) +{ + float sus = (float)q[2] / 127.0f; + float tm[4] = {0.05f + (float)q[0] / 127.0f, 0.1f + (float)q[1] / 127.0f, 0.5f, 0.1f + (float)q[3] / 127.0f}; + float lv[4] = {1.0f, sus, sus, 0.0f}; + env_shape(g, 4, y0, 232, h, tm, lv, 0.0f, c); +} + +/* lo que sale del LFO (y de la modulación) en el recuadro de abajo, x 0..1 */ +static float panel_lfo_at(int eng, const uint8_t *p, float x) +{ + float ph = x * 2.0f, f = ph - (float)(int)ph; + float tri = 4.0f * fabsf(f - 0.5f) - 1.0f, sqr = f < 0.5f ? 1.0f : -1.0f; + if (eng == ENG_BUNO) { /* el Juno: triángulo, entra con su DELAY */ + float d = (float)p[BN_LDELAY] / 127.0f, r = d > 0.0f ? x / d : 1.0f; + return tri * (r < 1.0f ? r : 1.0f); + } + if (eng == ENG_BITTAL) { + switch (p[BT_LSHAPE] % BT_LSHAPES) { + case BT_L_SIN: return sinf(ph * 6.2831853f); + case BT_L_SAW: return 2.0f * f - 1.0f; + case BT_L_SQR: return sqr; + case BT_L_SH: { uint32_t r = (uint32_t)(ph * 4.0f) * 2654435761u; return (float)((r >> 24) & 255) / 127.5f - 1.0f; } + default: return tri; + } } - hint_s(g, VB - 6, tr->arp_mode ? "ALWAYS ON IN THIS TRACK" : "HOLD ARP = LIVE ARPEGGIO"); + float s3 = (float)p[MN_MIX] / 127.0f, o3p = ph * 4.0f - (float)(int)(ph * 4.0f), o3; /* B-MINI: MOD MIX, OSC 3 y LFO */ + switch (p[MN_W3] % MN_WAVES) { + case MN_WAVE_TRI: o3 = 4.0f * fabsf(o3p - 0.5f) - 1.0f; break; + case MN_WAVE_SQR: o3 = o3p < 0.5f ? 1.0f : -1.0f; break; + case MN_WAVE_WIDE: o3 = o3p < 0.3f ? 1.0f : -1.0f; break; + case MN_WAVE_NARROW: o3 = o3p < 0.12f ? 1.0f : -1.0f; break; + default: o3 = 2.0f * o3p - 1.0f; break; + } + return (1.0f - s3) * (p[MN_LWAVE] ? sqr : tri) + s3 * o3; } -static void draw_loop(bm_gfx *g, const bm_app *a) +/* BITTAL: la onda de cada tabla en su posición, la que está sonando (con el LFO, las macros y ENV 2) + * o, callado, la del FRAME */ +static void bt_waves(bm_gfx *g, const bm_app *a, int y0, int h, uint16_t col) { - int t = a->track; - const bm_loop *lp = &a->pat.loop[t - 2]; - int mode = a->ctx.st.loop_mode[t - 2]; - static const char *const MN[5] = {"OFF", "ARMED", "RECORDING", "PLAY", "OVERDUB"}; - static const uint16_t MC[5] = {C_GREY, C_YELLOW, C_RED, C_GREEN, C_ORANGE}; - char b[30]; - gfx_text(g, 6, PY + 2, MN[mode % 5], MC[mode % 5], 2); - snprintf(b, sizeof b, TF("%d BARS %d/%d NOTES %s"), lp->bars, lp->n, BM_LOOP_EVENTS, lp->on ? "ON" : "OFF"); - note_s(g, PY + 22, b); - int bx = 6, bw = 228, by = PY + 32, bh = 34; - if (gfx_strip_hit(g, by, bh)) { - gfx_rect(g, bx, by, bw, bh, C_DGREY); - uint32_t L = (uint32_t)(lp->bars ? lp->bars : 2) * BM_BAR_TICKS; - for (int i = 1; i < lp->bars * 4; i++) gfx_vline(g, bx + (int)(bw * (uint32_t)i / (uint32_t)(lp->bars * 4)), by + 1, i % 4 ? 4 : bh - 2, C_DDGREY); - for (int i = 0; i < lp->n; i++) { - if (!lp->ev[i].vel) continue; - int x = bx + (int)((uint32_t)bw * lp->ev[i].tick / L); - int y = by + bh - 4 - (lp->ev[i].note % 24); - gfx_fill(g, x, y, 3, 3, bm_track_color(t)); + if (!gfx_strip_hit(g, y0, h + 1)) return; + static uint32_t seen, still; + uint32_t sq = bm_wv_btseq; + if (sq != seen) { seen = sq; still = 0; } else if (still < 100) still++; + const uint8_t *p = a->pat.prm[a->track]; + for (int o = 0; o < 2; o++) { + int x0 = 4 + o * 118, w = 114, mid = y0 + h / 2; + bool on = p[o ? BT_L2 : BT_L1] > 0; + gfx_rect(g, x0, y0, w, h, C_DDGREY); + gfx_small(g, x0 + 3, y0 + 2, o ? "OSC 2" : "OSC 1", on ? C_GREY : C_DGREY); + if (!bm_wt_ready(o)) continue; + float pos = still < 8 ? bm_wv_btpos[o] : (float)p[o ? BT_P2 : BT_P1] / 127.0f; + int nf = bm_wt_frames(o), n = 0, nb = 0; + float fp = pos * (float)(nf - 1); + int fa = (int)fp, fb = fa + 1 < nf ? fa + 1 : fa; + float ff = fp - (float)fa; + const int16_t *ta = bm_wt_data(o, fa, 0, &n), *tb = bm_wt_data(o, fb, 0, &nb); + if (!ta || !tb || n <= 0 || nb != n) continue; + int py = mid; + for (int x = 0; x < w - 4; x++) { + int i = x * n / (w - 4); + float v = ((float)ta[i] + ff * (float)(tb[i] - ta[i])) * (1.0f / 32768.0f); + int y = mid - (int)(v * (float)(h / 2 - 3)); + if (x) gfx_line(g, x0 + 1 + x, py, x0 + 2 + x, y, on ? col : C_DGREY); + py = y; } - if (mode >= LOOP_REC) gfx_vline(g, bx + (int)((uint32_t)bw * a->ctx.st.loop_pos[t - 2] / L), by, bh, C_WHITE); } - hint_s(g, PY + 72, "REC: RECORD > PLAY > OVERDUB - STARTS ON THE NEXT BAR"); - hint_s(g, PY + 80, "REC 2 S: ERASE THE LOOP"); } -/* ------------------------------------------------------------ globales */ -enum { SYS_ROWS = 11 }; -static void sys_val(const bm_app *a, int i, char *v, int cap) +/* FX de las de panel y del Slicer: DISTORTION > CHORUS > REVERB, la página encendida (s 0: DISTORTION) */ +static void px_fx_boxes(bm_gfx *g, const bm_app *a, int s) { - const bm_settings *s = &a->set; - size_t n = (size_t)cap; - switch (i) { - case 0: snprintf(v, n, "%s", s->clock ? "EXTERNAL" : "INTERNAL"); break; - case 1: snprintf(v, n, "%s", s->sync_mode ? "SPLIT L/R" : "STEREO"); break; - case 2: snprintf(v, n, "%d PPQN", s->sync_ppqn); break; - case 3: snprintf(v, n, "%d MS", s->sync_lat); break; - case 4: snprintf(v, n, "%s", s->autosave ? "ON" : "OFF"); break; - case 5: snprintf(v, n, "%s", s->led_dim == 0 ? "OFF" : (s->led_dim == 1 ? "DIM" : "MEDIUM")); break; - case 6: snprintf(v, n, "%s", s->fast_lcd ? "ON (TEST)" : "OFF"); break; - case 7: snprintf(v, n, "%s", s->dual_core ? "ON (TEST)" : "OFF"); break; - case 8: { - int nt = 0; for (int k = 0; k < BM_TAKES; k++) nt += a->take[k].valid; - unsigned fs = (unsigned)(bm_takes_free(a->take) * 10u / BM_SMP_RATE); - snprintf(v, n, TF("%d+%d, FREE %u.%uS"), nt, bm_snaps_user_n(), fs / 10, fs % 10); - break; - } - case 9: snprintf(v, n, "%s", bm_lang_name()); break; - default: snprintf(v, n, "%s", BM_VERSION_STR); break; + int t = a->track, eng = a->pat.trk[t].engine; + const uint8_t *p = a->pat.prm[t]; + uint16_t col = bm_track_color(t); + for (int i = 0; i < PXF_N; i++) { + int x = 4 + i * 80, y = 44; + if (!gfx_strip_hit(g, y, 46)) continue; + bool on = bm_px_fx_on(p, eng, i), sel = s ? i != PXF_DIST : i == PXF_DIST; + int ch = bm_px_chorus(p, eng); + const char *st = i == PXF_CHORUS ? (eng == ENG_BUNO ? bm_bn_chorus_names[ch] : bm_px_chorus_names[ch]) : on ? "ON" : "OFF"; + if (on) gfx_fill(g, x, y, 72, 44, dim(col)); + gfx_rect(g, x, y, 72, 44, sel ? C_WHITE : C_DGREY); + if (sel) gfx_rect(g, x + 1, y + 1, 70, 42, C_WHITE); + gfx_small(g, x + 36 - gfx_small_w(T(panel_fx_names[i])) / 2, y + 14, T(panel_fx_names[i]), on ? C_WHITE : C_GREY); + gfx_small(g, x + 36 - gfx_small_w(st) / 2, y + 28, st, on ? C_ORANGE : C_DGREY); + if (i < PXF_N - 1) { gfx_hline(g, x + 73, y + 22, 6, C_GREY); gfx_line(g, x + 76, y + 19, x + 78, y + 22, C_GREY); gfx_line(g, x + 76, y + 25, x + 78, y + 22, C_GREY); } + } +} + +/* las formas del B-MINI (la del oscilador de la sección) */ +static float wv_mini(const bm_app *a, float ph2) +{ + const uint8_t *q = a->pat.prm[a->track]; + int s = panel_sub(a), w = q[s == 1 ? MN_W1 : s == 2 ? MN_W2 : MN_W3] % MN_WAVES; + float p = frac1(ph2), saw = 1.0f - 2.0f * p, tri = p < 0.5f ? 4.0f * p - 1.0f : 3.0f - 4.0f * p; + switch (w) { + case MN_WAVE_TRI: return tri; + case MN_WAVE_SHARK: return 0.5f * (tri + saw); + case MN_WAVE_SQR: return p < 0.5f ? 1.0f : -1.0f; + case MN_WAVE_WIDE: return p < 0.3f ? 1.0f : -1.0f; + case MN_WAVE_NARROW: return p < 0.12f ? 1.0f : -1.0f; + default: return saw; } } -static void draw_system(bm_gfx *g, const bm_app *a) +/* el DCO del Juno: el pulso (con su ancho), el diente de sierra y el sub de una octava abajo, sumados */ +static float wv_buno(const bm_app *a, float ph2) { - enum { NR = SYS_ROWS }; - char v[20]; - static const char *const L[NR] = {"CLOCK", "SYNC OUT", "SYNC PPQN", "SYNC LATENCY", "AUTOSAVE", "IDLE LEDS", "FAST SCREEN", "TWO CORES", - "TAKES+SOUNDS", N_("LANGUAGE"), "VERSION"}; - int first = a->menu_row > 7 ? a->menu_row - 7 : 0; - for (int i = 0; i < 8 && first + i < NR; i++) { - if (!gfx_strip_hit(g, 26 + i * 12, 12)) continue; /* el valor, solo de la fila que se dibuja */ - sys_val(a, first + i, v, sizeof v); - row(g, 26 + i * 12, first + i == a->menu_row, T(L[first + i]), v); - } - if (a->menu_row == 6 || a->menu_row == 7) note_s(g, 124, "TESTING: SAFE MODE TURNS IT OFF AFTER A CRASH"); + const uint8_t *q = a->pat.prm[a->track]; + float p = frac1(ph2), v = 0.0f, n = 0.0f; + if (q[BN_PULSE]) { v += p < 0.5f - (float)q[BN_PWM] / 127.0f * 0.45f ? 1.0f : -1.0f; n += 1.0f; } + if (q[BN_SAW]) { v += 1.0f - 2.0f * p; n += 1.0f; } + if (q[BN_SUB]) { float s = (float)q[BN_SUB] / 127.0f; v += (ph2 < 1.0f ? s : -s); n += s; } + return n > 0.0f ? v / n : 0.0f; } -static void draw_glo_mach(bm_gfx *g, const bm_app *a); -static void draw_song(bm_gfx *g, const bm_app *a); +static float wv_blfo(const bm_app *a, float ph2) { return panel_lfo_at(ENG_BUNO, a->pat.prm[a->track], ph2 * 0.5f); } -/* GLO de la consola (GLO en HOME, o HOME + GLO en cualquier lado; GLO otra vez = la página siguiente): - * TEMPO, MACHINES, SCALE y SONG. SELECT la fila, ALGORITHM el valor. */ -static void draw_glo(bm_gfx *g, const bm_app *a) +/* debajo del panel, lo que mueve la sección: el filtro, la onda del oscilador o el contorno */ +static void panel_picture(bm_gfx *g, const bm_app *a, int y0, int h) { - home_pages(g, a, NULL, C_WHITE); - switch (a->glo_page) { - case GP_MACH: draw_glo_mach(g, a); return; - case GP_SONG: draw_song(g, a); return; - default: break; + int t = a->track, eng = a->pat.trk[t].engine, s = panel_sub(a); + const uint8_t *p = a->pat.prm[t]; + const bm_track *tr = &a->pat.trk[t]; + uint16_t col = bm_track_color(t); + switch (eng) { + case ENG_MINI: + if (s == 0) filter_curve(g, y0, h, bm_cut_hz(tr->macro[0]), tr->macro[1], FC_LP4, col); + else if (s <= 3) osc_shape(g, a, y0, h, wv_mini, p[s == 1 ? MN_L1 : s == 2 ? MN_L2 : MN_L3] ? col : C_DGREY); + else env_contour(g, p + MN_AA, y0, h, col); + return; + case ENG_BUNO: + if (s == 0 || s == 3) filter_curve(g, y0, h, bm_cut_hz(tr->macro[0]), tr->macro[1], FC_LP4, col); + else if (s == 1) osc_shape(g, a, y0, h, wv_buno, col); + else if (s == 2) osc_shape(g, a, y0, h, wv_blfo, p[BN_LFODCO] ? col : C_DGREY); + else env_contour(g, p + BN_A, y0, h, col); + return; + default: { /* BITTAL */ + static const uint8_t FT[BT_FILTERS] = {FC_LP4, FC_LP2, FC_BP, FC_HP, FC_LP4, FC_FLAT}; + if (s <= 3) bt_waves(g, a, y0, h, col); + else if (s <= 5) filter_curve(g, y0, h, bm_cut_hz(p[BT_CUT]), p[BT_RES], FT[p[BT_FT] % BT_FILTERS], col); + else env_contour(g, p + BT_AA, y0, h, col); + return; } - int n = bm_app_glo_count(a); - char v[20]; - for (int i = 0; i < n; i++) { - const char *nm; - int y = PY + 4 + i * 12; - if (!gfx_strip_hit(g, y, 12)) continue; - bm_app_glo_row(a, i, &nm, v, sizeof v); - row(g, y, i == a->glo_row, nm, v); - } - if (a->glo_page == GP_SCALE && gfx_strip_hit(g, PY + 56, 30)) { /* la escala del proyecto, con sus notas */ - const bm_meta *m = &a->pat.meta; - int sl = bm_scale_len(m->scale % BM_SCALES); - for (int d = 0; d < sl && d < 8; d++) { - int note = bm_scale_note(m->root % 12, m->scale % BM_SCALES, d, 4); - int x = 6 + d * 29; - gfx_fill(g, x, PY + 58, 26, 16, d == 0 ? C_ORANGE : C_DDGREY); - gfx_text_c(g, x + 13, PY + 62, bm_note_names[note % 12], d == 0 ? C_BLACK : C_WHITE, 1); - } - note_s(g, PY + 80, "FOR TRACKS WITHOUT THEIR OWN SCALE"); } - if (a->glo_page == GP_TEMPO) hint_s(g, VB - 6, "HOLD GLO = TRANSPOSE, PLAY = TAP"); } -static void draw_save(bm_gfx *g, const bm_app *a) +static void draw_panel(bm_gfx *g, const bm_app *a) { - char r0[24], r1[24], r4[24]; - snprintf(r0, sizeof r0, "A%02d", a->ctx.st.pattern + 1); - snprintf(r1, sizeof r1, "A%02d", a->save_target + 1); - snprintf(r4, sizeof r4, "%d", bm_pattern_count_events(&a->pat)); - header(g, "SAVE", a->dirty ? "UNSAVED" : "SAVED", C_WHITE); - row(g, 48, a->save_row == 0, "SAVE", r0); - row(g, 60, a->save_row == 1, "SAVE AS", r1); - row(g, 72, a->save_row == 2, "SAVE SONG AND SCENES", NULL); - row(g, 84, a->save_row == 3, a->clear_armed ? "CLEAR? SAVE AGAIN" : "CLEAR PATTERN", NULL); - row(g, 96, a->save_row == 4, "EVENTS", r4); - note_s(g, 112, "SELECT PICKS, SAVE RUNS - HOLD SAVE = COPY PATTERN"); - gfx_small(g, 4, 122, a->ctx.st.playing ? "ONLY WHEN STOPPED (CUTS AUDIO)" : "ONLY WHEN STOPPED - SAVE 2 S: QUICK SAVE", a->ctx.st.playing ? C_ORANGE : C_GREY); + int t = a->track, eng = a->pat.trk[t].engine; + const bm_bx7ui *u = &a->bx; + const uint8_t *p = a->pat.prm[t]; + uint16_t col = bm_track_color(t); + int s = panel_sub(a); + const bxp *P = panel_knobs(a); + char b[16]; + switch (u->page) { + case BXP_SEQ: /* el piano roll: ACCENT en blanco, GLIDE en verde */ + draw_seq_roll(g, a, t, 39, VB - 10, false, mach_roll_page(a, t)); + return; + case BXP_SCL: + draw_scl(g, a, "GLD"); + return; + case BXP_ENV: /* el contorno de la página, grande */ + env_contour(g, p + P[0].idx, 40, 92, col); + return; + case BXP_LFO: /* las perillas y lo que sale */ + mach_list(g, a, 37, 30); + if ((eng != ENG_BITTAL || s == 0) && gfx_strip_hit(g, 158, 35)) { + int amt = eng == ENG_BUNO ? 127 : p[eng == ENG_BITTAL ? BT_LAMT : MN_LAMT], py = 0; + uint16_t c = amt ? col : C_DGREY; + gfx_rect(g, 8, 158, 224, 34, C_DDGREY); + for (int x = 0; x < 222; x++) { + int y = 175 - (int)(panel_lfo_at(eng, p, (float)x / 222.0f) * 14.0f); + if (x) gfx_line(g, 8 + x, py, 9 + x, y, c); + py = y; + } + } + return; + case BXP_FX: /* las tres casillas, en el orden de la cadena */ + px_fx_boxes(g, a, s); + return; + case BXP_GLO: case BXP_ARP: + mach_list(g, a, 40, 38); + return; + default: break; + } + /* el panel: sus secciones (la de la página, encendida), sus cuatro perillas (las únicas: sin la + * franja de abajo) y debajo el dibujo de la sección: el filtro, la onda o el contorno */ + int ns = panel_edit_n(a), tw = 236 / ns; + int cy = 70, r = 18, vy = 114; + if (gfx_strip_hit(g, 38, 11)) + for (int i = 0; i < ns; i++) { + int x = 2 + i * tw; + const char *nm = T(panel_edit_name(a, i)); + char sq[12]; + if (gfx_small_w(nm) > tw - 4) { /* pestaña angosta: sin espacios ("OSC1+") */ + int j = 0; + for (const char *c = nm; *c && j < (int)sizeof sq - 1; c++) if (*c != ' ') sq[j++] = *c; + sq[j] = 0; + nm = sq; + } + if (i == s) gfx_fill(g, x, 38, tw - 2, 10, col); else gfx_rect(g, x, 38, tw - 2, 10, C_DDGREY); + gfx_small(g, x + (tw - 2) / 2 - gfx_small_w(nm) / 2, 40, nm, i == s ? C_BLACK : C_GREY); + } + for (int k = 0; k < 4; k++) { + if (P[k].kind == K_NONE) continue; + int v = mach_get(a, &P[k]), cx = 30 + k * 60; + dial(g, cx, cy, r, v - P[k].lo, P[k].max - P[k].lo, bm_knob_color(k), T(P[k].name)); + if (gfx_strip_hit(g, vy - 1, 9)) { + mach_fmt(&P[k], v, b, sizeof b); + gfx_text_c(g, cx, vy, b, C_ORANGE, 1); + } + } + panel_picture(g, a, 128, 64); } -/* GLO > SONG: cada entrada = un patrón y, si tiene, la escena que lanza. W1-10 agregan, B7-10 ponen la - * escena en la elegida, B11 la borra; HOME + REC graba los cambios de patrón y de escena. */ -static void draw_song(bm_gfx *g, const bm_app *a) +static void draw_bx7(bm_gfx *g, const bm_app *a) { - char b[24]; - if (gfx_strip_hit(g, PY + 1, 9)) { - gfx_small(g, 4, PY + 2, a->song_rec ? "SONG REC" : "K4 = SONG ON/OFF", a->song_rec ? C_RED : C_DGREY); - gfx_small(g, 236 - gfx_small_w(a->ctx.st.song_on ? "SONG ON" : "SONG OFF"), PY + 2, a->ctx.st.song_on ? "SONG ON" : "SONG OFF", - a->ctx.st.song_on ? C_ORANGE : C_GREY); - } - if (!a->song.n) { - if (gfx_strip_hit(g, 60, 50)) { - gfx_text_c(g, 120, 62, "EMPTY", C_GREY, 2); - gfx_text_c(g, 120, 86, "W1-10 = ADD A PATTERN", C_GREY, 1); - gfx_text_c(g, 120, 98, "OR HOME + REC: SONG REC", C_GREY, 1); + int t = a->track; + const bm_bx7ui *u = &a->bx; + uint16_t col = bm_track_color(t); + char b[30]; + switch (u->page) { + case BXP_SEQ: /* el piano: el canal entero, como SLOOP */ + draw_seq_roll(g, a, t, 39, VB, false, mach_roll_page(a, t)); + return; + case BXP_ENV: { + const bm_track *tr = &a->pat.trk[t]; + float tm[4] = {0.05f + (float)tr->attack / 127.0f, 0.25f + (float)(tr->macro[2]) / 127.0f * 0.6f, 0.6f, + 0.15f + (float)(tr->macro[3]) / 127.0f * 0.6f}; + float sus = 0.25f + 0.6f * (float)tr->sustain / 127.0f; + float lv[4] = {1.0f, sus, sus, 0.0f}; + env_shape(g, 4, 40, 232, 88, tm, lv, 0.0f, col); + return; + } + case BXP_LFO: { + if (!gfx_strip_hit(g, 40, 89)) return; + int wave = a->pat.fmv[142] % 6, sp = a->pat.fmv[137]; + gfx_rect(g, 4, 40, 232, 88, C_DDGREY); + gfx_hline(g, 6, 84, 228, C_DDGREY); + int cyc = 1 + sp / 25, py = 84; + uint32_t r = 12345u; + for (int x = 0; x < 228; x++) { + float ph = (float)(x * cyc % 228) / 228.0f, v; + switch (wave) { + case 0: v = ph < 0.5f ? 4.0f * ph - 1.0f : 3.0f - 4.0f * ph; break; + case 1: v = 1.0f - 2.0f * ph; break; + case 2: v = 2.0f * ph - 1.0f; break; + case 3: v = ph < 0.5f ? 1.0f : -1.0f; break; + case 4: v = sinf(ph * 6.2831853f); break; + default: if (x * cyc % 228 < cyc) r = r * 1103515245u + 12345u; v = (float)((r >> 16) & 255) / 127.5f - 1.0f; break; + } + int y = 84 - (int)(v * 38.0f); + if (x) gfx_line(g, 5 + x, py, 6 + x, y, col); + py = y; + } + return; + } + case BXP_FX: { /* las seis casillas en el orden de la cadena */ + for (int i = 0; i < BXF_N; i++) { + int x = 4 + (i % 3) * 78, y = 40 + (i / 3) * 44; + if (!gfx_strip_hit(g, y, 40)) continue; + int f = a->pat.prm[t][BX_ORD0 + i] % BXF_N; + bool on = (a->pat.prm[t][BX_FXON] >> f) & 1, sel = i == u->fxpos; + if (on) gfx_fill(g, x, y, 74, 38, dim(col)); + gfx_rect(g, x, y, 74, 38, sel ? (u->grab ? C_YELLOW : C_WHITE) : C_DGREY); + if (sel) gfx_rect(g, x + 1, y + 1, 72, 36, u->grab ? C_YELLOW : C_WHITE); + snprintf(b, sizeof b, "%d", i + 1); + gfx_small(g, x + 4, y + 4, b, C_GREY); + gfx_text_c(g, x + 37, y + 14, T(bx7_fx_names[f]), on ? C_WHITE : C_GREY, 1); + gfx_small(g, x + 37 - gfx_small_w(on ? "ON" : "OFF") / 2, y + 28, on ? "ON" : "OFF", on ? C_ORANGE : C_DGREY); } return; } - int first = a->song_cur > 6 ? a->song_cur - 6 : 0; - for (int i = 0; i < 7 && first + i < a->song.n; i++) { - int e = first + i, y = PY + 10 + i * 12; - if (!gfx_strip_hit(g, y, 12)) continue; - uint8_t p = a->song.pat[e]; - int sc = bm_song_scene(p); - if (sc >= 0) snprintf(b, sizeof b, TF("%2d A%02d +%c x%d"), e + 1, bm_song_pat(p) + 1, 'A' + sc, a->song.rep[e]); - else snprintf(b, sizeof b, "%2d A%02d x%d", e + 1, bm_song_pat(p) + 1, a->song.rep[e]); - row(g, y, e == a->song_cur, b, (a->ctx.st.song_on && a->ctx.st.playing && e == a->ctx.st.song_pos) ? ">" : NULL); + case BXP_EDIT: + if (u->edit == BXE_PIT) { /* el pitch EG: 4 tiempos y 4 niveles */ + const uint8_t *v = a->pat.fmv + 126; + float tm[4], lv[4]; + for (int i = 0; i < 4; i++) { tm[i] = 0.1f + (float)(99 - v[i]) / 99.0f; lv[i] = (float)v[4 + i] / 99.0f; } + env_shape(g, 4, 40, 232, 80, tm, lv, (float)v[7] / 99.0f, C_ORANGE); + } else draw_fm(g, a, t, 2, 38, 236, 84, u->edit <= BXE_OP6 ? u->edit : -1); + return; + case BXP_GLO: case BXP_ARP: + mach_list(g, a, 40, 38); + return; + default: /* MAIN: el algoritmo */ + draw_fm(g, a, t, 2, 38, 236, 94, -1); + return; } } -static void draw_time(bm_gfx *g, const bm_app *a) -{ - const bm_status *st = &a->ctx.st; - header(g, "TIME", "POLYMETER", C_WHITE); - for (int t = 0; t < BM_TRACKS; t++) { - int y = 47 + t * 14; - if (!gfx_strip_hit(g, y, 14)) continue; - const bm_track *tr = &a->pat.trk[t]; - bool sel = t == a->time_row; - if (sel) gfx_fill(g, 0, y - 1, 240, 14, C_DDGREY); - char b[16]; - snprintf(b, sizeof b, "T%d", t + 1); - gfx_text(g, 4, y + 3, b, bm_track_color(t), 1); - int tps = bm_speed_tps[tr->speed % SPD_COUNT]; - int len = bm_trk_len(&a->pat, t, bm_is_grid(&a->pat, t) ? (sel ? a->time_lane : 0) : -1); - int w = len * tps * 48 / BM_BAR_TICKS; - if (w > 160) w = 160; - if (w < len) w = len; - int cur = st->playing ? (int)(st->tn[t] % (uint32_t)len) : -1; - for (int s = 0; s < len; s++) { - int x0 = 22 + s * w / len, x1 = 22 + (s + 1) * w / len; - gfx_fill(g, x0, y + 2, x1 - x0 - (x1 - x0 > 2 ? 1 : 0), 9, s == cur ? C_WHITE : (s % 4 == 0 ? bm_track_color(t) : dim(bm_track_color(t)))); +/* ------------------------------------------------------------ el Slicer (V_MACH): TRIM, SOUND, ENV, FX, GLO */ +/* La onda de una toma en columnas (pico y RMS, 0..255) de la muestra v0 a la v1, como en un sampler: + * se calcula solo cuando cambia lo que se ve (la toma se lee directo de la flash) */ +#define WV_W 232 +typedef struct { const int8_t *d; uint32_t v0, v1; uint8_t rev, pk[WV_W], rms[WV_W]; } wave_cols; + +static void wave_fill(wave_cols *w, const bm_smp_src *m, uint32_t v0, uint32_t v1, bool rev) +{ + if (v1 > m->len) v1 = m->len; + if (w->d == m->data && w->v0 == v0 && w->v1 == v1 && w->rev == rev) return; + w->d = m->data; w->v0 = v0; w->v1 = v1; w->rev = rev; + uint32_t span = v1 > v0 ? v1 - v0 : 1, top = 16; + static uint8_t pk[WV_W]; static uint32_t sq[WV_W]; + for (int c = 0; c < WV_W; c++) { + uint32_t a0 = v0 + (uint32_t)((uint64_t)span * (uint32_t)c / WV_W), a1 = v0 + (uint32_t)((uint64_t)span * (uint32_t)(c + 1) / WV_W); + if (a1 <= a0) a1 = a0 + 1; + uint32_t p = 0, s = 0, n = 0; + for (uint32_t i = a0; i < a1 && i < v1; i += (a1 - a0) > 64 ? (a1 - a0) / 64 : 1, n++) { /* hasta 64 muestras por columna */ + int x = m->data[i], ax = x < 0 ? -x : x; + if ((uint32_t)ax > p) p = (uint32_t)ax; + s += (uint32_t)(x * x); } - for (int bar = 1; bar * 48 < 160; bar++) gfx_vline(g, 22 + bar * 48, y, 12, C_GREY); - snprintf(b, sizeof b, "%d %s", len, bm_speed_names[tr->speed % SPD_COUNT]); - gfx_text_r(g, 236, y + 3, b, sel ? C_WHITE : C_GREY, 1); + pk[c] = (uint8_t)(p > 127 ? 127 : p); + sq[c] = n ? s / n : 0; + if (p > top) top = p; + } + for (int c = 0; c < WV_W; c++) { + int o = rev ? WV_W - 1 - c : c, r = 0; + while ((uint32_t)((r + 1) * (r + 1)) <= sq[c]) r++; /* raíz entera */ + w->pk[o] = (uint8_t)(pk[c] * 255u / top); + w->rms[o] = (uint8_t)bm_clampi(r * 255 / (int)top, 0, 255); } - if (bm_is_grid(&a->pat, a->time_row)) { - char b[24]; - snprintf(b, sizeof b, "K3 INSTR: %s", T(bm_lane_name(a, a->time_row, a->time_lane))); - hint_s(g, 130, b); - } else hint_s(g, 130, "LINES = 1 BAR"); } -static void draw_copych(bm_gfx *g, const bm_app *a) +/* la onda espejada: el pico en el tono oscuro y el RMS encima; las columnas [hl0, hl1) en hcol */ +static void wave_draw(bm_gfx *g, const wave_cols *w, int y, int h, int hl0, int hl1, uint16_t col, uint16_t hcol) { - char b[30]; - header(g, "COPY TRACK", "HOME + EDIT", C_WHITE); - int s = a->copy_src, d = a->copy_dst % BM_TRACKS; - if (gfx_strip_hit(g, 52, 52)) { - gfx_fill(g, 10, 54, 90, 46, bm_track_color(s)); - snprintf(b, sizeof b, "T%d", s + 1); - gfx_text_c(g, 55, 60, b, C_BLACK, 3); - gfx_text_c(g, 55, 88, bm_track_name(a, s), C_BLACK, 1); - gfx_text_c(g, 120, 70, ">", C_WHITE, 3); - gfx_fill(g, 140, 54, 90, 46, bm_track_color(d)); - snprintf(b, sizeof b, "T%d", d + 1); - gfx_text_c(g, 185, 60, b, C_BLACK, 3); - gfx_text_c(g, 185, 88, bm_track_name(a, d), C_BLACK, 1); - } - note_s(g, 110, "ALGORITHM PICKS THE TARGET - HOLD EDIT 2 S = PASTE"); - hint_s(g, 120, "NOTES TO NOTES, HITS TO HITS: THE MACHINES DO NOT CHANGE"); + if (!gfx_strip_hit(g, y, h)) return; + int mid = y + h / 2, half = h / 2 - 1; + for (int c = 0; c < WV_W; c++) { + bool hi = c >= hl0 && c < hl1; + uint16_t k = hi ? hcol : col; + int p = w->pk[c] * half / 255, r = w->rms[c] * half / 255; + if (p > 0) gfx_vline(g, 4 + c, mid - p, 2 * p + 1, dim(k)); + if (r > 0) gfx_vline(g, 4 + c, mid - r, 2 * r + 1, k); + else gfx_vline(g, 4 + c, mid, 1, dim(k)); + } } -/* ------------------------------------------------------------ capas: lo que hace cada tecla */ -/* La franja del teclado ya muestra cada tecla con su luz; el visor dice qué capa es y cómo se usa. */ -static void draw_layer(bm_gfx *g, const bm_app *a) +static wave_cols w_ov, w_main; + +/* una fila de perillas dibujadas (las únicas de la pantalla): dial, nombre y valor en su color */ +static void slicer_knob_row(bm_gfx *g, const bm_app *a, const bxp *P, int cy, int r) { - static char title[24]; /* el mapa de la capa: una vez por cuadro */ - static uint16_t col; - static const char *h1, *h2; - static uint32_t mf; - if (mf != g->frame) { - bm_keyfn K[BM_KEYS]; /* aquí solo hace falta el título y las ayudas */ - mf = g->frame; - bm_app_keymap(a, K, title, sizeof title, &col, &h1, &h2); - } - if (gfx_strip_hit(g, 26, 20)) { - gfx_fill(g, 0, 26, BM_LCD_W, 18, col); - gfx_text(g, 6, 28, title, C_BLACK, 2); - char b[24]; - if (a->layer == L_ROLL) { /* la velocidad y la rampa, siempre a la vista */ - const char *rp = a->roll_ramp == 1 ? T("CRESC") : a->roll_ramp == 2 ? T("DECRESC") : ""; - snprintf(b, sizeof b, "%s %s", bm_roll_names[a->roll_rate % BM_ROLL_RATES], rp); - gfx_text(g, 8 + gfx_text_w(title, 2), 32, b, C_BLACK, 1); - } - if (a->layer == L_HOME || a->view == V_HOME) snprintf(b, sizeof b, "A%02d", a->ctx.st.pattern + 1); - else snprintf(b, sizeof b, "T%d", a->track + 1); - if (a->layer_latch) { /* abierta con un toque: queda hasta cerrarla */ - gfx_small(g, 236 - gfx_small_w("LATCHED"), 28, "LATCHED", C_BLACK); - gfx_small(g, 236 - gfx_small_w(b), 36, b, C_BLACK); - } else gfx_text_r(g, 234, 32, b, C_BLACK, 1); - } - /* Lo que la capa toca, no una copia de la franja de teclas: los instrumentos de la batería - * (mute en rojo, destello al sonar) o los seis canales. Si no, solo cómo se usa. */ - int t = a->track, hy = 52; - bool lanes = app_kind(a, t) == KIND_TR && (a->layer == L_LANEMUTE || a->layer == L_FILL || a->layer == L_ERASE || a->layer == L_ROLL); - if (lanes) { lane_pads(g, a, t, 47, 14); hy = 106; } - else if (a->layer == L_HOME || a->layer == L_PUNCH || a->layer == L_COPY) { - for (int i = 0; i < BM_TRACKS; i++) { - int x = 2 + (i % 3) * 79, y = 48 + (i / 3) * 18; - if (!gfx_strip_hit(g, y, 16)) continue; - bool mu = a->pat.trk[i].mute, fl = !mu && a->now < a->trig_until[i], dn = a->keys_down[bm_black_key(i)]; - uint16_t tc = bm_track_color(i); - gfx_fill(g, x, y, 76, 16, fl || dn ? tc : C_DDGREY); - if (a->solo_on && a->solo_track == i) gfx_rect(g, x, y, 76, 16, C_WHITE); - char b[8]; snprintf(b, sizeof b, "%d", i + 1); - uint16_t fg = fl || dn ? C_BLACK : (mu ? C_GREY : tc); - gfx_small(g, x + 3, y + 6, b, fl || dn ? C_BLACK : C_GREY); - gfx_text(g, x + 11, y + 5, bm_track_name(a, i), fg, 1); - if (mu) gfx_text(g, x + 66, y + 5, "M", C_RED, 1); + char b[12]; + for (int k = 0; k < 4; k++) { + if (!slicer_live(a, &P[k])) continue; /* sin función ahora: nada */ + int v = slicer_get(a, &P[k]), cx = 30 + k * 60; + dial(g, cx, cy, r, slicer_pct(a, &P[k], v), 255, bm_knob_color(k), T(P[k].name)); + int vy = cy + r + (strchr(P[k].name, ' ') ? 23 : 14); + if (gfx_strip_hit(g, vy - 1, 9)) { + slicer_fmt(a, &P[k], v, b, sizeof b); + gfx_text_c(g, cx, vy, b, C_ORANGE, 1); } - hy = 88; } - /* cómo se usa (se va a los 4 s) y cómo se sale (queda) */ - hint_s(g, hy, h1); - note_s(g, hy + 10, h2); - if (a->layer == L_HOME) hint_s(g, hy + 20, "W11-16 = GO THERE ON RELEASE - ALG = BPM .1"); } -/* ------------------------------------------------------------ recuadro, pregunta, overlay, toast */ -/* ALGORITHM en INSTR (batería): el instrumento al que vas */ -static void draw_box(bm_gfx *g, const bm_app *a) +/* TRIM: arriba la toma entera (los pads, la ventana); en el medio la ventana grande con el pad entre + * corchetes; abajo las cuatro perillas */ +static void slicer_trim(bm_gfx *g, const bm_app *a) { - int t = a->track; - if (!gfx_strip_hit(g, 50, 70)) return; - gfx_fill(g, 40, 50, 160, 68, C_BLACK); - gfx_rect(g, 40, 50, 160, 68, bm_track_color(t)); - gfx_rect(g, 41, 51, 158, 66, bm_track_color(t)); - char b[24]; - snprintf(b, sizeof b, "%d", a->box_lane + 1); - gfx_text_c(g, 120, 58, b, bm_track_color(t), 4); - const bm_lane *ln = &bm_trk_trc(&a->pat, t)->lane[a->box_lane & 15]; - snprintf(b, sizeof b, "%s - %s", T(bm_lane_name(a, t, a->box_lane)), T(bm_drm_short[ln->model % DRM_COUNT])); - gfx_text_c(g, 120, 92, b, C_WHITE, 1); - int left = (int)(a->box_until - a->now); - int w = bm_clampi(left * 140 / 400, 0, 140); - gfx_fill(g, 50, 108, 140, 3, C_DGREY); - gfx_fill(g, 50, 108, 140 - w, 3, bm_track_color(t)); + int sel = a->sel_lane[1] & 15; + const bm_pad *p = &a->pat.pad[sel]; + const bm_status *st = &a->ctx.st; + uint16_t col = bm_track_color(1); + bm_smp_src m; + char b[8]; + if (!slicer_take(a, sel, &m)) { + if (gfx_strip_hit(g, 80, 30)) { + snprintf(b, sizeof b, "P%d", sel + 1); + gfx_text_c(g, 120, 80, b, col, 2); + gfx_text_c(g, 120, 100, T("EMPTY"), C_GREY, 1); + } + slicer_knob_row(g, a, slicer_knobs(a), 152, 10); + return; + } + uint32_t v0, v1; + slicer_view(a, &v0, &v1); + uint32_t span = v1 > v0 ? v1 - v0 : 1, a0 = p->start, a1 = (uint32_t)p->start + p->len; + if (gfx_strip_hit(g, 38, 10)) { /* la toma entera */ + wave_fill(&w_ov, &m, 0, m.len, false); + int s0 = (int)((uint64_t)a0 * WV_W / m.len), s1 = (int)((uint64_t)a1 * WV_W / m.len); + wave_draw(g, &w_ov, 38, 10, s0, s1 > s0 ? s1 : s0 + 1, C_DGREY, col); + int x0 = 4 + (int)((uint64_t)v0 * WV_W / m.len), x1 = 4 + (int)((uint64_t)v1 * WV_W / m.len); + if (v1 - v0 < m.len) gfx_rect(g, x0, 38, x1 - x0 > 2 ? x1 - x0 : 2, 10, C_WHITE); /* la ventana de abajo */ + } + int wy = 52, wh = 84; +#define VX(q) (4 + (int)(((int64_t)(q) - (int64_t)v0) * WV_W / (int64_t)span)) + if (gfx_strip_hit(g, wy, wh + 1)) { + wave_fill(&w_main, &m, v0, v1, false); + int bx0 = bm_clampi(VX(a0), 4, 236), bx1 = bm_clampi(VX(a1), 4, 236); + if (bx1 > bx0) gfx_fill(g, bx0, wy, bx1 - bx0, wh, C_DDGREY); + gfx_hline(g, 4, wy + wh / 2, WV_W, C_DDGREY); + wave_draw(g, &w_main, wy, wh, bx0 - 4, bx1 - 4, C_DGREY, col); + for (int i = 0; i < BM_LANES; i++) { /* los otros pads de esta toma: dónde empiezan */ + const bm_pad *o = &a->pat.pad[i]; + if (i == sel || !bm_pad_ok(o) || o->src != p->src || o->start < v0 || o->start >= v1) continue; + int x = VX(o->start); + gfx_vline(g, x, wy, wh, C_GREY); + snprintf(b, sizeof b, "%d", i + 1); + gfx_small(g, x + 2, wy + wh - 7, b, C_GREY); + } + if (p->mode == PAD_LOOP && bm_pad_has_loop(p)) { /* el loop de sustain */ + int lx0 = bm_clampi(VX(a0 + bm_pad_loop_start(p)), 4, 236), lx1 = bm_clampi(VX(a0 + bm_pad_loop_end(p)), 4, 236); + gfx_fill(g, lx0, wy + wh - 3, lx1 - lx0 > 1 ? lx1 - lx0 : 1, 3, C_GREEN); + } + if (a0 >= v0 && a0 < v1) { /* el pad: corchetes y su número */ + int x = VX(a0); + gfx_vline(g, x, wy, wh, C_CYAN); gfx_hline(g, x, wy, 5, C_CYAN); gfx_hline(g, x, wy + wh - 1, 5, C_CYAN); + gfx_fill(g, x, wy + 2, 13, 9, C_CYAN); + snprintf(b, sizeof b, "%d", sel + 1); + gfx_text(g, x + 1, wy + 3, b, C_BLACK, 1); + } + if (a1 > v0 && a1 <= v1) { + int x = VX(a1) - 1; + gfx_vline(g, x, wy, wh, C_CYAN); gfx_hline(g, x - 4, wy, 5, C_CYAN); gfx_hline(g, x - 4, wy + wh - 1, 5, C_CYAN); + } + if (st->smp_pos_src == p->src && st->smp_pos >= v0 && st->smp_pos < v1) gfx_vline(g, VX(st->smp_pos), wy, wh, C_ORANGE); /* lo que suena */ + } +#undef VX + slicer_knob_row(g, a, slicer_knobs(a), 152, 10); } -/* La pregunta (0.9): se acepta con el tiempo. Sostener 2 s el control que preguntó llena la barra; - * soltarlo antes, u otro control, es no. */ -static void draw_ask(bm_gfx *g, const bm_app *a) +/* el pad entero (su tramo de la toma), al derecho o al revés como suena */ +static void slicer_pad_wave(bm_gfx *g, const bm_app *a, int y, int h, uint16_t c) { - if (!gfx_strip_hit(g, 46, 80)) return; - gfx_fill(g, 10, 46, 220, 78, C_DDGREY); - gfx_rect(g, 10, 46, 220, 78, C_YELLOW); - gfx_rect(g, 11, 47, 218, 76, C_YELLOW); - gfx_text_c(g, 120, 54, a->ask_text[0], C_WHITE, 1); - gfx_text_c(g, 120, 66, a->ask_text[1], C_GREY, 1); - char b[40]; - bm_app_ask_hint(a, b, sizeof b); - gfx_text_c(g, 120, 82, b, C_YELLOW, 1); - int p = bm_app_ask_progress(a); - gfx_fill(g, 24, 95, 192, 8, C_BLACK); - gfx_fill(g, 24, 95, p * 192 / 255, 8, C_YELLOW); - gfx_rect(g, 23, 94, 194, 10, C_GREY); - if (a->ask_ctl != ASK_ENC) - gfx_small(g, 120 - gfx_small_w(a->ask_live ? "RELEASE = NO" : "ANY OTHER CONTROL = NO") / 2, 110, - a->ask_live ? "RELEASE = NO" : "ANY OTHER CONTROL = NO", C_GREY); + int sel = a->sel_lane[1] & 15; + const bm_pad *p = &a->pat.pad[sel]; + bm_smp_src m; + if (!gfx_strip_hit(g, y, h + 1) || !slicer_take(a, sel, &m)) return; + gfx_rect(g, 2, y, 236, h, C_DDGREY); + wave_fill(&w_main, &m, p->start, (uint32_t)p->start + p->len, (p->flags & PAD_REV) != 0); + wave_draw(g, &w_main, y + 1, h - 2, 0, WV_W, C_DGREY, c); } -/* K1-K4: una línea con el nombre y el valor en la fila de arriba (pestañas o título), sin tapar la - * rejilla ni el paso sostenido; el dial de abajo ya marca cuál giró. */ -static void draw_overlay_line(bm_gfx *g, const bm_app *a) +static void draw_slicer(bm_gfx *g, const bm_app *a) { - const bm_overlay *o = &a->ov; - bool tall = (a->layer && a->layer != L_CHORDS) || a->view == V_SAVE || a->view == V_TIME || a->view == V_COPYCH; - int h = tall ? 21 : 11; /* también tapa el título grande de esas pantallas */ - if (!gfx_strip_hit(g, 24, h)) return; - gfx_fill(g, 0, 24, BM_LCD_W, h, C_BLACK); - int y = 24 + (h - 7) / 2; - gfx_text(g, 4, y, o->title, o->color, 1); - int x = 236; - if (o->unit[0]) x -= gfx_text_r(g, x, y, o->unit, C_GREY, 1) + 4; - gfx_text_r(g, x, y, o->val, C_WHITE, 1); - gfx_fill(g, 0, 24 + h - 1, BM_LCD_W, 1, C_DDGREY); - gfx_fill(g, 0, 24 + h - 1, o->pct * BM_LCD_W / 255, 1, o->color); + uint16_t col = bm_track_color(1); + switch (a->bx.page) { + case BXP_ENV: { /* la envolvente sobre el pad, y su loop */ + int sel = a->sel_lane[1] & 15, y = 40, h = 88; + const bm_pad *p = &a->pat.pad[sel]; + slicer_pad_wave(g, a, y, h, dim(col)); + if (!bm_pad_ok(p) || !gfx_strip_hit(g, y, h + 1)) return; + uint32_t len = p->len ? p->len : 1; + int ax = 4 + (int)bm_clampi((int)((uint64_t)bm_attack_ms(p->attack) * BM_SMP_RATE / 1000u * WV_W / len), 0, WV_W); + int top = y + 6, bot = y + h - 3, end = 4 + WV_W - 1; + int rx = end - bm_clampi(p->release * 40 / 127, 2, 40); /* el final se apaga con RELEASE */ + gfx_line(g, 4, bot, ax, top, col); + gfx_line(g, ax, top, rx, top, col); + gfx_line(g, rx, top, end, bot, col); + if (p->mode == PAD_LOOP) { + uint32_t ls = bm_pad_loop_start(p), le = bm_pad_loop_end(p); + int lx0 = 4 + (int)((uint64_t)ls * WV_W / len), lx1 = 4 + (int)((uint64_t)le * WV_W / len); + gfx_fill(g, lx0, bot - 2, lx1 - lx0 > 1 ? lx1 - lx0 : 1, 3, C_GREEN); + gfx_vline(g, lx0, y + 1, h - 2, C_GREEN); gfx_vline(g, lx1 - 1, y + 1, h - 2, C_GREEN); + } + return; + } + case BXP_FX: px_fx_boxes(g, a, slicer_sub(a)); return; + case BXP_GLO: mach_list(g, a, 40, 38); return; + default: break; + } + if (slicer_sub(a) == 0) { slicer_trim(g, a); return; } + slicer_knob_row(g, a, slicer_knobs(a), 66, 18); /* SOUND: las cuatro perillas y el pad como suena */ + slicer_pad_wave(g, a, 128, 64, col); } -static void draw_overlay(bm_gfx *g, const bm_app *a) +/* V_MACH: la máquina del canal; arriba su página y lo que pasa (REC, armado, ACCENT o el sonido) */ +static void draw_mach(bm_gfx *g, const bm_app *a) { - const bm_overlay *o = &a->ov; - if (o->knob >= ENC_K1 + 1 && o->knob <= ENC_K4 + 1 && !o->beat) { draw_overlay_line(g, a); return; } - if (!gfx_strip_hit(g, 46, 84)) return; - gfx_fill(g, 12, 46, 216, 84, C_BLACK); - gfx_rect(g, 12, 46, 216, 84, o->color); - gfx_rect(g, 13, 47, 214, 82, o->color); - grid(g, 16, 50, 208, 76, 6); - gfx_text(g, 20, 52, o->title, C_GREY, 1); - if (o->knob) { /* la perilla grande que se giró, en la esquina */ - static const char *const KN[ENC_COUNT] = {"SELECT", "ALGORITHM", "K1", "K2", "K3", "K4", "PRESETS"}; - gfx_small(g, 222 - gfx_small_w(KN[(o->knob - 1) % ENC_COUNT]), 53, KN[(o->knob - 1) % ENC_COUNT], o->color); - } - int w = gfx_text(g, 20, 68, o->val, C_WHITE, gfx_text_w(o->val, 3) > 196 ? 2 : 3); - if (o->unit[0]) gfx_text(g, 26 + w, 78, o->unit, C_GREY, 2); - if (o->beat) { /* el beat, en el color del tempo */ - const bm_status *st = &a->ctx.st; - int cur = st->playing ? (int)((st->btick / BM_PPQN) % 4) : -1; - for (int i = 0; i < 4; i++) gfx_fill(g, 20 + i * 51, 108, 47, 12, i == cur ? o->color : dim(dim(o->color))); - return; + int t = a->track, eng = a->pat.trk[t].engine; + uint16_t col = bm_track_color(t); + char b[30], ti[24]; + if (gfx_strip_hit(g, 25, 11)) { + mach_title(a, ti, sizeof ti); + int w = gfx_small_w(ti) + 6; + gfx_fill(g, 2, 25, w, 9, col); + gfx_small(g, 5, 27, ti, C_BLACK); + int L = mach_len(a); + uint16_t bc = a->rec || a->bx.armed ? C_RED : C_WHITE; + if (eng == ENG_BREAK) { /* el Slicer: SAMPLE, REC o el pad y su toma */ + slicer_status(a, b, sizeof b, &bc); + if (a->rec && bc == C_WHITE) { snprintf(b, sizeof b, "%s", T("REC")); bc = C_RED; } + } + else if (mach_step_mode(a)) snprintf(b, sizeof b, TF("STEP REC %d/%d"), a->bx.step % L + 1, L); + else if (a->rec) snprintf(b, sizeof b, "%s", T("REC")); + else if (a->bx.armed) snprintf(b, sizeof b, "%s", T("ARMED")); + else if (a->bx.page == BXP_SEQ && L > 16) snprintf(b, sizeof b, TF("PAGE %d/%d"), mach_roll_page(a, t) + 1, (L + 15) / 16); + else snprintf(b, sizeof b, "%s", bm_sound_name(a, t)); + gfx_small(g, 236 - gfx_small_w(b), 27, b, bc); } - gfx_fill(g, 20, 110, 200, 8, C_DGREY); - gfx_fill(g, 20, 110, o->pct * 200 / 255, 8, o->color); - if (o->ghost != 255) gfx_fill(g, 19 + o->ghost * 200 / 255, 106, 2, 16, C_WHITE); + if (eng == ENG_FM) draw_bx7(g, a); + else if (eng == ENG_ACID) draw_b303(g, a); + else if (eng == ENG_BREAK) draw_slicer(g, a); + else draw_panel(g, a); /* B-MINI, BUNO-6, BITTAL */ } -static void draw_toast(bm_gfx *g, const bm_app *a) +/* ------------------------------------------------------------ entrada */ +/* ¿la pantalla ya muestra K1-K4 (un panel con sus perillas o la lista de las cuatro)? Entonces no va + * la franja de abajo (cada perilla, una sola vez) y el visor llega hasta el teclado. */ +static bool knobs_in_view(const bm_app *a) { - if (!gfx_strip_hit(g, 118, 16)) return; - gfx_fill(g, 0, 118, BM_LCD_W, 16, C_DGREY); - gfx_hline(g, 0, 118, BM_LCD_W, C_CYAN); - gfx_text_c(g, 120, 122, a->toast, C_WHITE, 1); + if (a->layer || a->box_on) return false; + switch (a->view) { + case V_GLO: return a->glo_page != 0; + case V_MACH: return mach_knobs_shown(a); + default: return false; + } } -/* ------------------------------------------------------------ entrada */ static void draw_channel(bm_gfx *g, const bm_app *a) { PASO(8); - draw_tabs(g, a); - int t = a->track, kind = app_kind(a, t); - PASO(9); - switch (a->page) { - case PG_SEQ: - if (kind == KIND_TR) draw_seq_tr(g, a); - else if (bm_app_roll_view(a, t)) draw_seq_pianoroll(g, a); /* GLO > VIEW: PIANO ROLL */ - else draw_seq_syn(g, a); - break; - case PG_SOUND: PASO(11); draw_sound(g, a); break; - case PG_INST: draw_inst(g, a); break; - case PG_MIX: PASO(18); draw_ch_mix(g, a); break; - case PG_MORE: PASO(19); draw_more(g, a); break; - case PG_BREAK: PASO(16); draw_break(g, a); break; - case PG_TAKES: PASO(17); draw_takes(g, a); break; - case PG_ARP: draw_arp(g, a); break; - case PG_LOOP: draw_loop(g, a); break; - case PG_SCL: draw_scl(g, a, 0); break; - case PG_CHORDS: draw_chords(g, a, PY); break; - case PG_REC: draw_rec(g, a); break; - case PG_PADS: draw_pads(g, a); break; - default: break; - } + draw_seq_tr(g, a); } void bm_app_draw(bm_gfx *g, void *user) @@ -2380,37 +1821,31 @@ void bm_app_draw(bm_gfx *g, void *user) return; } PASO(1); - hints_update(a); draw_status(g, a); - gfx_clip(g, 0, BM_CTX_Y, BM_LCD_W, BM_CTX_H); + bool tall = knobs_in_view(a); + gfx_clip(g, 0, BM_CTX_Y, BM_LCD_W, tall ? BM_CTX_H_TALL : BM_CTX_H); PASO(2); - if (a->layer && a->layer != L_CHORDS) draw_layer(g, a); - else if (a->layer == L_CHORDS) { gfx_text(g, 4, 26, "LIVE CHORDS", C_GREEN, 1); draw_chords(g, a, 36); } + if (a->layer) draw_layer(g, a); else switch (a->view) { case V_HOME: PASO(3); draw_home(g, a); break; case V_CH: draw_channel(g, a); break; case V_GLO: draw_glo(g, a); break; case V_SYSTEM: draw_system(g, a); break; - case V_TIME: draw_time(g, a); break; case V_SAVE: draw_save(g, a); break; - case V_FXG: draw_fx(g, a); break; - case V_COPYCH: draw_copych(g, a); break; + case V_MACH: draw_mach(g, a); break; default: break; } PASO(24); - if (a->card && !a->layer && console_view(a)) draw_card(g, a); /* la tarjeta del canal, encima de la consola */ if (a->box_on) draw_box(g, a); PASO(25); if (a->ov.on) draw_overlay(g, a); - PASO(26); - if (a->ask) draw_ask(g, a); PASO(27); - if (a->toast_until && !a->ask) draw_toast(g, a); + if (a->toast_until) draw_toast(g, a); gfx_noclip(g); PASO(28); draw_keys(g, a); PASO(29); - draw_legend(g, a); + if (!tall) draw_legend(g, a); draw_bigknobs(g, a); PASO(0); if (a->now < a->clip_until) { diff --git a/core/bm_wave.cpp b/core/bm_wave.cpp index d3b713c..1a74258 100644 --- a/core/bm_wave.cpp +++ b/core/bm_wave.cpp @@ -109,7 +109,7 @@ struct Voice { float lph, lsh, ldel; /* LFO: fase, valor del azar, rampa del retardo (BUNO-6) */ float cut_prev, gate_g; uint32_t rng; - uint8_t first, gate; + uint8_t first, gate, tieg; /* tieg: B-MINI, la nota llegó ligada por un GLIDE de paso (SCL) */ uint8_t key[8]; float k[8]; }; @@ -121,8 +121,11 @@ inline bool mine(int v) { return bm_vpool_is(v, VP_WAVE) != 0; } /* BUNO-6, per channel: what acts on the sum of its voices (bm_wv_bus) — the HPF, and the VCF when * the paraphonic fast path is on */ -struct Bus { Ladder lad; float hp, cut_prev; uint8_t para; }; +struct Bus { Ladder lad; float hp, cut_prev, lph, ldel; uint8_t para; }; Bus bus_[BM_TRACKS]; +/* el LFO del canal en este bloque, por carril (el audio puede ir en los dos núcleos: un canal por carril) */ +float lfo_now_[2]; +int lane_now_; inline float rnd(uint32_t &s) { s = s * 1664525u + 1013904223u; return (float)(int32_t)s * (1.0f / 2147483648.0f); } inline float ka_of(float t) { return 1.0f - expf(-1.466f / (t * fs_ + 1.0f)); } @@ -169,6 +172,7 @@ inline float ladder_g(float semis) /* búfer de trabajo, uno por núcleo: con el audio en dos núcleos, T3 (B-MINI) calcula en uno y T5-T6 * (BITTAL, BUNO-6) en el otro al mismo tiempo */ float SB[2][BM_BLOCK]; +extern "C" { volatile float bm_wv_btpos[2]; volatile uint32_t bm_wv_btseq; } /* ------------------------------------------------------------ B-MINI */ float mini_osc(Osc &o, int w, float dt) @@ -186,21 +190,42 @@ float mini_osc(Osc &o, int w, float dt) return y; } -static const float RANGE[5] = {0.25f, 0.5f, 1.0f, 2.0f, 4.0f}; /* 32' 16' 8' 4' 2' */ +static const float RANGE[6] = {0.25f, 0.5f, 1.0f, 2.0f, 4.0f, 1.0f / 256.0f}; /* 32' 16' 8' 4' 2' y LO (8 octavas abajo) */ + +/* lo que vale el oscilador en su fase, sin antialias: el OSC 3 como modulador (una vez por bloque) */ +static float mini_mod_osc(const Osc &o, int w) +{ + switch (w) { + case MN_WAVE_TRI: return o.tri(); + case MN_WAVE_SHARK: return 0.5f * (o.tri() + 2.0f * o.ph - 1.0f); + case MN_WAVE_SQR: return o.ph < 0.5f ? 1.0f : -1.0f; + case MN_WAVE_WIDE: return o.ph < 0.3f ? 1.0f : -1.0f; + case MN_WAVE_NARROW: return o.ph < 0.12f ? 1.0f : -1.0f; + default: return 2.0f * o.ph - 1.0f; + } +} int render_mini(Voice &z, const uint8_t *prm, const uint8_t mac[4], float *out, int n, float *b1) { - glide(z, prm[MN_GLIDE], n); - float lamt = pc(prm[MN_LAMT]), lfo = 0.0f; - if (lamt > 0.0f) { z.lph += bm_lfo_hz(prm[MN_LRATE]) * (float)n / fs_; if (z.lph >= 1.0f) z.lph -= (float)(int)z.lph; lfo = 4.0f * fabsf(z.lph - 0.5f) - 1.0f; } + int gl = prm[MN_GLIDE]; + if (z.tieg && gl < 30) gl = 30; /* GLIDE de paso: se oye aunque la perilla esté en 0 */ + glide(z, gl, n); + /* la modulación, como en el POLY D: MOD MIX entre el OSC 3 y el LFO (el del canal, bm_wv_lfo), a los + * osciladores, al filtro o a los dos, con su cantidad */ + float lamt = pc(prm[MN_LAMT]), mod = 0.0f; + if (lamt > 0.0f) { + float s3 = pc(prm[MN_MIX]); + mod = (1.0f - s3) * lfo_now_[lane_now_] + (s3 > 0.0f ? s3 * mini_mod_osc(z.o[2], prm[MN_W3] % MN_WAVES) : 0.0f); + } int ld = prm[MN_LDEST] % MN_LDESTS; - float pitch = z.note + (ld == MN_D_PITCH ? lfo * lamt * lamt * 2.0f : 0.0f); - float f0 = hz_of(pitch) / fs_; - float tune = bip(prm[MN_TUNE]) * 1.0f; /* TUNE: ±1 semitono a 2 y 3 */ + bool to_osc = ld != MN_D_CUT, to_cut = ld != MN_D_PITCH; + /* TUNE: el A-440 del Minimoog, afina los tres osciladores juntos (±1 semitono) */ + float pitch = z.note + bip(prm[MN_TUNE]); + float f0 = hz_of(pitch) / fs_, vib = to_osc ? SemitonesToRatioSafe(mod * lamt * lamt * 2.0f) : 1.0f; float fr[3]; - fr[0] = f0 * RANGE[prm[MN_R1] % 5]; - fr[1] = f0 * RANGE[prm[MN_R2] % 5] * SemitonesToRatioSafe(bip(prm[MN_T2]) * 7.0f + tune); - fr[2] = f0 * RANGE[prm[MN_R3] % 5] * SemitonesToRatioSafe(bip(prm[MN_T3]) * 7.0f - tune * 0.5f); + fr[0] = f0 * vib * RANGE[prm[MN_R1] % 5]; + fr[1] = f0 * vib * RANGE[prm[MN_R2] % 5] * SemitonesToRatioSafe(bip(prm[MN_T2]) * 7.0f); + fr[2] = f0 * RANGE[prm[MN_R3] % 6] * SemitonesToRatioSafe(bip(prm[MN_T3]) * 7.0f); /* el que modula no se modula */ for (int i = 0; i < 3; i++) CONSTRAIN(fr[i], 0.00001f, 0.25f); /* las dos envolventes; la macro F DECAY (64 = nada) corre la caída de la de filtro */ @@ -225,7 +250,8 @@ int render_mini(Voice &z, const uint8_t *prm, const uint8_t mac[4], float *out, /* filtro: CUTOFF, EMPHASIS y CONTOUR (la cantidad de la envolvente de filtro) */ float cut = (float)mac[0] * (120.0f / 127.0f) + pc(mac[2]) * 72.0f * z.ef.v + pc(prm[MN_KEYT]) * (z.note - 60.0f) + pc(prm[MN_VELF]) * z.vel * 24.0f - + (ld == MN_D_CUT ? lfo * lamt * 36.0f : 0.0f); + + (to_cut ? mod * lamt * 36.0f : 0.0f) + + (z.vel > 0.99f ? 14.0f : 0.0f); /* ACCENT (SCL): más filtro */ if (z.first) { z.cut_prev = cut; z.first = 0; } float kres = pc(mac[1]) * 3.95f; float c0 = z.cut_prev, dc = (cut - c0) / (float)n; @@ -236,7 +262,7 @@ int render_mini(Voice &z, const uint8_t *prm, const uint8_t mac[4], float *out, for (int i = i0; i < i1; i++) b1[i] = z.lad.Process(b1[i], G, kres); } float fsus = pc(prm[MN_FS]), as = pc(prm[MN_AS]); - float velg = 1.0f - pc(prm[MN_VELA]) * (1.0f - z.vel); + float velg = (1.0f - pc(prm[MN_VELA]) * (1.0f - z.vel)) * (z.vel > 0.99f ? 1.3f : 1.0f); /* y más fuerte */ float ka = z.k[4], kd = z.k[5], kr = z.k[7]; for (int i = 0; i < n; i++) out[i] = b1[i] * z.ea.Next(ka, kd, as, kr) * velg * 1.2f; ka = z.k[0]; kd = z.k[1]; kr = z.k[3]; @@ -254,13 +280,8 @@ int render_mini(Voice &z, const uint8_t *prm, const uint8_t mac[4], float *out, int render_buno(Voice &z, const uint8_t *prm, const uint8_t mac[4], float *out, int n, float *b1, bool para) { - /* LFO triangular con retardo: la rampa sube después de la nota */ - z.lph += bm_lfo_hz(prm[BN_LRATE]) * (float)n / fs_; - if (z.lph >= 1.0f) z.lph -= (float)(int)z.lph; - float dl = bm_env_s(prm[BN_LDELAY]); - z.ldel += (float)n / (fs_ * (dl > 0.002f ? dl : 0.002f)); - if (z.ldel > 1.0f) z.ldel = 1.0f; - float lfo = (4.0f * fabsf(z.lph - 0.5f) - 1.0f) * (prm[BN_LDELAY] ? z.ldel : 1.0f); + /* el LFO del Juno: uno para todas las voces, con su retardo (bm_wv_lfo) */ + float lfo = lfo_now_[lane_now_]; static const uint8_t KI[8] = {BN_A, BN_D, 0xFF, BN_R, 0xFF, 0xFF, 0xFF, 0xFF}; static const float SC[8] = {1, 1, 1, 1, 1, 1, 1, 1}; @@ -302,7 +323,7 @@ int render_buno(Voice &z, const uint8_t *prm, const uint8_t mac[4], float *out, float G = ladder_g(c0 + dc * (float)((i0 + i1) / 2)); for (int i = i0; i < i1; i++) b1[i] = z.lad.Process(b1[i], G, kres); } - } else { z.first = 0; z.cut_prev = (float)mac[0] * (120.0f / 127.0f); } /* (where the VCF resumes) */ + } else { z.first = 0; z.cut_prev = (float)mac[0] * (120.0f / 127.0f); z.lad.Init(); } /* (where the VCF resumes, clean) */ /* VCA: con la envolvente o en GATE (con 2 ms de suavizado) */ float s = pc(prm[BN_S]); float velg = (1.0f - pc(prm[BN_VELA]) * (1.0f - z.vel)) * 1.3f; @@ -403,6 +424,7 @@ inline void cap_readers(int &u1, int &u2, int budget) int render_bittal(Voice &z, const uint8_t *prm, const uint8_t mac[4], float *out, int n, float *b1, int readers) { + bm_wv_btseq++; glide(z, prm[BT_GLIDE], n); float lamt = pc(prm[BT_LAMT]) + 0.5f * bm_bt_macro(prm, mac, BTM_LFO), lfo = 0.0f; CONSTRAIN(lamt, 0.0f, 1.0f); @@ -437,6 +459,7 @@ int render_bittal(Voice &z, const uint8_t *prm, const uint8_t mac[4], float *out float det = (pc(prm[b + 5]) + 0.5f * dets) * 0.02f; if (det < 0.0f) det = 0.0f; wt_osc(z, o, o, f0 * SemitonesToRatioSafe(semi), pos, uni, det, lvl, b1, n); + bm_wv_btpos[o] = pos < 0.0f ? 0.0f : pos > 1.0f ? 1.0f : pos; /* (para la pantalla) */ } float drive = pc(prm[BT_DRIVE]) + bm_bt_macro(prm, mac, BTM_DRIVE); CONSTRAIN(drive, 0.0f, 1.0f); @@ -532,12 +555,16 @@ void bm_wv_start(int v, int eng, const uint8_t *prm, const uint8_t mac[4], float } Voice &z = V(v); (void)mac; - int gl = eng == ENG_MINI ? prm[MN_GLIDE] : eng == ENG_BITTAL ? prm[BT_GLIDE] : 0; + int tied = legato == 3; /* 3: ligada por el GLIDE del paso (B-MINI) */ + if (tied) legato = 1; + z.tieg = (uint8_t)(tied && eng == ENG_MINI); + int gl = eng == ENG_MINI ? (z.tieg ? 30 : prm[MN_GLIDE]) : eng == ENG_BITTAL ? prm[BT_GLIDE] : 0; bool alive = z.ea.st != ST_OFF && z.ea.st != ST_R; if (legato == 1 && alive) { z.target = note; if (!gl) z.note = note; z.vel = vel; z.gate = 1; return; } bool sounding = legato == 2 && z.ea.st != ST_OFF; + bool from = sounding || (legato == 2 && eng == ENG_MINI); z.target = note; - if (!sounding || !gl) z.note = note; + if (!from || !gl) z.note = note; z.vel = vel; if (!sounding) { z.f1.Init(); z.f2.Init(); z.lad.Init(); @@ -548,7 +575,7 @@ void bm_wv_start(int v, int eng, const uint8_t *prm, const uint8_t mac[4], float z.first = 1; } z.gate = 1; - z.lph = eng == ENG_BUNO ? z.lph : 0.0f; z.lsh = rnd(z.rng); z.ldel = 0.0f; + z.lph = 0.0f; z.lsh = rnd(z.rng); z.ldel = 0.0f; /* BITTAL: su LFO por voz, desde la nota */ z.ea.Gate(true); z.ef.Gate(true); } @@ -560,11 +587,35 @@ void bm_wv_release(int v) float bm_wv_level(int v) { return mine(v) ? V(v).ea.v : 0.0f; } +/* El LFO del canal (B-MINI y BUNO-6), una vez por bloque antes de las voces: corre libre, como el + * oscilador 3 del Minimoog y el LFO del Juno (uno para todas las voces). El retardo del Juno vuelve a + * empezar cuando se toca después de soltar todo (restart = 1). */ +void bm_wv_lfo(int t, int eng, const uint8_t *prm, int n, int lane, int restart) +{ + if (t < 0 || t >= BM_TRACKS) return; + Bus &b = bus_[t]; + int rate = eng == ENG_BUNO ? prm[BN_LRATE] : prm[MN_LRATE]; + b.lph += bm_lfo_hz(rate) * (float)n / fs_; + if (!(b.lph >= 0.0f && b.lph < 1e6f)) b.lph = 0.0f; + if (b.lph >= 1.0f) b.lph -= (float)(int)b.lph; + float v = 4.0f * fabsf(b.lph - 0.5f) - 1.0f; + if (eng == ENG_MINI && prm[MN_LWAVE]) v = b.lph < 0.5f ? 1.0f : -1.0f; /* B-MINI: TRI o SQUARE, como el POLY D */ + if (eng == ENG_BUNO && prm[BN_LDELAY]) { + if (restart) b.ldel = 0.0f; + float dl = bm_env_s(prm[BN_LDELAY]); + b.ldel += (float)n / (fs_ * (dl > 0.002f ? dl : 0.002f)); + if (b.ldel > 1.0f) b.ldel = 1.0f; + v *= b.ldel; + } + lfo_now_[lane & 1] = v; +} + int bm_wv_render(int v, int eng, const uint8_t *prm, const uint8_t mac[4], float *out, int n, int lane, int flags) { if (n <= 0) return 0; if (!mine(v)) { memset(out, 0, sizeof(float) * (size_t)n); return 0; } Voice &z = V(v); + lane_now_ = lane & 1; int alive = render(z, eng, prm, mac, out, n, lane, flags); /* Un NaN en un filtro o una envolvente se queda: la última muestra y los estados, una vez por * bloque. Si algo se rompió, la voz vuelve a cero, el bloque sale en silencio y se avisa (-1). */ diff --git a/core/bm_wave.h b/core/bm_wave.h index af402af..69a4287 100644 --- a/core/bm_wave.h +++ b/core/bm_wave.h @@ -18,9 +18,15 @@ extern "C" { void bm_wv_init(float fs); /* eng = ENG_MINI, ENG_BITTAL o ENG_BUNO. legato 0: voz nueva · 1: sigue y solo cambia de nota (glide) - * · 2: mono, redispara las envolventes desde la nota anterior. */ + * · 2: mono, redispara las envolventes desde la nota anterior · 3: como 1, ligada por el GLIDE de un + * paso (el B-MINI se desliza aunque su GLIDE esté en 0). */ void bm_wv_start(int v, int eng, const uint8_t *prm, const uint8_t mac[4], float note, float vel, int legato); void bm_wv_release(int v); +void bm_wv_lfo(int t, int eng, const uint8_t *prm, int n, int lane, int restart); /* el LFO del canal, antes de las voces */ +/* BITTAL: la posición en la tabla (0..1) de cada oscilador en el último bloque que sonó, para dibujarla; + * bm_wv_btseq cuenta los bloques (si no cambia, no está sonando) */ +extern volatile float bm_wv_btpos[2]; +extern volatile uint32_t bm_wv_btseq; /* lane: 0 o 1, el búfer de trabajo del núcleo que calcula (con el audio en dos núcleos). * flags: WV_PARA (BUNO-6: the voice skips its VCF, bm_wv_bus filters the sum) and, for BITTAL, the * table readers (unison voices of both oscillators) this voice may use, 0 = all. diff --git a/core/gen/bm_fm_rom.c b/core/gen/bm_fm_rom.c index 8dfcb5a..2d4461a 100644 --- a/core/gen/bm_fm_rom.c +++ b/core/gen/bm_fm_rom.c @@ -24,6 +24,17 @@ const uint8_t bm_fm_rom[BM_FM_PATCHES][156] = { {99,60,99,60,99,90,90,0,39,0,0,0,3,2,0,2,80,0,1,0,7,99,60,99,60,99,85,85,0,39,0,0,0,3,2,0,2,74,0,1,0,7,99,60,99,60,99,88,88,0,39,0,0,0,3,2,0,3,78,0,1,0,7,99,60,99,60,99,95,95,0,39,0,0,0,3,2,0,1,99,0,1,0,8,90,60,99,60,99,80,80,0,39,0,0,0,3,2,0,3,70,0,2,0,7,99,60,99,60,99,92,92,0,39,0,0,0,3,2,0,1,95,0,1,0,7,99,99,99,99,50,50,50,50,0,7,1,38,45,8,0,0,4,4,24,76,69,65,68,32,32,32,32,32,32,63}, /* LEAD */ {80,40,99,50,99,88,88,0,39,0,0,0,3,2,0,2,80,0,1,0,7,80,40,99,50,99,90,90,0,39,0,0,0,3,2,0,1,84,0,2,0,6,80,40,99,50,99,90,90,0,39,0,0,0,3,2,0,1,92,0,1,0,11,80,40,99,50,99,90,90,0,39,0,0,0,3,2,0,1,92,0,1,0,3,80,40,99,50,99,85,85,0,39,0,0,0,3,2,0,2,74,0,1,0,7,80,40,99,50,99,90,90,0,39,0,0,0,3,2,0,1,94,0,1,0,7,99,99,99,99,50,50,50,50,21,7,1,28,20,4,0,0,4,2,24,83,85,80,69,82,32,70,77,32,32,63}, /* SUPER FM */ {99,65,70,70,99,60,40,0,39,0,0,0,3,2,0,4,74,0,1,0,7,99,65,70,70,99,60,40,0,39,0,0,0,3,2,0,4,74,0,1,0,7,99,65,70,70,99,60,40,0,39,0,0,0,3,2,0,4,70,0,2,0,7,99,55,70,70,99,80,60,0,39,0,0,0,3,2,0,2,90,0,1,0,9,99,60,70,70,99,70,50,0,39,0,0,0,3,2,0,5,84,0,1,0,7,99,50,70,70,99,85,70,0,39,0,0,0,3,2,0,2,99,0,1,0,7,99,99,99,99,50,50,50,50,1,7,1,35,0,0,0,1,0,0,24,66,85,90,90,32,32,32,32,32,32,63}, /* BUZZ */ + {99,50,35,50,99,80,0,0,39,0,0,0,3,2,0,2,0,0,1,0,7,99,50,35,50,99,80,0,0,39,0,0,0,3,2,0,2,0,0,1,0,7,99,80,45,75,99,0,0,0,39,0,0,0,3,2,0,5,60,0,1,0,7,99,52,35,75,99,70,0,0,39,0,0,0,3,2,0,2,88,0,0,0,9,99,72,45,75,99,30,0,0,39,0,0,0,3,2,0,5,82,0,0,0,7,99,50,35,75,99,70,0,0,39,0,0,0,3,2,0,2,99,0,0,0,7,99,99,99,99,50,50,50,50,4,2,1,35,0,0,0,1,0,0,24,81,85,69,82,89,32,66,83,32,32,63}, /* QUERY BS */ + {75,45,30,70,99,80,82,0,39,0,0,0,3,2,0,4,86,0,1,0,7,75,45,30,70,99,78,80,0,39,0,0,0,3,2,0,4,74,0,1,0,9,75,45,30,70,99,80,82,0,39,0,0,0,3,2,0,4,88,0,1,0,12,80,70,99,70,99,92,96,0,39,0,0,0,3,2,0,2,97,0,1,0,10,75,45,30,70,99,80,82,0,39,0,0,0,3,2,0,4,88,0,1,0,4,80,70,99,70,99,92,96,0,39,0,0,0,3,2,0,2,99,0,1,0,6,99,99,99,99,50,50,50,50,12,4,1,35,0,0,0,1,0,0,24,81,85,69,82,89,66,82,83,32,32,63}, /* QUERYBRS */ + {99,50,35,50,99,80,0,0,39,0,0,0,3,2,0,2,0,0,1,0,7,99,50,35,50,99,80,0,0,39,0,0,0,3,2,0,2,0,0,1,0,7,99,90,50,72,99,0,0,0,39,0,0,0,3,2,0,7,74,0,3,0,7,99,48,30,72,99,75,0,0,39,0,0,0,3,2,0,3,92,0,0,0,10,99,78,45,72,99,30,0,0,39,0,0,0,3,2,0,7,90,0,0,0,7,99,45,30,72,99,75,0,0,39,0,0,0,3,2,0,3,99,0,0,0,7,99,99,99,99,50,50,50,50,4,3,1,35,0,0,0,1,0,0,24,83,75,69,84,67,72,66,83,32,32,63}, /* SKETCHBS */ + {99,50,35,50,99,80,0,0,39,0,0,0,3,2,0,2,0,0,1,0,7,99,50,35,50,99,80,0,0,39,0,0,0,3,2,0,2,0,0,1,0,7,99,92,55,78,99,0,0,0,39,0,0,0,3,2,0,6,70,0,3,0,7,99,60,40,78,99,55,0,0,39,0,0,0,3,3,0,3,86,0,1,0,9,99,82,50,78,99,25,0,0,39,0,0,0,3,3,0,7,92,0,0,0,7,99,58,40,78,99,60,0,0,39,0,0,0,3,3,0,3,99,0,0,0,7,99,99,99,99,50,50,50,50,4,4,1,35,0,0,0,1,0,0,24,84,79,77,67,65,84,66,83,32,32,63}, /* TOMCATBS */ + {99,50,35,50,99,80,0,0,39,0,0,0,3,2,0,2,0,0,1,0,7,99,50,35,50,99,80,0,0,39,0,0,0,3,2,0,2,0,0,1,0,7,50,35,25,55,80,60,45,0,39,0,0,0,3,2,0,3,52,0,1,0,7,80,42,25,55,99,90,85,0,39,0,0,0,3,2,0,2,88,0,0,0,9,55,35,25,55,85,70,55,0,39,0,0,0,3,2,0,4,72,0,0,0,7,80,40,25,55,99,92,88,0,39,0,0,0,3,2,0,2,99,0,0,0,7,99,99,99,99,50,50,50,50,4,1,1,30,60,3,0,0,4,2,24,66,82,84,72,76,69,83,83,32,32,63}, /* BRTHLESS */ + {99,50,35,50,99,80,0,0,39,0,0,0,3,2,0,2,0,0,1,0,7,99,50,35,50,99,80,0,0,39,0,0,0,3,2,0,2,0,0,1,0,7,99,95,60,80,99,0,0,0,39,0,0,0,3,2,0,6,66,0,7,0,7,99,64,45,80,99,50,0,0,39,0,0,0,3,3,0,3,84,0,1,0,8,99,85,55,80,99,20,0,0,39,0,0,0,3,3,0,7,86,0,0,0,7,99,62,45,80,99,55,0,0,39,0,0,0,3,3,0,3,99,0,0,0,7,99,99,99,99,50,50,50,50,4,3,1,35,0,0,0,1,0,0,24,67,82,73,83,80,32,66,83,32,32,63}, /* CRISP BS */ + {70,60,99,62,99,35,35,0,39,0,0,0,3,2,0,2,52,0,7,0,7,70,60,99,62,99,30,30,0,39,0,0,0,3,2,0,2,40,0,4,0,7,55,45,99,62,90,75,75,0,39,0,0,0,3,2,0,3,48,0,1,0,7,62,45,99,62,99,95,95,0,39,0,0,0,3,2,0,2,82,0,1,0,9,55,45,99,62,95,80,80,0,39,0,0,0,3,2,0,3,62,0,2,0,7,62,45,99,62,99,95,95,0,39,0,0,0,3,2,0,2,99,0,1,0,7,99,99,99,99,50,50,50,50,4,6,1,32,45,7,0,0,4,3,24,69,77,79,84,78,72,82,80,32,32,63}, /* EMOTNHRP */ + {99,50,35,50,99,80,0,0,39,0,0,0,3,2,0,2,0,0,1,0,7,99,50,35,50,99,80,0,0,39,0,0,0,3,2,0,2,0,0,1,0,7,99,96,50,62,99,0,0,0,39,0,0,0,3,4,0,6,60,0,10,0,7,99,64,40,62,99,0,0,0,39,0,0,0,3,4,0,4,88,0,1,0,9,99,90,45,62,99,0,0,0,39,0,0,0,3,4,0,6,80,0,3,17,7,99,62,40,62,99,0,0,0,39,0,0,0,3,4,0,4,99,0,1,0,7,99,99,99,99,50,50,50,50,4,0,1,35,0,0,0,1,0,0,24,66,65,78,65,78,65,77,82,32,32,63}, /* BANANAMR */ + {95,45,25,50,99,78,0,0,39,0,0,0,3,3,0,7,84,0,1,0,7,95,18,18,48,99,95,0,0,39,0,0,0,3,3,0,2,99,0,1,0,14,95,45,25,50,99,78,0,0,39,0,0,0,3,3,0,7,74,0,1,0,7,95,18,18,48,99,95,0,0,39,0,0,0,3,3,0,2,99,0,1,0,0,96,52,35,75,99,70,0,0,41,0,55,0,0,3,0,7,56,0,14,0,7,96,22,22,60,99,75,0,0,39,0,0,0,3,3,0,2,99,0,1,0,7,99,99,99,99,50,50,50,50,4,5,1,35,0,0,0,1,0,0,24,79,87,76,83,32,69,80,32,32,32,63}, /* OWLS EP */ + {95,45,25,50,99,80,0,0,39,0,0,0,3,3,0,6,86,0,1,0,7,95,20,20,50,99,95,0,0,39,0,0,0,3,3,0,2,99,0,1,0,12,95,45,25,50,99,80,0,0,39,0,0,0,3,3,0,6,78,0,1,0,7,95,20,20,50,99,95,0,0,39,0,0,0,3,3,0,2,99,0,1,0,2,95,50,35,78,99,72,0,0,41,0,50,0,0,3,0,6,50,0,14,0,7,96,25,25,62,99,78,0,0,39,0,0,0,3,3,0,2,99,0,1,0,7,99,99,99,99,50,50,50,50,4,6,1,28,0,2,0,0,4,2,24,68,73,86,65,32,69,80,32,32,32,63}, /* DIVA EP */ + {95,38,22,45,99,85,0,0,39,0,0,0,3,2,0,5,94,0,1,0,7,95,16,16,45,99,95,0,0,39,0,0,0,3,2,0,2,99,0,1,0,13,95,38,22,45,99,85,0,0,39,0,0,0,3,2,0,5,88,0,1,0,7,95,16,16,45,99,95,0,0,39,0,0,0,3,2,0,2,99,0,1,0,1,95,45,30,70,99,78,0,0,41,0,40,0,0,2,0,5,66,0,14,0,7,96,20,18,55,99,82,0,0,39,0,0,0,3,2,0,2,99,0,1,0,7,99,99,99,99,50,50,50,50,4,6,1,34,30,4,0,0,4,2,24,76,65,71,79,79,78,69,80,32,32,63}, /* LAGOONEP */ }; -const char bm_fm_names[BM_FM_PATCHES][9] = {"TINEKEYS", "FULLTINE", "POP BASS", "HOUSE BS", "SUB BASS", "TUBECHIM", "CHIMES", "BRASS 80", "STRINGS", "MARIMBA", "FLUTE", "PIPE ORG", "ORGAN", "REED HRP", "CLAVI", "PLUCKED", "GLASS", "LEAD", "SUPER FM", "BUZZ"}; +const char bm_fm_names[BM_FM_PATCHES][9] = {"TINEKEYS", "FULLTINE", "POP BASS", "HOUSE BS", "SUB BASS", "TUBECHIM", "CHIMES", "BRASS 80", "STRINGS", "MARIMBA", "FLUTE", "PIPE ORG", "ORGAN", "REED HRP", "CLAVI", "PLUCKED", "GLASS", "LEAD", "SUPER FM", "BUZZ", "QUERY BS", "QUERYBRS", "SKETCHBS", "TOMCATBS", "BRTHLESS", "CRISP BS", "EMOTNHRP", "BANANAMR", "OWLS EP", "DIVA EP", "LAGOONEP"}; diff --git a/docs/en/CHANGELOG.md b/docs/en/CHANGELOG.md index 4ce2fab..173211e 100644 --- a/docs/en/CHANGELOG.md +++ b/docs/en/CHANGELOG.md @@ -2,6 +2,52 @@ Every version of Bubba Machine. The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and versions follow [semantic versioning](https://semver.org/): while the version starts with 0, any minor version may change how it plays or the pattern format. +## [0.10.0-beta] - 2026-10-24 + +**Every machine is its own instrument.** HOME was rebuilt from scratch as a six-channel mixer, and entering a channel hands the whole FM-1 to its machine, laid out like the real one: TB-303, Minimoog, Juno-6, Vital and the FM-1's own DX7-style synth. The drums have a new step sequencer and the pad sampler became the **BP-1 Slicer**. Installed and running on the author's FM-1. + +> On first boot 0.10 erases the saved patterns and scenes **once** and loads three factory patterns. Takes and settings are kept. Until v1 there is still no backward compatibility. + +### Added +- **Factory patterns:** 1 = a recreation of *Da Funk* (Daft Punk, 111 BPM), 2 = *Confusion* in its Pump Panel Reconstruction from *Blade* (New Order, 136 BPM, the 303 line from a published sheet), 3 = *Enjoy the Silence* (Depeche Mode, 113 BPM, drums from a published grid). They are played by the stock machines; nothing is sampled. +- **Scene B of every pattern is all muted** (the six channels, drums too) until you store another scene over it. +- **BX-7 is back:** the FM-1's own FM synth inside Bubba. Six operators, the 32 algorithms drawn on screen, 8 voices, its own effects chain, EDIT per operator (OP1-OP6), ENV, LFO and an arpeggiator with 7 modes and LATCH that records. 31 factory sounds, 11 of them from famous records. +- **BB-303 laid out as a TB-303:** CUTOFF, RESONANCE, ENV MOD and DECAY on K1-K4, ALGORITHM = ACCENT, a second page with TUNING, WAVE, SLIDE and VOLUME. SCL edits ACCENT per step (SCL again = SLIDE). FX is OVERDRIVE → DELAY → REVERB like a TB-03. A synced LFO page with classic waves and rhythmic shapes (PUMP, GATE, STEPS, 3-3-2, BUILD) on cutoff, pitch, resonance or volume. +- **B-MINI, BUNO-6 and BITTAL have their own menus**, following the panel of each machine (Minimoog, Juno-6, Vital) in tabs with four big knobs, and the filter curve, oscillator shape or wavetable drawn under them. Each has DISTORTION, CHORUS and REVERB per channel; SCL edits ACCENT and GLIDE per step. +- **BP-1 Slicer (the last channel):** EDIT trims a take and slices it into the pads (AUTO, 8 or 16 slices), always writing a sequence that plays like the loop; it can also record the mix from the next bar into a pad. Each pad has PITCH, LEVEL, MODE, REVERSE, ATTACK, RELEASE and loop points, and SEQ is a step grid like the drums with a LENGTH/SPEED layer. +- **Drum sequencer (BR-8):** white keys = steps, black keys = quick access to the instruments, page arrows, REPEAT, and layers for ACCENTS, sound, instrument and MUTE SOUNDS. +- **Machine GLO** on every machine: LENGTH (1-64 steps), MACHINE, MIDI CH and MIDI OUT; on page 2 QUANT (25-100 % for live recording) and RESET. +- **MIDI OUT per channel:** a channel can send its notes over USB on its own MIDI channel (factory: T1 = 1 … T6 = 6). +- **Step recording:** REC while stopped inside SEQ writes the key or chord on the cursor step and moves on; PLAY + REC rewrites only the steps you play. +- `tools/fm1/instalar.py` installs from the computer with a log; `consola.py estado` shows the key-scan latency. + +### Changed +- **HOME is a mixer:** K1-K4 = VOLUME, FILTER, DELAY and REVERB of the cursor channel, ALGORITHM = tempo, PRESETS = the channel's sound. White 1-9 = patterns (they change at the end of the bar), white 11-16 = channels, black 1-6 = mutes (hold = solo), black 8-11 = scenes A-D (hold a pattern + scene = store, tap = launch on the next bar, hold 3 s = delete). White 10 and black 7 do nothing. +- **9 patterns** (was 10). +- **Choosing a machine:** HOME's GLO › SELECT MACHINE or K2 on the machine's GLO. The drums stay on T1 and the Slicer stays last; the other channels pick BB-303, B-MINI, BX-7, BITTAL or BUNO-6. At most two heavy machines (BX-7, BUNO-6, BITTAL), each only once. +- **Menu buttons are cyclic:** pressing a menu button again goes to its next page; HOME or another menu leaves. SELECT no longer turns pages. No help text on screen. +- **Recording works like SLOOP:** a fixed length that wraps around and never grows. **REC held 2 s clears the cursor channel's sequence**, playing or stopped. +- SAVE while playing waits and writes when you stop (the SAVE light blinks). SAVE has SAVE, SAVE AS and DELETE; SYSTEM keeps the basics. +- Every knob is drawn once on screen; the SEL / ALG / PRE legends are bigger. +- Pattern format 10. + +### Fixed +- **False safe mode** after two quick power-offs: a boot only counts as failed if the next one starts from a chip reset. +- **Dim LEDs flickered:** the key scan now times each LED on its own and makes up for interrupt latency. +- **Keys went dead after about 71 s** (a timer could wrap around while being reprogrammed); the scan also re-arms itself if it stops. +- A knob paused half-way through a click could count twice; key release takes 4 frames. +- USB MIDI could lose note-offs. +- The power-on key combo for safe mode did not read the keys. +- Machine audit against the original manuals: BB-303 accent only on accented steps and slide only with a tie or legato playing; key stacks on mono machines; BX-7 transpose, osc sync and break point; B-MINI TUNE tunes everything; one BUNO-6 LFO per channel with its delay; several arpeggiator and recording fixes (wrong note lengths after a previous take, hung notes when turning the arp on). + +### Removed +- From the 0.9 console: the channel card, CUE, FX › CHANNEL, the song, MORE, and the old SOUND / INSTR / MIX / PADS / TAKES / LOOP / SCALE / CHORDS menus. +- FREE REC (a free-length first take). +- User sound banks on the BX-7 for now: factory sounds only. + +### Known issues +- In a long, very dense simulated session the voice brake can leave B-MINI almost silent in the last minute. + ## [0.9.0-beta] - 2026-10-18 **HOME is the console.** Ten patterns, six channels, mutes, scenes and CUE on the keys, like an MX-1; REC plays and records any channel without leaving the console; each machine keeps its own GLO. Beta: not fully tried on the device yet. diff --git a/docs/en/CREDITS.md b/docs/en/CREDITS.md index 866d1d5..34cafe9 100644 --- a/docs/en/CREDITS.md +++ b/docs/en/CREDITS.md @@ -56,6 +56,14 @@ The repositories: .bsnap files converted from a GPL-3.0 preset stay GPL-3.0, like the firmware. **Vital** is a synthesizer by Matt Tytel; Bubba Machine reads its preset format but has no relation to Vital or its author, and does not use its code. +## Factory patterns + +Patterns 1-3 are recreations, played by the stock machines (no audio sampled): *Da Funk* (Daft Punk), *Confusion* in its Pump Panel Reconstruction from *Blade* (New Order) and *Enjoy the Silence* (Depeche Mode). The songs belong to their authors; the patterns only take tempo, key, chords and published sequencer sheets: + +- *Confusion*: the 303 line from the sheet on [djjondent.blogspot.com](https://djjondent.blogspot.com/), with the accents proposed on the Adafruit forums. +- *Enjoy the Silence*: the drum grid from [drum-patterns.com](https://drum-patterns.com/) and the chorus chords from [Hooktheory](https://www.hooktheory.com/). +- *Da Funk*: there is no published sheet; the notes follow Attack Magazine and Reverb Machine, and the order is by ear. + ## What ships with the firmware or the emulator | Component | Where | License | diff --git a/docs/en/INSTALL.md b/docs/en/INSTALL.md index ac4a672..bcf1c08 100644 --- a/docs/en/INSTALL.md +++ b/docs/en/INSTALL.md @@ -1,8 +1,8 @@ # Installing Bubba Machine -## Current status: beta (0.9.0-beta) +## Current status: beta (0.10.0-beta) -Bubba Machine for the FM-1 has a **full firmware, with sound**, a **diagnostic firmware** and a **web installer**. It runs on the author's FM-1, but it is a **beta**: tested on a single device and still changing a lot. **0.9.0-beta has not been fully tried on the device yet** (it passes the automated tests and the emulator; do not install 0.6.0-beta: it was short of RAM); if something goes wrong, go back to the stock firmware from the installer, or to 0.8.0-beta: the installer only offers the latest version, so download `bubba-machine-0.8.0-beta.fwsc` from the [GitHub releases](https://github.com/Erbubar23/bubba-machine/releases) and pick it under **More options**. Technical progress is in [`hal/fm1/README_PORT.md`](../../hal/fm1/README_PORT.md) (Spanish). +Bubba Machine for the FM-1 has a **full firmware, with sound**, a **diagnostic firmware** and a **web installer**. It runs on the author's FM-1, but it is a **beta**: tested on a single device and still changing a lot. **0.10.0-beta runs on the author's FM-1** (do not install 0.6.0-beta: it was short of RAM); if something goes wrong, go back to the stock firmware from the installer, or to 0.9.0-beta: the installer only offers the latest version, so download `bubba-machine-0.9.0-beta.fwsc` from the [GitHub releases](https://github.com/Erbubar23/bubba-machine/releases) and pick it under **More options**. Technical progress is in [`hal/fm1/README_PORT.md`](../../hal/fm1/README_PORT.md) (Spanish). > **What you save may be lost when you update.** There is no backward compatibility until v1: if a new version changes how patterns, the song, settings or takes are stored, the old data is erased on first boot and the demo comes back. If something matters to you, record it from the audio output before updating. diff --git a/docs/en/MANUAL.md b/docs/en/MANUAL.md index 54d326b..86d820b 100644 --- a/docs/en/MANUAL.md +++ b/docs/en/MANUAL.md @@ -1,510 +1,400 @@ -# Bubba Machine 0.9 — Manual +# Bubba Machine 0.10 — Manual -Bubba Machine turns the FM-1 into a live groovebox with **six channels**, each one a machine named after the one that inspired it. The drums (**BR-8**) and the pad sampler (**BP-1**) are fixed; **T3-T6 choose their instrument** among **BB-303** (acid bass), **B-MINI** (three-oscillator mono), **BX-7** (6-operator FM), **BITTAL** (wavetable that loads Vital presets) and **BUNO-6** (polysynth with chorus). HOME is the **BX-1** console: patterns, channels, mutes and scenes on the keys. Every channel has its own length and its own speed. +Bubba Machine turns the FM-1 into a live groovebox with **six channels**, each one a machine named after the one that inspired it. The drums (**BR-8**, always T1) and the pad sampler (**BP-1**, the Slicer, always T6) are fixed; **T2-T5 choose their instrument** among **BB-303** (the TB-303), **B-MINI** (Minimoog), **BUNO-6** (Juno-6), **BITTAL** (wavetable, Vital) and **BX-7** (6-operator FM, the FM-1's own engine). HOME is the **BX-1** mixer: patterns, channels, mutes and scenes on the keys. -**The goal is a hi-fi machine:** every machine and the mix are computed live at 44.1 kHz / 24-bit in floating point, each machine has its own engine modeled on the real one, and both cores of the FM-1 can share the work (TWO CORES). See [Audio quality](AUDIO.md). +**The goal is a hi-fi machine:** every machine and the mix are computed live at 44.1 kHz / 24-bit in floating point, and each machine has its own engine modeled on the real one. See [Audio quality](AUDIO.md). -> The names recall famous machines (TR-8, OP-1, TB-303, Minimoog, DX7, Vital, Juno-6, MX-1), but Bubba Machine has no relation to their brands or makers. +> The names recall famous machines (TR-8, TB-303, Minimoog, Juno-6, Vital, DX7, MX-1), but Bubba Machine has no relation to their brands or makers. -The interface fits in two sentences: **four gestures per button, and they mean the same thing on every button. HOME everywhere.** - -**Every machine is its own instrument.** On HOME you are at the BX-1 console, like a mixer for live sets: you launch patterns, mute, solo, launch scenes and mix. Enter a channel and **the whole FM-1 belongs to that machine**: its keys, buttons, knobs and lights work like the real machine it is named after, and you only edit a machine from inside it. **HOME is the way out**: a tap always takes you back to the console. +**Every machine is its own instrument.** On HOME you are at the mixer: you launch patterns, mute, solo, launch scenes and mix. Enter a channel and **the whole FM-1 belongs to that machine**: its buttons are that machine's menus and its knobs are its panel. **HOME is the way out**: a tap always takes you back to the mixer. > **The screen is in English.** Names that appear on screen are written here in CAPITALS exactly as you will see them. Other languages are packs you load from the [control platform](../../web/control.html) (see [Screen language](#screen-language)). -> 0.9 has **10 patterns**. Coming from 0.8, patterns 01-10 are kept; 11-16 are dropped, and the song and the scenes start empty (their format changed). Until v1 an update may erase what you saved. - -## Four gestures per button - -| Gesture | When | What it does | -|---|---|---| -| **Tap** | under 300 ms | Opens its page on the channel you are on. Again: the next page of the same button | -| **Hold** | 300 ms or more | Its **live layer**: while you hold it, the keys do that job and the screen draws the keyboard with what each key does. Let go and you are back | -| **Hold 2 s** | 2 s without touching anything else | Its settings or its dangerous action. A ring fills at the top with the name of what it opens; touching anything cancels it. Only on HOME, SEQ, EDIT, SAVE and REC | -| **HOME + button** | with HOME held | The **global version** of the button: for the whole project, not just the channel | - -There are never two layers at once: with a layer open, holding another button does not open its own. +> **First boot of 0.10:** the pattern format changed, so the saved patterns are erased **once** and the three factory patterns are loaded (see [Factory patterns](#factory-patterns)). Takes, your sounds and the settings are kept. Until v1 an update may erase what you saved. -**Questions.** Anything that erases something asks first, and **the control that asked answers**: keep it held 2 s and a bar fills (**KEEP HOLDING EDIT = YES**); letting it go before, or touching any other control, is no. While a question is open only that control blinks. If a knob asked (for example INIT SOUND in the machine GLO), leaving it 2 s without touching anything else is yes. +## How the buttons work -![A question: keep holding the key that asked](../../assets/screens/46-ask.png) +- **Menu buttons open their page with one press.** Pressed again, a menu with several pages goes to its **next page, in a circle** (it does not exit); a menu with one page goes back to the machine's main page. Another menu, or HOME, leaves it. Holding a menu button does the same as a press. +- **Hold 2 s** only on three buttons: **HOME** (SYSTEM), **SAVE** (quick save) and **REC** (clear the channel). A ring fills at the top with the name of what it does. +- **SELECT never turns pages.** It moves a cursor where there is one (the channel, a step, a row, a block of 16 steps, an FX slot). +- **No help text on screen.** The screen names what each key and knob does; how to use it is in this manual. +- **A control with nothing to do here does nothing**, and its light is off. ## The lights -The FM-1's lights are white only: they never say *what* a key or button does (the screen does), only its state. The same six levels mean the same thing on every screen: +The FM-1's lights are white only: they never say *what* a key or button does (the screen does), only its state. The same levels mean the same thing on every screen: | Light | Keys | Buttons | |---|---|---| -| **Off** | Does nothing here: no function, an empty instrument, outside the length | Does nothing on this screen | +| **Off** | Does nothing here: no function, an empty pattern or instrument, outside the length | Does nothing on this screen | | **Dim** | Available but empty, or has something but is silenced (a muted instrument or channel) | Available | -| **Medium** | Has something and will play: an instrument with steps, a saved pattern or scene, the root note | Has a special job right now (with HOME held, the ones that have a HOME + function) | -| **On** | Selected, held, active now, or **a flash on every hit** | Where you are, or a state that stays (octave shifted, note REC) | -| **Blink** | The playhead, or something queued (a pattern, a scene, a mute on CUE) | Needs you now: the control that asked a question, REC capturing, HOME with a pattern or scene in the queue | -| **Breath** | A step with P-Lock, the EXIT key of a layer opened with a tap, CUE armed, the channel card you hold | Armed or pending: REC armed, the layer you hold, SAVE with unsaved changes (on the console), PLAY waiting for external clock | +| **Medium** | Has something and will play: an instrument with steps, a saved pattern or scene, the root note | — | +| **On** | Selected, held, active now, or **a flash on every hit** | Where you are, or a state that stays (octave shifted, REC on) | +| **Blink** | The playhead, or something queued (a pattern, a scene) | HOME when a pattern or scene is queued and you are not on the mixer; SAVE while a save waits for STOP | +| **Breath** | A step with a P-Lock | The layer that is open, REC armed, SAVE with unsaved changes, PLAY waiting for external clock | **PLAY** flashes on with the first beat of each bar and medium on the other beats. On the screen's key strip, an off key has a dark name, dim has a grey name with a border, medium a white name and on is filled. ## The knobs -| Knob | On HOME (the console) | Inside a machine | +| Knob | On HOME (the mixer) | Inside a machine | |---|---|---| -| **SELECT** | The **cursor**: picks the channel (on FX and GLO: the page or the row) | The page (its name and dots at the top) or the row of a list. With a step held, its accent | -| **ALGORITHM** | The **tempo** (HOME + ALGORITHM: in tenths). On GLO, the value of the row | The machine's **mode** (table below). On a list, it changes the highlighted value | -| **PRESETS** | On MIX: the cursor channel's **sound** (kit, patch or sound). On FX and GLO: **MOVE** (below) | The sound: kit, patch or a sound from the bank | -| **K1-K4** | On MIX, the cursor channel as a mixer strip: **LEVEL** · **FILTER** (DJ: left low-pass, right high-pass) · **DELAY** · **REVERB**. On FX and GLO, what the page shows | Whatever the four dials at the bottom say | +| **SELECT** | The **cursor**: picks the channel, top to bottom and around | A cursor where the page has one (the step on SEQ, a block of 16 steps on SCL, the FX slot on the BX-7) | +| **ALGORITHM** | The **tempo** (BPM) | The machine's main control (table below) | +| **PRESETS** | The cursor channel's **sound**: the kit, the preset, or the take of the selected pad | The sound: kit, preset, or the selected pad's take | +| **K1-K4** | The cursor channel as a mixer strip: **VOLUME** · **FILTER** (DJ: left low-pass, right high-pass) · **DELAY** · **REVERB** (the sends) | What the screen shows | -With **HOME held** from any screen: SELECT moves the cursor, ALGORITHM sets the BPM in tenths, PRESETS picks a pattern that loads when you let go, and K1-K4 are the cursor's mixer strip. +**ALGORITHM inside a machine:** -**Entering a machine:** on HOME, put the cursor on the channel (SELECT, or tap its white key 11-16) and tap **SEQ**, **EDIT**, **ENV**, **LFO** or **ARP**: you enter on that page. Or hold the channel's white key and let go (the [channel card](#the-channel-card)). From any screen, **HOME + white 11-16** takes you to that machine when you let go of HOME. - -**ALGORITHM inside a machine (the mode):** - -| Machine | ALGORITHM | -|---|---| -| BR-8 | Picks the instrument (with the box: big number, its name and model) | -| BP-1 | Picks the pad | -| BB-303 | The waveform: SAW or SQUARE | -| B-MINI | MONO or LEGATO | -| BX-7 | The algorithm, 1 to 32 | -| BITTAL | Oscillator 1's table: its own or another bank sound's | -| BUNO-6 | The chorus: OFF, I, II or I+II | +| Machine | ALGORITHM | OCT held + ALGORITHM | +|---|---|---| +| BR-8 | The instrument (a box shows its number and name; it is picked a moment later) | — | +| BP-1 | The pad | — | +| BB-303 | ACCENT | TUNING | +| B-MINI | CUTOFF | — | +| BUNO-6 | FREQ (the filter) | — | +| BITTAL | CUTOFF | — | +| BX-7 | The algorithm, 1 to 32 | TRANSPOSE ±12 | -**Priority:** a question > the channel card > a layer > REC on a note channel > held step > list > channel > HOME. +**Each knob is drawn once.** Where the screen shows a machine's panel (or a list of four settings), the four dials at the bottom are not drawn again: the active knobs are in color, the rest grey. Elsewhere, the bottom strip shows K1-K4 as four dials with their value and name. -**The big knobs say what they do:** the bottom line of the screen reads **SEL · ALG · PRE** with their job on that screen (for example SEL TRACK · ALG BPM · PRE KIT on MIX), and "-" when the knob does nothing there. +**The big knobs say what they do:** the bottom line reads **SEL · ALG · PRE** with their job on that screen (for example SEL TRACK · ALG BPM · PRE KIT on HOME), and "-" when the knob does nothing there. **How they feel:** - **Turning fast speeds up** continuous values (BPM, cutoff, start); **lists move one item per click**, never skipping. - **On/off settings:** right = on (or next), left = off. They don't wrap around. -- **MOVE, the DJ filter and PAN stop at the center** for two clicks, so 0 is easy to find. -- **SELECT goes through a page's sub-pages first** (SOUND, INSTR, PADS, ENV, MIX › DUCK), then to the next tab. -- Turning K1-K4 shows the name and value on the top line, without covering the screen; the big box is only for SELECT, ALGORITHM, PRESETS and the tempo, and it names the knob you turned. +- **The DJ filter stops at the center** (OPEN) for two clicks, so it is easy to find. +- Turning K1-K4 shows the name and value on the top line, without covering the screen; on a panel you see the knob itself move. The big box is for SELECT, ALGORITHM, PRESETS and the tempo. ## The screen Four strips, always in the same place: -1. **Header:** the machine you are on (BX-1 on the console; inside a channel, "<" and its name: HOME goes back), PLAY/REC, pattern and bar and the tempo in its own yellow. - - A queued pattern reads **A01>A05**, with 4 blocks counting the beats down to the change. +1. **Header:** where you are (**BX-1** on the mixer; inside a channel its machine, with "<": HOME goes back), PLAY/REC, the pattern (**A01**), bar.beat, the active scene and the tempo in yellow. + - A queued pattern reads **A01>A03**, with 4 blocks counting the beats to the change. A queued scene reads **>B**. - **Six tiny cells** show the channels: their color = playing, red = muted, white = a hit, outline = solo. - - **SONG** when the song is on; a **green dot** = autosaved; "CPU!" only if the audio does not keep up; while recording notes, the gate they are recorded with (TIE or G75%). - - The 2 s ring, with the name of what it opens, and the battery. -2. **Viewport:** what each screen shows. On the console, its pages **MIX · FX · GLO** at the top (on FX and GLO, their sub-pages on the right). Inside a machine, the page name and one dot per page, **O+1 / O-1** when the octave is shifted and **AGAIN: ...** with what tapping the page's button again does. The usage hints show for the first 4 seconds; **the line that says how to exit stays**. A layer opened with a tap says **LATCHED**. -3. **Keyboard:** the 11 black and 16 white keys with what each one does and the same state as its light. On the console: 01-10, T1-T6, M1-M6, A-D and CUE. On SEQ **the white keys are the 16 steps**; on a note channel, a mint bar marks long notes. Short fixed names: drums BD, SD, CH, OH, CP, LT...; HI / LO = the other section; < / > = step page; FIL = fill; X = exit. -4. **Knobs:** K1-K4 as four dials with their value and name, in physical order; under them, what SELECT, ALGORITHM and PRESETS do. - -The palette: blue-black background, **cyan** for what is active, **amber** for values and the playing step, **laser red** for REC and mutes, **mint green** for long notes. A **red border** = the mix clipped. + - With external clock, **EXT** (or a red **EXT?** with no clock coming in) instead of BPM. A **green dot** = autosaved; **CPU!** only if the audio does not keep up. + - The 2 s ring with what it does (SYSTEM, QUICK SAVE, CLEAR T3, DELETE SCENE A), and the battery. +2. **Viewport:** what each screen shows. Inside a machine, the page name at the top left (for example **PANEL 1/2**, **FX 2/2 DELAY REVERB**, **TRIM 1/2**) and its sound on the right. A layer opened on the drums says **LATCHED** and the sound page (**OCT 1-8** or **OCT 9-16**). +3. **Keyboard:** the 11 black and 16 white keys with what each one does and the same state as its light. On the mixer: 01-09, T1-T6, M1-M6 and A-D. On the step sequencers the white keys are the 16 steps. Short fixed names: drums BD, SD, CH, OH, CP...; pads P1-P16; < / > = bar; RPT = repeat. +4. **SEL · ALG · PRE:** what the three big knobs do here. -## The 14 buttons +The palette: blue-black background, **cyan** for what is active, **amber** for values and the playing step, **red** for REC and mutes, **green** for long notes and slides. -| Button | Tap | Again | Hold (layer) | 2 s | HOME + | -|---|---|---|---|---|---| -| **HOME** | Back to the console, always on **MIX** | — | **The console** from any screen (see below) | SYSTEM | (it is the modifier) | -| **SEQ** | The channel's steps (on the console: enters the cursor's machine) | Notes: LOOP · sampler: BREAK | **Length and speed** | TIME of the 6 channels | Console GLO › SONG | -| **EDIT** | SOUND (BP-1: PADS) | The editor's next page | **Erase** (on the console, black 7-10 clear a scene) | Sampler: TAKES · others: INIT SOUND (asks) | Copy the channel to another | -| **ENV** | The machine's envelope · INSTR (drums) | The other envelope | **Accent** | — | — | -| **LFO** | The machine's LFO (B-MINI, BITTAL, BUNO-6). On machines without an LFO it **latches its layer**: repeat (BR-8, BP-1) or tie (BB-303, BX-7); LFO again or HOME closes it | — | **Repeat** (grids) · **tie** (notes) | — | — | -| **FX** | Inside: the channel's MIX. On the console: the **FX** page | Inside: DUCK. Console: CHANNEL › DELAY › REVERB › MASTER | **Punch-in** | — | The console's FX page | -| **SCL** | Inside: the channel's SCALE. On the console: GLO › SCALE | CHORDS | Live **chords** | — | Console GLO › SCALE | -| **ARP** | Notes: the channel's ARP. BR-8 and BP-1: the **ROLL** screen, kept open (ARP again or HOME closes it) | — | **Arpeggio** (notes) · **ROLL** while held (grids) | — | — | -| **SAVE** | Save menu | Run it | **Copy pattern** | Quick save | Save as | -| **GLO** | Inside: the **machine GLO**. On the console: the **console GLO** | Machine: back to the page you were on. Console: TEMPO › MACHINES › SCALE › SONG | **Transpose** and TAP tempo | — | Console GLO | -| **REC** | Record. On the console: **SLOOP-REC**. On the sampler: the recorder | Looper: overdub › play | Record only while held (on the console: SLOOP while held) | **Erase the channel at once, no question** (for live use; HOME + OCT− undoes it). Not while anything is recording, nor on RECORD or TAKES. LOOP page: erase the loop | SONG REC | -| **PLAY** | Play / stop | — | — | — | Back to step 1 without stopping | -| **OCT − / +** | **Octave** of the keys on note machines (on the console too, for SLOOP). Nothing on drums and pads | — | — | — | Undo / redo | - -## HOME: the console +## The buttons -![HOME: the BX-1 console](../../assets/screens/00-home.png) +| Button | On HOME | Inside a machine | 2 s | +|---|---|---|---| +| **HOME** | Stays on the mixer (and leaves PLAY/REC) | Back to the mixer | SYSTEM | +| **PLAY** | Play / stop | Play / stop (with REC armed it also starts recording) | — | +| **REC** | Opens **PLAY/REC** already recording; in PLAY/REC, REC on / off | Note machines: record (see [Recording](#recording-like-sloop)); BP-1: record the pads you play | **Clear the cursor channel at once**, playing or stopped | +| **SAVE** | The SAVE screen | The SAVE screen | Quick save | +| **GLO** | The mixer GLO (machines, tempo and scale, master FX) | The machine's GLO | — | +| **SEQ, EDIT, ENV, LFO, FX, SCL, ARP** | Enter the cursor channel's machine on that page (only the ones that machine has) | That machine's menus (see each machine) | — | +| **OCT − / +** | Nothing (in PLAY/REC: octave, or soft / hard hits on the drums) | The octave (note machines) or the sound page (step sequencers) | — | -The FM-1 has no SHIFT, so HOME does three jobs: +## HOME: the mixer -1. **The BX-1 console:** HOME is a machine of its own, with three pages: **MIX**, **FX** and **GLO**. A HOME tap always goes to MIX; FX opens FX and GLO opens the console GLO. MIX has one row per channel with its machine, its sequence (pulses for hits, mint blocks for long notes), LP or HP when its filter is on, and its volume with the peak. -2. **The console that follows you:** holding HOME brings the console keys to any screen. You edit the bass and, without leaving, mute, launch a scene or queue the next pattern. -3. **Modifier:** HOME + button = its global version (table above). +![HOME: the BX-1 mixer](../../assets/screens/00-home.png) -If you used HOME as a modifier, letting go does **not** take you to the console: HOME only navigates on a clean tap. While you hold HOME, only the buttons with a HOME + function are lit (OCT−/+ only when there is something to undo or redo). +HOME is a machine of its own, **BX-1**. One row per channel with its machine, its sequence (pulses for hits, green blocks for long notes), LP or HP when its filter is on, its volume and its peak. Channels appear in this order: -To clear a channel: REC held 2 s (instant; on the console, the cursor channel) or EDIT held + black 3 (CLR); HOME + OCT− undoes either. +| Screen | Machine (factory) | Can be | +|---|---|---| +| **T1** | BR-8 | fixed | +| **T2** | BB-303 | BB-303, B-MINI, BUNO-6, BITTAL or BX-7 | +| **T3** | B-MINI | the same | +| **T4** | BUNO-6 | the same | +| **T5** | BITTAL | the same | +| **T6** | BP-1 (the Slicer) | fixed | -**Keys on the console (on HOME, or while holding HOME anywhere):** +**Keys on the mixer:** | Key | What it does | |---|---| -| **White 1-10** | Patterns **01-10**. Tap = queue it for the next cycle (when stopped: switches right away). Hold one and tap another: **chain** from the first to the second. On = playing, blink = queued, medium = saved, dim = empty | -| **White 11-16** | Channels **T1-T6**. Tap = the cursor. Hold = the **channel card** (below). With HOME held: go to that machine when you let go of HOME | -| **Black 1-6** | Mute T1-T6. Hold = **solo** while you hold it | -| **Black 7-10** | **Scenes A-D** (see [Scenes and song](#scenes-and-song)) | -| **Black 11** | **CUE**: hold it (or tap it to keep it on) and the mutes you tap change together on the next bar | - -Mutes are live: they stay when the pattern changes. - -### The channel card - -![The channel card: release = enter](../../assets/screens/67-card.png) - -**Hold a channel's white key (11-16)** on the console and its card opens: its machine, its sound and, on T3-T6, the five machines it can be. **Let go = enter** that machine, on the page you last used. While you hold it: - -- **ALGORITHM changes the machine** (T3-T6). Turn to one and leave it **2 seconds**: a bar fills ("LOAD IN 1.4 S") and the channel becomes that machine. Moving away, or letting go of the key, cancels it. The notes, length, loop, ARP, scale and mix stay; the sound goes to the machine's first preset and per-note P-Locks are cleared. The machine is saved with the pattern. -- **PRESETS changes its sound** (kit, patch or sound). -- Turning any knob means **letting go stays on the console** (RELEASE = STAY ON MIX). - -**Heavy machines, one at a time:** **BUNO-6** (it uses about a third of the processor) and **BITTAL** (its wavetables fill the memory) can only be on one channel. On another channel they show dimmed with "ON T6" and the screen says "BUNO-6 ALREADY ON T6". BB-303, B-MINI and BX-7 can repeat (a BX-7 on T3 is polyphonic too). The same rule applies when copying a channel or loading a pattern. +| **White 1-9** | Patterns **01-09**. Chosen when you let go: playing, it **changes at the end of the bar** (blink = queued); stopped, it loads at once (and the one you leave is saved if it changed). On = playing, medium = saved, off = empty | +| **White 10** | Nothing: a gap so you don't change pattern by mistake | +| **White 11-16** | Channels **T1-T6**. Tap = move the cursor there. Tap the cursor's channel again = **PLAY/REC** (below). On = the cursor, medium = has steps (it flashes with each hit), dim = empty | +| **Black 1-6** | Mute T1-T6 (at once). **Hold = solo** while you hold it; tap other mute keys meanwhile to add them to the solo. Let go of the first one and the mutes are back as before | +| **Black 7** | Nothing | +| **Black 8-11** | **Scenes A-D** of this pattern (see [Scenes](#scenes)) | -The same change is in **GLO › MACHINES** (below). +**Knobs:** SELECT = cursor, ALGORITHM = BPM, PRESETS = the cursor's sound, K1-K4 = **VOLUME** (the same as each machine's VOLUME), **FILTER**, **DELAY** and **REVERB**. -### MIX +**Entering a machine:** put the cursor on the channel and press one of its menu buttons: you enter on that page. Each machine lists its buttons below. -SELECT moves the cursor, ALGORITHM is the tempo (the tempo box is yellow and its four blocks flash with the beat), PRESETS changes the cursor channel's sound (a kit change can be undone with HOME + OCT−) and K1-K4 are its **LEVEL**, **FILTER**, **DELAY** and **REVERB**. +### PLAY/REC: play any channel from the mixer -### FX +![PLAY/REC on the BB-303](../../assets/screens/01-home-play.png) -FX on the console opens the FX page; FX again (or SELECT) goes **CHANNEL › DELAY › REVERB › MASTER**. ALGORITHM is still the tempo and **PRESETS is MOVE**. +Tap the cursor's channel key again (or press **REC**, which enters already recording) and **the keys stop being the mixer: they play that machine** without entering it. The viewport shows the channel as a piano roll, with **PLAY T2 BB-303** (or **REC ...** in red) at the top. **HOME** gives the keys back to the mixer. -![FX › CHANNEL: drive, pan, duck and BEAT FX per channel](../../assets/screens/39a-home-fx-channel.png) +- **Note machines:** the 27 keys are chromatic from **F**; BB-303 and B-MINI play an octave lower. **OCT −/+** shift the octave (−2 to +2, shown at the top right). The keys of the scale are dim, the root medium (GLO › TEMPO AND SCALE). +- **Drums and pads:** the white keys are the 16 instruments or pads. On the drums, **hold OCT+** for hard hits (accent) and **OCT−** for soft ones. +- **SELECT** changes channel and the keyboard (and the recording) follows it. The knobs are still the mixer's. +- **REC** on / off. Recording works as inside the machines ([Recording](#recording-like-sloop)); drum and pad hits are added to their steps. -| Page | K1 | K2 | K3 | K4 | -|---|---|---|---|---| -| **CHANNEL** (the cursor; white 11-16 change it) | **DRIVE** (the channel's soft-clip; 0 = off) | **PAN** | **DUCK** (sidechain from the T1 kick; T1 is the source) | **BEAT FX** ON/OFF: whether the BEAT FX and the punch-ins touch this channel | -| **DELAY** | TIME (1/16, 1/8, 3/16, 1/4) | FEEDBACK | MIX | SIDECHAIN RELEASE | -| **REVERB** | SIZE | DAMP | MIX | SIDECHAIN RELEASE | -| **MASTER** | **FILTER** (open in the middle; left low-pass, right high-pass) | **BEAT FX** (one of the 16 punch-in effects stays on until you turn it back to OFF) | **DRIVE** (saturation of the mix) | — | +![PLAY/REC on the BR-8](../../assets/screens/01-home-play-drums.png) -**MOVE** (PRESETS on FX and GLO): at 0 the mix is untouched. To the left the master low-pass closes and the whole mix goes into the echo (darker, more repeats); to the right the master high-pass opens and the mix washes into the reverb. It is a live control: it is not saved. +### GLO (the mixer's) -### GLO (the console's) +GLO on HOME opens three pages; **GLO again = the next page**, in a circle. HOME leaves. The mixer keys still work (patterns, mutes, scenes; white 11-16 move the cursor). -GLO on the console opens its global list; GLO again goes **TEMPO › MACHINES › SCALE › SONG**. SELECT picks the row, ALGORITHM changes it and PRESETS is MOVE. - -| Page | Rows | K1-K4 | -|---|---|---| -| **TEMPO** | BPM · SWING · MASTER LENGTH · TRANSPOSE · **AUTO FILL** (OFF, every 2, 4 or 8 bars) | BPM · SWING · MASTER · TRANSPOSE | -| **MACHINES** | T1-T6 and their machine. SELECT picks T3-T6 and ALGORITHM changes its machine, with the same 2 s wait and heavy-machine rule as the card | — | -| **SCALE** | ROOT · SCALE · **KEYS IN SCALE** · BASE CHORD (the project's) | the same four | -| **SONG** | The song's entries (see [Scenes and song](#scenes-and-song)) | PATTERN · TIMES · — · SONG ON/OFF | - -SCL on the console (or HOME + SCL) opens GLO › SCALE; HOME + SEQ opens GLO › SONG. - -## SLOOP-REC: play any channel from the console - -![SLOOP-REC on the BB-303](../../assets/screens/71-sloop-note.png) - -**REC on the console** (MIX or FX) arms the cursor channel and **the keys stop being the console: they play that machine**, without entering it. The viewport shows the channel as a piano roll, with **SLOOP T3 BB-303** in red at the top. REC again (or entering a machine) gives the keys back to the console. **Holding REC** = SLOOP only while you hold it. - -- **Note machines:** the 27 keys are chromatic from **F**; bass machines (BB-303, B-MINI) play an octave lower. OCT−/+ shift the octave (shown at the top right). With **KEYS IN SCALE** on (GLO › SCALE), the white keys play the scale and the black keys its chords. -- **Drums and pads:** the white keys are the 16 instruments or pads; hold **black 1 (ACC)** and the hits you play go with accent. -- **Recording:** while playing, what you play is written with the [expressive REC](#expressive-rec); the notes of this pass show in **red**. On an **empty** note channel it is a **FREE REC** (the length closes when you leave SLOOP or change channel). Stopped, the keys only play. -- **SELECT** changes channel and the keyboard follows it. **Holding HOME** gives you the console keys (mutes, scenes, patterns) while you hold it. - -![SLOOP-REC on the BR-8: B1 = accent](../../assets/screens/72-sloop-drums.png) - -## The six machines - -| Channel | Machine | What it is | Tabs | -|---|---|---|---| -| **T1** | **BR-8** | Drums: TR grid of 16 **modeled** instruments (computed live); kits 808, 909 and SYNTH | SEQ · SOUND · INSTR · MIX | -| **T2** | **BP-1** | 16 pads made from your takes, on a grid | SEQ · PADS · BREAK · TAKES · MIX | -| **T3-T6** | **your choice** | BB-303, B-MINI, BX-7, BITTAL or BUNO-6 (factory: BB-303, BX-7, BITTAL, BUNO-6) | SEQ · SOUND · MIX · ARP · LOOP | - -The machine is changed from the console: the [channel card](#the-channel-card) or GLO › MACHINES. Inside, **GLO** opens the [machine GLO](#the-machine-glo). - -**Black keys follow a single grammar in SEQ:** 1-8 are the channel's elements (instruments, pads or scale degrees), **9 and 10 turn the step page** (< and >, lit when there is a page that way) and **11** is the other section on drums and pads (HI/LO) or FILL on note machines. - -## The sound of each machine - -Everything is computed live; the sampler uses your takes. +| Page | SELECT · ALGORITHM | K1 | K2 | K3 | K4 | +|---|---|---|---|---|---| +| **SELECT MACHINE 1/3** | the channel · its machine | — | — | — | — | +| **TEMPO AND SCALE 2/3** | — · BPM | SWING (50-75 %) | SCALE | ROOT | TRANSP (−12 to +12) | +| **MASTER FX 3/3** | — | DLY TIME (1/16, 1/8, 3/16, 1/4) | DLY FDBK | REV SIZE | REV MIX | -| Machine | What it is | K1-K4 on SEQ | PRESETS | -|---|---|---|---| -| **BR-8** | 16 modeled instruments, each with its own **model**: BD 808, BD 909, SD 808, SD 909, HAT 808, METAL, clap, TOM (and congas), cowbell, RESON (rim, clave, block), noise or FM | TONE · TUNE · DECAY · COLOR | Kits 808, 909 and SYNTH | -| **BB-303** | TB-303 bass after **Open303**: the 303's filter, the accent circuit (accented notes open the filter more and more), slide with TIE and the knob ranges of the TB-303 | CUTOFF · RESO · ENV MOD · DECAY | 12 sounds: the owner's manual sounds (E.BASS A and B, UPRIGHT, SYNTH BASS, INIT 1982) and acid classics | -| **B-MINI** | Three oscillators (TRI, SHARK, SAW, SQUARE, WIDE, NARROW) in 32' to 2' ranges, noise, ladder filter with drive, two envelopes (CONTOUR and LOUDNESS), LFO and glide | CUTOFF · EMPHASIS · CONTOUR · F DECAY | 18 sounds: Minimoog sound charts (basses, brass, leads) and recreations of famous Minimoog parts | -| **BX-7** | 6 operators (msfa, the core of Dexed); the DX7's 32 algorithms | MOD LVL · FEEDBACK · DECAY · RELEASE | 20 patches from published DX7 recipes (e-piano, basses, bells, brass, organs…) and the voices of your .syx banks | -| **BITTAL** | Two wavetable oscillators (up to 8 frames, alias-free on every note) with up to 4-voice unison, filter (LP 24/12, BP, HP or ladder) with drive, two ADSRs (ENV 2 can sweep the table, as on a PPG), LFO and 4 macros | The sound's 4 macros (their name says where they go: CUTOFF, POSITION, LFO, SPACE…) | 26 sounds: PPG-style wavetables and community Vital presets, plus yours | -| **BUNO-6** | One oscillator per voice (saw, pulse with PWM, sub one octave down and noise), 4-position high-pass, 24 dB resonant filter, one ADSR, delayed LFO and stereo chorus | FREQ · RES · ENV · LFO | 16 sounds: Juno factory patches as starting points (strings, brass, pads, basses) and a few originals | +![GLO › SELECT MACHINE](../../assets/screens/24-glo-machines.png) -BR-8's kicks, snares and hats are the **Plaits** models (Mutable Instruments), which imitate the 808 circuits and 909-style synthetic versions. With **accent** they hit differently, not just louder. The factory kicks are voiced to cut through the mix. +**Changing a machine (T2-T5):** on SELECT MACHINE, SELECT picks the channel and ALGORITHM turns to a machine. **Leave it 2 seconds** on one: a bar fills ("LOAD IN 1.4 S") and the channel becomes that machine. Moving away, or leaving GLO, cancels it. The notes, length and mix stay; the sound goes to the machine's first preset. The machine is saved with the pattern. T1 and T6 say FIXED. The same change is in each machine's GLO (K2 MACHINE). -**Historic sounds.** Many factory sounds recreate the machine they are named after: published panel settings, sound charts and recipes translated to our parameters, plus sounds inspired by famous records. No audio was sampled and no factory data was copied. Their names only allude (CHICAGO 86, COLD FRIEND, POP RIFF…): no artist names or trademarks. Where each one comes from is in [`assets/presets/SOURCES.md`](../../assets/presets/SOURCES.md). +**Heavy machines:** **BUNO-6**, **BITTAL** and **BX-7** each fit on **one channel only**, and **at most two heavy machines** play at once. A heavy machine already on another channel shows "ON T4"; a third one says "2 HEAVY ON T4 T5" (where they are, so you can change one). BB-303 and B-MINI can repeat. -**The sound bank.** B-MINI, BITTAL and BUNO-6 load **sounds** (.bsnap): their settings, their macros and, on BITTAL, their tables. Some factory ones come from freely licensed Vital presets (CC0, Unlicense and GPL-3.0; credits in [CREDITS.md](CREDITS.md)). Yours are added from the web editor ([sounds](../../web/control.html#sounds)): PRESETS goes through the factory ones first and then yours. The sound's fingerprint (#A4F9) shows at the top right of SOUND. +![TEMPO AND SCALE](../../assets/screens/24e-glo-tempo.png) ![MASTER FX](../../assets/screens/24f-glo-fx.png) -### Editing the sound +## Scenes -**SOUND** is the machine's editor. Its pages follow **the real machine's panel**, in the same order and with the same names, 4 settings per page: +**A scene is a snapshot of the mutes**: the six channels' mutes and the instrument mutes of BR-8 and BP-1. Each pattern has its own four scenes, on **black 8-11** (A-D). -| Machine | Pages (K1-K4) | +| Gesture | What it does | |---|---| -| **BB-303** | **VCO VCF** (TUNING, CUTOFF, RESO, ENV MOD) · **ENV** (DECAY, ACCENT, SLIDE, WAVE) | -| **B-MINI** | **CONTROL** (TUNE, GLIDE, MOD RATE, MOD AMT: left = oscillators, right = filter) · **OSC 1-3** (RANGE, FREQ, WAVE) · **MIXER** (OSC 1, OSC 2, OSC 3, NOISE) · **FILTER** (CUTOFF, EMPHASIS, CONTOUR, KBD CTRL) · **F CONTOUR** and **L CONTOUR** (ATTACK, DECAY, SUSTAIN, RELEASE) · **OUTPUT** (DRIVE, MODE, VEL FILT, VEL LVL) | -| **BX-7** | **ALGORITHM** (ALG, FEEDBACK, MOD LVL, KEY VEL) · **EG** (R1 ATK, R2-3 DEC, R4 REL) · **VOICE** (PORTA, TRANSP) · **LFO** (SPEED, DELAY, PMD, AMD; on top of the patch's own LFO) | -| **BITTAL** | **OSC 1 / OSC 1 +** · **OSC 2 / OSC 2 +** (LEVEL, TRANSP, FRAME, UNISON · DETUNE, FINE, TABLE) · **FILTER** (MODEL, CUTOFF, RESO, DRIVE) · **FILTER +** (ENV2 AMT, KEYTRK, VELO, **ENV2 POS**: envelope 2 sweeps the table position) · **ENV 1 / ENV 2** (A, D, S, R) · **LFO 1** (SHAPE, RATE, DEST, AMOUNT) · **MACRO 1-2 / 3-4** · **VOICE**. The oscillator pages draw the table in 2.5D, with the playing frame in cyan | -| **BUNO-6** | **LFO** (RATE, DELAY) · **DCO** (LFO, PWM, PWM MODE, RANGE) · **DCO WAVE** (PULSE, SAW, SUB, NOISE) · **HPF VCF** (HPF, FREQ, RES, ENV) · **VCF MOD** (ENV +/-, LFO, KYBD, VELO) · **VCA** (ENV/GATE, VELO) · **ENV** (A, D, S, R) · **CHORUS** | +| **Hold a pattern's white key + tap a scene** | Stores the mutes as they are now in that scene of that pattern | +| **Tap a stored scene** (medium) | Launches it on the next bar (stopped: at once). On = the active one, blink = queued. An empty scene does nothing | +| **Hold a scene 3 s** | Deletes it (a ring fills: DELETE SCENE A) | -**K1-K4** change the page's 4 settings; above them, a drawing of what they do (the wave, the table, the filter curve, the envelope or the LFO). **SELECT** changes page (at the first or last one it moves to the next tab). **EDIT** again = next page. **ENV** opens the machine's first envelope (again: the second one). **LFO** opens the LFO page; the BB-303 has none, so LFO keeps its tie layer. The macros (K1-K4 on SEQ) take P-Locks per note. +**Scene B of every pattern comes with all six channels muted**, drums included: a quick way to drop everything and bring it back with A. It stays until you store another scene over it (deleting it leaves it empty). -### BX-7: the algorithm +## Factory patterns -SOUND draws the **algorithm as on a DX7**: carriers at the bottom, modulators above, feedback in amber and each operator's level; below, each one's frequency ratio. ALGORITHM steps through all 32 (with MOD LVL, FEEDBACK, DECAY and RELEASE on top of the patch). DX7 **.syx** banks (32 voices) load from the web editor or with `py -3 tools/fm1/sonido.py bank.syx`. +On the first boot of 0.10 patterns 1-3 hold three recreations of famous tracks, played by the factory machines (no audio was sampled; the Slicer is empty): -### Editing a drum instrument +| Pattern | Track | Tempo | Scenes | +|---|---|---|---| +| **01** | Da Funk | 111 BPM, swing 54 % | A everything · B all muted · C without the BB-303 · D the BB-303 with drums and bass | +| **02** | Blade (Confusion, Pump Panel reconstruction) | 136 BPM | A everything · B all muted · C drums and BB-303 · D without drums | +| **03** | Enjoy the Silence | 113 BPM | A everything · B all muted · C drums and bass · D without drums | -**INSTR** (EDIT again, or ENV) has two pages: **HIT** (TUNE, DECAY, TONE and COLOR, named after what it does in that model) and **INSTRUMENT** (MODEL, LEVEL, CHOKE group and line LENGTH). EDIT again changes page. Black 1-8 pick the instrument and black 11 the other section. +Patterns 04-09 start empty. ## Drums (BR-8) -The SEQ screen is a matrix: 16 instruments × the 16 steps of the page. Each line shows its own playhead, because each instrument can have its own length. +T1 is a drum machine of 16 **modeled** instruments (computed live), with the kits **808**, **909** and **SYNTH** on PRESETS. From HOME with the cursor on T1: **SEQ** opens the sequencer, and **LFO**, **ENV**, **EDIT** and **SCL** open the sequencer with their layer. SEQ again (or HOME) goes back to the mixer. -| Control | Does | -|---|---| -| **White keys** | Steps of the selected instrument: tap = set or clear | -| **Black 1-8** | Select (and play) an instrument of the section | -| **Black 9 · 10** | Step page < and > (when the line is longer than 16) | -| **Black 11** | Tap: the other section (instruments 1-8 / 9-16, HI / LO). **Hold: MUTES** while you hold it: the white keys mute or unmute each instrument. **Only instruments with steps are lit:** medium and flashing on every hit = plays, dim = muted, off = empty. On screen a muted instrument turns red | -| **OCT − / +** | Nothing (off) | - -**Hold a step + turn:** K1-K4 = P-Lock of TONE, TUNE, DECAY or COLOR on that step only · SELECT = accent · ALGORITHM = repeat ×1 to ×4 or FLAM · PRESETS = condition (ALWAYS, FILL ONLY, NO FILL). - -**Fills:** a step with FILL ONLY plays only in the fill, NO FILL only outside it. The fill plays with **AUTO FILL** (console GLO › TEMPO: every 2, 4 or 8 bars) or while you hold black 11 inside ROLL (FILL + ROLL). - -**INSTR** (EDIT again, or ENV): level, tuning, decay and **line length** of each instrument. For example, a 12-step hi-hat against a 16-step kick. - -**SOUND:** the kit's 16 pads; K1-K3 = tone, tuning and decay, K4 = COLOR (shifts each instrument's color). Changing the kit with PRESETS can be undone (HOME + OCT−). +![The BR-8 sequencer](../../assets/screens/02-seq-tr.png) -### ROLL (ARP) - -Like a drum machine's roll button. A tap on **ARP** keeps the screen open (ARP again or HOME closes it); holding ARP shows it only while held. +The sequencer shows 8 instruments (a **sound page**: 1-8 or 9-16) × the 16 steps of the bar you see. Each line has its own playhead. | Control | Does | |---|---| -| **White keys** | The 16 instruments: hold one and it rolls, locked to the bar. Lit medium if it has steps, dim if empty; every hit flashes | -| **Black 1-6** | Rate: 1/8, 1/16, 1/32 and their triplets (8T, 16T, 32T) | -| **Black 7 · 8** | **CRESC** (the roll gets louder) · **DECRESC** (it fades) | -| **Black 11** | The fill plays while held: FILL + ROLL for the build-up | -| **K1-K4** | **RATE** · ramp length of the crescendo (1/4 to 2 bars) · **SWING** (50-75 %) · **TAIL** (the roll keeps going after you let go: OFF, 1/16, 1/8, 1/4) | +| **White keys** | The steps of the selected instrument: tap = set or clear. **Hold a step** and turn **K1** = its accent, **K2** = its repeat (X1-X4 or FLAM) | +| **Black 1-8** | Pick (and hear) an instrument of the sound page | +| **Black 9 · 10** | The previous / next bar, in a circle (dim with one bar only) | +| **Black 11 (RPT)** | **REPEAT**: tap = keep it open (black 11 again closes it), hold = only while held. The white keys cycle X1 › X2 › X3 › X4 › FLAM on each step | +| **OCT − / +** | The sound page: instruments 1-8 or 9-16 | +| **K1-K4** | **LEVEL** of the instrument · **LENGTH** of the whole kit (1-64 steps) · **DECAY** · **TONE** | +| **ALGORITHM** · **PRESETS** | The instrument · the kit | -With **REC** on, the roll is written into the steps as repeats; with a crescendo, the loud hits become accents. The settings are live: they are not saved. +**The layers** (one press opens it, the same button closes it; another button closes it and does its own job). On all of them **black 1-8** pick an instrument without sounding and **black 10 · 11** change the bar. -## Pad sampler (BP-1) +| Button | Layer | White keys | Knobs | +|---|---|---|---| +| **LFO** | **ACCENTS** | Accent on / off on each step (an empty step becomes a hit with accent). The 16 steps are drawn above their keys | K1 = how much accent (the channel's) | +| **ENV** | **SOUND** | Pick and hear an instrument; its hit is drawn | **TUNE · DECAY · TONE · COLOR** (COLOR is named after what it does in that model) | +| **EDIT** | **INSTRUMENT** | Pick an instrument | ALGORITHM = its **model** (any model on any instrument) · K1 MODEL · K2 LEVEL · K3 CHOKE | +| **SCL** | **MUTE SOUNDS** | Mute or unmute each instrument (black 1-8 too) | — | -T2 is a **16-pad sampler**, like a KO II or the drum sampler of an OP-1 field: each pad is a piece of one of your takes, and a grid just like the drums plays them. +![ACCENTS](../../assets/screens/03-seq-accents.png) -**How you work:** +In MUTE SOUNDS the lights are fixed: on = plays, dim = muted, off = no hits. -1. **Record** a take (REC on T2, see [Recorder](#recorder-rec-on-the-sampler)) or upload it from the computer. -2. **The take builds the kit:** if the kit is empty, when the take is saved it is cut on the hits and each cut goes to a pad. The grid is written so it plays like the take; you change it from there. -3. In **TAKES** you choose which take goes to which pad: **N1** builds a new kit on the hits, **N2** in 16 equal parts, **N3** in 8, and **N4** puts the whole take on the selected pad. A kit can mix several takes. -4. In **PADS** you tune each pad: where it starts and ends, its pitch, its level, how it answers the key and its envelope. -5. In **SEQ** you program the pads like the drums, and **BREAK** varies them bar by bar. +BR-8's kicks, snares and hats are the **Plaits** models (Mutable Instruments), which imitate the 808 circuits and 909-style synthetic versions. With **accent** they hit differently, not just louder. -The tabs: **SEQ · PADS · BREAK · TAKES · MIX**. The kit lives in the pattern, like the drum kit; the takes, in the library. - -### SEQ: the pad grid +To record drums live, use [PLAY/REC](#playrec-play-any-channel-from-the-mixer) from HOME. -Just like the drums: one line per pad, 8 on screen. Each pad has its own length. +## The note machines -| Control | Does | -|---|---| -| **White keys** | Steps of the selected pad: tap = set or clear | -| **Black 1-8** | Select and play a pad of the section | -| **Black 9 · 10 · 11** | Step page < and > · other section (pads 1-8 / 9-16); hold 11 = MUTES | -| **K1-K4** | **FILTER** (low-pass) · **PITCH** (±12 semitones) · **DECAY** · **START** (shifts the start of every pad) | -| **Held step + K1-K4** | P-Lock on that step: a pad higher, shorter or from further in, only there | +BB-303, B-MINI, BUNO-6, BITTAL and BX-7 share the same base: -The layers work as on the drums: accent, repeat, erase, **ROLL** (ARP; the white keys are the pads) and per-line lengths in TIME. Inside ROLL, REC records what you play into the pattern, not a sample. +- **Keys:** chromatic from F, played live. **OCT − / +** change the octave when you let go (±3); **both together** set octave and transpose back to 0. +- **PRESETS:** the machine's factory sounds; B-MINI, BITTAL and BUNO-6 also show the sounds you added from the control platform. +- **SEQ:** the channel as a **piano roll**, one page of 16 steps (the page of the playhead when playing, of the cursor when stopped). **SELECT** moves the step cursor. **K2 SPEED** (×2 to ×1/4), **K3 PAGE** (the 16 steps you see), **K4 SCROLL** (the pitches you see). SEQ again = the main page. +- **ARP** (2 pages): **MODE** (OFF, UP, DOWN, INCL, EXCL, RANDOM, ORDER, REPEAT) · **OCTAVE** (1-4) · **RATE** (1/8, 1/16, 1/32) · **GATE** (20-100 %); page 2: **LATCH**. With REC on, the arpeggio is recorded. +- **GLO** (2 pages): **LENGTH** (1-64 steps) · **MACHINE** (only the machines this channel can have now; leave it 2 s on one to load it) · **MIDI CH** · **MIDI OUT** (the channel also sends its notes over USB MIDI on its MIDI CH); page 2: **QUANT** (K3) · **RESET** (K4: turn it and the sound goes back to its preset). The BX-7 has **TRANSP** on K1 of page 2. -### PADS (EDIT): each pad's editor +![The B-MINI's SEQ](../../assets/screens/82-mini-seq.png) -At the top, the **map** of the pad's take, with every pad of that take marked and the zoom box. In the middle, the big **waveform**, with the pad in **cyan brackets** and the other pads of the take with their number. At the bottom, **one cell per white key**, in the same place as the key: filled = it has sound, outlined = the selected pad. The orange line is what is playing. +### Recording (like SLOOP) -**EDIT again** changes page: **TRIM › SOUND › ENV › LOOP** (the current one is amber, top right). ENV also opens the ENV page. +Recording follows SLOOP: **the channel keeps its length**; at the end it goes around and what you play rewrites the steps you touch. Recording never makes a channel longer. -| Page | K1 | K2 | K3 | K4 | -|---|---|---|---|---| -| **TRIM** | START (the end stays) | END (the length) | ZOOM X1-X8 | SNAP: OFF, 1/16, 1/8 | -| **SOUND** | PITCH (±24 st) | LEVEL | PLAY: ONESHOT, KEY, THRU, LOOP | DIR: FWD or REV | -| **ENV** | ATTACK | RELEASE | CHOKE group | TEMPO: follows the BPM or not | -| **LOOP** | LOOP IN | LOOP OUT (WHOLE = the whole pad) | PLAY | — | +- **Playing:** REC records at once. The first time you touch a step in a pass, what was there is replaced; notes added in the same pass make a chord. Steps you don't touch stay. Each note keeps **how long you held it** (never longer than the bar it starts in, nor than the channel). +- **Stopped, outside SEQ:** REC arms (**REC ARMED: PLAY A NOTE**, REC breathes): the first note starts playback and records. PLAY also starts it. +- **Stopped, on SEQ: STEP REC.** The key (or chord) rewrites the step under the cursor and the cursor moves on when you let go; SELECT moves the cursor (skipping steps = rests). Each note is one step long. +- **QUANT** (GLO page 2): how much of your timing is corrected, **25 / 50 / 75 / 100 %** (100 % = exactly on the step). Only the start; the length stays as you held it. +- **REC held 2 s** clears the channel, playing or stopped. -**How the key answers (PLAY):** +### BB-303 -- **ONESHOT:** plays whole even if you let go. -- **KEY:** plays while you hold. -- **THRU:** plays the pad and, held, **keeps going through the rest of the take**. -- **LOOP:** repeats the pad while you hold. With the **LOOP** page it repeats only a section (the OP-1's **sustain loop**): held, that section repeats; when you let go, it plays on to the end of the pad. The section shows in mint over the waveform. +The TB-303, after **Open303**: the 303's filter, the accent circuit, slide and the TB-303's knob ranges, with the TB-03's effects. 12 sounds. -From the grid, KEY and LOOP play for one step. +![BB-303: the panel](../../assets/screens/81-b303-panel.png) -| Key | Does | +| Button | Page | |---|---| -| **White key** | Plays its pad and selects it. With REC + PLAY, the hit goes on its line | -| **N1 · N2 · N3** | CPY copies the pad · PST pastes it on the selected one · CLR empties it | -| **N4 HIT** | Moves the start to the nearest hit | -| **N9 · N10 · N11** | Reverse · half speed · STUTTER, while held | -| **PRESETS** | Another whole take on the selected pad | +| **EDIT** | The **panel**: page 1 **CUTOFF · RESO · ENV MOD · DECAY**; page 2 **TUNING · WAVE** (SAW / SQUARE) **· SLIDE** (its time) **· VOLUME**. ALGORITHM = **ACCENT** | +| **SEQ** | The piano roll (accents in white, slides in green) | +| **SCL** | **ACCENT** of each step: the 16 white keys are the 16 steps of the block (on = accent, dim = has a note); SELECT changes block. SCL again: **SLIDE** of each step | +| **FX** | Page 1 **OVERDRIVE** (DRIVE, TONE, LEVEL, ON); page 2 **DELAY** · DLY ON · **REVERB** · REV ON. DELAY and REVERB are the channel's sends (the same as on HOME). Fixed order: OVERDRIVE › DELAY › REVERB | +| **LFO** | An addition (the 303 has none): **RATE** (1/16 to 8 BARS, locked to the tempo) · **DEPTH** · **WAVE** (SINE, TRIANGLE, SAW UP, SAW DOWN, SQUARE, S&H and the patterns PUMP, GATE, STEPS, 3-3-2, BUILD) · **DEST** (CUTOFF, PITCH, RESO, VOLUME) | +| **ARP** · **GLO** | As on every note machine | -**TEMPO:** a pad that follows the tempo plays at the project BPM / the take's BPM (like a chopped loop). Kits built from a take have it on, and their pads choke each other (group 1), like the original loop. +**Slide live:** press the next key before letting go of the last one (legato) and the note slides; with REC on it is recorded as a slide to the next note. ENV does nothing on the BB-303. -### BREAK (SEQ again) +### B-MINI, BUNO-6 and BITTAL -The idea of X0X's BREAK, on your grid: every bar varies what plays with a seed. **With the four knobs at 0, the grid plays as is** (the default). +The three panel machines share one layout, after the Behringer POLY D: each section of the real panel on its button, the sections as tabs at the top and four big knobs. Under the panel, a drawing of what you edit (the filter curve, the oscillator's wave, the envelope). -- **YOU** row: the pad you programmed on each step. -- **PLAYS** row: what is going to play this bar. In yellow, the steps that changed. Orange line = repeat, **<** = reverse, **H** = half speed, **-** = silence. +| Button | B-MINI (Minimoog) | BUNO-6 (Juno-6) | BITTAL (Vital) | +|---|---|---|---| +| **EDIT** | **FILTER** (CUTOFF, EMPHASIS, CONTOUR, KBD CTRL) · **OSC 1** (RANGE, WAVE, LEVEL, TUNE) · **OSC 2** and **OSC 3** (RANGE, FREQ, WAVE, LEVEL; OSC 3 has the LO range) · **OUTPUT** (NOISE, GLIDE, MODE, VOLUME) | **VCF** (FREQ, RES, ENV, LFO) · **DCO** (RANGE, PULSE, SAW, SUB) · **DCO MOD** (LFO, PWM, PWM MODE, NOISE) · **VCF MOD** (HPF, ENV +/-, KYBD, VELO) · **VCA** (ENV/GATE, VELO, VOLUME) | **OSC 1 / OSC 2** (LEVEL, TRANSP, FRAME, UNISON) · **OSC 1 + / OSC 2 +** (DETUNE, FINE, TABLE) · **FILTER** (MODEL, CUTOFF, RESO, DRIVE) · **FILTER +** (ENV2 AMT, KEYTRK, VELO, ENV2 POS) · **VOICE** (MODE, GLIDE, VELO, VOLUME) | +| **ENV** | **FILTER** and **LOUDNESS** contours (ATTACK, DECAY, SUSTAIN, RELEASE) | One ADSR | **ENV 1** and **ENV 2** (ADSR) | +| **LFO** | RATE · WAVE (TRI, SQUARE) · **MOD MIX** (OSC 3 ↔ LFO) · AMOUNT; page 2 **DEST** (OSC, FILTER, BOTH) | RATE · DELAY | SHAPE · RATE · DEST · AMOUNT; **MACRO 1-2** and **MACRO 3-4**: where each macro goes and how much | +| **ALGORITHM** | CUTOFF | FREQ | CUTOFF | -| Knob | Does | -|---|---| -| **VARY** | How many steps play another pad of the kit | -| **ANCHOR** | The strong beats (1, 5, 9, 13) stay as they are | -| **REPEAT** | Retrigs from 2X to 8X | -| **BREAK** | Reverse, half speed, silences and repeating the previous step | +The same on the three: -**EDIT held + black 4 (CAPT)** writes into the grid what BREAK is doing in this bar. HOME + OCT− undoes it. +- **FX:** page 1 **DISTORTION** (DRIVE, TONE, LEVEL, ON); page 2 **CHORUS** (OFF, I, II; the BUNO-6 also I+II) · **REVERB** (the channel's send) · REV ON. Their **delay is set from HOME** (K3). +- **SCL:** **ACCENT** of each step on the 16 white keys (SELECT = block of 16); SCL again: **GLIDE** of each step. +- **SEQ, ARP, GLO** as on every note machine. -**The drawing** is the mirrored waveform, as on a sampler: the peak in the dark shade and the energy (RMS) on top, in full color. +BITTAL draws under its panel **the waves of its two tables** at their position (the one that plays; silent, the FRAME setting). -## Recorder (REC on the sampler) +![B-MINI › FILTER](../../assets/screens/83-bmini-filter.png) ![BUNO-6 › VCF](../../assets/screens/84-buno-vcf.png) ![BITTAL › OSC 1](../../assets/screens/85-bittal-osc1.png) -Recording, keeping and building the kit are separate steps. +### BX-7 -1. **RECORD:** REC on T2 opens the recorder **armed** (on PADS, REC records what you play into the grid). It starts at the next bar (K1 = START: BAR or NOW). A big number says the seconds **left**: the smaller of the recording RAM (3 s) and the free take memory. White lines mark how many bars fit and the amber one is the limit. REC again = stop; it also stops by itself at the limit. Holding REC on the recorder records only while held. - - Below the number: the free take memory in seconds and KB, and the maximum per take (3 s). - - While recording **the keys are silent** and the delay and buffer-based punch-ins pause (they share the memory). - - The take stays **UNSAVED**: the white keys play it in 16 parts. **It is saved when you stop** the transport, because writing flash stops the audio, and if the kit was empty, it builds it. HOME asks before discarding it: **hold HOME 2 s = discard**; a HOME tap keeps it and goes to the console. -2. **TAKES** (EDIT 2 s on T2, or the tab): the library, with the waveform of the marked take. ALGORITHM picks; K1-K3 = the take's BPM, bars and gain; white keys play it in 16 parts (held: it keeps going). **Black 1 (HIT)** = kit on the hits, **black 2 (16)** = 16 equal parts, **black 3 (8)** = 8, **black 4 (PAD)** = the whole take on the selected pad, **black 11 (DEL)** = delete (asks: keep it held 2 s; its pads become empty). If the kit already has pads, building a new one asks. A yellow dot = the kit uses that take. +The FM-1's own FM engine inside Bubba: 6 operators (msfa, the core of Dexed) and the DX7's 32 algorithms. 31 factory patches; your .syx banks are not offered on the FM-1 for now. -**How much fits:** up to **6 s of takes in total** (8 bits at 16 kHz = 16 KB per second, up to 3 s per take). They live in the 100 KiB flash zone shared with your bank sounds: takes from the bottom and sounds from the top. TAKES shows what is free of the 6 s and how many of your sounds are on top; the [control platform](../../web/control.html) shows all the memory and warns before it fills up. +![BX-7: MAIN](../../assets/screens/80-bx7-main.png) -## Note machines (T3-T6) +| Button | Page | +|---|---| +| **MAIN** (a one-page menu's button again) | The algorithm drawn as on a DX7 (carriers at the bottom, modulators above, feedback as a loop, each operator's level), and **FEEDBACK · BRIGHT · PORTA · KEY VEL** | +| **EDIT** | **Black 1-6 = OP1-OP6**, each in 6 pages (RATES, LEVELS, FREQ, OUTPUT, SCALING, CURVES; EDIT again = next page) · **black 7 PIT** (PITCH RATES, PITCH LEVELS) · **black 8 GLO** (VOICE: ALGORITHM, FEEDBACK, OSC SYNC, TRANSP) · **black 9 MONO · black 10 POLY**. The white keys keep playing | +| **ENV** | ATTACK · DECAY · SUSTAIN · RELEASE, on top of the patch's envelopes | +| **LFO** | Page 1 WAVE · SPEED · PMD · AMD; page 2 DELAY · P SENS · LFO SYNC · OSC SYNC | +| **FX** | Its own chain of six slots, one at a time: **FILTER** (TYPE LP/BP/HP, CUTOFF, RESO), **REVERB** and **DELAY** (SEND: the channel's sends), **DIST** (GAIN, TONE, LEVEL), **CHORUS** and **PHASER** (RATE, DEPTH, MIX); K4 = ON on all. SELECT moves between slots. **SCL** picks up the slot and SELECT moves it along the chain (SCL again places it); REVERB and DELAY always go after the effects. Only the slots that are on process | +| **SEQ · ARP · GLO** | As on every note machine (GLO page 2 has TRANSP) | -- **SEQ:** the page is only about this channel. On top, the page's 16 steps as a **piano roll**: each note at its pitch and with its length (long ones in mint, early or late ones shifted from their step). White keys are those steps (up to 4 notes per step). Below, the channel's bars and the playhead. **Hold a step** and play **black 1-8** to write those notes of the channel's scale (the same one again removes it). Black 9 and 10 turn the step page; 11 = FILL. -- **OCT − / +** shift the octave of everything the keys play, also the scale degrees on black 1-8 in SEQ (O+1 / O-1 at the top). -- **Long note with two white keys:** hold the step where it starts and tap the white key where it ends: the note lasts from one to the other. The lights of the keys it covers stay dimmed, like a trail. -- **Free recording, like a looper:** on an **empty** note channel, REC records with no fixed length (the screen says FREE REC and counts the bars). REC again closes it: the channel keeps the whole bars you played (1 to 4) and every note keeps how long you held it (up to 4 bars). If the channel already has notes, REC records over it with its length. -- **Length in bars:** SEQ held + black 7-10 = 1, 2, 3 or 4 bars. -- **Held step + knobs:** K1-K4 = P-Lock · SELECT = hit (NORMAL › ACCENT › GHOST) · ALGORITHM = probability or fill · PRESETS = length or TIE (glide). -- **FILL (black 11):** a tap keeps the screen open (black 11 again or HOME closes it), holding shows it only while held. While open the fill plays, and the white keys make notes fill-only (again: back to normal); black 9 / 10 turn the page. -- **LOOP (SEQ again):** unquantized looper. K1 ON/OFF · K2 bars (1, 2 or 4). **REC** arms (starts at the bar) › when the loop closes it goes to PLAY › REC again: OVERDUB › REC: PLAY. **REC 2 s** erases the loop. -- **Outside SEQ** the keys play the machine chromatically; with **KEYS IN SCALE** (console GLO › SCALE) the white keys play the scale and the black keys its chords. -- **MIDI OUT** (in the machine GLO): the channel plays and also sends its notes over MIDI on its channel. +ALGORITHM changes the algorithm (with the drawing in view you see it change). OCT held + ALGORITHM = transpose. -### PIANO ROLL view +![BX-7 › EDIT](../../assets/screens/80-bx7-edit.png) ![BX-7 › FX](../../assets/screens/80-bx7-fx.png) -![PIANO ROLL: the whole loop](../../assets/screens/73-pianoroll.png) +## The Slicer (BP-1) -**Machine GLO › VIEW = PIANO ROLL** (ALGORITHM to the right; to the left, NOTES) shows SEQ as the **whole loop** (1 to 4 bars) instead of one page: the pitch rows fit the notes the channel has, a vertical keyboard on the left flashes with what plays, and a white bracket marks the 16 steps the white keys edit (black 9 / 10 move it). With REC on, the notes recorded in this pass are **red**. The keys work exactly as in the normal view. VIEW is a setting of each channel: it stays after power-off. +T6 is a **16-pad sampler**, like a KO II: each pad is a piece of a take (its own start and length; pads may overlap), played by a step grid like the drums'. From HOME with the cursor on T6: **SEQ** opens the grid, **LFO** and **SCL** the grid with their layer, and **EDIT**, **ENV** and **FX** the machine's pages. -### Expressive REC +**How you work:** -With **REC** on a note channel (inside it, or with [SLOOP-REC](#sloop-rec-play-any-channel-from-the-console) from the console), what you play stays as you played it: +1. **Get a take:** upload it from the [control platform](../../web/control.html), or record what is playing with **SMP** (below). +2. **Put it on a pad** (PRESETS = the whole take on the selected pad) and **cut it** in TRIM: **AUTO** (on the hits), **8** or **16** equal parts go to pads 1 to n, and **the sequence is written** so the grid plays like the take. +3. **Tune each pad** (TRIM, SOUND, ENV) and **program the grid** (SEQ). -- **The note keeps its real timing:** the start with its **micro-timing** (how early or late you were, in ticks) and the end with its **gate** (how much of the last step sounded). If the note is still held when the bar ends, it is **cut at the bar**. -- **The knobs stay on the note:** while you hold a note while recording, whatever you turn on K1-K4 stays on that note (P-Lock). -- **Editing the step with REC:** **SELECT** picks a step (red box), **ALGORITHM** its gate (from 10 % staccato to 95 % = the whole step, and 100 % = **TIE**, tied to the next one) and **PRESETS** its micro-timing (−11 to +11 ticks). The header shows the gate you are recording with. +### SEQ: the pad grid -## The machine GLO +![The pad grid](../../assets/screens/93-slicer-seq.png) -![The machine GLO](../../assets/screens/45-machine-glo.png) +Just like the drums: 8 pads per page (OCT −/+ = pads 1-8 or 9-16), the 16 steps of the bar, **black 1-8** pick (and play) a pad, **black 9 · 10** change the bar, **black 11 (RPT)** = REPEAT, and a held step + K1 / K2 = its accent / repeat. -**GLO inside a machine** opens its list; GLO again goes back to the page you were on. SELECT picks the row and ALGORITHM changes it. +| Control | Does | +|---|---| +| **K1-K4** | **LEVEL** of the pad · **LENGTH** of all pads (1-64 steps) · **PITCH** (±24 semitones) · **RELEASE** | +| **ALGORITHM** · **PRESETS** | The pad · its take | +| **LFO** · **SCL** | **ACCENTS** · **MUTE SOUNDS** (as on the drums) | +| **SEQ again** | **LENGTH/SPEED** (below) | +| **EDIT · ENV · FX · GLO** | The machine's pages | -| Machine | Rows | K1-K4 | -|---|---|---| -| **Note machines** | VIEW (NOTES or PIANO ROLL) · LENGTH · SPEED · TRANSPOSE · ACCENT · MIDI OUT (and its MIDI CHANNEL) · INIT SOUND | LENGTH · SPEED · ACCENT · TRANSPOSE | -| **BR-8** | LENGTH · SPEED · ACCENT · INIT KIT | LENGTH · SPEED · ACCENT | -| **BP-1** | LENGTH · SPEED · ACCENT · INTERPOLATION (LINEAR or HERMITE) · INIT | LENGTH · SPEED · ACCENT | +**LENGTH/SPEED** (SEQ again): each pad can have its own length. -On INIT, ALGORITHM to the right asks; leave it 2 s and the sound goes back to its initial settings. To change the machine itself, go to the console (the screen says so: CHANGE: HOLD T4 ON HOME + ALG). +![LENGTH/SPEED](../../assets/screens/94-slicer-length.png) -## The layers (hold) +| Key | Does | +|---|---| +| **White keys** | The **length of the selected pad** (1-16; on = the length, medium = inside it, dim = outside) | +| **Black 1-6** | The channel's **speed**: ×2, ×3/2, ×1, ×3/4, ×1/2, ×1/4 | +| **Black 7-10** | 1, 2, 3 or 4 bars (1BR-4BR) | +| **Black 11 (+16)** | The lengths 17-32, 33-48, 49-64 and back | +| **K1 · K2 · ALGORITHM** | Length of the pad · speed · the pad | -While you hold, the screen draws the keyboard with what each key does and its LEDs; on the drums it shows the 16 instruments. Only the buttons that do something in the layer stay lit. The sequence keeps playing. +### The Slicer's pages -| Hold | Layer | The keys | -|---|---|---| -| **HOME** | The console | White 1-10 = patterns · white 11-16 = go to that machine when you let go · black 1-6 = mute / solo · 7-10 = scenes · 11 = CUE. SELECT = cursor · ALGORITHM = BPM in tenths · PRESETS = pattern (loads when you let go) · K1-K4 = the cursor's mix | -| **SEQ** | Length and speed | White = length (1-16): the length is on, inside it medium, outside dim · **black 11 = +16** (17-32, 33-48, 49-64) · black 1-6 = speed ×2 to ×1/4 · black 7-10 = 1-4 bars (1BR-4BR). K1 = length, K2 = speed | -| **EDIT** | Erase | Playing: holding a white key erases what passes under the playhead; stopped: erases the line or the step · black 1-3 = copy, paste, clear the channel · sampler: black 4 = CAPT (what BREAK does goes into the grid) · **black 6 / 7 = undo / redo** · notes: black 9 / 10 = page · on the console: **black 7-10 clear a scene** | -| **ENV** | Accent | White = accent on / off (empty step = new one with accent; on notes: NORMAL › ACCENT › GHOST) · black 9 / 10 = page. K1 = how much accent | -| **LFO** | Repeat · tie | Grids: white = ×1 › ×2 › ×3 › ×4 › FLAM. Notes: white = tie the note to the next one (K1 = glide). Black 9 / 10 = page. On machines without an LFO page a tap on LFO keeps this layer open | -| **FX** | Punch-in | White = 16 effects quantized to 1/16 · black 1-6 still mute | -| **SCL** | Chords | White = 16 chords · black 1-4 = +7, +9, SUS2, SUS4 | -| **ARP** | Arpeggio · ROLL | Notes: what you play is arpeggiated · grids: the ROLL screen (see Drums): white = roll, black 1-6 = rate, 7-8 = CRESC / DECRESC, 11 = FILL; with REC it is recorded as repeats | -| **SAVE** | Copy pattern | White 1-10 = paste the pattern there · black (1-6) + white = only that channel. If the target has notes, it asks: keep the white key held 2 s | -| **GLO** | Transpose | The whole keyboard transposes the project (C4 = 0) · **PLAY = TAP tempo** without stopping · K1 = BPM, K2 = SWING, K3 = transpose, K4 = octave | +![TRIM](../../assets/screens/90-slicer-trim.png) -## Time (SEQ 2 s) +The white keys are always the 16 pads (play and select; on = selected, medium = has sound). ALGORITHM = the pad, PRESETS = its take. -Shows the 6 channels as bars of their real duration, each with its playhead: polymeter at a glance. SELECT or ALGORITHM pick the channel; K1 = length (1-64); K2 = speed (×2, ×3/2, ×1, ×3/4, ×1/2, ×1/4); K3 and K4 (grids): an instrument and its length. +| Button | Page | K1 | K2 | K3 | K4 | +|---|---|---|---|---|---| +| **EDIT** | **TRIM 1/2**: the waveform of the pad's take with the pad marked | START (the end stays) | LENGTH | ZOOM (X1-X8) | SAMPLE: how many bars **SMP** records (1, 2 or 4, as many as fit) | +| **EDIT again** | **SOUND 2/2** | PITCH (±24 st) | LEVEL | MODE: ONESHOT, KEY, THRU, LOOP | REVERSE (FWD / REV) | +| **ENV** | **ENV** | ATTACK | RELEASE | LOOP IN | LOOP OUT (only in LOOP mode) | +| **FX** | DISTORTION; again CHORUS and REVERB | as on the panel machines | | | | +| **GLO** | **GLO 1/2** | LENGTH (all pads) | — | MIDI CH | MIDI OUT | +| **GLO again** | **GLO 2/2** | — | — | — | RESET (the pads' sound and the FX back to factory; the cuts stay) | -The **master length** (console GLO › TEMPO, K3: 16, 32, 48, 64, 128 or INF) restarts all channels together. Queued patterns change there. +**In TRIM, the black keys:** **AUTO**, **8** and **16** cut the selected pad's take (lit when it has one) and **always rewrite the sequence**; **SMP** (black 11) records **the mix** from the next bar (stopped: it starts with PLAY), for the bars on K4. SMP again stops. The new take is saved when you stop the transport and goes on the selected pad. The header shows **SAMPLING 1.2 S** while it records. -## Scales and chords +**MODE (how a pad answers the key):** **ONESHOT** plays whole even if you let go · **KEY** plays while you hold · **THRU** plays the pad and, held, keeps going through the rest of the take · **LOOP** repeats while you hold, between LOOP IN and LOOP OUT. -- **SCALE** (SCL inside a note machine): each note channel can have its **own scale**. K1 = ROOT, K2 = scale (PROJECT, or one of 9 scales), K3 = BASE CHORD, K4 = KEYS IN SCALE. -- **Project scale:** console GLO › SCALE (SCL on the console, or HOME + SCL): ROOT, SCALE, KEYS IN SCALE and BASE CHORD, used by channels without their own. -- **CHORDS** (SCL again): 16 chords on a 4×4 grid with their degree and name. The color tells their function: **blue** rest (I, iii, vi), **green** preparation (ii, IV), **orange** tension (V, vii). K1 = set (DIATONIC, PROGRESSIONS, NEO SOUL), K2 = voicing (CLOSED, OPEN or LED, voice-led), K3 = octave, K4 = strum. +**REC** inside the Slicer records the pads you play into the grid (while playing); **REC 2 s** clears the sequence. OCT and ARP do nothing here. -## Scenes and song +**How much fits:** up to **6 s of takes in total** (8 bits at 16 kHz), up to about 3 s per take, in up to 8 takes. They share a 100 KiB flash zone with your sounds; the control platform shows all the memory. -**A scene is a set of mutes**: the six channels' mutes and the instrument mutes of BR-8 and BP-1. Scenes belong to the project, not to a pattern, so a scene works on any pattern. They live on **black 7-10** (A-D) of the console, and with HOME held from any screen. +## Saving -![A scene: hold 2 s to store over it](../../assets/screens/69-scene-store-ring.png) +- There are **9 patterns** (01-09), on HOME's white keys. Each keeps its machines, sounds, sequences and its four scenes. +- The flash is **only written when stopped** (writing pauses the audio for a moment). +- **Autosave:** when stopped, 10 s after the last change (patterns, scenes and settings). +- **SAVE** opens its screen; SELECT picks the row, ALGORITHM (or K1, or PRESETS) the target pattern, and **SAVE runs it**: -| Gesture | What it does | +| Row | Does | |---|---| -| **Tap an empty scene** (dim) | Stores the mutes as they are now | -| **Tap a stored scene** (medium) | Launches it on the next bar (stopped: right away). On = the active one, blink = queued | -| **Hold 2 s** | Stores over it (a ring fills: STORE SCENE A) | -| **EDIT held + scene** (on the console) | Clears it | -| **Hold one + tap others** | A **chain**: the first launches on the next bar, the next one at each master cycle | - -**CUE** (black 11): hold it, or tap it to keep it on (it breathes). With CUE, the mutes you tap don't change at once: they blink and **drop together on the next bar**. Stopped, they change right away. Tap CUE again to turn it off. - -![CUE: mutes waiting for the next bar](../../assets/screens/70-cue.png) +| **SAVE** | Saves this pattern (and its scenes if they changed) | +| **SAVE AS** | Saves it in another pattern (the target) | +| **CLEAR PATTERN** | SAVE again within 3 s clears all six channels | -**SONG** (console GLO › SONG, or HOME + SEQ): a list of entries, each one **a pattern and an optional scene**. White 1-10 add a pattern; black 7-10 put that scene on the selected entry (again: remove it); black 11 deletes the selected entry. SELECT picks the entry, ALGORITHM or K1 its pattern, K2 how many times it plays, K4 = song ON/OFF. - -**SONG REC** (REC on GLO › SONG, or HOME + REC): play live and the song writes itself: every pattern change and every scene you launch becomes an entry. Stopped, it is armed and starts with PLAY. - -## Effects - -- **Each channel's MIX** (FX inside a machine): level, pan, **delay** send and **reverb** send. FX again: **duck** (sidechain from the T1 kick). -- **On the console:** each channel's **filter** (K2 on MIX), and on **FX › CHANNEL** its **DRIVE**, **PAN**, **DUCK** and whether **BEAT FX** touches it. -- **FX › DELAY:** time, feedback and mix (up to 0.80 s, so 1/4 gets shorter below 75 BPM) and the sidechain release. **FX › REVERB:** size, damping and mix. -- **FX › MASTER:** the **master filter**, **BEAT FX** and **DRIVE** (saturation of the mix). **MOVE** is PRESETS on FX and GLO. -- **BUNO-6** has its own stereo **chorus** (I, II or I+II, with ALGORITHM). BITTAL's **SPACE** macro adds reverb send. -- **FX held:** 16 punch-ins (stutter, reverse, tape stop, gate, sweeps, bitcrush, SR down, delay throw, echo freeze, kill low/high). A channel with BEAT FX OFF is left out of them. - -## Saving - -- There are **10 patterns** (01-10), on the console's white keys. -- The flash is **only written when stopped** (writing pauses the audio for a moment). -- **Autosave:** when stopped, after 10 s without touching anything (patterns, song and scenes, and settings). -- **SAVE:** save · save as · save song and scenes · erase pattern (SAVE twice) · count events. **SAVE 2 s:** quick save. **HOME + SAVE:** save as. -- **Copying:** SAVE held + white key copies the pattern; HOME + EDIT copies a channel onto another one in the same pattern (notes to notes, hits to hits): ALGORITHM picks the target and **EDIT held 2 s pastes**. Machines don't change. +- **Playing, a save waits:** "SAVES WHEN STOPPED", SAVE blinks, and it is written when you stop. **SAVE 2 s** anywhere = quick save. ## System (HOME 2 s) -Internal or external clock · Split Sync (L = pulse, R = mono mix) · pulse PPQN and latency · autosave · idle **button** brightness (OFF, DIM or MEDIUM; the keys are not affected) · **FAST SCREEN** (test, off by default) and **TWO CORES** (test, off by default) · takes, sounds and free memory · **LANGUAGE** · version. +![SYSTEM](../../assets/screens/25-system-en.png) -**The two tests:** **FAST SCREEN** raises the screen's SPI to 30 MHz (measured: a full frame goes from 85 to 39 ms). **TWO CORES** shares the machines between the FM-1's two cores (on the computer it gives exactly the same samples). The first time you turn it on it is checked to answer; if it hangs, its channels go silent and it retires until you power off, and if a boot with TWO CORES does not reach 5 seconds, it is off on the next boot. They are being tested: if the FM-1 hangs or boots into safe mode, both switch themselves off. The control platform shows TWO CORES under DEVICE when it is on or switched itself off. +SELECT picks the row; ALGORITHM (or K1) changes it. + +| Row | Values | +|---|---| +| **CLOCK** | INTERNAL or EXTERNAL (MIDI) | +| **SYNC OUT** | STEREO, or SPLIT L/R (left = clock pulses, right = mono mix) | +| **IDLE LEDS** | The brightness of idle buttons: OFF, DIM or MEDIUM (the keys are not affected) | +| **LANGUAGE** | English or the loaded pack | +| **VERSION** | The firmware version | ## MIDI -- **Input** (USB and TRS): channels 1-6 = Bubba Machine's channels. On grids, the note picks the instrument (0-15); on the sampler, the pad. -- **External clock:** follows MIDI Clock and Start/Stop. -- **Output:** MIDI Clock when the clock is internal, and the notes of channels with **MIDI OUT**. +- **Input:** MIDI channels 1-6 play the channels in this order: 1 = BR-8 (T1), 2 = BP-1 (T6), 3 = T2, 4 = T3, 5 = T5, 6 = T4. These are also each channel's factory **MIDI CH**. On the drums the note picks the instrument. +- **External clock** (SYSTEM › CLOCK): follows MIDI Clock and Start / Stop. PLAY waits for the clock ("EXT CLOCK: WAITING FOR MIDI"). +- **Output:** MIDI Clock when the clock is internal, and the notes of every channel with **MIDI OUT** on (GLO of the machine), on its **MIDI CH**. ## Control platform -The [control platform](../../web/control.html) manages the FM-1 from Chrome or Edge, over USB (Bubba Machine 0.6.1-beta or newer). It is one page that mirrors the FM-1, and **every change waits until you send it**: you can prepare everything without the FM-1 and send it later. +The [control platform](../../web/control.html) manages the FM-1 from Chrome or Edge, over USB. It is one page that mirrors the FM-1, and **every change waits until you send it**: you can prepare everything without the FM-1 and send it later. - **The bar on top** (it stays in view): whether the FM-1 is connected and which version it runs (with a link to the installer when a newer one is out), the **memory** that takes and sounds share (100 KB: what is used, what your pending changes add or free, and what will be left, in KB and in seconds of take), and the **pending changes** with **Send to FM-1** and **Discard**. Anything that would not fit is marked in red and Send stays off until you fix it. -- **TAKES:** the 8 take places as the FM-1 numbers them, with length, bars and BPM. Drop an audio file (WAV, AIFF, MP3, FLAC or OGG) on a free place, or on a take to replace it. Trim the start and end on the waveform, check the BPM (read from the file name, or guessed) and press **▶ Hear it as the FM-1 plays it**: 16 kHz, 8 bits with dither, exactly what is sent. Up to 3 s per take and 6 s in total. -- **SOUNDS:** one column per machine. Vital presets (.vital) go to B-MINI, BITTAL or BUNO-6 (you pick; changing the machine or the name converts it again), DX7 banks (.syx) to BX-7, and .bsnap files to their own machine. You see what was kept, approximated or left out, can rename it and download the .bsnap. Up to 12 of your sounds; BB-303 only has factory sounds. On the FM-1: on HOME hold the channel's white key (T3-T6), turn ALGORITHM to the machine, then PRESETS. +- **TAKES:** the 8 take places as the FM-1 numbers them, with length, bars and BPM. Drop an audio file (WAV, AIFF, MP3, FLAC or OGG) on a free place, or on a take to replace it. Trim the start and end on the waveform, check the BPM (read from the file name, or guessed) and press **▶ Hear it as the FM-1 plays it**: 16 kHz, 8 bits with dither, exactly what is sent. Up to 3 s per take and 6 s in total. On the FM-1 a take goes on a pad with PRESETS (in the Slicer, or on HOME with the cursor on T6). +- **SOUNDS:** one column per machine. Vital presets (.vital) go to B-MINI, BITTAL or BUNO-6 (you pick; changing the machine or the name converts it again), and .bsnap files to their own machine. You see what was kept, approximated or left out, can rename it and download the .bsnap. Up to 12 of your sounds; on the FM-1 they come after the factory ones on PRESETS. BB-303 and BX-7 only have factory sounds for now. - **SCREEN LANGUAGE:** English (built in), Español (pack included) or your own .bmlang. -- **DEVICE** (folded): firmware, audio load, system memory, how long it has been on, how it last started, the lowest voltages, TWO CORES when it matters, and the device log. +- **DEVICE** (folded): firmware, audio load, system memory, how long it has been on, how it last started, the lowest voltages and the device log. **Send** waits for the transport to stop (writing flash cuts the audio: the page says "Press STOP on the FM-1"). Deletions go first, so they make room; then the rest in order, with a progress bar. Afterwards the page reads the FM-1 again and marks each change **Verified on the FM-1**; anything that failed stays pending with the reason. Without a device, `control.html?mock=1` talks to a simulated FM-1 for development. @@ -512,6 +402,5 @@ The [control platform](../../web/control.html) manages the FM-1 from Chrome or E The screen is in **English**. Other languages are **packs** that are not loaded by default: one pack lives in its own 16 KiB of flash (it does not touch patterns or takes, and a firmware update does not erase it). -- **Load Spanish on the FM-1:** the language pack is a separate add-on with its own 16 KiB zone: load or remove it on the [control platform](../../web/control.html), with the FM-1 connected and the transport stopped. Or from the computer, with the transport stopped, `py -3 tools/fm1/idioma.py lang/es.bmlang`. **SYSTEM › LANGUAGE** then switches between English and the pack. `--quitar` removes it. -- **In the emulator:** the button under *Sampler and memory* loads or removes the Spanish pack. +- **Load Spanish on the FM-1:** on the [control platform](../../web/control.html), with the FM-1 connected and the transport stopped. Or from the computer, with the transport stopped, `py -3 tools/fm1/idioma.py lang/es.bmlang` (`--quitar` removes it). **SYSTEM › LANGUAGE** then switches between English and the pack. - **Making a translation:** copy `lang/plantilla.txt` (every phrase on screen) to `lang/.txt`, write the translation under each phrase and build it with `py -3 tools/gen_lang.py`. The FM-1 font is ASCII: no accents. What you don't translate shows in English. diff --git a/docs/en/ROADMAP.md b/docs/en/ROADMAP.md index b6535fe..91e3017 100644 --- a/docs/en/ROADMAP.md +++ b/docs/en/ROADMAP.md @@ -2,7 +2,7 @@ Everything planned for Bubba Machine. **All of it will be done, step by step**, with no dates: each step ships when it has been tested on the FM-1. The order inside each list is the order that matters today and may change. -Items marked ✓ are already in the current version (0.9.0-beta); items marked **in testing** are there but off by default until measured on the FM-1. Until v1, any version may erase what you saved (see [install](INSTALL.md)). +Items marked ✓ are already in the current version (0.10.0-beta); items marked **in testing** are there but off by default until measured on the FM-1. Until v1, any version may erase what you saved (see [install](INSTALL.md)). ## Audio @@ -35,23 +35,24 @@ The interface organizes the FM-1 into two places: **playing live** (HOME and its **Done** - ✓ **Key strip on screen:** the 11 black and 16 white keys with a short name and the same intensity as their light. - ✓ **English screen, with language packs:** Spanish is loaded separately (`tools/fm1/idioma.py`) and switched in SYSTEM › LANGUAGE. -- ✓ **Pad sampler:** 16 pads made from your takes, like a KO II or an OP-1 field, on a grid like the drums, with BREAK to vary it. -- ✓ **MUTES** and **FILL** screens, and drums in sections of 8. +- ✓ **Slicer:** 16 pads cut from your takes, like a KO II or an OP-1 field, on a step grid like the drums (0.10). +- ✓ **MUTE SOUNDS** on the drums, and drums in pages of 8 instruments. - ✓ **The 0.6 face:** header, viewport, keyboard and dials always in the same place; the **BX-1** mixer on HOME; ALGORITHM as each machine's mode. - ✓ **Expressive REC:** micro-timing, gate and P-Locks of what you turn while holding the note; long notes with two white keys. +- ✓ **Each machine like the real one (0.10):** HOME as a six-channel mixer; entering a channel gives the FM-1 to its machine, with the panel and menus of the TB-303, Minimoog, Juno-6, Vital or DX7; cyclic menu buttons; the BR-8 step sequencer; factory patterns. **Planned: playing live (HOME again = the next page)** 1. **MORPH A·B:** move from one sound state to another with a knob (HOME's fourth macro). -2. ✓ **SCENES AND SONG:** scenes as mutes on the console, CUE, and song entries with a pattern and a scene (0.9). +2. ✓ **SCENES:** four scenes of mutes per pattern on HOME (0.10). The song and CUE of 0.9 were removed in the 0.10 redesign. **Planned: working on a track (the button again = the next page)** 1. **SEQ › LOOP › DICE:** controlled random variations, and the ACID generator for bass lines. 2. **EDIT › SOUND › INSTR:** the A/B drum instrument. 3. **LFO › MOTION:** a modulation sequencer and knob-movement recording. -4. ✓ **Per-channel mix and effects:** the console's FX › CHANNEL (drive, pan, duck, BEAT FX) (0.9). +4. ✓ **Per-channel effects:** each machine has its own effects (DISTORTION, CHORUS, REVERB; OVERDRIVE on the BB-303; the BX-7 chain) (0.10). **Other** -- **Pattern banks:** more than 10 patterns, by growing the flash map or shrinking the patterns. +- **Pattern banks:** more than 9 patterns, by growing the flash map or shrinking the patterns. - **Ghost notes on drums:** a level P-Lock or a bigger format. ## Tools and ecosystem diff --git a/hal/fm1/fm1_boot.c b/hal/fm1/fm1_boot.c index f836026..cbf3e9f 100644 --- a/hal/fm1/fm1_boot.c +++ b/hal/fm1/fm1_boot.c @@ -13,11 +13,14 @@ * [13] FM1_BF_* that happened in this boot, inverted (a bit goes to 0 when it happens) * [16..23] the RAM breadcrumb the previous run left (fm1_rastro), 0xFF if there was none * Programar bits de 1 a 0 no necesita borrar: el sector se borra una vez cada 127 arranques. - * Los arranques seguidos sin "anduvo bien" son arranques fallidos: - * 2 seguidos -> modo seguro (sin sonido, USB activo: se puede reinstalar desde el instalador) - * 4 seguidos -> modo de actualización del chip (USB 4C4A:8057, se rescata desde la computadora) - * Prender y apagar el FM-1 cuatro veces seguidas (menos de 10 s cada vez) lleva también al modo - * del chip, sin depender de ningún botón. */ + * Un arranque sin "anduvo bien" es un arranque fallido solo si el siguiente empezó por un reinicio + * del chip (perro, falla, voltaje bajo...). Si empezó al prenderlo, alguien lo apagó antes de los + * 10 s: no es una falla (2026-10-20, registro del FM-1: las cinco entradas al modo seguro venían + * de dos encendidos cortos seguidos, todos terminados al apagar). + * 2 fallidos seguidos -> modo seguro (sin sonido, USB activo: se puede reinstalar) + * 4 arranques seguidos sin "anduvo bien", por la causa que sea -> modo de actualización del chip + * (USB 4C4A:8057, se rescata desde la computadora). Prender y apagar el FM-1 cuatro veces + * seguidas (menos de 10 s cada vez) lleva ahí sin depender de ningún botón. */ #include "app_config.h" #include "system/includes.h" #include "asm/includes.h" @@ -176,11 +179,17 @@ int fm1_boot_begin(int keys_safe) break; } } - /* arranques seguidos sin la marca de "anduvo bien" (slot == SLOTS: sector lleno) */ + /* arranques seguidos sin la marca de "anduvo bien" (slot == SLOTS: sector lleno); los que + * terminaron con un reinicio del chip, no al apagarlo, son los fallidos */ + uint8_t mot = motivo(), sig = mot; + uint32_t seguidos = 0; fails = 0; - for (i = slot; i > 0 && fails < 8u && rd((i - 1u) * REC + 1u) == 0xFFu; i--) - fails++; - uint8_t mot = motivo(); + for (i = slot; i > 0 && seguidos < 8u && rd((i - 1u) * REC + 1u) == 0xFFu; i--) { + if (fails == seguidos && sig != FM1_RST_POWER && sig != FM1_RST_LONG) + fails++; + seguidos++; + sig = rd((i - 1u) * REC + 3u); /* cómo empezó ese: cómo terminó el anterior */ + } /* core 1 stays retired across resets until the FM-1 is powered on from off */ c1_retirado = slot > 0 && slot <= SLOTS && !(rd((slot - 1u) * REC + 13u) & FM1_BF_C1_RETIRED) && mot != FM1_RST_POWER; if (slot >= SLOTS) /* lleno: empezar de nuevo */ @@ -194,7 +203,7 @@ int fm1_boot_begin(int keys_safe) } if (c1_retirado) fm1_boot_flag(FM1_BF_C1_RETIRED); - if (fails >= FAILS_UBOOT) + if (seguidos >= FAILS_UBOOT) fm1_enter_uboot(); return (keys_safe || fails >= FAILS_SAFE) ? FM1_BOOT_SAFE : FM1_BOOT_NORMAL; } diff --git a/hal/fm1/fm1_consola.c b/hal/fm1/fm1_consola.c index e517662..7797aa8 100644 --- a/hal/fm1/fm1_consola.c +++ b/hal/fm1/fm1_consola.c @@ -191,6 +191,7 @@ void fm1_consola(const uint8_t *m, uint32_t n) fm1_stat[FM1_STAT_UI_MAX] = 0; fm1_stat[FM1_STAT_LOOP_US_MAX] = 0; fm1_stat[FM1_STAT_SCANISR_MAX] = 0; + fm1_stat[FM1_STAT_SCAN_LAT] = 0; responder(0x04, NULL, 0, NULL, 0); break; } diff --git a/hal/fm1/fm1_flash.c b/hal/fm1/fm1_flash.c index 39455ed..93842ad 100644 --- a/hal/fm1/fm1_flash.c +++ b/hal/fm1/fm1_flash.c @@ -60,7 +60,7 @@ static void inval(uint32_t a, uint32_t n) static int dentro(uint32_t a, uint32_t n) { - return a >= FM1_W_LO && n <= FM1_W_HI - FM1_W_LO && a + n <= FM1_W_HI; + return a >= FM1_W_LO && a <= FM1_W_HI && n <= FM1_W_HI - a; /* (a + n podría dar la vuelta) */ } int fm1_flash_read(uint32_t a, void *d, uint32_t n) diff --git a/hal/fm1/fm1_hw.h b/hal/fm1/fm1_hw.h index 5658b0a..2c51cc0 100644 --- a/hal/fm1/fm1_hw.h +++ b/hal/fm1/fm1_hw.h @@ -124,6 +124,7 @@ void fm1_audio_start_mute(int32_t *dma, uint32_t frames_per_half, fm1_audio_rend void fm1_audio_stop(void); void fm1_audio_pause(int on); /* DMA e interrupción en pausa, sin rearmar el codec */ void fm1_scan_pause(int on); +int fm1_scan_vigilar(uint32_t ms); /* bucle principal: rearma un barrido detenido */ uint32_t fm1_audio_halves(void); /* medios buffers calculados */ uint32_t fm1_audio_late(void); /* medios buffers que llegaron tarde (silencio) */ uint32_t fm1_scan_ticks(void); /* interrupciones del barrido (250 us cada una) */ @@ -166,6 +167,8 @@ enum { * bits 16-31 wait turns per microsecond */ FM1_STAT_FRENO_UI, /* brake steps because the UI loop was slower than 60 ms */ FM1_STAT_NAN_FIX, /* NaN resets in the mix (bm_status.nan_fix) */ + FM1_STAT_SCAN_LAT, /* the longest delay of a scan interrupt, us (an LED that stayed on longer) */ + FM1_STAT_SCAN_KICK, /* 0.9.2: times the main loop re-armed a stalled scan timer */ FM1_STAT_N }; diff --git a/hal/fm1/fm1_keys.c b/hal/fm1/fm1_keys.c index 8797868..d4a0f20 100644 --- a/hal/fm1/fm1_keys.c +++ b/hal/fm1/fm1_keys.c @@ -47,8 +47,11 @@ void fm1_keys_init(void) gpio_set_pull_up(ROW_IO[i], 1); gpio_direction_input(ROW_IO[i]); } - for (i = 0; i < 4; i++) + for (i = 0; i < 4; i++) { gpio_direction_output(LED_IO[i], 0); + gpio_set_hd(LED_IO[i], 1); /* salida fuerte en las filas de LEDs, como el de fábrica */ + gpio_set_hd1(LED_IO[i], 1); + } gpio_direction_output(FM1_SR_DATA, 0); gpio_direction_output(FM1_SR_CLK, 0); gpio_direction_output(FM1_SR_LATCH, 0); diff --git a/hal/fm1/fm1_main.c b/hal/fm1/fm1_main.c index 8fda93a..d27e239 100644 --- a/hal/fm1/fm1_main.c +++ b/hal/fm1/fm1_main.c @@ -861,6 +861,8 @@ static void bubba_task(void *p) fm1_flash_init(); fm1_keys_init(); + gpio_direction_output(FM1_LCD_BL, 0); /* PA2 en bajo: sin eso la matriz no lee (SLOOP #167, Felucca 1.1.5.1) */ + os_time_dly(1); for (int i = 0; i < 3; i++) /* OCT- y OCT+ al prender = modo seguro */ fm1_keys_frame(raw, NULL); modo = fm1_boot_begin(((raw[0] >> 4) & 1u) && ((raw[1] >> 4) & 1u)); @@ -977,7 +979,7 @@ static void bubba_task(void *p) if (d) bm_app_encoder(&app, ENC_ROLE[e], d, t); } - if (fm1_scan_is_down(BTN_OCT_DN) && fm1_scan_is_down(BTN_OCT_UP)) { + if (fm1_scan_is_down(BTN_OCT_DN) && fm1_scan_is_down(BTN_OCT_UP) && !app.ctx.st.playing) { /* no sonando (SLOOP) */ if (!combo_t0) combo_t0 = t | 1u; else if (t - combo_t0 > UBOOT_MS) { @@ -988,6 +990,8 @@ static void bubba_task(void *p) } else { combo_t0 = 0; } + if (fm1_scan_vigilar(t)) + fm1_log("barrido detenido: rearmado"); fm1_miga("L3"); midi_bombear(); fm1_miga("L4"); @@ -1048,9 +1052,10 @@ static void bubba_task(void *p) fm1_log("etapa SONANDO anotada"); seen |= 1; } - if (t - t0 > 1000u) + int quieto_audio = !app.ctx.st.playing; /* escribir la flash pausa el audio: sonando, espera (Felucca 1.5.1) */ + if (quieto_audio && t - t0 > 1000u) fm1_boot_stage(E_1S); - if (t - t0 > 5000u) + if (quieto_audio && t - t0 > 5000u) fm1_boot_stage(E_5S); if (t - heap_t > 5000u) { /* memoria libre, para la consola */ heap_t = t; @@ -1058,7 +1063,7 @@ static void bubba_task(void *p) } fm1_miga("L8"); fm1_latido(); - if (!ok && t - t0 > OK_MS) { /* 10 s andando: este arranque fue bueno */ + if (!ok && quieto_audio && t - t0 > OK_MS) { /* 10 s andando: este arranque fue bueno */ fm1_boot_ok(); ok = 1; } diff --git a/hal/fm1/fm1_scan.c b/hal/fm1/fm1_scan.c index bf8f0ac..0975d8f 100644 --- a/hal/fm1/fm1_scan.c +++ b/hal/fm1/fm1_scan.c @@ -23,12 +23,6 @@ static int get_bit(const volatile uint32_t *b, int id) { return (b[id >> 5] >> ( static int raw_at(const fm1_scan *s, int col, int row) { return (s->raw[col] >> row) & 1; } -static void enc_step(fm1_scan *s, int e, int dir) -{ - s->enc_acc[e] = (int16_t)(s->enc_acc[e] + dir); - s->qsub[e] = 0; -} - uint8_t fm1_scan_column(fm1_scan *s, uint8_t rows) { uint8_t c = s->col; @@ -49,37 +43,42 @@ uint8_t fm1_scan_column(fm1_scan *s, uint8_t rows) s->cnt[id] = 0; } } - if (c == FM1_COLS - 1) { /* fin de frame: cuadratura de los 7 encoders */ + /* Fin de frame: cuadratura de los 7 encoders. Como lo dejaron Felucca (su #23, "perillas que saltan") + * y SLOOP después de medir el FM-1: un detent es un ciclo entero (4 transiciones) y la perilla + * descansa en UN estado, el de al prender (se reaprende solo si queda ~1 s quieta en otro). El paso + * se cuenta al volver a ese estado, redondeando a ciclos enteros (2 o más transiciones = uno: se + * perdona una perdida); un salto de dos estados sigue en la dirección que iba. Nunca un segundo + * estado de descanso: con la 0.9, una pausa a medio clic lo aprendía y desde ahí cada clic contaba + * dos veces. */ + if (c == FM1_COLS - 1) { for (int e = 0; e < FM1_ENCS; e++) { int a = raw_at(s, s->map->enc_a[e][0], s->map->enc_a[e][1]); int b = raw_at(s, s->map->enc_b[e][0], s->map->enc_b[e][1]); uint8_t ns = (uint8_t)((a << 1) | b); - if (!s->seeded) { /* al prender, cada perilla está en un detent */ + if (!s->seeded) { /* al prender, cada perilla está en su detent */ s->q[e] = ns; - s->rest[e] = (uint8_t)(1u << ns); + s->rest[e] = ns; continue; } if (ns == s->q[e]) { - if (s->still[e] < 255u && ++s->still[e] == FM1_REST_FRAMES) { - s->rest[e] |= (uint8_t)(1u << ns); /* se quedó aquí: también es un detent */ - if (s->qsub[e] >= 2 || s->qsub[e] <= -2) - enc_step(s, e, s->qsub[e] > 0 ? 1 : -1); + if (s->still[e] < 0xFFFFu && ++s->still[e] == FM1_REST_FRAMES && ns != s->rest[e]) { + s->rest[e] = ns; /* ~1 s quieta aquí: este es el detent */ + s->qsub[e] = 0; } continue; } int8_t d = QDEC[(s->q[e] << 2) | ns]; + if (d) s->qsub[e] = (int8_t)(s->qsub[e] + d); + else if (s->qsub[e] > 0) s->qsub[e] = (int8_t)(s->qsub[e] + 2); /* dos estados de una: un giro rápido */ + else if (s->qsub[e] < 0) s->qsub[e] = (int8_t)(s->qsub[e] - 2); s->q[e] = ns; s->still[e] = 0; - if (!d) - continue; /* salto de dos estados: dirección desconocida */ - s->qsub[e] = (int8_t)(s->qsub[e] + d); - if ((s->rest[e] >> ns) & 1u) { - if (s->qsub[e] >= 2 || s->qsub[e] <= -2) - enc_step(s, e, s->qsub[e] > 0 ? 1 : -1); - else - s->qsub[e] = 0; /* volvió al mismo detent */ - } else if (s->qsub[e] >= 4 || s->qsub[e] <= -4) { - enc_step(s, e, s->qsub[e] > 0 ? 1 : -1); /* un ciclo entero sin pasar por un detent conocido */ + if (s->qsub[e] > 100 || s->qsub[e] < -100) s->qsub[e] = 0; + if (ns == s->rest[e]) { /* de vuelta en el detent: ciclos enteros */ + int n = s->qsub[e] < 0 ? -s->qsub[e] : s->qsub[e]; + n = n >= 2 ? (n + 2) / 4 : 0; + if (n) s->enc_acc[e] = (int16_t)(s->enc_acc[e] + (s->qsub[e] < 0 ? -n : n)); + s->qsub[e] = 0; } } s->seeded = 1; diff --git a/hal/fm1/fm1_scan.h b/hal/fm1/fm1_scan.h index 8cb75ba..c1d8908 100644 --- a/hal/fm1/fm1_scan.h +++ b/hal/fm1/fm1_scan.h @@ -22,8 +22,8 @@ #define FM1_IDS 41 #define FM1_ENCS 7 #define FM1_DEB_PRESS 2 -#define FM1_DEB_RELEASE 8 -#define FM1_REST_FRAMES 24 /* frames quieta en un estado = es un detent (~65 ms a 364 Hz) */ +#define FM1_DEB_RELEASE 4 /* ~11 ms abierta a 364 frames/s (SLOOP ~9 ms): un toque rápido no se pierde */ +#define FM1_REST_FRAMES 364 /* ~1 s quieta fuera del detent: ese es el detent (como SLOOP / Felucca) */ typedef struct { int8_t id[FM1_ROWS][FM1_COLS]; /* ID de tecla/botón o -1 */ @@ -39,8 +39,8 @@ typedef struct { volatile uint32_t edge_bits[2]; /* flancos pendientes; la UI los consume */ uint8_t q[FM1_ENCS]; /* último estado AB */ int8_t qsub[FM1_ENCS]; /* transiciones acumuladas hacia un detent */ - uint8_t rest[FM1_ENCS]; /* estados AB donde descansa (bit por estado) */ - uint8_t still[FM1_ENCS]; /* frames sin cambiar */ + uint8_t rest[FM1_ENCS]; /* el estado AB donde descansa (uno solo) */ + uint16_t still[FM1_ENCS]; /* frames sin cambiar */ uint8_t seeded; volatile int16_t enc_acc[FM1_ENCS]; /* la UI lee y pone a cero */ } fm1_scan; diff --git a/hal/fm1/fm1_scanhw.c b/hal/fm1/fm1_scanhw.c index 0a01ae8..3dfdc36 100644 --- a/hal/fm1/fm1_scanhw.c +++ b/hal/fm1/fm1_scanhw.c @@ -3,14 +3,17 @@ /* Barrido de la matriz por interrupción (TIMER5, una columna cada 250 us ≈ 364 barridos * completos por segundo) y LEDs de botones y teclas con brillo por tiempo encendido. * - * Brillo: cada columna dura 250 us en tres tramos. Al empezar se cambia de columna y se prenden - * los LEDs encendidos (100 %); en los últimos ~37 us se suman los medios (15 %) y en los últimos - * ~10 us los tenues (~4 %). Sin parpadeo: cada LED se prende en cada barrido. (El ojo ve el brillo - * en escala logarítmica: un medio al 50 % casi no se distinguía del 100 % en el aparato.) El tiempo de cada tramo se programa apenas - * entra la interrupción (cambiar de columna tarda ~30 us: programarlo después hacía que el - * temporizador se pasara de largo y el barrido bajó a ~70 columnas por segundo). (Antes el tenue se hacía saltando - * barridos: a 1/16 parpadeaba y a 1/2 no se distinguía del encendido; en el aparato las teclas - * de la batería se veían todas iguales.) + * Brillo (2026-10-20): al empezar la columna se prenden todos sus LEDs y cada uno se apaga cuando + * cumplió su tiempo: tenue ~4 %, medio 15 %, respirando de tenue a pleno, encendido hasta el final. + * Cada apagado es otra interrupción y puede llegar tarde (USB, flash, otra interrupción): la + * cuenta del temporizador al entrar dice cuánto, y ese exceso se descuenta en el próximo barrido + * del mismo LED (si no alcanza, ese barrido no se prende). Antes los tenues eran los últimos + * ~10 us antes de cambiar de columna y cualquier atraso de esa interrupción los estiraba al doble o + * al triple: las luces tenues de los botones de menú temblaban. La respiración ya no salta entre + * pleno y tenue de un barrido a otro (a brillo bajo eran destellos sueltos de 10-15 por segundo). + * (El ojo ve el brillo en escala logarítmica: un medio al 50 % casi no se distinguía del 100 %.) + * El tiempo de cada tramo se programa apenas entra la interrupción (cambiar de columna tarda + * ~30 us: programarlo después hacía que el temporizador se pasara de largo). * * Cada interrupción: lee las filas de la columna que se eligió en la anterior (ya asentadas), * se las pasa a fm1_scan (antirrebote y perillas, código portable probado en PC), apaga los @@ -44,11 +47,16 @@ static const fm1_scan_map MAPA = { static fm1_scan scan; static uint8_t nivel[FM1_IDS]; /* LED_OFF, LED_DIM, LED_ON, LED_BLINK, LED_BREATH */ -static uint32_t vueltas, prd = 1, prd_tenue = 1, cnt_us = 1; +static uint32_t vueltas, prd = 1, prd_tenue = 1, prd_medio = 1, cnt_us = 1, minimo = 1; static volatile uint32_t ticks, isr_n; -static volatile uint8_t tramo, leds_llenos, leds_medios, leds_tenues; -static uint32_t prd_medio = 1; -static int en_marcha; +static int en_marcha, pausado; + +/* la columna en curso: los apagados que faltan (tiempo desde que entró la interrupción de la + * columna, en ticks del temporizador, y qué filas), lo prendido y desde cuándo */ +static uint8_t col, prendidas, ev_n, ev_i, ev_filas[5]; +static uint16_t ev_t[5], fila_t[5], t_luz; +static volatile uint32_t col_t, prog; /* ticks de la columna hasta la última entrada; el período programado */ +static int16_t deuda[FM1_NCOL][5]; /* lo que cada LED estuvo prendido de más (ticks) */ #define PA_BIT(n) (1u << (n)) @@ -85,32 +93,59 @@ static inline void columna(uint32_t p) /* 16 bits a los 74HC595, el bit 15 JL_PORTA->OUT &= ~PA_BIT(1); } -/* filas de la columna c para la vuelta v: *todas = las que se prenden al empezar la columna, - * devuelve las que siguen prendidas después del tramo tenue */ -static uint8_t filas_led(uint32_t c, uint32_t v, uint8_t *todas, uint8_t *medio) +/* el tiempo de la fila r de la columna c en la vuelta v, en ticks: 0 apagada, prd encendida todo */ +static uint32_t tiempo_led(uint32_t c, int r, uint32_t v) { - uint8_t lleno = 0, tenue = 0, med = 0; + int id = MAPA.id[r][c]; + if (id < 0) + return 0; + switch (nivel[id]) { + case LED_ON: return prd; + case LED_DIM: return prd_tenue; + case LED_MID: return prd_medio; + case LED_BLINK: return (v / 91u) & 1u ? prd : 0; /* ~2 Hz: parpadeo a propósito */ + case LED_BREATH: { /* de tenue a encendido, ~2.8 s */ + uint32_t t = (v / 4u) & 255u, b = t < 128u ? t : 255u - t; /* 0..127 */ + return prd_tenue + (prd - prd_tenue) * b * b / (127u * 127u); /* curva: el ojo es logarítmico */ + } + default: return 0; + } +} + +/* Columna nueva: cuánto le toca a cada fila (menos lo que se pasó en el barrido anterior) y los + * apagados ordenados. Devuelve las filas que se prenden. */ +static uint8_t columna_plan(uint32_t c, uint32_t v) +{ + uint8_t luz = 0; + ev_n = ev_i = 0; for (int r = 1; r <= 4; r++) { - int id = MAPA.id[r][c]; - if (id < 0) + uint32_t t = tiempo_led(c, r, v); + fila_t[r] = 0; + if (!t) continue; uint8_t m = (uint8_t)(1u << r); - switch (nivel[id]) { - case LED_ON: lleno |= m; break; - case LED_DIM: tenue |= m; break; - case LED_MID: med |= m; break; - case LED_BLINK: if ((v / 91u) & 1u) lleno |= m; break; /* ~2 Hz: parpadeo a propósito */ - case LED_BREATH: { /* de tenue a encendido, ~2.8 s */ - uint32_t t = (v / 4u) & 255u, b = t < 128u ? t : 255u - t; /* 0..127 */ - if (((v * 37u) & 127u) < b) lleno |= m; else tenue |= m; /* fracción de vueltas a pleno */ - break; - } - default: break; + if (t >= prd) { luz |= m; continue; } /* hasta el final de la columna */ + int32_t q = (int32_t)t - deuda[c][r]; + if (q < (int32_t)minimo / 2) { /* debe más de lo que le toca: esta vez no */ + deuda[c][r] = (int16_t)(deuda[c][r] - (int32_t)t); + continue; } + if (q < (int32_t)minimo) q = (int32_t)minimo; + if (q > (int32_t)(prd - 4u * minimo)) q = (int32_t)(prd - 4u * minimo); + fila_t[r] = (uint16_t)t; + luz |= m; + int i = ev_n; /* insertar ordenado */ + while (i > 0 && ev_t[i - 1] > q) { ev_t[i] = ev_t[i - 1]; ev_filas[i] = ev_filas[i - 1]; i--; } + ev_t[i] = (uint16_t)q; ev_filas[i] = m; ev_n++; + } + for (int i = 1; i < ev_n;) { /* casi al mismo tiempo: un solo apagado */ + if ((uint32_t)(ev_t[i] - ev_t[i - 1]) < minimo) { + ev_filas[i - 1] |= ev_filas[i]; + for (int k = i; k + 1 < ev_n; k++) { ev_t[k] = ev_t[k + 1]; ev_filas[k] = ev_filas[k + 1]; } + ev_n--; + } else i++; } - *todas = (uint8_t)(lleno | tenue | med); - *medio = med; - return lleno; + return luz; } /* Perro guardián del bucle principal. Si el bucle no late en 3 s, se anotan la miga y el @@ -169,30 +204,58 @@ int fm1_cuelgue_previo(char out[5]) return hay; } +/* Lo que se programa: el próximo apagado o, si no queda ninguno, el final de la columna. Los + * tiempos van desde la entrada de la interrupción de la columna; ahora = cuándo entró esta (la + * cuenta del temporizador empezó en 0 ahí) y ya va CNT desde entonces. + * La cuenta es de 32 bits: si ya pasó el límite cuando se escribe (otra interrupción o un fallo de + * caché entre leer CNT y escribir PRD), el temporizador sigue hasta dar la vuelta, ~71 s sin teclas + * ni luces (pasó en el aparato cambiando presets de la BX-7, 2026-10-21). Por eso se revisa. */ +static void programar(uint32_t ahora) +{ + uint32_t fin = ev_i < ev_n ? t_luz + ev_t[ev_i] : prd, p = minimo; + for (int k = 0; k < 4; k++) { + uint32_t ya = JL_TIMER5->CNT; + p = fin > ahora + ya + minimo ? fin - ahora : ya + minimo; + JL_TIMER5->PRD = p; + if (JL_TIMER5->CNT < p) + break; + } + if (JL_TIMER5->CNT >= p) { /* no hubo caso: la columna se corre un poco, nada más */ + JL_TIMER5->CNT = 0; + p = minimo; + JL_TIMER5->PRD = p; + } + prog = p; +} + static ___interrupt void scan_isr(void) { if (!(JL_TIMER5->CON & BIT(15))) return; + /* cuánto llegó tarde (la cuenta siguió desde el límite), y el tramo siguiente se mide desde + * ahora: si no, con un atraso largo la cuenta ya habría pasado el límite nuevo y el + * temporizador seguiría hasta dar la vuelta (en el aparato el barrido bajó a ~180 columnas/s) */ + uint32_t tarde = JL_TIMER5->CNT; + JL_TIMER5->CNT = 0; JL_TIMER5->CON |= BIT(14); isr_n++; - /* el tramo siguiente se mide desde ahora: si la interrupción llegó tarde (USB o flash con las - * interrupciones apagadas), la cuenta ya habría pasado el límite y el temporizador seguiría - * hasta dar la vuelta (en el aparato el barrido bajó a ~180 columnas/s después de PLAY) */ - JL_TIMER5->CNT = 0; - if (tramo == 1) { /* últimos ~37 us: se suman los medios */ - JL_TIMER5->PRD = prd_medio - prd_tenue; - leds(leds_llenos | leds_medios); - tramo = 2; - return; - } - if (tramo == 2) { /* últimos ~31 us: se suman los tenues */ - JL_TIMER5->PRD = prd_tenue; - leds(leds_llenos | leds_medios | leds_tenues); - tramo = 0; + uint32_t ahora = col_t + prog + tarde; /* desde que entró la interrupción de esta columna */ + if (tarde / cnt_us > fm1_stat[FM1_STAT_SCAN_LAT]) + fm1_stat[FM1_STAT_SCAN_LAT] = tarde / cnt_us; + if (ev_i < ev_n) { /* un apagado: lo que estuvo de más queda debiendo */ + uint8_t m = ev_filas[ev_i++]; + prendidas &= (uint8_t)~m; + leds(prendidas); + for (int r = 1; r <= 4; r++) + if ((m >> r) & 1u) { + int32_t d = deuda[col][r] + (int32_t)(ahora - t_luz) - (int32_t)fila_t[r]; + deuda[col][r] = (int16_t)(d > (int32_t)prd ? (int32_t)prd : d < -(int32_t)prd ? -(int32_t)prd : d); + } + col_t = ahora; + programar(ahora); return; } - JL_TIMER5->PRD = prd - prd_medio; /* columna nueva: casi todo el tiempo, solo los encendidos */ - uint8_t todas, sig = fm1_scan_column(&scan, filas()); + uint8_t sig = fm1_scan_column(&scan, filas()); /* columna nueva */ leds(0); columna(sig); ticks++; @@ -200,12 +263,12 @@ static ___interrupt void scan_isr(void) vueltas++; if ((ticks & 4095u) == 0) /* ~1 vez por segundo */ perro(); - uint8_t med; - leds_llenos = filas_led(sig, vueltas, &todas, &med); - leds_medios = med; - leds_tenues = (uint8_t)(todas & ~leds_llenos & ~med); - leds(leds_llenos); - tramo = 1; + col = sig; + prendidas = columna_plan(sig, vueltas); + t_luz = (uint16_t)JL_TIMER5->CNT; /* los tiempos de cada LED cuentan desde que se prende */ + leds(prendidas); + col_t = 0; + programar(0); uint32_t us = JL_TIMER5->CNT / cnt_us; /* lo que tardó esta interrupción */ if (us > fm1_stat[FM1_STAT_SCANISR_MAX]) fm1_stat[FM1_STAT_SCANISR_MAX] = us; @@ -226,8 +289,12 @@ void fm1_scan_start(void) prd_tenue = prd / 25u ? prd / 25u : 1u; /* ~4 %: lo disponible */ prd_medio = prd * 15u / 100u; /* 15 %: lo que tiene contenido (al 50 % casi no se distinguía del 100 %) */ cnt_us = prd / 250u ? prd / 250u : 1u; - tramo = 0; - request_irq(IRQ_TIMER5_IDX, 3, scan_isr, 0); + minimo = 2u * cnt_us; /* dos apagados a menos de 2 us van juntos */ + ev_n = ev_i = 0; + col_t = 0; + prog = prd; + /* por encima del audio y del USB (como el firmware de fábrica): un atraso aquí es luz de más */ + request_irq(IRQ_TIMER5_IDX, 5, scan_isr, 0); JL_TIMER5->CON = BIT(14); JL_TIMER5->CNT = 0; JL_TIMER5->PRD = prd; @@ -244,18 +311,48 @@ void fm1_scan_pause(int on) if (on) { con = JL_TIMER5->CON; JL_TIMER5->CON = BIT(14); /* parado y sin aviso pendiente */ + leds(0); /* sin barrido, una columna quedaría prendida a pleno */ + pausado = 1; } else { + if (JL_TIMER5->CNT >= JL_TIMER5->PRD) /* (ver programar: con la cuenta pasada daría la vuelta) */ + JL_TIMER5->CNT = 0; JL_TIMER5->CON = (con & ~BIT(15)) | BIT(14); + pausado = 0; } } +/* La red de abajo, desde el bucle principal: si el barrido no cambió de columna en 20 ms sin estar + * en pausa, se rearma (la cuenta a 0 y el temporizador prendido) y se cuenta. Devuelve 1 si rearmó. */ +int fm1_scan_vigilar(uint32_t ms) +{ + static uint32_t visto_t, visto_ms; + if (!en_marcha || pausado || ticks != visto_t) { + visto_t = ticks; + visto_ms = ms; + return 0; + } + if (ms - visto_ms < 20u) + return 0; + int hubo = 0; + CPU_CRITICAL_ENTER(); + if (ticks == visto_t && !pausado) { + JL_TIMER5->CNT = 0; + JL_TIMER5->CON |= BIT(0); + fm1_stat[FM1_STAT_SCAN_KICK]++; + hubo = 1; + } + CPU_CRITICAL_EXIT(); + visto_ms = ms; + return hubo; +} + void fm1_scan_stop(void) { if (!en_marcha) return; JL_TIMER5->CON = BIT(14); leds(0); - en_marcha = 0; + en_marcha = pausado = 0; } int fm1_scan_edge(int *down) @@ -283,24 +380,27 @@ uint32_t fm1_scan_ticks(void) { return ticks; } /* ticks del timer (clk_get("timer"), 60 MHz) desde que arrancó el barrido: para medir tramos * cortos con resolución de ~17 ns (fm1_bench.c, core/bm_prof.h). Da la vuelta cada ~71 s. */ -uint32_t fm1_scan_now_ticks(void) +/* lo que va de la columna en curso, en ticks (hasta prd) */ +static uint32_t en_columna(uint32_t *n) { - uint32_t a, c, b, pend, f, t; + uint32_t a, c, b, pend, base, p; do { a = isr_n; c = JL_TIMER5->CNT; pend = JL_TIMER5->CON & BIT(15); - f = tramo; - t = ticks * prd; + base = col_t; + p = prog; + *n = ticks; b = isr_n; } while (a != b); - if (f == 1) - t += pend ? prd - prd_medio : c; - else if (f == 2) - t += pend ? prd - prd_tenue : prd - prd_medio + c; - else - t += pend ? prd : prd - prd_tenue + c; - return t; + base += pend ? p + c : c; + return base < prd ? base : prd; +} + +uint32_t fm1_scan_now_ticks(void) +{ + uint32_t n, c = en_columna(&n); + return n * prd + c; } uint32_t fm1_scan_ticks_hz(void) { return prd * 4000u; } @@ -308,22 +408,8 @@ uint32_t fm1_scan_ticks_hz(void) { return prd * 4000u; } /* microsegundos desde que arrancó el barrido: columnas * 250 + lo que va de la actual */ uint32_t fm1_scan_now_us(void) { - uint32_t a, c, b, pend, f, us; - do { - a = isr_n; - c = JL_TIMER5->CNT; - pend = JL_TIMER5->CON & BIT(15); - f = tramo; - us = ticks * 250u; - b = isr_n; - } while (a != b); - if (f == 1) /* primera mitad de la columna */ - us += pend ? (prd - prd_medio) / cnt_us : c / cnt_us; - else if (f == 2) /* segunda mitad, antes de los tenues */ - us += pend ? (prd - prd_tenue) / cnt_us : (prd - prd_medio + c) / cnt_us; - else /* los últimos ~31 us */ - us += pend ? 250u : (prd - prd_tenue + c) / cnt_us; - return us; + uint32_t n, c = en_columna(&n); + return n * 250u + c / cnt_us; } void fm1_scan_led(int id, uint8_t level) diff --git a/hal/fm1/fm1_update.c b/hal/fm1/fm1_update.c index 8c95a3e..0912b30 100644 --- a/hal/fm1/fm1_update.c +++ b/hal/fm1/fm1_update.c @@ -285,6 +285,7 @@ static void sesion(fm1_update_show show) return; } show(5, 0); + fm1_boot_ok(); /* reinicio pedido: no es un arranque fallido */ os_time_dly(30); local_irq_disable(); memcpy((void *)UPDATA_FLAG_ADDR, parm, sizeof parm); diff --git a/hal/fm1/fm1_usb_midi.c b/hal/fm1/fm1_usb_midi.c index aee2239..4e5614d 100644 --- a/hal/fm1/fm1_usb_midi.c +++ b/hal/fm1/fm1_usb_midi.c @@ -332,7 +332,7 @@ uint32_t fm1_midi_lost(void) { return tx_perdidos; } #define SYX_MAX 1024 static u8 syx[SYX_MAX], listo[SYX_MAX]; static u32 syx_n, listo_n; -#define CORTOS 32 +#define CORTOS 128 /* mensajes cortos esperando al bucle principal */ static u8 cortos[CORTOS][3]; static u8 c_w, c_r; @@ -349,6 +349,8 @@ static void corto(u8 a, u8 b, u8 c) static void bombear(void) { while (rx_r != rx_w && !listo_n) { + if ((u8)((c_w + 1u) % CORTOS) == c_r) + break; /* llena: el resto espera en rxq (un note-off no se pierde; SLOOP) */ u8 *p = rxq[rx_r]; u8 cin = p[0] & 0x0F, k = 0; rx_r = (u16)((rx_r + 1u) % RXQ); @@ -358,7 +360,7 @@ static void bombear(void) case 0x6: k = 2; break; case 0x7: k = 3; break; default: - if (cin >= 0x8 || cin == 0x2 || cin == 0x3) + if ((cin >= 0x8 || cin == 0x2 || cin == 0x3) && (p[1] & 0x80u)) /* sin byte de estado: mal formado */ corto(p[1], p[2], p[3]); continue; } diff --git a/lang/es.bmlang b/lang/es.bmlang index 65718832007bba44886e3e97b0748be863e791d8..b2f14df449dcd04508b26479e6d39c64754aacae 100644 GIT binary patch delta 2060 zcmYk73se->9melGR~{CW*Fq2n0bTF`m8g*r@b1pA49?D7W@ZVHf=aOQq=~2yaeb{c zC5j*hhKl&$q-oKZ5L-IRtbV?a z|K?YbXP;IoJEr~FR5k6>$MFGP9|-|_?!^bD4vhs)9Xt?xcW{ca=G!Xc54l39aPC0p z?)M&sR+@do+P%}l$I)nb`3*Uuop;V0ZfbJPx-!2gD(-ebj5zPo>`&g^V=5f!Gc~Nc z8C&{#-n`FWJU<_G9E#su3=;j*pHHmvElj+Y!Yqm_JF}>n?Ok&2a6!_)3LZUM@y>^MBvCY}@x0@KWs*i)BN;rPgrBQsR_^j$?a;uI^@GB=oLzCG|o2{u|F{MB@{m z6}m#?gw4OpJpKLo%)G=e6uI@k>dTd%XgQ6c4)*JToSU~gURY0;{le9DH1B55qWlIj zDZk)_=TE9~ZxP@>b;PZ#s9a9$GeS&CcwhR|D^?EBdl+ebMe~ z#QLZF;)Mx#~mQs?@;4G=R^ZsjIiQ}cazn-$`8CPqeGia6XmJ`y=EqDC(Z-s{X z?c*K&+j|Fo=6Vudy5r!9A9mtdU095SI3*lS2~s+-qd-QsO#KyOX(UMXuZ7Lf5Yd6+l@WbhfP;w zw+{XDH#@KO-b?5ER;`?UJtZUiM#-;h?`mg?zxuAXx_{rCjrUz&*1GQR4R0FAc@**> zz3b=0w%5KGK7PP=q%dsh2*bZI5_hrc@%e_#YN!E7)OJPne81&AOMtOdou3CchPXaH}6KY|v}4mv?MxC;8fAQ%DTz>5eZ zW)P8tiEu3-789w2Oym(S5o?J}#Op*oafCQUv=Qft9-@!9O$-tbi7|pEy~zl24w*I`*(>Z1NZ^|`1)YMctBIeHGALW^_(y_$ZNE}=KmW%Mq3FTIccfIdxM zq(7s3>3g(46U>A&QOr_?XO=SxvyLfcwlU>Q4YQAFWR5V+OdHe5TxM=CBMifOvq5YW zJC}W$eU?S+YIY0zCVPlI#-3u&vRBzbc8p~WS-ysFL!=?ju-K4l;0-)dIoV;61f(W$ zG6Gpha@YhJh`fkw5Qws95%I6kB0`Ysu$e_30caKlMMEG>lr#k&pqWe6SNP11(?mN0 z8Z=7~KV39I5s>F82OzC}WWl zE5aHDoSmwdhD7Oag@o(KxI}L>hImT?k4fSyk?t2dBLVB+5spF;uz4F+hmGP-o{K32 zX%cj3I82dOa2XV2vkQuz85WV4i;#P%8z~245*8K$yMnBWpkgh8I$;}6lu$+zC(4)v z7C#;q?~9Yf4FzTe`_o&VidwGX`e14k;DL%H#0fH|YRJx++!i5+VL}JKC>B5*9p>X1 z>j@2V?y9Sr;_kkt!x=O3@SmdwC0qngVR69_mkx6#YvC!gg1d^-nLDww+o}RNlY7Tl z&hveu^9u0za;vc*Txc7@_3w`egAQ55mtwpK*BJZ46%e6p{pnV5M=%Lxl7NuyA;6hz z`2LL5Yq$`-gNrnJVp1{Z`53hs+02N;+2bn4M$XcUA`|p0k-<7K%j6>=j04{dya4_O DcJ;V3 literal 8837 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.txt, pon "# NOMBRE: ..." arriba y # escribe "= traduccion" debajo de cada frase. Lo que no traduzcas se ve en ingles. -# core/bm_ui_draw.c - REV - -# core/bm_ui_draw.c - SYNC +# core/bm_panel.c + AMT # core/bm_app.c EMPTY -# core/bm_ui_draw.c -%d BARS %d/%d NOTES %s +# core/bm_panel.c + TO -# core/bm_ui_draw.c -%d BARS %s +# core/bm_slicer.c +%d PADS + SEQUENCE # core/bm_ui_draw.c -%d BPM %d BAR %u.%uS +%d+%d, FREE %u.%uS # core/bm_input.c -%d EVENTS - -# core/bm_ui_draw.c -%d PADS - -# core/bm_input.c core/bm_ui_draw.c -%d STEPS +%s ALREADY ON T%d -# core/bm_ui_draw.c -%d+%d, FREE %u.%uS +# core/bm_bx7.c ++EXP -# core/bm_app.c core/bm_input.c -%s ALREADY ON T%d +# core/bm_bx7.c ++LIN -# core/bm_input.c -%s ERASED +# core/bm_bx7.c +-EXP -# core/bm_input.c -%s LENGTH +# core/bm_bx7.c +-LIN # core/bm_printf.c 0123456789ABCDEF -# core/bm_app.c +# core/bm_params.c 1 BAR -# core/bm_ui_draw.c -1 BAR = %u.%u S - -# core/bm_app.c +# core/bm_params.c 2 BARS # core/bm_input.c -2 S = YES ANY CONTROL = NO +2 HEAVY ON -# core/bm_input.c -4 NOTES PER STEP +# core/bm_params.c +4 BARS -# core/bm_input.c -A%02d ALREADY HAS DATA +# core/bm_params.c +8 BARS # core/bm_app.c A%02d QUEUED -# core/bm_input.c +# core/bm_ui_draw.c ACC -# core/bm_input.c core/bm_params.c core/bm_ui_draw.c +# core/bm_b303.c core/bm_input.c core/bm_panel.c core/bm_params.c core/bm_ui_draw.c ACCENT -# core/bm_ui_draw.c -ACCENT OPENS THE FILTER - TIE = SLIDE - # core/bm_input.c -ADD A PATTERN FIRST - -# core/bm_ui_draw.c -AGAIN: +ACCENTS -# core/bm_input.c core/bm_params.c core/bm_ui_draw.c +# core/bm_bx7.c core/bm_ui_draw.c ALG -# core/bm_ui_draw.c -ALG = MACHINE PRE = SOUND - # core/bm_input.c ALGO -# core/bm_params.c core/bm_ui_draw.c +# core/bm_bx7.c core/bm_ui_draw.c ALGORITHM -# core/bm_ui_draw.c -ALGORITHM = CHORUS - -# core/bm_ui_draw.c -ALGORITHM PICKS THE TARGET - HOLD EDIT 2 S = PASTE +# core/bm_input.c +ALGORITHM = THIS DRUM'S SOUND K1-K3 # core/bm_ui_draw.c -ALL AT 0: THE GRID AS IS - -# core/bm_input.c core/bm_ui_draw.c ALWAYS -# core/bm_ui_draw.c -ALWAYS ON IN THIS TRACK - -# core/bm_input.c -ALWAYS PLAYS - -# core/bm_params.c +# core/bm_bx7.c AMD -# core/bm_params.c +# core/bm_panel.c core/bm_params.c AMOUNT +# core/bm_bx7.c +AMP MOD + # core/bm_drums.cpp ANALOG HAT @@ -125,81 +95,36 @@ ANALOG KICK # core/bm_drums.cpp ANALOG SNARE -# core/bm_input.c -ANCHOR - -# core/bm_ui_draw.c -ANY OTHER CONTROL = NO - # core/bm_ui_draw.c ARMED -# core/bm_input.c -ARMED: PLAY TO RECORD - -# core/bm_app.c core/bm_input.c +# core/bm_b303.c core/bm_bx7.c ARP -# core/bm_input.c -ARP GATE - -# core/bm_input.c -ARP MODE - -# core/bm_input.c -ARP OCTAVES - -# core/bm_input.c -ARP RATE - -# core/bm_input.c -ARPEGGIO - -# core/bm_drums.cpp core/bm_input.c core/bm_params.c +# core/bm_bx7.c core/bm_drums.cpp core/bm_panel.c core/bm_params.c core/bm_slicer.c ATTACK -# core/bm_ui_draw.c -ATTACK, RELEASE, CHOKE GROUP, TEMPO SYNC - -# core/bm_input.c -AUTO FILL - -# core/bm_input.c -AUTOMATIC FILL +# core/bm_slicer.c +AUTO # core/bm_ui_draw.c AUTOSAVE -# core/bm_ui_draw.c -AVAILABLE - -# core/bm_pattern.c +# core/bm_panel.c core/bm_pattern.c B-MINI -# core/bm_input.c -B-MINI MODE +# core/gen/bm_fm_rom.c +BANANAMR -# core/bm_ui_draw.c -B1 = ACCENT +# core/bm_input.c core/bm_ui_draw.c +BAR %d/%d # core/bm_ui_draw.c -BACK - -# core/bm_input.c -BAR - -# core/bm_input.c -BARS - -# core/bm_input.c -BASE CHORD +BAR %d/%d %d STEPS -# core/bm_pattern.c +# core/bm_b303.c core/bm_pattern.c BB-303 -# core/bm_input.c -BB-303 WAVEFORM - # core/bm_acid.cpp BB-303 voice does not fit the shared pool (bm_vpool.h) @@ -224,27 +149,12 @@ BD808 # core/bm_drums.cpp BD909 -# core/bm_input.c core/bm_ui_draw.c -BEAT FX - # core/bm_params.c BIG BEAT -# core/bm_input.c core/bm_ui_draw.c -BIT - -# core/bm_pattern.c +# core/bm_panel.c core/bm_pattern.c BITTAL -# core/bm_input.c -BLACK %d - -# core/bm_ui_draw.c -BLACK 4 = THE TAKE ON PAD %d - -# core/bm_ui_draw.c -BLACK 4 = THE TAKE ON THIS PAD - # core/bm_params.c BLIP @@ -260,7 +170,10 @@ BLP # core/bm_params.c BOMBAY 82 -# core/bm_params.c +# core/bm_panel.c +BOTH + +# core/bm_bx7.c core/bm_panel.c core/bm_params.c BP # core/bm_pattern.c @@ -269,26 +182,29 @@ BP-1 # core/bm_input.c core/bm_ui_draw.c BPM -# core/bm_input.c -BPM .1 - # core/bm_pattern.c BR-8 # core/gen/bm_fm_rom.c BRASS 80 -# core/bm_app.c core/bm_input.c core/bm_ui_draw.c +# core/bm_bx7.c BREAK +# core/bm_bx7.c core/bm_params.c +BRIGHT + +# core/gen/bm_fm_rom.c +BRTHLESS + # core/bm_snap.c BUBBA -# core/bm_pattern.c -BUNO-6 +# core/bm_params.c +BUILD -# core/bm_input.c -BUNO-6 CHORUS +# core/bm_panel.c core/bm_pattern.c +BUNO-6 # core/gen/bm_fm_rom.c BUZZ @@ -299,78 +215,39 @@ BX-1 # core/bm_pattern.c BX-7 -# core/bm_input.c -BX-7 ALGORITHM - # core/bm_app.c BX-7 BANK: %d VOICES # core/bm_fm.cpp BX-7 voice does not fit the shared pool (bm_vpool.h) -# core/bm_input.c -CANCELED - -# core/bm_input.c -CANNOT BE UNDONE - -# core/bm_input.c -CAPT - -# core/bm_input.c -CAPTURED: %d STEPS - # core/bm_input.c CB # core/bm_snap.c CC0 -# core/bm_input.c -CC1 MOD - -# core/bm_input.c -CC74 - # core/bm_input.c CG # core/bm_input.c CH -# core/bm_input.c -CHAIN OF %d PATTERNS - -# core/bm_input.c -CHAIN OF %d SCENES - -# core/bm_ui_draw.c -CHANGE: HOLD T%d ON HOME + ALG - -# core/bm_input.c core/bm_ui_draw.c -CHANNEL - # core/bm_params.c CHICAGO 86 # core/gen/bm_fm_rom.c CHIMES -# core/bm_input.c core/bm_params.c +# core/bm_params.c CHOKE -# core/bm_input.c -CHORD - -# core/bm_input.c -CHORD SET - -# core/bm_app.c core/bm_input.c core/bm_ui_draw.c -CHORDS - -# core/bm_input.c core/bm_params.c +# core/bm_bx7.c core/bm_panel.c core/bm_params.c core/bm_slicer.c CHORUS +# core/bm_panel.c core/bm_slicer.c +CHORUS REVERB + # core/bm_input.c CL @@ -392,6 +269,9 @@ CLAVI # core/bm_ui_draw.c CLEAR PATTERN +# core/bm_ui_draw.c +CLEAR T%d + # core/bm_ui_draw.c CLEAR? SAVE AGAIN @@ -404,39 +284,21 @@ CLOCK: EXTERNAL (MIDI) # core/bm_input.c CLOCK: INTERNAL -# core/bm_input.c -CLOSED - -# core/bm_input.c -CLR +# core/bm_bx7.c +COARSE -# core/bm_input.c core/bm_params.c +# core/bm_params.c COLOR -# core/bm_input.c -COND - # core/bm_params.c CONGA -# core/bm_params.c +# core/bm_panel.c core/bm_params.c CONTOUR # core/bm_params.c CONTROL -# core/bm_input.c -COPY A%02d TO A%02d? - -# core/bm_input.c -COPY PATTERN - -# core/bm_input.c -COPY T%d TO A%02d? - -# core/bm_ui_draw.c -COPY TRACK - # core/bm_params.c COWB @@ -452,31 +314,22 @@ CP # core/bm_ui_draw.c CPU! -# core/bm_input.c -CPY - # core/bm_input.c CR # core/bm_params.c CRASH -# core/bm_input.c -CRE - -# core/bm_input.c core/bm_ui_draw.c -CRESC - -# core/bm_input.c core/bm_ui_draw.c -CUE +# core/gen/bm_fm_rom.c +CRISP BS -# core/bm_input.c -CUE OFF +# core/bm_bx7.c +CURVES -# core/bm_input.c -CUE: MUTES AND SCENES ON THE NEXT BAR +# core/bm_ui_draw.c +CUT OFF -# core/bm_params.c +# core/bm_b303.c core/bm_bx7.c core/bm_panel.c core/bm_params.c CUTOFF # core/bm_input.c @@ -485,55 +338,34 @@ CY # core/bm_params.c CYMBL -# core/bm_input.c -DAMP - -# core/bm_input.c -DB - -# core/bm_params.c +# core/bm_panel.c core/bm_params.c DCO +# core/bm_panel.c +DCO MOD + # core/bm_params.c DCO WAVE -# core/bm_input.c -DEC - -# core/bm_input.c core/bm_params.c +# core/bm_b303.c core/bm_bx7.c core/bm_panel.c core/bm_params.c core/bm_ui_draw.c DECAY -# core/bm_input.c core/bm_ui_draw.c -DECRESC - -# core/bm_input.c -DEL - -# core/bm_input.c core/bm_params.c core/bm_ui_draw.c +# core/bm_b303.c core/bm_bx7.c core/bm_input.c core/bm_panel.c core/bm_params.c DELAY -# core/bm_ui_draw.c -DELAY AND PUNCH-IN PAUSED WHILE RECORDING - -# core/bm_input.c -DELAY FEEDBACK - -# core/bm_input.c -DELAY MIX - -# core/bm_input.c -DELAY SEND +# core/bm_b303.c +DELAY REVERB # core/bm_input.c -DELAY TIME +DELETE SCENE %c -# core/bm_input.c -DELETE TAKE %02d? +# core/bm_b303.c core/bm_bx7.c +DEPTH -# core/bm_params.c +# core/bm_b303.c core/bm_panel.c core/bm_params.c DEST -# core/bm_params.c +# core/bm_bx7.c core/bm_params.c DETUNE # core/bm_pattern.c @@ -542,17 +374,20 @@ DIATONIC # core/bm_ui_draw.c DIM -# core/bm_input.c -DIR +# core/bm_bx7.c +DIST -# core/bm_input.c -DISCARD THE NEW TAKE? +# core/bm_panel.c core/bm_slicer.c +DISTORTION -# core/bm_input.c -DLY +# core/gen/bm_fm_rom.c +DIVA EP # core/bm_input.c -DLY MIX +DLY FDBK + +# core/bm_b303.c +DLY ON # core/bm_input.c DLY TIME @@ -560,182 +395,86 @@ DLY TIME # core/bm_pattern.c DORIAN -# core/bm_input.c core/bm_ui_draw.c +# core/bm_mach.c DOWN -# core/bm_input.c core/bm_params.c core/bm_ui_draw.c +# core/bm_b303.c core/bm_panel.c core/bm_params.c core/bm_slicer.c DRIVE -# core/bm_input.c -DRIVE (SOFT-CLIP) - -# core/bm_input.c core/bm_ui_draw.c -DUCK - -# core/bm_ui_draw.c -DUCK %d%% (FX AGAIN: K1) - -# core/bm_ui_draw.c -DUCK (SIDECHAIN FROM T1) - -# core/bm_input.c -DUCK (SIDECHAIN) - # core/bm_params.c E.BASS A # core/bm_params.c E.BASS B -# core/bm_input.c -ECHO - -# core/bm_input.c +# core/bm_bx7.c EDIT -# core/bm_params.c -EG +# core/gen/bm_fm_rom.c +EMOTNHRP -# core/bm_params.c +# core/bm_panel.c core/bm_params.c EMPHASIS -# core/bm_ui_draw.c +# core/bm_slicer.c core/bm_ui_draw.c EMPTY -# core/bm_ui_draw.c -EMPTY PAD - -# core/bm_input.c -EMPTY PAD: TAKES > PAD - -# core/bm_input.c -EMPTY STEP - -# core/bm_ui_draw.c -EMPTY STEP - HOLD + ANOTHER WHITE = LONG NOTE - -# core/bm_input.c -EMPTY STEP: PLAY A NOTE THERE FIRST - -# core/bm_input.c -ENTRY - -# core/bm_input.c -ENTRY %d: NO SCENE - -# core/bm_input.c -ENTRY %d: SCENE %c +# core/bm_slicer.c +END -# core/bm_input.c core/bm_params.c core/bm_ui_draw.c +# core/bm_bx7.c core/bm_panel.c core/bm_params.c core/bm_slicer.c ENV -# core/bm_params.c +# core/bm_panel.c core/bm_params.c ENV +/- -# core/bm_params.c +# core/bm_panel.c core/bm_params.c ENV 1 -# core/bm_params.c +# core/bm_panel.c core/bm_params.c ENV 2 -# core/bm_params.c +# core/bm_b303.c core/bm_params.c core/bm_ui_draw.c ENV MOD -# core/bm_params.c +# core/bm_panel.c core/bm_params.c ENV/GATE -# core/bm_params.c +# core/bm_panel.c core/bm_params.c ENV2 AMT -# core/bm_params.c +# core/bm_panel.c core/bm_params.c ENV2 POS -# core/bm_input.c -ERASE - -# core/bm_ui_draw.c -ERASE LOOP - -# core/bm_ui_draw.c -ERASE T%d - -# core/bm_ui_draw.c -EVENTS +# core/bm_mach.c +EXCL # core/bm_input.c -EVERY %d +EXIT: BLACK 11 OR HOME # core/bm_input.c -EVERY 2 +EXIT: EDIT OR HOME WHITE = PICK # core/bm_input.c -EVERY 4 +EXIT: ENV OR HOME BLACK = SOUND, BAR # core/bm_input.c -EVERY 8 +EXIT: LFO OR HOME BLACK = SOUND, BAR # core/bm_input.c -EXIT: ARP OR HOME BLACK 11 = FILL +EXIT: RELEASE BLACK 11 # core/bm_input.c -EXIT: ARP OR HOME REC IS RECORDING +EXIT: SCL OR HOME BLACK = SOUND, BAR -# core/bm_input.c -EXIT: BLACK 11 OR HOME +# core/bm_ui_draw.c +EXT # core/bm_input.c -EXIT: LFO OR HOME BLACK 9/10 = PAGE +EXT CLOCK: WAITING FOR MIDI -# core/bm_input.c -EXIT: RELEASE ARP - -# core/bm_input.c -EXIT: RELEASE ARP BLACK 11 = FILL - -# core/bm_input.c -EXIT: RELEASE ARP REC IS RECORDING - -# core/bm_input.c -EXIT: RELEASE BLACK 11 - -# core/bm_input.c -EXIT: RELEASE EDIT B7-10 = CLR SCENE - -# core/bm_input.c -EXIT: RELEASE EDIT BLACK 7 = REDO - -# core/bm_input.c -EXIT: RELEASE ENV BLACK 9/10 = PAGE - -# core/bm_input.c -EXIT: RELEASE FX - -# core/bm_input.c -EXIT: RELEASE GLO PLAY = TAP TEMPO - -# core/bm_input.c -EXIT: RELEASE HOME B1-6 MUTE - -# core/bm_input.c -EXIT: RELEASE LFO BLACK 9/10 = PAGE - -# core/bm_input.c -EXIT: RELEASE SAVE - -# core/bm_input.c -EXIT: RELEASE SCL - -# core/bm_input.c -EXIT: RELEASE SEQ BLACK 1-6 = SPEED - -# core/bm_ui_draw.c -EXT - -# core/bm_input.c -EXT CLOCK: WAITING FOR MIDI - -# core/bm_ui_draw.c -EXT? +# core/bm_ui_draw.c +EXT? # core/bm_ui_draw.c EXTERNAL @@ -749,12 +488,6 @@ F DECAY # core/bm_app.c FAC ? -# core/bm_input.c -FACTORY - -# core/bm_input.c -FACTORY IS READ ONLY - # core/bm_ui_draw.c FAST SCREEN @@ -764,35 +497,26 @@ FAST SCREEN OFF # core/bm_input.c FAST SCREEN ON (TEST) -# core/bm_input.c core/bm_params.c +# core/bm_bx7.c FEEDBACK -# core/bm_input.c -FIL - -# core/bm_input.c core/bm_ui_draw.c +# core/bm_ui_draw.c FILL -# core/bm_input.c -FILL ONLY - -# core/bm_input.c core/bm_params.c core/bm_ui_draw.c +# core/bm_bx7.c core/bm_input.c core/bm_panel.c core/bm_params.c FILTER -# core/bm_params.c +# core/bm_panel.c core/bm_params.c FILTER + -# core/bm_ui_draw.c -FILTER OFF - -# core/bm_params.c +# core/bm_bx7.c core/bm_params.c FINE -# core/bm_input.c core/bm_ui_draw.c +# core/bm_bx7.c core/bm_ui_draw.c FIXED # core/bm_ui_draw.c -FIXED MACHINE +FL # core/bm_input.c core/bm_ui_draw.c FLAM @@ -806,72 +530,45 @@ FLUTE # core/bm_drums.cpp core/bm_input.c core/bm_params.c FM -# core/bm_ui_draw.c -FOR TRACKS WITHOUT THEIR OWN SCALE - -# core/bm_params.c +# core/bm_panel.c core/bm_params.c FRAME -# core/bm_ui_draw.c -FREE %u.%u S - %d SOUNDS ON TOP - -# core/bm_ui_draw.c -FREE REC - -# core/bm_ui_draw.c -FREE REC %u.%u - -# core/bm_input.c -FREE REC: REC AGAIN CLOSES - -# core/bm_input.c core/bm_ui_draw.c -FREEZE - -# core/bm_params.c +# core/bm_bx7.c core/bm_panel.c core/bm_params.c FREQ -# core/bm_input.c -FROM - -# core/bm_input.c -FROM STEP 1 - # core/gen/bm_fm_rom.c FULLTINE -# core/bm_input.c +# core/bm_slicer.c FWD -# core/bm_input.c core/bm_ui_draw.c +# core/bm_b303.c core/bm_bx7.c core/bm_panel.c core/bm_ui_draw.c FX -# core/bm_ui_draw.c -FX AGAIN = NEXT PAGE - -# core/bm_input.c +# core/bm_bx7.c GAIN -# core/bm_input.c core/bm_params.c core/bm_ui_draw.c +# core/bm_mach.c core/bm_panel.c core/bm_params.c GATE -# core/bm_input.c -GATE LENGTH - -# core/bm_input.c -GHOST - # core/gen/bm_fm_rom.c GLASS -# core/bm_input.c core/bm_params.c +# core/bm_ui_draw.c +GLD + +# core/bm_panel.c core/bm_params.c GLIDE -# core/bm_app.c core/bm_input.c core/bm_ui_draw.c +# core/bm_b303.c core/bm_bx7.c core/bm_ui_draw.c GLO # core/bm_snap.c GPL-3.0 +# core/bm_ui_draw.c +HARD + # core/bm_pattern.c HARM MIN @@ -881,79 +578,22 @@ HAT # core/bm_params.c HAT 808 -# core/bm_ui_draw.c -HELD: KEY, THRU AND LOOP KEEP PLAYING - -# core/bm_ui_draw.c -HELD: THE LOOP REPEATS - RELEASED: TO THE END - -# core/bm_input.c -HERMITE - # core/bm_input.c HH # core/bm_drums.cpp HH808 -# core/bm_input.c -HI - -# core/bm_input.c core/bm_params.c +# core/bm_params.c HIT -# core/bm_input.c -HLF - -# core/bm_input.c -HOLD %s 2 S = YES - -# core/bm_ui_draw.c -HOLD ARP = LIVE ARPEGGIO - -# core/bm_ui_draw.c -HOLD EDIT + BLACK 4 = CAPTURE INTO THE GRID - -# core/bm_ui_draw.c -HOLD FX = PUNCH-IN - -# core/bm_ui_draw.c -HOLD GLO = TRANSPOSE, PLAY = TAP - -# core/bm_input.c -HOLD KEYS = ARPEGGIATE IN TEMPO - -# core/bm_ui_draw.c -HOLD REC = RECORD WHILE HELD - -# core/bm_input.c -HOLD WHITE = ERASE LIVE B6 = UNDO - -# core/bm_input.c -HOLD WHITE = ROLL BLACK 1-6 = RATE - -# core/bm_input.c -HOME - -# core/bm_ui_draw.c -HOME + EDIT - -# core/bm_ui_draw.c -HOME + FX = DELAY, REVERB AND SIDECHAIN - -# core/bm_input.c -HOME + THIS BUTTON: NOTHING - -# core/bm_ui_draw.c -HOME = DISCARD? - REC = ANOTHER TAKE - # core/gen/bm_fm_rom.c HOUSE BS -# core/bm_input.c core/bm_params.c core/bm_ui_draw.c +# core/bm_bx7.c core/bm_input.c core/bm_panel.c core/bm_params.c core/bm_ui_draw.c HP -# core/bm_input.c core/bm_params.c core/bm_ui_draw.c +# core/bm_panel.c core/bm_params.c HPF # core/bm_params.c @@ -968,33 +608,24 @@ I+II # core/bm_ui_draw.c IDLE LEDS -# core/bm_input.c core/bm_params.c core/bm_pattern.c +# core/bm_params.c core/bm_pattern.c II -# core/bm_input.c core/bm_pattern.c +# core/bm_pattern.c III -# core/bm_input.c -INF +# core/bm_mach.c +INCL -# core/bm_input.c core/bm_snap.c +# core/bm_snap.c INIT # core/bm_params.c INIT 1982 -# core/bm_input.c -INIT KIT - -# core/bm_input.c -INIT KIT ON T%d? - -# core/bm_app.c core/bm_input.c core/bm_ui_draw.c +# core/bm_app.c INIT SOUND -# core/bm_input.c -INIT SOUND ON T%d? - # core/bm_params.c INSPIRED BY THE DX7 @@ -1010,85 +641,28 @@ INSPIRED BY THE TB-303 # core/bm_params.c INSPIRED BY VITAL -# core/bm_app.c core/bm_input.c -INSTR - # core/bm_input.c -INSTRUM +INSTR -# core/bm_params.c +# core/bm_input.c core/bm_params.c INSTRUMENT -# core/bm_input.c -INSTRUMENTS 1-8 - -# core/bm_input.c -INSTRUMENTS 9-16 - # core/bm_ui_draw.c INTERNAL -# core/bm_input.c -INTERPOLATION - -# core/bm_input.c -IT IS NOT SAVED YET - -# core/bm_input.c -IT IS THE CURRENT PATTERN - -# core/bm_ui_draw.c -IT SAVES WHEN YOU STOP - WHITES = LISTEN - -# core/bm_input.c core/bm_pattern.c +# core/bm_pattern.c IV -# core/bm_input.c -K-HI - -# core/bm_input.c -K-LO - -# core/bm_ui_draw.c -K1 = DUCK (T1 SIDECHAIN) - -# core/bm_ui_draw.c -K1 = DUCK - SELECT LEFT = LEVEL, PAN, SENDS - -# core/bm_ui_draw.c -K1 START - K2 END - EDIT = SOUND, ENV, LOOP - -# core/bm_ui_draw.c -K3 PLAY: ONESHOT, KEY, THRU OR LOOP - -# core/bm_ui_draw.c -K4 = SONG ON/OFF - -# core/bm_params.c +# core/bm_panel.c core/bm_params.c KBD CTRL -# core/bm_input.c -KEEP HOLDING %s = YES - -# core/bm_input.c +# core/bm_slicer.c KEY -# core/bm_params.c +# core/bm_bx7.c core/bm_params.c KEY VEL -# core/bm_input.c -KEYS = TRANSPOSE PROJECT K2 = OCTAVE - -# core/bm_ui_draw.c -KEYS ARE SILENT IN THE RECORDER - -# core/bm_input.c -KEYS IN - -# core/bm_input.c -KEYS IN SCALE - -# core/bm_params.c +# core/bm_panel.c core/bm_params.c KEYTRK # core/bm_params.c @@ -1100,32 +674,26 @@ KICK2 # core/bm_params.c KICK3 -# core/bm_input.c core/bm_ui_draw.c -KILL HI - -# core/bm_input.c core/bm_ui_draw.c -KILL LO - -# core/bm_input.c core/bm_ui_draw.c -KIT - -# core/bm_ui_draw.c -KIT FROM THIS TAKE: BLACK 1 HITS, 2 = 16, 3 = 8 - # core/bm_input.c -KIT: %d PADS +KIT -# core/bm_params.c +# core/bm_panel.c core/bm_params.c KYBD # core/bm_params.c L CONTOUR -# core/bm_params.c +# core/bm_bx7.c +L CURVE + +# core/bm_bx7.c +L DEPTH + +# core/bm_panel.c core/bm_params.c LADDER -# core/bm_input.c -LANE LEN +# core/gen/bm_fm_rom.c +LAGOONEP # core/bm_ui_draw.c LANGUAGE @@ -1133,102 +701,81 @@ LANGUAGE # core/bm_app.c LANGUAGE PACK IS DAMAGED +# core/bm_mach.c +LATCH + # core/bm_ui_draw.c LATCHED # core/gen/bm_fm_rom.c LEAD -# core/bm_input.c -LED - -# core/bm_ui_draw.c -LEFT - -# core/bm_input.c core/bm_params.c +# core/bm_panel.c core/bm_params.c LEGATO -# core/bm_ui_draw.c -LEGATO: ONE VOICE, TIED - -# core/bm_ui_draw.c -LEGATO: TIED NOTES GLIDE - -# core/bm_input.c core/bm_params.c +# core/bm_input.c core/bm_mach.c core/bm_params.c core/bm_slicer.c LENGTH # core/bm_input.c -LENGTH AND SPEED +LENGTH/SPEED # core/bm_input.c LENGTHS %d-%d -# core/bm_input.c core/bm_params.c core/bm_ui_draw.c +# core/bm_b303.c core/bm_bx7.c core/bm_panel.c core/bm_params.c core/bm_slicer.c LEVEL -# core/bm_params.c -LEVEL 2 +# core/bm_bx7.c +LEVEL 1 -# core/bm_input.c core/bm_params.c -LFO +# core/bm_bx7.c core/bm_params.c +LEVEL 2 -# core/bm_params.c -LFO 1 +# core/bm_bx7.c +LEVEL 3 -# core/bm_ui_draw.c -LIMIT: MEMORY +# core/bm_bx7.c +LEVEL 4 -# core/bm_ui_draw.c -LIMIT: RECORDING RAM +# core/bm_bx7.c +LEVELS -# core/bm_input.c -LINEAR +# core/bm_b303.c core/bm_bx7.c core/bm_mach.c core/bm_panel.c core/bm_params.c +LFO -# core/bm_ui_draw.c -LINES = 1 BAR +# core/bm_params.c +LFO 1 -# core/bm_ui_draw.c -LIVE CHORDS +# core/bm_bx7.c +LFO SYNC -# core/bm_input.c +# core/bm_panel.c LO # core/bm_ui_draw.c LOAD IN %u.%u S -# core/bm_input.c -LOCK - -# core/bm_input.c -LONG NOTE: %d STEPS - -# core/bm_app.c core/bm_input.c core/bm_ui_draw.c +# core/bm_slicer.c LOOP -# core/bm_input.c -LOOP BARS - -# core/bm_input.c -LOOP ERASED - -# core/bm_input.c +# core/bm_slicer.c LOOP IN -# core/bm_input.c +# core/bm_slicer.c LOOP OUT -# core/bm_input.c core/bm_ui_draw.c +# core/bm_panel.c +LOUDNESS + +# core/bm_bx7.c core/bm_input.c core/bm_ui_draw.c LP -# core/bm_params.c +# core/bm_panel.c core/bm_params.c LP 12 -# core/bm_params.c +# core/bm_panel.c core/bm_params.c LP 24 -# core/bm_input.c core/bm_ui_draw.c -LPF - # core/bm_input.c LT @@ -1259,19 +806,13 @@ M4 AMT # core/bm_params.c M4 TO -# core/bm_input.c +# core/bm_input.c core/bm_mach.c MACHINE -# core/bm_ui_draw.c -MACHINES - -# core/bm_input.c -MACRO - # core/bm_params.c MACRO 1 -# core/bm_params.c +# core/bm_panel.c core/bm_params.c MACRO 1-2 # core/bm_params.c @@ -1280,35 +821,26 @@ MACRO 2 # core/bm_params.c MACRO 3 -# core/bm_params.c +# core/bm_panel.c core/bm_params.c MACRO 3-4 # core/bm_params.c MACRO 4 +# core/bm_bx7.c core/bm_params.c +MAIN + # core/bm_pattern.c MAJOR -# core/bm_params.c +# core/bm_panel.c core/bm_params.c MANUAL # core/gen/bm_fm_rom.c MARIMBA -# core/bm_input.c core/bm_ui_draw.c -MASTER - -# core/bm_ui_draw.c -MASTER > K2 PICKS IT - -# core/bm_input.c -MASTER FILTER - -# core/bm_input.c -MASTER LENGTH - # core/bm_ui_draw.c -MAX 3.0 S PER TAKE +MASTER FX # core/bm_ui_draw.c MEDIUM @@ -1319,37 +851,19 @@ METAL # core/bm_drums.cpp METAL HAT -# core/bm_input.c -MICRO +# core/bm_mach.c core/bm_slicer.c +MIDI CH -# core/bm_input.c -MICRO TIMING - -# core/bm_app.c -MIDI - -# core/bm_input.c -MIDI CHANNEL - -# core/bm_input.c +# core/bm_mach.c core/bm_slicer.c MIDI OUT -# core/bm_input.c -MIDI OUT OFF - -# core/bm_input.c -MIDI OUT ON: NOTES ALSO GO OUT - -# core/bm_input.c -MIDI PROGRAM - # core/bm_pattern.c MINOR -# core/bm_app.c core/bm_drums.cpp core/bm_input.c core/bm_ui_draw.c +# core/bm_bx7.c core/bm_drums.cpp MIX -# core/bm_params.c +# core/bm_params.c core/bm_ui_draw.c MIXER # core/bm_pattern.c @@ -1358,51 +872,21 @@ MIXO # core/bm_params.c MOD AMT -# core/bm_params.c -MOD LVL +# core/bm_panel.c +MOD MIX # core/bm_params.c MOD RATE -# core/bm_input.c core/bm_params.c +# core/bm_bx7.c core/bm_mach.c core/bm_panel.c core/bm_params.c core/bm_slicer.c MODE -# core/bm_params.c +# core/bm_input.c core/bm_panel.c core/bm_params.c MODEL -# core/bm_ui_draw.c -MODELED - -# core/bm_input.c core/bm_params.c +# core/bm_bx7.c core/bm_panel.c core/bm_params.c MONO -# core/bm_ui_draw.c -MONO: EVERY NOTE RETRIGGERS - -# core/bm_ui_draw.c -MONO: ONE VOICE, RETRIGGERS - -# core/bm_input.c -MOVE - -# core/bm_input.c -MOVE BRIGHT + WASH - -# core/bm_input.c -MOVE DARK + ECHO - -# core/bm_input.c -MOVE OFF - -# core/bm_ui_draw.c -MOVE BRIGHT - -# core/bm_ui_draw.c -MOVE DARK - -# core/bm_input.c -MST FILT - # core/bm_input.c MT @@ -1413,31 +897,25 @@ MTL MUTE # core/bm_input.c -MUTE INSTRUMENTS +MUTE SOUNDS # core/bm_input.c MUTED -# core/bm_params.c +# core/bm_panel.c core/bm_params.c NARROW # core/bm_pattern.c NEO SOUL -# core/bm_input.c -NEW KIT FROM TAKE %02d? - # core/bm_params.c NO # core/bm_app.c NO CHANGE: STOP AND SAVE -# core/bm_input.c core/bm_ui_draw.c -NO FILL - # core/bm_ui_draw.c -NO KIT +NO FILL # core/bm_input.c NO LANGUAGE PACK: LOAD ONE BY USB @@ -1445,70 +923,55 @@ NO LANGUAGE PACK: LOAD ONE BY USB # core/bm_app.c NO ROOM IN TAKES: DISCARDED +# core/bm_slicer.c +NO ROOM: DELETE A TAKE + # core/bm_app.c NO ROOM: DELETE A TAKE OR A SOUND -# core/bm_ui_draw.c -NO TABLE - # core/bm_input.c NO TAKE -# core/bm_ui_draw.c -NO TAKES YET - -# core/bm_drums.cpp core/bm_params.c +# core/bm_drums.cpp core/bm_panel.c core/bm_params.c NOISE # core/bm_app.c NONE -# core/bm_input.c core/bm_ui_draw.c +# core/bm_ui_draw.c NORMAL # core/bm_app.c NOT A USER SOUND -# core/bm_ui_draw.c -NOT SAVED YET - # core/bm_input.c -NOTES +NZ # core/bm_ui_draw.c -NOTES TO NOTES, HITS TO HITS: THE MACHINES DO NOT CHANGE - -# core/bm_app.c core/bm_input.c -NOTHING TO PASTE HERE - -# core/bm_app.c -NOTHING TO REDO - -# core/bm_app.c -NOTHING TO UNDO - -# core/bm_input.c -NOW +OCT 1-8 -# core/bm_input.c -NZ - -# core/bm_input.c -OCT+ +# core/bm_ui_draw.c +OCT 9-16 -# core/bm_input.c -OCT- +# core/bm_ui_draw.c +OCT- SOFT OCT+ HARD -# core/bm_input.c +# core/bm_mach.c OCTAVE # core/bm_input.c OCTAVE %+d -# core/bm_input.c -OCTAVES +# core/bm_mach.c +OCTAVE %d + +# core/bm_mach.c +OCTAVE +%d -# core/bm_app.c core/bm_input.c core/bm_params.c core/bm_ui_draw.c +# core/bm_mach.c +OCTAVE 0 TRANSPOSE 0 + +# core/bm_input.c core/bm_mach.c core/bm_panel.c core/bm_params.c core/bm_ui_draw.c OFF # core/bm_input.c @@ -1517,7 +980,7 @@ OH # core/bm_params.c OHAT -# core/bm_input.c core/bm_ui_draw.c +# core/bm_b303.c core/bm_bx7.c core/bm_input.c core/bm_mach.c core/bm_panel.c core/bm_slicer.c core/bm_ui_draw.c ON # core/bm_ui_draw.c @@ -1526,14 +989,11 @@ ON (TEST) # core/bm_ui_draw.c ON T%d -# core/bm_ui_draw.c -ONE AT A TIME - # core/bm_input.c -ONESHOT +ONE BAR ONLY -# core/bm_input.c -ONLY IN THE FILL +# core/bm_slicer.c +ONESHOT # core/bm_ui_draw.c ONLY WHEN STOPPED (CUTS AUDIO) @@ -1544,108 +1004,102 @@ ONLY WHEN STOPPED - SAVE 2 S: QUICK SAVE # core/bm_params.c OP HH -# core/bm_input.c core/bm_ui_draw.c +# core/bm_bx7.c +OP1 + +# core/bm_bx7.c +OP2 + +# core/bm_bx7.c +OP3 + +# core/bm_bx7.c +OP4 + +# core/bm_bx7.c +OP5 + +# core/bm_bx7.c +OP6 + +# core/bm_input.c OPEN -# core/bm_ui_draw.c -OR HOME + REC: SONG REC +# core/bm_mach.c +ORDER # core/gen/bm_fm_rom.c ORGAN -# core/bm_params.c +# core/bm_panel.c +OSC + +# core/bm_panel.c core/bm_params.c core/bm_ui_draw.c OSC 1 -# core/bm_params.c +# core/bm_panel.c core/bm_params.c OSC 1 + -# core/bm_input.c -OSC 1 TABLE - -# core/bm_params.c +# core/bm_panel.c core/bm_params.c core/bm_ui_draw.c OSC 2 -# core/bm_params.c +# core/bm_panel.c core/bm_params.c OSC 2 + -# core/bm_params.c +# core/bm_mach.c core/bm_panel.c core/bm_params.c OSC 3 -# core/bm_params.c +# core/bm_bx7.c +OSC SYNC + +# core/bm_bx7.c +OUT LVL + +# core/bm_bx7.c core/bm_panel.c core/bm_params.c OUTPUT # core/bm_input.c OUTSIDE THE LENGTH -# core/bm_ui_draw.c -OVERDUB +# core/bm_b303.c +OVERDRIVE -# core/bm_input.c -OWN +# core/gen/bm_fm_rom.c +OWLS EP -# core/bm_ui_draw.c -OWN TRACK SCALE +# core/bm_bx7.c +P SENS # core/bm_input.c +P%d LENGTH %d + +# core/bm_input.c core/bm_slicer.c PAD -# core/bm_input.c core/bm_ui_draw.c +# core/bm_input.c core/bm_slicer.c PAD %d -# core/bm_input.c -PAD %d COPIED - -# core/bm_input.c -PAD %d EMPTY - -# core/bm_app.c -PADS - -# core/bm_input.c -PADS 1-8 - -# core/bm_input.c -PADS 9-16 - -# core/bm_input.c +# core/bm_mach.c PAGE -# core/bm_input.c -PAGE %d/%d - -# core/bm_input.c core/bm_ui_draw.c -PAN - # core/bm_ui_draw.c -PASTE +PAGE %d/%d -# core/bm_input.c -PASTED ON PAD %d +# core/bm_b303.c +PANEL -# core/bm_input.c core/bm_params.c +# core/bm_params.c PATCH -# core/bm_input.c -PATTERN - -# core/bm_input.c -PATTERN (QUEUED) - # core/bm_app.c PATTERN A%02d # core/bm_input.c PATTERN CLEARED -# core/bm_input.c -PATTERN COPIED - # core/bm_app.c PATTERN FULL: NO ROOM -# core/bm_ui_draw.c -PAUSED: TAKE - # core/bm_pattern.c PENTA MA @@ -1655,64 +1109,61 @@ PENTA MI # core/bm_params.c PERC +# core/bm_bx7.c +PHASER + # core/bm_params.c PHILLY 95 # core/bm_pattern.c PHRYG -# core/bm_input.c -PIANO ROLL - -# core/bm_ui_draw.c -PICK A NOTE TRACK - # core/gen/bm_fm_rom.c PIPE ORG -# core/bm_input.c core/bm_params.c +# core/bm_bx7.c +PIT + +# core/bm_panel.c core/bm_params.c core/bm_slicer.c PITCH -# core/bm_input.c core/bm_ui_draw.c +# core/bm_bx7.c +PITCH LEVELS + +# core/bm_bx7.c +PITCH RATES + +# core/bm_bx7.c +PLACED + +# core/bm_ui_draw.c PLAY # core/bm_input.c -PLAY = LOOP: HELD REPEATS THE LOOP - -# core/bm_input.c core/bm_ui_draw.c PLAYS # core/gen/bm_fm_rom.c PLUCKED -# core/bm_params.c +# core/bm_bx7.c PMD -# core/bm_params.c +# core/bm_bx7.c core/bm_panel.c core/bm_params.c POLY -# core/bm_ui_draw.c -POLY: UP TO 4 VOICES - -# core/bm_ui_draw.c -POLYMETER - # core/gen/bm_fm_rom.c POP BASS -# core/bm_params.c +# core/bm_bx7.c core/bm_params.c PORTA -# core/bm_ui_draw.c -PORTA WITH TIE %+d ST - # core/bm_params.c POS 1 # core/bm_params.c POS 2 -# core/bm_params.c +# core/bm_panel.c core/bm_params.c POSITION # core/bm_input.c @@ -1721,160 +1172,106 @@ PRC # core/bm_ui_draw.c PRE -# core/bm_ui_draw.c -PRE = SOUND +# core/bm_b303.c core/bm_bx7.c core/bm_panel.c +PRESET # core/bm_ui_draw.c PRESETS -# core/bm_ui_draw.c -PRESETS = ANOTHER KIT - -# core/bm_input.c -PROB - -# core/bm_input.c -PROB/FILL - -# core/bm_input.c -PROG - # core/bm_pattern.c PROGRESSIONS -# core/bm_input.c -PROJECT - -# core/bm_input.c -PROJECT ROOT - -# core/bm_input.c core/bm_ui_draw.c -PROJECT SCALE - -# core/bm_input.c -PROJECT TRANSPOSE - -# core/bm_input.c -PST +# core/bm_panel.c core/bm_params.c +PULSE # core/bm_params.c -PULSE +PUMP # core/bm_drums.cpp PUNCH -# core/bm_input.c -PUNCH-IN - -# core/bm_params.c +# core/bm_panel.c core/bm_params.c PWM -# core/bm_params.c +# core/bm_panel.c core/bm_params.c PWM MODE -# core/bm_input.c core/bm_ui_draw.c -QUICK SAVE - -# core/bm_params.c -R1 ATK +# core/gen/bm_fm_rom.c +QUERY BS -# core/bm_params.c -R2-3 DEC +# core/gen/bm_fm_rom.c +QUERYBRS -# core/bm_params.c -R4 REL +# core/bm_input.c core/bm_ui_draw.c +QUICK SAVE -# core/bm_input.c -RAMP +# core/bm_bx7.c +R CURVE -# core/bm_input.c -RAND +# core/bm_bx7.c +R DEPTH -# core/bm_params.c core/bm_ui_draw.c +# core/bm_mach.c core/bm_panel.c core/bm_params.c RANDOM -# core/bm_params.c +# core/bm_panel.c core/bm_params.c RANGE -# core/bm_input.c core/bm_params.c +# core/bm_b303.c core/bm_bx7.c core/bm_mach.c core/bm_panel.c core/bm_params.c RATE -# core/bm_drums.cpp -RATIO - -# core/bm_input.c -RD - -# core/bm_ui_draw.c -READY - -# core/bm_input.c core/bm_ui_draw.c -REC +# core/bm_bx7.c +RATE 1 -# core/bm_ui_draw.c -REC 2 S: ERASE THE LOOP +# core/bm_bx7.c +RATE 2 -# core/bm_ui_draw.c -REC = ARM (K1: BAR OR NOW) +# core/bm_bx7.c +RATE 3 -# core/bm_ui_draw.c -REC = RECORD ONE +# core/bm_bx7.c +RATE 4 -# core/bm_ui_draw.c -REC = STOP - STOPS BY ITSELF AT THE LIMIT +# core/bm_bx7.c +RATE SCL -# core/bm_input.c -REC OFF +# core/bm_bx7.c +RATES -# core/bm_input.c -REC ON +# core/bm_bx7.c core/bm_drums.cpp +RATIO # core/bm_input.c -REC STEP +RD # core/bm_ui_draw.c -REC: RECORD > PLAY > OVERDUB - STARTS ON THE NEXT BAR - -# core/bm_app.c -RECORD +REC -# core/bm_ui_draw.c -RECORDED +# core/bm_mach.c +REC ARMED: PLAY A NOTE -# core/bm_input.c core/bm_ui_draw.c -RECORDING +# core/bm_input.c core/bm_mach.c +REC OFF # core/bm_input.c -RED - -# core/bm_app.c -REDONE ON T%d +REC ON # core/gen/bm_fm_rom.c REED HRP -# core/bm_input.c core/bm_params.c +# core/bm_bx7.c core/bm_panel.c core/bm_params.c core/bm_slicer.c RELEASE -# core/bm_ui_draw.c -RELEASE = ENTER %s - -# core/bm_ui_draw.c -RELEASE = NO - -# core/bm_ui_draw.c -RELEASE = STAY ON MIX - -# core/bm_input.c +# core/bm_input.c core/bm_mach.c REPEAT -# core/bm_ui_draw.c -REPEAT: RETRIGS - BREAK: REVERSE, HALF, SILENCE - -# core/bm_input.c core/bm_params.c +# core/bm_input.c core/bm_panel.c core/bm_params.c RES -# core/bm_params.c +# core/bm_bx7.c core/bm_mach.c core/bm_slicer.c +RESET + +# core/bm_b303.c core/bm_bx7.c core/bm_panel.c core/bm_params.c core/bm_ui_draw.c RESO # core/bm_drums.cpp core/bm_params.c @@ -1883,38 +1280,23 @@ RESON # core/bm_drums.cpp RESONATOR -# core/bm_input.c +# core/bm_slicer.c REV -# core/bm_input.c -REV 4 - -# core/bm_input.c -REV 8 - # core/bm_input.c REV MIX -# core/bm_ui_draw.c -REV4 - -# core/bm_ui_draw.c -REV8 - -# core/bm_input.c core/bm_ui_draw.c -REVERB - -# core/bm_input.c -REVERB DAMP +# core/bm_b303.c core/bm_slicer.c +REV ON # core/bm_input.c -REVERB MIX +REV SIZE -# core/bm_input.c -REVERB SEND +# core/bm_b303.c core/bm_bx7.c core/bm_input.c core/bm_panel.c core/bm_slicer.c +REVERB -# core/bm_input.c -REVERB SIZE +# core/bm_slicer.c +REVERSE # core/bm_params.c RIDE @@ -1926,27 +1308,36 @@ RIM ROBOT FUNK # core/bm_input.c -ROLL +ROOT # core/bm_input.c -ROLL RATE +ROW # core/bm_input.c -ROLL SWING +RPT # core/bm_input.c -ROLL TAIL +RS -# core/bm_input.c -ROOT +# core/bm_slicer.c +SAMPLE -# core/bm_input.c -ROW +# core/bm_slicer.c +SAMPLE ARMED -# core/bm_input.c -RS +# core/bm_slicer.c +SAMPLE ARMED: PRESS PLAY -# core/bm_input.c core/bm_ui_draw.c +# core/bm_slicer.c +SAMPLE STOPPED + +# core/bm_slicer.c +SAMPLE: NEXT BAR + +# core/bm_slicer.c +SAMPLING %u.%u S + +# core/bm_ui_draw.c SAVE # core/bm_input.c @@ -1955,9 +1346,6 @@ SAVE AGAIN = CLEAR # core/bm_ui_draw.c SAVE AS -# core/bm_ui_draw.c -SAVE SONG AND SCENES - # core/bm_ui_draw.c SAVED @@ -1967,38 +1355,44 @@ SAVED A%02d # core/bm_input.c SAVED AS A%02d +# core/bm_input.c +SAVES WHEN STOPPED + # core/bm_app.c SAVING THE TAKE -# core/bm_engines.c core/bm_input.c core/bm_params.c +# core/bm_b303.c core/bm_engines.c core/bm_panel.c core/bm_params.c core/bm_ui_draw.c SAW -# core/bm_input.c -SC REL +# core/bm_bx7.c +SAW DN -# core/bm_app.c core/bm_input.c core/bm_ui_draw.c +# core/bm_params.c +SAW DOWN + +# core/bm_bx7.c core/bm_params.c +SAW UP + +# core/bm_input.c SCALE -# core/bm_ui_draw.c -SCALE (FROM THE PROJECT) +# core/bm_bx7.c +SCALING # core/bm_input.c SCENE %c # core/bm_input.c -SCENE %c CLEARED +SCENE %c A%02d STORED # core/bm_input.c -SCENE %c STORED +SCENE %c DELETED # core/bm_input.c SCENE %c: NEXT BAR -# core/bm_input.c -SCL - -# core/bm_ui_draw.c -SCL AGAIN: CHORDS - HOME + SCL: PROJECT +# core/bm_mach.c +SCROLL # core/bm_input.c SD @@ -2022,19 +1416,19 @@ SEL SELECT # core/bm_ui_draw.c -SELECT = TRACK ALGORITHM = MACHINE (2 S) +SELECT MACHINE -# core/bm_ui_draw.c -SELECT HIT - ALGORITHM PROB - PRESETS LENGTH +# core/bm_bx7.c +SELECT MOVES IT -# core/bm_ui_draw.c -SELECT PICKS, SAVE RUNS - HOLD SAVE = COPY PATTERN +# core/bm_bx7.c +SEND -# core/bm_app.c core/bm_input.c core/bm_ui_draw.c -SEQ +# core/bm_bx7.c +SEND: ALWAYS AFTER THE FX -# core/bm_input.c -SET +# core/bm_b303.c core/bm_bx7.c core/bm_panel.c core/bm_params.c +SEQ # core/bm_input.c SH @@ -2045,32 +1439,29 @@ SHAK # core/bm_params.c SHAKE -# core/bm_params.c +# core/bm_panel.c core/bm_params.c SHAPE -# core/bm_params.c +# core/bm_panel.c core/bm_params.c SHARK -# core/bm_input.c -SIDECHAIN RELEASE - -# core/bm_params.c +# core/bm_bx7.c core/bm_panel.c core/bm_params.c SINE -# core/bm_input.c -SIZE - -# core/bm_params.c -SLIDE +# core/gen/bm_fm_rom.c +SKETCHBS # core/bm_ui_draw.c -SLOOP T%d %s +SLD -# core/bm_input.c -SLOOP: T%d %s +# core/bm_b303.c core/bm_params.c core/bm_ui_draw.c +SLIDE -# core/bm_input.c -SNAP +# core/bm_bx7.c +SLOT + +# core/bm_slicer.c +SMP # core/bm_drums.cpp SNAPPY @@ -2078,154 +1469,76 @@ SNAPPY # core/bm_params.c SNARE -# core/bm_input.c core/bm_ui_draw.c -SONG - -# core/bm_input.c -SONG AND SCENES SAVED - -# core/bm_input.c -SONG FULL - -# core/bm_input.c core/bm_ui_draw.c -SONG OFF - -# core/bm_input.c core/bm_ui_draw.c -SONG ON - # core/bm_ui_draw.c -SONG REC +SOFT # core/bm_input.c -SONG REC OFF +SOLO OFF -# core/bm_input.c -SONG REC ON - -# core/bm_app.c core/bm_input.c core/bm_ui_draw.c +# core/bm_input.c core/bm_slicer.c SOUND # core/bm_app.c SOUND DELETED +# core/bm_mach.c core/bm_slicer.c +SOUND RESET + # core/bm_app.c SOUND SAVED: %s -# core/bm_input.c core/bm_ui_draw.c -SOURCE +# core/bm_input.c +SOUNDS 1-8 -# core/bm_ui_draw.c -SOURCE: MIX +# core/bm_input.c +SOUNDS 9-16 # core/bm_drums.cpp core/bm_params.c SPACE -# core/bm_input.c core/bm_params.c +# core/bm_bx7.c core/bm_input.c core/bm_mach.c SPEED # core/bm_ui_draw.c SPLIT L/R -# core/bm_engines.c core/bm_input.c core/bm_params.c -SQUARE - -# core/bm_input.c core/bm_ui_draw.c -SR +# core/bm_ui_draw.c +SQR -# core/bm_input.c -ST +# core/bm_b303.c core/bm_bx7.c core/bm_engines.c core/bm_panel.c core/bm_params.c +SQUARE -# core/bm_input.c +# core/bm_slicer.c START -# core/bm_input.c -START ON THE HIT - -# core/bm_input.c -STARTS ON THE BAR - -# core/bm_ui_draw.c -STARTS ON THE BAR - REC AGAIN = CANCEL - -# core/bm_input.c -STARTS WHEN YOU PRESS REC - -# core/bm_input.c +# core/bm_b303.c core/bm_bx7.c core/bm_panel.c STEP -# core/bm_ui_draw.c -STEP %02d +# core/bm_b303.c +STEP %d: NO NOTE # core/bm_input.c -STEP %02d %s +STEP REC -# core/bm_input.c -STEP %02d CONDITION - -# core/bm_input.c -STEP %02d HIT - -# core/bm_input.c -STEP %02d REPEAT - -# core/bm_input.c -STEP HAS NO NOTES: WRITE THEM IN SEQ +# core/bm_ui_draw.c +STEP REC %d/%d -# core/bm_input.c +# core/bm_b303.c core/bm_panel.c core/bm_params.c STEPS -# core/bm_ui_draw.c -STEPS %d-%d - # core/bm_ui_draw.c STEREO -# core/bm_input.c -STOP TO COPY - -# core/bm_app.c core/bm_input.c +# core/bm_app.c STOP TO SAVE -# core/bm_input.c -STORE SCENE %c +# core/bm_slicer.c +STOP: THE LAST SAMPLE IS SAVED FIRST # core/gen/bm_fm_rom.c STRINGS -# core/bm_input.c -STRUM - -# core/bm_input.c -STRUM (MS) - -# core/bm_input.c -STU - -# core/bm_input.c -STUT 16 - -# core/bm_input.c -STUT 32 - -# core/bm_input.c -STUT 4 - -# core/bm_input.c -STUT 8 - -# core/bm_ui_draw.c -STUT16 - -# core/bm_ui_draw.c -STUT32 - -# core/bm_ui_draw.c -STUT4 - -# core/bm_ui_draw.c -STUT8 - -# core/bm_input.c core/bm_params.c +# core/bm_input.c core/bm_panel.c core/bm_params.c SUB # core/gen/bm_fm_rom.c @@ -2234,24 +1547,12 @@ SUB BASS # core/gen/bm_fm_rom.c SUPER FM -# core/bm_input.c -SUS2 - -# core/bm_input.c -SUS4 - -# core/bm_params.c +# core/bm_bx7.c core/bm_panel.c core/bm_params.c SUSTAIN # core/bm_input.c SWING -# core/bm_input.c -SWING 50=STRAIGHT - -# core/bm_input.c -SYNC - # core/bm_ui_draw.c SYNC LATENCY @@ -2276,80 +1577,23 @@ SYNTH SNARE # core/bm_ui_draw.c SYSTEM -# core/bm_input.c -T%d BEAT FX - -# core/bm_input.c -T%d COPIED TO T%d - -# core/bm_input.c -T%d DELAY - -# core/bm_input.c -T%d DRIVE - -# core/bm_app.c -T%d ERASED (HOME+OCT- UNDOES) +# core/bm_input.c core/bm_mach.c +T%d CLEARED # core/bm_input.c T%d FILTER -# core/bm_input.c -T%d LENGTH %d - -# core/bm_input.c -T%d LEVEL - -# core/bm_input.c -T%d PAN - -# core/bm_input.c -T%d REVERB - -# core/bm_input.c -T%d SPEED - # core/bm_input.c T%d SPEED %s -# core/bm_input.c -T%d TRANSPOSE - -# core/bm_input.c -T%d: %d BAR - -# core/bm_input.c -T%d: %d BARS - -# core/bm_input.c -T%d: NEXT BAR - -# core/bm_input.c -T1 AND T2 ARE FIXED MACHINES - -# core/bm_ui_draw.c -T1 IS THE SIDECHAIN SOURCE - -# core/bm_input.c core/bm_ui_draw.c -T1 IS THE SOURCE - -# core/bm_input.c core/bm_params.c +# core/bm_panel.c core/bm_params.c TABLE -# core/bm_input.c -TAIL - -# core/bm_input.c core/bm_ui_draw.c +# core/bm_input.c core/bm_slicer.c TAKE -# core/bm_input.c -TAKE %02d > PAD %d - -# core/bm_input.c -TAKE %02d DELETED - # core/bm_app.c -TAKE %02d SAVED: TAKES > KIT +TAKE %02d ON PAD %d # core/bm_app.c TAKE %02d%s @@ -2357,87 +1601,27 @@ TAKE %02d%s # core/bm_app.c TAKE %02d: KIT READY -# core/bm_input.c -TAKE BPM - -# core/bm_input.c -TAKE DISCARDED - -# core/bm_input.c -TAKE KEPT (NOT SAVED) - -# core/bm_app.c core/bm_ui_draw.c -TAKES - -# core/bm_ui_draw.c -TAKES (HOLD EDIT): BLACK 1 = KIT FROM A TAKE - -# core/bm_input.c -TAKES FULL: DELETE ONE - # core/bm_ui_draw.c TAKES+SOUNDS -# core/bm_ui_draw.c -TAKES: FREE %u.%u OF 6 S - -# core/bm_input.c -TAP - -# core/bm_input.c -TAP TEMPO - -# core/bm_input.c core/bm_ui_draw.c -TAPE - # core/bm_input.c TARGET -# core/bm_input.c core/bm_ui_draw.c -TEMPO - # core/bm_input.c -TEMPO (FINE) +TEMPO # core/bm_ui_draw.c -TESTING: SAFE MODE TURNS IT OFF AFTER A CRASH +TEMPO AND SCALE # core/bm_app.c THAT IS NOT A BUBBA SOUND -# core/bm_ui_draw.c -THE GRID, VARIED EVERY BAR - # core/bm_input.c -THE PADS ARE REPLACED +THIS MACHINE IS FIXED -# core/bm_input.c -THE SAMPLER IS NOT COPIED - -# core/bm_input.c -THE SAMPLER STAYS HERE - -# core/bm_input.c -THE SOUND SETTINGS ARE LOST - -# core/bm_input.c core/bm_ui_draw.c -THROW - -# core/bm_input.c +# core/bm_slicer.c THRU -# core/bm_input.c -TICKS - -# core/bm_input.c core/bm_ui_draw.c -TIE - -# core/bm_ui_draw.c -TIME - -# core/bm_input.c -TIMES - # core/gen/bm_fm_rom.c TINEKEYS @@ -2453,49 +1637,40 @@ TOM L # core/bm_params.c TOM M -# core/bm_input.c core/bm_params.c +# core/gen/bm_fm_rom.c +TOMCATBS + +# core/bm_b303.c core/bm_bx7.c core/bm_panel.c core/bm_params.c core/bm_slicer.c TONE # core/bm_input.c TRACK -# core/bm_app.c core/bm_input.c -TRACK COPIED - -# core/bm_app.c -TRACK PASTED - -# core/bm_input.c -TRACK SCALE - -# core/bm_input.c core/bm_params.c +# core/bm_bx7.c core/bm_input.c core/bm_params.c TRANSP -# core/bm_input.c +# core/bm_bx7.c TRANSPOSE -# core/bm_input.c -TRANSPOSE %+d - -# core/bm_params.c +# core/bm_bx7.c core/bm_panel.c core/bm_params.c TRI -# core/bm_input.c -TRIAD +# core/bm_params.c +TRIANGLE -# core/bm_ui_draw.c +# core/bm_slicer.c TRIM # core/gen/bm_fm_rom.c TUBECHIM -# core/bm_input.c core/bm_params.c +# core/bm_panel.c core/bm_params.c TUNE -# core/bm_params.c +# core/bm_b303.c core/bm_params.c core/bm_ui_draw.c TUNING -# core/bm_input.c +# core/bm_mach.c core/bm_slicer.c TURN # core/bm_ui_draw.c @@ -2507,13 +1682,10 @@ TWO CORES OFF # core/bm_input.c TWO CORES ON (TEST) -# core/bm_input.c -UND +# core/bm_bx7.c +TYPE -# core/bm_app.c -UNDONE ON T%d - -# core/bm_params.c +# core/bm_panel.c core/bm_params.c UNISON # core/bm_snap.c @@ -2522,37 +1694,22 @@ UNLICENSE # core/bm_ui_draw.c UNSAVED -# core/bm_input.c core/bm_ui_draw.c +# core/bm_mach.c UP -# core/bm_input.c -UP-DN - -# core/bm_ui_draw.c -UP-DOWN - # core/bm_params.c UPRIGHT # core/bm_input.c VALUE -# core/bm_input.c -VARY - -# core/bm_ui_draw.c -VARY: OTHER PADS - ANCHOR: THE BEATS STAY - -# core/bm_params.c +# core/bm_panel.c core/bm_params.c VCA -# core/bm_ui_draw.c -VCA: ENV +# core/bm_panel.c +VCF -# core/bm_ui_draw.c -VCA: GATE - -# core/bm_params.c +# core/bm_panel.c core/bm_params.c VCF MOD # core/bm_params.c @@ -2564,111 +1721,63 @@ VEL FILT # core/bm_params.c VEL LVL -# core/bm_params.c +# core/bm_bx7.c +VEL SENS + +# core/bm_panel.c core/bm_params.c VELO # core/bm_ui_draw.c VERSION -# core/bm_input.c core/bm_pattern.c +# core/bm_pattern.c VI -# core/bm_input.c -VIEW - -# core/bm_input.c -VIEW: NOTES - -# core/bm_input.c -VIEW: PIANO ROLL (THE WHOLE LOOP) - -# core/bm_input.c core/bm_pattern.c +# core/bm_pattern.c VII -# core/bm_params.c +# core/bm_bx7.c core/bm_panel.c core/bm_params.c VOICE -# core/bm_input.c -VOICING - -# core/bm_ui_draw.c -W1-10 = ADD A PATTERN - -# core/bm_input.c -W1-10 PATTERN W11-16 GO TO MACHINE +# core/bm_mach.c +VOICE RESET -# core/bm_ui_draw.c -W11-16 = GO THERE ON RELEASE - ALG = BPM .1 - -# core/bm_ui_draw.c -W11-16 = TRACK +# core/bm_b303.c core/bm_input.c core/bm_params.c core/bm_ui_draw.c +VOLUME -# core/bm_input.c core/bm_params.c +# core/bm_b303.c core/bm_bx7.c core/bm_panel.c core/bm_params.c WAVE # core/bm_wave.cpp WAVE voice does not fit the shared pool (bm_vpool.h) -# core/bm_input.c -WHITE %d - -# core/bm_input.c -WHITE = CYCLE ACCENT AND GHOST - -# core/bm_input.c -WHITE = CYCLE X1-X4 AND FLAM - -# core/bm_input.c -WHITE = ERASE INSTRUMENT B6 = UNDO - -# core/bm_input.c -WHITE = ERASE STEP BLACK 6 = UNDO - -# core/bm_input.c -WHITE = MAKE NOTE FILL-ONLY - -# core/bm_input.c -WHITE = PASTE BLACK+WHITE = ONE TRACK - # core/bm_ui_draw.c -WHITE = PLAY AND PICK A PAD - PRESETS = ITS TAKE - -# core/bm_input.c -WHITE = PLAY CHORD BLACK 1-4 = EXTEND - -# core/bm_input.c -WHITE = PLAY EFFECT BLACK 1-6 = MUTE +WAVEFORM # core/bm_input.c -WHITE = SET LENGTH BLACK 11 = +16 - -# core/bm_input.c -WHITE = TIE TO NEXT NOTE K1 = GLIDE +WHITE = CYCLE X1-X4 AND FLAM # core/bm_input.c -WHITE = TOGGLE ACCENT +WHITE = MUTE OR PLAY THAT SOUND # core/bm_input.c -WHITE = TOGGLE MUTE BLACK 1-8 = PLAY +WHITE = PICK AND HEAR K1-K4 = THE HIT # core/bm_input.c -WHOLE +WHITE = TOGGLE ACCENT K1 = AMOUNT -# core/bm_params.c +# core/bm_panel.c core/bm_params.c WIDE # core/bm_params.c WINDSOR 93 -# core/bm_input.c core/bm_params.c +# core/bm_params.c YES -# core/bm_ui_draw.c -YOU - # core/bm_input.c core/bm_params.c ZAP -# core/bm_input.c +# core/bm_slicer.c ZOOM diff --git a/tests/test_control.py b/tests/test_control.py index 104ec79..9baf7cb 100644 --- a/tests/test_control.py +++ b/tests/test_control.py @@ -223,8 +223,8 @@ def check(c, what): p.esperar('location.pathname.endsWith("control.html")', 5000) check(p.js('location.pathname.endsWith("control.html") && location.hash === "#sounds" && location.search.includes("mock=1")'), 'sonidos.html lleva a control.html#sounds con la consulta') - p.esperar('document.getElementById("estado").innerText.includes("0.9.0-beta")', 8000, 'conectado') - check('FM-1 · Bubba Machine 0.9.0-beta' in txt('#estado'), 'conecta y lee la versión') + p.esperar('document.getElementById("estado").innerText.includes("0.10.0-beta")', 8000, 'conectado') + check('FM-1 · Bubba Machine 0.10.0-beta' in txt('#estado'), 'conecta y lee la versión') p.esperar('document.getElementById("slots").innerText.includes("1.49")', 5000) check('1.49 s' in txt('#slots') and 'TAKE 03' in txt('#slots') and txt('#slots').count('Libre') == 5, 'TAKES: 3 tomas y 5 lugares libres') m = txt('#machines') @@ -238,7 +238,7 @@ def check(c, what): check('Se prendió normalmente' in d and 'TWO CORES' not in d and 'batería 3.95 V' in d, 'DEVICE: arranque, tensión y sin TWO CORES') p.js('document.getElementById("dlog").click()') p.esperar('!document.getElementById("logtxt").hidden', 3000) - check('Bubba Machine 0.9.0-beta' in txt('#logtxt'), 'DEVICE: el registro') + check('Bubba Machine 0.10.0-beta' in txt('#logtxt'), 'DEVICE: el registro') p.js('document.getElementById("device").open = false') shot('es-1280-conectado.png', 1280) @@ -292,13 +292,13 @@ def check(c, what): p.js('document.getElementById("plist").open = true') shot('es-1280-pendientes.png', 1280) p.ir(base + 'control.html?lang=es&mock=1', 390, movil=True) - p.esperar('document.getElementById("estado").innerText.includes("0.9.0")', 8000) + p.esperar('document.getElementById("estado").innerText.includes("0.10.0")', 8000) check(p.js('document.documentElement.scrollWidth <= 390'), 'ES 390 px: sin barra horizontal') shot('es-390-conectado.png', 390, True) # de vuelta en escritorio: armar todo y mandar, primero sonando p.ir(base + 'control.html?lang=en&mock=1', 1280) - p.esperar('document.getElementById("estado").innerText.includes("0.9.0")', 8000) + p.esperar('document.getElementById("estado").innerText.includes("0.10.0")', 8000) p.archivo('#ftake', wav) p.esperar('!document.getElementById("tok").disabled', 10000) p.js('document.getElementById("tok").click()') @@ -345,7 +345,7 @@ def check(c, what): p.js('document.getElementById("discard").click()') check('No pending' in txt('#pcount'), 'descartar vacía la lista') p.ir(base + 'control.html?lang=en&mock=1', 390, movil=True) - p.esperar('document.getElementById("estado").innerText.includes("0.9.0")', 8000) + p.esperar('document.getElementById("estado").innerText.includes("0.10.0")', 8000) shot('en-390-conectado.png', 390, True) errores = [e for e in p.errores if e and 'beforeunload' not in e] # Chrome avisa que no mostró el aviso de cambios sin mandar check(not errores, 'sin errores en la consola: %s' % (errores or 'ninguno')) diff --git a/tests/test_core.c b/tests/test_core.c index f78ab19..c5f6b03 100644 --- a/tests/test_core.c +++ b/tests/test_core.c @@ -9,10 +9,11 @@ #include #include #include "../hal/bm_hal_sim.h" -#include "../core/bm_app_int.h" +#include "../core/bm_mach.h" #include "../core/bm_util.h" #include "../core/bm_rom.h" #include "../core/bm_drums.h" +#include "../core/bm_wave.h" #include "../core/bm_snap.h" #include "../core/bm_printf.h" #include "../core/bm_wt.h" @@ -115,17 +116,96 @@ static void shot(const char *name) fclose(f); } -static void boot(int erase) +/* El patrón de pruebas (la demo de primer arranque hasta 2026-10-24): acid techno a 160 BPM en La + * menor. BR-8 con el kit 909 (y un shaker de 12 contra 16), una línea de BB-303 con acentos y slides, + * el Slicer cortando la primera toma (si hay), acordes de B-MINI, un pluck de BITTAL y un pad de BUNO-6 + * de cuatro compases. Las pruebas lo cargan en cada arranque desde cero; los patrones de fábrica de + * verdad se prueban en test_factory_and_persist. */ +static void fx_ev(bm_pattern *p, int t, int s, int k, int note, int vel, int len, int prob) +{ + bm_event *e = bm_ev(p, t, s, k); + bm_event_clear(e); + e->note = (uint8_t)note; e->vel = (uint8_t)vel; e->len = (uint8_t)len; e->prob = (uint8_t)prob; +} + +static void fx_tr(bm_tr *d, int lane, const char *pat) +{ + for (int s = 0; pat[s] && s < BM_STEPS; s++) + if (pat[s] == 'x' || pat[s] == 'X') d->st[lane][s] = (uint8_t)(ST_ON | (pat[s] == 'X' ? ST_ACC : 0)); +} + +static void test_pattern(void) +{ + bm_pattern *p = &app.pat; + bm_song *song = &app.song; + bm_pattern_init(p); + p->meta.bpm_x10 = 1600; p->meta.swing = 50; p->meta.root = 9; p->meta.scale = 1; + p->meta.master = 4; p->meta.fill_every = 4; p->meta.chord_set = 0; p->meta.strum = 0; + p->meta.dly_time = 2; p->meta.dly_fb = 45; p->meta.dly_mix = 40; + bm_tr *d = &p->tr[0]; + bm_kit_apply(d, 1); + p->trk[0].source = 1; + fx_tr(d, 0, "x...x...x...x..."); + d->st[0][14] = ST_ON | (1 << ST_COND_SH); + fx_tr(d, 2, ".x.x.x.x.x.x.x.x"); + fx_tr(d, 3, "..x...x...x....."); + d->st[2][14] = ST_ON | ST_ACC | (1 << ST_RAT_SH); + fx_tr(d, 5, "....x.......x..."); + fx_tr(d, 6, "...x.......x..x."); + d->lane[6].level = 70; + fx_tr(d, 12, "xxxxxxxxxxxx"); + d->lane[12].len = 12; d->lane[12].level = 45; + d->st[15][15] = ST_ON | (1 << ST_COND_SH); + d->lane[1].level = 0; + p->trk[1].level = 70; + for (int i = 0; i < BM_TAKES; i++) if (app.take[i].valid) { app_kit_from_take(&app, i, 0); break; } + bm_track_set_engine(p, 2, ENG_ACID); + bm_track *t3 = &p->trk[2]; + t3->macro[0] = 28; t3->macro[1] = 108; t3->macro[2] = 105; t3->macro[3] = 58; t3->glide = 45; t3->accent = 115; + t3->length = 16; t3->send = 25; + static const struct { int8_t s, n; uint8_t acc, slide; } L[] = { + {0, 45, 1, 0}, {1, 45, 0, 0}, {2, 57, 1, 1}, {3, 45, 0, 0}, {4, 48, 0, 0}, {5, 45, 0, 1}, {6, 52, 1, 0}, + {8, 45, 0, 0}, {9, 57, 1, 0}, {10, 55, 0, 1}, {11, 52, 0, 0}, {12, 45, 1, 0}, {13, 48, 0, 1}, {14, 50, 0, 0}, {15, 45, 0, 0}}; + for (unsigned i = 0; i < sizeof L / sizeof L[0]; i++) + fx_ev(p, 2, L[i].s, 0, L[i].n, L[i].acc ? BM_VEL_ACC : BM_VEL_NORMAL, 1 | (L[i].slide ? BM_LEN_TIE : 0), 100); + bm_track_set_engine(p, 3, ENG_MINI); + p->trk[3].source = 0; p->trk[3].length = 32; p->trk[3].send = 45; p->trk[3].rsend = 30; + for (int k = 0; k < 3; k++) { static const int C[3] = {57, 60, 64}; fx_ev(p, 3, 10, k, C[k], 90, 1, 100); fx_ev(p, 3, 26, k, C[k] - 2 + (k == 1), 80, 1, 100); } + p->trk[4].source = 13; bm_preset_apply(p, 4, 13); + p->trk[4].length = 32; p->trk[4].send = 35; p->trk[4].rsend = 60; + { static const int8_t S[6] = {2, 6, 14, 18, 22, 30}, N[6] = {69, 72, 76, 74, 72, 76}; + for (int i = 0; i < 6; i++) fx_ev(p, 4, S[i], 0, N[i], 85, 1, i % 3 == 2 ? 60 : 100); } + p->trk[5].source = 2; bm_preset_apply(p, 5, 2); + p->trk[5].length = 64; p->trk[5].send = 0; p->trk[5].rsend = 70; + for (int k = 0; k < 3; k++) { static const int C[3] = {57, 60, 64}; fx_ev(p, 5, 0, k, C[k], 75, 64, 100); } + p->trk[0].level = 84; p->trk[2].level = 66; p->trk[3].level = 32; p->trk[4].level = 36; p->trk[5].level = 26; + p->meta.rv_mix = 70; + memset(song->scene, 0, sizeof song->scene); + for (int s = 0; s < BM_SCENES; s++) song->scene[0][s].flags = SCN_STORED; + song->scene[0][0].trk_mute = 0x00; + song->scene[0][1].trk_mute = 0x38; + song->scene[0][2].trk_mute = 0x01; + song->scene[0][3].trk_mute = 0x3A; + bm_engines_sync(&app.ctx); + bm_seq_set_bpm(&app.ctx, p->meta.bpm_x10); +} + +/* erase: la flash desde cero; acid: el patrón de pruebas en vez de los de fábrica */ +static void boot_with(int erase, int acid) { if (erase) { bm_sim_flash_erase_all(&sim); sim.flash_writes = 0; } bm_platform pf; bm_sim_platform(&sim, &pf); now_ms = 1000; next_tick = now_ms; acc = 0; bm_app_init(&app, &pf, now_ms); + if (acid) test_pattern(); + sim.flash_writes = 0; /* lo que escribió el arranque (los de fábrica) no cuenta */ for (int i = 0; i < 4; i++) bm_app_master(&app, 900); run_ms(UI_BOOT_MS + 100); } +static void boot(int erase) { boot_with(erase, erase); } + /* Arranque con una toma de prueba: un compás a 161 BPM hecho aquí (bombo en 1 y 3, caja en 2 y 4, * hats en corcheas), como si se hubiera grabado. Mide como la toma de prueba: un compás a 161 BPM. */ static void boot_loop(void) @@ -148,35 +228,40 @@ static void boot_loop(void) bm_take tk[BM_TAKES]; memset(tk, 0, sizeof tk); bm_takes_write(pf.flash, pf.flash_map, pf.user, tk, d, sizeof d, 1610, 1); - boot(0); + boot_with(0, 1); } -/* HOME, SELECT hasta el canal (el cursor del mezclador) y SEQ para entrar (docs/DISENO_0.6.md §5.3). */ -static void ch(int t) +static void put_fm_on_t4(void); + +/* HOME (la consola, sin PLAY/REC) */ +static void to_home(void) { - for (int i = 0; i < 6 && app.view != V_HOME; i++) btn(BTN_HOME, 30); - for (int i = 0; i < 8 && app.track != t; i++) enc(ENC_SELECT, t > app.track ? 1 : -1); - btn(BTN_SEQ, 30); + for (int i = 0; i < 6 && !(app.view == V_HOME && !app.sloop); i++) btn(BTN_HOME, 30); } -static void page(int btn_id, int pg) +/* HOME y SELECT hasta que el cursor del mezclador esté en el canal t */ +static void ch(int t) { - for (int i = 0; i < 4 && !(app.view == V_CH && app.page == pg); i++) btn(btn_id, 30); + to_home(); + for (int i = 0; i < BM_TRACKS && app.track != t; i++) enc(ENC_SELECT, 1); } -/* HOME sostenido + un botón */ -static void home_with(int id) +/* el secuenciador de la batería (SEQ en HOME con el cursor en T1) */ +static void seq0(void) { - down(BTN_HOME); run_ms(40); btn(id, 30); up(BTN_HOME); run_ms(60); + ch(0); + btn(BTN_SEQ, 30); } -/* una tecla sostenida ms milisegundos (las preguntas: 2 s = sí) */ -static void hold_key(int k, uint32_t ms) { kdown(k); run_ms(ms); kup(k); run_ms(40); } +/* PLAY/REC del canal t: la blanca de su canal con el cursor ya en él */ +static void play_rec(int t) +{ + ch(t); + white(BM_CH_W0 + app_pos(t), 40); +} /* las luces y los nombres de las teclas ahora */ static bm_keyfn keys_now[BM_KEYS]; -static const bm_keyfn *keys(void) { bm_app_keys(&app, keys_now); return keys_now; } - /* ------------------------------------------------------------ formato, flash y tomas */ static void test_pack(void) { @@ -192,7 +277,7 @@ static void test_pack(void) CHECK(bm_tr_lock_set(&p.tr[0], 9, 9, 2, 33)); CHECK(bm_tr_lock_get(&p.tr[0], 9, 9, 2) == 33); CHECK(p.tr[0].st[9][9] & ST_LOCK); - CHECK(p.trk[0].engine == ENG_DRUM && p.trk[1].engine == ENG_BREAK && p.trk[2].engine == ENG_ACID && p.trk[3].engine == ENG_FM + CHECK(p.trk[0].engine == ENG_DRUM && p.trk[1].engine == ENG_BREAK && p.trk[2].engine == ENG_ACID && p.trk[3].engine == ENG_MINI && p.trk[4].engine == ENG_BITTAL && p.trk[5].engine == ENG_BUNO); bm_track_set_engine(&p, 0, ENG_FM); /* T1 y T2 son fijos */ bm_track_set_engine(&p, 1, ENG_MINI); @@ -346,37 +431,38 @@ static void gcb(void *u, int id, bm_gkind k) { glog *g = (glog *)u; if (g->n < 6 static void test_gesture(void) { - printf("gestos: toque, mantener, 2 s y combo\n"); + printf("gestos: toque, mantener (capas de SEQ, EDIT, ENV, LFO), 2 s (HOME, SAVE) y combo\n"); bm_gesture g; glog L = {{0}, 0}; bm_gesture_init(&g, gcb, &L); bm_gesture_down(&g, BTN_SCL, 0); bm_gesture_poll(&g, 100); bm_gesture_up(&g, BTN_SCL, 150); CHECK(L.n == 1 && L.log[0] == BTN_SCL * 10 + G_TAP); L.n = 0; - bm_gesture_down(&g, BTN_SEQ, 1000); bm_gesture_poll(&g, 1200); CHECK(L.n == 0); - bm_gesture_poll(&g, 1300); CHECK(L.n == 1 && L.log[0] == BTN_SEQ * 10 + G_HOLD); /* HOLD al cumplirse */ - bm_gesture_poll(&g, 2600); CHECK(L.n == 1); - int id = -1; - CHECK(bm_gesture_progress(&g, 2650, &id) > 100 && id == BTN_SEQ); /* anillo hacia los 2 s */ - bm_gesture_poll(&g, 3001); CHECK(L.n == 2 && L.log[1] == BTN_SEQ * 10 + G_LONG); /* 2 s: pantalla especial */ - bm_gesture_up(&g, BTN_SEQ, 3100); CHECK(L.n == 2); + bm_gesture_down(&g, BTN_GLO, 500); bm_gesture_poll(&g, 1500); bm_gesture_up(&g, BTN_GLO, 1600); + CHECK(L.n == 1 && L.log[0] == BTN_GLO * 10 + G_TAP); /* sin capa: toque aunque dure */ + L.n = 0; + bm_gesture_down(&g, BTN_ENV, 1000); bm_gesture_poll(&g, 1200); CHECK(L.n == 0); + bm_gesture_poll(&g, 1300); CHECK(L.n == 1 && L.log[0] == BTN_ENV * 10 + G_HOLD); /* HOLD al cumplirse */ + bm_gesture_poll(&g, 3100); CHECK(L.n == 1); /* SEQ ya no tiene los 2 s */ + bm_gesture_up(&g, BTN_ENV, 3200); CHECK(L.n == 2 && L.log[1] == BTN_ENV * 10 + G_RELEASE); L.n = 0; - bm_gesture_down(&g, BTN_HOME, 4000); bm_gesture_poll(&g, 4400); - bm_gesture_other(&g, 4500); - bm_gesture_poll(&g, 7000); - CHECK(L.n == 1 && L.log[0] == BTN_HOME * 10 + G_HOLD); /* el combo cancela los 2 s */ - bm_gesture_up(&g, BTN_HOME, 7100); CHECK(L.n == 2 && L.log[1] == BTN_HOME * 10 + G_RELEASE); + bm_gesture_down(&g, BTN_HOME, 4000); bm_gesture_poll(&g, 4400); CHECK(L.n == 0); /* HOME ya no tiene capa */ + int id = -1; + CHECK(bm_gesture_progress(&g, 5000, &id) > 100 && id == BTN_HOME); /* anillo hacia los 2 s */ + bm_gesture_poll(&g, 6001); CHECK(L.n == 1 && L.log[0] == BTN_HOME * 10 + G_LONG); + bm_gesture_up(&g, BTN_HOME, 6100); CHECK(L.n == 1); L.n = 0; - bm_gesture_down(&g, BTN_GLO, 8000); bm_gesture_other(&g, 8050); - CHECK(L.n == 1 && L.log[0] == BTN_GLO * 10 + G_HOLD); /* GLO ahora tiene capa */ - bm_gesture_up(&g, BTN_GLO, 8100); + bm_gesture_down(&g, BTN_HOME, 7000); bm_gesture_other(&g, 7100); + bm_gesture_poll(&g, 9500); + CHECK(L.n == 0); /* el combo cancela los 2 s */ + bm_gesture_up(&g, BTN_HOME, 9600); CHECK(L.n == 0); L.n = 0; bm_gesture_down(&g, BTN_PLAY, 9000); CHECK(L.n == 1 && L.log[0] == BTN_PLAY * 10 + G_PRESS); bm_gesture_up(&g, BTN_PLAY, 9010); L.n = 0; - bm_gesture_down(&g, BTN_SAVE, 10000); bm_gesture_poll(&g, 10400); CHECK(L.n == 1 && L.log[0] == BTN_SAVE * 10 + G_HOLD); - bm_gesture_poll(&g, 12001); CHECK(L.n == 2 && L.log[1] == BTN_SAVE * 10 + G_LONG); - bm_gesture_up(&g, BTN_SAVE, 12100); CHECK(L.n == 2); + bm_gesture_down(&g, BTN_SAVE, 10000); bm_gesture_poll(&g, 10400); CHECK(L.n == 0); + bm_gesture_poll(&g, 12001); CHECK(L.n == 1 && L.log[0] == BTN_SAVE * 10 + G_LONG); + bm_gesture_up(&g, BTN_SAVE, 12100); CHECK(L.n == 1); L.n = 0; bm_gesture_down(&g, BTN_REC, 13000); bm_gesture_up(&g, BTN_REC, 13100); CHECK(L.n == 1 && L.log[0] == BTN_REC * 10 + G_TAP); /* REC: toque (al soltar) */ @@ -412,7 +498,7 @@ static void test_timing(void) static void test_tr_features(void) { - printf("batería TR: repetición, fill y roll\n"); + printf("batería TR: repetición y fill\n"); boot(1); btn(BTN_PLAY, 20); int hits = 0, prev = 0; @@ -425,16 +511,6 @@ static void test_tr_features(void) CHECK(hits >= 2); CHECK(app.pat.meta.fill_every == 4); btn(BTN_PLAY, 20); - ch(0); - down(BTN_ARP); run_ms(400); - CHECK(app.layer == L_ROLL); - kdown(bm_white_key(4)); - int n = 0; - for (int i = 0; i < 40; i++) { run_ms(20); if (app.lane_flash[0][4] > now_ms) n++; } - kup(bm_white_key(4)); - up(BTN_ARP); run_ms(100); - CHECK(n > 5); - CHECK(app.ctx.roll[0].mask == 0 && app.layer == L_NONE); } /* Golpes del instrumento lane de T(t+1) mientras corre el audio ms milisegundos (sin la UI, que @@ -454,185 +530,6 @@ static int roll_hits(int t, int lane, uint32_t ms, uint32_t *at, uint8_t *vel, i return n; } -static void test_roll(void) -{ - printf("ROLL: ARP en T1/T2 (un toque la deja abierta), velocidades, swing, CRESC, cola y REC\n"); - boot(1); - ch(0); - btn(BTN_ARP, 30); /* un toque: abierta */ - CHECK(app.layer == L_ROLL && app.layer_latch && app.view == V_CH && app.track == 0); - CHECK(sim.leds[BTN_ARP] == LED_BREATH && sim.leds[BTN_HOME] == LED_MID); - bm_keyfn K[BM_KEYS]; - bm_app_keys(&app, K); - for (int w = 0; w < 16; w++) { /* con pasos MID, vacío DIM (igual hace roll) */ - const bm_tr *tr = &app.pat.tr[0]; - int len = tr->lane[w].len ? tr->lane[w].len : 16, has = 0; - for (int s = 0; s < len; s++) if (tr->st[w][s] & ST_ON) has = 1; - CHECK(K[bm_white_key(w)].led == (has ? LED_MID : LED_DIM)); - } - CHECK(K[bm_black_key(1)].led == LED_ON && K[bm_black_key(0)].led == LED_DIM && K[bm_black_key(5)].led == LED_DIM); - CHECK(K[bm_black_key(6)].led == LED_DIM && K[bm_black_key(7)].led == LED_DIM && K[bm_black_key(10)].led == LED_DIM); - const char *s1, *s2, *s3; - bm_app_bigknobs(&app, &s1, &s2, &s3); - CHECK(!strcmp(s1, "-") && !strcmp(s2, "-") && !strcmp(s3, "-")); - bm_legend L[4]; - bm_app_legend(&app, L); - CHECK(!strcmp(L[0].name, "RATE") && !strcmp(L[0].val, "1/16") && !strcmp(L[2].name, "SWING") && !strcmp(L[3].name, "TAIL")); - { - char title[24]; uint16_t col; const char *h1, *h2; - bm_app_keymap(&app, K, title, sizeof title, &col, &h1, &h2); - CHECK(!strcmp(title, "ROLL") && !strncmp(h2, "EXIT:", 5) && strlen(h1) <= 38 && strlen(h2) <= 38); - } - btn(BTN_ARP, 30); /* ARP otra vez: cerrada */ - CHECK(app.layer == L_NONE && !app.layer_latch); - btn(BTN_ARP, 30); - CHECK(app.layer == L_ROLL); - btn(BTN_HOME, 30); /* HOME: cerrada, sigues en el canal */ - CHECK(app.layer == L_NONE && !app.layer_latch && app.view == V_CH); - btn(BTN_LFO, 30); /* REPEAT (LFO en BR-8) abierta: ARP la cambia por ROLL */ - CHECK(app.layer == L_REP && app.layer_latch); - btn(BTN_ARP, 30); - CHECK(app.layer == L_ROLL && app.layer_latch); - btn(BTN_HOME, 30); - CHECK(app.layer == L_NONE); - down(BTN_ARP); run_ms(400); /* sostener: solo mientras lo sostienes */ - CHECK(app.layer == L_ROLL && !app.layer_latch); - up(BTN_ARP); run_ms(60); - CHECK(app.layer == L_NONE); - btn(BTN_ARP, 30); /* abierta y luego sostener ARP: se cierra al soltar */ - down(BTN_ARP); run_ms(400); - CHECK(app.layer == L_ROLL && !app.layer_latch); - up(BTN_ARP); run_ms(60); - CHECK(app.layer == L_NONE); - - double fpt = BM_FS * 60.0 / (app.pat.meta.bpm_x10 / 10.0 * BM_PPQN); /* muestras por tick */ - uint32_t at[64]; uint8_t vel[64]; - btn(BTN_ARP, 30); - black(4, 40); /* 1/16T: cada 16 ticks */ - CHECK(app.roll_rate == 4); - kdown(bm_white_key(5)); - int n = roll_hits(0, 5, 700, at, vel, 64); - CHECK(n >= 8); - int ok = 1; - for (int i = 1; i < n && i < 64; i++) if (fabs((double)(at[i] - at[i - 1]) - 16 * fpt) > 40) ok = 0; - CHECK(ok); - black(5, 40); /* 1/32T, con la tecla sostenida */ - CHECK(app.roll_rate == 5); - n = roll_hits(0, 5, 300, at, vel, 64); - ok = n >= 8; - for (int i = 1; i < n && i < 64; i++) if (fabs((double)(at[i] - at[i - 1]) - 8 * fpt) > 40) ok = 0; - CHECK(ok); - kup(bm_white_key(5)); - CHECK(roll_hits(0, 5, 300, at, vel, 64) == 0); /* sin cola: soltar lo corta */ - - black(1, 40); /* 1/16 con swing 75 %: 36 + 12 ticks */ - enc(ENC_K3, 25); - CHECK(app.roll_swing == 75 && app.ctx.roll_cfg.swing == 75); - kdown(bm_white_key(5)); - n = roll_hits(0, 5, 800, at, vel, 64); - kup(bm_white_key(5)); - ok = n >= 5; - for (int i = 2; i < n && i < 64; i++) { - double a1 = (double)(at[i - 1] - at[i - 2]), a2 = (double)(at[i] - at[i - 1]); - if (fabs(a1 + a2 - 48 * fpt) > 60 || fabs(fabs(a1 - a2) - 24 * fpt) > 60) ok = 0; - } - CHECK(ok); - enc(ENC_K3, -25); - CHECK(app.roll_swing == 50); - roll_hits(0, 5, 100, at, vel, 64); - - black(6, 40); /* CRESC en 1/4: la velocidad sube hasta 127 */ - enc(ENC_K2, -2); - CHECK(app.roll_ramp == 1 && app.roll_len == 0 && app.ctx.roll_cfg.ramp == 1 && app.ctx.roll_cfg.ramp_len == BM_PPQN); - bm_app_keys(&app, K); - CHECK(K[bm_black_key(6)].led == LED_ON && K[bm_black_key(7)].led == LED_DIM); - bm_app_legend(&app, L); - CHECK(!strcmp(L[1].name, "CRESC") && !strcmp(L[1].val, "1/4")); - kdown(bm_white_key(5)); - n = roll_hits(0, 5, 900, at, vel, 64); - ok = n >= 6 && vel[0] < 70 && vel[n - 1] == 127; - for (int i = 1; i < n && i < 64; i++) if (vel[i] < vel[i - 1]) ok = 0; - CHECK(ok); - run_ms(UI_OVERLAY_MS + 100); /* sin el aviso de la perilla */ - shot("22b-roll-latched"); - kup(bm_white_key(5)); - black(7, 40); /* DECRESC: baja */ - CHECK(app.roll_ramp == 2); - kdown(bm_white_key(5)); - n = roll_hits(0, 5, 900, at, vel, 64); - kup(bm_white_key(5)); - CHECK(n >= 6 && vel[0] > vel[n - 1] && vel[n - 1] == 24); - black(7, 40); - CHECK(app.roll_ramp == 0 && app.ctx.roll_cfg.ramp == 0); - - enc(ENC_K4, 3); /* cola de 1/4: 4 golpes de 1/16 más */ - CHECK(app.roll_tail == 3 && app.ctx.roll_cfg.tail == BM_PPQN); - kdown(bm_white_key(5)); - roll_hits(0, 5, 500, at, vel, 64); - kup(bm_white_key(5)); - n = roll_hits(0, 5, 400, at, vel, 64); - CHECK(n >= 3 && n <= 5); - CHECK(roll_hits(0, 5, 300, at, vel, 64) == 0 && app.ctx.roll[0].tail_m == 0); - enc(ENC_K4, -3); - - kdown(bm_black_key(10)); /* negra 11: el fill mientras la sostienes */ - run_ms(60); - CHECK(app.fill && app.ctx.fill); - bm_app_keys(&app, K); - CHECK(K[bm_black_key(10)].led == LED_ON); - kup(bm_black_key(10)); - run_ms(60); - CHECK(!app.fill && !app.ctx.fill && app.layer == L_ROLL); - - /* REC: el roll se graba como pasos con repetición, y CRESC como acentos */ - int lane = -1; - for (int w = 0; w < 16 && lane < 0; w++) { - int any = 0; - for (int s = 0; s < BM_STEPS; s++) if (app.pat.tr[0].st[w][s]) any = 1; - if (!any) lane = w; - } - CHECK(lane >= 0); - if (lane < 0) lane = 15; - btn(BTN_PLAY, 20); - btn(BTN_REC, 30); /* REC no cierra ROLL */ - CHECK(app.rec && app.layer == L_ROLL && app.layer_latch); - black(2, 40); /* 1/32 = x2 por paso */ - black(6, 40); /* CRESC */ - kdown(bm_white_key(lane)); - run_ms(1100); - kup(bm_white_key(lane)); - run_ms(60); - btn(BTN_REC, 30); - btn(BTN_PLAY, 20); - int on = 0, rat = 0, acc = 0, flat = 0; - for (int s = 0; s < 16; s++) { - uint8_t b = app.pat.tr[0].st[lane][s]; - if (!(b & ST_ON)) continue; - on++; - if (((b & ST_RAT_MASK) >> ST_RAT_SH) == 1) rat++; - if (b & ST_ACC) acc++; else flat++; - } - CHECK(on >= 6 && rat >= 6 && acc >= 1 && flat >= 1); - black(6, 40); - btn(BTN_ARP, 30); - CHECK(app.layer == L_NONE && app.roll_mask == 0); - - /* T2 (pads): lo mismo; REC en ROLL graba lo que tocas, no abre la grabadora */ - ch(1); - btn(BTN_ARP, 30); - CHECK(app.track == 1 && app.layer == L_ROLL && app.layer_latch); - btn(BTN_REC, 30); - CHECK(app.rec && app.page != PG_REC && app.layer == L_ROLL && !app.ctx.st.smp_armed); - btn(BTN_REC, 30); - CHECK(!app.rec); - kdown(bm_white_key(3)); - run_ms(100); - CHECK(app.ctx.roll[1].mask == (1u << 3)); - kup(bm_white_key(3)); - btn(BTN_HOME, 30); - CHECK(app.layer == L_NONE && app.ctx.roll[1].mask == 0); -} - static void test_voices(void) { printf("voces: pool de 7 con robo y fade\n"); @@ -648,986 +545,149 @@ static void test_voices(void) run_ms(500); } -/* ------------------------------------------------------------ navegación 3.0 */ -static void test_navigation(void) +static void test_free_rec(void) { - printf("navegación 0.9: HOME = la consola (MIX y FX), SELECT cursor, ALGORITHM BPM, PRESETS el sonido, GLO de la máquina\n"); + printf("PLAY/REC en un canal vacío: graba sobre su largo (no lo alarga, como SLOOP); al final da la vuelta\n"); boot(1); - CHECK(app.view == V_HOME && app.track == 0); - shot("00-home"); - int bpm = app.pat.meta.bpm_x10; - enc(ENC_ALGO, 1); enc(ENC_ALGO, 1); /* HOME: ALGORITHM = BPM */ - CHECK(app.pat.meta.bpm_x10 == bpm + 20 && app.view == V_HOME && app.ov.beat && app.ov.color == C_TEMPO); - shot("05b-home-tempo"); - enc(ENC_ALGO, -2); - enc(ENC_SELECT, 1); enc(ENC_SELECT, 1); /* SELECT: el cursor del mezclador */ - CHECK(app.track == 2 && app.view == V_HOME && !app.card); - int lv = app.pat.trk[2].level; - enc(ENC_K1, -2); /* K1 = el volumen del canal del cursor */ - CHECK(app.pat.trk[2].level == lv - 2); - enc(ENC_K2, -2); /* K2 = el filtro DJ del canal: el centro retiene 2 detents */ - CHECK(app.pat.trk[2].djf == 0); - run_ms(1000); - enc(ENC_K2, -4); /* a la izquierda pasa-bajos */ - CHECK(app.pat.trk[2].djf == 2); - enc(ENC_K2, 2); /* volviendo, se para en el centro */ - CHECK(app.pat.trk[2].djf == 0); - enc(ENC_K2, 3); /* a la derecha pasa-altos */ - CHECK(app.pat.trk[2].djf == 64 + 1); - enc(ENC_K2, -1); /* al centro: abierto */ - CHECK(app.pat.trk[2].djf == 0); - int sd = app.pat.trk[2].send, rv2 = app.pat.trk[2].rsend; - enc(ENC_K3, 2); enc(ENC_K4, 2); /* K3 = delay, K4 = reverb */ - CHECK(app.pat.trk[2].send == sd + 2 && app.pat.trk[2].rsend == rv2 + 2); - int src = app.pat.trk[2].source; /* PRESETS = el sonido del canal del cursor (0.9) */ - enc(ENC_PRESETS, 1); run_ms(30); - CHECK(app.pat.trk[2].source == (src + 1) % BM_AC_PRESETS && app.view == V_HOME && app.move == 0); - { - const char *s, *al, *pr; - bm_app_bigknobs(&app, &s, &al, &pr); - CHECK(!strcmp(s, "TRACK") && !strcmp(al, "BPM") && !strcmp(pr, "SOUND")); - } - enc(ENC_PRESETS, -1); run_ms(30); - CHECK(app.pat.trk[2].source == src); - run_ms(UI_OVERLAY_MS + 100); - shot("01-home-mixer"); - enc(ENC_K3, -2); enc(ENC_K4, -2); - btn(BTN_SEQ, 30); /* SEQ entra al canal del cursor */ - CHECK(app.view == V_CH && app.track == 2 && app.page == PG_SEQ); - shot("06-seq-bass"); - btn(BTN_EDIT, 30); - CHECK(app.page == PG_SOUND); - /* HOME + blanca 14 (T4): a esa máquina al soltar HOME (0.9: en lugar de HOME + SELECT) */ - down(BTN_HOME); run_ms(60); - white(13, 40); - CHECK(app.layer == L_HOME && app.home_go == 4 && app.view == V_CH); - CHECK(keys()[bm_white_key(13)].led == LED_BLINK); - shot("62-home-go"); - up(BTN_HOME); run_ms(60); - CHECK(!app.home_go && app.track == 3 && app.view == V_CH && app.layer == L_NONE); - btn(BTN_EDIT, 30); - CHECK(app.page == PG_SOUND); - app.ed_page[3] = 0; /* BX-7: ALGORITHM, con el dibujo */ - shot("12-fm"); - enc(ENC_SELECT, 1); /* SELECT: las páginas de la máquina y luego las pestañas */ - CHECK(app.page == PG_SOUND && app.ed_page[3] == 1); - enc(ENC_SELECT, -1); enc(ENC_SELECT, -1); /* antes de la primera: SEQ (ya no hay MACHINE) */ - CHECK(app.page == PG_SEQ); - /* GLO dentro de la máquina: su GLO (MORE adentro, sin pestaña); GLO otra vez = de vuelta */ - btn(BTN_GLO, 30); - CHECK(app.view == V_CH && app.page == PG_MORE && sim.leds[BTN_GLO] == LED_ON); - shot("45-machine-glo"); - btn(BTN_GLO, 30); - CHECK(app.view == V_CH && app.page == PG_SEQ); - { - uint8_t tabs[8]; - int n = bm_app_tabs(&app, 3, tabs), more = 0; - for (int i = 0; i < n; i++) more |= tabs[i] == PG_MORE; - CHECK(!more && n == 5); - } - btn(BTN_FX, 30); - CHECK(app.page == PG_MIX && !app.mix_page); - lv = app.pat.trk[3].level; - enc(ENC_K1, -2); run_ms(300); enc(ENC_K1, -2); /* despacio: sin aceleración */ - CHECK(app.pat.trk[3].level == lv - 4); - int rv = app.pat.trk[3].rsend; - enc(ENC_K4, 1); enc(ENC_K4, 1); enc(ENC_K4, 1); /* K4 = el envío a la reverb */ - CHECK(app.pat.trk[3].rsend == rv + 3); - shot("14-mix"); - btn(BTN_FX, 30); /* FX otra vez: DUCK */ - CHECK(app.page == PG_MIX && app.mix_page); - int dk = app.pat.trk[3].duck; - enc(ENC_K1, 2); - CHECK(app.pat.trk[3].duck == dk + 2); - run_ms(UI_OVERLAY_MS + 100); - shot("14b-mix-duck"); - btn(BTN_HOME, 30); - CHECK(app.view == V_HOME); - btn(BTN_HOME, 30); /* HOME otra vez: sigue en MIX (0.9) */ - CHECK(app.view == V_HOME); - /* FX en HOME: el FX de la consola; otra vez, la página siguiente: CHANNEL > DELAY > REVERB > MASTER */ - btn(BTN_FX, 30); CHECK(app.view == V_FXG && app.fx_page == FXP_CHANNEL); - btn(BTN_FX, 30); btn(BTN_FX, 30); btn(BTN_FX, 30); CHECK(app.view == V_FXG && app.fx_page == FXP_MASTER); - enc(ENC_K1, -20); /* MASTER: K1 = el filtro del master */ - CHECK(app.pat.meta.mfilt < 60); - enc(ENC_K2, 1); /* K2 = BEAT FX */ - CHECK(app.pat.meta.beatfx == 1); - shot("39-home-fx-master"); - enc(ENC_K1, 20); enc(ENC_K2, -1); - enc(ENC_PRESETS, -4); /* en el FX, PRESETS = MOVE; el centro retiene 2 */ - run_ms(30); - CHECK(app.move == -2 && app.ctx.move == -2 && app.view == V_FXG); - enc(ENC_PRESETS, 2); - run_ms(30); - CHECK(app.move == 0 && app.ctx.move == 0); - btn(BTN_HOME, 30); CHECK(app.view == V_HOME); - /* HOME + FX: el FX de la consola; otra vez, la página siguiente */ - home_with(BTN_FX); - CHECK(app.view == V_FXG && app.fx_page == FXP_CHANNEL); - home_with(BTN_FX); home_with(BTN_FX); - CHECK(app.view == V_FXG && app.fx_page == FXP_REVERB); - int rs = app.pat.meta.rv_size; - enc(ENC_K1, 2); - CHECK(app.pat.meta.rv_size == rs + 2); - shot("50-fx-reverb"); - /* GLO de la consola (HOME + GLO desde una máquina): TEMPO > MACHINES > SCALE > SONG */ - ch(3); - home_with(BTN_GLO); - CHECK(app.view == V_GLO && app.glo_page == GP_TEMPO); - int sw = app.pat.meta.swing; - enc(ENC_SELECT, 1); enc(ENC_ALGO, 1); /* SWING +1 */ - CHECK(app.pat.meta.swing == sw + 1); - run_ms(UI_OVERLAY_MS + 100); - shot("24-glo-tempo"); - btn(BTN_GLO, 30); CHECK(app.glo_page == GP_MACH); - btn(BTN_GLO, 30); CHECK(app.glo_page == GP_SCALE); - btn(BTN_GLO, 30); CHECK(app.glo_page == GP_SONG); - btn(BTN_GLO, 30); CHECK(app.glo_page == GP_TEMPO); + app_push(&app, CMD_TRACK_CLEAR, 5, 0, 0); /* vaciar T6 */ + app_set_track(&app, 5, TRK_OFF(length), 32); + run_ms(60); + play_rec(5); + CHECK(app.sloop && app.track == 5 && !app.rec && app.view == V_HOME); + btn(BTN_PLAY, 20); run_ms(200); + btn(BTN_REC, 30); + CHECK(app.rec && app.pat.trk[5].length == 32); + uint32_t bar = 60000u * 4u / 160u; /* ms por compás a 160 BPM */ + key(bm_white_key(4), 600); /* nota larga */ + run_ms(bar / 2); + key(bm_white_key(7), 150); + run_ms(bar + bar / 4); + shot("51-seq-free-rec"); + btn(BTN_REC, 30); + run_ms(100); + CHECK(!app.rec && app.pat.trk[5].length == 32 && app.sloop); + for (int s = 32; s < BM_STEPS; s++) for (int k = 0; k < BM_EVENTS; k++) CHECK(bm_event_empty(bm_evc(&app.pat, 5, s, k))); + int n = 0, longest = 0; + for (int s = 0; s < BM_STEPS; s++) + for (int k = 0; k < BM_EVENTS; k++) { + const bm_event *e = bm_evc(&app.pat, 5, s, k); + if (bm_event_empty(e)) continue; + n++; + if ((int)(e->len & BM_LEN_MASK) > longest) longest = (int)(e->len & BM_LEN_MASK); + } + CHECK(n >= 2 && longest >= 4); /* la nota larga dura lo que se sostuvo */ + btn(BTN_PLAY, 20); btn(BTN_HOME, 30); - CHECK(app.view == V_HOME); + CHECK(app.view == V_HOME && !app.sloop && !app.rec); } -static void test_home(void) +/* Hace sonar un canal solo y devuelve el pico (0..1). */ +static double solo_peak(int t, const uint8_t *notes, int n, int vel, uint32_t ms) { - printf("HOME sostenido en todas partes: la consola (patrones, canales, mutes, solo, cadenas) y HOME + botón\n"); - boot(1); - ch(2); - btn(BTN_PLAY, 20); + for (int i = 0; i < BM_TRACKS; i++) app.pat.trk[i].mute = (uint8_t)(i != t); + bm_cmd c; memset(&c, 0, sizeof c); run_ms(300); - down(BTN_HOME); run_ms(400); - CHECK(app.layer == L_HOME && app.view == V_CH); - shot("20-layer-home"); - white(4, 40); /* patrón 5 en cola */ - CHECK(app.ctx.st.queued == 4); - black(0, 40); /* toque = mute T1 */ - CHECK(app.pat.trk[0].mute == 1); - kdown(bm_black_key(3)); run_ms(500); /* mantener negra 4 = solo T4 */ - CHECK(app.pat.trk[3].mute == 0 && app.pat.trk[2].mute == 1 && app.pat.trk[5].mute == 1); - CHECK(keys()[bm_black_key(3)].led == LED_ON); - kup(bm_black_key(3)); run_ms(80); - CHECK(app.pat.trk[0].mute == 1 && app.pat.trk[2].mute == 0 && app.pat.trk[3].mute == 0); /* vuelve */ - black(0, 40); - CHECK(app.pat.trk[0].mute == 0); - kdown(bm_white_key(1)); run_ms(40); white(2, 40); kup(bm_white_key(1)); run_ms(40); /* dos blancas: cadena */ - CHECK(app.ctx.st.pchain_n == 2); - white(12, 40); /* blanca 13 = T3, no un patrón */ - CHECK(app.ctx.st.pchain_n == 2 && app.home_go == 3); - up(BTN_HOME); run_ms(60); - CHECK(app.layer == L_NONE && app.view == V_CH && app.track == 2); /* HOME + T3: la misma máquina */ - btn(BTN_PLAY, 20); - /* HOME + botón */ - home_with(BTN_SEQ); - CHECK(app.view == V_GLO && app.glo_page == GP_SONG); - ch(0); - page(BTN_SEQ, PG_SEQ); - white(0, 40); /* quita el bombo del paso 1 */ - CHECK(!(app.pat.tr[0].st[0][0] & ST_ON)); - home_with(BTN_OCT_DN); - CHECK(app.pat.tr[0].st[0][0] & ST_ON); /* HOME + OCT- deshace */ - home_with(BTN_FX); - CHECK(app.view == V_FXG); - shot("50-fx-global"); - home_with(BTN_SCL); - CHECK(app.view == V_GLO && app.glo_page == GP_SCALE); - home_with(BTN_GLO); /* ya en GLO: la página siguiente */ - CHECK(app.view == V_GLO && app.glo_page == GP_SONG); - home_with(BTN_PLAY); - CHECK(app.ctx.st.playing); /* HOME + PLAY: desde el paso 1 */ - btn(BTN_PLAY, 20); - /* HOME + EDIT: copiar un canal (T4 BX-7 a T5: las notas y la máquina con su sonido); EDIT 2 s pega */ - ch(3); - home_with(BTN_EDIT); - CHECK(app.view == V_COPYCH && app.copy_src == 3); - for (int i = 0; i < 12 && app.copy_dst != 4; i++) enc(ENC_ALGO, 1); - CHECK(sim.leds[BTN_EDIT] == LED_BLINK && sim.leds[BTN_HOME] == LED_ON && sim.leds[BTN_OCT_UP] == LED_OFF); - shot("49-copy-channel"); - btn(BTN_EDIT, 2200); run_ms(100); - CHECK(app.pat.trk[4].engine == ENG_FM && app.view == V_CH && app.track == 4); - CHECK(memcmp(app.pat.prm[4], app.pat.prm[3], BM_PRM) == 0 && app.pat.trk[4].source == app.pat.trk[3].source); - CHECK(!bm_event_empty(bm_evc(&app.pat, 4, 10, 0)) && bm_evc(&app.pat, 4, 10, 0)->note == 57); + peak_abs = 0; + for (int i = 0; i < n; i++) { + c.type = CMD_NOTE_ON; c.a = (uint8_t)t; c.b = notes[i]; c.c = (uint8_t)vel; bm_cmd_push(&app.cmdq, &c); + run_ms(ms); + c.type = CMD_NOTE_OFF; bm_cmd_push(&app.cmdq, &c); + run_ms(60); + } + return peak_abs; } -/* Negras 10 y 11 en la batería: un toque deja abierta la pantalla de MUTE o de FILL; mantener = solo - * mientras la sostienes. En INSTR, ALGORITHM elige instrumento con el recuadro. */ -static int t2_steps(void) +/* BX-7 a mano en T4 (con BITTAL y BUNO-6 de fábrica serían tres pesadas: el selector no lo deja) */ +static void put_fm_on_t4(void) { - int n = 0; - for (int l = 0; l < BM_LANES; l++) for (int s = 0; s < BM_STEPS; s++) if (app.pat.tr[1].st[l][s] & ST_ON) n++; - return n; + app.pat.trk[3].engine = ENG_FM; + app.pat.trk[3].source = 0; + bm_preset_apply(&app.pat, 3, 0); + bm_engines_sync(&app.ctx); + run_ms(40); } -static void test_button_lights(void) +static void test_fm(void) { - printf("luces de los botones: SAVE pendiente, capas, página, REC sostenido en la grabadora\n"); - boot(1); - run_ms(UI_AUTOSAVE_MS + 1500); /* el demo ya está guardado */ - ch(0); - page(BTN_SEQ, PG_SEQ); - CHECK(sim.leds[BTN_SEQ] == LED_ON && sim.leds[BTN_SAVE] == LED_DIM && sim.leds[BTN_ENV] == LED_DIM); - white(15, 40); /* una edición */ - CHECK(sim.leds[BTN_SAVE] == LED_DIM); /* dentro de la máquina: sin avisos globales */ - btn(BTN_HOME, 30); - CHECK(app.view == V_HOME && sim.leds[BTN_SAVE] == LED_BREATH); /* en la consola: algo sin guardar */ - CHECK(sim.leds[BTN_HOME] == LED_ON && sim.leds[BTN_SEQ] == LED_MID && sim.leds[BTN_EDIT] == LED_MID); - btn(BTN_FX, 30); /* FX en HOME: el FX de la consola */ - CHECK(app.view == V_FXG && sim.leds[BTN_HOME] == LED_ON && sim.leds[BTN_FX] == LED_MID); - CHECK(sim.leds[BTN_OCT_DN] == LED_OFF && sim.leds[BTN_OCT_UP] == LED_OFF); /* el cursor en T1 (batería): sin octava */ - ch(0); - CHECK(sim.leds[BTN_OCT_DN] == LED_OFF && sim.leds[BTN_OCT_UP] == LED_OFF); /* batería: OCT apagados */ - /* SISTEMA > LED: solo los botones en reposo */ - app.set.led_dim = 2; run_ms(60); - CHECK(sim.leds[BTN_ENV] == LED_MID && sim.leds[BTN_SEQ] == LED_ON); - app.set.led_dim = 0; run_ms(60); - CHECK(sim.leds[BTN_ENV] == LED_OFF && sim.leds[BTN_SEQ] == LED_ON); - app.set.led_dim = 1; run_ms(60); - /* MUTE de instrumentos (negra 11 sostenida) no tiene botón: no respira OCT- ni SEQ */ - kdown(bm_black_key(10)); run_ms(400); - CHECK(app.layer == L_LANEMUTE && !app.layer_latch); - CHECK(sim.leds[BTN_OCT_DN] == LED_OFF && sim.leds[BTN_SEQ] == LED_OFF && sim.leds[BTN_HOME] == LED_OFF); - kup(bm_black_key(10)); run_ms(60); - CHECK(app.layer == L_NONE); - /* FILL en un canal de notas (negra 11): HOME la cierra; OCT cambia la octava */ - ch(2); - page(BTN_SEQ, PG_SEQ); - CHECK(sim.leds[BTN_OCT_DN] == LED_DIM && sim.leds[BTN_OCT_UP] == LED_DIM); - black(10, 40); - CHECK(app.layer == L_FILL && sim.leds[BTN_SEQ] == LED_OFF && sim.leds[BTN_HOME] == LED_MID); - btn(BTN_HOME, 30); - CHECK(app.layer == L_NONE && app.view == V_CH); - ch(0); - /* ENV en la batería abre INSTR: se enciende ENV, no EDIT */ - btn(BTN_ENV, 30); - CHECK(app.page == PG_INST && sim.leds[BTN_ENV] == LED_ON && sim.leds[BTN_EDIT] == LED_DIM); - /* la grabadora: REC sostenido 2.5 s graba la mezcla y no borra la pista */ - ch(1); - if (!t2_steps()) white(0, 40); - int before = t2_steps(); - CHECK(before > 0); - btn(BTN_REC, 30); /* a la GRABADORA, armada */ - CHECK(app.page == PG_REC && app.ctx.st.smp_armed && sim.leds[BTN_REC] == LED_BREATH); - btn(BTN_REC, 30); /* desarmar */ - CHECK(!app.ctx.st.smp_armed); - down(BTN_REC); run_ms(1000); - CHECK(app.ctx.st.smp_rec && sim.leds[BTN_REC] == LED_BLINK); - run_ms(1500); - CHECK(app.ctx.st.smp_rec); /* a los 2 s sigue grabando */ - up(BTN_REC); run_ms(60); - CHECK(!app.ctx.st.smp_rec && (app.ctx.st.smp_unsaved || app.take[0].valid) && app.page == PG_REC && app.ask == ASK_NONE); - CHECK(t2_steps() == before); -} - -static void test_key_screens(void) -{ - printf("negra 11: HI/LO y MUTE de instrumentos (batería), FILL (notas); B9/B10 = páginas; ALGORITHM en INSTR\n"); + printf("BX-7 (solo el motor): los 16 patches suenan sin saturar, las voces se liberan\n"); boot(1); - ch(0); - page(BTN_SEQ, PG_SEQ); - app.sel_lane[0] = 2; /* CL HH */ - black(10, 40); /* un toque: el otro banco */ - CHECK(app.layer == L_NONE && app.sel_lane[0] == 10); - black(10, 40); - CHECK(app.sel_lane[0] == 2); - kdown(bm_black_key(10)); run_ms(400); /* sostenida: MUTE mientras la sostienes */ - CHECK(app.layer == L_LANEMUTE && !app.layer_latch); - shot("63-mutes"); - { /* luces de MUTE: con pasos y sonando MID (y destella con cada golpe), muteado DIM, vacío OFF */ - bm_keyfn K[BM_KEYS]; - int full = -1; - memset(app.pat.tr[0].st[15], 0, sizeof app.pat.tr[0].st[15]); /* el 16 queda vacío */ - for (int l = 0; l < 15 && full < 0; l++) { - if ((app.pat.tr[0].mute >> l) & 1) continue; - int len = app.pat.tr[0].lane[l].len ? app.pat.tr[0].lane[l].len : 16; - for (int s = 0; s < len; s++) if (app.pat.tr[0].st[l][s] & ST_ON) { full = l; break; } - } - CHECK(full >= 0); - bm_app_keys(&app, K); - CHECK(K[bm_white_key(full)].led == LED_MID && K[bm_white_key(15)].led == LED_OFF); - CHECK(K[bm_black_key(10)].led == LED_BREATH && strcmp(K[bm_black_key(10)].label, "X") == 0); - app.lane_flash[0][full] = app.now + 90; /* acaba de sonar */ - bm_app_keys(&app, K); - CHECK(K[bm_white_key(full)].live); - white(full, 40); /* muteado: tenue y sin destello */ - app.lane_flash[0][full] = app.now + 90; - bm_app_keys(&app, K); - CHECK(K[bm_white_key(full)].led == LED_DIM && !K[bm_white_key(full)].live); - white(full, 40); - app.lane_flash[0][full] = 0; + CHECK(bm_engine_ok(3, ENG_FM) && app.pat.trk[3].engine == ENG_MINI); + put_fm_on_t4(); + static const uint8_t notes[3] = {48, 60, 67}; + wav_open("fm.wav"); + int ok = 0; + for (int p = 0; p < BM_FM_PATCHES; p++) { + app.pat.trk[3].source = (uint8_t)p; + memcpy(app.pat.fmv, bm_fm_patch(p), BM_FM_PATCH); app.ctx.fmv_gen++; + double pk = solo_peak(3, notes, 3, 110, 450); + printf(" %-8s pico %.2f\n", bm_fm_names[p], pk); + if (pk > 0.03 && pk < 0.99) ok++; } - white(2, 40); /* mutea el hat cerrado */ - CHECK((app.pat.tr[0].mute >> 2) & 1); - white(2, 40); - CHECK(!((app.pat.tr[0].mute >> 2) & 1)); - kup(bm_black_key(10)); run_ms(40); /* soltar: sale, sin cambiar de banco */ - CHECK(app.layer == L_NONE && app.sel_lane[0] == 2); - /* B9 / B10: las páginas de pasos (MID si hay página para ese lado, OFF si no) */ - down(BTN_SEQ); run_ms(400); - black(10, 40); /* capa LENGTH: negra 11 = +16 */ - CHECK(app.len_page == 1); - white(15, 40); /* largo 32 */ - up(BTN_SEQ); run_ms(60); - CHECK(app.pat.tr[0].lane[2].len == 32 && app.view == V_CH && app.page == PG_SEQ); - CHECK(keys()[bm_black_key(8)].led == LED_OFF && keys()[bm_black_key(9)].led == LED_MID); - CHECK(!strcmp(keys()[bm_black_key(8)].label, "<") && !strcmp(keys()[bm_black_key(9)].label, ">")); - black(9, 40); - CHECK(app.step_page == 1 && keys()[bm_black_key(8)].led == LED_MID && keys()[bm_black_key(9)].led == LED_OFF); - black(9, 40); - CHECK(app.step_page == 1); - white(0, 40); /* la blanca 1 es el paso 17 */ - CHECK(app.pat.tr[0].st[2][16] & ST_ON); - black(8, 40); - CHECK(app.step_page == 0); - /* FILL de notas: la negra 11 en un canal de notas (la batería ya no tiene pantalla de FILL) */ - ch(2); - page(BTN_SEQ, PG_SEQ); - black(10, 40); - CHECK(app.layer == L_FILL && app.layer_latch && app.fill && app.ctx.fill); - app.step_page = 0; - white(0, 40); /* paso 1 (con nota): solo en el fill */ - CHECK(bm_evc(&app.pat, 2, 0, 0)->prob == BM_PROB_FILL); - shot("64-fill"); - white(0, 40); /* otra vez: siempre */ - CHECK(bm_evc(&app.pat, 2, 0, 0)->prob == 100); - black(10, 40); - CHECK(app.layer == L_NONE && !app.fill && !app.ctx.fill); - /* INSTR: ALGORITHM recorre los instrumentos con el recuadro */ - ch(0); - page(BTN_EDIT, PG_SOUND); btn(BTN_EDIT, 30); - CHECK(app.page == PG_INST); - int l0 = app.sel_lane[0]; - enc(ENC_ALGO, 1); enc(ENC_ALGO, 1); - CHECK(app.box_on && app.box_mode == BOX_LANE && app.box_lane == l0 + 2 && app.sel_lane[0] == l0); - shot("65-box-instrumento"); - run_ms(500); - CHECK(!app.box_on && app.sel_lane[0] == l0 + 2 && app.track == 0 && app.page == PG_INST); - shot("66-home-guia"); - /* LOCK de escala: soltar un acorde (negras 1-4) no suelta el +7 que sigue sostenido */ - ch(3); - page(BTN_EDIT, PG_SOUND); - app.pat.meta.scale_lock = 1; - kdown(bm_black_key(7)); run_ms(40); - CHECK(app.chord_mod & 1); - black(0, 40); - CHECK(app.chord_mod & 1); - kup(bm_black_key(7)); run_ms(40); - CHECK(!(app.chord_mod & 1)); - app.pat.meta.scale_lock = 0; + run_ms(4000); + wav_close(); + CHECK(ok == BM_FM_PATCHES); + int vivas = 0; + for (int v = 0; v < BM_VOICES; v++) if (app.ctx.voice[v].active && app.ctx.voice[v].track == 3) vivas++; + CHECK(vivas == 0); + /* la voz del patrón es la base: el algoritmo y el LFO se editan en ella (CMD_FMV) */ + int a0 = bm_fm_alg_of(&app.pat); + CHECK(a0 >= 1 && a0 <= 32); + uint8_t fp[BM_FM_PATCH]; + bm_cmd q; memset(&q, 0, sizeof q); + q.type = CMD_FMV; q.a = BM_FM_ALG; q.b = 0; bm_cmd_push(&app.cmdq, &q); /* el algoritmo 1 */ + q.a = 137; q.b = 50; bm_cmd_push(&app.cmdq, &q); + q.a = BM_FM_FB; q.b = 200; bm_cmd_push(&app.cmdq, &q); /* fuera de rango: queda en 7 */ + run_ms(20); + bm_fm_patch_of(&app.pat, 3, NULL, fp); + CHECK(fp[137] == 50 && fp[BM_FM_ALG] == 0 && app.pat.fmv[BM_FM_FB] == 7 && bm_fm_alg_of(&app.pat) == 1); + uint8_t mods[6]; int8_t fb[2]; + bm_fm_alg_graph(0, mods, fb); /* algoritmo 1: 2>1 y 6>5>4>3, realimenta el 6 */ + CHECK(mods[5] == (1u << 4) && mods[3] == (1u << 2) && mods[2] == (1u << 1) && mods[1] == (1u << 0) && fb[0] == 0 && fb[1] == 0); + bm_fm_alg_graph(31, mods, fb); /* algoritmo 32: seis portadoras */ + CHECK(bm_fm_carriers(31) == 0x3F && !mods[0] && !mods[5]); + /* polifónico: las voces van por máquina, no por canal */ + for (int i = 0; i < BM_TRACKS; i++) app.pat.trk[i].mute = (uint8_t)(i != 3); + bm_cmd c; memset(&c, 0, sizeof c); + static const uint8_t ch3[3] = {48, 55, 64}; + for (int i = 0; i < 3; i++) { c.type = CMD_NOTE_ON; c.a = 3; c.b = ch3[i]; c.c = 100; bm_cmd_push(&app.cmdq, &c); } + run_ms(60); + int v3 = 0; + for (int i = 0; i < BM_VOICES; i++) v3 += app.ctx.voice[i].active && app.ctx.voice[i].track == 3; + CHECK(v3 == 3); + c.type = CMD_ALL_OFF; bm_cmd_push(&app.cmdq, &c); + run_ms(300); } -static void test_layers(void) +/* PRESETS en HOME hasta el sonido i del canal t */ +static void preset_to(int t, int i) { - printf("capas: largo, acento, repetir, borrar, copiar patrón, tono y tap\n"); - boot(1); - ch(0); - page(BTN_SEQ, PG_SEQ); - shot("02-seq-tr"); - down(BTN_SEQ); run_ms(400); - CHECK(app.layer == L_LEN); - shot("40-layer-len"); - white(11, 40); /* blanca 12 = largo 12 */ - black(3, 40); /* negra 4 = X3/4 */ - up(BTN_SEQ); run_ms(60); - CHECK(app.pat.tr[0].lane[0].len == 12 && app.pat.tr[0].lane[7].len == 12 && app.pat.trk[0].speed == SPD_X3_4); - CHECK(app.view == V_CH && app.page == PG_SEQ); - down(BTN_ENV); run_ms(400); - CHECK(app.layer == L_ACC); - white(0, 40); - shot("41-layer-acc"); - up(BTN_ENV); run_ms(60); - CHECK(app.pat.tr[0].st[0][0] & ST_ACC); - down(BTN_LFO); run_ms(400); - white(0, 40); white(0, 40); - shot("42-layer-rep"); - up(BTN_LFO); run_ms(60); - CHECK(((app.pat.tr[0].st[0][0] & ST_RAT_MASK) >> ST_RAT_SH) == 2); - /* BR-8 no tiene LFO: un toque deja abierta la capa REPETIR (respira), LFO otra vez o HOME la cierran */ - { - bm_keyfn K[BM_KEYS]; char title[24]; uint16_t col; const char *h1, *h2; - btn(BTN_LFO, 30); - CHECK(app.layer == L_REP && app.layer_latch && app.view == V_CH && sim.leds[BTN_LFO] == LED_BREATH); - CHECK(sim.leds[BTN_HOME] == LED_MID); - bm_app_keymap(&app, K, title, sizeof title, &col, &h1, &h2); - CHECK(strcmp(title, "REPEAT") == 0 && strncmp(h2, "EXIT: LFO OR HOME", 17) == 0 && strlen(h2) <= 38 && strlen(h1) <= 38); - white(0, 40); /* abierta sin sostener: sigue pintando */ - CHECK(((app.pat.tr[0].st[0][0] & ST_RAT_MASK) >> ST_RAT_SH) == 3); - black(9, 40); /* B10 pasa páginas sin cerrarla (aquí hay una sola) */ - CHECK(app.layer == L_REP && app.layer_latch && app.step_page == 0); - CHECK(K[bm_black_key(9)].led == LED_OFF); - btn(BTN_OCT_UP, 20); /* OCT en la batería: nada, y no la cierra */ - CHECK(app.layer == L_REP && app.layer_latch && app.oct == 0); - btn(BTN_LFO, 30); /* LFO otra vez: sale */ - CHECK(app.layer == L_NONE && !app.layer_latch && app.view == V_CH && app.page == PG_SEQ); - btn(BTN_LFO, 30); - CHECK(app.layer == L_REP && app.layer_latch); - btn(BTN_HOME, 30); /* HOME: sale, en el canal */ - CHECK(app.layer == L_NONE && !app.layer_latch && app.view == V_CH); - CHECK(sim.leds[BTN_LFO] == LED_DIM); - } - down(BTN_EDIT); run_ms(400); - shot("21-erase"); - white(0, 40); /* parado: borra la línea del bombo */ - up(BTN_EDIT); run_ms(60); - int any = 0; - for (int s = 0; s < 64; s++) if (app.pat.tr[0].st[0][s]) any = 1; - CHECK(!any); - down(BTN_HOME); run_ms(40); btn(BTN_OCT_DN, 20); up(BTN_HOME); run_ms(60); - CHECK(app.pat.tr[0].st[0][0] & ST_ON); - down(BTN_FX); run_ms(400); - kdown(bm_white_key(2)); run_ms(400); - shot("18-punch"); - CHECK(app.ctx.st.punch == 2); - kup(bm_white_key(2)); up(BTN_FX); run_ms(200); - CHECK(app.ctx.st.punch == 0xFF); - /* GLO: TONO y TAP tempo */ - down(BTN_GLO); run_ms(400); - CHECK(app.layer == L_TONE); - key(9, 40); /* tecla 9 = +2 */ - btn(BTN_PLAY, 10); run_ms(450); btn(BTN_PLAY, 10); run_ms(450); btn(BTN_PLAY, 10); - shot("44-layer-tone"); - up(BTN_GLO); run_ms(60); - CHECK(app.pat.meta.transpose == 26 && !app.ctx.st.playing); - CHECK(app.pat.meta.bpm_x10 > 1150 && app.pat.meta.bpm_x10 < 1300); - /* SAVE sostenido: copiar el patrón a otro lugar (parado) */ - run_ms(UI_AUTOSAVE_MS + 1500); - down(BTN_SAVE); run_ms(400); - CHECK(app.layer == L_COPY); - white(5, 40); - shot("43-layer-copy"); - up(BTN_SAVE); run_ms(600); - CHECK(bm_store_has(&app.store, 5) && app.ctx.st.pattern == 0); - /* A06 ya tiene datos: pregunta. 0.9: se acepta sosteniendo 2 s la tecla que preguntó; soltarla antes = no */ - down(BTN_SAVE); run_ms(400); kdown(bm_black_key(2)); white(5, 40); - CHECK(app.ask == ASK_NONE && strcmp(app.toast, "CANCELED") == 0); /* soltada enseguida: no */ - kdown(bm_white_key(5)); run_ms(600); - CHECK(app.ask == ASK_COPY_TRK && app.ask_live && bm_app_ask_progress(&app) > 50); - up(BTN_SAVE); run_ms(40); /* soltar SAVE (cierra la capa) no contesta */ - CHECK(app.ask == ASK_COPY_TRK && app.layer == L_NONE); - shot("46-ask"); - CHECK(sim.leds[BM_LED_KEY0 + bm_white_key(5)] == LED_BLINK && sim.leds[BTN_OCT_UP] == LED_OFF && sim.leds[BTN_HOME] == LED_OFF); - CHECK(sim.leds[BTN_SEQ] == LED_OFF && sim.leds[BTN_SAVE] == LED_OFF); /* en la pregunta, solo la tecla que preguntó */ - { - char h[40]; bm_app_ask_hint(&app, h, sizeof h); - CHECK(strcmp(h, "KEEP HOLDING WHITE 6 = YES") == 0); - } - run_ms(1500); /* 2 s sostenida: sí */ - CHECK(app.ask == ASK_NONE && strcmp(app.toast, "TRACK COPIED") == 0); - kup(bm_white_key(5)); kup(bm_black_key(2)); run_ms(600); - CHECK(app.ask == ASK_NONE); - /* REC 2 s sin grabar nada: borra la pista al instante, sin preguntar (en vivo); HOME + OCT- la devuelve */ - ch(0); - run_ms(100); - int hits0 = 0; - for (int l = 0; l < 16; l++) for (int s = 0; s < 64; s++) if (app.pat.tr[0].st[l][s] & ST_ON) hits0++; - CHECK(hits0 > 0); - down(BTN_REC); run_ms(1500); - { - int hid = -1; - CHECK(bm_gesture_progress(&app.ges, app.now, &hid) >= 0 && hid == BTN_REC); /* el anillo: ERASE T1 */ - CHECK(sim.leds[BTN_REC] == LED_BLINK); - } - run_ms(1000); up(BTN_REC); run_ms(60); - CHECK(app.ask == ASK_NONE && app.view == V_CH && !app.rec); - any = 0; - for (int l = 0; l < 16; l++) for (int s = 0; s < 64; s++) if (app.pat.tr[0].st[l][s]) any = 1; - CHECK(!any); - CHECK(strncmp(app.toast, "T1 ERASED", 9) == 0); - down(BTN_HOME); run_ms(40); btn(BTN_OCT_DN, 20); up(BTN_HOME); run_ms(60); - int hits1 = 0; - for (int l = 0; l < 16; l++) for (int s = 0; s < 64; s++) if (app.pat.tr[0].st[l][s] & ST_ON) hits1++; - CHECK(hits1 == hits0); - /* EDIT sostenido + CLR también borra la pista */ - down(BTN_EDIT); run_ms(400); - CHECK(app.layer == L_ERASE && sim.leds[BTN_EDIT] == LED_BREATH && sim.leds[BTN_SEQ] == LED_OFF); - black(2, 40); /* CLR */ - CHECK(keys()[bm_black_key(5)].led == LED_MID && keys()[bm_black_key(6)].led == LED_OFF); /* B6 deshacer sí, B7 rehacer no */ - CHECK(!strcmp(keys()[bm_black_key(5)].label, "UND") && !strcmp(keys()[bm_black_key(6)].label, "RED")); - CHECK(sim.leds[BTN_OCT_DN] == LED_OFF && sim.leds[BTN_OCT_UP] == LED_OFF); /* OCT: la octava (en la batería, nada) */ - black(5, 40); /* B6 = UNDO */ - any = 0; - for (int l = 0; l < 16; l++) for (int s = 0; s < 64; s++) if (app.pat.tr[0].st[l][s]) any = 1; - CHECK(any && keys()[bm_black_key(6)].led == LED_MID); - black(6, 40); /* B7 = REDO */ - up(BTN_EDIT); run_ms(60); - any = 0; - for (int l = 0; l < 16; l++) for (int s = 0; s < 64; s++) if (app.pat.tr[0].st[l][s]) any = 1; - CHECK(!any); - /* HOME sostenido: solo los botones con HOME + */ - down(BTN_HOME); run_ms(400); - CHECK(app.layer == L_HOME && sim.leds[BTN_HOME] == LED_ON); - CHECK(sim.leds[BTN_SEQ] == LED_MID && sim.leds[BTN_FX] == LED_MID && sim.leds[BTN_GLO] == LED_MID && sim.leds[BTN_OCT_DN] == LED_MID); - CHECK(sim.leds[BTN_ENV] == LED_OFF && sim.leds[BTN_LFO] == LED_OFF && sim.leds[BTN_ARP] == LED_OFF && sim.leds[BTN_OCT_UP] == LED_OFF); - up(BTN_HOME); run_ms(60); + ch(t); + for (int guard = 0; app.pat.trk[t].source != i && guard < 64; guard++) { enc(ENC_PRESETS, 1); run_ms(20); } } -static void test_free_engines(void) +static void test_engines(void) { - printf("máquinas: BR-8 BP-1 y las de notas, ALGORITHM = el modo de cada una, MORE > MACHINE, MIDI OUT\n"); + printf("máquinas: BB-303, B-MINI, BITTAL y BUNO-6 con el banco de fábrica (PRESETS en HOME), y la batería modelada\n"); boot(1); - static const char *const NM[BM_TRACKS] = {"BR-8", "BP-1", "BB-303", "BX-7", "BITTAL", "BUNO-6"}; - for (int t = 0; t < BM_TRACKS; t++) CHECK(strcmp(bm_track_name(&app, t), NM[t]) == 0); - /* T3 BB-303: ALGORITHM = la forma de onda (ya no cambia de máquina) */ + static const uint8_t bass[4] = {36, 43, 48, 39}; + CHECK(app.pat.trk[2].engine == ENG_ACID); /* la demo: acid techno */ ch(2); - enc(ENC_ALGO, 1); - CHECK(app.pat.trk[2].engine == ENG_ACID && app.pat.prm[2][AC_WAVE] == 1); - enc(ENC_ALGO, -1); - CHECK(app.pat.prm[2][AC_WAVE] == 0); - /* el GLO de la máquina (MORE adentro, 0.9): notas = VIEW LENGTH SPEED TRANSPOSE ACCENT MIDI OUT INIT SOUND */ - btn(BTN_GLO, 30); - const char *nm; char v[24]; - static const char *const NOTE_ROWS[7] = {"VIEW", "LENGTH", "SPEED", "TRANSPOSE", "ACCENT", "MIDI OUT", "INIT SOUND"}; - CHECK(app.page == PG_MORE && bm_app_more_count(&app) == 7); - for (int i = 0; i < 7; i++) { bm_app_more_row(&app, i, &nm, v, sizeof v); CHECK(strcmp(nm, NOTE_ROWS[i]) == 0); } - bm_app_more_row(&app, 0, &nm, v, sizeof v); - CHECK(strcmp(v, "NOTES") == 0); - shot("45b-machine-glo-note"); - btn(BTN_GLO, 30); /* GLO otra vez: de vuelta */ - CHECK(app.page == PG_SEQ); - ch(0); /* BR-8: LENGTH SPEED ACCENT INIT KIT */ - btn(BTN_GLO, 30); - CHECK(bm_app_more_count(&app) == 4); - bm_app_more_row(&app, 3, &nm, v, sizeof v); - CHECK(strcmp(nm, "INIT KIT") == 0); - ch(1); /* BP-1: LENGTH SPEED ACCENT INTERPOLATION INIT */ - btn(BTN_GLO, 30); - CHECK(bm_app_more_count(&app) == 5); - bm_app_more_row(&app, 3, &nm, v, sizeof v); - CHECK(strcmp(nm, "INTERPOLATION") == 0); - bm_app_more_row(&app, 4, &nm, v, sizeof v); - CHECK(strcmp(nm, "INIT") == 0); - /* T6 con MIDI OUT: suena y además manda sus notas por MIDI (y aparece la fila MIDI CHANNEL) */ - ch(5); - btn(BTN_GLO, 30); - CHECK(app.page == PG_MORE); - int row = -1; - for (int i = 0; i < bm_app_more_count(&app); i++) { bm_app_more_row(&app, i, &nm, v, sizeof v); if (strcmp(nm, "MIDI OUT") == 0) row = i; } - CHECK(row >= 0); - while (app.more_row < row) enc(ENC_SELECT, 1); - enc(ENC_ALGO, 1); run_ms(40); - CHECK(app.pat.trk[5].midi_out == 1 && bm_app_more_count(&app) == 8); - sim.midi_n = 0; - btn(BTN_PLAY, 20); run_ms(1500); - int on = 0, voice = 0; - for (int i = 0; i + 2 < sim.midi_n; i++) if (sim.midi_out[i] == (0x90 | 5)) on = 1; - for (int i = 0; i < BM_VOICES; i++) if (app.ctx.voice[i].active && app.ctx.voice[i].track == 5) voice = 1; - CHECK(on && voice); - btn(BTN_PLAY, 20); - shot("48-midi-out"); -} - -/* ------------------------------------------------------------ sampler de pads */ -static int t2_voices(int *gated, uint32_t *pos) -{ - int n = 0; - if (gated) *gated = 0; - for (int i = 0; i < BM_VOICES; i++) { - const bm_voice *v = &app.ctx.voice[i]; - if (!v->active || v->track != 1) continue; - n++; - if (gated && v->gate) (*gated)++; - } - if (pos) *pos = app.ctx.st.smp_pos; - return n; -} - -static void pad_mode(int pad, int mode) /* PADS > SOUND > K3 hasta el modo */ -{ - app.pat.pad[pad].mode = (uint8_t)mode; -} - -static void test_pads(void) -{ - printf("sampler de pads: kit desde una toma, rejilla, modos de tecla, TRIM, BREAK y captura\n"); - boot_loop(); - const bm_take *tk = &app.take[0]; - CHECK(tk->valid && tk->len == 23851); - /* la demo arma el kit desde la toma (en los golpes) y la rejilla la toca en orden */ - int n = 0; - for (int i = 0; i < BM_LANES; i++) n += bm_pad_ok(&app.pat.pad[i]); - CHECK(n >= 6 && n <= 8 && app.pat.pad[0].src == 0 && app.pat.pad[0].start == 0); - CHECK(app.pat.pad[1].start > 2500 && app.pat.pad[1].start < 3500); /* el 2.o golpe del loop, a los 2981 */ - CHECK((app.pat.tr[1].st[0][0] & ST_ON) && (app.pat.tr[1].st[1][2] & ST_ON) && app.pat.tr[1].lane[0].len == 16); - CHECK(app.pat.tr[1].lane[0].choke == 1 && (app.pat.pad[0].flags & PAD_TEMPO)); - ch(1); - CHECK(app.page == PG_SEQ && app.sel_lane[1] == 0); - /* suena: la rejilla dispara los pads */ - btn(BTN_PLAY, 20); - uint32_t seen = 0; - for (int j = 0; j < 60; j++) { run_ms(25); for (int l = 0; l < BM_LANES; l++) if (app.lane_flash[1][l] > now_ms) seen |= 1u << l; } - int distinct = 0; - for (int l = 0; l < BM_LANES; l++) distinct += (seen >> l) & 1; - CHECK(distinct >= 4); - for (int k = 0; k < 16; k++) { /* BREAK apagado: suena la rejilla tal cual */ - int main = -1; - for (int l = 0; l < BM_LANES && main < 0; l++) if (app.pat.tr[1].st[l][k] & ST_ON) main = l; - CHECK(app.ctx.st.gen_sl[k] == (main < 0 ? 0xFF : main) && app.ctx.st.gen_fx[k] == 0); - } - run_ms(300); - shot("31-sampler-seq"); - /* SEQ como la batería: negra elige y toca el pad, blanca pone el paso en su línea */ - black(2, 40); - CHECK(app.sel_lane[1] == 2); - white(5, 40); - CHECK(app.pat.tr[1].st[2][5] & ST_ON); - white(5, 40); - CHECK(!(app.pat.tr[1].st[2][5] & ST_ON)); - /* paso sostenido + PITCH: P-Lock en ese paso, como en la batería */ - kdown(bm_white_key(2)); run_ms(400); - enc(ENC_K2, 2); - kup(bm_white_key(2)); run_ms(60); - CHECK(bm_tr_lock_get(&app.pat.tr[1], 2, 2, 1) == 66); - /* BREAK (SEQ otra vez): VARY cambia los pads; CAPT lo deja escrito en la rejilla */ - btn(BTN_SEQ, 30); - CHECK(app.page == PG_BREAK); - enc(ENC_K1, 127); enc(ENC_K3, 60); - run_ms(600); - int diff = 0; - for (int k = 0; k < 16; k++) diff += app.ctx.gen_sl[k] != 0xFF || app.ctx.gen_fx[k] != 0; - CHECK(diff > 0); - run_ms(UI_OVERLAY_MS + 100); - shot("31a-break"); - static uint8_t before[BM_LANES][BM_STEPS]; - memcpy(before, app.pat.tr[1].st, sizeof before); - down(BTN_EDIT); run_ms(400); black(3, 40); up(BTN_EDIT); run_ms(100); - CHECK(memcmp(before, app.pat.tr[1].st, sizeof before) != 0); - for (int i = 0; i < 4; i++) { enc(ENC_K1, -127); enc(ENC_K2, -127); enc(ENC_K3, -127); enc(ENC_K4, -127); } - CHECK(!app.pat.trk[1].gen[0] && !app.pat.trk[1].gen[2]); - btn(BTN_PLAY, 20); - /* PADS (EDIT): las blancas tocan y eligen el pad */ - btn(BTN_EDIT, 30); - CHECK(app.page == PG_PADS && app.ed_page[1] == 0); - white(4, 40); - CHECK(app.sel_lane[1] == 4); - run_ms(200); - /* ONESHOT: suena entero aunque se suelte enseguida, y termina en su final */ - pad_mode(1, PAD_ONESHOT); - uint32_t e1 = (uint32_t)app.pat.pad[1].start + app.pat.pad[1].len, far = 0; - kdown(bm_white_key(1)); run_ms(10); kup(bm_white_key(1)); - run_ms(20); - CHECK(t2_voices(NULL, NULL) == 1); - for (int j = 0; j < 80; j++) { run_ms(5); if (app.ctx.st.smp_pos_src == 0 && app.ctx.st.smp_pos > far) far = app.ctx.st.smp_pos; } - CHECK(far < e1 && far > e1 - 1500 && t2_voices(NULL, NULL) == 0); - /* KEY: suena mientras se sostiene */ - pad_mode(1, PAD_KEY); - int gated; - kdown(bm_white_key(1)); run_ms(60); - CHECK(t2_voices(&gated, NULL) == 1 && gated == 1); - kup(bm_white_key(1)); run_ms(300); - CHECK(t2_voices(NULL, NULL) == 0); - /* THRU: sostenido sigue por la toma más allá del pad */ - pad_mode(1, PAD_THRU); - kdown(bm_white_key(1)); run_ms(600); - CHECK(t2_voices(NULL, NULL) == 1 && app.ctx.st.smp_pos > e1 + 2000); - shot("38-pads-thru"); - kup(bm_white_key(1)); run_ms(400); /* ya pasó el pad: se apaga con su release */ - CHECK(t2_voices(NULL, NULL) == 0); - /* LOOP: sostenido repite el pad */ - pad_mode(1, PAD_LOOP); - kdown(bm_white_key(1)); run_ms(900); - CHECK(t2_voices(NULL, NULL) == 1 && app.ctx.st.smp_pos >= app.pat.pad[1].start && app.ctx.st.smp_pos < e1); - kup(bm_white_key(1)); run_ms(400); - CHECK(t2_voices(NULL, NULL) == 0); - /* SOUND (EDIT otra vez): K3 = PLAY cambia el modo; ENV: K4 = TEMPO */ - white(1, 40); - btn(BTN_EDIT, 30); - CHECK(app.ed_page[1] == 1); - enc(ENC_K3, 1); - CHECK(app.pat.pad[1].mode == PAD_ONESHOT); - enc(ENC_K1, 1); enc(ENC_K1, 1); enc(ENC_K1, 1); - CHECK(app.pat.pad[1].pitch == 27); - btn(BTN_EDIT, 30); - CHECK(app.ed_page[1] == 2); - enc(ENC_K4, -1); /* a la izquierda OFF, sin dar la vuelta */ - CHECK(!(app.pat.pad[1].flags & PAD_TEMPO)); - enc(ENC_K4, -1); - CHECK(!(app.pat.pad[1].flags & PAD_TEMPO)); - run_ms(UI_TOAST_MS); - shot("37c-pads-env"); - btn(BTN_EDIT, 30); /* LOOP: el sustain dentro del pad */ - CHECK(app.ed_page[1] == 3); - enc(ENC_K1, 40); enc(ENC_K2, 120); - CHECK(app.pat.pad[1].mode == PAD_LOOP && bm_pad_has_loop(&app.pat.pad[1])); - shot("37e-pads-loop"); - kdown(bm_white_key(1)); run_ms(700); /* sostenido: repite el tramo del loop */ - CHECK(t2_voices(NULL, NULL) == 1 && app.ctx.st.smp_pos < app.pat.pad[1].start + bm_pad_loop_end(&app.pat.pad[1]) + 64); - kup(bm_white_key(1)); run_ms(500); - CHECK(t2_voices(NULL, NULL) == 0); - app.pat.pad[1].loop_s = 0; app.pat.pad[1].loop_e = 0; app.pat.pad[1].mode = PAD_ONESHOT; - btn(BTN_EDIT, 30); - CHECK(app.ed_page[1] == 0); - /* TRIM: K1 mueve el inicio (el final queda), K2 el final, K3 zoom */ - uint32_t s1 = app.pat.pad[1].start, end1 = s1 + app.pat.pad[1].len; - enc(ENC_K1, 2); - CHECK(app.pat.pad[1].start > s1 && (uint32_t)app.pat.pad[1].start + app.pat.pad[1].len == end1); - enc(ENC_K2, -2); - CHECK((uint32_t)app.pat.pad[1].start + app.pat.pad[1].len < end1); - enc(ENC_K3, 1); - run_ms(60); - CHECK(app.cut_v1 - app.cut_v0 == tk->len / 2); - /* HIT (N4): el inicio vuelve al golpe */ - black(3, 40); - CHECK(app.pat.pad[1].start > 2600 && app.pat.pad[1].start < 3300); /* el golpe, a los 2981 (con su ventana antes) */ - run_ms(UI_TOAST_MS + 100); - shot("37-pads"); - enc(ENC_K3, -3); - /* N1 copia, N2 pega en otro pad, N3 lo vacía */ - black(0, 40); - white(12, 40); - CHECK(app.sel_lane[1] == 12 && !bm_pad_ok(&app.pat.pad[12])); - shot("37d-pads-empty"); - black(1, 40); - CHECK(memcmp(&app.pat.pad[12], &app.pat.pad[1], sizeof app.pat.pad[1]) == 0); - black(2, 40); - CHECK(!bm_pad_ok(&app.pat.pad[12])); - /* PRESETS: la toma entera en el pad elegido */ - enc(ENC_PRESETS, 1); - CHECK(app.pat.pad[12].src == 0 && app.pat.pad[12].start == 0 && app.pat.pad[12].len == tk->len); - /* negras 9-11 en vivo */ - kdown(bm_black_key(8)); run_ms(40); - CHECK(app.ctx.brk_live & 1); - kup(bm_black_key(8)); run_ms(40); - CHECK(!(app.ctx.brk_live & 1)); - /* REC en PADS + PLAY: lo que tocas queda en la línea del pad */ - btn(BTN_REC, 30); - CHECK(app.rec && app.page == PG_PADS); - btn(BTN_PLAY, 20); run_ms(300); - white(6, 40); - btn(BTN_PLAY, 20); btn(BTN_REC, 30); - int rec6 = 0; - for (int s2 = 0; s2 < 16; s2++) rec6 += (app.pat.tr[1].st[6][s2] & ST_ON) != 0; - CHECK(rec6 >= 1); - /* MAS, BREAK y TAKES con SELECT: primero las sub-páginas de PADS, después la pestaña */ - int pg_steps = 0; - while (app.page == PG_PADS && pg_steps < 6) { enc(ENC_SELECT, 1); pg_steps++; } - CHECK(pg_steps >= 2); /* PADS tenía sub-páginas por recorrer */ - CHECK(app.page == PG_BREAK); - enc(ENC_SELECT, 1); - CHECK(app.page == PG_TAKES); -} - -static void test_recorder(void) -{ - printf("grabadora: armada, al compás, toma sin guardar, kit, TAKES\n"); - boot(1); - CHECK(app_kit_empty(&app)); - ch(1); - btn(BTN_REC, 30); - CHECK(app.page == PG_REC && app.ctx.st.smp_armed && !app.ctx.st.smp_rec); - shot("33-rec-armed"); - btn(BTN_PLAY, 20); - run_ms(100); - CHECK(app.ctx.st.smp_rec); /* empieza en el compás (el primero) */ - run_ms(1200); - shot("34-rec"); - white(3, 40); - CHECK(app.key_nn[bm_white_key(3)] == 0); /* las teclas no suenan */ - btn(BTN_REC, 30); - CHECK(!app.ctx.st.smp_rec && app.ctx.st.smp_unsaved && app.ctx.arena_busy); - CHECK(app.ctx.smp[0].data == (const int8_t *)app.amem.arena && app.ctx.smp[0].bars >= 1); - uint32_t len = app.ctx.st.smp_len; - CHECK(len > 16000); - kdown(bm_white_key(0)); run_ms(60); /* las blancas escuchan la toma nueva */ - int heard = 0; - for (int i = 0; i < BM_VOICES; i++) heard |= app.ctx.voice[i].active && app.ctx.voice[i].track == 1 && app.ctx.voice[i].src == BM_TAKE_NEW; - kup(bm_white_key(0)); run_ms(60); - CHECK(heard); - shot("35-rec-unsaved"); - btn(BTN_PLAY, 20); /* parar: se guarda y, con el kit vacío, lo arma */ - run_ms(800); - CHECK(!app.ctx.st.smp_unsaved && !app.ctx.arena_busy); - CHECK(app.take[0].valid && app.take[0].len == len); - CHECK(bm_pad_ok(&app.pat.pad[0]) && app.pat.pad[0].src == 0); - /* TAKES (EDIT 2 s en el sampler) */ - down(BTN_EDIT); run_ms(2200); up(BTN_EDIT); run_ms(60); - CHECK(app.page == PG_TAKES); - uint8_t list[16]; - int n = bm_app_sources(&app, list); - CHECK(n == bm_rom_nloops + 1); - for (int i = 0; i < 12 && bm_app_takes_sel(&app) != 0; i++) enc(ENC_ALGO, 1); - enc(ENC_K3, 2); /* ganancia */ - CHECK(app.take[0].gain == 66); - run_ms(1700); - shot("36-takes"); - /* N2: un kit de 16 partes iguales; el kit ya tenía pads, así que pregunta (2 s sostenida = sí) */ - kdown(bm_black_key(1)); run_ms(100); - CHECK(app.ask == ASK_KIT); - run_ms(2000); kup(bm_black_key(1)); run_ms(60); - CHECK(app.ask == ASK_NONE); - int pads = 0; - for (int i = 0; i < BM_LANES; i++) pads += bm_pad_ok(&app.pat.pad[i]); - CHECK(pads == 16 && app.pat.pad[1].start == len / 16); - /* N4: la toma entera en el pad elegido */ - app.sel_lane[1] = 5; - black(3, 40); - CHECK(app.pat.pad[5].start == 0 && app.pat.pad[5].len == len); - btn(BTN_EDIT, 30); /* EDIT: a PADS */ - CHECK(app.page == PG_PADS); - btn(BTN_HOME, 30); - run_ms(2200); /* en reposo se guarda la toma (la ganancia) */ - CHECK(!app.take_dirty); - run_ms(UI_AUTOSAVE_MS); /* y el patrón con su kit */ - boot(0); - CHECK(app.take[0].valid && app.take[0].gain == 66); - CHECK(app.pat.pad[5].len == len && app.pat.pad[1].start == len / 16); /* el kit sobrevive al reinicio */ - /* borrar la toma: pregunta, y sus pads quedan vacíos */ - ch(1); - down(BTN_EDIT); run_ms(2200); up(BTN_EDIT); run_ms(60); - for (int i = 0; i < 12 && bm_app_takes_sel(&app) != 0; i++) enc(ENC_ALGO, 1); - hold_key(bm_black_key(10), 2200); /* DEL: 2 s sostenida = sí */ - CHECK(app.ask == ASK_NONE); - run_ms(600); - CHECK(!app.take[0].valid && app_kit_empty(&app)); - /* HOME en una toma sin guardar: pregunta (HOME otra vez = no: la toma queda; HOME sostenido 2 s = sí) */ - btn(BTN_REC, 30); btn(BTN_PLAY, 20); run_ms(800); btn(BTN_REC, 30); - CHECK(app.ctx.st.smp_unsaved); - btn(BTN_HOME, 30); run_ms(60); - CHECK(app.ask == ASK_DISCARD && app.ctx.st.smp_unsaved && !app.ask_live); - shot("46b-ask-discard"); - btn(BTN_HOME, 30); run_ms(60); - CHECK(app.ask == ASK_NONE && app.ctx.st.smp_unsaved && app.view == V_HOME); /* NO: la toma queda y HOME sale */ - app_enter(&app, 1, PG_REC); - btn(BTN_HOME, 30); run_ms(60); - CHECK(app.ask == ASK_DISCARD && sim.leds[BTN_HOME] == LED_BLINK); - down(BTN_HOME); run_ms(1000); - CHECK(app.ask == ASK_DISCARD && app.layer == L_NONE); /* sostenerla no abre la capa de HOME */ - run_ms(1200); up(BTN_HOME); run_ms(60); - CHECK(app.ask == ASK_NONE && app.view == V_CH && app.layer == L_NONE); /* ni SYSTEM a los 2 s */ - CHECK(!app.ctx.st.smp_unsaved && app.ctx.smp[0].len == 0); - btn(BTN_PLAY, 20); -} - -static void test_free_rec(void) -{ - printf("grabación libre: el largo se cierra en compases y cada nota guarda lo que se sostuvo\n"); - boot(1); - ch(5); - down(BTN_EDIT); run_ms(400); black(2, 40); up(BTN_EDIT); run_ms(60); /* vaciar T6 (BORRAR + CLR) */ - page(BTN_EDIT, PG_SOUND); - btn(BTN_PLAY, 20); run_ms(200); - btn(BTN_REC, 30); - CHECK(app.rec && app.rec_free == 6 && app.pat.trk[5].length == 64); - uint32_t bar = 60000u * 4u / 160u; /* ms por compás a 160 BPM */ - key(bm_white_key(4), 600); /* nota larga */ - run_ms(bar / 2); - key(bm_white_key(7), 150); - run_ms(bar + bar / 4); - shot("51-seq-free-rec"); - btn(BTN_REC, 30); /* cierra: unos 2 compases */ - run_ms(100); - CHECK(!app.rec && !app.rec_free && app.pat.trk[5].length == 32); - int n = 0, longest = 0; - for (int s = 0; s < BM_STEPS; s++) - for (int k = 0; k < BM_EVENTS; k++) { - const bm_event *e = bm_evc(&app.pat, 5, s, k); - if (bm_event_empty(e)) continue; - n++; - if ((int)(e->len & BM_LEN_MASK) > longest) longest = (int)(e->len & BM_LEN_MASK); - } - CHECK(n >= 2 && longest >= 4); /* la nota larga dura lo que se sostuvo */ - page(BTN_SEQ, PG_SEQ); - shot("52-seq-notes-roll"); - btn(BTN_PLAY, 20); -} - -/* Hace sonar un canal solo y devuelve el pico (0..1). */ -static double solo_peak(int t, const uint8_t *notes, int n, int vel, uint32_t ms) -{ - for (int i = 0; i < BM_TRACKS; i++) app.pat.trk[i].mute = (uint8_t)(i != t); - bm_cmd c; memset(&c, 0, sizeof c); - run_ms(300); - peak_abs = 0; - for (int i = 0; i < n; i++) { - c.type = CMD_NOTE_ON; c.a = (uint8_t)t; c.b = notes[i]; c.c = (uint8_t)vel; bm_cmd_push(&app.cmdq, &c); - run_ms(ms); - c.type = CMD_NOTE_OFF; bm_cmd_push(&app.cmdq, &c); - run_ms(60); - } - return peak_abs; -} - -static void test_fm(void) -{ - printf("BX-7: los 16 patches suenan sin saturar, las voces se liberan y ALGORITHM elige el algoritmo\n"); - boot(1); - ch(3); - CHECK(app.pat.trk[3].engine == ENG_FM); - page(BTN_EDIT, PG_SOUND); - shot("56-fm"); - static const uint8_t notes[3] = {48, 60, 67}; - wav_open("fm.wav"); - int ok = 0; - for (int p = 0; p < BM_FM_PATCHES; p++) { - app.pat.trk[3].source = (uint8_t)p; - double pk = solo_peak(3, notes, 3, 110, 450); - printf(" %-8s pico %.2f\n", bm_fm_names[p], pk); - if (pk > 0.03 && pk < 0.99) ok++; - } - run_ms(4000); - wav_close(); - CHECK(ok == BM_FM_PATCHES); - int vivas = 0; - for (int v = 0; v < BM_VOICES; v++) if (app.ctx.voice[v].active && app.ctx.voice[v].track == 3) vivas++; - CHECK(vivas == 0); - /* ALGORITHM: uno por uno de los 32, y el dibujo de la topología */ - app.pat.prm[3][FX_ALG] = 0; /* 0 = el del patch */ - int a0 = bm_fm_alg_of(&app.pat.trk[3], app.pat.prm[3]); - enc(ENC_ALGO, 1); - CHECK(bm_fm_alg_of(&app.pat.trk[3], app.pat.prm[3]) == (a0 < 32 ? a0 + 1 : 32) && app.pat.prm[3][FX_ALG] == bm_fm_alg_of(&app.pat.trk[3], app.pat.prm[3])); - for (int i = 0; i < 40; i++) enc(ENC_ALGO, -1); - CHECK(bm_fm_alg_of(&app.pat.trk[3], app.pat.prm[3]) == 1); - /* el LFO encima del patch: 0 = el del patch, si no el valor - 1 */ - uint8_t fp[BM_FM_PATCH]; - app.pat.prm[3][FX_LSPD] = 51; - bm_fm_patch_of(&app.pat.trk[3], app.pat.prm[3], NULL, fp); - CHECK(fp[137] == 50 && fp[BM_FM_ALG] == 0); - app.pat.prm[3][FX_LSPD] = 0; - bm_fm_patch_of(&app.pat.trk[3], app.pat.prm[3], NULL, fp); - CHECK(fp[137] == bm_fm_patch(app.pat.trk[3].source)[137]); - uint8_t mods[6]; int8_t fb[2]; - bm_fm_alg_graph(0, mods, fb); /* algoritmo 1: 2>1 y 6>5>4>3, realimenta el 6 */ - CHECK(mods[5] == (1u << 4) && mods[3] == (1u << 2) && mods[2] == (1u << 1) && mods[1] == (1u << 0) && fb[0] == 0 && fb[1] == 0); - bm_fm_alg_graph(31, mods, fb); /* algoritmo 32: seis portadoras */ - CHECK(bm_fm_carriers(31) == 0x3F && !mods[0] && !mods[5]); - for (int i = 0; i < 4; i++) enc(ENC_ALGO, 1); - shot("56b-fm-alg5"); -} - -static void test_engines(void) -{ - printf("máquinas 0.6: BB-303, B-MINI, BITTAL y BUNO-6 con el banco de fábrica, y la batería modelada\n"); - boot(1); - static const uint8_t bass[4] = {36, 43, 48, 39}; - CHECK(app.pat.trk[2].engine == ENG_ACID); /* la demo: acid techno */ - ch(2); - page(BTN_EDIT, PG_SOUND); - shot("53-acid"); - double p_acid = solo_peak(2, bass, 4, 100, 250); - double p_acc = solo_peak(2, bass, 4, 127, 250); - int acid_ok = 0; /* los sonidos de fábrica del BB-303 */ - for (int i = 0; i < BM_AC_PRESETS; i++) { - while (app.pat.trk[2].source != (i + 1) % BM_AC_PRESETS) { enc(ENC_PRESETS, 1); run_ms(20); } - double pk = solo_peak(2, bass, 2, 100, 250); - if (pk > 0.05 && pk < 1.0) acid_ok++; else printf(" BB-303 %s: pico %.2f\n", bm_sound_name(&app, 2), pk); + double p_acid = solo_peak(2, bass, 4, 100, 250); + double p_acc = solo_peak(2, bass, 4, 127, 250); + int acid_ok = 0; /* los sonidos de fábrica del BB-303 */ + for (int i = 0; i < BM_AC_PRESETS; i++) { + preset_to(2, (i + 1) % BM_AC_PRESETS); + double pk = solo_peak(2, bass, 2, 100, 250); + if (pk > 0.05 && pk < 1.0) acid_ok++; else printf(" BB-303 %s: pico %.2f\n", bm_sound_name(&app, 2), pk); } CHECK(acid_ok == BM_AC_PRESETS && app.pat.trk[2].source == 0 && strcmp(bm_sound_name(&app, 2), "CLASSIC") == 0); - app.ed_page[2] = 1; - run_ms(1600); /* sin el aviso de PRESETS encima */ - shot("53b-acid-env"); CHECK(app_set_machine(&app, 2, ENG_MINI) == 0); /* T3: B-MINI */ run_ms(40); - app.ed_page[2] = 5; /* FILTER */ - CHECK(app.pat.trk[2].engine == ENG_MINI && bm_app_ed_on(&app)); + CHECK(app.pat.trk[2].engine == ENG_MINI); double p_mini = solo_peak(2, bass, 4, 100, 250); printf(" pico BB-303 %.2f (acento %.2f) · B-MINI %.2f\n", p_acid, p_acc, p_mini); CHECK(p_acid > 0.05 && p_acid < 1.0 && p_acc >= p_acid); CHECK(p_mini > 0.05 && p_mini < 1.0); - shot("54-bmini"); - app.ed_page[2] = 0; /* CONTROL: MOD AMT lleva el destino */ - app.pat.prm[2][MN_LAMT] = 0; - enc(ENC_K4, -10); run_ms(20); - CHECK(app.pat.prm[2][MN_LAMT] > 0 && app.pat.prm[2][MN_LDEST] == MN_D_PITCH); - enc(ENC_K4, 30); run_ms(20); - CHECK(app.pat.prm[2][MN_LAMT] > 0 && app.pat.prm[2][MN_LDEST] == MN_D_CUT); - shot("54b-bmini-control"); - app.ed_page[2] = 5; /* el banco de fábrica: cada sonido de cada máquina suena sin saturar */ static const uint8_t chord[3] = {57, 60, 64}; @@ -1636,12 +696,10 @@ static void test_engines(void) int t = M[m].t, n = bm_snap_count(M[m].eng); CHECK(n >= 6); for (int i = 0; i < n; i++) CHECK(bm_snap_ok(bm_snap_get(M[m].eng, i), BM_SNAP_MAX)); - ch(t); - page(BTN_EDIT, PG_SOUND); wav_open(M[m].wav); int ok = 0; for (int i = 0; i < n; i++) { - while (app.pat.trk[t].source != i) { enc(ENC_PRESETS, 1); run_ms(20); } + preset_to(t, i); run_ms(80); /* BITTAL arma sus tablas */ double pk = t == 2 ? solo_peak(t, bass, 2, 100, 400) : solo_peak(t, chord, 3, 100, 600); printf(" %-7s %-12s pico %.2f\n", bm_engine_names[M[m].eng], bm_snap_name(M[m].eng, i), pk); @@ -1651,61 +709,23 @@ static void test_engines(void) wav_close(); CHECK(ok == n); } - /* BITTAL: las tablas en RAM, SELECT recorre las páginas, ENV y LFO saltan a la suya, ALGORITHM elige tabla */ - ch(4); - page(BTN_EDIT, PG_SOUND); + /* BITTAL: las tablas en RAM, y otra tabla para el oscilador 1 las vuelve a armar */ run_ms(80); CHECK(bm_wt_ready(0) && bm_wt_frames(0) >= 1); - app.ed_page[4] = 0; - shot("57-bittal-table"); - enc(ENC_SELECT, 1); enc(ENC_SELECT, 1); enc(ENC_SELECT, 1); enc(ENC_SELECT, 1); - CHECK(app.page == PG_SOUND && app.ed_page[4] == 4); /* FILTER */ - int ft = app.pat.prm[4][BT_FT]; - enc(ENC_K1, 1); run_ms(20); - CHECK(app.pat.prm[4][BT_FT] == ft + 1); - btn(BTN_ENV, 20); run_ms(20); - CHECK(app.ed_page[4] == bm_engine_page_of(ENG_BITTAL, EPG_ENV1) && app.ed_page[4] == 6); /* ENV 1 */ - btn(BTN_ENV, 20); run_ms(20); - CHECK(app.ed_page[4] == bm_engine_page_of(ENG_BITTAL, EPG_ENV2) && app.ed_page[4] == 7); /* otra vez: ENV 2 */ - shot("58-bittal-env"); - btn(BTN_LFO, 20); run_ms(20); - CHECK(app.ed_page[4] == bm_engine_page_of(ENG_BITTAL, EPG_LFO)); - app.ed_page[4] = 9; - shot("59-bittal-macros"); uint32_t sig = app.wt_sig[0]; - enc(ENC_ALGO, 1); enc(ENC_ALGO, 1); enc(ENC_ALGO, 1); run_ms(80); /* otra tabla para el oscilador 1 */ + app_push(&app, CMD_SET_PRM, 4, BT_TAB1, 3); + run_ms(80); CHECK(app.pat.prm[4][BT_TAB1] == 3 && app.wt_sig[0] != sig && bm_wt_ready(0)); - app.ed_page[4] = BM_BT_PAGES - 1; - enc(ENC_SELECT, 1); - CHECK(app.page != PG_SOUND); - /* BUNO-6: ALGORITHM = el chorus */ - ch(5); - page(BTN_EDIT, PG_SOUND); - int chm = app.pat.prm[5][BN_CHORUS]; - enc(ENC_ALGO, 1); - CHECK(app.pat.prm[5][BN_CHORUS] == (chm + 1) % BN_CHORUSES); - app.ed_page[5] = 2; - run_ms(1600); /* sin el aviso del chorus encima */ - shot("60-buno-dco"); - app.ed_page[5] = 7; - shot("60b-buno-chorus"); - btn(BTN_LFO, 20); run_ms(20); /* LFO: la página LFO (la primera, como en el panel) */ - CHECK(app.page == PG_SOUND && app.ed_page[5] == 0); - btn(BTN_ENV, 20); run_ms(20); - CHECK(app.ed_page[5] == 6); - app.ed_page[5] = 4; /* VCF MOD: K2 = la macro LFO (la de SEQ) */ - int lfo = app.pat.trk[5].macro[3]; - enc(ENC_K2, 2); run_ms(20); - CHECK(app.pat.trk[5].macro[3] == lfo + 2); - shot("60c-buno-vcf-mod"); + /* BUNO-6: el chorus */ + app_push(&app, CMD_SET_PRM, 5, BN_CHORUS, 1); + run_ms(40); + CHECK(app.pat.prm[5][BN_CHORUS] == 1); /* batería modelada: los 3 kits, los 16 instrumentos de cada uno suenan */ ch(0); - page(BTN_EDIT, PG_SOUND); - shot("55-bateria"); wav_open("bateria.wav"); for (int k = 0; k < BM_KITS_N; k++) { - while (app.pat.trk[0].source != k) { enc(ENC_PRESETS, 1); run_ms(20); } + preset_to(0, k); int ok = 0; for (int l = 0; l < BM_LANES; l++) { uint8_t n = (uint8_t)l; @@ -1717,19 +737,6 @@ static void test_engines(void) CHECK(ok == BM_LANES); } wav_close(); - /* INSTR: el instrumento elegido con su modelo */ - page(BTN_EDIT, PG_INST); - CHECK(app.ed_page[0] == 0 && bm_app_ed_on(&app)); - shot("61-instrumento"); - int tune = app.pat.tr[0].lane[app.sel_lane[0]].tune; - enc(ENC_K1, 2); run_ms(20); - CHECK(app.pat.tr[0].lane[app.sel_lane[0]].tune == tune + 2); - btn(BTN_EDIT, 20); run_ms(20); /* página INSTRUMENTO: el modelo */ - CHECK(app.page == PG_INST && app.ed_page[0] == 1); - int model = app.pat.tr[0].lane[app.sel_lane[0]].model; - enc(ENC_K1, 1); run_ms(20); - CHECK(app.pat.tr[0].lane[app.sel_lane[0]].model == (model + 1) % DRM_COUNT || model == DRM_COUNT - 1); - shot("61b-instrumento-modelo"); for (int i = 0; i < BM_TRACKS; i++) app.pat.trk[i].mute = 0; peak_abs = 0; @@ -1739,163 +746,65 @@ static void test_engines(void) CHECK(peak_abs > 0.05 && peak_abs <= 1.0); } -/* ------------------------------------------------------------ MACHINE: la máquina de T3-T6 */ -static int notes_of(int t) -{ - int n = 0; - for (int s = 0; s < BM_STEPS; s++) - for (int k = 0; k < BM_EVENTS; k++) n += !bm_event_empty(bm_evc(&app.pat, t, s, k)); - return n; -} - static void test_machines(void) { - printf("máquinas en T3-T6: MACHINE (2 s en una la carga), las pesadas una vez, presets por máquina\n"); + printf("máquinas: las 6 de la etapa 1, las pesadas una vez, presets por máquina\n"); /* el núcleo: qué máquina va en cada canal, las pesadas y el cambio */ - for (int t = 2; t < BM_TRACKS; t++) - for (int e = ENG_ACID; e < ENG_COUNT; e++) CHECK(bm_engine_ok(t, e)); + /* 2026-10-21: solo la batería y el Slicer son fijos; T3-T6 eligen entre las 5 (BITTAL y BX-7 también) */ + CHECK(BM_MACHINES == 5 && bm_machines[3] == ENG_BITTAL && bm_machines[4] == ENG_FM); + for (int t = 2; t < BM_TRACKS; t++) for (int i = 0; i < BM_MACHINES; i++) CHECK(bm_engine_ok(t, bm_machines[i])); + for (int t = 0; t < BM_TRACKS; t++) CHECK(app_fixed(t) == (t == 0 || t == 1) && BM_ORDER[app_pos(t)] == t); CHECK(bm_engine_ok(0, ENG_DRUM) && bm_engine_ok(1, ENG_BREAK) && !bm_engine_ok(0, ENG_FM) && !bm_engine_ok(1, ENG_ACID)); CHECK(!bm_engine_ok(2, ENG_DRUM) && !bm_engine_ok(5, ENG_BREAK)); - CHECK(bm_engine_heavy(ENG_BUNO) && bm_engine_heavy(ENG_BITTAL) && !bm_engine_heavy(ENG_FM) && !bm_engine_heavy(ENG_ACID) && !bm_engine_heavy(ENG_MINI)); + CHECK(bm_engine_heavy(ENG_BUNO) && bm_engine_heavy(ENG_BITTAL) && bm_engine_heavy(ENG_FM) && !bm_engine_heavy(ENG_ACID) && !bm_engine_heavy(ENG_MINI)); static bm_pattern p, q; static uint8_t b[BM_PENDING_LEN]; bm_pattern_init(&p); + static const char *const FACTORY[BM_TRACKS] = {"BR-8", "BP-1", "BB-303", "B-MINI", "BITTAL", "BUNO-6"}; + for (int t = 0; t < BM_TRACKS; t++) CHECK(strcmp(bm_engine_names[p.trk[t].engine], FACTORY[t]) == 0); CHECK(bm_machine_conflict(&p, 2, ENG_BUNO) == 5 && bm_machine_conflict(&p, 2, ENG_BITTAL) == 4); - CHECK(bm_machine_conflict(&p, 2, ENG_FM) < 0 && bm_machine_conflict(&p, 5, ENG_BUNO) < 0); + CHECK(bm_machine_conflict(&p, 2, ENG_MINI) < 0 && bm_machine_conflict(&p, 5, ENG_BUNO) < 0); bm_track_set_engine(&p, 2, ENG_BUNO); /* BUNO-6 ya está en T6: no */ CHECK(p.trk[2].engine == ENG_ACID); + CHECK(bm_heavy_count(&p, -1) == 2); + bm_track_set_engine(&p, 2, ENG_FM); /* una tercera pesada: no */ + CHECK(p.trk[2].engine == ENG_ACID); + bm_track_set_engine(&p, 5, ENG_MINI); /* con una menos, BX-7 entra */ + bm_track_set_engine(&p, 2, ENG_FM); + CHECK(p.trk[2].engine == ENG_FM && bm_heavy_count(&p, -1) == 2); + bm_track_set_engine(&p, 2, ENG_ACID); + bm_track_set_engine(&p, 5, ENG_BUNO); + CHECK(p.trk[2].engine == ENG_ACID && p.trk[5].engine == ENG_BUNO); bm_event *e = bm_ev(&p, 3, 4, 0); e->note = 60; e->vel = 99; e->len = 3; e->lk[1] = 99; p.trk[3].length = 24; p.trk[3].level = 77; - bm_track_set_engine(&p, 3, ENG_MINI); /* las notas quedan, sin P-Locks */ - CHECK(p.trk[3].engine == ENG_MINI && e->note == 60 && e->vel == 99 && e->len == 3 && e->lk[1] == BM_LOCK_NONE); + bm_track_set_engine(&p, 3, ENG_ACID); /* las notas quedan, sin P-Locks */ + CHECK(p.trk[3].engine == ENG_ACID && e->note == 60 && e->vel == 99 && e->len == 3 && e->lk[1] == BM_LOCK_NONE); CHECK(p.trk[3].length == 24 && p.trk[3].level == 77 && p.trk[3].source == 0); - CHECK(memcmp(p.trk[3].macro, bm_snap_get(ENG_MINI, 0) + 36, 4) == 0); /* al leer un patrón, una pesada repetida vuelve a la máquina de fábrica de su canal */ p.trk[3].engine = ENG_BUNO; int n = bm_pattern_pack(&p, b, sizeof b); CHECK(n > 0 && bm_pattern_unpack(&q, b, n) == n); - CHECK(q.trk[5].engine == ENG_BUNO && q.trk[3].engine == ENG_FM && bm_evc(&q, 3, 4, 0)->note == 60); - p.trk[4].engine = ENG_FM; p.trk[2].engine = ENG_BITTAL; p.trk[3].engine = ENG_BITTAL; /* ninguna en la suya: queda la primera */ + CHECK(q.trk[5].engine == ENG_BUNO && q.trk[3].engine == ENG_MINI && bm_evc(&q, 3, 4, 0)->note == 60); + p.trk[5].engine = ENG_ACID; p.trk[2].engine = ENG_BUNO; p.trk[3].engine = ENG_BUNO; /* ninguna en la suya: queda la primera */ + n = bm_pattern_pack(&p, b, sizeof b); + CHECK(bm_pattern_unpack(&q, b, n) == n && q.trk[2].engine == ENG_BUNO && q.trk[3].engine == ENG_MINI && q.trk[5].engine == ENG_ACID && q.trk[4].engine == ENG_BITTAL); + p.trk[3].engine = ENG_FM; /* tres pesadas: la que no es de su canal vuelve a la de fábrica */ n = bm_pattern_pack(&p, b, sizeof b); - CHECK(bm_pattern_unpack(&q, b, n) == n && q.trk[2].engine == ENG_BITTAL && q.trk[3].engine == ENG_FM && q.trk[4].engine == ENG_FM); + CHECK(bm_pattern_unpack(&q, b, n) == n && q.trk[3].engine == ENG_MINI && q.trk[2].engine == ENG_BUNO && q.trk[4].engine == ENG_BITTAL); + p.trk[2].engine = ENG_ACID; /* con dos, la BX-7 se queda */ + n = bm_pattern_pack(&p, b, sizeof b); + CHECK(bm_pattern_unpack(&q, b, n) == n && q.trk[3].engine == ENG_FM); /* PRESETS: solo los sonidos de la máquina del canal */ boot(1); - CHECK(bm_sound_count(&app, 2) == BM_AC_PRESETS && bm_sound_count(&app, 3) == bm_fm_count()); + CHECK(bm_sound_count(&app, 2) == BM_AC_PRESETS && bm_sound_count(&app, 3) == bm_snap_count(ENG_MINI)); CHECK(bm_sound_count(&app, 4) == bm_snap_count(ENG_BITTAL) && bm_sound_count(&app, 5) == bm_snap_count(ENG_BUNO)); ch(2); enc(ENC_PRESETS, -1); run_ms(20); /* da la vuelta dentro del BB-303 */ CHECK(app.pat.trk[2].source == BM_AC_PRESETS - 1 && app.pat.trk[2].engine == ENG_ACID); CHECK(app.pat.trk[2].macro[0] == bm_ac_presets[BM_AC_PRESETS - 1].cut && strcmp(bm_sound_name(&app, 2), bm_ac_presets[BM_AC_PRESETS - 1].name) == 0); - /* la tarjeta del canal (0.9): en HOME, la blanca de T4 sostenida + ALGORITHM; 2 s en una la carga */ - for (int i = 0; i < 4 && app.view != V_HOME; i++) btn(BTN_HOME, 30); - int n4 = notes_of(3); - CHECK(n4 > 0); - int k4 = bm_white_key(BM_PATTERNS + 3); - kdown(k4); run_ms(150); - CHECK(app.track == 3 && !app.card); /* al bajar: el cursor */ - run_ms(300); - CHECK(app.card == 4 && app.mach_trk == 3 && app.mach_sel == ENG_FM && !app.mach_arm); - CHECK(keys()[k4].led == LED_BREATH); - const char *s, *al, *pr; - bm_app_bigknobs(&app, &s, &al, &pr); - CHECK(strcmp(al, "MACHINE") == 0 && strcmp(pr, "PATCH") == 0); - shot("67-card"); - enc(ENC_ALGO, -1); /* a B-MINI: corre la cuenta */ - CHECK(app.mach_sel == ENG_MINI && app.mach_arm == 1 && app.card_turn); - run_ms(1000); - shot("67b-card-countdown"); - CHECK(app.pat.trk[3].engine == ENG_FM); - enc(ENC_ALGO, 1); /* irse antes de los 2 s: nada */ - CHECK(app.mach_sel == ENG_FM && !app.mach_arm); - run_ms(2500); - CHECK(app.pat.trk[3].engine == ENG_FM); - enc(ENC_ALGO, -1); run_ms(1200); enc(ENC_ALGO, -1); run_ms(1200); /* B-MINI 1.2 s y luego BB-303 1.2 s */ - CHECK(app.pat.trk[3].engine == ENG_FM && app.mach_sel == ENG_ACID); - enc(ENC_ALGO, 1); run_ms(2200); /* quedarse 2 s: T4 es B-MINI */ - CHECK(app.pat.trk[3].engine == ENG_MINI && notes_of(3) == n4 && app.card == 4 && !app.mach_arm); - CHECK(strcmp(app.toast, "T4 = B-MINI") == 0 && app.pat.trk[3].source == 0); - enc(ENC_ALGO, 2); /* BITTAL ya está en T5: apagada, sin cuenta */ - CHECK(app.mach_sel == ENG_BITTAL && !app.mach_arm && strcmp(app.toast, "BITTAL ALREADY ON T5") == 0); - shot("67c-card-heavy"); - run_ms(2500); - CHECK(app.pat.trk[3].engine == ENG_MINI); - enc(ENC_ALGO, -1); run_ms(500); /* soltar la tarjeta corta la cuenta */ - CHECK(app.mach_arm == 1); - kup(k4); run_ms(60); - CHECK(app.view == V_HOME && !app.card && !app.mach_arm); /* se giró una perilla: soltar no entra */ - run_ms(2000); - CHECK(app.pat.trk[3].engine == ENG_MINI); - kdown(k4); run_ms(400); /* sin girar nada: soltar = entrar */ - CHECK(app.card == 4); - kup(k4); run_ms(60); - CHECK(app.view == V_CH && app.track == 3 && !app.card); - btn(BTN_HOME, 30); - /* T1 y T2: máquinas fijas; PRESETS en la tarjeta = su sonido */ - int k1 = bm_white_key(BM_PATTERNS); - kdown(k1); run_ms(400); - enc(ENC_ALGO, 1); - CHECK(app.card == 1 && app.pat.trk[0].engine == ENG_DRUM && strcmp(app.toast, "T1 AND T2 ARE FIXED MACHINES") == 0); - kup(k1); run_ms(60); - CHECK(app.view == V_HOME); - int k3 = bm_white_key(BM_PATTERNS + 2), src3 = app.pat.trk[2].source; - kdown(k3); run_ms(400); - enc(ENC_PRESETS, 1); run_ms(40); - CHECK(app.card == 3 && app.pat.trk[2].source == (src3 + 1) % BM_AC_PRESETS); - kup(k3); run_ms(60); - CHECK(app.view == V_HOME && app.track == 2); - /* GLO > MACHINES: SELECT el canal (T3-T6), ALGORITHM la máquina con la misma espera */ - btn(BTN_GLO, 30); btn(BTN_GLO, 30); - CHECK(app.view == V_GLO && app.glo_page == GP_MACH); - enc(ENC_SELECT, -3); - CHECK(app.track == 2); /* no baja a T1 / T2: fijos */ - enc(ENC_ALGO, 1); - CHECK(app.mach_trk == 2 && app.mach_sel == ENG_MINI && app.mach_arm == 1); - run_ms(900); - shot("68-glo-machines"); - run_ms(1300); - CHECK(app.pat.trk[2].engine == ENG_MINI && app.pat.trk[3].engine == ENG_MINI); - btn(BTN_HOME, 30); - - /* BX-7 en T3: polifónico (las voces van por máquina, no por canal) */ - CHECK(app_set_machine(&app, 2, ENG_FM) == 0); - run_ms(40); - CHECK(app.pat.trk[2].engine == ENG_FM); - for (int i = 0; i < BM_TRACKS; i++) app.pat.trk[i].mute = (uint8_t)(i != 2); - bm_cmd c; memset(&c, 0, sizeof c); - static const uint8_t ch3[3] = {48, 55, 64}; - for (int i = 0; i < 3; i++) { c.type = CMD_NOTE_ON; c.a = 2; c.b = ch3[i]; c.c = 100; bm_cmd_push(&app.cmdq, &c); } - run_ms(60); - int v3 = 0; - for (int i = 0; i < BM_VOICES; i++) v3 += app.ctx.voice[i].active && app.ctx.voice[i].track == 2; - CHECK(v3 == 3); - c.type = CMD_ALL_OFF; bm_cmd_push(&app.cmdq, &c); - run_ms(300); - - /* HOME + EDIT: copiar T6 (BUNO-6) a otro canal no duplica la pesada */ - for (int i = 0; i < BM_TRACKS; i++) app.pat.trk[i].mute = 0; - ch(5); - down(BTN_HOME); run_ms(40); btn(BTN_EDIT, 30); up(BTN_HOME); run_ms(60); - CHECK(app.view == V_COPYCH && app.copy_src == 5); - int dst = app.copy_dst, de = app.pat.trk[dst].engine; - btn(BTN_EDIT, 2200); run_ms(100); /* EDIT 2 s = pegar */ - CHECK(app.pat.trk[dst].engine == de && strcmp(app.toast, "BUNO-6 ALREADY ON T6") == 0); - CHECK(app_machine_track(&app, ENG_BUNO) == 5); - - /* copiar T6 a otro patrón que ya tiene BUNO-6 en otro canal: no se copia */ - btn(BTN_HOME, 30); - CHECK(app_set_machine(&app, 5, ENG_ACID) == 0); run_ms(40); - CHECK(app_set_machine(&app, 2, ENG_BUNO) == 0); run_ms(40); - app_job(&app, JOB_COPY_PAT, 1); run_ms(400); /* A02: BUNO-6 en T3 */ - CHECK(app_set_machine(&app, 2, ENG_ACID) == 0); run_ms(40); - CHECK(app_set_machine(&app, 5, ENG_BUNO) == 0); run_ms(40); - app_job(&app, JOB_COPY_TRK, 1 | (5 << 4)); run_ms(400); - CHECK(strcmp(app.toast, "BUNO-6 ALREADY ON T3") == 0); - int len = bm_store_read(&app.store, 1, b, sizeof b); - CHECK(len > 0 && bm_pattern_unpack(&q, b, len) == len && q.trk[2].engine == ENG_BUNO && q.trk[5].engine == ENG_ACID); - CHECK(app.pat.trk[5].engine == ENG_BUNO && app.pat.trk[2].engine == ENG_ACID); } /* Hasta la v1 no hay compatibilidad hacia atrás: un patrón de 0.3 (formato 3) no se lee. */ @@ -1909,8 +818,18 @@ static void test_migrate(void) CHECK(n > 0 && bm_pattern_unpack(&q, b, n) == n); b[offsetof(bm_meta, fmt)] = 3; CHECK(bm_pattern_unpack(&q, b, n) < 0); - b[offsetof(bm_meta, fmt)] = 7; /* 0.7.0: otras páginas y máquinas fijas */ - CHECK(BM_PAT_FMT == 8 && bm_pattern_unpack(&q, b, n) < 0); + b[offsetof(bm_meta, fmt)] = 8; /* 0.9: sin la voz de la BX-7 */ + CHECK(BM_PAT_FMT == 10 && bm_pattern_unpack(&q, b, n) < 0); + { /* el 9 (prm de 48) sí se lee: los efectos de panel, de fábrica */ + static uint8_t b9[BM_PENDING_LEN]; + int h = 64 + (int)sizeof p.trk; + memcpy(b9, b, (size_t)h); + b9[offsetof(bm_meta, fmt)] = 9; + for (int t = 0; t < BM_TRACKS; t++) memcpy(b9 + h + t * 48, p.prm[t], 48); + memcpy(b9 + h + BM_TRACKS * 48, b + h + (int)sizeof p.prm, (size_t)(n - h - (int)sizeof p.prm)); + int n9 = n - BM_TRACKS * (BM_PRM - 48); + CHECK(bm_pattern_unpack(&q, b9, n9) == n9 && !memcmp(q.prm[3], p.prm[3], 48) && q.prm[3][PX_DS_G] == p.prm[3][PX_DS_G]); + } /* al arrancar, un patrón de formato 7 en la flash se borra (sin conversión) */ bm_sim_flash_erase_all(&sim); bm_platform pf; @@ -1925,88 +844,6 @@ static void test_migrate(void) CHECK(!bm_store_has(&app.store, 3) && app.pat.trk[2].engine == ENG_ACID); } -static void test_loop(void) -{ - printf("loopera: graba, cierra y vuelve a sonar\n"); - boot(1); - ch(3); - page(BTN_SEQ, PG_SEQ); - btn(BTN_SEQ, 30); - CHECK(app.page == PG_LOOP); - enc(ENC_K2, -1); /* 1 compás */ - btn(BTN_REC, 30); - CHECK(app.ctx.st.loop_mode[1] == LOOP_ARMED); - btn(BTN_PLAY, 20); - run_ms(100); - CHECK(app.ctx.st.loop_mode[1] == LOOP_REC); - key(bm_white_key(2), 120); run_ms(300); key(bm_white_key(5), 120); - run_ms(2600); - CHECK(app.ctx.st.loop_mode[1] == LOOP_PLAY); - CHECK(app.pat.loop[1].n >= 4); - shot("16-loop"); - down(BTN_REC); run_ms(2200); up(BTN_REC); run_ms(60); - CHECK(app.pat.loop[1].n == 0); /* REC 2 s en LOOP: borra el loop */ - btn(BTN_PLAY, 20); -} - -static void test_notes(void) -{ - printf("notas: negras = escala en el paso, acento de 3 niveles, REC sostenido\n"); - boot(1); - ch(2); - page(BTN_SEQ, PG_SEQ); - kdown(bm_white_key(7)); run_ms(400); - black(0, 40); black(2, 40); /* paso 8 (vacío): dos notas de la escala */ - enc(ENC_SELECT, 1); /* acento */ - shot("03-seq-hold"); - kup(bm_white_key(7)); run_ms(60); - int n = 0, acc = 0; - for (int k = 0; k < BM_EVENTS; k++) { - const bm_event *e = bm_evc(&app.pat, 2, 7, k); - if (!bm_event_empty(e)) { n++; if (e->vel == BM_VEL_ACC) acc++; } - } - CHECK(n == 2 && acc == 2); - /* capa LARGO: negras 7-10 = compases completos */ - down(BTN_SEQ); run_ms(400); black(7, 40); up(BTN_SEQ); run_ms(60); - CHECK(app.pat.trk[2].length == 32); - shot("06b-seq-notes"); - /* REC sostenido: graba solo mientras lo sostienes */ - btn(BTN_PLAY, 20); run_ms(200); - down(BTN_REC); run_ms(400); - CHECK(app.rec); - up(BTN_REC); run_ms(60); - CHECK(!app.rec); - /* REC sostenido 2.5 s mientras graba notas: solo graba, nunca borra la pista */ - int ev0 = 0, ev1 = 0; - for (int s = 0; s < BM_STEPS; s++) for (int k = 0; k < BM_EVENTS; k++) ev0 += !bm_event_empty(bm_evc(&app.pat, 2, s, k)); - CHECK(ev0 > 0); - run_ms(100); - down(BTN_REC); run_ms(400); - CHECK(app.rec && app.rec_hold); - key(bm_white_key(4), 150); /* una nota grabada */ - run_ms(2000); - { - int hid = -1; - CHECK(bm_gesture_progress(&app.ges, app.now, &hid) < 0); /* sin anillo: tocar canceló los 2 s */ - } - up(BTN_REC); run_ms(60); - for (int s = 0; s < BM_STEPS; s++) for (int k = 0; k < BM_EVENTS; k++) ev1 += !bm_event_empty(bm_evc(&app.pat, 2, s, k)); - CHECK(!app.rec); - CHECK(strncmp(app.toast, "T3 ERASED", 9) != 0); - CHECK(ev1 >= ev0 - 2); /* la nota nueva puede reemplazar un paso, no borra la pista */ - btn(BTN_PLAY, 20); - /* BB-303 no tiene LFO: un toque deja abierta la capa LIGAR */ - CHECK(strcmp(bm_track_name(&app, 2), "BB-303") == 0); - btn(BTN_LFO, 30); - { - bm_keyfn K[BM_KEYS]; char title[24]; uint16_t col; const char *h1, *h2; - bm_app_keymap(&app, K, title, sizeof title, &col, &h1, &h2); - CHECK(app.layer == L_REP && app.layer_latch && strcmp(title, "TIE") == 0 && sim.leds[BTN_LFO] == LED_BREATH); - } - btn(BTN_LFO, 30); - CHECK(app.layer == L_NONE && !app.layer_latch); -} - /* ------------------------------------------------------------ guardado y versiones */ /* el audio en dos núcleos: repartido (aquí en la misma tarea) suena exactamente igual */ static void par_go_sim(void *u, uint32_t done, uint32_t n) { bm_audio_par_process((bm_ctx *)u, done, n); } @@ -2258,6 +1095,7 @@ static void test_brake(void) printf("voice brake: a cap that new notes respect, and that goes back up\n"); static int32_t b[256 * 2]; boot(1); + put_fm_on_t4(); /* T4 polifónico, como en las pruebas de antes */ bm_audio_overload(&app.ctx); /* load from elsewhere, no pool voices: not below the floor */ CHECK(app.ctx.pool_cap == BM_POOL_MIN); for (int i = 0; i < BM_V_POOL_N; i++) bm_audio_relief(&app.ctx); @@ -2341,15 +1179,13 @@ static void test_sounds(void) btn(BTN_PLAY, 20); /* PRESETS en T5 llega al sonido del usuario; en T4, a la voz del banco */ ch(4); - page(BTN_EDIT, PG_SOUND); while (app.pat.trk[4].source != nb) { enc(ENC_PRESETS, 1); run_ms(20); } run_ms(80); static const uint8_t chord[3] = {57, 60, 64}; CHECK(solo_peak(4, chord, 3, 100, 500) > 0.015); - ch(3); - page(BTN_EDIT, PG_SOUND); - app.pat.trk[3].source = (uint8_t)(BM_FM_PATCHES + 20); - CHECK(strcmp(bm_sound_name(&app, 3), "MY BELL") == 0); + put_fm_on_t4(); + CHECK(bm_sound_count(&app, 3) == BM_FM_PATCHES); /* BX-7: los bancos de usuario, apagados por ahora (2026-10-21) */ + memcpy(app.pat.fmv, bm_fm_patch(BM_FM_PATCHES + 20), BM_FM_PATCH); app.ctx.fmv_gen++; /* la voz igual se puede cargar */ CHECK(solo_peak(3, chord, 3, 100, 400) > 0.02); /* se quedan al reiniciar */ boot(0); @@ -2361,61 +1197,16 @@ static void test_sounds(void) static void test_rec_expressive(void) { - printf("REC expresivo: nota larga con dos blancas, gate y micro en REC, grabación en vivo y corte al compás\n"); + printf("REC expresivo (PLAY/REC): la nota guarda su largo real, el compás la corta, el REC sigue lo que se toca\n"); boot(1); - ch(3); /* BX-7: notas en los pasos 11 y 27 */ - CHECK(app.page == PG_SEQ); - for (int k = 0; k < BM_EVENTS; k++) { bm_event e; bm_event_clear(&e); app_push_ev(&app, 3, 0, k, &e); } - run_ms(40); - /* blanca 1 sostenida + blanca 5: una nota de 5 pasos, y la estela en las luces */ - kdown(bm_white_key(0)); run_ms(60); - kdown(bm_white_key(4)); run_ms(60); kup(bm_white_key(4)); run_ms(40); - kup(bm_white_key(0)); run_ms(60); - const bm_event *e0 = bm_evc(&app.pat, 3, 0, 0); - CHECK(!bm_event_empty(e0) && (e0->len & BM_LEN_MASK) == 5); - bm_keyfn K[BM_KEYS]; - bm_app_keys(&app, K); - CHECK(K[bm_white_key(0)].led == LED_ON && K[bm_white_key(2)].led == LED_MID && K[bm_white_key(6)].led == LED_OFF); - shot("52-seq-long-note"); - /* REC: SELECT el paso, ALGORITHM el gate, PRESETS el micro */ - btn(BTN_REC, 30); - CHECK(app.rec); - enc(ENC_SELECT, -1); - CHECK(app.rec_step == 0); - enc(ENC_ALGO, -1); enc(ENC_ALGO, -1); enc(ENC_ALGO, -1); enc(ENC_ALGO, -1); /* el paso entero (95) -> 75 */ - CHECK(e0->gate == 75 && !(e0->len & BM_LEN_TIE) && app.rec_gate == 75); - for (int i = 0; i < 6; i++) enc(ENC_ALGO, 1); /* hasta 100 = TIE */ - CHECK((e0->len & BM_LEN_TIE) && e0->gate == 0); - enc(ENC_ALGO, -1); enc(ENC_ALGO, -1); enc(ENC_ALGO, -1); /* 100 -> 85 */ - enc(ENC_PRESETS, 1); enc(ENC_PRESETS, 1); enc(ENC_PRESETS, 1); - CHECK(e0->micro == 3); - shot("51-rec-gate-micro"); - static uint8_t b1[BM_PENDING_LEN]; - static bm_pattern q; - int n = bm_pattern_pack(&app.pat, b1, sizeof b1); - CHECK(n > 0 && bm_pattern_unpack(&q, b1, n) == n); - CHECK(bm_evc(&q, 3, 0, 0)->gate == 85 && bm_evc(&q, 3, 0, 0)->micro == 3 && (bm_evc(&q, 3, 0, 0)->len & BM_LEN_MASK) == 5); - btn(BTN_REC, 30); - CHECK(!app.rec); - /* el micro-timing suena corrido: la nota del paso 1 entra 3 ticks tarde */ - for (int k = 0; k < BM_EVENTS; k++) /* (solo los que hay: la cola tiene 128 comandos) */ - for (int s = 1; s < 64; s++) if (!bm_event_empty(bm_evc(&app.pat, 3, s, k))) { bm_event e; bm_event_clear(&e); app_push_ev(&app, 3, s, k, &e); run_ms(1); } - { bm_event e = *e0; e.micro = 10; app_push_ev(&app, 3, 0, 0, &e); } - run_ms(400); - down(BTN_PLAY); run_ms(1); up(BTN_PLAY); /* PLAY: el paso 1 empieza ya */ - int early = 0, later = 0; - for (int i = 0; i < 4; i++) { run_ms(5); for (int v = 0; v < BM_VOICES; v++) if (app.ctx.voice[v].active && app.ctx.voice[v].track == 3) early = 1; } - run_ms(50); - for (int v = 0; v < BM_VOICES; v++) if (app.ctx.voice[v].active && app.ctx.voice[v].track == 3) later = 1; - CHECK(!early && later); - btn(BTN_PLAY, 20); - /* REC en vivo: la nota guarda su largo real y el compás la corta */ - for (int k = 0; k < BM_EVENTS; k++) + for (int k = 0; k < BM_EVENTS; k++) /* un canal de notas casi vacío: REC con largo fijo */ for (int s = 0; s < 64; s++) if (!bm_event_empty(bm_evc(&app.pat, 3, s, k))) { bm_event e; bm_event_clear(&e); app_push_ev(&app, 3, s, k, &e); run_ms(1); } - { bm_event e; bm_event_clear(&e); e.note = 60; app_push_ev(&app, 3, 40, 0, &e); } /* canal no vacío: REC con largo fijo */ + { bm_event e; bm_event_clear(&e); e.note = 60; app_push_ev(&app, 3, 40, 0, &e); } run_ms(40); - page(BTN_EDIT, PG_SOUND); /* aquí las blancas tocan notas */ + play_rec(3); + CHECK(app.sloop && app.track == 3 && !app.rec); btn(BTN_REC, 30); + CHECK(app.rec); down(BTN_PLAY); run_ms(1); up(BTN_PLAY); run_ms(1125 - 60); /* hasta el paso 13 (93.75 ms por paso a 160) */ int k5 = bm_white_key(5); @@ -2428,16 +1219,59 @@ static void test_rec_expressive(void) const bm_event *e = bm_evc(&app.pat, 3, s, k); if (bm_event_empty(e) || s == 40) continue; found = 1; - printf(" grabada en el paso %d: %d pasos, gate %d, micro %+d\n", s + 1, e->len & BM_LEN_MASK, e->gate, e->micro); + printf(" grabada en el paso %d: %d pasos, gate %d, micro %d\n", s + 1, e->len & BM_LEN_MASK, e->gate, e->micro); CHECK(s + (e->len & BM_LEN_MASK) <= 16); /* no pasa del compás */ } CHECK(found); + CHECK(!app.rec && app.sloop); + /* QUANT (GLO pág 2): de fábrica 100 % = justo en el paso; 50 % deja la mitad de lo corrido */ + { + static const uint8_t n1[1] = {62}; + int tps = bm_speed_tps[app.pat.trk[3].speed % SPD_COUNT], q0 = -99, q2 = -99; + CHECK(app.pat.trk[3].qfree == 0); + app_rec_at(&app, 0, 3, n1, 1, (uint32_t)(4 * tps + 8)); run_ms(5); + app_set_track(&app, 3, (uint8_t)offsetof(bm_track, qfree), 2); run_ms(5); + app_rec_at(&app, 0, 3, n1, 1, (uint32_t)(6 * tps - 8)); run_ms(5); + for (int k = 0; k < BM_EVENTS; k++) { + const bm_event *e4 = bm_evc(&app.pat, 3, 4, k), *e6 = bm_evc(&app.pat, 3, 6, k); + if (!bm_event_empty(e4) && e4->note == 62) q0 = e4->micro; + if (!bm_event_empty(e6) && e6->note == 62) q2 = e6->micro; + } + printf(" QUANT 100 %%: micro %d · 50 %%: micro %d\n", q0, q2); + CHECK(q0 == 0 && q2 == -4); + app_set_track(&app, 3, (uint8_t)offsetof(bm_track, qfree), 0); run_ms(5); + } + /* el micro-timing suena corrido: una nota con micro 10 en el paso 1 entra tarde */ + btn(BTN_HOME, 30); + for (int k = 0; k < BM_EVENTS; k++) + for (int s = 0; s < 64; s++) if (!bm_event_empty(bm_evc(&app.pat, 3, s, k))) { bm_event e; bm_event_clear(&e); app_push_ev(&app, 3, s, k, &e); run_ms(1); } + { bm_event e; bm_event_clear(&e); e.note = 60; e.len = 1; e.micro = 10; app_push_ev(&app, 3, 0, 0, &e); } + run_ms(400); + down(BTN_PLAY); run_ms(1); up(BTN_PLAY); /* PLAY: el paso 1 empieza ya */ + int early = 0, later = 0; + for (int i = 0; i < 4; i++) { run_ms(5); for (int v = 0; v < BM_VOICES; v++) if (app.ctx.voice[v].active && app.ctx.voice[v].track == 3) early = 1; } + run_ms(50); + for (int v = 0; v < BM_VOICES; v++) if (app.ctx.voice[v].active && app.ctx.voice[v].track == 3) later = 1; + CHECK(!early && later); + btn(BTN_PLAY, 20); } -static void test_demo_and_persist(void) +static void test_factory_and_persist(void) { - printf("demo: audio, autoguardado y recarga\n"); - boot(1); + printf("patrones de fábrica: DA FUNK, BLADE, ENJOY THE SILENCE; escena B muteada; audio, autoguardado y recarga\n"); + boot_with(1, 0); + CHECK(app.pat.meta.bpm_x10 == 1110 && app.ctx.st.pattern == 0 && app.set.factory == BM_FACTORY_VER); + CHECK(app.pat.trk[2].engine == ENG_ACID && bm_acid_fx_on(app.pat.prm[2], ACF_OD) && app.pat.trk[5].engine == ENG_BUNO); + for (int p = 0; p < BM_PATTERNS; p++) CHECK((app.song.scene[p][1].flags & SCN_STORED) && app.song.scene[p][1].trk_mute == 0x3F); + CHECK((app.song.scene[0][0].flags & SCN_STORED) && !(app.song.scene[3][0].flags & SCN_STORED)); + static const uint16_t BPM[3] = {1110, 1360, 1130}; + static uint8_t b[BM_PENDING_LEN]; + static bm_pattern q; + for (int i = 1; i < 3; i++) { /* el 2 y el 3 ya están en la flash */ + int n = bm_store_read(&app.store, (uint8_t)i, b, sizeof b); + CHECK(n > 0 && bm_pattern_unpack(&q, b, n) >= 0 && q.meta.bpm_x10 == BPM[i]); + } + CHECK(!bm_store_has(&app.store, 3)); peak_abs = 0; wav_open("demo.wav"); btn(BTN_PLAY, 20); @@ -2456,13 +1290,27 @@ static void test_demo_and_persist(void) boot(0); int n2 = bm_pattern_pack(&app.pat, b2, sizeof b2); CHECK(n1 > 0 && n1 == n2 && memcmp(b1, b2, (size_t)n1) == 0); - CHECK((app.song.scene[1].flags & SCN_STORED) && app.song.scene[1].trk_mute == 0x38); - CHECK(app.pat.trk[4].engine == ENG_BITTAL && app.pat.trk[2].engine == ENG_ACID && app.pat.trk[5].engine == ENG_BUNO && app.pat.meta.bpm_x10 == 1600); + CHECK((app.song.scene[0][1].flags & SCN_STORED) && app.song.scene[0][1].trk_mute == 0x3F && app.song.scene[0][2].trk_mute == 0x04); + CHECK(app.pat.meta.bpm_x10 == 1110 && bm_store_has(&app.store, 1) && bm_store_has(&app.store, 2)); + + /* otros patrones de fábrica (ajustes con otro BM_FACTORY_VER): los guardados se borran una vez; + * los ajustes se quedan */ + bm_store_write(&app.store, 6, b1, (uint16_t)n1); + bm_settings st = app.set; + st.factory = 0; st.led_dim = 3; + bm_store_write_glob(&app.store, (const uint8_t *)&st, sizeof st); + boot(0); + CHECK(!bm_store_has(&app.store, 6) && bm_store_has(&app.store, 1) && app.pat.meta.bpm_x10 == 1110); + CHECK(app.set.factory == BM_FACTORY_VER && app.set.led_dim == 3); + run_ms(UI_AUTOSAVE_MS + 1500); + bm_store_write(&app.store, 6, b1, (uint16_t)n1); + boot(0); + CHECK(bm_store_has(&app.store, 6)); /* la segunda vez ya no borra */ } static void test_old_version(void) { - printf("datos de 0.2: borra y arranca con la demo\n"); + printf("datos de 0.2: borra y arranca con los de fábrica\n"); bm_sim_flash_erase_all(&sim); bm_platform pf; bm_sim_platform(&sim, &pf); @@ -2475,7 +1323,7 @@ static void test_old_version(void) bm_store_write(&st, 7, pat, sizeof pat); boot(0); CHECK(!bm_store_has(&app.store, 7)); - CHECK(app.pat.trk[1].source == BM_SRC_NONE && app.pat.tr[0].st[0][0] & ST_ON); /* la demo (sin tomas) */ + CHECK(app.pat.trk[1].source == BM_SRC_NONE && app.pat.tr[0].st[0][0] & ST_ON); /* DA FUNK (sin tomas) */ } /* Lo que cuesta dibujar cada pantalla (el cuadro entero, las 30 franjas), en la PC. El FM-1 es @@ -2523,22 +1371,7 @@ static void draw_one(const char *name) printf(" %-7s %5.0f us %5ld exp/log/sin\n", name, us, m); } -static void draw_pages(int t, int pg, const char *name) -{ - int n = 0; - ch(t); - page(BTN_EDIT, pg); - run_ms(80); - bm_app_ed_pages(&app, t, &n); - long m[16]; - printf(" %-7s", name); - for (int p = 0; p < n && p < 16; p++) { app.ed_page[t] = (uint8_t)p; printf(" %5.0f", draw_us(&m[p])); } - printf(" us/cuadro por pagina de SOUND\n %-7s", ""); - for (int p = 0; p < n && p < 16; p++) printf(" %5ld", m[p]); - printf(" exp/log/sin por cuadro\n"); -} - -static void test_draw_cost(void) +static void test_draw_cost(void) { printf("pantalla: costo de dibujar un cuadro entero (PC)\n"); boot(1); @@ -2547,52 +1380,29 @@ static void test_draw_cost(void) btn(BTN_PLAY, 20); run_ms(300); draw_one("HOME"); - ch(0); page(BTN_SEQ, PG_SEQ); + seq0(); draw_one("SEQ TR"); - ch(2); page(BTN_SEQ, PG_SEQ); - draw_one("SEQ T3"); - ch(1); page(BTN_EDIT, PG_PADS); - draw_one("PADS"); - draw_pages(0, PG_INST, "BR-8"); - draw_pages(2, PG_SOUND, "BB-303"); - draw_pages(3, PG_SOUND, "BX-7"); - draw_pages(4, PG_SOUND, "BITTAL"); - draw_pages(5, PG_SOUND, "BUNO-6"); - ch(3); /* 0.9: PIANO ROLL, SLOOP, la tarjeta y el GLO de la consola */ - app.set.note_view |= 1u << 3; - page(BTN_SEQ, PG_SEQ); - draw_one("ROLL"); - app.set.note_view &= (uint8_t)~(1u << 3); - btn(BTN_HOME, 30); + ch(3); /* PLAY/REC: PIANO ROLL de un canal de notas */ + white(BM_CH_W0 + app_pos(3), 40); + draw_one("PLAY"); btn(BTN_REC, 30); - draw_one("SLOOP"); - btn(BTN_REC, 30); - kdown(bm_white_key(BM_PATTERNS + 3)); run_ms(400); - draw_one("CARD"); - enc(ENC_K1, 1); kup(bm_white_key(BM_PATTERNS + 3)); run_ms(40); /* girar: soltar no entra */ - btn(BTN_GLO, 30); btn(BTN_GLO, 30); + draw_one("REC"); + to_home(); + btn(BTN_GLO, 30); draw_one("GLO"); btn(BTN_HOME, 30); - CHECK(app_set_machine(&app, 2, ENG_MINI) == 0); - run_ms(40); - draw_pages(2, PG_SOUND, "B-MINI"); - /* el caché sigue a los parámetros: otro corte cambia la curva, volver deja el mismo dibujo */ - app.ed_page[2] = 5; /* B-MINI: FILTER */ - app.ov.on = 0; app.toast_until = 0; - app.scr.force = 1; bm_screen_render(&app.scr, bm_app_draw, &app, app.pf.blit, app.pf.user); - static uint16_t ref[240 * 240]; - memcpy(ref, sim.fb, sizeof ref); - uint8_t cut = app.pat.trk[2].macro[0]; - app.pat.trk[2].macro[0] = (uint8_t)(cut > 60 ? cut - 40 : cut + 40); - app.scr.force = 1; bm_screen_render(&app.scr, bm_app_draw, &app, app.pf.blit, app.pf.user); - CHECK(memcmp(ref + 57 * 240, sim.fb + 57 * 240, 78 * 240 * 2) != 0); /* la curva, no solo la perilla */ - app.pat.trk[2].macro[0] = cut; - app.scr.force = 1; bm_screen_render(&app.scr, bm_app_draw, &app, app.pf.blit, app.pf.user); - CHECK(memcmp(ref, sim.fb, sizeof ref) == 0); + btn(BTN_SAVE, 30); + draw_one("SAVE"); + btn(BTN_HOME, 30); + ch(1); + white(BM_CH_W0 + app_pos(1), 40); + draw_one("PLAY T2"); + btn(BTN_HOME, 30); app.scr.budget = budget; btn(BTN_PLAY, 20); run_ms(2000); - /* entrar a una página: el redibujo entero se reparte en varios ticks y termina igual que de una vez */ + /* cambiar de pantalla: el redibujo entero se reparte en varios ticks y termina igual que de una vez */ + static uint16_t ref[240 * 240]; app.ov.on = 0; app.toast_until = 0; memset(sim.fb, 0, sizeof sim.fb); app.scr.force = 1; sim.spi_bytes = 0; @@ -2601,7 +1411,7 @@ static void test_draw_cost(void) int n = 1; while (app.scr.pending && n < 10) { bm_app_tick(&app, now_ms); n++; } printf(" redibujo entero: %d ticks de hasta %u B\n", n, (unsigned)BM_SCR_BUDGET); - CHECK(!app.scr.pending && n == 3); + CHECK(!app.scr.pending && n >= 2 && n <= 4); memcpy(ref, sim.fb, sizeof ref); app.scr.budget = 0; app.scr.force = 1; bm_app_tick(&app, now_ms); @@ -2613,918 +1423,1847 @@ static void test_draw_cost(void) CHECK(app.scr.frames - f0 == 25); } -static void test_spi_budget(void) +static void spi_avg(const char *name) { - printf("pantalla: bytes por frame en SEQ sonando\n"); - boot(1); - ch(0); - page(BTN_SEQ, PG_SEQ); - btn(BTN_PLAY, 20); - run_ms(500); uint32_t maxb = 0, sum = 0; - for (int i = 0; i < 60; i++) { - sim.spi_bytes = 0; - run_ms(33); - if (sim.spi_bytes > maxb) maxb = sim.spi_bytes; - sum += sim.spi_bytes; - } - printf(" promedio %u B/frame, máximo %u B (presupuesto ~37 KB a 12 MHz)\n", sum / 60, maxb); - CHECK(sum / 60 < 37000); - ch(1); - sum = 0; - for (int i = 0; i < 60; i++) { sim.spi_bytes = 0; run_ms(33); sum += sim.spi_bytes; } - printf(" sampler SEQ: promedio %u B/frame\n", sum / 60); - CHECK(sum / 60 < 37000); - /* 0.9: el PIANO ROLL (el loop entero) y SLOOP (la consola tocando una máquina), sonando */ - ch(3); - app.set.note_view |= 1u << 3; - page(BTN_SEQ, PG_SEQ); - run_ms(300); - sum = 0; maxb = 0; - for (int i = 0; i < 60; i++) { sim.spi_bytes = 0; run_ms(33); sum += sim.spi_bytes; if (sim.spi_bytes > maxb) maxb = sim.spi_bytes; } - printf(" PIANO ROLL: promedio %u B/frame, máximo %u B\n", sum / 60, maxb); - CHECK(sum / 60 < 37000); - app.set.note_view &= (uint8_t)~(1u << 3); - btn(BTN_HOME, 30); - btn(BTN_REC, 30); run_ms(300); - sum = 0; maxb = 0; for (int i = 0; i < 60; i++) { sim.spi_bytes = 0; run_ms(33); sum += sim.spi_bytes; if (sim.spi_bytes > maxb) maxb = sim.spi_bytes; } - printf(" SLOOP: promedio %u B/frame, máximo %u B\n", sum / 60, maxb); + printf(" %-10s promedio %u B/frame, máximo %u B (presupuesto ~37 KB a 12 MHz)\n", name, sum / 60, maxb); CHECK(sum / 60 < 37000); - btn(BTN_REC, 30); - btn(BTN_PLAY, 20); } -static void test_ui_flow(void) +static void test_spi_budget(void) { - printf("interfaz: recorrido de pantallas (capturas)\n"); + printf("pantalla: bytes por frame sonando\n"); boot(1); btn(BTN_PLAY, 20); - run_ms(900); - shot("01-home-play"); - ch(0); - page(BTN_SEQ, PG_SEQ); - black(4, 30); /* negra 5: SNARE */ - CHECK(app.sel_lane[0] == 4); - int k = bm_white_key(4); - kdown(k); run_ms(400); - bm_app_encoder(&app, ENC_K2, 5, now_ms); run_ms(60); - bm_app_encoder(&app, ENC_ALGO, 1, now_ms); run_ms(60); - shot("03-seq-plock"); - kup(k); run_ms(60); - CHECK(bm_tr_lock_get(&app.pat.tr[0], 4, 4, 1) >= 0); - CHECK(((app.pat.tr[0].st[4][4] & ST_RAT_MASK) >> ST_RAT_SH) == 1); - down(BTN_SEQ); run_ms(1200); - shot("04-hold-ring"); - run_ms(1000); up(BTN_SEQ); run_ms(60); - CHECK(app.view == V_TIME); - enc(ENC_SELECT, 1); enc(ENC_SELECT, 1); enc(ENC_K2, 1); - CHECK(app.pat.trk[2].speed == SPD_X3_2); - shot("05-time"); - ch(2); - enc(ENC_K1, -6); - shot("07-overlay"); - run_ms(1700); - ch(0); - page(BTN_EDIT, PG_SOUND); - shot("08-kit"); - btn(BTN_EDIT, 30); - CHECK(app.page == PG_INST); - shot("09-inst"); + spi_avg("HOME"); + seq0(); + spi_avg("SEQ"); ch(3); - btn(BTN_ENV, 30); - shot("13-env"); - page(BTN_SCL, PG_SCL); - key(bm_black_key(3), 100); - enc(ENC_K2, 1); /* escala propia del canal */ - CHECK(app.pat.trk[3].scl == 0); - shot("15-scl"); - btn(BTN_SCL, 30); - CHECK(app.page == PG_CHORDS); - kdown(bm_white_key(5)); run_ms(150); - CHECK(app.chord_name[0] != 0); - shot("17-chords"); - kup(bm_white_key(5)); run_ms(60); - down(BTN_ARP); run_ms(400); - CHECK(app.layer == L_ARP); - up(BTN_ARP); run_ms(60); - btn(BTN_ARP, 30); - shot("26-arp"); - ch(0); - down(BTN_ARP); run_ms(400); - kdown(bm_white_key(2)); run_ms(300); - shot("22-roll"); - kup(bm_white_key(2)); up(BTN_ARP); run_ms(100); + white(BM_CH_W0 + app_pos(3), 40); + spi_avg("PLAY T4"); + btn(BTN_REC, 30); + spi_avg("REC T4"); + btn(BTN_HOME, 30); + ch(1); + white(BM_CH_W0 + app_pos(1), 40); + spi_avg("PLAY T2"); btn(BTN_HOME, 30); - CHECK(app.view == V_HOME); - black(7, 40); /* negra 8 = escena B: entra en el próximo compás */ - CHECK(app.ctx.st.scene_q == 1); - shot("23-scenes"); - run_ms(3000); - CHECK(app.ctx.st.scene == 1 && app.pat.trk[3].mute && app.pat.trk[5].mute && !app.pat.trk[0].mute); - black(6, 40); /* A: todo suena otra vez */ - run_ms(3000); - CHECK(app.ctx.st.scene == 0 && !app.pat.trk[3].mute); - down(BTN_HOME); run_ms(2200); up(BTN_HOME); run_ms(60); - CHECK(app.view == V_SYSTEM); - shot("25-system"); - btn(BTN_SAVE, 30); - shot("27-save"); - home_with(BTN_SEQ); - CHECK(app.view == V_GLO && app.glo_page == GP_SONG); - white(0, 30); white(1, 30); - black(7, 30); /* la entrada 2 lanza la escena B */ - CHECK(app.song.n == 2 && bm_song_pat(app.song.pat[1]) == 1 && bm_song_scene(app.song.pat[1]) == 1); - shot("28-song"); btn(BTN_PLAY, 20); - bm_platform pf; bm_sim_platform(&sim, &pf); - now_ms += 10; next_tick = now_ms; bm_app_init(&app, &pf, now_ms); run_ms(300); - shot("29-boot"); } -/* ------------------------------------------------------------ idioma */ -static int lang_upload(const uint8_t *p, uint32_t n) +/* ------------------------------------------------------------ etapa 1: HOME, PLAY/REC, batería, GLO */ +/* nada cambió: ni pantalla, ni aviso, ni capa, ni aviso de perilla (un control sin función no hace nada) */ +typedef struct { uint8_t view, layer, sloop, rec; uint32_t toast; int ov; uint8_t track; } ui_snap; +static ui_snap ui_take(void) { - if (bm_app_lang_load(&app, 0, 0, NULL, 0)) return -1; - for (uint32_t off = 0; off < n; off += 200) /* de a pedazos, como por USB */ - if (bm_app_lang_load(&app, 1, off, p + off, n - off < 200 ? n - off : 200)) return -1; - return bm_app_lang_load(&app, 2, 0, NULL, 0); + ui_snap s = {app.view, app.layer, app.sloop, app.rec, app.toast_until, app.ov.on, app.track}; + return s; +} +static int ui_same(ui_snap a) +{ + ui_snap b = ui_take(); + return a.view == b.view && a.layer == b.layer && a.sloop == b.sloop && a.rec == b.rec && a.toast == b.toast && a.ov == b.ov && a.track == b.track; } -static void test_lang(void) +/* espera a que el patrón p esté cargado (parado: lo carga un trabajo) */ +static int wait_pattern(int p) { - printf("idioma: ingles de fabrica, paquete de espanol por USB, SISTEMA > LANGUAGE\n"); - static uint8_t es[BM_LANG_HI - BM_LANG_LO]; - FILE *f = fopen("lang/es.bmlang", "rb"); - CHECK(f != NULL); - if (!f) return; - uint32_t n = (uint32_t)fread(es, 1, sizeof es, f); - fclose(f); - CHECK(bm_lang_check(es, n, NULL) == n); - boot(1); - CHECK(strcmp(bm_lang_name(), "ENGLISH") == 0 && !bm_app_lang_pack(&app)); - CHECK(strcmp(T("TAKES"), "TAKES") == 0); - shot("25-system-en"); - btn(BTN_PLAY, 20); - CHECK(lang_upload(es, n) < 0); /* sonando no se escribe la flash */ - btn(BTN_PLAY, 20); run_ms(100); - CHECK(lang_upload(es, n) == 0 && app.set.lang == 1); - CHECK(strcmp(bm_lang_name(), "ESPANOL") == 0); - CHECK(strcmp(T("TAKES"), "TOMAS") == 0 && strcmp(T("NOT A PHRASE"), "NOT A PHRASE") == 0); - char b[32]; - snprintf(b, sizeof b, TF("PAD %d EMPTY"), 7); - CHECK(strcmp(b, "PAD 7 VACIO") == 0); - ch(1); - btn(BTN_EDIT, 30); - shot("37b-pads-es"); - /* SISTEMA > LANGUAGE: inglés y vuelta */ - btn(BTN_HOME, 30); btn(BTN_HOME, 30); - down(BTN_HOME); run_ms(2200); up(BTN_HOME); run_ms(60); - CHECK(app.view == V_SYSTEM); - for (int i = 0; i < 9; i++) enc(ENC_SELECT, 1); - CHECK(app.menu_row == 9); - shot("25-system-es"); - enc(ENC_ALGO, -1); /* a la izquierda: inglés */ - CHECK(app.set.lang == 0 && strcmp(T("TAKES"), "TAKES") == 0); - enc(ENC_ALGO, 1); /* a la derecha: el paquete */ - CHECK(app.set.lang == 1 && strcmp(T("TAKES"), "TOMAS") == 0); - enc(ENC_ALGO, 1); /* otra vez a la derecha: sigue igual */ - CHECK(app.set.lang == 1); - /* queda guardado */ - run_ms(UI_AUTOSAVE_MS + 500); - boot(0); - CHECK(app.set.lang == 1 && strcmp(T("TAKES"), "TOMAS") == 0); - /* un paquete dañado no se usa */ - sim.flash[BM_LANG_LO + 200] ^= 0x55; - boot(0); - CHECK(!bm_app_lang_pack(&app) && strcmp(T("TAKES"), "TAKES") == 0); - /* quitarlo */ - sim.flash[BM_LANG_LO + 200] ^= 0x55; - boot(0); - CHECK(strcmp(T("TAKES"), "TOMAS") == 0); - CHECK(bm_app_lang_load(&app, 3, 0, NULL, 0) == 0 && app.set.lang == 0 && !bm_app_lang_pack(&app)); - CHECK(strcmp(T("TAKES"), "TAKES") == 0); + for (int i = 0; i < 40 && app.ctx.st.pattern != p; i++) run_ms(50); + return app.ctx.st.pattern == p; } -/* Perillas y navegación: paso sostenido + PRESETS, aceleración, interruptores, HOME que vuelve */ -static void test_knobs_nav(void) +static void test_home(void) { - printf("perillas: paso + PRESETS, aceleración, interruptores, HOME siempre a MIX\n"); + printf("HOME (etapa 1): SELECT recorre los 6 canales, ALGORITHM el BPM global, PRESETS el sonido, K1-K4 la tira del canal\n"); boot(1); - const char *s, *al, *pr; - bm_app_bigknobs(&app, &s, &al, &pr); - CHECK(strcmp(s, "TRACK") == 0 && strcmp(al, "BPM") == 0 && strcmp(pr, "KIT") == 0); /* el cursor en T1 */ - /* aceleración: dos detents rápidos en una lista = dos pasos cada vez (ni uno, ni ocho) */ - CHECK(app.track == 0); - bm_app_encoder(&app, ENC_SELECT, 2, now_ms); run_ms(8); - bm_app_encoder(&app, ENC_SELECT, 2, now_ms); run_ms(40); - CHECK(app.track == 4); - for (int i = 0; i < 6 && app.track; i++) enc(ENC_SELECT, -1); - run_ms(1000); - int lv = app.pat.trk[0].level; /* en un valor continuo, rápido = más */ - bm_app_encoder(&app, ENC_K1, -2, now_ms); run_ms(8); - bm_app_encoder(&app, ENC_K1, -2, now_ms); run_ms(40); - CHECK(app.pat.trk[0].level < lv - 4); - /* paso sostenido + PRESETS en la batería: la condición, nunca el kit */ - ch(0); - page(BTN_SEQ, PG_SEQ); - bm_app_bigknobs(&app, &s, &al, &pr); - CHECK(strcmp(s, "PAGE") == 0 && strcmp(al, "INSTR") == 0 && strcmp(pr, "KIT") == 0); - app.sel_lane[0] = 0; app.step_page = 0; - CHECK(app.pat.tr[0].st[0][0] & ST_ON); - static bm_lane lanes[BM_LANES]; - memcpy(lanes, app.pat.tr[0].lane, sizeof lanes); - uint8_t src = app.pat.trk[0].source; - kdown(bm_white_key(0)); run_ms(400); - bm_app_bigknobs(&app, &s, &al, &pr); - CHECK(strcmp(pr, "COND") == 0); + CHECK(app.view == V_HOME && app.track == 0 && !app.sloop); + shot("00-home"); + for (int i = 1; i <= 5; i++) { enc(ENC_SELECT, 1); CHECK(app.track == BM_ORDER[i]); } /* batería, 3 que eligen, Vital, Slicer */ + enc(ENC_SELECT, 1); + CHECK(app.track == 0); /* de arriba a abajo, y vuelve al 1 */ + enc(ENC_SELECT, -1); + CHECK(app.track == BM_ORDER[5]); /* y al revés */ + enc(ENC_SELECT, 1); + /* ALGORITHM: el BPM del proyecto, el mismo en cualquier canal */ + int bpm = app.pat.meta.bpm_x10; + enc(ENC_ALGO, 1); enc(ENC_ALGO, 1); + CHECK(app.pat.meta.bpm_x10 == bpm + 20 && app.view == V_HOME && app.ov.beat && app.ov.color == C_TEMPO); + enc(ENC_SELECT, 1); + enc(ENC_ALGO, -1); + CHECK(app.pat.meta.bpm_x10 == bpm + 10 && app.track == BM_ORDER[1]); + enc(ENC_SELECT, -1); + /* PRESETS: el kit de la batería, el preset de cada máquina; la máquina sigue siendo la misma */ + int kit = app.pat.trk[0].source; enc(ENC_PRESETS, 1); - CHECK(memcmp(lanes, app.pat.tr[0].lane, sizeof lanes) == 0 && app.pat.trk[0].source == src); - CHECK(((app.pat.tr[0].st[0][0] & ST_COND_MASK) >> ST_COND_SH) == 1); - kup(bm_white_key(0)); run_ms(60); - CHECK(app.pat.tr[0].st[0][0] & ST_ON); - enc(ENC_PRESETS, -1); /* sin paso: el kit, y HOME + OCT- lo deshace */ - run_ms(1000); - memcpy(lanes, app.pat.tr[0].lane, sizeof lanes); - enc(ENC_PRESETS, 1); enc(ENC_PRESETS, 1); - CHECK(memcmp(lanes, app.pat.tr[0].lane, sizeof lanes) != 0); - home_with(BTN_OCT_DN); - CHECK(memcmp(lanes, app.pat.tr[0].lane, sizeof lanes) == 0); - /* el kit también desde HOME (PRESETS = el sonido del cursor), y también se deshace */ - btn(BTN_HOME, 30); - run_ms(1000); - enc(ENC_PRESETS, -1); /* (el deshacer devolvió los instrumentos, no el número de kit) */ - CHECK(memcmp(lanes, app.pat.tr[0].lane, sizeof lanes) != 0 && app.view == V_HOME); - home_with(BTN_OCT_DN); - CHECK(memcmp(lanes, app.pat.tr[0].lane, sizeof lanes) == 0); - /* MUTE de instrumentos (negra 11 sostenida): las perillas siguen con lo de SEQ */ - ch(0); - page(BTN_SEQ, PG_SEQ); - kdown(bm_black_key(10)); run_ms(400); - CHECK(app.layer == L_LANEMUTE); - int m0 = app.pat.trk[0].macro[0]; - enc(ENC_K1, 1); - CHECK(app.pat.trk[0].macro[0] == m0 + 1); - kup(bm_black_key(10)); run_ms(60); - /* FILL (notas): HOME sostenido la cierra y la apaga */ + CHECK(app.pat.trk[0].source == (kit + 1) % BM_KITS_N && app.pat.trk[0].engine == ENG_DRUM && app.view == V_HOME); ch(2); - page(BTN_SEQ, PG_SEQ); - black(10, 40); - CHECK(app.layer == L_FILL && app.fill); - down(BTN_HOME); run_ms(400); - CHECK(app.layer == L_HOME && !app.fill); - up(BTN_HOME); run_ms(60); - CHECK(!app.fill && !app.ctx.fill && app.view == V_CH); - /* HOME siempre vuelve a MIX (0.9): desde la máquina, su GLO, TIME y el FX de la consola */ - btn(BTN_EDIT, 30); - CHECK(app.view == V_CH && app.page == PG_SOUND); - btn(BTN_GLO, 30); - CHECK(app.view == V_CH && app.page == PG_MORE); - bm_app_bigknobs(&app, &s, &al, &pr); - CHECK(strcmp(s, "ROW") == 0 && strcmp(al, "VALUE") == 0); - btn(BTN_GLO, 30); - CHECK(app.view == V_CH && app.track == 2 && app.page == PG_SOUND); - home_with(BTN_FX); - CHECK(app.view == V_FXG); - btn(BTN_HOME, 30); - CHECK(app.view == V_HOME); + int sound = app.pat.trk[2].source; + enc(ENC_PRESETS, 1); + CHECK(app.pat.trk[2].source == (sound + 1) % BM_AC_PRESETS && app.pat.trk[2].engine == ENG_ACID); + ch(3); + sound = app.pat.trk[3].source; + enc(ENC_PRESETS, 1); + CHECK(app.pat.trk[3].source == (sound + 1) % bm_snap_count(ENG_MINI) && app.pat.trk[3].engine == ENG_MINI); + /* K1-K4: GAIN, FILTER, DELAY, REVERB del canal del cursor (y solo de ese) */ ch(2); - down(BTN_SEQ); run_ms(2200); up(BTN_SEQ); run_ms(60); - CHECK(app.view == V_TIME); - btn(BTN_HOME, 30); - CHECK(app.view == V_HOME); - btn(BTN_HOME, 30); /* en la consola, HOME se queda en MIX */ - CHECK(app.view == V_HOME); - btn(BTN_FX, 30); - CHECK(app.view == V_FXG && app.fx_page == FXP_CHANNEL); - enc(ENC_SELECT, 1); /* SELECT: CHANNEL > DELAY */ - CHECK(app.fx_page == FXP_DELAY); - bm_app_bigknobs(&app, &s, &al, &pr); - CHECK(strcmp(s, "PAGE") == 0 && strcmp(pr, "MOVE") == 0); - btn(BTN_GLO, 30); /* GLO en la consola: su GLO */ - CHECK(app.view == V_GLO && app.glo_page == GP_TEMPO); - btn(BTN_HOME, 30); - CHECK(app.view == V_HOME); - /* interruptores: a la derecha dos veces sigue encendido */ - down(BTN_HOME); run_ms(2200); up(BTN_HOME); run_ms(60); - CHECK(app.view == V_SYSTEM && app.menu_row == 0); - enc(ENC_ALGO, 1); enc(ENC_ALGO, 1); - CHECK(app.set.clock == 1); - enc(ENC_ALGO, -1); enc(ENC_ALGO, -1); - CHECK(app.set.clock == 0); - btn(BTN_HOME, 30); - CHECK(app.view == V_HOME); - /* PRESETS con HOME sostenido: el patrón se elige al soltar, no uno por uno */ - int p0 = app.ctx.st.pattern; - down(BTN_HOME); run_ms(400); - bm_app_bigknobs(&app, &s, &al, &pr); - CHECK(strcmp(pr, "PATTERN") == 0 && strcmp(al, "BPM .1") == 0); - enc(ENC_PRESETS, 1); run_ms(600); enc(ENC_PRESETS, 1); run_ms(600); - CHECK(app.ctx.st.pattern == p0 && app.pat_sel == p0 + 2 && app.njob == 0); - up(BTN_HOME); run_ms(60); - CHECK(app.pat_sel == -1); -} - -/* ------------------------------------------------------------ 0.9: la consola */ -/* cuántos píxeles de un color hay en un rectángulo de la última captura */ -static int count_px(int x0, int y0, int x1, int y1, uint16_t c) -{ - int n = 0; - for (int y = y0; y < y1; y++) for (int x = x0; x < x1; x++) n += sim.fb[y * 240 + x] == c; - return n; + uint8_t l0 = app.pat.trk[2].level, s0 = app.pat.trk[2].send, r0 = app.pat.trk[2].rsend, o3 = app.pat.trk[3].level; + enc(ENC_K1, -4); enc(ENC_K3, 4); enc(ENC_K4, 4); + CHECK(app.pat.trk[2].level < l0 && app.pat.trk[2].send > s0 && app.pat.trk[2].rsend > r0 && app.pat.trk[3].level == o3); + for (int i = 0; i < 10; i++) enc(ENC_K2, -3); /* el filtro: pasa-bajos */ + CHECK(app.pat.trk[2].djf >= 1 && app.pat.trk[2].djf < 64); + for (int i = 0; i < 30; i++) enc(ENC_K2, 3); + CHECK(app.pat.trk[2].djf > 64); /* y cruza al pasa-altos */ + bm_legend L[4]; + bm_app_legend(&app, L); + CHECK(!strcmp(L[0].name, "VOLUME") && !strcmp(L[1].name, "FILTER") && !strcmp(L[2].name, "DELAY") && !strcmp(L[3].name, "REVERB")); + const char *s1, *s2, *s3; + bm_app_bigknobs(&app, &s1, &s2, &s3); + CHECK(!strcmp(s1, "TRACK") && !strcmp(s2, "BPM") && !strcmp(s3, "SOUND")); + ch(0); + bm_app_bigknobs(&app, &s1, &s2, &s3); + CHECK(!strcmp(s3, "KIT")); + shot("01-home-mixer"); } -static int notes_in(int t) +static void test_no_function(void) { - int n = 0; - for (int s = 0; s < BM_STEPS; s++) for (int k = 0; k < BM_EVENTS; k++) n += !bm_event_empty(bm_evc(&app.pat, t, s, k)); - return n; + printf("los controles sin función no hacen nada: sin pantalla, sin aviso y sin marcador de posición\n"); + boot(1); + ch(2); /* T3 (BB-303): no tiene ENV */ + run_ms(UI_TOAST_MS + UI_OVERLAY_MS + 200); + ui_snap s0 = ui_take(); + CHECK(s0.toast == 0 && !s0.ov); + static const int BTNS[] = {BTN_ENV}; + for (unsigned i = 0; i < sizeof BTNS / sizeof BTNS[0]; i++) { + btn(BTNS[i], 30); /* un toque */ + CHECK(ui_same(s0)); + btn(BTNS[i], 600); /* mantenido */ + CHECK(ui_same(s0)); + btn(BTNS[i], 2300); /* y 2 s */ + CHECK(ui_same(s0)); + } + ch(2); /* T3 (BB-303): la 303 no tiene ENV */ + run_ms(UI_TOAST_MS + UI_OVERLAY_MS + 200); + s0 = ui_take(); + static const int B303[] = {BTN_ENV}; + for (unsigned i = 0; i < sizeof B303 / sizeof B303[0]; i++) { + btn(B303[i], 30); + CHECK(ui_same(s0)); + } + btn(BTN_OCT_DN, 30); btn(BTN_OCT_UP, 30); /* OCT en el mezclador */ + CHECK(ui_same(s0) && app.oct == 0); + btn(BTN_GLO, 600); /* GLO largo: lo mismo que un toque (abre y nada más) */ + CHECK(app.view == V_GLO && app.glo_page == 0); + btn(BTN_GLO, 30); /* GLO otra vez: la página siguiente (no sale) */ + CHECK(app.view == V_GLO && app.glo_page == 1); + btn(BTN_HOME, 30); /* sale HOME */ + CHECK(app.view == V_HOME); + down(BTN_HOME); run_ms(40); btn(BTN_EDIT, 30); btn(BTN_SEQ, 30); btn(BTN_SAVE, 30); up(BTN_HOME); run_ms(60); /* HOME + botón: ya no hay combos */ + CHECK(app.view == V_SAVE && app.layer == L_NONE); /* SAVE abre lo suyo, sin versión global */ + to_home(); + /* la negra 7 y las teclas del mezclador sin función */ + run_ms(UI_TOAST_MS + 200); + ui_snap s1 = ui_take(); + black(6, 40); black(6, 700); + CHECK(ui_same(s1) && app.ctx.st.queued == 0xFF); + bm_app_keys(&app, keys_now); + CHECK(!keys_now[bm_black_key(6)].label[0] && keys_now[bm_black_key(6)].led == LED_OFF); + /* en el secuenciador de la batería: lo que no existe tampoco hace nada */ + seq0(); + CHECK(app.view == V_CH && app.track == 0); + run_ms(UI_TOAST_MS + 200); + s0 = ui_take(); + static const int BTNS2[] = {BTN_FX, BTN_ARP, BTN_GLO}; + for (unsigned i = 0; i < sizeof BTNS2 / sizeof BTNS2[0]; i++) { btn(BTNS2[i], 30); btn(BTNS2[i], 600); CHECK(ui_same(s0)); } + for (int b = 8; b <= 9; b++) { black(b, 40); CHECK(app.step_page == 0 && !strcmp(app.toast, "ONE BAR ONLY")); } /* los compases, con un solo compás: lo dicen */ + run_ms(UI_TOAST_MS + 200); + s0 = ui_take(); + btn(BTN_REC, 30); + CHECK(ui_same(s0)); /* REC dentro del secuenciador: nada */ + btn(BTN_HOME, 30); } -static int hits_in(int t) +static void test_patterns(void) { - int n = 0; - for (int l = 0; l < BM_LANES; l++) for (int s = 0; s < BM_STEPS; s++) n += (bm_trk_trc(&app.pat, t)->st[l][s] & ST_ON) != 0; - return n; + printf("patrones: blancas 1-10 (un toque), el cambio entra al terminar el compás en curso\n"); + boot(1); + CHECK(app.ctx.st.pattern == 0); + white(3, 40); /* parado: ya */ + CHECK(wait_pattern(3)); + white(0, 40); + CHECK(wait_pattern(0)); + /* sonando: en cola hasta el final del compás (no del ciclo maestro) */ + btn(BTN_PLAY, 20); + run_ms(1500); /* 160 BPM: un compás son 1500 ms */ + uint32_t bar = BM_BAR_TICKS; + CHECK(app.ctx.st.pattern == 0); + while (app.ctx.st.btick % bar > bar / 3 || app.ctx.st.btick % bar < bar / 4) run_ms(20); /* a mitad del compás */ + uint32_t bt0 = app.ctx.st.btick; + white(1, 40); + CHECK(app.ctx.st.queued == 1 && app.ctx.st.pattern == 0); + bm_app_keys(&app, keys_now); + CHECK(keys_now[bm_white_key(1)].led == LED_BLINK); /* el que espera parpadea */ + uint32_t change = 0; + for (int i = 0; i < 400 && app.ctx.st.pattern != 1; i++) { bm_app_audio(&app, abuf, 32); if (!(i % 8)) bm_app_tick(&app, now_ms); } + for (int i = 0; i < 200 && app.ctx.st.pattern != 1; i++) run_ms(10); + change = app.ctx.st.btick; + CHECK(app.ctx.st.pattern == 1 && app.ctx.st.queued == 0xFF); + /* entró en el compás siguiente al que se pidió, desde su primer paso */ + CHECK(change / bar == bt0 / bar + 1 && change % bar < BM_PPQN && app.ctx.st.rtick < BM_PPQN * 2); + printf(" pedido en el tick %u, entró en el tick %u\n", (unsigned)bt0, (unsigned)change); + /* el mismo patrón otra vez cancela la cola */ + run_ms(100); + white(2, 40); + CHECK(app.ctx.st.queued == 2); + white(1, 40); /* el que suena: cancela */ + CHECK(app.ctx.st.queued == 0xFF); + btn(BTN_PLAY, 20); + /* el patrón es de la consola: mutes y volumen siguen al cambiar de patrón (0.9) */ + black(app_pos(0), 40); + CHECK(app.pat.trk[0].mute == 1); + white(2, 40); + CHECK(wait_pattern(2) && app.pat.trk[0].mute == 1); + black(app_pos(0), 40); } -static void test_console_patterns(void) +static void test_solo(void) { - printf("consola 0.9: W1-W10 patrones (cola, cadena), W11-W16 canales; los objetos 11-16 de la flash se ignoran\n"); - /* la flash: un patrón viejo en el objeto 12 ya no cuenta y su lugar se reusa */ - bm_sim_flash_erase_all(&sim); - bm_platform pf; - bm_sim_platform(&sim, &pf); - static bm_store st, st2; - bm_store_mount(&st, pf.flash); - uint8_t body[64]; - memset(body, 7, sizeof body); - CHECK(bm_store_write(&st, 12, body, sizeof body) == 0 && bm_store_has(&st, 12)); - bm_store_mount(&st2, pf.flash); - CHECK(!bm_store_has(&st2, 12) && bm_store_used_slots(&st2) == 0); + printf("mutes: un toque silencia, mantener = SOLO; las teclas pulsadas mientras tanto se suman; al soltar la primera vuelve todo\n"); boot(1); - CHECK(BM_PATTERNS == 10 && app.view == V_HOME); - const bm_keyfn *K = keys(); - CHECK(!strcmp(K[bm_white_key(9)].label, "10") && !strcmp(K[bm_white_key(10)].label, "T1") && !strcmp(K[bm_white_key(15)].label, "T6")); - CHECK(!strcmp(K[bm_black_key(0)].label, "M1") && !strcmp(K[bm_black_key(6)].label, "A") && !strcmp(K[bm_black_key(10)].label, "CUE")); - CHECK(K[bm_white_key(0)].led == LED_ON && K[bm_white_key(1)].led == LED_DIM); /* el actual ON, vacío DIM */ - CHECK(K[bm_white_key(10)].led == LED_ON && K[bm_white_key(12)].led == LED_MID); /* el cursor ON, con pasos MID */ - CHECK(K[bm_white_key(11)].led == LED_DIM); /* BP-1 sin tomas: vacío */ - CHECK(K[bm_black_key(0)].led == LED_MID && K[bm_black_key(10)].led == LED_DIM); - /* parado: cambia ya */ - white(2, 40); run_ms(300); - CHECK(app.ctx.st.pattern == 2 && keys()[bm_white_key(2)].led == LED_ON && keys()[bm_white_key(0)].led == LED_MID); - white(0, 40); run_ms(300); - CHECK(app.ctx.st.pattern == 0); - /* sonando: en cola para el ciclo maestro (4 compases en la demo) */ - btn(BTN_PLAY, 20); run_ms(200); - white(4, 40); - CHECK(app.ctx.st.queued == 4 && app.ctx.st.pattern == 0 && keys()[bm_white_key(4)].led == LED_BLINK); - run_ms(6200); - CHECK(app.ctx.st.pattern == 4); - /* una sostenida + otra = cadena: el siguiente de la cadena parpadea */ - kdown(bm_white_key(0)); run_ms(40); white(1, 40); kup(bm_white_key(0)); run_ms(40); - CHECK(app.ctx.st.pchain_n == 2); - run_ms(6200); - CHECK(app.ctx.st.pattern == 0 && keys()[bm_white_key(1)].led == LED_BLINK); - run_ms(6000); - CHECK(app.ctx.st.pattern == 1); - btn(BTN_PLAY, 20); - /* las blancas 11-16 no son patrones: mueven el cursor al bajar */ - int p = app.ctx.st.pattern; - kdown(bm_white_key(12)); run_ms(20); - CHECK(app.track == 2 && app.ctx.st.pattern == p); - kup(bm_white_key(12)); run_ms(40); - CHECK(app.view == V_HOME && !app.card); /* un toque: solo el cursor */ + black(app_pos(2), 40); + CHECK(app.pat.trk[2].mute == 1); + black(app_pos(2), 40); + CHECK(app.pat.trk[2].mute == 0); + app.pat.trk[5].mute = 1; /* T6 ya estaba en mute */ + uint8_t before[BM_TRACKS]; + for (int t = 0; t < BM_TRACKS; t++) before[t] = app.pat.trk[t].mute; + kdown(bm_black_key(app_pos(2))); run_ms(500); /* sostenida: SOLO T3 */ + CHECK(app.solo_on && app.solo_track == 2); + for (int t = 0; t < BM_TRACKS; t++) CHECK(app.pat.trk[t].mute == (t != 2)); + black(app_pos(4), 40); /* otra tecla mientras tanto: T5 queda activa */ + CHECK(app.pat.trk[4].mute == 0 && app.pat.trk[2].mute == 0 && app.pat.trk[0].mute == 1 && app.solo_on); + kdown(bm_black_key(app_pos(0))); run_ms(500); /* sostener otra no empieza otro solo */ + CHECK(app.solo_track == 2); + kup(bm_black_key(app_pos(0))); run_ms(40); + CHECK(app.pat.trk[0].mute == 0 && app.solo_on); /* ...pero la suma */ + kup(bm_black_key(app_pos(2))); run_ms(60); /* al soltar la primera: todo como estaba */ + CHECK(!app.solo_on); + for (int t = 0; t < BM_TRACKS; t++) CHECK(app.pat.trk[t].mute == before[t]); + app.pat.trk[5].mute = 0; + /* la luz: ON el solo, DIM el muteado */ + kdown(bm_black_key(app_pos(1))); run_ms(500); + bm_app_keys(&app, keys_now); + CHECK(keys_now[bm_black_key(app_pos(1))].led == LED_ON && keys_now[bm_black_key(app_pos(3))].led == LED_DIM); + kup(bm_black_key(app_pos(1))); run_ms(60); } static void test_scenes(void) { - printf("escenas 0.9: solo mutes; toque guarda (vacía) o lanza en el compás; 2 s guarda encima; EDIT + escena; cadena; CUE; mutes y cambio de patrón\n"); + printf("escenas: guardar = un patrón sostenido + la negra; un toque la lanza; 2 s la borra\n"); boot(1); - memset(app.song.scene, 0, sizeof app.song.scene); /* sin las de la demo */ - CHECK(keys()[bm_black_key(6)].led == LED_DIM); /* vacía: DIM */ - black(0, 40); /* parado: mute T1 */ - CHECK(app.pat.trk[0].mute); - black(6, 40); /* A vacía: guarda los mutes */ - CHECK((app.song.scene[0].flags & SCN_STORED) && app.song.scene[0].trk_mute == 0x01 && !strcmp(app.toast, "SCENE A STORED")); - CHECK(keys()[bm_black_key(6)].led == LED_MID && app.song_dirty); - black(0, 40); - CHECK(!app.pat.trk[0].mute); - black(6, 40); /* A guardada: la lanza (parado: ya) */ - CHECK(app.pat.trk[0].mute && app.ctx.st.scene == 0 && keys()[bm_black_key(6)].led == LED_ON); - black(0, 40); black(3, 40); /* B: T4 muteado */ - black(7, 40); - CHECK(app.song.scene[1].trk_mute == 0x08); - /* 2 s sostenida: guarda encima, con el anillo */ - black(3, 40); black(4, 40); /* ahora T5 */ - kdown(bm_black_key(7)); run_ms(1200); - { - char lb[24]; - CHECK(bm_app_key_ring(&app, lb, sizeof lb) > 100 && !strcmp(lb, "STORE SCENE B")); - } - shot("69-scene-store-ring"); - run_ms(1000); - CHECK(app.song.scene[1].trk_mute == 0x10); - kup(bm_black_key(7)); run_ms(60); - CHECK(app.pat.trk[4].mute && app.ctx.st.scene == 0); /* soltarla no la lanza */ - black(4, 40); + for (int s = 0; s < BM_SCENES; s++) CHECK(app.song.scene[0][s].flags & SCN_STORED); /* la demo trae las 4 del patrón 1 */ + CHECK(!(app.song.scene[1][0].flags & SCN_STORED)); + /* guardar: T1 y T2 en mute, patrón 1 sostenido, escena C */ + black(app_pos(0), 40); black(app_pos(1), 40); + CHECK(app.pat.trk[0].mute && app.pat.trk[1].mute); + kdown(bm_white_key(0)); run_ms(100); + bm_app_keys(&app, keys_now); + CHECK(!strcmp(keys_now[bm_black_key(9)].label, "SC")); /* mientras el patrón está sostenido, las escenas dicen SAVE */ + black(9, 40); /* escena C */ + kup(bm_white_key(0)); run_ms(60); + CHECK(app.song.scene[0][2].trk_mute == 0x03 && (app.song.scene[0][2].flags & SCN_STORED)); + CHECK(app.ctx.st.queued == 0xFF && app.ctx.st.pattern == 0); /* el patrón sostenido no se eligió */ + CHECK(!strncmp(app.toast, "SCENE C A01 STORED", 18)); + /* otro patrón: sus escenas son suyas */ + black(app_pos(3), 40); + kdown(bm_white_key(4)); run_ms(100); + black(8, 40); /* escena B del patrón 5 */ + kup(bm_white_key(4)); run_ms(60); + CHECK((app.song.scene[4][1].flags & SCN_STORED) && app.song.scene[4][1].trk_mute == 0x0B && app.song.scene[0][1].trk_mute == 0x38); + CHECK(app.ctx.st.queued == 0xFF && app.ctx.st.pattern == 0); + black(app_pos(3), 40); + /* un toque sin patrón: la lanza (parado: ya) */ + black(app_pos(0), 40); black(app_pos(1), 40); + CHECK(!app.pat.trk[0].mute && !app.pat.trk[1].mute); + black(9, 40); run_ms(60); + CHECK(app.pat.trk[0].mute && app.pat.trk[1].mute && !app.pat.trk[2].mute && app.ctx.st.scene == 2); + /* sonando: en el próximo compás */ + btn(BTN_PLAY, 20); run_ms(300); + CHECK(app.pat.trk[0].mute && app.pat.trk[1].mute && !app.pat.trk[2].mute); + black(7, 40); /* la A (todo suena) */ + CHECK(app.ctx.st.scene_q == 0 && app.pat.trk[0].mute && app.pat.trk[1].mute); /* todavía no */ + bm_app_keys(&app, keys_now); + CHECK(keys_now[bm_black_key(7)].led == LED_BLINK && keys_now[bm_black_key(9)].led == LED_ON); + black(app_pos(2), 40); /* mientras espera, los mutes siguen en vivo */ + CHECK(app.pat.trk[2].mute); + run_ms(1700); + CHECK(app.ctx.st.scene == 0 && app.ctx.st.scene_q == 0xFF); for (int t = 0; t < BM_TRACKS; t++) CHECK(!app.pat.trk[t].mute); - /* los mutes de la consola sobreviven al cambio de patrón: A02 guardado con T1 muteado y T5 no */ - static bm_pattern q; - static uint8_t pk[BM_PENDING_LEN]; - q = app.pat; q.trk[0].mute = 1; q.trk[4].mute = 0; q.tr[0].mute = 0; - int n = bm_pattern_pack(&q, pk, sizeof pk); - CHECK(n > 0 && bm_store_write(&app.store, 1, pk, (uint16_t)n) == 0); - /* sonando: la escena entra en el próximo compás */ - btn(BTN_PLAY, 20); run_ms(200); - black(7, 40); /* B (T5) */ - CHECK(app.ctx.st.scene_q == 1 && keys()[bm_black_key(7)].led == LED_BLINK && !app.pat.trk[4].mute); - run_ms(1600); - CHECK(app.ctx.st.scene == 1 && app.ctx.st.scene_q == 0xFF && app.pat.trk[4].mute); - app_push_i(&app, CMD_LANE_MUTE, 0, 0, 0, 0x0004); run_ms(40); /* y el hat de BR-8 (en vivo) */ - white(1, 40); /* A02 en cola */ - run_ms(6200); - CHECK(app.ctx.st.pattern == 1 && app.pat.trk[4].mute && !app.pat.trk[0].mute && app.pat.tr[0].mute == 0x0004); - /* EDIT sostenido + escena = vaciarla */ - down(BTN_EDIT); run_ms(400); - CHECK(app.layer == L_ERASE && !strcmp(keys()[bm_black_key(7)].label, "XB")); - black(7, 40); - up(BTN_EDIT); run_ms(60); - CHECK(!(app.song.scene[1].flags & SCN_STORED)); - /* una cadena: A sostenida + C, D (C y D guardadas antes) */ - black(2, 40); black(8, 40); black(2, 40); /* C: T3 */ - black(5, 40); black(9, 40); black(5, 40); /* D: T6 */ - CHECK(app.song.scene[2].trk_mute == 0x14 && app.song.scene[3].trk_mute == 0x30); - kdown(bm_black_key(6)); run_ms(40); black(8, 40); black(9, 40); kup(bm_black_key(6)); run_ms(40); - CHECK(app.ctx.st.chain_n == 3 && app.chain_n == 3 && app.chain[0] == 0 && app.chain[1] == 2 && app.chain[2] == 3); - run_ms(1600); - CHECK(app.ctx.st.scene == 0); /* la primera, en el próximo compás */ - run_ms(6200); - CHECK(app.ctx.st.scene == 2 && app.pat.trk[2].mute); /* la siguiente, con el ciclo maestro */ - /* CUE: con la negra 11 sostenida, los mutes caen juntos en el próximo compás */ - black(6, 40); run_ms(1600); /* A sola: sin cadena */ - CHECK(app.ctx.st.chain_n == 0 && app.ctx.st.scene == 0); - uint8_t m0 = app.pat.trk[1].mute, m1 = app.pat.trk[3].mute; - while (app.ctx.st.btick % BM_BAR_TICKS > 24) run_ms(5); /* justo después de un compás: el próximo está a 1.5 s */ - kdown(bm_black_key(10)); run_ms(350); /* sostenida (más que un toque) */ - CHECK(app.cue && keys()[bm_black_key(10)].led == LED_BREATH); - black(1, 40); black(3, 40); - CHECK(app.pat.trk[1].mute == m0 && app.pat.trk[3].mute == m1 && app.ctx.st.cue_x == 0x0A); - CHECK(keys()[bm_black_key(1)].led == LED_BLINK); - kup(bm_black_key(10)); run_ms(40); - CHECK(!app.cue); /* sostenida: no queda fija */ - run_ms(1600); - CHECK(app.pat.trk[1].mute != m0 && app.pat.trk[3].mute != m1 && app.ctx.st.cue_x == 0); - while (app.ctx.st.btick % BM_BAR_TICKS > 24) run_ms(5); - black(10, 40); /* un toque: CUE fija */ - CHECK(app.cue == 2); - black(1, 40); - CHECK(app.ctx.st.cue_x == 0x02); - shot("70-cue"); - black(10, 40); /* otro toque: suelta (lo que está en cola igual cae) */ - CHECK(app.cue == 0); - run_ms(1600); - CHECK(app.pat.trk[1].mute == m0 && app.ctx.st.cue_x == 0); btn(BTN_PLAY, 20); - /* parado, CUE no espera */ - black(10, 40); black(1, 40); - CHECK(app.pat.trk[1].mute != m0); + /* sostener 2 s: la borra, con su anillo, y no la lanza */ + kdown(bm_black_key(10)); run_ms(800); + char lb[24]; + int ring = bm_app_key_ring(&app, lb, sizeof lb); + CHECK(ring >= 0 && !strcmp(lb, "DELETE SCENE D")); + CHECK(app.song.scene[0][3].flags & SCN_STORED); + run_ms(1500); /* a los 2.3 s todavía no */ + CHECK(app.song.scene[0][3].flags & SCN_STORED); + run_ms(2400); /* 3 s en total */ + CHECK(!(app.song.scene[0][3].flags & SCN_STORED) && !strncmp(app.toast, "SCENE D DELETED", 15)); + kup(bm_black_key(10)); run_ms(60); + CHECK(app.ctx.st.scene_q == 0xFF && app.ctx.st.scene == 0); + CHECK(bm_app_key_ring(&app, lb, sizeof lb) < 0); + /* una vacía: un toque no hace nada */ + run_ms(UI_TOAST_MS + 200); + ui_snap s0 = ui_take(); + uint8_t m0[BM_TRACKS]; + for (int t = 0; t < BM_TRACKS; t++) m0[t] = app.pat.trk[t].mute; black(10, 40); - /* el objeto canción + escenas: versión nueva; uno viejo se ignora */ - app_job(&app, JOB_SAVE_SONG, 0); app_job(&app, JOB_SAVE_GLOB, 0); run_ms(300); - boot(0); - CHECK((app.song.scene[2].flags & SCN_STORED) && app.song.scene[2].trk_mute == 0x14); - { - uint8_t old[1 + 2 * BM_SONG_MAX + 32]; - memset(old, 0, sizeof old); old[0] = 3; /* 0.8: escenas con patrón, sin versión */ - bm_store_write(&app.store, BM_OBJ_SONG, old, sizeof old); - } + CHECK(ui_same(s0) && app.ctx.st.scene_q == 0xFF); + for (int t = 0; t < BM_TRACKS; t++) CHECK(app.pat.trk[t].mute == m0[t]); + bm_app_keys(&app, keys_now); + CHECK(keys_now[bm_black_key(10)].led == LED_DIM); + shot("23-scenes"); + /* se guardan con el proyecto */ + run_ms(UI_AUTOSAVE_MS + 1500); boot(0); - CHECK(!(app.song.scene[2].flags & SCN_STORED) && app.song.n == 0); + CHECK((app.song.scene[0][2].flags & SCN_STORED) && app.song.scene[0][2].trk_mute == 0x03 && !(app.song.scene[0][3].flags & SCN_STORED)); } -/* SLOOP-REC (REC en MIX): las teclas tocan el canal del cursor */ -static void test_sloop(void) +static void test_play_rec(void) { - printf("SLOOP-REC: REC en MIX arma el canal del cursor; notas cromáticas desde F, batería con ACC, REC expresivo\n"); + printf("PLAY/REC: la blanca del canal del cursor, el teclado toca, REC sobregraba, HOME sale\n"); boot(1); - enc(ENC_SELECT, 1); enc(ENC_SELECT, 1); /* T3 BB-303 */ - btn(BTN_REC, 30); - CHECK(app.sloop && app.rec && app.view == V_HOME && sim.leds[BTN_REC] == LED_ON); - const bm_keyfn *K = keys(); - CHECK(!strcmp(K[0].label, "F") && !strcmp(K[bm_white_key(15)].label, "G")); /* 27 teclas desde F */ - kdown(0); run_ms(40); - CHECK(app.key_nn[0] == 1 && app.key_notes[0][0] == BM_KEY_BASE_NOTE - 12); /* máquina de bajo: una octava abajo */ - kup(0); run_ms(40); + /* la blanca de un canal que no es el del cursor solo lo mueve */ + white(BM_CH_W0 + app_pos(2), 40); + CHECK(app.track == 2 && !app.sloop && app.view == V_HOME); + /* con el cursor en él: entra, en la misma pantalla */ + white(BM_CH_W0 + app_pos(2), 40); + CHECK(app.sloop && app.view == V_HOME && !app.rec && app.track == 2); + shot("01-home-play"); + bm_app_keys(&app, keys_now); + CHECK(!strcmp(keys_now[bm_white_key(0)].label, bm_note_names[((BM_KEY_BASE_NOTE + 0 - 12) % 12 + 12) % 12])); /* notas, no el mezclador */ + /* las teclas tocan la máquina del cursor */ + int k = bm_white_key(4); + kdown(k); run_ms(80); + int v = 0; + for (int i = 0; i < BM_VOICES; i++) v += app.ctx.voice[i].active && app.ctx.voice[i].track == 2; + CHECK(v >= 1 && app.ctx.st.queued == 0xFF); /* suena T3, y no cambió ningún patrón */ + kup(k); run_ms(300); + /* OCT corre la octava de las notas */ + int note0 = BM_KEY_BASE_NOTE + k - 12; btn(BTN_OCT_UP, 20); - CHECK(app.oct == 1 && sim.leds[BTN_OCT_UP] == LED_ON); - kdown(0); run_ms(40); - CHECK(app.key_notes[0][0] == BM_KEY_BASE_NOTE); - kup(0); run_ms(40); - btn(BTN_OCT_DN, 20); - CHECK(app.oct == 0); - /* KEYS IN SCALE: las blancas la escala, las negras acordes */ - app.pat.meta.scale_lock = 1; - CHECK(!strcmp(keys()[bm_black_key(0)].label, "I")); - kdown(bm_black_key(0)); run_ms(40); - CHECK(app.key_nn[bm_black_key(0)] >= 3); - kup(bm_black_key(0)); run_ms(40); - app.pat.meta.scale_lock = 0; - /* grabar: REC expresivo (lo grabado se ve en rojo) */ - int n0 = notes_in(2); - btn(BTN_PLAY, 20); run_ms(300); - hold_key(bm_white_key(4), 300); run_ms(200); - hold_key(bm_white_key(6), 150); run_ms(300); - CHECK(app.rec_steps != 0); - shot("71-sloop-note"); - CHECK(count_px(15, 40, 240, 135, C_RED) > 0); /* las notas de esta pasada, en rojo */ - btn(BTN_PLAY, 20); run_ms(60); - CHECK(notes_in(2) >= n0); - /* SELECT: otro canal, el teclado lo sigue (T1 batería: las blancas son los instrumentos, B1 = ACC) */ - enc(ENC_SELECT, -2); - CHECK(app.track == 0 && app.sloop && app.rec_steps == 0); - K = keys(); - CHECK(!strcmp(K[bm_white_key(0)].label, "BD") && !strcmp(K[bm_black_key(0)].label, "ACC") && K[bm_black_key(1)].label[0] == 0); - int lane = -1; /* un instrumento sin golpes */ - for (int l = 0; l < BM_LANES && lane < 0; l++) { - int any = 0; - for (int s = 0; s < BM_STEPS; s++) any |= app.pat.tr[0].st[l][s] & ST_ON; - if (!any) lane = l; + CHECK(app.oct == 1); + kdown(k); run_ms(80); + int hi = 0; + for (int i = 0; i < BM_VOICES; i++) if (app.ctx.voice[i].active && app.ctx.voice[i].track == 2 && app.ctx.voice[i].note == note0 + 12) hi = 1; + CHECK(hi); + kup(k); run_ms(100); + btn(BTN_OCT_DN, 20); CHECK(app.oct == 0); + /* SELECT: el teclado sigue al canal, sin salir de PLAY/REC */ + enc(ENC_SELECT, 1); + CHECK(app.track == 3 && app.sloop); + enc(ENC_SELECT, -1); + /* REC: grabar mientras suena el patrón: el paso que tocas se reescribe, lo demás queda */ + int before = 0, before_n[BM_STEPS] = {0}; + for (int s = 0; s < BM_STEPS; s++) for (int e = 0; e < BM_EVENTS; e++) before_n[s] += !bm_event_empty(bm_evc(&app.pat, 2, s, e)); + for (int s = 0; s < BM_STEPS; s++) before += before_n[s]; + CHECK(before > 0); + btn(BTN_PLAY, 20); run_ms(200); + btn(BTN_REC, 30); + CHECK(app.rec && app.sloop && app.view == V_HOME); + key(bm_white_key(9), 120); + run_ms(600); + key(bm_white_key(11), 120); + btn(BTN_REC, 30); /* REC otra vez: deja de grabar, sigue PLAY/REC */ + CHECK(!app.rec && app.sloop); + int has9 = 0, kept = 1, clean = 1; + int n9 = BM_KEY_BASE_NOTE + bm_white_key(9) - 12, n11 = BM_KEY_BASE_NOTE + bm_white_key(11) - 12; + for (int s = 0; s < BM_STEPS; s++) { + int nn = 0, mine = 0, other = 0; + for (int e = 0; e < BM_EVENTS; e++) { + const bm_event *ev = bm_evc(&app.pat, 2, s, e); + if (bm_event_empty(ev)) continue; + nn++; + if (ev->note == n9 || ev->note == n11) mine = 1; else other = 1; + if (ev->note == n9) has9 = 1; + } + if (!mine) kept &= nn == before_n[s]; + else clean &= !other; } - CHECK(lane >= 0); - btn(BTN_PLAY, 20); run_ms(250); - kdown(bm_black_key(0)); run_ms(20); /* ACC sostenida */ - hold_key(bm_white_key(lane), 60); - kup(bm_black_key(0)); run_ms(20); - run_ms(300); - hold_key(bm_white_key(lane), 60); /* sin ACC */ - run_ms(200); - shot("72-sloop-drums"); + CHECK(has9 && kept && clean); /* el paso tocado quedó solo con lo nuevo; lo demás, igual */ btn(BTN_PLAY, 20); - int acc = 0, flat = 0; - for (int s = 0; s < BM_STEPS; s++) { - uint8_t v = app.pat.tr[0].st[lane][s]; - if (!(v & ST_ON)) continue; - if (v & ST_ACC) acc++; else flat++; + /* HOME: sale al mezclador */ + btn(BTN_HOME, 30); + CHECK(!app.sloop && !app.rec && app.view == V_HOME); + /* REC 2 s: borra el canal del cursor (sonando o parado), con su anillo */ + { + int t0 = app.track, any = 0; + down(BTN_REC); run_ms(1200); + int hid = -1; + CHECK(bm_gesture_progress(&app.ges, now_ms, &hid) >= 0 && hid == BTN_REC); + run_ms(1000); up(BTN_REC); run_ms(60); + for (int s = 0; s < BM_STEPS; s++) for (int e = 0; e < BM_EVENTS; e++) any |= !bm_event_empty(bm_evc(&app.pat, t0, s, e)); + CHECK(!any && !app.rec && strstr(app.toast, "CLEARED") != NULL); } - CHECK(acc >= 1 && flat >= 1); - /* HOME sostenido: las teclas vuelven a ser del mezclador */ - int hb = hits_in(0); - down(BTN_HOME); run_ms(400); - black(2, 40); /* negra 3 = el mute de T3 */ - CHECK(app.layer == L_HOME && app.pat.trk[2].mute && !strcmp(keys()[bm_black_key(2)].label, "M3")); - black(2, 40); - up(BTN_HOME); run_ms(60); - CHECK(!app.pat.trk[2].mute && !strcmp(keys()[bm_black_key(0)].label, "ACC")); /* otra vez las del canal */ - white(0, 40); /* parado: suena, no graba */ - CHECK(app.sloop && hits_in(0) == hb); - /* REC 2 s: borra el canal del cursor (se deshace) */ - int h0 = hits_in(0); - CHECK(h0 > 0); - btn(BTN_REC, 2200); run_ms(60); - CHECK(hits_in(0) == 0 && app.sloop); - home_with(BTN_OCT_DN); - CHECK(hits_in(0) == h0); - /* REC otra vez: el mezclador */ + /* REC en el mezclador: entra a PLAY/REC ya grabando */ btn(BTN_REC, 30); - CHECK(!app.sloop && !app.rec && !strcmp(keys()[bm_white_key(0)].label, "01")); - /* REC sostenido en MIX: SLOOP solo mientras lo sostienes */ - down(BTN_REC); run_ms(400); CHECK(app.sloop && app.rec); - up(BTN_REC); run_ms(60); + btn(BTN_HOME, 30); CHECK(!app.sloop && !app.rec); - /* un canal de notas vacío: FREE REC (el largo se cierra al salir de SLOOP) */ - app_clear_track(&app, 5); run_ms(40); - enc(ENC_SELECT, 5); - CHECK(app.track == 5); + /* batería: las blancas son los instrumentos; OCT no cambia nada (16 sonidos en una sola página) */ + ch(0); + white(BM_CH_W0 + app_pos(0), 40); + CHECK(app.sloop && app.track == 0); + bm_app_keys(&app, keys_now); + CHECK(keys_now[bm_white_key(2)].label[0] && !keys_now[bm_black_key(0)].label[0]); /* las negras de la batería: sin función */ + int lane = 9; /* un instrumento sin pasos en el kit de la demo */ + while (lane < 16) { int any = 0; for (int s = 0; s < BM_STEPS; s++) any |= app.pat.tr[0].st[lane][s]; if (!any) break; lane++; } + CHECK(lane < 16); + btn(BTN_PLAY, 20); run_ms(200); btn(BTN_REC, 30); - CHECK(app.sloop && app.rec_free == 6 && app.pat.trk[5].length == 64); + app.ctx.st.lane_trig[0] = 0; + kdown(bm_white_key(lane)); run_ms(60); + CHECK(app.ctx.st.lane_trig[0] & (1u << lane) || app.lane_flash[0][lane] > now_ms); + kup(bm_white_key(lane)); run_ms(40); + btn(BTN_REC, 30); btn(BTN_PLAY, 20); + int any = 0; + for (int s = 0; s < BM_STEPS; s++) any |= app.pat.tr[0].st[lane][s] & ST_ON; + CHECK(any); /* el golpe quedó grabado, sin borrar los demás */ + CHECK(app.pat.tr[0].st[0][0] & ST_ON && app.pat.tr[0].st[0][4] & ST_ON); + int sel = app.sel_lane[0]; + btn(BTN_OCT_UP, 20); btn(BTN_OCT_DN, 20); + CHECK(app.sel_lane[0] == sel && app.oct == 0); + /* OCT+ sostenido: golpes fuertes, que se graban con acento (como en SLOOP) */ + for (int s = 0; s < BM_STEPS; s++) app.pat.tr[0].st[lane][s] = 0; btn(BTN_PLAY, 20); run_ms(200); - hold_key(bm_white_key(3), 500); run_ms(1400); - btn(BTN_REC, 30); run_ms(60); - CHECK(!app.sloop && !app.rec_free && app.pat.trk[5].length == 16 && notes_in(5) >= 1); - btn(BTN_PLAY, 20); - /* entrar a una máquina apaga SLOOP */ btn(BTN_REC, 30); - btn(BTN_SEQ, 30); - CHECK(app.view == V_CH && !app.sloop && !app.rec); + down(BTN_OCT_UP); run_ms(40); + shot("01-home-play-drums"); + kdown(bm_white_key(lane)); run_ms(60); kup(bm_white_key(lane)); run_ms(40); + up(BTN_OCT_UP); run_ms(40); + btn(BTN_REC, 30); btn(BTN_PLAY, 20); + int acc = 0; + for (int s = 0; s < BM_STEPS; s++) acc |= (app.pat.tr[0].st[lane][s] & (ST_ON | ST_ACC)) == (ST_ON | ST_ACC); + CHECK(acc && app.oct == 0); + btn(BTN_HOME, 30); + /* el sampler: pad por tecla */ + ch(1); + white(BM_CH_W0 + app_pos(1), 40); + CHECK(app.sloop && app.track == 1); + btn(BTN_HOME, 30); + CHECK(app.view == V_HOME && !app.sloop); } -static void test_oct_paging(void) +static void test_free_rec_drums(void) { - printf("OCT -/+ = la octava en todas partes (batería y pads: nada); B9/B10 = páginas; LENGTH +16; ERASE UND/RED\n"); + printf("batería vacía + REC: graba sobre el largo que tiene (no lo alarga)\n"); + boot(1); + app_push(&app, CMD_TRACK_CLEAR, 0, 0, 0); + run_ms(60); + int len0 = bm_trk_len(&app.pat, 0, 0); + play_rec(0); + btn(BTN_PLAY, 20); run_ms(200); + btn(BTN_REC, 30); + CHECK(app.rec && bm_trk_len(&app.pat, 0, 0) == len0); + uint32_t bar = 60000u * 4u / 160u; + run_ms(bar / 3); + key(bm_white_key(2), 100); + run_ms(bar); + key(bm_white_key(5), 100); + run_ms(bar / 2); + btn(BTN_REC, 30); + run_ms(100); + CHECK(!app.rec && bm_trk_len(&app.pat, 0, 0) == len0 && bm_trk_len(&app.pat, 0, 15) == len0); + int n2 = 0, n5 = 0; + for (int s = 0; s < BM_STEPS; s++) { n2 += app.pat.tr[0].st[2][s] & ST_ON; n5 += app.pat.tr[0].st[5][s] & ST_ON; } + CHECK(n2 >= 1 && n5 >= 1); + for (int l = 0; l < BM_LANES; l++) for (int s = len0; s < BM_STEPS; s++) CHECK(!(app.pat.tr[0].st[l][s] & ST_ON)); + btn(BTN_PLAY, 20); + btn(BTN_HOME, 30); +} + +static void test_drum_seq(void) +{ + printf("secuenciador de la batería: SEQ entra, blancas = pasos, OCT = página de sonidos, negras = compases, capas\n"); boot(1); - enc(ENC_SELECT, 2); /* consola, cursor en T3 (notas): la octava de SLOOP */ - btn(BTN_OCT_UP, 20); - CHECK(app.oct == 1 && sim.leds[BTN_OCT_UP] == LED_ON && sim.leds[BTN_OCT_DN] == LED_DIM); - enc(ENC_SELECT, -2); /* cursor en T1 (batería): nada */ - btn(BTN_OCT_UP, 20); - CHECK(app.oct == 1 && sim.leds[BTN_OCT_UP] == LED_OFF && sim.leds[BTN_OCT_DN] == LED_OFF); - /* dentro de una máquina de notas, también en SEQ: los grados de las negras siguen la octava */ ch(2); - page(BTN_SEQ, PG_SEQ); - int root, sc = app_scale(&app, 2, &root); - kdown(bm_black_key(0)); run_ms(40); - CHECK(app.key_notes[bm_black_key(0)][0] == bm_scale_note(root, sc, 0, 2 + 1)); - kup(bm_black_key(0)); run_ms(40); - btn(BTN_OCT_DN, 20); btn(BTN_OCT_DN, 20); - CHECK(app.oct == -1 && app.step_page == 0); /* ya no pasa páginas */ - kdown(bm_black_key(0)); run_ms(40); - CHECK(app.key_notes[bm_black_key(0)][0] == bm_scale_note(root, sc, 0, 2 - 1)); - kup(bm_black_key(0)); run_ms(40); - btn(BTN_OCT_UP, 20); - /* dos compases: B9 / B10 en ACCENT, TIE, ERASE y FILL */ - down(BTN_SEQ); run_ms(400); black(7, 40); up(BTN_SEQ); run_ms(60); /* 2BR */ - CHECK(app.pat.trk[2].length == 32); - down(BTN_ENV); run_ms(400); - CHECK(app.layer == L_ACC && keys()[bm_black_key(9)].led == LED_MID && keys()[bm_black_key(8)].led == LED_OFF); - black(9, 40); - CHECK(app.step_page == 1); - white(0, 40); /* paso 17: un acento */ - up(BTN_ENV); run_ms(60); - CHECK(!bm_event_empty(bm_evc(&app.pat, 2, 16, 0)) && bm_evc(&app.pat, 2, 16, 0)->vel == BM_VEL_ACC); - down(BTN_LFO); run_ms(400); - CHECK(app.layer == L_REP); - black(8, 40); - CHECK(app.step_page == 0); - up(BTN_LFO); run_ms(60); - down(BTN_EDIT); run_ms(400); + btn(BTN_SEQ, 30); + CHECK(app.view == V_MACH && app.bx.page == BXP_SEQ); /* T3 (BB-303): su piano roll */ + btn(BTN_HOME, 30); + ch(0); + btn(BTN_SEQ, 30); + CHECK(app.view == V_CH && app.track == 0 && app.layer == L_NONE); + shot("02-seq-tr"); + /* desde HOME, con el cursor en la batería, cada botón del menú lleva directo a lo suyo */ + static const struct { int id, layer; } DIRECTO[] = {{BTN_LFO, L_ACC}, {BTN_ENV, L_HIT}, {BTN_EDIT, L_INST}, {BTN_SCL, L_MUTE}}; + for (unsigned i = 0; i < sizeof DIRECTO / sizeof DIRECTO[0]; i++) { + btn(BTN_HOME, 30); + CHECK(app.view == V_HOME); + btn(DIRECTO[i].id, 30); + CHECK(app.view == V_CH && app.track == 0 && app.layer == DIRECTO[i].layer && app.layer_latch); + btn(DIRECTO[i].id, 30); /* otro clic cierra la capa y queda en el secuenciador */ + CHECK(app.view == V_CH && app.layer == L_NONE); + } + btn(BTN_HOME, 30); + white(BM_CH_W0, 40); /* en PLAY/REC de la batería también */ + CHECK(app.sloop); + btn(BTN_LFO, 30); + CHECK(!app.sloop && app.view == V_CH && app.layer == L_ACC); + btn(BTN_HOME, 30); btn(BTN_HOME, 30); + CHECK(app.view == V_HOME); + btn(BTN_SEQ, 30); + app.sel_lane[0] = 7; + CHECK(!(app.pat.tr[0].st[7][3] & ST_ON)); + white(3, 40); + CHECK(app.pat.tr[0].st[7][3] & ST_ON); /* un toque: pone el golpe */ + white(3, 40); + CHECK(!(app.pat.tr[0].st[7][3] & ST_ON)); /* otro: lo quita */ + /* OCT: la página de sonidos (los instrumentos 1-8 o 9-16) */ + CHECK(app.sel_lane[0] == 7); + btn(BTN_OCT_UP, 20); + CHECK(app.sel_lane[0] == 15 && app.oct == 0); + btn(BTN_OCT_UP, 20); + CHECK(app.sel_lane[0] == 15); /* no hay más páginas */ + btn(BTN_OCT_DN, 20); + CHECK(app.sel_lane[0] == 7); + btn(BTN_OCT_DN, 20); + CHECK(app.sel_lane[0] == 7); + /* ALGORITHM elige el instrumento (sin teclas negras) */ + enc(ENC_ALGO, -2); run_ms(700); + CHECK(app.sel_lane[0] == 5); + /* con un patrón de un compás, las negras 9 y 10 se ven (tenues) y al tocarlas lo dicen */ + int len = bm_trk_len(&app.pat, 0, 5); + CHECK(len == 16); + for (int b = 8; b < 10; b++) { black(b, 40); CHECK(app.sel_lane[0] == 5 && app.step_page == 0 && !strcmp(app.toast, "ONE BAR ONLY")); } + bm_app_keys(&app, keys_now); + for (int b = 0; b < 8; b++) CHECK(keys_now[bm_black_key(b)].label[0]); + CHECK(keys_now[bm_black_key(5)].led == LED_ON && !strcmp(keys_now[bm_black_key(8)].label, "<") && keys_now[bm_black_key(8)].led == LED_DIM + && !strcmp(keys_now[bm_black_key(10)].label, "RPT")); + black(2, 40); /* negras 1-8: eligen el instrumento de la página */ + CHECK(app.sel_lane[0] == 2); + black(5, 40); + /* las blancas vacías de los tiempos 1-4 (pasos 1, 5, 9, 13) quedan tenues; las otras vacías, apagadas */ + bm_app_keys(&app, keys_now); + for (int w = 0; w < 16; w++) + if (!(app.pat.tr[0].st[5][w] & ST_ON) && w != bm_app_track_step(&app, 0, 5)) + CHECK(keys_now[bm_white_key(w)].led == (w % 4 == 0 ? LED_DIM : LED_OFF)); + /* SEQ: un clic (o sostenido) sale al mezclador y otro vuelve a entrar */ + down(BTN_SEQ); run_ms(400); up(BTN_SEQ); run_ms(60); + CHECK(app.layer == L_NONE && app.view == V_HOME); + btn(BTN_SEQ, 30); + CHECK(app.layer == L_NONE && app.view == V_CH && app.sel_lane[0] == 5); + for (int l = 0; l < BM_LANES; l++) app_push_i(&app, CMD_SET_LANE, 0, (uint8_t)l, LN_LEN, 32); /* dos compases */ + run_ms(60); + /* con más de un compás, las negras 9 y 10 recorren los compases en círculo */ + bm_app_keys(&app, keys_now); + CHECK(!strcmp(keys_now[bm_black_key(8)].label, "<") && !strcmp(keys_now[bm_black_key(9)].label, ">")); black(9, 40); - white(0, 40); /* parado: borra el paso 17 */ - CHECK(bm_event_empty(bm_evc(&app.pat, 2, 16, 0)) && keys()[bm_black_key(5)].led == LED_MID); - black(5, 40); /* B6 = UNDO */ - CHECK(!bm_event_empty(bm_evc(&app.pat, 2, 16, 0)) && keys()[bm_black_key(6)].led == LED_MID); - up(BTN_EDIT); run_ms(60); - black(10, 40); /* FILL abierta: también pasa páginas */ - CHECK(app.layer == L_FILL); + CHECK(app.step_page == 1); + white(2, 40); /* el paso 19 */ + CHECK(app.pat.tr[0].st[5][18] & ST_ON && !(app.pat.tr[0].st[5][2] & ST_ON)); + black(9, 40); + CHECK(app.step_page == 0); /* del último vuelve al primero */ + black(8, 40); + CHECK(app.step_page == 1); /* y hacia atrás, también en círculo */ black(8, 40); - CHECK(app.step_page == 0 && app.layer == L_FILL); + CHECK(app.step_page == 0); + shot("03-seq-bars"); + /* un paso sostenido: K1 le pone acento (sin P-Locks: se fueron con lo viejo) */ + kdown(bm_white_key(4)); run_ms(500); + enc(ENC_K1, 5); + CHECK(bm_tr_lock_get(&app.pat.tr[0], 4, 5, 0) < 0 && (app.pat.tr[0].st[5][4] & ST_ACC)); + enc(ENC_K1, -1); + CHECK(!(app.pat.tr[0].st[5][4] & ST_ACC) && (app.pat.tr[0].st[5][4] & ST_ON)); + kup(bm_white_key(4)); run_ms(60); + /* LFO: acentos (con navegación: las negras eligen instrumento y compás) */ + btn(BTN_LFO, 30); + CHECK(app.layer == L_ACC && app.layer_latch); + bm_app_keys(&app, keys_now); + CHECK(keys_now[bm_black_key(5)].label[0] && !strcmp(keys_now[bm_black_key(9)].label, "<") && !strcmp(keys_now[bm_black_key(10)].label, ">")); + CHECK(!keys_now[bm_black_key(8)].label[0]); /* la 9: nada */ + white(4, 40); + CHECK(app.pat.tr[0].st[5][4] & ST_ACC); + shot("03-seq-accents"); + bm_app_keys(&app, keys_now); /* con acento ON, con golpe MID, vacíos apagados */ + for (int w = 0; w < 16; w++) { + uint8_t v = app.pat.tr[0].st[5][w]; + CHECK(keys_now[bm_white_key(w)].led == ((v & ST_ACC) ? LED_ON : (v & ST_ON) ? LED_MID : LED_OFF)); + } + black(1, 40); + CHECK(app.sel_lane[0] == 1 && app.layer == L_ACC); + black(5, 40); + btn(BTN_LFO, 30); + CHECK(app.layer == L_NONE); + /* negra 11: repeticiones (un toque la deja abierta), también con navegación */ black(10, 40); - /* LENGTH: B11 = +16 recorre 1-16 > 17-32 > 33-48 > 49-64; K1 cualquiera */ - down(BTN_SEQ); run_ms(400); - CHECK(app.len_page == 1 && !strcmp(keys()[bm_black_key(10)].label, "+16")); + CHECK(app.layer == L_REP && app.layer_latch); + bm_app_keys(&app, keys_now); + CHECK(!strcmp(keys_now[bm_black_key(10)].label, "RPT") && keys_now[bm_black_key(10)].led == LED_BREATH); + white(4, 40); + shot("03-seq-repeat"); + bm_app_keys(&app, keys_now); /* con repetición ON, con golpe MID, vacíos apagados */ + for (int w = 0; w < 16; w++) { + uint8_t v = app.pat.tr[0].st[5][w]; + CHECK(keys_now[bm_white_key(w)].led == ((v & (ST_RAT_MASK | ST_FLAM)) ? LED_ON : (v & ST_ON) ? LED_MID : LED_OFF)); + } + black(9, 40); + CHECK(app.step_page == 1); + black(9, 40); black(10, 40); - CHECK(app.len_page == 2); - white(15, 40); - CHECK(app.pat.trk[2].length == 48); - black(10, 40); black(10, 40); - CHECK(app.len_page == 0); + CHECK(app.layer == L_NONE && ((app.pat.tr[0].st[5][4] & ST_RAT_MASK) >> ST_RAT_SH) == 1); + /* ENV: el sonido del instrumento elegido (el golpe); sostenido es lo mismo que un clic */ + down(BTN_ENV); run_ms(400); + CHECK(app.layer == L_HIT && app.layer_latch); + bm_legend L[4]; + bm_app_legend(&app, L); + CHECK(!strcmp(L[0].name, "TUNE") && !strcmp(L[1].name, "DECAY") && !strcmp(L[2].name, "TONE")); + int dec = app.pat.tr[0].lane[5].decay; + enc(ENC_K2, 4); + CHECK(app.pat.tr[0].lane[5].decay == dec + 4); + white(3, 40); /* otra blanca: ese instrumento */ + CHECK(app.sel_lane[0] == 3); + black(5, 40); + up(BTN_ENV); run_ms(60); + CHECK(app.layer == L_HIT); /* soltarlo no la cierra: otro clic */ + shot("03-seq-hit"); + btn(BTN_ENV, 30); + CHECK(app.layer == L_NONE); + /* EDIT: ALGORITHM cambia el sonido (el modelo) de esta batería, se puede combinar cualquiera */ + btn(BTN_EDIT, 30); + CHECK(app.layer == L_INST && app.layer_latch); + const char *s1, *s2, *s3; + bm_app_bigknobs(&app, &s1, &s2, &s3); + CHECK(!strcmp(s2, "MODEL")); + int model = app.pat.tr[0].lane[5].model, other = app.pat.tr[0].lane[4].model; + enc(ENC_ALGO, 1); + CHECK(app.pat.tr[0].lane[5].model == (model + 1) % DRM_COUNT && app.pat.tr[0].lane[4].model == other); + enc(ENC_K1, -3); + CHECK(app.pat.tr[0].lane[5].level < 127); + btn(BTN_EDIT, 30); + CHECK(app.layer == L_NONE); + /* negra 11 sostenida: REPEAT solo mientras la sostienes */ + kdown(bm_black_key(10)); run_ms(500); + CHECK(app.layer == L_REP); + white(6, 40); + kup(bm_black_key(10)); run_ms(60); + CHECK(app.layer == L_NONE && ((app.pat.tr[0].st[5][6] & ST_RAT_MASK) >> ST_RAT_SH) == 1); + /* SCL: silenciar sonidos de la batería */ + btn(BTN_SCL, 30); + CHECK(app.layer == L_MUTE && app.layer_latch); + white(5, 40); + CHECK((app.pat.tr[0].mute >> 5) & 1); + white(5, 40); + CHECK(!((app.pat.tr[0].mute >> 5) & 1)); + { /* luces fijas: suena = fuerte, muteado = tenue */ + int lb = (app.sel_lane[0] / 8) * 8; + bm_app_keys(&app, keys_now); + CHECK(keys_now[bm_white_key(5)].led == LED_ON && !keys_now[bm_white_key(5)].live); + int act = 0; + for (int v = 0; v < BM_VOICES; v++) act += app.ctx.voice[v].active; + black(5 - lb >= 0 && 5 - lb < 8 ? 5 - lb : 0, 40); /* la negra: acceso rápido, mutea sin sonar */ + int act2 = 0; + for (int v = 0; v < BM_VOICES; v++) act2 += app.ctx.voice[v].active; + CHECK(lb == 0 && ((app.pat.tr[0].mute >> 5) & 1) && act2 <= act); + bm_app_keys(&app, keys_now); + CHECK(keys_now[bm_white_key(5)].led == LED_DIM && keys_now[bm_black_key(5)].led == LED_DIM); + black(5, 40); + CHECK(!((app.pat.tr[0].mute >> 5) & 1)); + int ew = -1; /* uno sin golpes: muteado también queda tenue */ + for (int w = 15; w >= 0 && ew < 0; w--) { + int any = 0; + for (int s2 = 0; s2 < BM_STEPS; s2++) any |= app.pat.tr[0].st[w][s2] & ST_ON; + if (!any) ew = w; + } + CHECK(ew >= 0); + bm_app_keys(&app, keys_now); + CHECK(keys_now[bm_white_key(ew)].led == LED_OFF); + white(ew, 40); + bm_app_keys(&app, keys_now); + CHECK(((app.pat.tr[0].mute >> ew) & 1) && keys_now[bm_white_key(ew)].led == LED_DIM); + white(ew, 40); + bm_app_keys(&app, keys_now); + CHECK(keys_now[bm_white_key(ew)].led == LED_OFF); + } + btn(BTN_SCL, 30); + CHECK(app.layer == L_NONE); + black(10, 40); /* otro botón cierra y hace lo suyo */ + btn(BTN_LFO, 30); + CHECK(app.layer == L_ACC); + btn(BTN_HOME, 30); /* HOME: primero cierra la capa, luego sale */ + CHECK(app.layer == L_NONE && app.view == V_CH); + btn(BTN_HOME, 30); + CHECK(app.view == V_HOME && app.layer == L_NONE); + seq0(); + + /* la perilla de la batería: SELECT no hace nada aquí; PRESETS el kit; K1-K4 las macros */ + int kit = app.pat.trk[0].source, mac = app.pat.trk[0].macro[0], pg = app.step_page; + enc(ENC_SELECT, 1); + CHECK(app.view == V_CH && app.track == 0 && app.step_page == pg); + enc(ENC_PRESETS, 1); + CHECK(app.pat.trk[0].source == (kit + 1) % BM_KITS_N); + /* sin capa, K1-K4 = LEVEL del elegido, LENGTH del kit entero, DECAY y TONE del elegido (no las macros) */ + int ln = app.sel_lane[0] & 15, lv = app.pat.tr[0].lane[ln].level, len0 = bm_trk_len(&app.pat, 0, 0); + enc(ENC_K1, -3); + enc(ENC_K2, 1); + CHECK(app.pat.trk[0].macro[0] == mac && app.pat.tr[0].lane[ln].level == lv - 3); + CHECK(bm_trk_len(&app.pat, 0, 0) == len0 + 1 && bm_trk_len(&app.pat, 0, 15) == len0 + 1); + enc(ENC_K2, -1); + CHECK(bm_trk_len(&app.pat, 0, 0) == len0 && bm_trk_len(&app.pat, 0, 7) == len0); + bm_legend LG[4]; + bm_app_legend(&app, LG); + CHECK(!strcmp(LG[0].name, "LEVEL") && !strcmp(LG[1].name, "LENGTH") && !strcmp(LG[2].name, "DECAY") && !strcmp(LG[3].name, "TONE")); + /* paso sostenido: K1 su acento, K2 su repetición; soltarlo no lo borra */ + white(7, 40); + CHECK(app.pat.tr[0].st[ln][app.step_page * 16 + 7] & ST_ON); + kdown(bm_white_key(7)); run_ms(500); + bm_app_legend(&app, LG); + CHECK(!strcmp(LG[0].name, "ACCENT") && !strcmp(LG[1].name, "REPEAT")); enc(ENC_K1, 1); - CHECK(app.pat.trk[2].length == 49); - up(BTN_SEQ); run_ms(60); - /* la batería: OCT apagado y sin efecto */ - ch(0); - int o = app.oct; - btn(BTN_OCT_UP, 20); - CHECK(app.oct == o && sim.leds[BTN_OCT_UP] == LED_OFF); + enc(ENC_K2, 1); run_ms(900); + enc(ENC_K2, 1); + kup(bm_white_key(7)); run_ms(60); + uint8_t sv = app.pat.tr[0].st[ln][app.step_page * 16 + 7]; + CHECK((sv & ST_ON) && (sv & ST_ACC) && ((sv & ST_RAT_MASK) >> ST_RAT_SH) == 2); + bm_app_bigknobs(&app, &s1, &s2, &s3); + CHECK(!strcmp(s1, "-") && !strcmp(s2, "INSTR") && !strcmp(s3, "KIT")); + shot("02-seq-knobs"); + /* HOME vuelve al mezclador; la capa abierta se cierra */ + btn(BTN_HOME, 30); + CHECK(app.view == V_HOME && app.layer == L_NONE); } -static void test_asks(void) +static void test_glo(void) { - printf("preguntas 0.9: el control que preguntó, sostenido 2 s = sí; soltarlo antes u otro control = no\n"); + printf("GLO del mezclador: SELECT MACHINE asigna la máquina al canal elegido (2 s en una la carga)\n"); boot(1); ch(3); - page(BTN_EDIT, PG_SOUND); - down(BTN_EDIT); run_ms(2100); /* EDIT 2 s: INIT SOUND? */ - CHECK(app.ask == ASK_INIT && app.ask_live && app.ask_ctl == BTN_EDIT && sim.leds[BTN_EDIT] == LED_BLINK); - up(BTN_EDIT); run_ms(60); /* soltarlo antes = no */ - CHECK(app.ask == ASK_NONE && !strcmp(app.toast, "CANCELED") && app.layer == L_NONE); - down(BTN_EDIT); run_ms(2100); - CHECK(app.ask == ASK_INIT); - run_ms(1000); - shot("46a-ask-hold"); - run_ms(1100); /* 2 s más sostenido = sí */ - CHECK(app.ask == ASK_NONE && !strcmp(app.toast, "INIT SOUND")); - up(BTN_EDIT); run_ms(60); - CHECK(app.layer == L_NONE && app.view == V_CH && app.page == PG_SOUND); - down(BTN_EDIT); run_ms(2100); - CHECK(app.ask == ASK_INIT); - btn(BTN_PLAY, 20); /* otro control = no (y no hace lo suyo) */ - CHECK(app.ask == ASK_NONE && !app.ctx.st.playing); - up(BTN_EDIT); run_ms(60); - /* una perilla preguntó (GLO de la máquina > INIT SOUND): 2 s sin tocar nada = sí; otra perilla = no */ btn(BTN_GLO, 30); - enc(ENC_SELECT, 10); - const char *nm; char v[24]; - bm_app_more_row(&app, app.more_row, &nm, v, sizeof v); - CHECK(!strcmp(nm, "INIT SOUND")); + CHECK(app.view == V_GLO && app.track == 3); + shot("24-glo-machines"); + bm_app_keys(&app, keys_now); + CHECK(keys_now[bm_white_key(BM_CH_W0 + app_pos(3))].led == LED_ON && keys_now[bm_black_key(6)].led == LED_OFF); /* el teclado sigue siendo el del mezclador */ + const char *s1, *s2, *s3; + bm_app_bigknobs(&app, &s1, &s2, &s3); + CHECK(!strcmp(s1, "TRACK") && !strcmp(s2, "MACHINE")); + int bpm = app.pat.meta.bpm_x10; + CHECK(!strcmp(s3, "-") && app.glo_page == 0); + btn(BTN_GLO, 30); /* GLO otra vez: la página TEMPO */ + CHECK(app.pat.meta.bpm_x10 == bpm && app.glo_page == 1); + enc(ENC_ALGO, 2); + CHECK(app.pat.meta.bpm_x10 == bpm + 20); + int sw = app.pat.meta.swing; + enc(ENC_K1, 3); + CHECK(app.pat.meta.swing == sw + 3); + shot("24e-glo-tempo"); + btn(BTN_GLO, 30); /* MASTER FX */ + CHECK(app.glo_page == 2); + int rm = app.pat.meta.rv_mix; + enc(ENC_K4, -4); + CHECK(app.pat.meta.rv_mix == rm - 4); + shot("24f-glo-fx"); + btn(BTN_GLO, 30); /* y vuelve a MACHINES */ + CHECK(app.glo_page == 0); + /* SELECT: el canal (todos, con vuelta) */ + enc(ENC_SELECT, 1); CHECK(app.track == 5); + enc(ENC_SELECT, 2); CHECK(app.track == 1); /* el Slicer, al final de la cadena */ + enc(ENC_ALGO, 1); /* fija */ + CHECK(!app.mach_arm && app.pat.trk[1].engine == ENG_BREAK && !strcmp(app.toast, "THIS MACHINE IS FIXED")); + enc(ENC_SELECT, -1); CHECK(app.track == 4); /* BITTAL ya no es fija: después viene la BX-7 */ enc(ENC_ALGO, 1); - CHECK(app.ask == ASK_INIT && app.ask_ctl == ASK_ENC); - enc(ENC_K1, 1); - CHECK(app.ask == ASK_NONE); - enc(ENC_ALGO, 1); run_ms(800); - enc(ENC_ALGO, 1); /* seguir a la derecha: sigue la cuenta */ - CHECK(app.ask == ASK_INIT); - shot("46c-ask-knob"); - run_ms(1400); - CHECK(app.ask == ASK_NONE && !strcmp(app.toast, "INIT SOUND")); + CHECK(app.mach_sel == ENG_FM && app.mach_arm == 1 && app.pat.trk[4].engine == ENG_BITTAL); + enc(ENC_SELECT, -2); + CHECK(app.track == 3 && app.mach_trk == 3 && app.mach_sel == ENG_MINI); + /* una máquina: la cuenta de 2 s y se carga */ + enc(ENC_ALGO, -1); + CHECK(app.mach_sel == ENG_ACID && app.mach_arm == 1); + run_ms(1000); + shot("24c-glo-machines"); + CHECK(app.pat.trk[3].engine == ENG_MINI); + run_ms(1300); + CHECK(app.pat.trk[3].engine == ENG_ACID && !app.mach_arm && !strcmp(app.toast, "T3 = BB-303") && app.view == V_GLO); + /* irse antes de los 2 s: nada */ + enc(ENC_ALGO, 1); + CHECK(app.mach_sel == ENG_MINI && app.mach_arm == 1); + run_ms(900); + enc(ENC_SELECT, 1); /* otro canal: cancela */ + CHECK(!app.mach_arm); + run_ms(2500); + CHECK(app.pat.trk[3].engine == ENG_ACID); + enc(ENC_SELECT, -1); + enc(ENC_ALGO, 1); + run_ms(900); + btn(BTN_HOME, 30); /* HOME: de vuelta, y cancela la cuenta */ + CHECK(app.view == V_HOME && !app.mach_arm); + run_ms(2500); + CHECK(app.pat.trk[3].engine == ENG_ACID); + /* la pesada, una vez: BUNO-6 ya está en el canal 4 (Vital queda fijo en el 5) */ + btn(BTN_GLO, 30); + enc(ENC_ALGO, 2); /* BB-303 > B-MINI > BUNO-6 */ + CHECK(app.mach_sel == ENG_BUNO && !app.mach_arm && !strcmp(app.toast, "BUNO-6 ALREADY ON T4")); + shot("24d-glo-heavy"); + enc(ENC_ALGO, 2); /* BUNO-6 > BITTAL > BX-7: ya hay dos pesadas */ + CHECK(app.mach_sel == ENG_FM && !app.mach_arm && !strcmp(app.toast, "2 HEAVY ON T4 T5")); + run_ms(2500); + CHECK(app.pat.trk[3].engine == ENG_ACID); + /* la máquina queda por patrón y las notas del canal quedan */ + int n3 = 0; + for (int s = 0; s < BM_STEPS; s++) for (int e = 0; e < BM_EVENTS; e++) n3 += !bm_event_empty(bm_evc(&app.pat, 3, s, e)); + CHECK(n3 > 0); + /* lo que ya no está: nada de TEMPO, SCALE ni SONG en GLO */ + btn(BTN_HOME, 30); + CHECK(app.view == V_HOME); } -static void test_console_glo(void) +static void test_leds(void) { - printf("GLO de la consola: TEMPO (con AUTO FILL), MACHINES, SCALE y SONG (entradas con escena, SONG REC)\n"); + printf("luces: los botones sin función apagados, los de la pantalla en DIM, la pantalla actual en ON\n"); boot(1); + CHECK(sim.leds[BTN_HOME] == LED_ON && sim.leds[BTN_GLO] == LED_DIM && sim.leds[BTN_SAVE] != LED_OFF && sim.leds[BTN_REC] == LED_DIM); + CHECK(sim.leds[BTN_SEQ] == LED_DIM); /* el cursor está en la batería */ + CHECK(sim.leds[BTN_FX] == LED_OFF && sim.leds[BTN_ARP] == LED_OFF); + CHECK(sim.leds[BTN_SCL] == LED_DIM && sim.leds[BTN_ENV] == LED_DIM && sim.leds[BTN_LFO] == LED_DIM && sim.leds[BTN_EDIT] == LED_DIM); /* llevan directo a su capa */ + CHECK(sim.leds[BTN_OCT_DN] == LED_OFF && sim.leds[BTN_OCT_UP] == LED_OFF); + enc(ENC_SELECT, 2); + run_ms(60); + CHECK(sim.leds[BTN_SEQ] == LED_DIM && sim.leds[BTN_EDIT] == LED_DIM && sim.leds[BTN_FX] == LED_DIM && sim.leds[BTN_ARP] == LED_DIM); /* T4 (B-MINI): sus menús */ + CHECK(sim.leds[BTN_LFO] == LED_DIM && sim.leds[BTN_ENV] == LED_DIM && sim.leds[BTN_SCL] == LED_DIM); + enc(ENC_SELECT, -1); + run_ms(60); + CHECK(sim.leds[BTN_SEQ] == LED_DIM && sim.leds[BTN_EDIT] == LED_DIM && sim.leds[BTN_FX] == LED_DIM && sim.leds[BTN_ARP] == LED_DIM); /* T3 (BB-303): sus páginas */ + CHECK(sim.leds[BTN_LFO] == LED_DIM && sim.leds[BTN_SCL] == LED_DIM && sim.leds[BTN_ENV] == LED_OFF); + enc(ENC_SELECT, 1); + run_ms(60); btn(BTN_GLO, 30); - CHECK(app.view == V_GLO && app.glo_page == GP_TEMPO && sim.leds[BTN_HOME] == LED_ON && sim.leds[BTN_GLO] == LED_MID); - static const char *const TR[5] = {"BPM", "SWING", "MASTER LENGTH", "TRANSPOSE", "AUTO FILL"}; - const char *nm; char v[20]; - CHECK(bm_app_glo_count(&app) == 5); - for (int i = 0; i < 5; i++) { bm_app_glo_row(&app, i, &nm, v, sizeof v); CHECK(!strcmp(nm, TR[i])); } - enc(ENC_SELECT, 4); - enc(ENC_ALGO, -1); /* AUTO FILL: de cada 4 (demo) a cada 2 */ - CHECK(app.pat.meta.fill_every == 2); - enc(ENC_SELECT, -1); enc(ENC_ALGO, 1); enc(ENC_ALGO, 1); - CHECK(app.pat.meta.transpose == 26); - int bpm = app.pat.meta.bpm_x10; + CHECK(sim.leds[BTN_GLO] == LED_ON && sim.leds[BTN_HOME] == LED_DIM && sim.leds[BTN_REC] == LED_OFF); + btn(BTN_HOME, 30); + /* PLAY/REC: OCT = la octava de las notas */ + white(BM_CH_W0 + 2, 40); + CHECK(app.sloop && sim.leds[BTN_OCT_DN] == LED_DIM && sim.leds[BTN_OCT_UP] == LED_DIM && sim.leds[BTN_HOME] == LED_MID); + btn(BTN_REC, 30); + CHECK(sim.leds[BTN_REC] == LED_ON); + btn(BTN_REC, 30); + btn(BTN_HOME, 30); + /* el secuenciador de la batería */ + seq0(); + CHECK(sim.leds[BTN_SEQ] == LED_ON && sim.leds[BTN_EDIT] == LED_DIM && sim.leds[BTN_ENV] == LED_DIM && sim.leds[BTN_LFO] == LED_DIM && sim.leds[BTN_SCL] == LED_DIM); + CHECK(sim.leds[BTN_OCT_DN] == LED_ON && sim.leds[BTN_OCT_UP] == LED_DIM && sim.leds[BTN_REC] == LED_OFF && sim.leds[BTN_GLO] == LED_OFF); + btn(BTN_OCT_UP, 20); + CHECK(sim.leds[BTN_OCT_UP] == LED_ON && sim.leds[BTN_OCT_DN] == LED_DIM); + btn(BTN_OCT_DN, 20); + /* las teclas: los pasos con golpe ON, el cabezal parpadea */ + bm_app_keys(&app, keys_now); + CHECK(keys_now[bm_white_key(0)].led == LED_ON && keys_now[bm_white_key(1)].led == LED_OFF && keys_now[bm_white_key(4)].led == LED_ON); + down(BTN_EDIT); run_ms(400); + CHECK(sim.leds[BTN_EDIT] == LED_BREATH && sim.leds[BTN_SEQ] == LED_OFF); + up(BTN_EDIT); run_ms(60); + btn(BTN_HOME, 30); + /* SAVE */ + btn(BTN_SAVE, 30); + CHECK(app.view == V_SAVE && sim.leds[BTN_SAVE] == LED_ON && sim.leds[BTN_HOME] == LED_DIM); + btn(BTN_HOME, 30); +} + +static void test_roll_audio(void) +{ + printf("ROLL (el motor, sin pantalla): velocidades y cola, ordenados por el audio\n"); + boot(1); + double fpt = BM_FS * 60.0 / (app.pat.meta.bpm_x10 / 10.0 * BM_PPQN); /* muestras por tick */ + uint32_t at[64]; uint8_t vel[64]; + app_push_i(&app, CMD_ROLL_CFG, 0, 50, 0, BM_BAR_TICKS); + app_push_i(&app, CMD_ROLL, 0, 5, 1, 16); /* 1/16T: cada 16 ticks */ + int n = roll_hits(0, 5, 700, at, vel, 64); + CHECK(n >= 8); + int ok = 1; + for (int i = 1; i < n && i < 64; i++) if (fabs((double)(at[i] - at[i - 1]) - 16 * fpt) > 40) ok = 0; + CHECK(ok); + app_push_i(&app, CMD_ROLL, 0, 5, 1, 8); /* 1/32T */ + n = roll_hits(0, 5, 300, at, vel, 64); + ok = n >= 8; + for (int i = 1; i < n && i < 64; i++) if (fabs((double)(at[i] - at[i - 1]) - 8 * fpt) > 40) ok = 0; + CHECK(ok); + app_push_i(&app, CMD_ROLL, 0, 5, 0, 0); + CHECK(roll_hits(0, 5, 300, at, vel, 64) == 0 && app.ctx.roll[0].mask == 0); +} + +/* ------------------------------------------------------------ idioma */ +static int lang_upload(const uint8_t *p, uint32_t n) +{ + if (bm_app_lang_load(&app, 0, 0, NULL, 0)) return -1; + for (uint32_t off = 0; off < n; off += 200) /* de a pedazos, como por USB */ + if (bm_app_lang_load(&app, 1, off, p + off, n - off < 200 ? n - off : 200)) return -1; + return bm_app_lang_load(&app, 2, 0, NULL, 0); +} + +/* El Slicer (2026-10-22): la rejilla por pasos, LENGTH AND SPEED, EDIT (TRIM: cortar la toma en los pads + * y escribir la secuencia; SOUND), ENV, FX, GLO y SAMPLE */ +static void test_slicer(void) +{ + printf("Slicer: rejilla, LENGTH AND SPEED, TRIM, SOUND, ENV, FX, GLO y SAMPLE\n"); + boot_loop(); + ch(1); /* el Slicer (pista interna T2, el último en pantalla) */ + CHECK(app.track == 1); + btn(BTN_EDIT, 30); /* desde HOME, EDIT: TRIM */ + CHECK(app.view == V_MACH && app.bx.page == BXP_MAIN && slicer_sub(&app) == 0 && mach_knobs_shown(&app)); + for (int i = 0; i < BM_LANES; i++) bm_pad_clear(&app.pat.pad[i]); + app.sel_lane[1] = 0; + enc(ENC_PRESETS, 1); /* PRESETS: la toma entera en el pad 1 */ + CHECK(bm_pad_ok(&app.pat.pad[0]) && app.pat.pad[0].src == 0 && app.pat.pad[0].start == 0); + uint32_t tlen = app.pat.pad[0].len; + CHECK(tlen == app.take[0].len); + shot("90-slicer-trim"); + black(0, 40); /* AUTO: en los golpes, y la secuencia */ + int n = 0, on = 0; + for (int i = 0; i < BM_LANES; i++) n += bm_pad_ok(&app.pat.pad[i]); + for (int l = 0; l < BM_LANES; l++) for (int s = 0; s < BM_STEPS; s++) on += (app.pat.tr[1].st[l][s] & ST_ON) != 0; + CHECK(n >= 4 && on >= n && strstr(app.toast, "PADS + SEQUENCE")); + black(2, 40); /* 16 partes iguales: los 16 pads y su secuencia */ + n = 0; on = 0; + for (int i = 0; i < BM_LANES; i++) n += bm_pad_ok(&app.pat.pad[i]); + for (int l = 0; l < BM_LANES; l++) for (int s = 0; s < BM_STEPS; s++) on += (app.pat.tr[1].st[l][s] & ST_ON) != 0; + CHECK(n == 16 && on == 16 && app.pat.pad[1].start == tlen / 16 && (app.pat.tr[1].st[1][1] & ST_ON)); + /* TRIM: ZOOM, LENGTH mueve el final, START el inicio (el final queda) */ + uint16_t s0 = app.pat.pad[0].start, l0 = app.pat.pad[0].len; + enc(ENC_K3, 1); + CHECK(app.bx.szoom == 1); + enc(ENC_K2, -1); + CHECK(app.pat.pad[0].start == s0 && app.pat.pad[0].len < l0); + uint32_t end = (uint32_t)app.pat.pad[0].start + app.pat.pad[0].len; enc(ENC_K1, 1); - CHECK(app.pat.meta.bpm_x10 == bpm + 10); - run_ms(UI_OVERLAY_MS + 100); - shot("24b-glo-tempo-fill"); - btn(BTN_GLO, 30); - CHECK(app.glo_page == GP_MACH); - shot("24c-glo-machines"); - btn(BTN_GLO, 30); - CHECK(app.glo_page == GP_SCALE && sim.leds[BTN_SCL] == LED_MID); - enc(ENC_SELECT, 2); enc(ENC_ALGO, 1); /* KEYS IN SCALE */ - CHECK(app.pat.meta.scale_lock == 1); - enc(ENC_ALGO, -1); - CHECK(app.pat.meta.scale_lock == 0); - int sc = app.pat.meta.scale; + CHECK(app.pat.pad[0].start > s0 && (uint32_t)app.pat.pad[0].start + app.pat.pad[0].len == end); + shot("90-slicer-trim-zoom"); + enc(ENC_ALGO, 2); /* ALGORITHM: el pad */ + CHECK(app.sel_lane[1] == 2); + key(bm_white_key(5), 60); /* una blanca: toca y elige su pad */ + CHECK(app.sel_lane[1] == 5); + btn(BTN_EDIT, 30); /* EDIT otra vez: SOUND */ + CHECK(app.bx.page == BXP_MAIN && slicer_sub(&app) == 1 && mach_knobs_shown(&app)); + enc(ENC_K1, 3); enc(ENC_K4, 1); enc(ENC_K3, 3); + const bm_pad *p5 = &app.pat.pad[5]; + CHECK(p5->pitch == 27 && (p5->flags & PAD_REV) && p5->mode == PAD_LOOP); + shot("91-slicer-sound"); + btn(BTN_EDIT, 30); /* y otra vez: TRIM, en círculo */ + CHECK(slicer_sub(&app) == 0); + btn(BTN_ENV, 30); /* ENV: ataque, release y el loop (modo LOOP) */ + CHECK(app.bx.page == BXP_ENV && !mach_knobs_shown(&app)); + enc(ENC_K1, 10); enc(ENC_K3, 40); + CHECK(p5->attack > 0 && p5->loop_s > 0); + shot("92-slicer-env"); + app.pat.pad[5].mode = PAD_ONESHOT; /* sin LOOP, el loop no tiene función */ + uint8_t ls = p5->loop_s; + enc(ENC_K3, 10); + CHECK(p5->loop_s == ls); + btn(BTN_ENV, 30); /* ENV otra vez: la rejilla */ + CHECK(app.view == V_CH && app.track == 1 && app.layer == L_NONE); + shot("93-slicer-seq"); + white(3, 40); /* un paso */ + CHECK(app.pat.tr[1].st[5][3] & ST_ON); + enc(ENC_K3, 2); /* K3 en la rejilla: PITCH del pad */ + CHECK(p5->pitch == 29); + btn(BTN_SEQ, 30); /* SEQ otra vez: LENGTH AND SPEED */ + CHECK(app.view == V_CH && app.layer == L_LEN); + white(11, 40); + CHECK(app.pat.tr[1].lane[5].len == 12 && app.pat.tr[1].lane[0].len == 16); + black(4, 40); + CHECK(app.pat.trk[1].speed == SPD_X1_2); + black(10, 40); white(0, 40); /* +16: 17 */ + CHECK(app.pat.tr[1].lane[5].len == 17); + shot("94-slicer-length"); + btn(BTN_SEQ, 30); /* otra vez: la rejilla */ + CHECK(app.view == V_CH && app.layer == L_NONE); + btn(BTN_LFO, 30); + CHECK(app.layer == L_ACC); + btn(BTN_SCL, 30); /* otro botón: cierra y hace lo suyo */ + CHECK(app.layer == L_MUTE); + btn(BTN_FX, 30); /* FX: la máquina */ + CHECK(app.view == V_MACH && app.bx.page == BXP_FX && app.layer == L_NONE); + enc(ENC_K4, 1); + CHECK(app.pat.prm[1][PX_FX] & 1); + btn(BTN_PLAY, 30); run_ms(800); + CHECK(app.ctx.st.playing); + shot("95-slicer-fx"); + btn(BTN_PLAY, 30); + btn(BTN_GLO, 30); /* GLO: LENGTH de todos los pads */ + CHECK(app.bx.page == BXP_GLO && mach_knobs_shown(&app)); + enc(ENC_K1, 1); + CHECK(app.pat.tr[1].lane[0].len == app.pat.tr[1].lane[5].len); + shot("96-slicer-glo"); + /* SAMPLE: graba lo que suena y queda en el pad elegido */ + btn(BTN_EDIT, 30); + int before = 0; + for (int i = 0; i < BM_TAKES; i++) before += app.take[i].valid; + app.sel_lane[1] = 9; + black(10, 40); run_ms(40); + CHECK(app.ctx.st.smp_armed); + btn(BTN_PLAY, 30); + run_ms(2 * 60000u * 4u * 10u / app.pat.meta.bpm_x10 + 300); + CHECK(!app.ctx.st.smp_rec && app.ctx.st.smp_unsaved); + btn(BTN_PLAY, 30); run_ms(1500); + int after = 0; + for (int i = 0; i < BM_TAKES; i++) after += app.take[i].valid; + CHECK(after == before + 1 && bm_pad_ok(&app.pat.pad[9]) && app.pat.pad[9].src != 0); + /* REC sostenido 2 s: borra la secuencia (los pads quedan) */ + btn(BTN_REC, 2300); + on = 0; + for (int l = 0; l < BM_LANES; l++) for (int s = 0; s < BM_STEPS; s++) on += (app.pat.tr[1].st[l][s] & ST_ON) != 0; + CHECK(on == 0 && bm_pad_ok(&app.pat.pad[0])); + btn(BTN_HOME, 30); + CHECK(app.view == V_HOME); + btn(BTN_SCL, 30); /* HOME, SCL: la rejilla con MUTE */ + CHECK(app.view == V_CH && app.layer == L_MUTE); + to_home(); + btn(BTN_OCT_UP, 30); + CHECK(app.view == V_HOME); +} + +static void test_lang(void) +{ + printf("idioma: ingles de fabrica, paquete de espanol por USB, SISTEMA > LANGUAGE\n"); + static uint8_t es[BM_LANG_HI - BM_LANG_LO]; + FILE *f = fopen("lang/es.bmlang", "rb"); + CHECK(f != NULL); + if (!f) return; + uint32_t n = (uint32_t)fread(es, 1, sizeof es, f); + fclose(f); + CHECK(bm_lang_check(es, n, NULL) == n); + boot(1); + CHECK(strcmp(bm_lang_name(), "ENGLISH") == 0 && !bm_app_lang_pack(&app)); + CHECK(strcmp(T("CLOCK"), "CLOCK") == 0); + shot("25-system-en"); + btn(BTN_PLAY, 20); + CHECK(lang_upload(es, n) < 0); /* sonando no se escribe la flash */ + btn(BTN_PLAY, 20); run_ms(100); + CHECK(lang_upload(es, n) == 0 && app.set.lang == 1); + CHECK(strcmp(bm_lang_name(), "ESPANOL") == 0); + CHECK(strcmp(T("CLOCK"), "RELOJ") == 0 && strcmp(T("NOT A PHRASE"), "NOT A PHRASE") == 0); + char b[32]; + snprintf(b, sizeof b, TF("SAVED A%02d"), 7); + CHECK(strcmp(b, "GUARDADO A07") == 0); + /* SISTEMA > LANGUAGE: inglés y vuelta */ + to_home(); + down(BTN_HOME); run_ms(2200); up(BTN_HOME); run_ms(60); + CHECK(app.view == V_SYSTEM); + for (int i = 0; i < 3; i++) enc(ENC_SELECT, 1); /* SYSTEM: reloj, sync, luces, idioma, versión */ + CHECK(app.menu_row == 3 && BM_SYS_ROWS[3] == 9); + shot("25-system-es"); + enc(ENC_ALGO, -1); /* a la izquierda: inglés */ + CHECK(app.set.lang == 0 && strcmp(T("CLOCK"), "CLOCK") == 0); + enc(ENC_ALGO, 1); /* a la derecha: el paquete */ + CHECK(app.set.lang == 1 && strcmp(T("CLOCK"), "RELOJ") == 0); + enc(ENC_ALGO, 1); /* otra vez a la derecha: sigue igual */ + CHECK(app.set.lang == 1); + /* queda guardado */ + run_ms(UI_AUTOSAVE_MS + 500); + boot(0); + CHECK(app.set.lang == 1 && strcmp(T("CLOCK"), "RELOJ") == 0); + /* un paquete dañado no se usa */ + sim.flash[BM_LANG_LO + 200] ^= 0x55; + boot(0); + CHECK(!bm_app_lang_pack(&app) && strcmp(T("CLOCK"), "CLOCK") == 0); + /* quitarlo */ + sim.flash[BM_LANG_LO + 200] ^= 0x55; + boot(0); + CHECK(strcmp(T("CLOCK"), "RELOJ") == 0); + CHECK(bm_app_lang_load(&app, 3, 0, NULL, 0) == 0 && app.set.lang == 0 && !bm_app_lang_pack(&app)); + CHECK(strcmp(T("CLOCK"), "CLOCK") == 0); +} + +/* PIANO ROLL (GLO de la máquina > VIEW) */ +static double draw_us(long *math); + +static int fx_name_is(int f) { return app.pat.prm[3][BX_ORD0 + app.bx.fxpos] == f; } + +static void test_b303(void) +{ + printf("BB-303: la TB-303 en el FM-1 (panel, ACCENT con LFO, SLIDE ligado, FX del TB-03, piano roll)\n"); + boot(1); + ch(2); + CHECK(app.pat.trk[2].engine == ENG_ACID); + btn(BTN_EDIT, 30); /* desde HOME, EDIT: el panel */ + CHECK(app.view == V_MACH && app.bx.page == BXP_MAIN && app.track == 2); + const char *s1, *s2, *s3; + bm_app_bigknobs(&app, &s1, &s2, &s3); + CHECK(!strcmp(s1, "-") && !strcmp(s2, "ACCENT") && !strcmp(s3, "PRESET")); + bm_legend L[4]; + bm_app_legend(&app, L); + CHECK(!strcmp(L[0].name, "CUTOFF") && !strcmp(L[1].name, "RESO") && !strcmp(L[2].name, "ENV MOD") && !strcmp(L[3].name, "DECAY")); + int cut = app.pat.trk[2].macro[0]; + enc(ENC_K1, 5); + CHECK(app.pat.trk[2].macro[0] == cut + 5 && !app.ov.on); /* el panel a la vista: sin el recuadro grande */ + int acc = app.pat.trk[2].accent; + enc(ENC_ALGO, -3); /* ALGORITHM = ACCENT */ + CHECK(app.pat.trk[2].accent == acc - 3 && !app.ov.on); + run_ms(100); + shot("81-b303-panel"); + btn(BTN_EDIT, 30); /* EDIT otra vez: la página 2 (no sale) */ + CHECK(app.bx.page == BXP_MAIN && app.bx.sub[BXP_MAIN] == 1); + btn(BTN_EDIT, 30); /* y otra vez: la 1, en círculo */ + CHECK(app.bx.page == BXP_MAIN && app.bx.sub[BXP_MAIN] == 0); + enc(ENC_SELECT, 1); /* SELECT ya no pasa de página */ + CHECK(app.bx.sub[BXP_MAIN] == 0); + btn(BTN_EDIT, 30); /* la página 2 */ + bm_app_legend(&app, L); + CHECK(!strcmp(L[0].name, "TUNING") && !strcmp(L[1].name, "WAVE") && !strcmp(L[2].name, "SLIDE") && !strcmp(L[3].name, "VOLUME")); enc(ENC_K2, 1); - CHECK(app.pat.meta.scale == (sc + 1) % BM_SCALES); + CHECK(app.pat.prm[2][AC_WAVE] == 1); + shot("81-b303-panel2"); + enc(ENC_K2, -1); + down(BTN_OCT_UP); run_ms(30); /* OCT sostenido + ALGORITHM: TUNING */ + enc(ENC_ALGO, 2); + up(BTN_OCT_UP); run_ms(30); + CHECK(app.pat.trk[2].transpose == 26); + down(BTN_OCT_DN); run_ms(30); down(BTN_OCT_UP); run_ms(30); up(BTN_OCT_UP); up(BTN_OCT_DN); run_ms(40); + CHECK(app.pat.trk[2].transpose == 24 && app.oct == 0); + /* FX: OVERDRIVE, DELAY, REVERB, como el TB-03; DELAY y REVERB son los envíos del canal */ + btn(BTN_FX, 30); + CHECK(app.bx.page == BXP_FX && app.bx.sub[BXP_FX] == 0); + CHECK(!bm_acid_fx_on(app.pat.prm[2], ACF_OD) && bm_send_on(&app.pat, 2, 0) && bm_send_on(&app.pat, 2, 1)); + CHECK(app.pat.prm[2][AC_OD_G] && app.pat.prm[2][AC_OD_L]); /* el demo de antes de los FX trae los de fábrica */ + enc(ENC_K4, 1); + CHECK(bm_acid_fx_on(app.pat.prm[2], ACF_OD)); + enc(ENC_K1, 20); + shot("81-b303-fx"); + static const uint8_t nt[2] = {45, 57}; + CHECK(solo_peak(2, nt, 1, 100, 300) > 0.02); /* con OVERDRIVE suena */ + btn(BTN_FX, 30); /* FX otra vez: la página 2, DELAY y REVERB */ + CHECK(app.bx.page == BXP_FX && app.bx.sub[BXP_FX] == 1); + bm_app_legend(&app, L); + CHECK(!strcmp(L[0].name, "DELAY") && !strcmp(L[1].name, "DLY ON") && !strcmp(L[2].name, "REVERB") && !strcmp(L[3].name, "REV ON")); + shot("81-b303-fx2"); + enc(ENC_K2, -1); /* DELAY apagado: sin envío */ + CHECK(!bm_send_on(&app.pat, 2, 0) && bm_send_on(&app.pat, 2, 1)); + enc(ENC_PRESETS, 1); /* otro sonido: los efectos quedan */ + CHECK(bm_acid_fx_on(app.pat.prm[2], ACF_OD) && !bm_send_on(&app.pat, 2, 0)); + btn(BTN_FX, 30); /* y otra vez: la página 1, sin salir */ + CHECK(app.bx.page == BXP_FX && app.bx.sub[BXP_FX] == 0); + btn(BTN_EDIT, 30); /* otro menú: sale */ + CHECK(app.bx.page == BXP_MAIN && app.bx.sub[BXP_MAIN] == 0); + btn(BTN_ENV, 30); /* la 303 no lo tiene */ + CHECK(app.view == V_MACH && app.bx.page == BXP_MAIN); + /* LFO (un añadido): RATE, DEPTH, WAVE (formas y patrones), DEST */ + btn(BTN_LFO, 30); + CHECK(app.bx.page == BXP_LFO); + bm_app_legend(&app, L); + CHECK(!strcmp(L[0].name, "RATE") && !strcmp(L[1].name, "DEPTH") && !strcmp(L[2].name, "WAVE") && !strcmp(L[3].name, "DEST")); + CHECK(!strcmp(L[0].val, "1 BAR") && app.pat.prm[2][AC_LFO_DEPTH] == 0); + for (int i = 0; i < ACW_GATE; i++) enc(ENC_K3, 1); + for (int i = 0; i < ACL_VOLUME; i++) enc(ENC_K4, 1); + CHECK(app.pat.prm[2][AC_LFO_WAVE] == ACW_GATE && app.pat.prm[2][AC_LFO_DEST] == ACL_VOLUME); + enc(ENC_K2, 127); + CHECK(app.pat.prm[2][AC_LFO_DEPTH] == 127); run_ms(UI_OVERLAY_MS + 100); - shot("24d-glo-scale"); - btn(BTN_HOME, 30); - btn(BTN_SCL, 30); /* SCL en HOME: la misma página */ - CHECK(app.view == V_GLO && app.glo_page == GP_SCALE); + shot("81-b303-lfo"); + btn(BTN_PLAY, 20); /* GATE en VOLUME a fondo: hay pasos callados */ + for (int i = 0; i < BM_TRACKS; i++) app.pat.trk[i].mute = (uint8_t)(i != 2); + kdown(bm_white_key(0)); run_ms(100); + { + double mn = 1e9, mx = 0; + for (int i = 0; i < 40; i++) { + peak_abs = 0; run_ms(25); + if (peak_abs < mn) mn = peak_abs; + if (peak_abs > mx) mx = peak_abs; + } + CHECK(mx > 0.02 && mn < mx * 0.2); + } + kup(bm_white_key(0)); + for (int i = 0; i < BM_TRACKS; i++) app.pat.trk[i].mute = 0; + btn(BTN_PLAY, 20); + enc(ENC_K2, -127); + btn(BTN_LFO, 30); + CHECK(app.bx.page == BXP_MAIN); + for (int w = 0; w < ACW_N; w++) + for (int i = 0; i <= 64; i++) { + float u = bm_acid_lfo_shape(w, (float)i / 64.0f, 3); + CHECK(u >= 0.0f && u <= 1.0f); + if (u < 0.0f || u > 1.0f) break; + } + /* ARP y GLO */ + btn(BTN_ARP, 30); + btn(BTN_ARP, 30); /* su página 2 */ + enc(ENC_K1, 1); + CHECK(app.pat.prm[2][AC_LATCH] == 1); + enc(ENC_K1, -1); btn(BTN_GLO, 30); - CHECK(app.glo_page == GP_SONG && sim.leds[BTN_SEQ] == LED_MID); - white(0, 40); white(2, 40); /* dos entradas */ - CHECK(app.song.n == 2 && app.song_cur == 1); - black(7, 40); /* B8: la escena B en la entrada 2 */ - CHECK(bm_song_scene(app.song.pat[1]) == 1 && bm_song_pat(app.song.pat[1]) == 2); - CHECK(keys()[bm_black_key(7)].led == LED_ON); - black(7, 40); /* otra vez: sin escena */ - CHECK(bm_song_scene(app.song.pat[1]) < 0); - black(8, 40); - CHECK(bm_song_scene(app.song.pat[1]) == 2); - enc(ENC_K2, 1); /* K2 = vueltas */ - CHECK(app.song.rep[1] == 2); - enc(ENC_ALGO, 1); /* ALGORITHM = el patrón de la entrada */ - CHECK(bm_song_pat(app.song.pat[1]) == 3 && bm_song_scene(app.song.pat[1]) == 2); - shot("24e-glo-song"); - black(10, 40); /* B11 borra la elegida */ - CHECK(app.song.n == 1); - black(10, 40); - CHECK(app.song.n == 0); - /* SONG REC (HOME + REC): los cambios de patrón y los lanzamientos de escena */ - home_with(BTN_REC); - CHECK(app.song_rec == 2); /* parado: armado, empieza con PLAY */ + CHECK(app.bx.page == BXP_GLO); + bm_app_legend(&app, L); + CHECK(!strcmp(L[0].name, "LENGTH") && !strcmp(L[1].name, "MACHINE") && !strcmp(L[2].name, "MIDI CH") && !strcmp(L[3].name, "MIDI OUT")); + btn(BTN_GLO, 30); /* su página 2: QUANT y RESET */ + bm_app_legend(&app, L); + CHECK(app.bx.sub[BXP_GLO] == 1 && !strcmp(L[2].name, "QUANT") && !strcmp(L[3].name, "RESET")); + CHECK(app.pat.trk[2].qfree == 0); /* de fábrica: 100 % */ + enc(ENC_K3, -1); + CHECK(app.pat.trk[2].qfree == 1 && !strcmp(app.ov.val, "75%")); + enc(ENC_K3, 1); + CHECK(app.pat.trk[2].qfree == 0); + /* REC armado en el panel: la primera nota arranca y graba; tocar ligado = SLIDE */ + btn(BTN_EDIT, 30); + CHECK(app.bx.page == BXP_MAIN); + for (int s = 0; s < BM_STEPS; s++) for (int e = 0; e < BM_EVENTS; e++) { bm_event z; bm_event_clear(&z); app_push_ev(&app, 2, s, e, &z); } + run_ms(40); + btn(BTN_REC, 30); + CHECK(app.bx.armed); + int ka = bm_white_key(0), kb = bm_white_key(4); + kdown(ka); run_ms(60); + CHECK(app.ctx.st.playing && app.rec); + run_ms(300); + kdown(kb); run_ms(80); /* la anterior sigue sostenida: SLIDE */ + int v = 0; + for (int i = 0; i < BM_VOICES; i++) v += app.ctx.voice[i].active && app.ctx.voice[i].track == 2 && app.ctx.voice[i].gate; + CHECK(v == 1); + kup(ka); run_ms(200); + kup(kb); run_ms(60); + shot("81-b303-seq"); + btn(BTN_REC, 30); + btn(BTN_PLAY, 20); + const bm_event *ea = NULL, *eb = NULL; + int sa = -1, sb = -1; + for (int s = 0; s < BM_STEPS; s++) for (int e = 0; e < BM_EVENTS; e++) { + const bm_event *ev = bm_evc(&app.pat, 2, s, e); + if (bm_event_empty(ev)) continue; + if (ev->note == BM_KEY_BASE_NOTE + ka) { ea = ev; sa = s; } + if (ev->note == BM_KEY_BASE_NOTE + kb) { eb = ev; sb = s; } + } + CHECK(ea && eb && sa == 0 && sb > 0 && sb < 16); + CHECK(ea && ea->vel != BM_VEL_ACC && (ea->len & BM_LEN_TIE) && (int)(ea->len & BM_LEN_MASK) == sb); + CHECK(eb && eb->vel != BM_VEL_ACC && !(eb->len & BM_LEN_TIE)); + /* SCL: el ACCENT de cada paso con las blancas; SCL otra vez, el SLIDE */ + btn(BTN_SCL, 30); + CHECK(app.bx.page == BXP_SCL && app.bx.sub[BXP_SCL] == 0 && app.bx.blk == 0); + bm_app_keys(&app, keys_now); + CHECK(keys_now[bm_white_key(0)].led == LED_DIM && keys_now[bm_white_key(sb)].led == LED_DIM); + white(0, 40); + CHECK(ea->vel == BM_VEL_ACC && eb->vel != BM_VEL_ACC); + bm_app_keys(&app, keys_now); + CHECK(keys_now[bm_white_key(0)].led == LED_ON); + int empty = sb + 1 < 16 ? sb + 1 : 15; + white(empty, 40); + CHECK(strstr(app.toast, "NO NOTE") != NULL); + shot("81-b303-accent"); + btn(BTN_SCL, 30); + CHECK(app.bx.page == BXP_SCL && app.bx.sub[BXP_SCL] == 1); + white(sb, 40); + CHECK(eb->len & BM_LEN_TIE); + white(sb, 40); + CHECK(!(eb->len & BM_LEN_TIE)); + shot("81-b303-slide"); + btn(BTN_SCL, 30); /* SCL otra vez: ACCENT, en círculo */ + CHECK(app.bx.page == BXP_SCL && app.bx.sub[BXP_SCL] == 0); + btn(BTN_ARP, 30); + CHECK(app.bx.page == BXP_ARP && app.bx.sub[BXP_ARP] == 0); + btn(BTN_ARP, 30); + CHECK(app.bx.page == BXP_ARP && app.bx.sub[BXP_ARP] == 1); + btn(BTN_LFO, 30); btn(BTN_LFO, 30); /* una sola página: otra vez, el panel */ + CHECK(app.bx.page == BXP_MAIN); btn(BTN_HOME, 30); - btn(BTN_PLAY, 20); run_ms(200); - CHECK(app.song_rec == 1 && app.song.n == 1 && bm_song_pat(app.song.pat[0]) == 0 && bm_song_scene(app.song.pat[0]) < 0); - black(7, 40); /* escena B */ - white(1, 40); /* y A02 en cola */ - run_ms(6200); - CHECK(app.song.n == 2 && bm_song_pat(app.song.pat[1]) == 1 && bm_song_scene(app.song.pat[1]) == 1); - run_ms(6000); - CHECK(app.song.n == 2 && app.song.rep[1] == 2); /* el mismo patrón sin escena nueva: una vuelta más */ + CHECK(app.view == V_HOME); +} + +static int gated(int t) +{ + int v = 0; + for (int i = 0; i < BM_VOICES; i++) v += app.ctx.voice[i].active && app.ctx.voice[i].track == t && app.ctx.voice[i].gate; + return v; +} + +static void test_fixes_1022(void) +{ + printf("arreglos 2026-10-22 (manuales de las máquinas, SLOOP, Felucca): acento de la 303, LATCH, notas colgadas, grabar ligado\n"); + boot(1); + /* BB-303: con ACCENT bajo, un paso normal no suena acentuado (la 303 acentúa solo el paso con acento) */ + ch(2); + app_set_track(&app, 2, TRK_OFF(accent), 10); + run_ms(40); btn(BTN_PLAY, 20); - home_with(BTN_REC); - CHECK(!app.song_rec); + int hi = 0, any = 0; + for (int i = 0; i < 40; i++) { + run_ms(10); + for (int v = 0; v < BM_VOICES; v++) + if (app.ctx.voice[v].active && app.ctx.voice[v].track == 2 && app.ctx.voice[v].gate) { any = 1; hi |= app.ctx.voice[v].vel >= 120 && app.ctx.voice[v].vel != 127; } + } + btn(BTN_PLAY, 20); + CHECK(any && !hi); + /* ARP con LATCH: apagar LATCH con las teclas sueltas lo para (manual del FM-1) */ + btn(BTN_ARP, 30); + CHECK(app.view == V_MACH && app.bx.page == BXP_ARP); + enc(ENC_K1, 1); /* MODE UP */ + btn(BTN_ARP, 30); + enc(ENC_K1, 1); /* LATCH ON */ + CHECK(app.pat.prm[2][AC_LATCH] == 1); + kdown(bm_white_key(0)); kdown(bm_white_key(2)); run_ms(60); + kup(bm_white_key(0)); kup(bm_white_key(2)); run_ms(400); + CHECK(app.ctx.arp[2].n == 2); /* sigue arpegiando */ + enc(ENC_K1, -1); /* LATCH OFF */ + run_ms(300); + CHECK(app.ctx.arp[2].n == 0 && gated(2) == 0); + /* una tecla apretada antes de prender el arpegiador se suelta normal (no queda colgada) */ + btn(BTN_ARP, 30); + enc(ENC_K1, -1); /* MODE OFF */ + run_ms(40); + kdown(bm_white_key(4)); run_ms(60); + CHECK(gated(2) == 1); + enc(ENC_K1, 1); /* MODE UP con la tecla apretada */ + run_ms(40); + kup(bm_white_key(4)); run_ms(200); + CHECK(gated(2) == 0); + enc(ENC_K1, -1); + btn(BTN_HOME, 30); + /* grabar ligado en B-MINI: la segunda nota no comparte casilla con la que sigue apretada */ + ch(3); + btn(BTN_SEQ, 30); + for (int s = 0; s < BM_STEPS; s++) for (int e = 0; e < BM_EVENTS; e++) { bm_event z; bm_event_clear(&z); app_push_ev(&app, 3, s, e, &z); } + run_ms(40); + btn(BTN_REC, 30); + int ka = bm_white_key(0), kb = bm_white_key(2); + kdown(ka); run_ms(300); + kdown(kb); run_ms(300); + kup(ka); run_ms(100); + kup(kb); run_ms(60); + btn(BTN_REC, 30); btn(BTN_PLAY, 20); + int sa = -1, sb = -1; + for (int s = 0; s < BM_STEPS; s++) for (int e = 0; e < BM_EVENTS; e++) { + const bm_event *ev = bm_evc(&app.pat, 3, s, e); + if (bm_event_empty(ev)) continue; + if (ev->note == BM_KEY_BASE_NOTE + ka) sa = e; + if (ev->note == BM_KEY_BASE_NOTE + kb) sb = e; + } + CHECK(sa >= 0 && sb >= 0 && sa != sb); + btn(BTN_HOME, 30); } -/* render de bloques sin la interfaz: para comparar dos mezclas muestra a muestra */ -static void render(int32_t *dst, int frames) +static int step_n(int t, int s) { - for (int o = 0; o < frames; o += 128) bm_app_audio(&app, dst + o * 2, frames - o < 128 ? (uint32_t)(frames - o) : 128u); + int n = 0; + for (int e = 0; e < BM_EVENTS; e++) n += !bm_event_empty(bm_evc(&app.pat, t, s, e)); + return n; } -static void fx_solo(int t, int beatfx, int off, int drive) +static int step_has(int t, int s, int note) { + for (int e = 0; e < BM_EVENTS; e++) { + const bm_event *ev = bm_evc(&app.pat, t, s, e); + if (!bm_event_empty(ev) && ev->note == note) return 1; + } + return 0; +} + +static void test_roll_machines(void) +{ + printf("B-MINI, BUNO-6 y BITTAL: SEQ abre su piano roll (REC tipo SLOOP); SEQ otra vez, su panel\n"); boot(1); - for (int i = 0; i < BM_TRACKS; i++) app.pat.trk[i].mute = (uint8_t)(i != t); - app.pat.trk[t].send = 0; app.pat.trk[t].rsend = 0; app.pat.meta.rv_mix = 0; app.pat.meta.dly_mix = 0; - app.pat.meta.beatfx = (uint8_t)beatfx; app.pat.trk[t].bfx_off = (uint8_t)off; app.pat.trk[t].drive = (uint8_t)drive; - note(t, 57, 1); note(t, 60, 1); note(t, 64, 1); + static const int TT[3] = {3, 5, 4}; + for (int i = 0; i < 3; i++) { + ch(TT[i]); + btn(BTN_SEQ, 30); + CHECK(app.view == V_MACH && app.bx.page == BXP_SEQ && app.track == TT[i]); + run_ms(60); + CHECK(sim.leds[BTN_SEQ] == LED_ON && sim.leds[BTN_FX] == LED_DIM && sim.leds[BTN_EDIT] == LED_DIM && sim.leds[BTN_REC] == LED_DIM); /* sus menús */ + if (i == 0) { + bm_legend L[4]; + bm_app_legend(&app, L); + CHECK(!L[0].name[0] && !strcmp(L[1].name, "SPEED") && !strcmp(L[2].name, "PAGE") && !strcmp(L[3].name, "SCROLL")); + enc(ENC_K4, 3); /* K4: las alturas que se ven */ + CHECK(app.bx.vy == 3); + enc(ENC_K4, -3); + /* GLO: LENGTH (en pasos), MACHINE (solo las que se pueden), MIDI CH, MIDI OUT; pág 2 RESET */ + btn(BTN_GLO, 30); + CHECK(app.bx.page == BXP_GLO && sim.leds[BTN_GLO] != LED_OFF); + bm_app_legend(&app, L); + CHECK(!strcmp(L[0].name, "LENGTH") && !strcmp(L[1].name, "MACHINE") && !strcmp(L[2].name, "MIDI CH") && !strcmp(L[3].name, "MIDI OUT")); + int len = app.pat.trk[3].length; + enc(ENC_K1, 1); + CHECK(app.pat.trk[3].length == len + 1); /* en pasos: 16, 17, 30... */ + shot("82-mini-glo"); + enc(ENC_K1, -1); + for (int n = 0; n < 4; n++) enc(ENC_K2, 1); /* las pesadas que no se pueden no aparecen */ + int shown = app_mach_shown(&app); + CHECK(shown == ENG_MINI || shown == ENG_BUNO || shown == ENG_BITTAL || shown == ENG_FM); + CHECK(shown == ENG_MINI || !(bm_machine_conflict(&app.pat, 3, shown) >= 0)); + for (int n = 0; n < 6; n++) enc(ENC_K2, -1); + CHECK(app_mach_shown(&app) == ENG_ACID && app.mach_arm); + run_ms(2300); /* 2 s en una: la carga */ + CHECK(app.pat.trk[3].engine == ENG_ACID && app.view == V_MACH && app.bx.page == BXP_GLO); + enc(ENC_K2, 1); + run_ms(2300); + CHECK(app.pat.trk[3].engine == ENG_MINI && app.view == V_MACH); + btn(BTN_GLO, 30); + bm_app_legend(&app, L); + CHECK(app.bx.sub[BXP_GLO] == 1 && !strcmp(L[2].name, "QUANT") && !strcmp(L[3].name, "RESET")); + btn(BTN_SEQ, 30); /* de vuelta al piano roll */ + CHECK(app.view == V_MACH && app.bx.page == BXP_SEQ); + run_ms(UI_OVERLAY_MS + 100); + shot("82-mini-seq"); + /* parado en el SEQ: REC = paso a paso */ + for (int s = 0; s < BM_STEPS; s++) for (int e = 0; e < BM_EVENTS; e++) { bm_event z; bm_event_clear(&z); app_push_ev(&app, 3, s, e, &z); } + run_ms(40); + btn(BTN_REC, 30); + CHECK(app.rec && !app.ctx.st.playing && mach_step_mode(&app) && app.bx.step == 0); + int ka = bm_white_key(7), kb = bm_white_key(9), na = BM_KEY_BASE_NOTE + ka, nb = BM_KEY_BASE_NOTE + kb; + key(ka, 60); + CHECK(app.bx.step == 1); + kdown(ka); kdown(kb); run_ms(60); kup(ka); run_ms(30); + CHECK(app.bx.step == 1); /* el acorde sigue apretado */ + kup(kb); run_ms(40); + CHECK(app.bx.step == 2); + enc(ENC_SELECT, 2); /* SELECT mueve el cursor: un silencio */ + CHECK(app.bx.step == 4); + key(kb, 60); + CHECK(step_has(3, 0, na) && step_has(3, 1, na) && step_has(3, 1, nb) && step_has(3, 4, nb)); + CHECK(step_n(3, 2) == 0 && step_n(3, 3) == 0 && step_n(3, 0) == 1); + shot("82-mini-step"); + enc(ENC_SELECT, -5); /* el paso 1 otra vez: se reescribe */ + CHECK(app.bx.step == 0); + key(kb, 60); + CHECK(step_has(3, 0, nb) && !step_has(3, 0, na) && step_n(3, 0) == 1); + /* PLAY: sigue grabando en vivo, con el largo de lo que sostienes */ + btn(BTN_PLAY, 20); + CHECK(app.ctx.st.playing && app.rec && !mach_step_mode(&app)); + key(bm_white_key(11), 300); + btn(BTN_REC, 30); btn(BTN_PLAY, 20); + int found = 0; + for (int s2 = 0; s2 < BM_STEPS; s2++) found |= step_has(3, s2, BM_KEY_BASE_NOTE + bm_white_key(11)); + CHECK(found && !app.rec); + } + btn(BTN_SEQ, 30); /* SEQ otra vez: su panel */ + CHECK(app.view == V_MACH && app.bx.page == BXP_MAIN); + btn(BTN_HOME, 30); + CHECK(app.view == V_HOME); + } } -static void test_fx_channel(void) +static void test_panels(void) { - printf("HOME FX > CHANNEL: DRIVE (soft-clip del canal), PAN, DUCK y BEAT FX por canal (como un MX-1)\n"); + printf("BUNO-6 y BITTAL: los menús del B-MINI (EDIT por secciones, ENV, LFO, FX, SCL); BITTAL dibuja sus tablas\n"); boot(1); - enc(ENC_SELECT, 3); /* T4 BX-7 */ - btn(BTN_FX, 30); - CHECK(app.view == V_FXG && app.fx_page == FXP_CHANNEL); bm_legend L[4]; + char ti[24]; + const char *s1, *s2, *s3; + static const uint8_t nt[1] = {48}; + /* BUNO-6: el Juno-6 */ + ch(5); + CHECK(app.pat.trk[5].engine == ENG_BUNO); + btn(BTN_EDIT, 30); + CHECK(app.view == V_MACH && app.bx.page == BXP_MAIN && !strcmp(mach_title(&app, ti, sizeof ti), "VCF 1/5")); bm_app_legend(&app, L); - CHECK(!strcmp(L[0].name, "DRIVE") && !strcmp(L[0].val, "OFF") && !strcmp(L[1].name, "PAN") && !strcmp(L[2].name, "DUCK") - && !strcmp(L[3].name, "BEAT FX") && !strcmp(L[3].val, "ON")); - run_ms(1000); - enc(ENC_K1, 10); - CHECK(app.pat.trk[3].drive == 10); - enc(ENC_K2, 3); /* PAN: el centro retiene 2 */ - CHECK(app.pat.trk[3].pan == 65); - int dk = app.pat.trk[3].duck; - enc(ENC_K3, 2); - CHECK(app.pat.trk[3].duck == dk + 2); - enc(ENC_K4, -1); /* a la izquierda: BEAT FX OFF en este canal */ - CHECK(app.pat.trk[3].bfx_off == 1); - enc(ENC_K4, -1); - CHECK(app.pat.trk[3].bfx_off == 1); + CHECK(!strcmp(L[0].name, "FREQ") && !strcmp(L[1].name, "RES") && !strcmp(L[2].name, "ENV") && !strcmp(L[3].name, "LFO")); + bm_app_bigknobs(&app, &s1, &s2, &s3); + CHECK(!strcmp(s2, "FREQ")); + int f0 = app.pat.trk[5].macro[0]; + enc(ENC_ALGO, -3); + CHECK(app.pat.trk[5].macro[0] == f0 - 3 && !app.ov.on); + run_ms(100); + shot("84-buno-vcf"); + static const char *const BE[5][4] = {{"FREQ", "RES", "ENV", "LFO"}, {"RANGE", "PULSE", "SAW", "SUB"}, {"LFO", "PWM", "PWM MODE", "NOISE"}, + {"HPF", "ENV +/-", "KYBD", "VELO"}, {"ENV/GATE", "VELO", "", "VOLUME"}}; + for (int pg = 1; pg <= 5; pg++) { + btn(BTN_EDIT, 30); + bm_app_legend(&app, L); + for (int k = 0; k < 4; k++) CHECK(!strcmp(L[k].name, BE[pg % 5][k])); + if (pg == 1) shot("84-buno-dco"); + } + btn(BTN_ENV, 30); /* una sola envolvente: ENV otra vez, el panel */ + CHECK(app.bx.page == BXP_ENV && !strcmp(mach_title(&app, ti, sizeof ti), "ENV")); + bm_app_legend(&app, L); + CHECK(!strcmp(L[0].name, "ATTACK") && !strcmp(L[3].name, "RELEASE")); + shot("84-buno-env"); + btn(BTN_ENV, 30); + CHECK(app.bx.page == BXP_MAIN); + btn(BTN_LFO, 30); + bm_app_legend(&app, L); + CHECK(!strcmp(L[0].name, "RATE") && !strcmp(L[1].name, "DELAY")); + enc(ENC_K2, 30); run_ms(UI_OVERLAY_MS + 100); - shot("39a-home-fx-channel"); + shot("84-buno-lfo"); + btn(BTN_FX, 30); + CHECK(!bm_px_fx_on(app.pat.prm[5], ENG_BUNO, PXF_DIST) && bm_send_on(&app.pat, 5, 1)); enc(ENC_K4, 1); - CHECK(app.pat.trk[3].bfx_off == 0); - /* los formatos: DRIVE y BEAT FX viajan con el patrón */ - static uint8_t b[BM_PENDING_LEN]; - static bm_pattern q; - app.pat.trk[3].bfx_off = 1; - int n = bm_pattern_pack(&app.pat, b, sizeof b); - CHECK(n > 0 && bm_pattern_unpack(&q, b, n) == n && q.trk[3].drive == 10 && q.trk[3].bfx_off == 1); - /* el audio: BEAT FX OFF = el STUTTER no toca el canal (igual que sin efecto); ON sí lo toca */ - enum { N = 30000 }; - static int32_t ref[N * 2], off[N * 2], on[N * 2], drv[N * 2]; - fx_solo(3, 0, 0, 0); render(ref, N); - fx_solo(3, 1, 1, 0); render(off, N); - fx_solo(3, 1, 0, 0); render(on, N); - fx_solo(3, 0, 0, 127); render(drv, N); - int d_off = 0, d_on = 0, d_drv = 0; - double pr = 0, pd = 0, er = 0, ed = 0; - for (int i = 0; i < N * 2; i++) { - d_off += ref[i] != off[i]; d_on += ref[i] != on[i]; d_drv += ref[i] != drv[i]; - if (fabs((double)ref[i]) > pr) pr = fabs((double)ref[i]); - if (fabs((double)drv[i]) > pd) pd = fabs((double)drv[i]); - er += (double)ref[i] * ref[i]; ed += (double)drv[i] * drv[i]; + CHECK(bm_px_fx_on(app.pat.prm[5], ENG_BUNO, PXF_DIST)); + CHECK(solo_peak(5, nt, 1, 100, 300) > 0.01); + btn(BTN_FX, 30); + bm_app_legend(&app, L); + CHECK(!strcmp(L[0].name, "CHORUS") && !strcmp(L[2].name, "REVERB")); + for (int i = 0; i < 4; i++) enc(ENC_K1, 1); + CHECK(app.pat.prm[5][BN_CHORUS] == BN_CH_BOTH && !strcmp(app.ov.val, "I+II")); + run_ms(UI_OVERLAY_MS + 100); + shot("84-buno-fx2"); + enc(ENC_K1, -2); + btn(BTN_FX, 30); enc(ENC_K4, -1); + btn(BTN_SCL, 30); + CHECK(app.bx.page == BXP_SCL && !strcmp(mach_title(&app, ti, sizeof ti), "ACCENT 1-16")); + btn(BTN_HOME, 30); + /* BITTAL: Vital */ + ch(4); + CHECK(app.pat.trk[4].engine == ENG_BITTAL); + btn(BTN_EDIT, 30); + CHECK(!strcmp(mach_title(&app, ti, sizeof ti), "OSC 1 1/7")); + bm_app_legend(&app, L); + CHECK(!strcmp(L[0].name, "LEVEL") && !strcmp(L[1].name, "TRANSP") && !strcmp(L[2].name, "FRAME") && !strcmp(L[3].name, "UNISON")); + bm_app_bigknobs(&app, &s1, &s2, &s3); + CHECK(!strcmp(s2, "CUTOFF")); + int c0 = app.pat.prm[4][BT_CUT]; + enc(ENC_ALGO, -4); + CHECK(app.pat.prm[4][BT_CUT] == c0 - 4 && app.ov.on); /* el corte no está en OSC 1: el recuadro */ + run_ms(UI_OVERLAY_MS + 100); + for (int i = 0; i < 10; i++) enc(ENC_K3, 10); /* FRAME: la onda de abajo cambia */ + run_ms(UI_OVERLAY_MS + 100); + shot("85-bittal-osc1"); + static const char *const TE[7][2] = {{"LEVEL", "UNISON"}, {"DETUNE", ""}, {"LEVEL", "UNISON"}, {"DETUNE", ""}, + {"MODEL", "DRIVE"}, {"ENV2 AMT", "ENV2 POS"}, {"MODE", "VOLUME"}}; + for (int pg = 1; pg <= 7; pg++) { + btn(BTN_EDIT, 30); + bm_app_legend(&app, L); + CHECK(!strcmp(L[0].name, TE[pg % 7][0]) && !strcmp(L[3].name, TE[pg % 7][1])); + if (pg == 4) { + enc(ENC_ALGO, 4); /* en FILTER el corte se ve en su perilla */ + CHECK(app.pat.prm[4][BT_CUT] == c0 && !app.ov.on); + shot("85-bittal-filter"); + } } - double cr = er > 0 ? pr / sqrt(er / (N * 2)) : 0, cd = ed > 0 ? pd / sqrt(ed / (N * 2)) : 0; /* pico / RMS */ - printf(" STUTTER 4: muestras distintas con BEAT FX OFF %d, ON %d · DRIVE 127: pico/RMS %.2f -> %.2f\n", d_off, d_on, cr, cd); - CHECK(d_off == 0 && d_on > N / 4 && d_drv > N / 4 && cd < cr && cd > 0); + btn(BTN_LFO, 30); /* LFO y los destinos de las 4 macros */ + CHECK(!strcmp(mach_title(&app, ti, sizeof ti), "LFO 1/3")); + shot("85-bittal-lfo"); + btn(BTN_LFO, 30); + bm_app_legend(&app, L); + CHECK(!strcmp(mach_title(&app, ti, sizeof ti), "LFO 2/3 MACRO 1-2") && !strcmp(L[0].name, "M1 TO") && !strcmp(L[3].name, "M2 AMT")); + btn(BTN_LFO, 30); + bm_app_legend(&app, L); + CHECK(!strcmp(L[0].name, "M3 TO") && !strcmp(L[3].name, "M4 AMT")); + btn(BTN_ENV, 30); + CHECK(!strcmp(mach_title(&app, ti, sizeof ti), "ENV 1/2 ENV 1")); + btn(BTN_ENV, 30); + CHECK(!strcmp(mach_title(&app, ti, sizeof ti), "ENV 2/2 ENV 2")); + shot("85-bittal-env2"); + btn(BTN_FX, 30); + enc(ENC_K4, 1); + btn(BTN_FX, 30); + enc(ENC_K1, 1); + CHECK(bm_px_fx_on(app.pat.prm[4], ENG_BITTAL, PXF_DIST) && app.pat.prm[4][PX_CHORUS] == 1); + CHECK(solo_peak(4, nt, 1, 100, 300) > 0.01); + shot("85-bittal-fx2"); + enc(ENC_K1, -1); + btn(BTN_FX, 30); enc(ENC_K4, -1); + btn(BTN_EDIT, 30); /* sonando: la onda que suena, con lo que la mueve */ + for (int i = 0; i < BM_TRACKS; i++) app.pat.trk[i].mute = (uint8_t)(i != 4); + uint32_t sq = bm_wv_btseq; + kdown(bm_white_key(4)); run_ms(300); + CHECK(bm_wv_btseq != sq && bm_wv_btpos[0] >= 0.0f && bm_wv_btpos[0] <= 1.0f); + shot("85-bittal-playing"); + kup(bm_white_key(4)); run_ms(100); + for (int i = 0; i < BM_TRACKS; i++) app.pat.trk[i].mute = 0; + btn(BTN_HOME, 30); + CHECK(app.view == V_HOME); } -/* PIANO ROLL (GLO de la máquina > VIEW) */ -static double draw_us(long *math); +static void test_bmini(void) +{ + printf("B-MINI: el Minimoog con los menús del POLY D (EDIT, ENV, LFO, FX, SCL, SEQ, ARP, GLO)\n"); + boot(1); + ch(3); + CHECK(app.pat.trk[3].engine == ENG_MINI); + btn(BTN_EDIT, 30); /* EDIT: el panel, FILTER */ + CHECK(app.view == V_MACH && app.bx.page == BXP_MAIN && app.track == 3); + const char *s1, *s2, *s3; + bm_app_bigknobs(&app, &s1, &s2, &s3); + CHECK(!strcmp(s2, "CUTOFF") && !strcmp(s3, "PRESET")); + bm_legend L[4]; + bm_app_legend(&app, L); + CHECK(!strcmp(L[0].name, "CUTOFF") && !strcmp(L[1].name, "EMPHASIS") && !strcmp(L[2].name, "CONTOUR") && !strcmp(L[3].name, "KBD CTRL")); + int cut = app.pat.trk[3].macro[0]; + enc(ENC_K1, 4); + CHECK(app.pat.trk[3].macro[0] == cut + 4 && !app.ov.on); + char ti[24]; + CHECK(!strcmp(mach_title(&app, ti, sizeof ti), "FILTER 1/5")); + run_ms(100); + shot("83-bmini-filter"); + static const char *const EN[5][4] = {{"CUTOFF", "EMPHASIS", "CONTOUR", "KBD CTRL"}, {"RANGE", "WAVE", "LEVEL", "TUNE"}, + {"RANGE", "FREQ", "WAVE", "LEVEL"}, {"RANGE", "FREQ", "WAVE", "LEVEL"}, + {"NOISE", "GLIDE", "MODE", "VOLUME"}}; + for (int pg = 1; pg <= 5; pg++) { /* EDIT otra vez: la siguiente, en círculo */ + btn(BTN_EDIT, 30); + bm_app_legend(&app, L); + int q = pg % 5; + CHECK(app.bx.page == BXP_MAIN && app.bx.sub[BXP_MAIN] == q); + for (int k = 0; k < 4; k++) CHECK(!strcmp(L[k].name, EN[q][k])); + if (q == 3) { /* OSC 3: el rango LO primero */ + int r = app.pat.prm[3][MN_R3]; + for (int i = 0; i < 6; i++) enc(ENC_K1, -1); + bm_app_legend(&app, L); + CHECK(app.pat.prm[3][MN_R3] == MN_R_LO && !strcmp(L[0].val, "LO")); + enc(ENC_K1, 1); + CHECK(app.pat.prm[3][MN_R3] == 0); + app_push(&app, CMD_SET_PRM, 3, MN_R3, (uint8_t)r); run_ms(5); + shot("83-bmini-osc3"); + } + } + enc(ENC_ALGO, -2); /* ALGORITHM: CUTOFF, en cualquier página */ + CHECK(app.pat.trk[3].macro[0] == cut + 2); + /* ENV: FILTER CONTOUR y LOUDNESS CONTOUR */ + btn(BTN_ENV, 30); + CHECK(app.bx.page == BXP_ENV && app.bx.sub[BXP_ENV] == 0); + int fa = app.pat.prm[3][MN_FA]; + enc(ENC_K1, 3); + CHECK(app.pat.prm[3][MN_FA] == fa + 3 && app.ov.on); + run_ms(UI_OVERLAY_MS + 100); + shot("83-bmini-env"); + btn(BTN_ENV, 30); + int ar = app.pat.prm[3][MN_AR]; + enc(ENC_K4, -2); + CHECK(app.bx.sub[BXP_ENV] == 1 && app.pat.prm[3][MN_AR] == ar - 2); + /* LFO: RATE, WAVE, MOD MIX (OSC 3 <-> LFO), AMOUNT; pág 2 DEST */ + btn(BTN_LFO, 30); + bm_app_legend(&app, L); + CHECK(!strcmp(L[0].name, "RATE") && !strcmp(L[1].name, "WAVE") && !strcmp(L[2].name, "MOD MIX") && !strcmp(L[3].name, "AMOUNT")); + CHECK(!strcmp(L[2].val, "LFO") && app.pat.prm[3][MN_MIX] == 0); /* de fábrica: solo el LFO, como antes */ + enc(ENC_K2, 1); + CHECK(app.pat.prm[3][MN_LWAVE] == 1); + for (int i = 0; i < 6; i++) enc(ENC_K3, -30); + bm_app_legend(&app, L); + CHECK(app.pat.prm[3][MN_MIX] == 127 && !strcmp(L[2].val, "OSC 3")); + for (int i = 0; i < 6; i++) enc(ENC_K4, 30); + run_ms(UI_OVERLAY_MS + 100); + shot("83-bmini-lfo"); + static const uint8_t nt[1] = {48}; + CHECK(solo_peak(3, nt, 1, 100, 300) > 0.01); /* el OSC 3 modulando: suena */ + btn(BTN_LFO, 30); + bm_app_legend(&app, L); + CHECK(app.bx.sub[BXP_LFO] == 1 && !strcmp(L[0].name, "DEST")); + enc(ENC_K1, 2); + CHECK(app.pat.prm[3][MN_LDEST] == MN_D_BOTH); + CHECK(solo_peak(3, nt, 1, 100, 300) > 0.01); + enc(ENC_K1, -2); + btn(BTN_LFO, 30); + for (int i = 0; i < 6; i++) { enc(ENC_K4, -30); enc(ENC_K3, 30); } + enc(ENC_K2, -1); + /* FX: DISTORTION; pág 2 CHORUS I / II y REVERB (el DELAY, desde HOME) */ + btn(BTN_FX, 30); + CHECK(app.bx.page == BXP_FX && !bm_px_fx_on(app.pat.prm[3], ENG_MINI, PXF_DIST) && bm_send_on(&app.pat, 3, 1) && bm_send_on(&app.pat, 3, 0)); + CHECK(app.pat.prm[3][PX_DS_G] && app.pat.prm[3][PX_DS_L]); + enc(ENC_K4, 1); + CHECK(bm_px_fx_on(app.pat.prm[3], ENG_MINI, PXF_DIST) && app.pat.prm[3][PX_FX] == 1); + enc(ENC_K1, 30); + CHECK(solo_peak(3, nt, 1, 100, 300) > 0.01); + shot("83-bmini-fx"); + btn(BTN_FX, 30); + bm_app_legend(&app, L); + CHECK(!strcmp(L[0].name, "CHORUS") && !L[1].name[0] && !strcmp(L[2].name, "REVERB") && !strcmp(L[3].name, "REV ON")); + enc(ENC_K1, 2); + CHECK(app.pat.prm[3][PX_CHORUS] == 2 && bm_px_fx_on(app.pat.prm[3], ENG_MINI, PXF_CHORUS)); + CHECK(solo_peak(3, nt, 1, 100, 300) > 0.01); /* con CHORUS II */ + enc(ENC_K4, -1); + CHECK(!bm_send_on(&app.pat, 3, 1) && bm_send_on(&app.pat, 3, 0) && (app.pat.prm[3][PX_FX] & 2)); + shot("83-bmini-fx2"); + enc(ENC_PRESETS, 1); /* otro sonido: los efectos quedan */ + CHECK(bm_px_fx_on(app.pat.prm[3], ENG_MINI, PXF_DIST) && app.pat.prm[3][PX_CHORUS] == 2 && !bm_send_on(&app.pat, 3, 1)); + enc(ENC_K4, 1); enc(ENC_K1, -2); + btn(BTN_FX, 30); enc(ENC_K4, -1); + CHECK(app.pat.prm[3][PX_FX] == 0 && app.pat.prm[3][PX_CHORUS] == 0); + /* SCL: ACCENT de cada paso; SCL otra vez: GLIDE */ + for (int st = 0; st < BM_STEPS; st++) for (int e = 0; e < BM_EVENTS; e++) + if (!bm_event_empty(bm_evc(&app.pat, 3, st, e))) { bm_event z; bm_event_clear(&z); app_push_ev(&app, 3, st, e, &z); run_ms(1); } + { bm_event e; bm_event_clear(&e); e.note = 48; e.len = 1; e.vel = 100; app_push_ev(&app, 3, 0, 0, &e); e.note = 55; app_push_ev(&app, 3, 1, 0, &e); } + run_ms(20); + btn(BTN_SCL, 30); + CHECK(app.bx.page == BXP_SCL && app.bx.sub[BXP_SCL] == 0); + CHECK(!strcmp(mach_title(&app, ti, sizeof ti), "ACCENT 1-16")); + white(0, 40); + CHECK(bm_evc(&app.pat, 3, 0, 0)->vel == BM_VEL_ACC); + bm_app_keys(&app, keys_now); + CHECK(keys_now[bm_white_key(0)].led == LED_ON && keys_now[bm_white_key(1)].led == LED_DIM && keys_now[bm_white_key(2)].led == LED_OFF); + btn(BTN_SCL, 30); + CHECK(!strcmp(mach_title(&app, ti, sizeof ti), "GLIDE 1-16")); + white(0, 40); + CHECK(bm_evc(&app.pat, 3, 0, 0)->len & BM_LEN_TIE); + run_ms(60); + shot("83-bmini-scl"); + btn(BTN_PLAY, 20); /* acento y glide suenan */ + for (int i = 0; i < BM_TRACKS; i++) app.pat.trk[i].mute = (uint8_t)(i != 3); + peak_abs = 0; run_ms(600); + CHECK(peak_abs > 0.01); + btn(BTN_PLAY, 20); + for (int i = 0; i < BM_TRACKS; i++) app.pat.trk[i].mute = 0; + /* ARP: su LATCH */ + btn(BTN_ARP, 30); btn(BTN_ARP, 30); + enc(ENC_K1, 1); + CHECK(app.pat.prm[3][PX_LATCH] == 1); + enc(ENC_K1, -1); + /* SEQ y SEQ otra vez: el panel */ + btn(BTN_SEQ, 30); + CHECK(app.bx.page == BXP_SEQ); + btn(BTN_SEQ, 30); + CHECK(app.bx.page == BXP_MAIN && app.view == V_MACH); + btn(BTN_HOME, 30); + CHECK(app.view == V_HOME); +} -static void test_pianoroll(void) +static void test_bx7(void) { - printf("PIANO ROLL: GLO > VIEW; el loop entero, alturas ajustadas, teclado que destella, REC en rojo; barato\n"); + printf("BX-7: el FM-1 de fábrica dentro de Bubba (páginas, ALGORITHM, FX, EDIT, ARP, REC tipo SLOOP)\n"); boot(1); - ch(3); /* BX-7: dos compases, acordes en 11 y 27 */ - btn(BTN_GLO, 30); - CHECK(app.page == PG_MORE && app.more_row == 0); - enc(ENC_ALGO, 1); /* VIEW: PIANO ROLL */ - CHECK(bm_app_roll_view(&app, 3) && app.set_dirty); - shot("45c-machine-glo-view"); - enc(ENC_ALGO, 1); /* a la derecha otra vez: sigue */ - CHECK(bm_app_roll_view(&app, 3)); + put_fm_on_t4(); + ch(3); + CHECK(app.track == 3 && app.pat.trk[3].engine == ENG_FM); + /* desde HOME, cada botón de menú lleva a su página; GLO sigue siendo el de la consola */ + btn(BTN_LFO, 30); + CHECK(app.view == V_MACH && app.bx.page == BXP_LFO && app.track == 3); + btn(BTN_HOME, 30); + CHECK(app.view == V_HOME); btn(BTN_GLO, 30); - CHECK(app.page == PG_SEQ); - run_ms(UI_TOAST_MS + 100); - shot("73-pianoroll"); - uint16_t col = bm_track_color(3); - CHECK(count_px(15, 48, 240, 135, col) > 20); /* las notas */ - CHECK(count_px(15, 46, 240, 49, C_WHITE) > 20); /* el corchete de las 16 blancas */ - CHECK(count_px(15, 60, 128, 120, C_DDGREY) > 1000); /* y su fondo */ - CHECK(count_px(0, 48, 15, 135, C_GREY) > 50); /* el teclado vertical */ - black(9, 40); /* B10: el corchete pasa a 17-32 */ - CHECK(app.step_page == 1); - white(10, 40); /* la blanca 11 = el paso 27 (tiene acorde: se quita) */ - CHECK(bm_event_empty(bm_evc(&app.pat, 3, 26, 0))); - white(10, 40); - CHECK(!bm_event_empty(bm_evc(&app.pat, 3, 26, 0))); + CHECK(app.view == V_GLO); + btn(BTN_HOME, 30); + btn(BTN_SEQ, 30); + CHECK(app.view == V_MACH && app.bx.page == BXP_SEQ); + shot("80-bx7-seq"); + btn(BTN_SEQ, 30); /* el mismo botón: MAIN */ + CHECK(app.bx.page == BXP_MAIN); + int alg = app.pat.fmv[BM_FM_ALG]; + enc(ENC_ALGO, 1); + CHECK(app.pat.fmv[BM_FM_ALG] == (alg + 1) % 32 && bm_fm_alg_of(&app.pat) == (alg + 1) % 32 + 1); + CHECK(!app.ov.on); /* con el dibujo a la vista, sin el número grande */ + run_ms(100); + shot("80-bx7-main"); + const char *s1, *s2, *s3; + bm_app_bigknobs(&app, &s1, &s2, &s3); + CHECK(!strcmp(s2, "ALG") && !strcmp(s3, "PRESET")); + /* OCT sostenido + ALGORITHM: transposición; los dos OCT juntos: todo a 0 */ + down(BTN_OCT_UP); run_ms(30); + enc(ENC_ALGO, 2); + up(BTN_OCT_UP); run_ms(30); + CHECK(app.pat.trk[3].transpose == 26 && app.oct == 0); /* sostenido con ALGORITHM: no cambia la octava */ + btn(BTN_OCT_UP, 30); /* un toque solo: la octava */ + CHECK(app.oct == 1); + down(BTN_OCT_DN); run_ms(30); down(BTN_OCT_UP); run_ms(30); up(BTN_OCT_UP); up(BTN_OCT_DN); run_ms(40); + CHECK(app.pat.trk[3].transpose == 24 && app.oct == 0); + /* PRESETS: solo los de fábrica; la voz se carga en el patrón */ + enc(ENC_PRESETS, 1); + CHECK(app.pat.trk[3].source == 1 && !memcmp(app.pat.fmv, bm_fm_patch(1), BM_FM_PATCH)); + /* FX: la casilla 1 es el filtro; K4 lo prende; SCL + SELECT lo mueve en la cadena */ + btn(BTN_FX, 30); + CHECK(app.bx.page == BXP_FX && app.bx.fxpos == 0); + enc(ENC_K4, 1); + CHECK(app.pat.prm[3][BX_FXON] & (1u << BXF_FILTER)); + enc(ENC_K2, -5); + CHECK(app.pat.prm[3][BX_FLT_C] < 90); + btn(BTN_SCL, 30); + CHECK(app.bx.grab); + enc(ENC_SELECT, 1); + CHECK(app.pat.prm[3][BX_ORD0] == BXF_REVERB && app.pat.prm[3][BX_ORD1] == BXF_FILTER && app.bx.fxpos == 1); + btn(BTN_SCL, 30); + CHECK(!app.bx.grab); + enc(ENC_SELECT, 2); /* la casilla 4: la distorsión */ + enc(ENC_K4, 1); + CHECK(app.pat.prm[3][BX_FXON] & (1u << BXF_DIST)); + shot("80-bx7-fx"); + static const uint8_t chord[3] = {57, 60, 64}; + CHECK(solo_peak(3, chord, 3, 100, 300) > 0.02); /* con filtro y distorsión, suena */ + /* la reverb apagada en su FX: el envío del canal no suena (no se procesa dos veces) */ + enc(ENC_SELECT, -3); + CHECK(fx_name_is(BXF_REVERB)); + enc(ENC_K4, -1); + CHECK(!(app.pat.prm[3][BX_FXON] & (1u << BXF_REVERB))); + /* cambiar de preset no borra los efectos */ + enc(ENC_PRESETS, 1); + CHECK(app.pat.prm[3][BX_FXON] & (1u << BXF_DIST)); + /* ENV y LFO */ + btn(BTN_ENV, 30); + CHECK(app.bx.page == BXP_ENV); + enc(ENC_K3, -20); + CHECK(app.pat.trk[3].sustain < 64); + shot("80-bx7-env"); + btn(BTN_LFO, 30); + enc(ENC_K1, 3); + CHECK(app.pat.fmv[142] == 3); + btn(BTN_LFO, 30); /* LFO otra vez: su página 2 */ + CHECK(app.bx.page == BXP_LFO && app.bx.sub[BXP_LFO] == 1); + bm_legend L[4]; + bm_app_legend(&app, L); + CHECK(!strcmp(L[0].name, "DELAY") && !strcmp(L[3].name, "OSC SYNC")); + btn(BTN_LFO, 30); + CHECK(app.bx.page == BXP_LFO && app.bx.sub[BXP_LFO] == 0); + shot("80-bx7-lfo"); + /* EDIT: las negras eligen OP1-6, PIT, GLO, MONO, POLY; las blancas tocan */ + btn(BTN_EDIT, 30); + CHECK(app.bx.page == BXP_EDIT); + bm_app_keys(&app, keys_now); + CHECK(!strcmp(keys_now[bm_black_key(2)].label, "OP3") && !strcmp(keys_now[bm_black_key(9)].label, "POLY")); + black(2, 40); + CHECK(app.bx.edit == 2); + int r1 = app.pat.fmv[3 * BM_FM_OP + FMO_R1]; /* OP3 = el dato 3 */ + enc(ENC_K1, -5); + CHECK(app.pat.fmv[3 * BM_FM_OP + FMO_R1] == r1 - 5); + btn(BTN_EDIT, 30); btn(BTN_EDIT, 30); /* la página FREQ (EDIT pasa de página) */ + bm_app_legend(&app, L); + CHECK(!strcmp(L[0].name, "DETUNE") && !strcmp(L[1].name, "COARSE")); /* el orden del manual del FM-1 */ + shot("80-bx7-edit"); + black(6, 40); + CHECK(app.bx.edit == BXE_PIT); + shot("80-bx7-pitch"); black(8, 40); - /* sonando: el teclado destella con lo que suena */ + CHECK(app.pat.prm[3][BX_MONO] == 1); + kdown(bm_white_key(3)); run_ms(40); + kdown(bm_white_key(5)); run_ms(40); + int v = 0; + for (int i = 0; i < BM_VOICES; i++) v += app.ctx.voice[i].active && app.ctx.voice[i].track == 3 && app.ctx.voice[i].gate; + CHECK(v == 1); /* MONO: una voz */ + kup(bm_white_key(3)); kup(bm_white_key(5)); run_ms(200); + black(9, 40); + CHECK(app.pat.prm[3][BX_MONO] == 0); + /* GLO de la máquina y ARP */ + btn(BTN_GLO, 30); + CHECK(app.view == V_MACH && app.bx.page == BXP_GLO); + shot("80-bx7-glo"); + btn(BTN_ARP, 30); + enc(ENC_K1, 1); + CHECK(app.pat.trk[3].arp_mode == ARP_UP); + shot("80-bx7-arp"); + /* REC parado: se arma; la primera nota arranca y graba con su largo */ + enc(ENC_K1, -1); /* ARP apagado */ + CHECK(app.pat.trk[3].arp_mode == ARP_OFF); + for (int s = 0; s < BM_STEPS; s++) for (int e = 0; e < BM_EVENTS; e++) { bm_event z; bm_event_clear(&z); app_push_ev(&app, 3, s, e, &z); } + run_ms(40); + CHECK(!app.ctx.st.playing); + btn(BTN_REC, 30); + CHECK(app.bx.armed && !app.rec); + key(bm_white_key(7), 400); + CHECK(app.ctx.st.playing && app.rec); + run_ms(500); + btn(BTN_REC, 30); /* toma libre: REC cierra el largo */ + CHECK(!app.rec); + int got = 0, longn = 0; + for (int s = 0; s < BM_STEPS; s++) for (int e = 0; e < BM_EVENTS; e++) { + const bm_event *ev = bm_evc(&app.pat, 3, s, e); + if (!bm_event_empty(ev)) { got++; if ((ev->len & BM_LEN_MASK) >= 2) longn = 1; } + } + CHECK(got >= 1 && longn); + btn(BTN_SEQ, 30); + shot("80-bx7-seq-rec"); btn(BTN_PLAY, 20); - int lit = 0; - for (int i = 0; i < 40 && !lit; i++) { run_ms(25); shot("73a-pianoroll-play"); lit = count_px(0, 48, 15, 135, col) > 0; } - CHECK(lit); - /* REC: lo de esta pasada, en rojo */ + /* REC sostenido 2 s: borra las notas del canal */ + down(BTN_REC); run_ms(2300); up(BTN_REC); run_ms(40); + got = 0; + for (int s = 0; s < BM_STEPS; s++) for (int e = 0; e < BM_EVENTS; e++) got += !bm_event_empty(bm_evc(&app.pat, 3, s, e)); + CHECK(got == 0); + /* el arpegiador graba lo que toca */ + btn(BTN_ARP, 30); + enc(ENC_K1, 1); + btn(BTN_PLAY, 20); run_ms(100); btn(BTN_REC, 30); - hold_key(bm_black_key(0), 200); run_ms(300); - CHECK(app.rec_steps != 0); - shot("73b-pianoroll-rec"); - CHECK(count_px(15, 48, 240, 135, C_RED) > 0); + kdown(bm_white_key(2)); kdown(bm_white_key(6)); run_ms(1500); + kup(bm_white_key(2)); kup(bm_white_key(6)); run_ms(40); btn(BTN_REC, 30); btn(BTN_PLAY, 20); - /* barato: ninguna función cara de libm y el reparto guardado */ - long m = -1; - double us = draw_us(&m); - printf(" PIANO ROLL: %.0f us por cuadro en la PC, %ld exp/log/sin\n", us, m); - CHECK(m == 0); - /* la batería y los pads en SLOOP: una fila por instrumento con golpes */ + got = 0; + int n2 = BM_KEY_BASE_NOTE + bm_white_key(2), n6 = BM_KEY_BASE_NOTE + bm_white_key(6), both = 0; + for (int s = 0; s < BM_STEPS; s++) for (int e = 0; e < BM_EVENTS; e++) { + const bm_event *ev = bm_evc(&app.pat, 3, s, e); + if (bm_event_empty(ev)) continue; + got++; + if (ev->note == n2) both |= 1; + if (ev->note == n6) both |= 2; + } + CHECK(got >= 4 && both == 3); + /* HOME: a la consola */ btn(BTN_HOME, 30); - enc(ENC_SELECT, -3); - btn(BTN_REC, 30); - shot("72b-sloop-drum-roll"); - CHECK(count_px(15, 39, 240, 135, bm_track_color(0)) > 20); - us = draw_us(&m); - CHECK(m == 0); - btn(BTN_REC, 30); - /* VIEW es un ajuste: queda al reiniciar */ - run_ms(UI_AUTOSAVE_MS + 1500); - boot(0); - CHECK(bm_app_roll_view(&app, 3) && !bm_app_roll_view(&app, 2)); + CHECK(app.view == V_HOME && !app.rec); } int main(int argc, char **argv) @@ -3539,16 +3278,25 @@ int main(int argc, char **argv) test_gesture(); test_timing(); test_tr_features(); - test_roll(); + test_roll_audio(); test_voices(); - test_navigation(); test_home(); - test_layers(); - test_free_engines(); - test_pads(); - test_recorder(); - test_loop(); - test_notes(); + test_no_function(); + test_patterns(); + test_solo(); + test_scenes(); + test_play_rec(); + test_free_rec_drums(); + test_drum_seq(); + test_glo(); + test_bx7(); + test_b303(); + test_roll_machines(); + test_bmini(); + test_panels(); + test_slicer(); + test_fixes_1022(); + test_leds(); test_free_rec(); test_rec_expressive(); test_sounds(); @@ -3562,24 +3310,12 @@ int main(int argc, char **argv) test_steal_at_end(); test_engines(); test_machines(); - test_key_screens(); - test_button_lights(); - test_knobs_nav(); - test_console_patterns(); - test_scenes(); - test_sloop(); - test_oct_paging(); - test_asks(); - test_console_glo(); - test_fx_channel(); - test_pianoroll(); test_migrate(); test_fm(); - test_demo_and_persist(); + test_factory_and_persist(); test_old_version(); test_draw_cost(); test_spi_budget(); - test_ui_flow(); test_lang(); printf("\n%d comprobaciones, %d fallos\n", checks, fails); printf("RAM del firmware (estructura bm_app): %u bytes\n", (unsigned)sizeof(bm_app)); diff --git a/tests/test_longrun.c b/tests/test_longrun.c index c2d8715..57dcf90 100644 --- a/tests/test_longrun.c +++ b/tests/test_longrun.c @@ -438,7 +438,7 @@ static void tweak_live(uint32_t sec) case 2: bm_app_button(&app, BTN_SEQ, 1, now_ms); bm_app_button(&app, BTN_SEQ, 0, now_ms + 30); break; case 3: if (sec % 64 == 3 || sec % 64 == 35) { bm_app_button(&app, BTN_REC, 1, now_ms); bm_app_button(&app, BTN_REC, 0, now_ms + 30); } break; default: - live_key = rnd(4) ? bm_white_key((int)rnd(16)) : bm_black_key((int)rnd(11)); + live_key = rnd(4) ? bm_white_key(BM_CH_W0 + (int)rnd(6)) : bm_black_key((int)rnd(11)); /* canales y mutes: los patrones vacíos callarían el final */ bm_app_key(&app, live_key, 1, now_ms); if (rnd(3) == 0) bm_app_encoder(&app, ENC_K1 + (int)rnd(4), (int)rnd(5) - 2, now_ms); break; diff --git a/tests/test_scan.c b/tests/test_scan.c index 1ec493b..5c59200 100644 --- a/tests/test_scan.c +++ b/tests/test_scan.c @@ -36,11 +36,11 @@ int main(void) id = fm1_scan_next_edge(&s, &down); CHECK(id == 20 && down == 1); /* 2 frames: presionada */ matrix[3] = 0; frame(); matrix[3] = 1 << 1; frame(); matrix[3] = 0; /* rebote al soltar */ - for (int i = 0; i < 7; i++) frame(); + for (int i = 0; i < FM1_DEB_RELEASE - 1; i++) frame(); CHECK(fm1_scan_next_edge(&s, &down) == -1); frame(); id = fm1_scan_next_edge(&s, &down); - CHECK(id == 20 && down == 0); /* 8 frames abiertos: suelta */ + CHECK(id == 20 && down == 0); /* FM1_DEB_RELEASE frames abiertos: suelta */ printf("cuadratura: 1 detent = 4 transiciones\n"); static const uint8_t CW[4] = {0, 2, 3, 1}; /* AB: 00 -> 10 -> 11 -> 01 -> 00 */ @@ -63,26 +63,36 @@ int main(void) CHECK(v == -2 * dir); CHECK(fm1_scan_take_encoder(&s, 1) == 0); - printf("cuadratura: perilla con dos detents por ciclo\n"); - for (int i = 1; i <= 2; i++) { /* 00 -> 10 -> 11 y se queda */ + printf("cuadratura: una pausa a medio clic no hace que cuente doble (Felucca #23)\n"); + for (int i = 1; i <= 2; i++) { /* 00 -> 10 -> 11 y una pausa corta ahí */ uint8_t ab = CW[i]; matrix[0] = (ab >> 1) & 1; matrix[1] = ab & 1; frame(); } - for (int i = 0; i < FM1_REST_FRAMES + 2; i++) frame(); - CHECK(fm1_scan_take_encoder(&s, 0) == dir); /* aprendió el detent nuevo y contó el paso */ - for (int i = 3; i <= 4; i++) { /* 11 -> 01 -> 00: otro detent, ya conocido */ + for (int i = 0; i < 60; i++) frame(); + CHECK(fm1_scan_take_encoder(&s, 0) == 0); /* a medio clic: todavía nada */ + for (int i = 3; i <= 4; i++) { /* 11 -> 01 -> 00: termina el clic */ uint8_t ab = CW[i % 4]; matrix[0] = (ab >> 1) & 1; matrix[1] = ab & 1; frame(); } CHECK(fm1_scan_take_encoder(&s, 0) == dir); - for (int i = 3; i >= 2; i--) { /* y de vuelta: 00 -> 01 -> 11 */ - uint8_t ab = CW[i]; - matrix[0] = (ab >> 1) & 1; matrix[1] = ab & 1; - frame(); + for (int det = 0; det < 2; det++) /* y los clics de después cuentan uno cada uno */ + for (int i = 1; i <= 4; i++) { + uint8_t ab = CW[i % 4]; + matrix[0] = (ab >> 1) & 1; matrix[1] = ab & 1; + frame(); + } + CHECK(fm1_scan_take_encoder(&s, 0) == 2 * dir); + + printf("cuadratura: giro rápido (saltos de dos estados) no pierde clics\n"); + for (int det = 0; det < 3; det++) { /* 00 -> 11 -> 00: cada medio ciclo de un salto */ + matrix[0] = 1; matrix[1] = 0; frame(); /* uno normal para saber la dirección */ + matrix[0] = 0; matrix[1] = 1; frame(); /* salto */ + matrix[0] = 0; matrix[1] = 0; frame(); } - CHECK(fm1_scan_take_encoder(&s, 0) == -dir); + v = fm1_scan_take_encoder(&s, 0); + CHECK(v == 3 * dir); printf("\n%d comprobaciones, %d fallos\n", checks, fails); return fails ? 1 : 0; diff --git a/tools/fm1/consola.py b/tools/fm1/consola.py index b60fafd..1b5504e 100644 --- a/tools/fm1/consola.py +++ b/tools/fm1/consola.py @@ -27,7 +27,11 @@ 'voces', # 0.8.1 'rst_raw', 'rst_pmu', 'rail_min', 'rail_now', 'vbat', 'batt_adc', 'pwr0', 'pwr1', 'rastro0', 'rastro1', - 'loop_us', 'loop_max_us', 'c1', 'freno_ui', 'nan_fix'] + 'loop_us', 'loop_max_us', 'c1', 'freno_ui', 'nan_fix', + # 0.9.1 + 'scan_lat_us', + # 0.9.2 + 'scan_kick'] NUCLEO1 = ['sin probar', 'probando', 'listo', 'no contestó al arrancar', 'retired: did not answer in time', 'retired: misread a job', 'retired by an earlier boot (until power-off)'] ETAPA = ['antes de la pantalla', 'pantalla y USB', 'núcleo listo', 'teclas', 'audio iniciado', 'audio sonando', @@ -92,8 +96,10 @@ def mostrar(v): print('audio: %d bloques, %d tarde | cálculo %d us (prom %d, máx %d) de %d us = %.0f %% (máx %.0f %%) | núcleo %d' % ( v['halves'], v['late'], v['render_us'], v['render_avg_us'], v['render_max_us'], v['budget_us'], pct, pmx, v['audio_cpu'])) - print('pantalla/UI: %d us (máx %d) | barrido: %d interrupciones, la más larga %d us' % ( - v['ui_us'], v['ui_max_us'], v['scan_ticks'], v['scanisr_max_us'])) + print('pantalla/UI: %d us (máx %d) | barrido: %d interrupciones, la más larga %d us%s' % ( + v['ui_us'], v['ui_max_us'], v['scan_ticks'], v['scanisr_max_us'], + (', atraso máx %d us' % v['scan_lat_us'] if 'scan_lat_us' in v else '') + + (', rearmado %d veces' % v['scan_kick'] if v.get('scan_kick') else ''))) print('USB: %s | MIDI recibidos %d, enviados %d | arranques fallidos seguidos: %d' % ( 'configurado' if v['usb'] & 1 else ('encendido' if v['usb'] & 2 else 'apagado'), v['midi_in'], v['midi_out'], v['fails'])) diff --git a/tools/fm1/instalar.py b/tools/fm1/instalar.py new file mode 100644 index 0000000..cccf531 --- /dev/null +++ b/tools/fm1/instalar.py @@ -0,0 +1,195 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: GPL-3.0-or-later +# Copyright (C) 2026 Erbubar23 +"""Instala un paquete .fwsc en el FM-1 desde la consola, anotando cada pedido. + + py -3 tools/fm1/instalar.py PAQUETE.fwsc (Bubba Machine -> cargador -> escritura) + py -3 tools/fm1/instalar.py PAQUETE.fwsc --continuar (el FM-1 ya está en modo actualización) + py -3 tools/fm1/instalar.py PAQUETE.fwsc --mirar (cargador: da la orden y no contesta) + +Hace lo mismo que web/fm1_update.js. Paso 1: el firmware que corre (hal/fm1/fm1_update.c) +revisa el paquete y copia el cargador oficial; paso 2: el cargador de M-VAVE pide el paquete +entero y lo escribe. Solo se contestan pedidos dentro del paquete. El registro completo queda +en build/fm1/instalar.log. +""" +import argparse, os, struct, sys, time +sys.path.insert(0, os.path.dirname(os.path.abspath(__file__))) +from fm1_midi import Puerto, puertos # noqa: E402 +import fwsc # noqa: E402 + +HANDSHAKE = bytes([0xF0, 0x00, 0x32, 0x45, 0x00, 0x00, 0x00, 0x40, 0x7F, 0xF7]) +UPGRADE = bytes([0xF0, 0x22, 0x24, 0x35, 0x7F, 0xF7]) +ADDR_VERIFIED, ADDR_WRITTEN = 0xE0000000, 0xF0000000 +LOG = os.path.join(os.path.dirname(__file__), '..', '..', 'build', 'fm1', 'instalar.log') + + +def pack7(data): + out, acc, nb = [], 0, 0 + for b in data: + acc |= b << nb; nb += 8 + while nb >= 7: + out.append(acc & 0x7F); acc >>= 7; nb -= 7 + if nb: + out.append(acc & 0x7F) + return out + + +def unpack7(s): + out, acc, nb = [], 0, 0 + for b in s: + acc |= (b & 0x7F) << nb; nb += 7 + while nb >= 8: + out.append(acc & 0xFF); acc >>= 8; nb -= 8 + return out + + +def pedido(m): + """(flags, dirección, largo) de un pedido del FM-1, o None""" + if len(m) < 4 or m[0] != 0xF0 or m[-1] != 0xF7: + return None + u = unpack7(m[1:-1]) + if len(u) != 15 or u[0] != 0 or u[1] != 0x59 or u[2] != 0x30: + return None + if (u[3] | u[4] << 8 | u[5] << 16) != 8 or (~sum(u[6:14]) & 0xFF) != u[14]: + return None + return u[6], struct.unpack_from(' 3 and m[0] == 0xF0 else [] + if len(u) != 34 or u[1] != 0x59 or u[2] != 0x11: + return None + return bytes(u[6:33]).rstrip(b'\0').decode('latin-1') + + +def respuesta(addr, data, fl=0): + n = len(data) + body = [0x00, 0x59, 0x30, (n + 8) & 0xFF, ((n + 8) >> 8) & 0xFF, ((n + 8) >> 16) & 0xFF, fl, + addr & 0xFF, (addr >> 8) & 0xFF, (addr >> 16) & 0xFF, (addr >> 24) & 0xFF, + n & 0xFF, (n >> 8) & 0xFF, (n >> 16) & 0xFF] + list(data) + body.append(~sum(body[6:]) & 0xFF) + return bytes([0xF0] + pack7(body) + [0xF7]) + + +class Registro: + def __init__(self): + os.makedirs(os.path.dirname(LOG), exist_ok=True) + self.f = open(LOG, 'w', encoding='utf-8') + self.t0 = time.time() + + def __call__(self, txt, pantalla=True): + self.f.write('%7.2f %s\n' % (time.time() - self.t0, txt)); self.f.flush() + if pantalla: + print(txt, flush=True) + + +def saludar(p, veces=1): + for _ in range(veces): # el cargador recién aparecido tarda en contestar + p.enviar(HANDSHAKE) + ids = [i for i in (identidad(m) for m in p.recibir(1.5)) if i] + if ids: + return ids + return [] + + +def esperar_puerto(nombre, seg): + t = time.time() + seg + while time.time() < t: + if any(nombre.lower() in n.lower() for n in puertos()[0]): + return True + time.sleep(0.5) + return False + + +def servir(p, img, fin, log, quieto=60, cargador=True): + """contesta pedidos hasta la confirmación `fin`; True si llegó""" + n, last, prev, reinicios = 0, time.time(), -1, 0 + while True: + ms = p.recibir(0.05) + if not ms and time.time() - last > quieto: + log('el FM-1 dejó de pedir hace %d s (%d pedidos, último 0x%X)' % (quieto, n, prev)) + return False + for m in ms: + if identidad(m) is not None: + continue + r = pedido(m) + if not r: + continue + fl, addr, ln = r + last = time.time() + if addr in (ADDR_VERIFIED, ADDR_WRITTEN): + p.enviar(respuesta(addr, b'success\0')) + log('confirmación 0x%08X (%d pedidos)' % (addr, n)) + if addr == fin: + return True + continue + if ln > 512 or addr + ln > len(img): + log('pidió fuera del paquete: 0x%X + %d. Me detengo sin contestar.' % (addr, ln)) + return False + if cargador and prev > 0x8000 and addr < 0x1000: + reinicios += 1 + log('!! el cargador volvió a empezar (después de 0x%X). Vez %d' % (prev, reinicios)) + if reinicios >= 3: + log('se reinicia una y otra vez: el cargador está retomando una escritura cortada que ' + 'empezó con OTRO paquete. Termínala con ese paquete (si no sabes cuál, la versión ' + 'anterior que tenías) usando --continuar, y después instala este de nuevo.') + return False + p.enviar(respuesta(addr, img[addr:addr + ln], fl)) + n += 1 + log('%5d 0x%06X +%d fl %d' % (n, addr, ln, fl), n <= 12 or n % 200 == 0 or addr < 0x1000) + prev = addr + + +def main(): + ap = argparse.ArgumentParser(description=__doc__.splitlines()[0]) + ap.add_argument('paquete') + ap.add_argument('--continuar', action='store_true', help='el FM-1 ya está en modo actualización') + ap.add_argument('--mirar', action='store_true', help='con el cargador: da la orden y no contesta') + ap.add_argument('--puerto', default='Bubba') + ap.add_argument('--cargador', default='USB-Midi') + a = ap.parse_args() + raw = open(a.paquete, 'rb').read() + img = bytes(fwsc.logica(raw)) + fwsc.Flash(fwsc.Paquete(raw).flash()) # que se entienda antes de mandarlo + log = Registro() + log('paquete %s: %s, imagen %d bytes' % (os.path.basename(a.paquete), fwsc.identidad(raw), len(img))) + + if not (a.continuar or a.mirar): + with Puerto(a.puerto) as p: + log('paso 1 con %s: %s' % (p.nombre, saludar(p) or 'no contesta')) + p.enviar(UPGRADE) + time.sleep(2) + if not servir(p, img, ADDR_VERIFIED, log, quieto=15, cargador=False): + sys.exit('paso 1 sin terminar: no se escribió nada (mira la pantalla del FM-1)') + log('esperando al cargador...') + time.sleep(3) + if not esperar_puerto(a.cargador, 30): + sys.exit('el cargador no apareció: desconecta y conecta el USB y usa --continuar') + + with Puerto(a.cargador) as p: + ids = saludar(p, 5) + log('paso 2 con %s: %s' % (p.nombre, ids or 'no contesta')) + if not any(i.startswith('ota-') for i in ids): + sys.exit('el FM-1 no está en modo actualización') + p.enviar(UPGRADE) + if a.mirar: + t0 = time.time() + while time.time() - t0 < 10: + for m in p.recibir(0.2): + r = pedido(m) + if r: + log('%6.2f pide 0x%06X +%d' % (time.time() - t0, r[1], r[2])) + return + time.sleep(2) + if not servir(p, img, ADDR_WRITTEN, log): + sys.exit('paso 2 sin terminar (registro en build/fm1/instalar.log)') + log('LISTO: el FM-1 se reinicia con el firmware nuevo.') + if esperar_puerto(a.puerto, 40): + with Puerto(a.puerto) as p: + log('volvió: %s' % (saludar(p) or 'no contesta')) + else: + log('no volvió a aparecer "%s" en 40 s' % a.puerto) + + +if __name__ == '__main__': + main() diff --git a/tools/gen_fm.py b/tools/gen_fm.py index 8c3f4b0..6f44245 100644 --- a/tools/gen_fm.py +++ b/tools/gen_fm.py @@ -220,11 +220,101 @@ def voice(name, alg, ops, fb=0, lfo=(35, 0, 0, 0, 1, 0, 0), pr=(99, 99, 99, 99), op(2, 70, (99, 65, 70, 70), (99, 60, 40, 0), kvs=4), op(1, 74, (99, 65, 70, 70), (99, 60, 40, 0), kvs=4), op(1, 74, (99, 65, 70, 70), (99, 60, 40, 0), kvs=4)], fb=7), + # ---- inspirados en canciones hechas con la DX7 (2026-10-21; investigación con fuentes en + # docs/INVESTIGACION_SONIDO.md al publicar). Voces propias con nuestras recetas: no son los presets + # de Yamaha. Los nombres aluden sin nombrar artista ni título. + # bajo redondo y percusivo, sin cola (el bajo de un éxito de 1983 hecho con un preset de fábrica; SOS) + voice('QUERY BS', 5, [ + op(0.5, 99, (99, 50, 35, 75), (99, 70, 0, 0), kvs=2, rs=2), + op(0.5, 82, (99, 72, 45, 75), (99, 30, 0, 0), kvs=5, rs=2), + op(0.5, 88, (99, 52, 35, 75), (99, 70, 0, 0), kvs=2, rs=2, dt=9), + op(1, 60, (99, 80, 45, 75), (99, 0, 0, 0), kvs=5), + OFF, OFF], fb=2), + # metales brillantes con un golpe de brillo al atacar y sustain pleno (el mismo tema) + voice('QUERYBRS', 13, [ + op(1, 99, (80, 70, 99, 70), (99, 92, 96, 0), kvs=2, rs=2, dt=6), + op(1, 88, (75, 45, 30, 70), (99, 80, 82, 0), kvs=4, dt=4), + op(1, 97, (80, 70, 99, 70), (99, 92, 96, 0), kvs=2, dt=10), + op(1, 88, (75, 45, 30, 70), (99, 80, 82, 0), kvs=4, dt=12), + op(1, 74, (75, 45, 30, 70), (99, 78, 80, 0), kvs=4, dt=9), + op(1, 86, (75, 45, 30, 70), (99, 80, 82, 0), kvs=4)], fb=4), + # bajo slap: chasquido brillante que cae rápido a un cuerpo redondo, muy sensible a la fuerza + # (el bajo que dobla un riff famoso de 1985; Wikipedia / Reverb Machine) + voice('SKETCHBS', 5, [ + op(0.5, 99, (99, 45, 30, 72), (99, 75, 0, 0), kvs=3, rs=2), + op(0.5, 90, (99, 78, 45, 72), (99, 30, 0, 0), kvs=7, rs=2), + op(0.5, 92, (99, 48, 30, 72), (99, 75, 0, 0), kvs=3, rs=2, dt=10), + op(3, 74, (99, 90, 50, 72), (99, 0, 0, 0), kvs=7), + OFF, OFF], fb=3), + # bajo slap en corcheas: ataque duro, caída media-corta, poco sustain (película de aviones, 1986) + voice('TOMCATBS', 5, [ + op(0.5, 99, (99, 58, 40, 78), (99, 60, 0, 0), kvs=3, rs=3), + op(0.5, 92, (99, 82, 50, 78), (99, 25, 0, 0), kvs=7, rs=3), + op(1, 86, (99, 60, 40, 78), (99, 55, 0, 0), kvs=3, rs=3, dt=9), + op(3, 70, (99, 92, 55, 78), (99, 0, 0, 0), kvs=6), + OFF, OFF], fb=4), + # bajo grave tipo fretless con un "mwah" suave, ataque blando, sustain largo y oscuro (balada de 1986) + voice('BRTHLESS', 5, [ + op(0.5, 99, (80, 40, 25, 55), (99, 92, 88, 0), kvs=2, rs=2), + op(0.5, 72, (55, 35, 25, 55), (85, 70, 55, 0), kvs=4, rs=2), + op(0.5, 88, (80, 42, 25, 55), (99, 90, 85, 0), kvs=2, rs=2, dt=9), + op(1, 52, (50, 35, 25, 55), (80, 60, 45, 0), kvs=3), + OFF, OFF], fb=1, + lfo=(30, 60, 3, 0, 0, 4, 2)), + # bajo funky de pulsación seca, con clic de ataque, muy dinámico (1984) + voice('CRISP BS', 5, [ + op(0.5, 99, (99, 62, 45, 80), (99, 55, 0, 0), kvs=3, rs=3), + op(0.5, 86, (99, 85, 55, 80), (99, 20, 0, 0), kvs=7, rs=3), + op(1, 84, (99, 64, 45, 80), (99, 50, 0, 0), kvs=3, rs=3, dt=8), + op(7, 66, (99, 95, 60, 80), (99, 0, 0, 0), kvs=6), + OFF, OFF], fb=3), + # lengüeta suave con aire, ataque blando y vibrato: la "armónica" retocada a flauta (1984; SOS) + voice('EMOTNHRP', 5, [ + op(1, 99, (62, 45, 99, 62), (99, 95, 95, 0), kvs=2), + op(2, 62, (55, 45, 99, 62), (95, 80, 80, 0), kvs=3), + op(1, 82, (62, 45, 99, 62), (99, 95, 95, 0), kvs=2, dt=9), + op(1, 48, (55, 45, 99, 62), (90, 75, 75, 0), kvs=3), + op(4, 40, (70, 60, 99, 62), (99, 30, 30, 0), kvs=2), + op(7, 52, (70, 60, 99, 62), (99, 35, 35, 0), kvs=2)], fb=6, + lfo=(32, 45, 7, 0, 0, 4, 3)), + # marimba con clic de baqueta, caída leñosa de menos de un segundo (el tema de una película de 1984) + voice('BANANAMR', 5, [ + op(1, 99, (99, 62, 40, 62), (99, 0, 0, 0), kvs=4, rs=4), + op(3.5, 80, (99, 90, 45, 62), (99, 0, 0, 0), kvs=6, rs=4), + op(1, 88, (99, 64, 40, 62), (99, 0, 0, 0), kvs=4, rs=4, dt=9), + op(10, 60, (99, 96, 50, 62), (99, 0, 0, 0), kvs=6, rs=4), + OFF, OFF], fb=0), + # piano eléctrico: suave = mate y cálido, fuerte = campana; caída de varios segundos (una serie de 1990) + voice('OWLS EP', 5, [ + op(1, 99, (96, 22, 22, 60), (99, 75, 0, 0), kvs=2, rs=3), + op(14, 56, (96, 52, 35, 75), (99, 70, 0, 0), kvs=7, rs=3, bp=41, rd=55, rc=0), + op(1, 99, (95, 18, 18, 48), (99, 95, 0, 0), kvs=2, rs=3, dt=0), + op(1, 74, (95, 45, 25, 50), (99, 78, 0, 0), kvs=7, rs=3), + op(1, 99, (95, 18, 18, 48), (99, 95, 0, 0), kvs=2, rs=3, dt=14), + op(1, 84, (95, 45, 25, 50), (99, 78, 0, 0), kvs=7, rs=3)], fb=5), + # piano eléctrico de balada, velocidad media, coros amplios (baladas de 1985) + voice('DIVA EP', 5, [ + op(1, 99, (96, 25, 25, 62), (99, 78, 0, 0), kvs=2, rs=3), + op(14, 50, (95, 50, 35, 78), (99, 72, 0, 0), kvs=6, rs=3, bp=41, rd=50, rc=0), + op(1, 99, (95, 20, 20, 50), (99, 95, 0, 0), kvs=2, rs=3, dt=2), + op(1, 78, (95, 45, 25, 50), (99, 80, 0, 0), kvs=6, rs=3), + op(1, 99, (95, 20, 20, 50), (99, 95, 0, 0), kvs=2, rs=3, dt=12), + op(1, 86, (95, 45, 25, 50), (99, 80, 0, 0), kvs=6, rs=3)], fb=6, + lfo=(28, 0, 2, 0, 0, 4, 2)), + # piano eléctrico brillante y acuoso, caída larga (la música de un nivel bajo el agua, 1996) + voice('LAGOONEP', 5, [ + op(1, 99, (96, 20, 18, 55), (99, 82, 0, 0), kvs=2, rs=2), + op(14, 66, (95, 45, 30, 70), (99, 78, 0, 0), kvs=5, rs=2, bp=41, rd=40, rc=0), + op(1, 99, (95, 16, 16, 45), (99, 95, 0, 0), kvs=2, rs=2, dt=1), + op(1, 88, (95, 38, 22, 45), (99, 85, 0, 0), kvs=5, rs=2), + op(1, 99, (95, 16, 16, 45), (99, 95, 0, 0), kvs=2, rs=2, dt=13), + op(1, 94, (95, 38, 22, 45), (99, 85, 0, 0), kvs=5, rs=2)], fb=6, + lfo=(34, 30, 4, 0, 0, 4, 2)), ] def main(): - assert len(V) == 20, len(V) + assert len(V) == 31, len(V) rows, names = [], [] for name, d in V: rows.append(' {%s}, /* %s */' % (','.join(str(x) for x in d), name)) diff --git a/tools/gen_site.py b/tools/gen_site.py index a8639b7..6119d1f 100644 --- a/tools/gen_site.py +++ b/tools/gen_site.py @@ -65,7 +65,7 @@ 'foot': 'Bubba Machine %s · GPL-3.0-or-later · M-VAVE and FM-1 are trademarks of their respective owners; this project is not affiliated with M-VAVE.', }, } -IMAGES = ['00-home', '02-seq-tr', '37-pads', '52-seq-long-note', '56b-fm-alg5', '57-bittal-table', '60-buno-dco', '51-rec-gate-micro'] +IMAGES = ['00-home', '02-seq-tr', '81-b303-panel', '83-bmini-filter', '80-bx7-main', '85-bittal-osc1', '84-buno-dco', '90-slicer-trim'] BY_SRC = {os.path.normpath(p[2]): (lang, p[0]) for _, _, d in PAGES for lang, p in d.items()} diff --git a/web/bm.js b/web/bm.js index 8fffd61..3a257a3 100644 --- a/web/bm.js +++ b/web/bm.js @@ -6,7 +6,7 @@ var BubbaMachine = (() => { function(moduleArg = {}) { var moduleRtn; -var Module=moduleArg;var readyPromiseResolve,readyPromiseReject;var readyPromise=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject});var ENVIRONMENT_IS_WEB=true;var ENVIRONMENT_IS_WORKER=false;var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var scriptDirectory="";var readAsync,readBinary;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptName){scriptDirectory=_scriptName}if(scriptDirectory.startsWith("blob:")){scriptDirectory=""}else{scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}{readAsync=async url=>{var response=await fetch(url,{credentials:"same-origin"});if(response.ok){return response.arrayBuffer()}throw new Error(response.status+" : "+response.url)}}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];var wasmBinary=Module["wasmBinary"];function intArrayFromBase64(s){var decoded=atob(s);var bytes=new Uint8Array(decoded.length);for(var i=0;ifilename.startsWith(dataURIPrefix);function findWasmBinary(){var f="data:application/octet-stream;base64,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CiABEOACCyAAIAAoAsj3CEHcC2o2Arj3CCABQUBrJAALsQIBBH8jAEFAaiIBJAACQCAALADZ6ggiAkEASARAIABBoPcIakHgJykAADcAACAAQdgnKQAANwCY9wgMAQsgAEHYwghqIAAgAkH/AXEiA0GEC2xqQfgCaiADQYAUbCAAakHADWsgAkECSSIEG0GEC0GAFCAEGxC8AhogACACOgDY6gggAUIANwMoIAFCADcDICABIABB2NYIajYCJCABIAI6ACEgAUELOgAgIABBjPoAaiABQSBqEC4gAEEBOgCInQggAEH/AToA2eoIIAAgACgCyPcINgKMnQhBvwwQmgEhAiABIANBAWo2AhAgAUEgakEeIAIgAUEQahDgAiABIAFBIGo2AgAgAEGY9whqQR5B1QogARDgAgsgACAAKALI9whB3AtqNgK49wggAUFAayQAC/YBAQJ/IwBBQGoiAiQAIABB2MIIaiAAIAFBhAtsakH4AmogAUGAFGwgAGpBwA1rIAFBAkgiAxtBhAtBgBQgAxsQvAIaIABB/wE6ANnqCCAAIAE6ANjqCCACQQw6ACAgAkEANgIsIAJCADcCJCACQQA7ASIgAiABOgAhIABBjPoAaiACQSBqEC4gAEEBOgCInQggACAAKALI9wg2AoydCEHu1QAQmgEhAyACIAFBAWo2AhAgAkEgakEeIAMgAkEQahDgAiACIAJBIGo2AgAgAEGY9whqQR5B1QogAhDgAiAAIAAoAsj3CEHcC2o2Arj3CCACQUBrJAAL6wMBBX8jAEFAaiICJABBCSABIAFBCU8bQQAgAUEAThshAyAALQDVigEhBAJAAn8gAC0AnIoBBEAgAyAERgRAIAJBADYCLCACQgA3AiQgAkGQ/gM2AiAgAEGM+gBqIAJBIGoQLgwDCwJAIAAtAIidCEUNACAALgGEnQhBAEgNACAALgGEnQggAC0A1YoBRg0AIABBnfcIakGEOCkAADcAACAAQf83KQAANwCY9wggACAAKALI9whB3AtqNgK49wgMAwsgAkEANgIsIAJCADcCJCACQQA7ASIgAiADOgAhIAJBEDoAICAAQYz6AGogAkEgahAuQZnHABCaAQwBCyADIARGDQEgACAALQCInQgQIQJAIAAtAKSdCCIEBEAgAEGanQhqIQUgAEGQnQhqIQZBACEBA0AgASAG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B00EQEHghtcALwEADQELQeSG1wAtAABBB00EQEHshtcALwEADQELQfCG1wAtAABBB00EQEH4htcALwEADQELQfyG1wAtAABBB00EQEGEh9cALwEADQELQYiH1wAtAABBB00EQEGQh9cALwEADQELQZSH1wAtAABBB00EQEGch9cALwEADQELQaCH1wAtAABBB00EQEGoh9cALwEADQELQayH1wAtAABBB00EQEG0h9cALwEADQELQbiH1wAtAABBB00EQEHAh9cALwEADQELQcSH1wAtAABBB00EQEHMh9cALwEADQELQdCH1wAtAABBB00EQEHYh9cALwEADQELQdyH1wAtAABBB00EQEHkh9cALwEADQELQeiH1wAtAABBB00EQEHwh9cALwEADQELQfSH1wAtAABBB00EQEH8h9cALwEADQELIAAgARAYIQBB+h0QmgEhASACIAA2AgAgAkEgakEeIAEgAhDgAkHA7dYAIAJBIGoQDQwBC0HGzQAQmgEhAyACIABBAWo2AhAgAkEgakEeIAMgAkEQahDgAkHA7dYAQQUgACABIAJBIGpBr8oAEA8LIAJBQGskAAuxJAEEfyMAQfAAayIEJAACQCAALQDY8AhFDQAgACABOgCb9ghBASABdCIDIAAvAZz2CHENAAJAIAAtAJb2CEUNACABIAAtAJn2CEYNASACQQNLDQAgAkEBRg0AIABBADoAlvYIIABBtcgAEA0gACAALwGc9gggA3I7AZz2CAwBCwJAIAFBCEYNACADIAAvAZLxCHEEQCACQQNLDQIgAkEBRg0CIAMgAC8BmPUIIgJxDQIgACACIANyOwGY9QggAEEBOgCU8QgCQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAQ4OAAEFBgoKCQcKCAoEAgMKCyAAECcMCgsgABAoDAkLIABBDUECQQEgAC0AnIoBG0EAQQAQBiAAQaTUABANDAgLAkACQCAAIAAtAPL1CAR/QQAFIAAtAJyKAQ0BQQILIgE6APL1CCAAQf8BOgCD8QggACAAKAK4igE2AvT1CAwBCyAAQQE6APL1CCAAQf8BOgCD8QggACAAKAK4igE2AvT1CCAAECsgAC0A8vUIIQELIABB5ylB/jYgAUH/AXEbEA0MBwsgAEEAOgCM9gggAEEDOgDr8AggAEEAOgD+8AggAEEAOgDe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AEEAOgCa8QggAEEAOwHg9QgMAQsgAEEAOgDe9QggAEEAOwHc9QgLIABBADoA2vAICwu1AwECfwJAIAAtANrwCA0AIAAtAJb2CA0AAkACQCAALQDY8AhBAWsOBAEBAgACCyAALQDZ8AgiAUEMSw0AQQEgAXRBwCJxDQELIAAtAN+KAQ0AIAAtAOCKAQ0AIAAtAKCLASIBQQRNQQBBASABdEEWcRsNACAALQChiwEiAUEETUEAQQEgAXRBFnEbDQAgAC0AoosBIgFBBE1BAEEBIAF0QRZxGw0AIAAtAKOLASIBQQRNQQBBASABdEEWcRsNACAALQCw8QgNACAALQCx8QgNACAALQCy8QgNACAALQCz8QgNACAALQC08QgNACAALQC18QgNACAALQC28QgNACAALQC38QgNACAALQC48QgNACAALQC58QgNACAALQC68QgNACAALQC78QgNACAALQC88QgNACAALQC98QgNACAALQC+8QgNACAALQC/8QgNACAALQDA8QgNACAALQDB8QgNACAALQDC8QgNACAALQDD8QgNACAALQDE8QgNACAALQDF8QgNACAALQDG8QgNACAALQDH8QgNACAALQDI8QgNACAALQDJ8QgNACAALQDK8QhFIQILIAILswgBBX8jAEEQayIGJABBfyEEIAAtANvwCCEDAkACQCAALQDY8AgiAkEBa0H/AXFBAk0EQAJAAkACQCABQQJrDgYAAQQEBAIECyACQf8BcUECRgRAIAAgAC0A/voIQQFqQQNxOgD++ggMBQsgAEEAOgD+8AggAEEAOgD++gggAEECECUMBAsgAEEAOgCM9gggAEECOgDr8AggAEEAOgD+8AggAEEAOgDe8AggAEEDECUMAwsgAkH/AXFBA0YEQCAAQQA6AIz2CCAAQQA6AN7wCCAAIAAtAOvwCEEBakEDcToA6/AIDAMLIABBADoAjPYIIABBADoA6/AIIABBADoA/vAIIABBADoA3vAIIABBAxAlDAILIAJB/wFxQQRHDQAgAC0A2fAIIQQLQQchAgJAAkACQAJAAkACQAJAAkAgAUECaw4KBAUCAwEGCAgHAAgLIAQEQEEAIQIMBwtBBSADQQFLQQN0IANBAUYbIQIMBgsgA0EBRgRAQQ0hAiAEQQ1HDQYgACADaiIEIAQtAPLwCEEBakEDcToA8vAI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eCIBQQ9xIQACQEHs6N8ALAAAIgIEQCADQQBMIAJBAEpzDQELQX9BASADQQBMGyECCyAFIAFB8AFxQQkgACACaiICIAJBCU4bIgJBACACQQBKG3I6AABByorfAEEBOgAAQcyK3wBBiOXfACgCADYCAAwCC0Gw5tcALQAAIgJFDQFB0OPfAC0AACACcEHA7dYAaiICQbH5AGohBSACLQCxeSEBAkBB7OjfACwAACICBEAgA0EATCACQQBKcw0BC0F/QQEgA0EATBshAgsgBUEBQRAgASACaiICIAJBEE4bIgIgAkEBTBs6AABByorfAEEBOgAAQcyK3wBBiOXfACgCADYCAAwBCyADQQBKIgJBnPjXAC0AAEVzDQBBwO3WAEESIAJBAEEAEAZBwO3WAEHfKUHtNiACGxANCyAEQRBqJAAMCgsgAEUEQEHL498ALQAAIQACQEHs6N8ALAAAIgIEQCABQQBMIAJBAEpzDQELQX9BASABQQBMGyECC0HL498AQQogACACaiICIAJBCk4bIgJBACACQQBKGzoAAAwKCyAAQQJLDQkCQAJAAkACQAJAAkACQAJAAkACQAJAQcvj3wAtAAAOCgABAgMEBQYHCggKCyADQQBKIgNBpcreAC0AAEYNCUGlyt4AIAM6AABBwO3WAEEiIANBAEEAEAZBwO3WAEGz1wBB4S9BpcreAC0AABsQDQwICyADQQBKIgNBpsreAC0AAEYNCEGmyt4AIAM6AAAMBwtBAkGnyt4ALQAAIgFBAkYgAUEERhshAAJAQezo3wAsAAAiAQRAIANBAEwgAUEASnMNAQtBf0EBIANBAEwbIQELQafK3gBBAiAAIAFqIgMgA0ECThsiA0EAIANBAEobQdDkAGotAAA6AAAMBgtBqMreAC0AACEAAkBB7OjfACwAACIBBEAgA0EATCABQQBKcw0BC0F/QQEgA0EATBshAQtBqMreAEEUIAAgAWoiAyADQRROGyIDQQAgA0EAShs6AAAMBQsgA0EASiIDQavK3gAtAABGDQVBq8reACADOgAADAQLQarK3gAtAAAhAAJAQezo3wAsAAAiAQRAIANBAEwgAUEASnMNAQtBf0EBIANBAEwbIQELQarK3gBBAiAAIAFqIgMgA0ECThsiA0EAIANBAEobOgAADAMLIANBAEoiA0Gvyt4ALQAARg0DQa/K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QYi12ABBADYCAEHstNgAIAJB7LTYACgCACIDIANBBHZrIgMgAiADSxs2AgBBjLXYACgCACECQfC02AAoAgAhA0GMtdgAQQA2AgBB8LTYACACIAMgA0EEdmsiAyACIANLGzYCAAsgCUEQaiQAIABBAk4EQANAIBFBAnRB4K3gAGogEUEDdCIAQeCt4gBqKAIAskMAAAA0lDgCACARIBNqQQJ0QeCt4ABqIABB5K3iAGooAgCyQwAAADSUOAIAIBFBAWoiESATRw0ACwtB4K3gAAsHAEGE588ACwcAQYTr1gALBwBB4K3kAAsJAEHA7dYAEB8LCgBB2O3WAC8BAAsKAEHoit8AEN4BCwYAQYCgBgvZBgEEfyMAQSBrIgQkAEF/IQICQCAAQQBMDQBBwO3WABAfIABJDQBB2O3WAC8BACECIARBCGoQ/QEgBCgCGCAEKAIUIAQoAhxB4K3kACAAIAIgASABQeESa0GvcEkbIgJBAUEIQYDgpxIgAm4iAkEBdiAAaiIBIAJuIgAgAEEITxsgASACSRsQ3wEiAkEASARAQX8hAgwBCyMAQRBrIgMkAEHQ7dYAKAIAIgAEQCAAQczt1gAoAgBB1O3WACgCAEHoit8AENsBCwNAIAVB0ABsQdiQ3wBqQQBB0AAQvgIiAEH//wM7AAkgBUHUAGxB6IrfAGoiAS0AAARAIAAgASgCUDYCACAAIAEoAgw2AgQgACABLwEEOwEMIAAgAS0ABjoADiAAIAEtAAM6AAsgACABLQACOgAIIAAgASkCEDcCECAAIAEpAhg3AhggACABKQIgNwIgIAAgASkCKDcCKCAAIAEpAjA3AjAgACABKQI4NwI4IABBQGsgAUFAaykCADcCACAAIAEpAkg3AkgLIAVBAWoiBUEIRw0ACyADQgA3AwggA0IANwMAIANB2JDfADYCBCADQRY6AABBzOfXACADEC4gA0EQaiQAQcCG1wAtAABBB00EQEHIhtcALwEADQELQcyG1wAtAABBB00EQEHUhtcALwEADQELQdiG1wAtAABBB00EQEHghtcALwEADQELQeSG1wAtAABBB00EQEHshtcALwEADQELQfCG1wAtAABBB00EQEH4htcALwEADQELQfyG1wAtAABBB00EQEGEh9cALwEADQELQYiH1wAtAABBB00EQEGQh9cALwEADQELQZSH1wAtAABBB00EQEGch9cALwEADQELQaCH1wAtAABBB00EQEGoh9cALwEADQELQayH1wAtAABBB00EQEG0h9cALwEADQELQbiH1wAtAABBB00EQEHAh9cALwEADQELQcSH1wAtAABBB00EQEHMh9cALwEADQELQdCH1wAtAABBB00EQEHYh9cALwEADQELQdyH1wAtAABBB00EQEHkh9cALwEADQELQeiH1wAtAABBB00EQEHwh9cALwEADQELQfSH1wAtAABBB00EQEH8h9cALwEADQELIAJBABAYGgsgBEEgaiQAIAILLQAgAEG469YAIAFBuO3WAC8BACIAIAAgAUobIgEQvAIaQbjt1gBBADsBACABCwcAQeCt5wALTQEBf0F/IQECQEHYreAALQAARQ0AIABBAEwEf0EDBSAAQYCAAUsNAUEAQQBBABAdDQFBAUHgrecAIAAQHQ0BQQILQQBBABAdIQELIAELJgEBfwJAQdit4AAtAABFDQBBrsreAC0AAEUNABAcQQBHIQALIAALBwBB4K3oAAtIAQF/QX8hAQJAIABBAWtB38QASw0AQdit4AAtAABBAXFFDQBBAEEAQQAQHg0AQQFB4K3oACAAEB4NAEECQQBBABAeIQELIAELEwAgAEEERgRAENMBDwsgABDRAQsKAEGY3t8ALQAACwoAQdz31wAtAAAL0woCDH8DfSMAQSBrIg0kACANIANBGGxB0IcHaiIDKQIQNwMYIA0gAykCCDcDECANIAMpAgA3AwggDUG2/wYtAAA6AAYgDUG0/wYvAAA7AQQgAEEEaiEPIAVBD0ohEUEAIQADQCACIABBBHRqIgMoAgQhBiANQQhqIABBAnRqKAIAIQ4gAyADKAIAIgxBC3ZB+D9xQeCQ6QBqIgcoAgQgBzQCACAMQf//AHGtfkIOiKdqQQYgDEGAgIDwAGtBGHVrdSIHNgIEIA5BA3EhDCAOQQRxIQgCQCAHQeAISCAGQd8ITHFFBEAgDEGQAmwgD2pBgQJrQXBxIAEgDBshCyANQQRqIAxqIgwtAAAgCEEAR3EhCAJAIA5BBHZBA3EiCgRAIA1BBGogCmotAAANAQsgAygCCCEKIAMoAgwhCQJAIBENACAOQcABcUHAAUcNACALIQ4gBUEBaiEQIAayQwAAgDOUIRIgByAGa0EgakEGdbJDAACAM5QhFCAEKAIEIQYgBCgCACEHQQAhCwJAIAgEQANAAn8gFCASkiISIAkgBiIIIAdqIBB1aiIGQQt2Qfg/cUGQ9ekAaiIHKAIAIAZB//8AcWxBDnUgBygCBGqylCITi0MAAABPXQRAIBOoDAELQYCAgIB4CyEGIA4gC0ECdGoiByAHKAIAIAZqNgIAIAkgCmohCSAIIQcgC0EBaiILQcAARw0ADAILAAsDQCAOIAtBAnRqAn8gFCASkiISIAYiCCAHaiAQdSAJaiIGQQt2Qfg/cUGQ9ekAaiIHKAIAIAZB//8AcWxBDnUgBygCBGqylCITi0MAAABPXQRAIBOoDAELQYCAgIB4CyIGNgIAIAkgCmohCSAIIQcgC0EBaiILQcAARw0ACwsgBCAGNgIEIAQgCDYCACAMQQE6AAAMAwsgBrJDAACAM5QhEiAHIAZrQSBqQQZ1skMAAIAzlCEUQQAhBgJAIAgEQANAIAsgBkECdGoiCAJ/IBQgEpIiEiAJQQt2Qfg/cUGQ9ekAaiIHKAIAIAlB//8AcWxBDnUgBygCBGqylCITi0MAAABPXQRAIBOoDAELQYCAgIB4CyAIKAIAajYCACAJIApqIQkgBkEBaiIGQcAARw0ADAILAAsDQCALIAZBAnRqAn8gFCASkiISIAlBC3ZB+D9xQZD16QBqIgcoAgAgCUH//wBxbEEOdSAHKAIEarKUIhOLQwAAAE9dBEAgE6gMAQtBgICAgHgLNgIAIAkgCmohCSAGQQFqIgZBwABHDQALCyAMQQE6AAAMAgsgCkGQAmwgD2pBgQJrQXBxIQkgAygCDCEKIAMoAgghDiAGskMAAIAzlCESIAcgBmtBIGpBBnWyQwAAgDOUIRRBACEGAkAgCARAA0ACfyAUIBKSIhIgCSAGQQJ0IgdqKAIAIApqIghB//8AcSAIQQt2Qfg/cUGQ9ekAaiIIKAIAbEEOdSAIKAIEarKUIhOLQwAAAE9dBEAgE6gMAQtBgICAgHgLIQggByALaiIHIAcoAgAgCGo2AgAgCiAOaiEKIAZBAWoiBkHAAEcNAAwCCwALA0ACfyAUIBKSIhIgCSAGQQJ0IgdqKAIAIApqIghB//8AcSAIQQt2Qfg/cUGQ9ekAaiIIKAIAbEEOdSAIKAIEarKUIhOLQwAAAE9dBEAgE6gMAQtBgICAgHgLIQggByALaiAINgIAIAogDmohCiAGQQFqIgZBwABHDQALCyAMQQE6AAAMAQsgCA0AIA1BBGogDGpBADoAAAsgAyADKAIMIAMoAghBBnRqNgIMIABBAWoiAEEGRw0ACyANQSBqJAALBAAgAAunDAEIfwJAIAAiA0UNACADQQhrIgIgA0EEaygCACIBQXhxIgNqIQQCQCABQQFxDQAgAUECcUUNASACIAIoAgAiAGsiAkHktuoAKAIASQ0BIAAgA2ohAwJAAkACQEHotuoAKAIAIAJHBEAgAigCDCEBIABB/wFNBEAgASACKAIIIgVHDQJB1LbqAEHUtuoAKAIAQX4gAEEDdndxNgIADAULIAIoAhghBiABIAJHBEAgAigCCCIAIAE2AgwgASAANgIIDAQLIAIoAhQiAAR/IAJBFGoFIAIoAhAiAEUNAyACQRBqCyEFA0AgBSEIIAAiAUEUaiEFIAEoAhQiAA0AIAFBEGohBSABKAIQIgANAAsgCEEANgIADAMLIAQoAgQiAUEDcUEDRw0DQdy26gAgAzYCACAEIAFBfnE2AgQgAiADQQFyNgIEIAQgAzYCAAwECyAFIAE2AgwgASAFNgIIDAILQQAhAQsgBkUNAAJAIAIoAhwiBUECdEGEueoAaiIAKAIAIAJGBEAgACABNgIAIAENAUHYtuoAQdi26gAoAgBBfiAFd3E2AgAMAgsCQCACIAYoAhBGBEAgBiABNgIQDAELIAYgATYCFAsgAUUNAQsgASAGNgIYIAIoAhAiAARAIAEgADYCECAAIAE2AhgLIAIoAhQiAEUNACABIAA2AhQgACABNgIYCyACIARPDQAgBCgCBCIAQQFxRQ0AAkACQAJAAkAgAEECcUUEQEHstuoAKAIAIARGBEBB7LbqACACNgIAQeC26gBB4LbqACgCACADaiIDNgIAIAIgA0EBcjYCBCACQei26gAoAgBHDQZB3LbqAEEANgIAQei26gBBADYCAAwGC0HotuoAKAIAIgYgBEYEQEHotuoAIAI2AgBB3LbqAEHctuoAKAIAIANqIgM2AgAgAiADQQFyNgIEIAIgA2ogAzYCAAwGCyAAQXhxIANqIQMgBCgCDCEBIABB/wFNBEAgBCgCCCIFIAFGBEBB1LbqAEHUtuoAKAIAQX4gAEEDdndxNgIADAULIAUgATYCDCABIAU2AggMBAsgBCgCGCEHIAEgBEcEQCAEKAIIIgAgATYCDCABIAA2AggMAwsgBCgCFCIABH8gBEEUagUgBCgCECIARQ0CIARBEGoLIQUDQCAFIQggACIBQRRqIQUgASgCFCIADQAgAUEQaiEFIAEoAhAiAA0ACyAIQQA2AgAMAgsgBCAAQX5xNgIEIAIgA0EBcjYCBCACIANqIAM2AgAMAwtBACEBCyAHRQ0AAkAgBCgCHCIFQQJ0QYS56gBqIgAoAgAgBEYEQCAAIAE2AgAgAQ0BQdi26gBB2LbqACgCAEF+IAV3cTYCAAwCCwJAIAQgBygCEEYEQCAHIAE2AhAMAQsgByABNgIUCyABRQ0BCyABIAc2AhggBCgCECIABEAgASAANgIQIAAgATYCGAsgBCgCFCIARQ0AIAEgADYCFCAAIAE2AhgLIAIgA0EBcjYCBCACIANqIAM2AgAgAiAGRw0AQdy26gAgAzYCAAwBCyADQf8BTQRAIANBeHFB/LbqAGohAQJ/QdS26gAoAgAiAEEBIANBA3Z0IgNxRQRAQdS26gAgACADcjYCACABDAELIAEoAggLIQMgASACNgIIIAMgAjYCDCACIAE2AgwgAiADNgIIDAELQR8hASADQf///wdNBEAgA0EmIANBCHZnIgFrdkEBcSABQQF0a0E+aiEBCyACIAE2AhwgAkIANwIQIAFBAnRBhLnqAGohBQJ/AkACf0HYtuoAKAIAIgBBASABdCIEcUUEQEHYtuoAIAAgBHI2AgAgBSACNgIAQRghAUEIDAELIANBGSABQQF2a0EAIAFBH0cbdCEBIAUoAgAhBQNAIAUiACgCBEF4cSADRg0CIAFBHXYhBSABQQF0IQEgACAFQQRxaiIEKAIQIgUNAAsgBCACNgIQQRghASAAIQVBCAshAyACIQAgAgwBCyAAKAIIIgUgAjYCDCAAIAI2AghBGCEDQQghAUEACyEEIAEgAmogBTYCACACIAA2AgwgAiADaiAENgIAQfS26gBB9LbqACgCAEEBayICQX8gAhs2AgALC84DAgJ/An0gAS0AACECAkACQAJAAkAgAC0AggEiAw0AIAAtAHwgAkcNACAALQB9IAEtAAJGDQELIAAgAjoAfCAAIAEtAAIiAjoAfSAAQ/4o9EAgAS0AALNDBAIBPJQiBBDZAkNb6JxDlDgCdCAAIARDz85FPZRDcrqWPpI4AnAgAEMAAIA/IASTIAKzQwQCATyUIgVDKIlxQJRDx6k8P5KUIAQgBUO+OYZAlEO1RV0/kpSSOAJsIANFDQAgAS0AASECDAELIAEtAAEiAiAALQB+Rg0BCyAAIAI6AH4gAEMAAIA/IAEtAAGzQwQCATyUQwAAQMCUEM4Ck0PntIY/lDgCeAsCQCAAAn0gAC0AgQFFBEAgAS0AAyECIANFBEAgAC0AfyACRg0DCyAAIAI6AH9DAAAgQSABLQADs0MEAgE8lBDZAiEEQwAAgL9B1IgIKgIAIARDAABIQ5RDbxKDOpSUlRDOAgwBCyADRQRAIAAtAH9B/wFGDQILIABB/wE6AH9BhPPoACoCAAs4AmQLQdSICCoCACEEIAEtAAUhASAAQQA6AIIBIABDAACAP0MAAIC/IAQgAUEIarND8Pd7QJRDF7dROZSUlRDOApM4AmgLsw8CCX0Ef0GgpAshEwJ/QwAAAEMgBSAGQwAAIEGUQwAASEKSlJMiCItDAAAAT10EQCAIqAwBC0GAgICAeAshEQJ/IAggEbKTQwAAgEOUIgiLQwAAAE9dBEAgCKgMAQtBgICAgHgLQQJ0QdCrB2oqAgAhDSARQQJ0QcCjB2oqAgAhDgJ/IAUgBSAFQwAAgL+SlEMAAIA/kpRDAACoQpRDAAAAQ5IiCItDAAAAT10EQCAIqAwBC0GAgICAeAsiEUECdEHAowdqKgIAAn8gCCARspNDAACAQ5QiCItDAAAAT10EQCAIqAwBC0GAgICAeAtBAnRB0KsHaioCAJQhCAJ9QwAAAAAgBkPNzIw/lEPNzEy9kiIKQwAAAABdDQAaIAogCkMAAIA/XkUNABpDAACAPwshDyAIQwAA+kSUIQkgAQRAIABBgICAgAQ2AhAgAEEsNgIAIAAgAkMAAOBAlEMAAEBAkjgCCAsgAEMAAIA/Q+58/z4gAyADQ+58/z5eGyIKIAmUQwAAgD+SlSILOAIcIAAgCiAKIAqUIgggCENJJl9ClEOPuiFBkpRD2w9JQJKUIgg4AhggAEMAAIA/IAggCJQgCyAIlEMAAIA/kpKVOAIgIwBBQGoiEkPufP8+IAMgA5IiCCAIQ+58/z5eGyIIOAIkIABDAACAPyAIIAlDAACAPpQiCZRDAACAP5KVIgs4AjAgACAIIAggCJQiDCAMQ0kmX0KUQ4+6IUGSlEPbD0lAkpQiCDgCLCAAQwAAgD8gCCAIlCALIAiUQwAAgD+SkpU4AjQgEkPufP8+IANDH4VLQJQiCCAIQ+58/z5eGyIIOAIoIABDAACAPyAIIAmUQwAAgD+SlSILOAJEIAAgCCAIIAiUIgwgDENJJl9ClEOPuiFBkpRD2w9JQJKUIgg4AkAgAEMAAIA/IAggCJQgCyAIlEMAAIA/kpKVOAJIIBJD7nz/PiADQ7gehUCUIgggCEPufP8+XhsiCDgCLCAAQwAAgD8gCCAJlEMAAIA/kpUiCzgCWCAAIAggCCAIlCIMIAxDSSZfQpRDj7ohQZKUQ9sPSUCSlCIIOAJUIABDAACAPyAIIAiUIAsgCJRDAACAP5KSlTgCXCASQ+58/z4gA0MK17NAlCIIIAhD7nz/Pl4bIgg4AjAgAEMAAIA/IAggCZRDAACAP5KVIgk4AmwgACAIIAggCJQiCyALQ0kmX0KUQ4+6IUGSlEPbD0lAkpQiCDgCaCAAQwAAgD8gCCAIlCAJIAiUQwAAgD+SkpU4AnACfSAEQ7CqKj9dBEAgEiAEQwAAwD+UIgggCJJDmpkZPpI4AgQgEkEIciIRQQA2AgggEUIANwMAQwAAgD8gCJMiCCAIlEMAAJBAlEMAAMA/kgwBCyASIARDsKoqv5JDAABAQJQiCDgCCCASIAhDMzMzv5RDmpkJQJI4AgQgEiAIIAiUIgk4AgwgEiAJIAmUOAIQIAhDAAAAv5RDAADAP5ILIRBDAAAAACEIAkAgA0MAAIBBlCIDQwAAAABdDQAgAyIIQ+58/z5eRQ0AQ+58/z4hCAsgAEMAAIA/IAhDAADAP5RDAACAP5KVIgk4AoABIAAgCCAIIAiUIgMgA0NJJl9ClEOPuiFBkpRD2w9JQJKUIgM4AnwgAEMAAIA/IAMgA5QgCSADlEMAAIA/kpKVOAKEASAAKgIUIQsgBwRAIA4gDZRDidLeupRDAACAP5IhDSAGQwAAAEAgBpOUQ83MzD2UIQwgAEEYaiEUIAIgBZQgC5MgB7OVIQJDAACAPyAPkyEOA0AgAAJ9IAAoAgAiEQRAIAAgEUEBayIRNgIAIAAqAggiAyADQwAAgL+SIBEbDAELIAAqAgRDS/lFP5QLIgM4AgQgACADIAAqAgwiCJNDAABAP5QgCJIiCDgCDCACIAuSIQsgACAAKgIYIgUgA0Omm8Q7lCADIAiTkiIKIAAqAhwgACoCJCIIlJMgBSAIlJMgACoCKCIGkyAAKgIglJQiCSAJIAiSIgiSOAIkIAAgBSAIlCIFIAUgBpKSOAIoIAdBAWshByADQ/T91DyUIQYgECAKIAyUIAiSlEMAAAAAkiEDQQEhEQNAIBIgEUECdGoqAgAgFCARQRRsaiIBIAEqAgAiBSAGIAEqAgQgASoCDCIKlJMgBSAKlJMgASoCECIJkyABKgIIlJQiBCAEIAqSIgqSOAIMIAEgBSAKlCIFIAUgCZKSOAIQIAYgDJQgCpKUIAOSIQMgEUEBaiIRQQVHDQALAn1DAACAvyADQwAAQMBdDQAaQwAAgD8gA0MAAEBAXg0AGiADIAMgA5RDAADYQZKUIANDAAAQQZQgA5RDAADYQZKVCyEFQeSICEHkiAgoAgBBjczlAGxB3+a74wNqIhE2AgAgACANIAAqAhCUIgg4AhAgACAAKgJ8IgMgACoChAEgDyAIlCIIIAiSQwAAAAAgEbNDAACAL5QiCCAIkkMAAIC/kiIIIAhDAAAAAF0blCAAKgKAASAAKgKIASIIlJMgAyAIlJMgACoCjAEiCpOUlCIGIAYgCJIiCJI4AogBIAAgAyAIlCIDIAMgCpKSOAKMASATIAUgDpQgCJI4AgAgE0EEaiETIAcNAAsLIAAgCzgCFAv1BwIIfQd/QaCkCyELQfCB6QAhDEHw/+gAIQ0gAiEPQfD/6AAhEAJAAn1DvTeGNSABKgIAIgNDvTeGNV0NABogAyADQwAAgD5eRQ0AGkMAAIA+CyIFiyIDIAOSIgRDAAAAP14NAEMAAAA/IQRDAACAPyADIAOSkyIDQwAAAD9dRQ0AIAMhBAsgACoCGCEGIAAqAhQhByAAKgIEIQMgDwRAIAQgBpMgD7MiBJUhCSAFIAeTIASVIQogAC0AECEOA0AgACAKIAeSIgcgACoCAJIiBTgCAAJ9IAUgCSAGkiIGYCIRIA5B/wFxRgRAIA4hEUMAAAAADAELIAAgEToAECADIAUgBpMgB5UiBCAEQwAAAD+UlJIhA0MAAAAAQwAAgD8gBJMiBCAEQwAAAD+UlJMLIQQgBUMAAIA/YAR/IABBADoAECAAIAVDAACAv5IiBTgCACADIAUgB5UiCCAIQwAAAD+UlJMhAyAEQwAAgD8gCJMiCCAIQwAAAD+UlJIhBEEABSARCyEOIBAgAyADkkMAAIC/kjgCACAQQQRqIRAgBEMAAAAAQwAAgD8gBSAGXRuSIQMgD0EBayIPDQALCyAAIAY4AhggACADOAIEIAAgBzgCFAJAAn1DvTeGNSABKgIEIgNDvTeGNV0NABogAyADQwAAgD5eRQ0AGkMAAIA+CyIFiyIDIAOSIgRDAAAAP14NAEMAAAA/IQRDAACAPyADIAOSkyIDQwAAAD9dRQ0AIAMhBAsCQCACRQ0AIAQgACoCNCIHkyACsyIDlSEIIAUgACoCMCIEkyADlSEJIAAqAiAhAyACIQ5B8IHpACEBA0AgACAJIASSIgQgACoCHJIiBTgCHCAFQwAAgD9gBH0gACAFQwAAgL+SIgU4AhwgAyAFIASVIgYgBkMAAAA/lJSTIQNDAACAPyAGkyIGIAZDAAAAP5SUQwAAAACSBUMAAAAACyEGIAggB5IhByABIAMgA5JDAACAv5I4AgAgAUEEaiEBIAUgBpIhAyAOQQFrIg4NAAsgACAHOAI0IAAgAzgCICAAIAQ4AjACQCACQQNxIg5FBEAgAiEBDAELQQAhACACIQEDQCALIA0qAgAgDCoCAJQgCyoCAJI4AgAgC0EEaiELIAxBBGohDCANQQRqIQ0gAUEBayEBIABBAWoiACAORw0ACwsgAkEESQ0AA0AgCyANKgIAIAwqAgCUIAsqAgCSOAIAIAsgDSoCBCAMKgIElCALKgIEkjgCBCALIA0qAgggDCoCCJQgCyoCCJI4AgggCyANKgIMIAwqAgyUIAsqAgySOAIMIAtBEGohCyAMQRBqIQwgDUEQaiENIAFBBGsiAQ0ACwsLcwAgAEEAOgASIABBADsBECAAIAAtABYgAEElahCpAiAAIAAtABQgAEEvahCpAiAAIAAtABUgAEEqahCpAiAAIAAtABMgAEE0ahCpAgJAIAAtACgNACAALQAtDQAgAC0AMg0AIAAtADcNACAAQf8AOgASCwuqAgMBfwF9AXwgAi0AALhEAAAAAAAAWUCjtiEEAkACQAJAAkAgAi0ABA4DAAECAwsgAbIgBJQiBEMAAIBPXSAEQwAAAABgcUUNAiAEqSEDDAILIAS7RAAAAAAAwF9AoiABsiAElLuhIgVEAAAAAAAA8EFjIAVEAAAAAAAAAABmcUUNASAFqyEDDAELRAAAAAAAAPA/IAS7oUQAAAAAAMBfQKIgAbIgBJS7oCIFRAAAAAAAAPBBYyAFRAAAAAAAAAAAZnEEQCAFqyEDDAELCyACLQACQQFGBEAgACAALQAQIgEgAyABIANLGzoAEAsgAi0AAUEBRgRAIAAgAC0AESIBIAMgASADSxs6ABELIAItAANBAUYEQCAAIAAtABIiAiADIAIgA0sbOgASCwsKACAAQR9xELMCC84OAw1/A30BfCAAQQZrIgBBD00EQCAAQZCkC2oiBi0AAEECRwRAIAZBAjoAACAAQdgHbEGIqQpqQQBB1AcQvgIiBkEANgKkAyAGQgA3AsgEIAZBADYCtAMgBkEANgKcAyAGQQA2AsQDIAZBADYCrAMgBkEANgLUAyAGQQA2ArwDIAZBADYC5AMgBkEANgLMAyAGQQA2AvQDIAZBADYC3AMgBkEANgLsAyAGQcAAOgDMBwsgAEHYB2xBiKkKaiIAIAE6AM8HIAAgAi0AhgFBH3EiBjoAzgcgACAGELMCIgZBAXZBAXEgBkEBcWogBkECdkEBcWogBkEDdkEBcWogBkEEdkEBcWogBkEFdkEBcWpBAXRB0IEHai4BADYC0AcgAUEGdEGgiOkAaiELIwBBIGsiBiQAQSYgA0EDbSIBIAFBJk4bQQdrQQAgA0EXShshDCAFQdWq1QBsQbGOoBhqskMAAIAzlLtE8tJNYhBY2b+ithDOAhogA0HVqtUAbEGxjqAYarIiEyATQwAAgDOUu0Ty0k1iEFjZv6K2EM4Cu0TXEvJBz2aVP6JEAAAAAAAAHECjtpQhFCAAQZwFaiENIABB1ARqIQ4gAEGwBGohDyAAQewEaiEQQf8AIAQgBEH/AE4bIgVBACAFQQBKG0EBdkGwgwdqIRFBACEEA0AgBiACIARBFWxqIgUtAAA2AhAgBiAFLQAENgIAIAYgBS0AATYCFCAGIAUtAAU2AgQgBiAFLQACNgIYIAYgBS0ABjYCCCAGIAUtAAM2AhwgBiAFLQAHNgIMIAUtABAQsgIhCQJAAkAgAyAFLQAIayIBQRFOBEAgAUEQa0EDbiEBIAUtAAohCEEMIQcgBS0ADCIKDgQCAQECAQtBEiABa0EDbiEBIAUtAAkhCEEMIQcgBS0ACyIKDgQBAAABAAtBICABIAFBIE8bQfCDB2otAAAhAUEPIQcLIAUtAA8gES0AAEGR/v//B2psQQF0QQ5qQXBxQf8AQQAgASAIbEHJAmwgB3UiAWsgASAKQQJJGyAJaiIBIAFB/wBOG0EFdGoiAUEAIAFBAEobIQggDCAFLQANbEEDdSEJIAAgBEHEAGxqIgEgBkEQaiIHKAIANgIAIAEgBigCADYCECABIAcoAgQ2AgQgASAGKAIENgIUIAEgBygCCDYCCCABIAYoAgg2AhggASAHKAIMNgIMIAYoAgwhByABQQE6AEAgAUEANgIoIAEgCTYCJCABIAg2AiAgASAHNgIcIAFBABCvAiAFLQAUIQkgBS0AEyEIIAUtABIhCgJ/IAUtABEiEkUEQAJ/IBQgCUEHa7KUIBOSIhWLQwAAAE9dBEAgFagMAQtBgICAgHgLIApBH3FBAnRBsIIHaigCAGoiASAIRQ0BGiAIuER7FK5H4XqEP6JEAAAAAAAA8D+gthDUArtEBoMrZUcVd0GiRAAAAAAAAOA/oJwiFplEAAAAAAAA4EFjBEAgASAWqmoMAgsgAUGAgICAeGsMAQsgCkEDcUHkAGwgCGpBj4IibCAJQZHpAGxB998Fa0EAIAlBB0sbagshASAQIARBAnQiB2ogEjYCACAHIA9qIAE2AgAgByAOaiAFLQAOQQNxQQJ0QaCEB2ooAgA2AgAgByANaiABNgIAIARBAWoiBEEGRw0ACyAGIAItAH42AhAgBiACLQCCATYCACAGIAItAH82AhQgBiACLQCDATYCBCAGIAItAIABNgIYIAYgAi0AhAE2AgggBiACLQCBATYCHCAGIAItAIUBNgIMIABB+ANqIgMgBkEQaiIEKAIAIgU2AgAgAyAGKAIAIgE2AhAgAyAEKAIENgIEIAMgBigCBDYCFCADIAQoAgg2AgggAyAGKAIINgIYIAMgBCgCDDYCDCAGKAIMIQQgA0EBOgA0IAMgBDYCHCADQQA2AiwgAyABQcCOB2osAABBE3QiATYCJCADIARBwI4HaiwAAEETdCIENgIgIAMgASAESjoAKCADQfzw6QAoAgAgBUHQjQdqLQAAbDYCMCAAIAItAIYBNgKIBSAAQQggAi0AhwEiBWtBECAFGzYC0AQgACACLQCLAUGlAWxBBnY2AowFIAAgAi0AjwFBB3FBsIQHai0AADYCkAUgAi0AjAEhBSAAQX82ApQFIAAgBUGlAWxBBnY2AoQFIAAgCygCDDYCmAUgBkEgaiQAIABBtAVqIgYiAyACQYkBaiIELQAAIgFBpQFsQQZ2QQEgARsiAUH48OkAKAIAIgVsQQsgAUGgAWtBBHVBC2ogAUGgAUkbbDYCBAJ/IAQtAAEiAUUEQEF/IQJBfwwBC0GAAUHjACABayIBQQ9xQRByIAFBBHVBAWp0IgFBgP8DcSICIAJBgAFNGyAFbCECIAEgBWwLIQEgAyACNgIUIAMgATYCECADIAQtAAU6AAggAyAELQAEQQBHOgAKIAYtAApBAUYEQCAGQf////8HNgIACyAGQQA2AgwgAEHAADsBzAcLC4oKAw9/A30BfAJAIABBBmsiAEEPSw0AIABBkKQLai0AAEECRw0AIABB2AdsQYipCmoiBywAzwdBAEgNACAHIAEtAIYBQR9xIgA6AM4HIAcgABCzAiIAQQF2QQFxIABBAXFqIABBAnZBAXFqIABBA3ZBAXFqIABBBHZBAXFqIABBBXZBAXFqQQF0QdCBB2ouAQA2AtAHIAcsAM8HQQZ0QaCI6QBqIQ0jAEEgayIIJABBJiACQQNtIgkgCUEmThtBB2tBACACQRdKGyEOIAJB1arVAGxBsY6gGGqyIhQgFEMAAIAzlLtE8tJNYhBY2b+ithDOArtE1xLyQc9mlT+iRAAAAAAAABxAo7aUIRUgB0GcBWohDyAHQewEaiEQIAdB1ARqIREgB0GwBGohEiAEQYABSSETQf8AIAMgA0H/AE4bIgNBACADQQBKG0EBdkGwgwdqIQBBACEJA0AgASAJQRVsaiIDLQAUIQUgAy0AEyEKIAMtABIhBgJ/IAMtABEiC0UEQCAGQR9xQQJ0QbCCB2ooAgAhBgJ/IBUgBUEHa7KUIBSSIhaLQwAAAE9dBEAgFqgMAQtBgICAgHgLIAZqIgYgCkUNARogCrhEexSuR+F6hD+iRAAAAAAAAPA/oLYQ1AK7RAaDK2VHFXdBokQAAAAAAADgP6CcIheZRAAAAAAAAOBBYwRAIAYgF6pqDAILIAZBgICAgHhrDAELIAZBA3FB5ABsIApqQY+CImwgBUGR6QBsQfffBWtBACAFQQdLG2oLIQYgEiAJQQJ0IgVqIAY2AgAgBSARaiADLQAOQQNxQQJ0QaCEB2ooAgA2AgAgBSAQaiALNgIAIBNFBEAgBSAPaiAGNgIACyAIIAMtAAA2AhAgCCADLQAENgIAIAggAy0AATYCFCAIIAMtAAU2AgQgCCADLQACNgIYIAggAy0ABjYCCCAIIAMtAAM2AhwgCCADLQAHNgIMIAMtABAQsgIhCgJAAkAgAiADLQAIayIFQRFOBEAgBUEQa0EDbiEFIAMtAAohC0EMIQYgAy0ADCIMDgQCAQECAQtBEiAFa0EDbiEFIAMtAAkhC0EMIQYgAy0ACyIMDgQBAAABAAtBICAFIAVBIE8bQfCDB2otAAAhBUEPIQYLIAMtAA8gAC0AAEGR/v//B2psQQF0QQ5qQXBxQf8AQQAgBSALbEHJAmwgBnUiBWsgBSAMQQJJGyAKaiIFIAVB/wBOG0EFdGoiBUEAIAVBAEobIQogDiADLQANbEEDdSELIAcgCUHEAGxqIgMgCEEQaiIFKAIANgIAIAMgCCgCADYCECADIAUoAgQ2AgQgAyAIKAIENgIUIAMgBSgCCDYCCCADIAgoAggiBjYCGCADIAUoAgw2AgwgCCgCDCEFIAMgCzYCJCADIAo2AiAgAyAFNgIcIAMtAEBBAUYEQCADQbAhIAZBFE4EfyAGQRxqBSAGQQJ0QcCEB2ooAgALQQV0QUBxIgUgBUGwIUwbQRB0QYCAgIUBazYCLCADQQIQrwILIAlBAWoiCUEGRw0ACyAHIAEtAIYBNgKIBSAHQQggAS0AhwEiA2tBECADGzYC0AQgByABLQCLAUGlAWxBBnY2AowFIAcgAS0AjwFBB3FBsIQHai0AADYCkAUgAS0AjAEhAyAHQf8AIAQgBEH/AE4bNgKUBSAHIANBpQFsQQZ2NgKEBSAHIA0oAgw2ApgFIAhBIGokAAsLwxMEFX8BfgF9AXwjAEEgayIJJAACQCAAQQZrIgBBD0sNACAAQZCkC2otAABBAkcNACAAQdgHbEGIqQpqIgYsAM8HQQBIDQBBASEDIAJBAEwNACAGQbQFaiENIAZBzAVqIQ4gBi0AzAchBCAJQRhqIQ8gCUEQaiEQIAlBCGohEQNAIARB/wFxQcAATwRAAkAgBi0AzQdFDQAgD0IANwMAIBBCADcDACARQgA3AwAgCUIANwMAQQAhACAJQRhqIQUgBkGYA2ohBwNAIAkgAEECdGogByAAQQR0aigCACIDQQt2Qfg/cUHgkOkAaiIEKAIEIAQ0AgAgA0H//wBxrX5CDoinakEGIANBgICA8ABrQRh1a3U2AgAgACAFaiAGIABBxABsaigCNDoAACAAQQFqIgBBBkcNAAsgCUEeaiAGQfgDaigCLDoAAEEAIQMgBi0AzgcQswIiAEEBcQRAIAktABhBBEcgCSgCAEHMCEtyIQMLIABBAnEEQCADIAktABlBBEcgCSgCBEHMCEtyaiEDCyAAQQRxBEAgAyAJLQAaQQRHIAkoAghBzAhLcmohAwsgAEEIcQRAIAMgCS0AG0EERyAJKAIMQcwIS3JqIQMLIABBEHEEQCADIAktABxBBEcgCSgCEEHMCEtyaiEDCyAAQSBxBEAgCSgCFEHMCEsNASAJLQAdQQRHDQELIAMNACAGQf8BOgDPB0EAIQMMAwsgDkEAQYACEL4CIRICfyANIgAgACgCBCIFIAAoAgBqIgM2AgBBgICABCEEAkACQAJAAkACQAJAAkAgAC0ACA4GAAECAwQFBgsgA0EfdSADQQd2c0H///8HcQwGCyADQQh2Qf///wNzDAULIANBCHZBgICABHMMBAsgA0F/c0EHdkGAgIAIcQwDCyADQRN2IgBB+D9xQZD16QBqKAIAIANBCHZB//8AcWxBDnUgAEEEckH8P3FBkPXpAGooAgBqQQF1QYCAgARqDAILIAAtAAkhBCADIAVJBEAgACAEQbN/bEERaiIEOgAJCyAEQYABc0H/AXFBEHRBgIAEaiEECyAECyEAAn9BgICACCANQRRBECANKAIMIgNBAEgbajUCACADrXwiGEL/////D1YNABogDSAYpyIDNgIMQQAgGEKAgICACFQNABogA0EHdkH///8HcQshB0EAIAYoApAFIABBgICABGtsIgSsIhggBigCjAUgB2ytfkInh6ciCCAIQR91IghzIAhrIgggBiwAzwdBBnRBoIjpAGoiCzEAESAYfkIOiKciBSAFQR91IgVzIAVrIgUgBSAISRsiCGsgCCAEQQBIGwJAIAZB+ANqIgMoAiwiCEEDTgRAIAhBA0cNASADLQA0DQELIAMoAiAhBSADKAIwIQQCQCADLQAoQQFGBEAgAyAEIAVqIgQ2AiAgBCADKAIkIgVIDQIgAyAFNgIgIAMgCEEBaiIENgIsIAhBA0gNAQwCCyADIAUgBGsiBDYCICAEIAMoAiQiBUoNASADIAU2AiAgAyAIQQFqIgQ2AiwgCEECSg0BCyADIAMgBEECdGoiCCgCEEHAjgdqLAAAQRN0IgQ2AiQgAyAEIAVKOgAoIANB/PDpACgCACAIKAIAQdCNB2otAABsNgIwCyADKAIgaiEMAn9BACALKAIAQYBAaiIIRQ0AGiALKAIIIgRFBEAgCEELdLIgCygCBLKUu0QAAAAAAAAoQKMiGplEAAAAAAAA4EFjBEAgGqoMAgtBgICAgHgMAQtB/z9BDCAEbSIEwW3BIAQgCGxB/z9tbEELdAshBEGAgPgHIAstABJBEXRrIghBgICACCAAa6wiGCAGNAKEBSAHrH5CCIhC/////w+DfkIYiKciByALMQAQIBh+QgeIpyIAIAAgB0kbIgcgByAISRutIRggBkGYA2ohCCAGQdQEaiEFIAZBnAVqIRMgBkGgA2ohCiAGQewEaiEUIAZBsARqIRUgDCALKAIgIARqIhZqIQxBACEHA0ACQCALLQAkIAd2QQFxRQRAIAYgB0HEAGxqELACGkEAIQAMAQsgFSAHQQJ0IgRqKAIAIQAgCiAHQQR0aiAEIBRqKAIABH8gACAWagUCQCAGKAKUBUEASA0AIAQgE2ooAgAiAyAARg0AIAYoApgFRQRAIAMhAAwBCyADIANBsY6gGGtB1arVAG9rIQALIAAgDGoLIgBBDHZB/B9xIgNB8NDpAGooAgAiFyADQfTQ6QBqKAIAIBdrrCAAQf//AHGtfkIOiKdqQRQgAEEYdWt1NgIAIAYgB0HEAGxqELACIQAgBCAFaigCACIERQ0AIAAgAKwCfyAErCAYfkIYiKezQwAAgDaUu0TsUbgeheuxP6JEZmZmZmZmKECgthDOAiIZQwAAgE9dIBlDAAAAAGBxBEAgGakMAQtBAAutfkIYiKdrIQALIAggB0EEdGogADYCACAHQQFqIgdBBkcNAAsgBigClAUiB0EATgRAIAYgB0ECdEGQ8ekAaigCACIHQQAgB2siACAGKAKcBSIFIAYoArAEIgRIIgobIAVqIgUgBCAEIAVOIAQgBUwgChsbNgKcBSAGIAcgACAGKAKgBSIFIAYoArQEIgRIIgobIAVqIgUgBCAEIAVOIAQgBUwgChsbNgKgBSAGIAcgACAGKAKkBSIFIAYoArgEIgRIIgobIAVqIgUgBCAEIAVOIAQgBUwgChsbNgKkBSAGIAcgACAGKAKoBSIFIAYoArwEIgRIIgobIAVqIgUgBCAEIAVOIAQgBUwgChsbNgKoBSAGIAcgACAGKAKsBSIFIAYoAsAEIgRIIgobIAVqIgUgBCAEIAVOIAQgBUwgChsbNgKsBSAGIAcgACAGKAKwBSIFIAYoAsQEIgRIIgobIAVqIgcgBCAEIAdOIAQgB0wgChsbNgKwBQsgCygCPCIHIBIgCCAGKAKIBSAGQcgEaiAGKALQBCAHKAIAKAIIEQYAQQAhBAtBwAAgBEH/AXEiA2siACACIAAgAkkbIgVBAXEhCyAOIANBAnRqIQdBACEDIAVBAUcEQCAFQf4AcSEMQQAhCgNAIAEgA0ECdCIAaiIIIAgoAgAgBigC0AcgACAHaigCAEEKdWxBCHVqNgIAIAEgAEEEciIAaiIIIAgoAgAgBigC0AcgACAHaigCAEEKdWxBCHVqNgIAIANBAmohAyAKQQJqIgogDEcNAAsLIAsEQCABIANBAnQiA2oiACAAKAIAIAYoAtAHIAMgB2ooAgBBCnVsQQh1ajYCAAsgBiAEIAVqIgQ6AMwHIAEgBUECdGohASACIAVrIgJBAEoNAAtBASEDCyAJQSBqJAAgAwu4AQEBfSAALQAhIAJGBEAgAS0AALNDBAIBPJQgAC0AIkFAarJDIQiCPJSUQwAAAACSIQMLIAAtACMgAkYEQCABLQABs0MEAgE8lCAALQAkQUBqskMhCII8lJQgA5IhAwsgAC0AJSACRgRAIAEtAAKzQwQCATyUIAAtACZBQGqyQyEIgjyUlCADkiEDCyAALQAnIAJGBH0gAS0AA7NDBAIBPJQgAC0AKEFAarJDIQiCPJSUIAOSBSADCwu3AgIGfwF+IAAgATYCNCABQQNMBEAgAEGwISAAKAIgAn8gACABQQJ0aigCECIDQRROBEAgA0EcagwBCyADQQJ0QcCEB2ooAgALQQV0QUBxaiICIAJBsCFMG0EQdEGAgICFAWsiBDYCLCAAIAQgACgCKCIFSjoAMEE/IAAoAiQiBiAAIAFBAnRqKAIAIgdBKWxBBnVqIgIgAkE/ThshAgJAIAEgA3IiA0EAIAQgBUcbRQRAQeMAIAYgB2oiASABQeMAThshBCAAQeCICDUCACIIAn9B4wAgBGtBFGwgAUHNAE4NABogBEECdEGQhQdqKAIAIgEgAw0AGiABQRRtC6x+QhiIPgI8DAELIABBADYCPEHgiAg1AgAhCAsgACAIIAJBA3FBBHIgAkECdUEIanStfkIYiD4COAsL8QEBA38CQCAAKAI8IgJFDQAgACACQUBqNgI8IAJBwABKDQAgAEEANgI8IAAgACgCNEEBahCvAgsCQAJAIAAoAjQiAkEDTgRAIAJBA0cNAiAALQBADQIgACgCPEUNAQwCCyAAKAI8DQELAkAgAC0AMEEBRgRAIAAgACgCOEGAgICIAUGAgNA1IAAoAigiASABQYCA0DVMGyIBa0EYdWwgAWoiATYCKCABIAAoAiwiA0gNAiAAIAM2AigMAQsgACAAKAIoIAAoAjhrIgE2AiggASAAKAIsIgNKDQEgACADNgIoCyAAIAJBAWoQrwILIAAoAigLGAAgAC0AQARAIABBADoAQCAAQQMQrwILCx0AIABBFE4EQCAAQRxqDwsgAEECdEHAhAdqKAIAC2kAIABBGGwiAEHkhwdqLQAAQQN0QSBxIABB4IcHai0AAEECdEEQcSAAQdyHB2otAABBAXRBCHEgAEHYhwdqLQAAQQRxIABB1IcHai0AAEEBdkECcSAAQdCHB2otAABBAnZBAXFycnJycguSAQEDfEQAAAAAAADwPyAAIACiIgJEAAAAAAAA4D+iIgOhIgREAAAAAAAA8D8gBKEgA6EgAiACIAIgAkSQFcsZoAH6PqJEd1HBFmzBVr+gokRMVVVVVVWlP6CiIAIgAqIiAyADoiACIAJE1DiIvun6qL2iRMSxtL2e7iE+oKJErVKcgE9+kr6goqCiIAAgAaKhoKALvxECA3wPfyMAQbAEayIKJAAgAkEDa0EYbSIJQQAgCUEAShsiEkFobCACaiEMIARBAnRB4LMHaigCACINIANBAWsiDmpBAE4EQCADIA1qIQggEiAOayECQQAhCQNAIApBwAJqIAlBA3RqIAJBAEgEfEQAAAAAAAAAAAUgAkECdEHwswdqKAIAtws5AwAgAkEBaiECIAlBAWoiCSAIRw0ACwsgDEEYayEQQQAhCCANQQAgDUEAShshCyADQQBMIREDQAJAIBEEQEQAAAAAAAAAACEFDAELIAggDmohCUEAIQJEAAAAAAAAAAAhBQNAIAAgAkEDdGorAwAgCkHAAmogCSACa0EDdGorAwCiIAWgIQUgAkEBaiICIANHDQALCyAKIAhBA3RqIAU5AwAgCCALRiECIAhBAWohCCACRQ0AC0EvIAxrIRRBMCAMayETIAxBGWshFSANIQgCQANAIAogCEEDdGorAwAhBUEAIQIgCCEJIAhBAEoEQANAIApB4ANqIAJBAnRqAn8CfyAFRAAAAAAAAHA+oiIGmUQAAAAAAADgQWMEQCAGqgwBC0GAgICAeAu3IgZEAAAAAAAAcMGiIAWgIgWZRAAAAAAAAOBBYwRAIAWqDAELQYCAgIB4CzYCACAKIAlBAWsiCUEDdGorAwAgBqAhBSACQQFqIgIgCEcNAAsLAn8gBSAQENwCIgUgBUQAAAAAAADAP6KcRAAAAAAAACDAoqAiBZlEAAAAAAAA4EFjBEAgBaoMAQtBgICAgHgLIQ4gBSAOt6EhBQJAAkACQAJ/IBBBAEwiFkUEQCAIQQJ0IApqQdwDaiICIAIoAgAiAiACIBN1IgIgE3RrIgk2AgAgAiAOaiEOIAkgFHUMAQsgEA0BIAhBAnQgCmooAtwDQRd1CyIPQQBMDQIMAQtBAiEPIAVEAAAAAAAA4D9mDQBBACEPDAELQQAhAkEAIQtBASEJIAhBAEoEQANAIApB4ANqIAJBAnRqIhEoAgAhCQJ/AkAgESALBH9B////BwUgCUUNAUGAgIAICyAJazYCAEEBIQtBAAwBC0EAIQtBAQshCSACQQFqIgIgCEcNAAsLAkAgFg0AQf///wMhAgJAAkAgFQ4CAQACC0H///8BIQILIAhBAnQgCmpB3ANqIgsgCygCACACcTYCAAsgDkEBaiEOIA9BAkcNAEQAAAAAAADwPyAFoSEFQQIhDyAJDQAgBUQAAAAAAADwPyAQENwCoSEFCyAFRAAAAAAAAAAAYQRAQQAhCQJAIAgiAiANTA0AA0AgCkHgA2ogAkEBayICQQJ0aigCACAJciEJIAIgDUoNAAsgCUUNACAQIQwDQCAMQRhrIQwgCkHgA2ogCEEBayIIQQJ0aigCAEUNAAsMAwtBASECA0AgAiIJQQFqIQIgCkHgA2ogDSAJa0ECdGooAgBFDQALIAggCWohCwNAIApBwAJqIAMgCGoiCUEDdGogCEEBaiIIIBJqQQJ0QfCzB2ooAgC3OQMAQQAhAkQAAAAAAAAAACEFIANBAEoEQANAIAAgAkEDdGorAwAgCkHAAmogCSACa0EDdGorAwCiIAWgIQUgAkEBaiICIANHDQALCyAKIAhBA3RqIAU5AwAgCCALSA0ACyALIQgMAQsLAkAgBUEYIAxrENwCIgVEAAAAAAAAcEFmBEAgCkHgA2ogCEECdGoCfwJ/IAVEAAAAAAAAcD6iIgaZRAAAAAAAAOBBYwRAIAaqDAELQYCAgIB4CyICt0QAAAAAAABwwaIgBaAiBZlEAAAAAAAA4EFjBEAgBaoMAQtBgICAgHgLNgIAIAhBAWohCAwBCwJ/IAWZRAAAAAAAAOBBYwRAIAWqDAELQYCAgIB4CyECIBAhDAsgCkHgA2ogCEECdGogAjYCAAtEAAAAAAAA8D8gDBDcAiEFIAhBAE4EQCAIIQMDQCAKIAMiAkEDdGogBSAKQeADaiACQQJ0aigCALeiOQMAIAJBAWshAyAFRAAAAAAAAHA+oiEFIAINAAsgCCEJA0BEAAAAAAAAAAAhBUEAIQIgDSAIIAlrIgsgCyANShsiAEEATgRAA0AgAkEDdEHAyQdqKwMAIAogAiAJakEDdGorAwCiIAWgIQUgACACRyEDIAJBAWohAiADDQALCyAKQaABaiALQQN0aiAFOQMAIAlBAEohAiAJQQFrIQkgAg0ACwsCQAJAAkACQAJAIAQOBAECAgAECwJAIAhBAEwNACAKQaABaiAIQQN0aisDACEFIAghAgNAIApBoAFqIAJBA3RqIAUgCkGgAWogAkEBayIDQQN0aiIJKwMAIgYgBiAFoCIGoaA5AwAgCSAGOQMAIAJBAUshCSAGIQUgAyECIAkNAAsgCEEBRg0AIApBoAFqIAhBA3RqKwMAIQUgCCECA0AgCkGgAWogAkEDdGogBSAKQaABaiACQQFrIgNBA3RqIgkrAwAiBiAGIAWgIgahoDkDACAJIAY5AwAgAkECSyEJIAYhBSADIQIgCQ0ACwNAIAcgCkGgAWogCEEDdGorAwCgIQcgCEECSiECIAhBAWshCCACDQALCyAKKwOgASEFIA8NAiABIAU5AwAgCisDqAEhBSABIAc5AxAgASAFOQMIDAMLRAAAAAAAAAAAIQUgCEEATgRAA0AgCCICQQFrIQggBSAKQaABaiACQQN0aisDAKAhBSACDQALCyABIAWaIAUgDxs5AwAMAgtEAAAAAAAAAAAhBSAIQQBOBEAgCCEDA0AgAyICQQFrIQMgBSAKQaABaiACQQN0aisDAKAhBSACDQALCyABIAWaIAUgDxs5AwAgCisDoAEgBaEhBUEBIQIgCEEASgRAA0AgBSAKQaABaiACQQN0aisDAKAhBSACIAhHIQMgAkEBaiECIAMNAAsLIAEgBZogBSAPGzkDCAwBCyABIAWaOQMAIAorA6gBIQUgASAHmjkDECABIAWaOQMICyAKQbAEaiQAIA5BB3ELxgoDBHwGfwF+IwBBMGsiByQAAkACQAJAIAC9IgxCIIinIgZB/////wdxIghB+tS9gARNBEAgBkH//z9xQfvDJEYNASAIQfyyi4AETQRAIAxCAFkEQCABIABEAABAVPsh+b+gIgBEMWNiGmG00L2gIgI5AwAgASAAIAKhRDFjYhphtNC9oDkDCEEBIQYMBQsgASAARAAAQFT7Ifk/oCIARDFjYhphtNA9oCICOQMAIAEgACACoUQxY2IaYbTQPaA5AwhBfyEGDAQLIAxCAFkEQCABIABEAABAVPshCcCgIgBEMWNiGmG04L2gIgI5AwAgASAAIAKhRDFjYhphtOC9oDkDCEECIQYMBAsgASAARAAAQFT7IQlAoCIARDFjYhphtOA9oCICOQMAIAEgACACoUQxY2IaYbTgPaA5AwhBfiEGDAMLIAhBu4zxgARNBEAgCEG8+9eABE0EQCAIQfyyy4AERg0CIAxCAFkEQCABIABEAAAwf3zZEsCgIgBEypSTp5EO6b2gIgI5AwAgASAAIAKhRMqUk6eRDum9oDkDCEEDIQYMBQsgASAARAAAMH982RJAoCIARMqUk6eRDuk9oCICOQMAIAEgACACoUTKlJOnkQ7pPaA5AwhBfSEGDAQLIAhB+8PkgARGDQEgDEIAWQRAIAEgAEQAAEBU+yEZwKAiAEQxY2IaYbTwvaAiAjkDACABIAAgAqFEMWNiGmG08L2gOQMIQQQhBgwECyABIABEAABAVPshGUCgIgBEMWNiGmG08D2gIgI5AwAgASAAIAKhRDFjYhphtPA9oDkDCEF8IQYMAwsgCEH6w+SJBEsNAQsgACAARIPIyW0wX+Q/okQAAAAAAAA4Q6BEAAAAAAAAOMOgIgJEAABAVPsh+b+ioCIDIAJEMWNiGmG00D2iIgShIgVEGC1EVPsh6b9jIQkCfyACmUQAAAAAAADgQWMEQCACqgwBC0GAgICAeAshBgJAIAkEQCAGQQFrIQYgAkQAAAAAAADwv6AiAkQxY2IaYbTQPaIhBCAAIAJEAABAVPsh+b+ioCEDDAELIAVEGC1EVPsh6T9kRQ0AIAZBAWohBiACRAAAAAAAAPA/oCICRDFjYhphtNA9oiEEIAAgAkQAAEBU+yH5v6KgIQMLIAEgAyAEoSIAOQMAAkAgCEEUdiIJIAC9QjSIp0H/D3FrQRFIDQAgASADIAJEAABgGmG00D2iIgChIgUgAkRzcAMuihmjO6IgAyAFoSAAoaEiBKEiADkDACAJIAC9QjSIp0H/D3FrQTJIBEAgBSEDDAELIAEgBSACRAAAAC6KGaM7oiIAoSIDIAJEwUkgJZqDezmiIAUgA6EgAKGhIgShIgA5AwALIAEgAyAAoSAEoTkDCAwBCyAIQYCAwP8HTwRAIAEgACAAoSIAOQMAIAEgADkDCEEAIQYMAQsgB0EQakEIciEKIAxC/////////weDQoCAgICAgICwwQCEvyEAIAdBEGohBkEBIQkDQCAGAn8gAJlEAAAAAAAA4EFjBEAgAKoMAQtBgICAgHgLtyICOQMAIAAgAqFEAAAAAAAAcEGiIQAgCUEBcSELQQAhCSAKIQYgCw0ACyAHIAA5AyBBAiEGA0AgBiIJQQFrIQYgB0EQaiAJQQN0aisDAEQAAAAAAAAAAGENAAsgB0EQaiAHIAhBFHZBlghrIAlBAWpBARC1AiEGIAcrAwAhACAMQgBTBEAgASAAmjkDACABIAcrAwiaOQMIQQAgBmshBgwBCyABIAA5AwAgASAHKwMIOQMICyAHQTBqJAAgBguZAQEDfCAAIACiIgMgAyADoqIgA0R81c9aOtnlPaJE65wriublWr6goiADIANEff6xV+Mdxz6iRNVhwRmgASq/oKJEpvgQERERgT+goCEFIAAgA6IhBCACRQRAIAQgAyAFokRJVVVVVVXFv6CiIACgDwsgACADIAFEAAAAAAAA4D+iIAQgBaKhoiABoSAERElVVVVVVcU/oqChC08BAXwgACAAoiIAIAAgAKIiAaIgAERpUO7gQpP5PqJEJx4P6IfAVr+goiABREI6BeFTVaU/oiAARIFeDP3//9+/okQAAAAAAADwP6CgoLYLSwECfCAAIAAgAKIiAaIiAiABIAGioiABRKdGO4yHzcY+okR058ri+QAqv6CiIAIgAUSy+26JEBGBP6JEd6zLVFVVxb+goiAAoKC2C5UDAgN/A3wjAEEQayIDJAACQCAAvCIEQf////8HcSICQdqfpO4ETQRAIAEgALsiBiAGRIPIyW0wX+Q/okQAAAAAAAA4Q6BEAAAAAAAAOMOgIgVEAAAAUPsh+b+ioCAFRGNiGmG0EFG+oqAiBzkDACAHRAAAAGD7Iem/YyEEAn8gBZlEAAAAAAAA4EFjBEAgBaoMAQtBgICAgHgLIQIgBARAIAEgBiAFRAAAAAAAAPC/oCIFRAAAAFD7Ifm/oqAgBURjYhphtBBRvqKgOQMAIAJBAWshAgwCCyAHRAAAAGD7Iek/ZEUNASABIAYgBUQAAAAAAADwP6AiBUQAAABQ+yH5v6KgIAVEY2IaYbQQUb6ioDkDACACQQFqIQIMAQsgAkGAgID8B08EQCABIAAgAJO7OQMAQQAhAgwBCyADIAIgAkEXdkGWAWsiAkEXdGu+uzkDCCADQQhqIAMgAkEBQQAQtQIhAiADKwMAIQUgBEEASARAIAEgBZo5AwBBACACayECDAELIAEgBTkDAAsgA0EQaiQAIAIL9gICA38BfCMAQRBrIgMkAAJ9IAC8IgJB/////wdxIgFB2p+k+gNNBEBDAACAPyABQYCAgMwDSQ0BGiAAuxC4AgwBCyABQdGn7YMETQRAIAFB5JfbgARPBEBEGC1EVPshCUBEGC1EVPshCcAgAkEASBsgALugELgCjAwCCyAAuyEEIAJBAEgEQCAERBgtRFT7Ifk/oBC5AgwCC0QYLURU+yH5PyAEoRC5AgwBCyABQdXjiIcETQRAIAFB4Nu/hQRPBEBEGC1EVPshGUBEGC1EVPshGcAgAkEASBsgALugELgCDAILIAJBAEgEQETSITN/fNkSwCAAu6EQuQIMAgsgALtE0iEzf3zZEsCgELkCDAELIAAgAJMgAUGAgID8B08NABogACADQQhqELoCIQEgAysDCCEEAkACQAJAAkAgAUEDcUEBaw4DAQIDAAsgBBC4AgwDCyAEmhC5AgwCCyAEELgCjAwBCyAEELkCCyEAIANBEGokACAAC4IEAQN/IAJBgARPBEAgACABIAIQACAADwsgACACaiEDAkAgACABc0EDcUUEQAJAIABBA3FFBEAgACECDAELIAJFBEAgACECDAELIAAhAgNAIAIgAS0AADoAACABQQFqIQEgAkEBaiICQQNxRQ0BIAIgA0kNAAsLIANBfHEhBAJAIANBwABJDQAgAiAEQUBqIgVLDQADQCACIAEoAgA2AgAgAiABKAIENgIEIAIgASgCCDYCCCACIAEoAgw2AgwgAiABKAIQNgIQIAIgASgCFDYCFCACIAEoAhg2AhggAiABKAIcNgIcIAIgASgCIDYCICACIAEoAiQ2AiQgAiABKAIoNgIoIAIgASgCLDYCLCACIAEoAjA2AjAgAiABKAI0NgI0IAIgASgCODYCOCACIAEoAjw2AjwgAUFAayEBIAJBQGsiAiAFTQ0ACwsgAiAETw0BA0AgAiABKAIANgIAIAFBBGohASACQQRqIgIgBEkNAAsMAQsgA0EESQRAIAAhAgwBCyADQQRrIgQgAEkEQCAAIQIMAQsgACECA0AgAiABLQAAOgAAIAIgAS0AAToAASACIAEtAAI6AAIgAiABLQADOgADIAFBBGohASACQQRqIgIgBE0NAAsLIAIgA0kEQANAIAIgAS0AADoAACABQQFqIQEgAkEBaiICIANHDQALCyAAC+gCAQJ/AkAgACABRg0AIAEgACACaiIDa0EAIAJBAXRrTQRAIAAgASACELwCGg8LIAAgAXNBA3EhBAJAAkAgACABSQRAIAQEQCAAIQMMAwsgAEEDcUUEQCAAIQMMAgsgACEDA0AgAkUNBCADIAEtAAA6AAAgAUEBaiEBIAJBAWshAiADQQFqIgNBA3ENAAsMAQsCQCAEDQAgA0EDcQRAA0AgAkUNBSAAIAJBAWsiAmoiAyABIAJqLQAAOgAAIANBA3ENAAsLIAJBA00NAANAIAAgAkEEayICaiABIAJqKAIANgIAIAJBA0sNAAsLIAJFDQIDQCAAIAJBAWsiAmogASACai0AADoAACACDQALDAILIAJBA00NAANAIAMgASgCADYCACABQQRqIQEgA0EEaiEDIAJBBGsiAkEDSw0ACwsgAkUNAANAIAMgAS0AADoAACADQQFqIQMgAUEBaiEBIAJBAWsiAg0ACwsL8gICAn8BfgJAIAJFDQAgACABOgAAIAAgAmoiA0EBayABOgAAIAJBA0kNACAAIAE6AAIgACABOgABIANBA2sgAToAACADQQJrIAE6AAAgAkEHSQ0AIAAgAToAAyADQQRrIAE6AAAgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBBGsgATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQQhrIAE2AgAgAkEMayABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkEQayABNgIAIAJBFGsgATYCACACQRhrIAE2AgAgAkEcayABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa1CgYCAgBB+IQUgAyAEaiEBA0AgASAFNwMYIAEgBTcDECABIAU3AwggASAFNwMAIAFBIGohASACQSBrIgJBH0sNAAsLIAALEAAgASABmiABIAAbEMACogsVAQF/IwBBEGsiASAAOQMIIAErAwgLEAAgAEQAAAAAAAAAEBC/AgsQACAARAAAAAAAAABwEL8CC50EAwN8An8CfgJ8AkAgABDEAkH/D3EiBEQAAAAAAACQPBDEAiIFa0QAAAAAAACAQBDEAiAFa0kEQCAEIQUMAQsgBCAFSQRAIABEAAAAAAAA8D+gDwtBACEFRAAAAAAAAJBAEMQCIARLDQBEAAAAAAAAAAAgAL0iBkKAgICAgICAeFENARpEAAAAAAAA8H8QxAIgBE0EQCAARAAAAAAAAPA/oA8LIAZCAFMEQEEAEMECDwtBABDCAg8LIABByMwHKwMAokHQzAcrAwAiAaAiAiABoSIBQeDMBysDAKIgAUHYzAcrAwCiIACgoCIAIACiIgEgAaIgAEGAzQcrAwCiQfjMBysDAKCiIAEgAEHwzAcrAwCiQejMBysDAKCiIAK9IganQQR0QfAPcSIEQbjNB2orAwAgAKCgoCEAIARBwM0HaikDACAGQi2GfCEHIAVFBEACfCAGQoCAgIAIg1AEQCAHQoCAgICAgICIP32/IgEgAKIgAaBEAAAAAAAAAH+iDAELIAdCgICAgICAgPA/fL8iASAAoiICIAGgIgBEAAAAAAAA8D9jBHwQxQJEAAAAAAAAEACiEMYCRAAAAAAAAAAAIABEAAAAAAAA8D+gIgMgAiABIAChoCAARAAAAAAAAPA/IAOhoKCgRAAAAAAAAPC/oCIAIABEAAAAAAAAAABhGwUgAAtEAAAAAAAAEACiCw8LIAe/IgEgAKIgAaALCwkAIAC9QjSIpwscAQF/IwBBEGsiAEKAgICAgICACDcDCCAAKwMICwwAIwBBEGsgADkDCAuhBAMDfAJ/An4CfCAAEMQCQf8PcSIERAAAAAAAAJA8EMQCIgVrRAAAAAAAAIBAEMQCIAVrTwRAIAQgBUkEQCAARAAAAAAAAPA/oA8LIAC9IQYCQEQAAAAAAACQQBDEAiAESw0ARAAAAAAAAAAAIAZCgICAgICAgHhRDQIaRAAAAAAAAPB/EMQCIARNBEAgAEQAAAAAAADwP6APCyAGQgBZBEBBABDCAg8LIAZCgICAgICAs8hAVA0AQQAQwQIPCyAEQQAgBkIBhkKAgICAgICAjYF/WBshBAsgACAAQYjNBysDACIBoCICIAGhoSIAIACiIgEgAaIgAEGwzQcrAwCiQajNBysDAKCiIAEgAEGgzQcrAwCiQZjNBysDAKCiIABBkM0HKwMAoiACvSIGp0EEdEHwD3EiBUG4zQdqKwMAoKCgIQAgBUHAzQdqKQMAIAZCLYZ8IQcgBEUEQAJ8IAZCgICAgAiDUARAIAdCgICAgICAgAh9vyIBIACiIAGgIgAgAKAMAQsgB0KAgICAgICA8D98vyIBIACiIgIgAaAiAEQAAAAAAADwP2MEfBDFAkQAAAAAAAAQAKIQxgJEAAAAAAAAAAAgAEQAAAAAAADwP6AiAyACIAEgAKGgIABEAAAAAAAA8D8gA6GgoKBEAAAAAAAA8L+gIgAgAEQAAAAAAAAAAGEbBSAAC0QAAAAAAAAQAKILDwsgB78iASAAoiABoAsLEAAgASABjCABIAAbEMkClAsVAQF/IwBBEGsiASAAOAIMIAEqAgwLDAAgAEMAAABwEMgCCwwAIABDAAAAEBDIAgvLAQMCfAF/AX4CfQJAIAAQzQJB/w9xIgNDAAAAQxDNAkkNAEMAAAAAIABDAACA/1sNARpDAACAfxDNAiADTQRAIAAgAJIPCyAAQwAAAABeBEBBABDKAg8LIABDAAAWw19FDQBBABDLAg8LQYjMBysDACAAuyIBIAFBgMwHKwMAIgGgIgIgAaGhIgGiQZDMBysDAKAgASABoqJBmMwHKwMAIAGiRAAAAAAAAPA/oKAgAr0iBEIvhiAEp0EfcUEDdEGAygdqKQMAfL+itgsLCAAgALxBFHYL0wEDAnwBfwF+An0CQCAAEM0CQf8PcSIDQwAAsEIQzQJJDQBDAAAAACAAQwAAgP9bDQEaQwAAgH8QzQIgA00EQCAAIACSDwsgAEMXcrFCXgRAQQAQygIPCyAAQ7Txz8JdRQ0AQQAQywIPC0GwzAcrAwBBqMwHKwMAIAC7oiIBIAFBoMwHKwMAIgGgIgIgAaGhIgGiQbjMBysDAKAgASABoqJBwMwHKwMAIAGiRAAAAAAAAPA/oKAgAr0iBEIvhiAEp0EfcUEDdEGAygdqKQMAfL+itgsLMgAgALxB/////wdxQYCAgPwHTQR9IAAgACABlyABvEH/////B3FBgICA/AdLGwUgAQsLJAAgALxB/////wdxQYCAgPwHTQR9IABDAACAP5YFQwAAgD8LCxAAQwAAgL8QyQJDAAAAAJULDAAgACAAkyIAIACVC/ABAgJ/AnwgALwiAUGAgID8A0YEQEMAAAAADwsCQCABQYCAgPwHa0H///+HeE0EQCABQQF0IgJFBEAQ0QIPCyABQYCAgPwHRg0BIAJBgICAeEkgAUEATnFFBEAgABDSAg8LIABDAAAAS5S8QYCAgNwAayEBC0G43wcrAwAgASABQYCAzPkDayICQYCAgHxxa767IAJBD3ZB8AFxIgFBuN0HaisDAKJEAAAAAAAA8L+gIgMgA6IiBKJBwN8HKwMAIAOiQcjfBysDAKCgIASiQdDfBysDACADoiABQcDdB2orAwAgAkEXdbegoKC2IQALIAAL8AECAn8CfCAAvCIBQYCAgPwDRgRAQwAAAAAPCwJAIAFBgICA/AdrQf///4d4TQRAIAFBAXQiAkUEQBDRAg8LIAFBgICA/AdGDQEgAkGAgIB4SSABQQBOcUUEQCAAENICDwsgAEMAAABLlLxBgICA3ABrIQELQeDhBysDACABIAFBgIDM+QNrIgJBgICAfHFrvrsgAkEPdkHwAXEiAUHY3wdqKwMAokQAAAAAAADwv6AiAyADoiIEokHo4QcrAwAgA6JB8OEHKwMAoKAgBKIgAkEXdbdB2OEHKwMAoiABQeDfB2orAwCgIAOgoLYhAAsgAAuJAQEDf0GgiQwhAgJAAkAgAUEETwRAIABBoIkMckEDcQ0BA0AgAigCACAAKAIARw0CIABBBGohACACQQRqIQIgAUEEayIBQQNLDQALCyABRQ0BCwNAIAItAAAiAyAALQAAIgRGBEAgAEEBaiEAIAJBAWohAiABQQFrIgENAQwCCwsgAyAEaw8LQQAL7goDBXwDfgZ/IwBBEGsiDSQAIAAQxAIhCiABvSEIIAC9IQcCQAJAIAEQxAIiC0H/D3EiDkG+CGsiD0H/fksgCkH/D2tBgnBPcQ0AIAgQ1wIEQEQAAAAAAADwPyEDIAdCgICAgICAgPg/UQ0CIAhCAYYiCVANAiAJQoGAgICAgIBwVCAHQgGGIgdCgICAgICAgHBYcUUEQCAAIAGgIQMMAwsgB0KAgICAgICA8P8AUQ0CRAAAAAAAAAAAIAEgAaIgCEIAUyAHQoCAgICAgIDw/wBUcxshAwwCCyAHENcCBEAgACAAoiEDIAdCAFMEQCADmiADIAgQ2AJBAUYbIQMLIAhCAFkNAkQAAAAAAADwPyADoxDAAiEDDAILIAdCAFMEQCAIENgCIgxFBEAgACAAoSIAIACjIQMMAwsgCkH/D3EhCiAMQQFGQRJ0IQwgAL1C////////////AIMhBwsgD0H/fk0EQEQAAAAAAADwPyEDIAdCgICAgICAgPg/UQ0CIA5BvQdNBEAgASABmiAHQoCAgICAgID4P1YbRAAAAAAAAPA/oCEDDAMLIAtB/w9LIAdCgICAgICAgPg/VkcEQEEAEMICIQMMAwtBABDBAiEDDAILIAoNACAARAAAAAAAADBDor1C////////////AINCgICAgICAgKADfSEHCwJ8IAhCgICAQIO/IgMgDSAHQoCAgIDQqqXzP30iCEI0h6e3IgBBgOIHKwMAoiAIQi2Ip0H/AHFBBXQiCkHY4gdqKwMAoCAHIAhCgICAgICAgHiDfSIHQoCAgIAIfEKAgICAcIO/IgQgCkHA4gdqKwMAIgKiRAAAAAAAAPC/oCIFIAe/IAShIAKiIgKgIgQgAEH44QcrAwCiIApB0OIHaisDAKAiACAEIACgIgChoKAgAiAEQYjiBysDACICoiIGIAUgAqIiAqCioCAFIAKiIgUgACAAIAWgIgWhoKAgBCAEIAaiIgCiIAAgACAEQbjiBysDAKJBsOIHKwMAoKIgBEGo4gcrAwCiQaDiBysDAKCgoiAEQZjiBysDAKJBkOIHKwMAoKCioCIEIAUgBSAEoCIEoaA5AwggBL1CgICAQIO/IgCiIQIgASADoSAAoiABIA0rAwggBCAAoaCioCEAAkAgAhDEAkH/D3EiC0QAAAAAAACQPBDEAiIKa0QAAAAAAACAQBDEAiAKa0kNACAKIAtLBEAgAkQAAAAAAADwP6AiApogAiAMGwwCC0QAAAAAAACQQBDEAiALSyEKQQAhCyAKDQAgAr1CAFMEQCAMEMECDAILIAwQwgIMAQsgACACQcjMBysDAKJB0MwHKwMAIgCgIgEgAKEiAEHgzAcrAwCiIABB2MwHKwMAoiACoKCgIgIgAqIiACAAoiACQYDNBysDAKJB+MwHKwMAoKIgACACQfDMBysDAKJB6MwHKwMAoKIgAb0iB6dBBHRB8A9xIgpBuM0HaisDACACoKCgIQIgCkHAzQdqKQMAIAcgDK18Qi2GfCEIIAtFBEACfCAHQoCAgIAIg1AEQCAIQoCAgICAgICIP32/IgAgAqIgAKBEAAAAAAAAAH+iDAELIAhCgICAgICAgPA/fCIHvyIAIAKiIgMgAKAiAplEAAAAAAAA8D9jBHxEAAAAAAAAEAAQwAJEAAAAAAAAEACiEMYCIAdCgICAgICAgICAf4O/IAJEAAAAAAAA8L9EAAAAAAAA8D8gAkQAAAAAAAAAAGMbIgGgIgQgAyAAIAKhoCACIAEgBKGgoKAgAaEiAiACRAAAAAAAAAAAYRsFIAILRAAAAAAAABAAogsMAQsgCL8iACACoiAAoAshAwsgDUEQaiQAIAMLGwAgAEIBhkKAgICAgICAEHxCgYCAgICAgBBUC04CAX8BfgJ/QQAgAEI0iKdB/w9xIgFB/wdJDQAaQQIgAUGzCEsNABpBAEIBQbMIIAFrrYYiAkIBfSAAg0IAUg0AGkECQQEgACACg1AbCwvnBAQEfwJ8AX0BfiABvCIDENoCIQQCQAJAAkACQCAAvCICQYCAgPwHa0GAgICIeE8EQCAEDQEMAwsgBEUNAQtDAACAPyEIIAJBgICA/ANGDQIgA0EBdCIERQ0CIARBgYCAeEkgAkEBdCICQYCAgHhNcUUEQCAAIAGSDwsgAkGAgID4B0YNAkMAAAAAIAEgAZQgA0EASCACQYCAgPgHSXMbDwsgAhDaAgRAIAAgAJQhCCACQQBIBEAgCIwgCCADENsCQQFGGyEICyADQQBODQJDAACAPyAIlRDJAg8LIAJBAEgEQCADENsCIgRFBEAgABDSAg8LIARBAUZBEHQhBSAAvEH/////B3EhAgsgAkH///8DSw0AIABDAAAAS5S8Qf////8HcUGAgIDcAGshAgsCQEHAhAgrAwAgAiACQYCAzPkDayIDQYCAgHxxa767IANBD3ZB8AFxIgJBwIIIaisDAKJEAAAAAAAA8L+gIgeiQciECCsDAKAgByAHoiIGIAaiokHQhAgrAwAgB6JB2IQIKwMAoCAGokHghAgrAwAgB6IgAkHIgghqKwMAIANBF3W3oKCgoCABu6IiBr1CgICAgICA4P//AINCgYCAgICAwK/AAFQNACAGRHHV0f///19AZARAIAUQygIPCyAGRAAAAAAAwGLAZUUNACAFEMsCDwtBiMwHKwMAIAYgBkGAzAcrAwAiBqAiByAGoaEiBqJBkMwHKwMAoCAGIAaiokGYzAcrAwAgBqJEAAAAAAAA8D+goCAHvSIJIAWtfEIvhiAJp0EfcUEDdEGAygdqKQMAfL+itiEICyAICxMAIABBAXRBgICACGpBgYCACEkLRgEBfwJ/QQAgAEEXdkH/AXEiAUH/AEkNABpBAiABQZYBSw0AGkEAQQFBlgEgAWt0IgFBAWsgAHENABpBAUECIAAgAXEbCwuoAQACQCABQYAITgRAIABEAAAAAAAA4H+iIQAgAUH/D0kEQCABQf8HayEBDAILIABEAAAAAAAA4H+iIQBB/RcgASABQf0XTxtB/g9rIQEMAQsgAUGBeEoNACAARAAAAAAAAGADoiEAIAFBuHBLBEAgAUHJB2ohAQwBCyAARAAAAAAAAGADoiEAQfBoIAEgAUHwaE0bQZIPaiEBCyAAIAFB/wdqrUI0hr+iC8oBAgJ/AXwjAEEQayIBJAACQCAAvUIgiKdB/////wdxIgJB+8Ok/wNNBEAgAkGAgMDyA0kNASAARAAAAAAAAAAAQQAQtwIhAAwBCyACQYCAwP8HTwRAIAAgAKEhAAwBCyAAIAEQtgIhAiABKwMIIQAgASsDACEDAkACQAJAAkAgAkEDcUEBaw4DAQIDAAsgAyAAQQEQtwIhAAwDCyADIAAQtAIhAAwCCyADIABBARC3ApohAAwBCyADIAAQtAKaIQALIAFBEGokACAAC4wDAgF8A38jAEEQayIEJAACQCAAvCIDQf////8HcSICQdqfpPoDTQRAIAJBgICAzANJDQEgALsQuQIhAAwBCyACQdGn7YMETQRAIAC7IQEgAkHjl9uABE0EQCADQQBIBEAgAUQYLURU+yH5P6AQuAKMIQAMAwsgAUQYLURU+yH5v6AQuAIhAAwCC0QYLURU+yEJwEQYLURU+yEJQCADQQBOGyABoJoQuQIhAAwBCyACQdXjiIcETQRAIAJB39u/hQRNBEAgALshASADQQBIBEAgAUTSITN/fNkSQKAQuAIhAAwDCyABRNIhM3982RLAoBC4AowhAAwCC0QYLURU+yEZQEQYLURU+yEZwCADQQBIGyAAu6AQuQIhAAwBCyACQYCAgPwHTwRAIAAgAJMhAAwBCyAAIARBCGoQugIhAiAEKwMIIQECQAJAAkACQCACQQNxQQFrDgMBAgMACyABELkCIQAMAwsgARC4AiEADAILIAGaELkCIQAMAQsgARC4AowhAAsgBEEQaiQAIAALugUCBn0Df0MAAAA/IACYIQUCQCAAiyIBvCIJQZbkxZUETQRAAn0CQAJAAkACfQJAIAG8IghB/////wdxIgdBxPDWjARPBEAgB0GAgID8B0sNBUMAAIC/IAhBAEgNBhogB0GY5MWVBEkNASABQwAAAH+UDAYLIAdBmeTF9QNJDQIgB0GRq5T8A0sNACAIQQBOBEBBASEHQ9H3FzchAyABQ4BxMb+SDAILQX8hB0PR9xe3IQMgAUOAcTE/kgwBCwJ/IAFDO6q4P5RDAAAAPyABmJIiAotDAAAAT10EQCACqAwBC0GAgICAeAsiB7IiAkPR9xc3lCEDIAEgAkOAcTG/lJILIgIgAiADkyIBkyADkyEDDAELIAdBgICAmANJDQFBACEHCyABIAEgASABQwAAAD+UIgSUIgIgAiACQxAwzzqUQ2iICL2SlEMAAIA/kiIGQwAAQEAgBiAElJMiBJNDAADAQCABIASUk5WUIgSUIAKTkyAHRQ0BGiABIAQgA5OUIAOTIAKTIQICQAJAAkAgB0EBag4DAAIBAgsgASACk0MAAAA/lEMAAAC/kgwDCyACIAFDAAAAP5KTQwAAAMCUIAFDAACAvl0NAhogASACkyIBIAGSQwAAgD+SDAILIAdBF3QiCEGAgID8A2q+IQMgB0E5TwRAIAEgApNDAACAP5IiASABkkMAAAB/lCABIAOUIAdBgAFGG0MAAIC/kgwCC0MAAIA/QYCAgPwDIAhrviIEkyABIAKTkiABIAIgBJKTQwAAgD+SIAdBFk0bIAOUIQELIAELIQEgCUH////7A00EQCAJQYCAgMwDSQ0CIAUgASABkiABIAGUIAFDAACAP5KVk5QPCyAFIAEgASABQwAAgD+SlZKUDwsgBSAFkkMAAAB6lCABQ7zjIsOSEM4ClEMAAAB6lCEACyAAC7sDAQR/IwBBEGsiByQAIAcgAzYCDCMAQaABayIEJAAgBCAAIARBngFqIAEbIgA2ApQBIAQgAUEBayIGQQAgASAGTxs2ApgBIARBAEGQARC+AiIEQX82AkwgBEExNgIkIARBfzYCUCAEIARBnwFqNgIsIAQgBEGUAWo2AlQgAEEAOgAAQQAhBiMAQdABayIFJAAgBSADNgLMASAFQaABakEAQSgQvgIaIAUgBSgCzAE2AsgBAkBBACACIAVByAFqIAVB0ABqIAVBoAFqEOUCQQBIDQAgBCgCTEEASCEBIAQgBCgCACIAQV9xNgIAAn8CQAJAIAQoAjBFBEAgBEHQADYCMCAEQQA2AhwgBEIANwMQIAQoAiwhBiAEIAU2AiwMAQsgBCgCEA0BC0F/IAQQ4wINARoLIAQgAiAFQcgBaiAFQdAAaiAFQaABahDlAgshAyAAQSBxIQIgBgR/IARBAEEAIAQoAiQRAwAaIARBADYCMCAEIAY2AiwgBEEANgIcIAQoAhQaIARCADcDEEEABSADCxogBCAEKAIAIAJyNgIAIAENAAsgBUHQAWokACAEQaABaiQAIAdBEGokAAt9AQN/AkACQCAAIgFBA3FFDQAgAS0AAEUEQEEADwsDQCABQQFqIgFBA3FFDQEgAS0AAA0ACwwBCwNAIAEiAkEEaiEBQYCChAggAigCACIDayADckGAgYKEeHFBgIGChHhGDQALA0AgAiIBQQFqIQIgAS0AAA0ACwsgASAAawufAwMCfAF+An8gAL0iBUKAgICAgP////8Ag0KBgICA8ITl8j9UIgZFBEBEGC1EVPsh6T8gAJmhRAdcFDMmpoE8IAEgAZogBUIAWSIHG6GgIQBEAAAAAAAAAAAhAQsgACAAIAAgAKIiBKIiA0RjVVVVVVXVP6IgBCADIAQgBKIiAyADIAMgAyADRHNTYNvLdfO+okSmkjegiH4UP6CiRAFl8vLYREM/oKJEKANWySJtbT+gokQ31gaE9GSWP6CiRHr+EBEREcE/oCAEIAMgAyADIAMgA0TUer90cCr7PqJE6afwMg+4Ej+gokRoEI0a9yYwP6CiRBWD4P7I21c/oKJEk4Ru6eMmgj+gokT+QbMbuqGrP6CioKIgAaCiIAGgoCIEoCEDIAZFBEBBASACQQF0a7ciASAAIAQgAyADoiADIAGgo6GgIgMgA6ChIgMgA5ogBxsPCyACBHxEAAAAAAAA8L8gA6MiASABvUKAgICAcIO/IgEgBCADvUKAgICAcIO/IgMgAKGhoiABIAOiRAAAAAAAAPA/oKCiIAGgBSADCwtZAQF/IAAgACgCSCIBQQFrIAFyNgJIIAAoAgAiAUEIcQRAIAAgAUEgcjYCAEF/DwsgAEIANwIEIAAgACgCLCIBNgIcIAAgATYCFCAAIAEgACgCMGo2AhBBAAt/AgF/AX4gAL0iA0I0iKdB/w9xIgJB/w9HBHwgAkUEQCABIABEAAAAAAAAAABhBH9BAAUgAEQAAAAAAADwQ6IgARDkAiEAIAEoAgBBQGoLNgIAIAAPCyABIAJB/gdrNgIAIANC/////////4eAf4NCgICAgICAgPA/hL8FIAALC8wUAhJ/An4jAEFAaiIGJAAgBiABNgI8IAZBJ2ohFiAGQShqIRECQAJAAkACQANAQQAhBQNAIAEhDCAFIA1B/////wdzSg0CIAUgDWohDQJAAkACQAJAIAEiBS0AACIKBEADQAJAAkAgCkH/AXEiCkUEQCAFIQEMAQsgCkElRw0BIAUhCgNAIAotAAFBJUcEQCAKIQEMAgsgBUEBaiEFIAotAAIhByAKQQJqIgEhCiAHQSVGDQALCyAFIAxrIgUgDUH/////B3MiCkoNCSAABEAgACAMIAUQ5gILIAUNByAGIAE2AjwgAUEBaiEFQX8hDwJAIAEsAAFBMGsiB0EJSw0AIAEtAAJBJEcNACABQQNqIQVBASESIAchDwsgBiAFNgI8QQAhCAJAIAUsAAAiC0EgayIBQR9LBEAgBSEHDAELIAUhB0EBIAF0IgFBidEEcUUNAANAIAYgBUEBaiIHNgI8IAEgCHIhCCAFLAABIgtBIGsiAUEgTw0BIAchBUEBIAF0IgFBidEEcQ0ACwsCQCALQSpGBEACfwJAIAcsAAFBMGsiBUEJSw0AIActAAJBJEcNAAJ/IABFBEAgBCAFQQJ0akEKNgIAQQAMAQsgAyAFQQN0aigCAAshDiAHQQNqIQFBAQwBCyASDQYgB0EBaiEBIABFBEAgBiABNgI8QQAhEkEAIQ4MAwsgAiACKAIAIgVBBGo2AgAgBSgCACEOQQALIRIgBiABNgI8IA5BAE4NAUEAIA5rIQ4gCEGAwAByIQgMAQsgBkE8ahDnAiIOQQBIDQogBigCPCEBC0EAIQVBfyEJAn9BACABLQAAQS5HDQAaIAEtAAFBKkYEQAJ/AkAgASwAAkEwayIHQQlLDQAgAS0AA0EkRw0AIAFBBGohAQJ/IABFBEAgBCAHQQJ0akEKNgIAQQAMAQsgAyAHQQN0aigCAAsMAQsgEg0GIAFBAmohAUEAIABFDQAaIAIgAigCACIHQQRqNgIAIAcoAgALIQkgBiABNgI8IAlBAE4MAQsgBiABQQFqNgI8IAZBPGoQ5wIhCSAGKAI8IQFBAQshEwNAIAUhB0EcIRAgASILLAAAIgVB+wBrQUZJDQsgAUEBaiEBIAUgB0E6bGpBr4QIai0AACIFQQFrQf8BcUEISQ0ACyAGIAE2AjwCQCAFQRtHBEAgBUUNDCAPQQBOBEAgAEUEQCAEIA9BAnRqIAU2AgAMDAsgBiADIA9BA3RqKQMANwMwDAILIABFDQggBkEwaiAFIAIQ6AIMAQsgD0EATg0LQQAhBSAARQ0ICyAALQAAQSBxDQsgCEH//3txIhQgCCAIQYDAAHEbIQhBACEPQY4IIRUgESEQAkACQAJ/AkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQCALLQAAIgvAIgVBU3EgBSALQQ9xQQNGGyAFIAcbIgVB2ABrDiEEFhYWFhYWFhYQFgkGEBAQFgYWFhYWAgUDFhYKFgEWFgQACwJAIAVBwQBrDgcQFgsWEBAQAAsgBUHTAEYNCwwVCyAGKQMwIRdBjggMBQtBACEFAkACQAJAAkACQAJAAkAgBw4IAAECAwQcBQYcCyAGKAIwIA02AgAMGwsgBigCMCANNgIADBoLIAYoAjAgDaw3AwAMGQsgBigCMCANOwEADBgLIAYoAjAgDToAAAwXCyAGKAIwIA02AgAMFgsgBigCMCANrDcDAAwVC0EIIAkgCUEITRshCSAIQQhyIQhB+AAhBQsgESEBIAVBIHEhDCAGKQMwIhciGEIAUgRAA0AgAUEBayIBIBinQQ9xQcCICGotAAAgDHI6AAAgGEIPViEHIBhCBIghGCAHDQALCyABIQwgF1ANAyAIQQhxRQ0DIAVBBHZBjghqIRVBAiEPDAMLIBEhASAGKQMwIhciGEIAUgRAA0AgAUEBayIBIBinQQdxQTByOgAAIBhCB1YhBSAYQgOIIRggBQ0ACwsgASEMIAhBCHFFDQIgCSARIAFrIgVBAWogBSAJSBshCQwCCyAGKQMwIhdCAFMEQCAGQgAgF30iFzcDMEEBIQ9BjggMAQsgCEGAEHEEQEEBIQ9BjwgMAQtBkAhBjgggCEEBcSIPGwshFSAXIBEQ6QIhDAsgEyAJQQBIcQ0RIAhB//97cSAIIBMbIQgCQCAXQgBSDQAgCQ0AIBEhDEEAIQkMDgsgCSAXUCARIAxraiIFIAUgCUgbIQkMDQsgBi0AMCEFDAsLAn9B/////wcgCSAJQf////8HTxsiByILQQBHIQgCQAJAAkAgBigCMCIFQf7UACAFGyIMIgEiBUEDcUUNACALRQ0AA0AgBS0AAEUNAiALQQFrIgtBAEchCCAFQQFqIgVBA3FFDQEgCw0ACwsgCEUNAQJAIAUtAABFDQAgC0EESQ0AA0BBgIKECCAFKAIAIghrIAhyQYCBgoR4cUGAgYKEeEcNAiAFQQRqIQUgC0EEayILQQNLDQALCyALRQ0BCwNAIAUgBS0AAEUNAhogBUEBaiEFIAtBAWsiCw0ACwtBAAsiBSABayAHIAUbIgUgDGohECAJQQBOBEAgFCEIIAUhCQwMCyAUIQggBSEJIBAtAAANDwwLCyAGKQMwIhdCAFINAUEAIQUMCQsgCQRAIAYoAjAMAgtBACEFIABBICAOQQAgCBDqAgwCCyAGQQA2AgwgBiAXPgIIIAYgBkEIajYCMEF/IQkgBkEIagshCkEAIQUDQAJAIAooAgAiB0UNACAGQQRqIAcQ7gIiB0EASA0PIAcgCSAFa0sNACAKQQRqIQogBSAHaiIFIAlJDQELC0E9IRAgBUEASA0MIABBICAOIAUgCBDqAiAFRQRAQQAhBQwBC0EAIQcgBigCMCEKA0AgCigCACIMRQ0BIAZBBGogDBDuAiIMIAdqIgcgBUsNASAAIAZBBGogDBDmAiAKQQRqIQogBSAHSw0ACwsgAEEgIA4gBSAIQYDAAHMQ6gIgDiAFIAUgDkgbIQUMCAsgEyAJQQBIcQ0JQT0hECAAIAYrAzAgDiAJIAggBRDrAiIFQQBODQcMCgsgBS0AASEKIAVBAWohBQwACwALIAANCSASRQ0DQQEhBQNAIAQgBUECdGooAgAiCgRAIAMgBUEDdGogCiACEOgCQQEhDSAFQQFqIgVBCkcNAQwLCwsgBUEKTwRAQQEhDQwKCwNAIAQgBUECdGooAgANAUEBIQ0gBUEBaiIFQQpHDQALDAkLQRwhEAwGCyAGIAU6ACdBASEJIBYhDCAUIQgLIAkgECAMayIBIAEgCUgbIgsgD0H/////B3NKDQNBPSEQIA4gCyAPaiIHIAcgDkgbIgUgCkoNBCAAQSAgBSAHIAgQ6gIgACAVIA8Q5gIgAEEwIAUgByAIQYCABHMQ6gIgAEEwIAsgAUEAEOoCIAAgDCABEOYCIABBICAFIAcgCEGAwABzEOoCIAYoAjwhAQwBCwsLQQAhDQwDC0E9IRALQZS16gAgEDYCAAtBfyENCyAGQUBrJAAgDQvDAQEDfyAALQAAQSBxRQRAAkAgACgCECIDBH8gAwUgABDjAg0BIAAoAhALIAAoAhQiBGsgAkkEQCAAIAEgAiAAKAIkEQMAGgwBCwJAAkAgACgCUEEASA0AIAJFDQAgAiEDA0AgASADaiIFQQFrLQAAQQpHBEAgA0EBayIDDQEMAgsLIAAgASADIAAoAiQRAwAgA0kNAiACIANrIQIgACgCFCEEDAELIAEhBQsgBCAFIAIQvAIaIAAgACgCFCACajYCFAsLC3MBBX8gACgCACIDLAAAQTBrIgJBCUsEQEEADwsDQEF/IQQgAUHMmbPmAE0EQEF/IAIgAUEKbCIBaiACIAFB/////wdzSxshBAsgACADQQFqIgI2AgAgAywAASEFIAQhASACIQMgBUEwayICQQpJDQALIAELtAQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAUEJaw4SAAECBQMEBgcICQoLDA0ODxAREgsgAiACKAIAIgFBBGo2AgAgACABKAIANgIADwsgAiACKAIAIgFBBGo2AgAgACABNAIANwMADwsgAiACKAIAIgFBBGo2AgAgACABNQIANwMADwsgAiACKAIAIgFBBGo2AgAgACABNAIANwMADwsgAiACKAIAIgFBBGo2AgAgACABNQIANwMADwsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKQMANwMADwsgAiACKAIAIgFBBGo2AgAgACABMgEANwMADwsgAiACKAIAIgFBBGo2AgAgACABMwEANwMADwsgAiACKAIAIgFBBGo2AgAgACABMAAANwMADwsgAiACKAIAIgFBBGo2AgAgACABMQAANwMADwsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKQMANwMADwsgAiACKAIAIgFBBGo2AgAgACABNQIANwMADwsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKQMANwMADwsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKQMANwMADwsgAiACKAIAIgFBBGo2AgAgACABNAIANwMADwsgAiACKAIAIgFBBGo2AgAgACABNQIANwMADwsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKwMAOQMADwsgACACEOwCCwuIAQIDfwF+AkAgAEKAgICAEFQEQCAAIQUMAQsDQCABQQFrIgEgACAAQgqAIgVCCn59p0EwcjoAACAAQv////+fAVYhAiAFIQAgAg0ACwsgBUIAUgRAIAWnIQIDQCABQQFrIgEgAiACQQpuIgNBCmxrQTByOgAAIAJBCUshBCADIQIgBA0ACwsgAQtuAQF/IwBBgAJrIgUkAAJAIAIgA0wNACAEQYDABHENACAFIAEgAiADayIDQYACIANBgAJJIgIbEL4CGiACRQRAA0AgACAFQYACEOYCIANBgAJrIgNB/wFLDQALCyAAIAUgAxDmAgsgBUGAAmokAAupGAMSfwF8A34jAEGwBGsiDCQAIAxBADYCLAJAIAG9IhlCAFMEQEEBIRFBmAghEyABmiIBvSEZDAELIARBgBBxBEBBASERQZsIIRMMAQtBnghBmQggBEEBcSIRGyETIBFFIRcLAkAgGUKAgICAgICA+P8Ag0KAgICAgICA+P8AUQRAIABBICACIBFBA2oiBiAEQf//e3EQ6gIgACATIBEQ5gIgAEHYCkGqKyAFQSBxIgcbQekKQZs2IAcbIAEgAWIbQQMQ5gIgAEEgIAIgBiAEQYDAAHMQ6gIgAiAGIAIgBkobIQoMAQsgDEEQaiESAkACfwJAIAEgDEEsahDkAiIBIAGgIgFEAAAAAAAAAABiBEAgDCAMKAIsIgZBAWs2AiwgBUEgciIVQeEARw0BDAMLIAVBIHIiFUHhAEYNAiAMKAIsIRRBBiADIANBAEgbDAELIAwgBkEdayIUNgIsIAFEAAAAAAAAsEGiIQFBBiADIANBAEgbCyELIAxBMGpBoAJBACAUQQBOG2oiECEHA0AgBwJ/IAFEAAAAAAAA8EFjIAFEAAAAAAAAAABmcQRAIAGrDAELQQALIgY2AgAgB0EEaiEHIAEgBrihRAAAAABlzc1BoiIBRAAAAAAAAAAAYg0ACwJAIBRBAEwEQCAUIQggByEGIBAhCQwBCyAQIQkgFCEIA0BBHSAIIAhBHU8bIQgCQCAHQQRrIgYgCUkNACAIrSEbQgAhGQNAIAYgGUL/////D4MgBjUCACAbhnwiGiAaQoCU69wDgCIZQoCU69wDfn0+AgAgBkEEayIGIAlPDQALIBpCgJTr3ANUDQAgCUEEayIJIBk+AgALA0AgCSAHIgZJBEAgBkEEayIHKAIARQ0BCwsgDCAMKAIsIAhrIgg2AiwgBiEHIAhBAEoNAAsLIAhBAEgEQCALQRlqQQluQQFqIQ4gFUHmAEYhFgNAQQlBACAIayIHIAdBCU8bIQoCQCAGIAlNBEAgCSgCAEVBAnQhBwwBC0GAlOvcAyAKdiENQX8gCnRBf3MhD0EAIQggCSEHA0AgByAHKAIAIgMgCnYgCGo2AgAgAyAPcSANbCEIIAdBBGoiByAGSQ0ACyAJKAIARUECdCEHIAhFDQAgBiAINgIAIAZBBGohBgsgDCAMKAIsIApqIgg2AiwgECAHIAlqIgkgFhsiByAOQQJ0aiAGIAYgB2tBAnUgDkobIQYgCEEASA0ACwtBACEIAkAgBiAJTQ0AIBAgCWtBAnVBCWwhCEEKIQcgCSgCACIDQQpJDQADQCAIQQFqIQggAyAHQQpsIgdPDQALCyALIAhBACAVQeYARxtrIBVB5wBGIAtBAEdxayIHIAYgEGtBAnVBCWxBCWtIBEAgDEEwakGEYEGkYiAUQQBIG2ogB0GAyABqIgNBCW0iDUECdGohCkEKIQcgAyANQQlsayIDQQdMBEADQCAHQQpsIQcgA0EBaiIDQQhHDQALCwJAIAooAgAiAyADIAduIg4gB2xrIg1FIApBBGoiDyAGRnENAAJAIA5BAXFFBEBEAAAAAAAAQEMhASAHQYCU69wDRw0BIAkgCk8NASAKQQRrLQAAQQFxRQ0BC0QBAAAAAABAQyEBC0QAAAAAAADgP0QAAAAAAADwP0QAAAAAAAD4PyAGIA9GG0QAAAAAAAD4PyANIAdBAXYiD0YbIA0gD0kbIRgCQCAXDQAgEy0AAEEtRw0AIBiaIRggAZohAQsgCiADIA1rIgM2AgAgASAYoCABYQ0AIAogAyAHaiIHNgIAIAdBgJTr3ANPBEADQCAKQQA2AgAgCSAKQQRrIgpLBEAgCUEEayIJQQA2AgALIAogCigCAEEBaiIHNgIAIAdB/5Pr3ANLDQALCyAQIAlrQQJ1QQlsIQhBCiEHIAkoAgAiA0EKSQ0AA0AgCEEBaiEIIAMgB0EKbCIHTw0ACwsgCkEEaiIHIAYgBiAHSxshBgsDQCAGIgcgCU0iA0UEQCAGQQRrIgYoAgBFDQELCwJAIBVB5wBHBEAgBEEIcSENDAELIAhBf3NBfyALQQEgCxsiBiAISiAIQXtKcSIKGyAGaiELQX9BfiAKGyAFaiEFIARBCHEiDQ0AQXchBgJAIAMNACAHQQRrKAIAIgpFDQBBCiEDQQAhBiAKQQpwDQADQCAGIg1BAWohBiAKIANBCmwiA3BFDQALIA1Bf3MhBgsgByAQa0ECdUEJbCEDIAVBX3FBxgBGBEBBACENIAsgAyAGakEJayIGQQAgBkEAShsiBiAGIAtKGyELDAELQQAhDSALIAMgCGogBmpBCWsiBkEAIAZBAEobIgYgBiALShshCwtBfyEKIAtB/f///wdB/v///wcgCyANciIPG0oNASALIA9BAEdqQQFqIQMCQCAFQV9xIhZBxgBGBEAgCCADQf////8Hc0oNAyAIQQAgCEEAShshBgwBCyASIAggCEEfdSIGcyAGa60gEhDpAiIGa0EBTARAA0AgBkEBayIGQTA6AAAgEiAGa0ECSA0ACwsgBkECayIOIAU6AAAgBkEBa0EtQSsgCEEASBs6AAAgEiAOayIGIANB/////wdzSg0CCyADIAZqIgYgEUH/////B3NKDQEgAEEgIAIgBiARaiIFIAQQ6gIgACATIBEQ5gIgAEEwIAIgBSAEQYCABHMQ6gICQAJAAkAgFkHGAEYEQCAMQRBqQQlyIQggECAJIAkgEEsbIgMhCQNAIAk1AgAgCBDpAiEGAkAgAyAJRwRAIAYgDEEQak0NAQNAIAZBAWsiBkEwOgAAIAYgDEEQaksNAAsMAQsgBiAIRw0AIAZBAWsiBkEwOgAACyAAIAYgCCAGaxDmAiAJQQRqIgkgEE0NAAsgDwRAIABByNQAQQEQ5gILIAcgCU0NASALQQBMDQEDQCAJNQIAIAgQ6QIiBiAMQRBqSwRAA0AgBkEBayIGQTA6AAAgBiAMQRBqSw0ACwsgACAGQQkgCyALQQlOGxDmAiALQQlrIQYgCUEEaiIJIAdPDQMgC0EJSiEDIAYhCyADDQALDAILAkAgC0EASA0AIAcgCUEEaiAHIAlLGyEKIAxBEGpBCXIhCCAJIQcDQCAIIAc1AgAgCBDpAiIGRgRAIAZBAWsiBkEwOgAACwJAIAcgCUcEQCAGIAxBEGpNDQEDQCAGQQFrIgZBMDoAACAGIAxBEGpLDQALDAELIAAgBkEBEOYCIAZBAWohBiALIA1yRQ0AIABByNQAQQEQ5gILIAAgBiAIIAZrIgMgCyADIAtIGxDmAiALIANrIQsgB0EEaiIHIApPDQEgC0EATg0ACwsgAEEwIAtBEmpBEkEAEOoCIAAgDiASIA5rEOYCDAILIAshBgsgAEEwIAZBCWpBCUEAEOoCCyAAQSAgAiAFIARBgMAAcxDqAiACIAUgAiAFShshCgwBCyATIAVBGnRBH3VBCXFqIQ4CQCADQQtLDQBBDCADayEGRAAAAAAAADBAIRgDQCAYRAAAAAAAADBAoiEYIAZBAWsiBg0ACyAOLQAAQS1GBEAgGCABmiAYoaCaIQEMAQsgASAYoCAYoSEBCyASIAwoAiwiByAHQR91IgZzIAZrrSASEOkCIgZGBEAgBkEBayIGQTA6AAAgDCgCLCEHCyARQQJyIQ0gBUEgcSEJIAZBAmsiDyAFQQ9qOgAAIAZBAWtBLUErIAdBAEgbOgAAIARBCHFFIANBAExxIQggDEEQaiEHA0AgByIGAn8gAZlEAAAAAAAA4EFjBEAgAaoMAQtBgICAgHgLIgdBwIgIai0AACAJcjoAACABIAe3oUQAAAAAAAAwQKIhAQJAIAZBAWoiByAMQRBqa0EBRw0AIAFEAAAAAAAAAABhIAhxDQAgBkEuOgABIAZBAmohBwsgAUQAAAAAAAAAAGINAAtBfyEKIANB/f///wcgDSASIA9rIglqIghrSg0AIABBICACIAggA0ECaiAHIAxBEGprIgYgBkECayADSBsgBiADGyIDaiIHIAQQ6gIgACAOIA0Q5gIgAEEwIAIgByAEQYCABHMQ6gIgACAMQRBqIAYQ5gIgAEEwIAMgBmtBAEEAEOoCIAAgDyAJEOYCIABBICACIAcgBEGAwABzEOoCIAIgByACIAdKGyEKCyAMQbAEaiQAIAoLrQUCBn4EfyABIAEoAgBBB2pBeHEiAUEQajYCACAAIAEpAwAhAiABKQMIIQYjAEEgayIBJAAgBkL///////8/gyEDAn4gBkIwiEL//wGDIgSnIgBBgfgAa0H9D00EQCADQgSGIAJCPIiEIQMgAEGA+ABrrSEEAkAgAkL//////////w+DIgJCgYCAgICAgIAIWgRAIANCAXwhAwwBCyACQoCAgICAgICACFINACADQgGDIAN8IQMLQgAgAyADQv////////8HViIAGyECIACtIAR8DAELAkAgAiADhFANACAEQv//AVINACADQgSGIAJCPIiEQoCAgICAgIAEhCECQv8PDAELIABB/ocBSwRAQgAhAkL/DwwBC0GA+ABBgfgAIARQIggbIgsgAGsiCUHwAEoEQEIAIQJCAAwBCyABQRBqIQogAiEEIAMgA0KAgICAgIDAAIQgCBsiAyEFAkBBgAEgCWsiCEHAAHEEQCACIAhBQGqthiEFQgAhBAwBCyAIRQ0AIAUgCK0iB4YgBEHAACAIa62IhCEFIAQgB4YhBAsgCiAENwMAIAogBTcDCAJAIAlBwABxBEAgAyAJQUBqrYghAkIAIQMMAQsgCUUNACADQcAAIAlrrYYgAiAJrSIEiIQhAiADIASIIQMLIAEgAjcDACABIAM3AwggASkDCEIEhiABKQMAIgNCPIiEIQICQCAAIAtHIAEpAxAgASkDGIRCAFJxrSADQv//////////D4OEIgNCgYCAgICAgIAIWgRAIAJCAXwhAgwBCyADQoCAgICAgICACFINACACQgGDIAJ8IQILIAJCgICAgICAgAiFIAIgAkL/////////B1YiABshAiAArQshAyABQSBqJAAgBkKAgICAgICAgIB/gyADQjSGhCAChL85AwALqgEBBX8gACgCVCIDKAIAIQUgAygCBCIEIAAoAhQgACgCHCIHayIGIAQgBkkbIgYEQCAFIAcgBhC8AhogAyADKAIAIAZqIgU2AgAgAyADKAIEIAZrIgQ2AgQLIAQgAiACIARLGyIEBEAgBSABIAQQvAIaIAMgAygCACAEaiIFNgIAIAMgAygCBCAEazYCBAsgBUEAOgAAIAAgACgCLCIDNgIcIAAgAzYCFCACC6UCACAARQRAQQAPCwJ/AkAgAAR/IAFB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RSBUSEVSRSBGSVJTVABUSEUgU09VTkQgU0VUVElOR1MgQVJFIExPU1QAV0hJVEUgPSBDWUNMRSBBQ0NFTlQgQU5EIEdIT1NUAERFU1QAUE9SVEEgV0lUSCBUSUUgICUrZCBTVABTVEFSVABDQVBUAFBST0pFQ1QgUk9PVABPTkVTSE9UAEFNT1VOVABJTlNUUlVNRU5UAFdISVRFID0gVE9HR0xFIEFDQ0VOVABCMSA9IEFDQ0VOVABNT0QgQU1UAE00IEFNVABNMyBBTVQARU5WMiBBTVQATTIgQU1UAE0xIEFNVABNU1QgRklMVABWRUwgRklMVABJTklUAFJFQyA9IFNUT1AgLSBTVE9QUyBCWSBJVFNFTEYgQVQgVEhFIExJTUlUAFQlZCBLSVQASU5JVCBLSVQAUFJFU0VUUyA9IEFOT1RIRVIgS0lUAFRBS0UgJTAyZCBTQVZFRDogVEFLRVMgPiBLSVQAU1RFUCAlMDJkIEhJVABTVEFSVCBPTiBUSEUgSElUAEhPTUUgKyBFRElUAEJJVABNQVNURVIgPiBLMiBQSUNLUyBJVABVUFJJR0hUAE1PVkUgQlJJR0hUAFNXSU5HICA1MD1TVFJBSUdIVABMRUZUAE5PIFRBS0VTIFlFVABJVCBJUyBOT1QgU0FWRUQgWUVUAENIT1JEIFNFVABUQVJHRVQAU0VMRUNUAFNDTCBBR0FJTjogQ0hPUkRTIC0gSE9NRSArIFNDTDogUFJPSkVDVAAlK2QgQ1QATUVUQUwgSEFUAEFOQUxPRyBIQVQAU1RFUCAlMDJkIFJFUEVBVABCSUcgQkVBVAAxLzhUADEvMTZUADEvMzJUACV1LiUwM3VTACVkIEJQTSAlZCBCQVIgJXUuJXVTACVkKyVkLCBGUkVFICV1LiV1UwBBTFdBWVMAQUxXQVlTIFBMQVlTAEFMR09SSVRITSA9IENIT1JVUwBCVU5PLTYgQ0hPUlVTACVkIEVWRU5UUwBNVVRFIElOU1RSVU1FTlRTAFBSRVNFVFMAU1lOVEggQkFTUwBNT05POiBFVkVSWSBOT1RFIFJFVFJJR0dFUlMATU9OTzogT05FIFZPSUNFLCBSRVRSSUdHRVJTAFQlZDogJWQgQkFSUwBMT09QIEJBUlMAMiBCQVJTAExPTkcgTk9URTogJWQgU1RFUFMAQ0FQVFVSRUQ6ICVkIFNURVBTAEVOVjIgUE9TAENIQUlOIE9GICVkIFBBVFRFUk5TAFBST0dSRVNTSU9OUwAldU1TACVkTVMAJXUgTVMAJWQgTVMAVElDS1MARU1QSEFTSVMAQUxMIEFUIDA6IFRIRSBHUklEIEFTIElTAEtFRVAgSE9MRElORyAlcyA9IFlFUwBIT0xEICVzIDIgUyA9IFlFUwBBUlAgT0NUQVZFUwBWSUVXOiBOT1RFUwBGUkVFIFJFQzogUkVDIEFHQUlOIENMT1NFUwBUV08gQ09SRVMAVDEgQU5EIFQyIEFSRSBGSVhFRCBNQUNISU5FUwBDSEFJTiBPRiAlZCBTQ0VORVMAU0FWRSBTT05HIEFORCBTQ0VORVMAVElNRVMAVEFLRVMAQlgtNyBCQU5LOiAlZCBWT0lDRVMAUE9MWTogVVAgVE8gNCBWT0lDRVMATElWRSBDSE9SRFMAVEFLRVMrU09VTkRTAEsxID0gRFVDSyAtIFNFTEVDVCBMRUZUID0gTEVWRUwsIFBBTiwgU0VORFMASURMRSBMRURTAEtJVDogJWQgUEFEUwBTQVZFIEFTAExPQUQgSU4gJXUuJXUgUwAxIEJBUiA9ICV1LiV1IFMAJS4xZiBTAFRBS0VTOiBGUkVFICV1LiV1IE9GIDYgUwBMIENPTlRPVVIARiBDT05UT1VSAElOU1RSAFNSAFJFU09OQVRPUgBGTEFTSCBFUlJPUgBNSU5PUgBDT0xPUgBNQUpPUgBBTkNIT1IARElSAE1JWEVSAE1BU1RFUgBUJWQgRklMVEVSAE1BU1RFUiBGSUxURVIAUE9MWU1FVEVSAEtFWVMgQVJFIFNJTEVOVCBJTiBUSEUgUkVDT1JERVIATEFEREVSACVkQlIATElORUFSAFNBVkUgQUdBSU4gPSBDTEVBUgBUJWQ6ICVkIEJBUgBUSEUgR1JJRCwgVkFSSUVEIEVWRVJZIEJBUgBSRUM6IFJFQ09SRCA+IFBMQVkgPiBPVkVSRFVCIC0gU1RBUlRTIE9OIFRIRSBORVhUIEJBUgBDVUU6IE1VVEVTIEFORCBTQ0VORVMgT04gVEhFIE5FWFQgQkFSAFQlZDogTkVYVCBCQVIAU0NFTkUgJWM6IE5FWFQgQkFSAFNUQVJUUyBPTiBUSEUgQkFSAExJTkVTID0gMSBCQVIAU1BMSVQgTC9SAFNURVAgSEFTIE5PIE5PVEVTOiBXUklURSBUSEVNIElOIFNFUQBGUkVRAFVQAFRSQU5TUABFWElUOiBSRUxFQVNFIEFSUABGUkVFICV1LiV1IFMgLSAlZCBTT1VORFMgT04gVE9QAEszIFBMQVk6IE9ORVNIT1QsIEtFWSwgVEhSVSBPUiBMT09QAEVSQVNFIExPT1AAUExBWSA9IExPT1A6IEhFTEQgUkVQRUFUUyBUSEUgTE9PUABSRUMgMiBTOiBFUkFTRSBUSEUgTE9PUABLMSBTVEFSVCAtIEsyIEVORCAtIEVESVQgPSBTT1VORCwgRU5WLCBMT09QAFJBTVAAUkVWRVJCIERBTVAATFAASFAARU1QVFkgU1RFUAA0IE5PVEVTIFBFUiBTVEVQAFJFQyBTVEVQAEJQAEhPTEQgR0xPID0gVFJBTlNQT1NFLCBQTEFZID0gVEFQAFNOQVAAQ0xBUABNSVhPAExFR0FUTwBNNCBUTwBNMyBUTwBNMiBUTwBNMSBUTwBSRVNPAE1JQ1JPAE1BQ1JPAEVYSVQ6IFJFTEVBU0UgR0xPICBQTEFZID0gVEFQIFRFTVBPAEhPTEQgS0VZUyA9IEFSUEVHR0lBVEUgSU4gVEVNUE8ATU9OTwAyIFMgPSBZRVMgIEFOWSBDT05UUk9MID0gTk8AQU5ZIE9USEVSIENPTlRST0wgPSBOTwBSRUxFQVNFID0gTk8AR0xPAFZFTE8ASy1MTwBLSUxMIExPAFJBVElPAEhPTEQgQVJQID0gTElWRSBBUlBFR0dJTwBNT1ZFICBEQVJLICsgRUNITwBBTEdPAExGTwBTVEVSRU8ATk9USElORyBUTyBVTkRPAFdISVRFID0gRVJBU0UgSU5TVFJVTUVOVCAgQjYgPSBVTkRPAEhPTEQgV0hJVEUgPSBFUkFTRSBMSVZFICBCNiA9IFVORE8AV0hJVEUgPSBFUkFTRSBTVEVQICBCTEFDSyA2ID0gVU5ETwBOT1RISU5HIFRPIFJFRE8ARVhJVDogUkVMRUFTRSBFRElUICBCTEFDSyA3ID0gUkVETwBEQ08AVVAtRE9XTgBUVVJOAFNFTEVDVCBQSUNLUywgU0FWRSBSVU5TIC0gSE9MRCBTQVZFID0gQ09QWSBQQVRURVJOAElUIElTIFRIRSBDVVJSRU5UIFBBVFRFUk4AQ0xFQVIgUEFUVEVSTgBXMS0xMCA9IEFERCBBIFBBVFRFUk4AJWQgUFBRTgBTWU5DIFBQUU4AVU5JU09OAFJFU09OAFBPU0lUSU9OAFNURVAgJTAyZCBDT05ESVRJT04ASU5URVJQT0xBVElPTgBWRVJTSU9OAFNPTkcgT04AU09ORyBSRUMgT04ASEFSTSBNSU4AU1VTVEFJTgBIT01FICsgRlggPSBERUxBWSwgUkVWRVJCIEFORCBTSURFQ0hBSU4AQ0xFQVI/IFNBVkUgQUdBSU4ASE9MRCBGWCA9IFBVTkNILUlOAExPT1AgSU4ASVQgU0FWRVMgV0hFTiBZT1UgU1RPUCAtIFdISVRFUyA9IExJU1RFTgBPUEVOAExBTkUgTEVOAEZBU1QgU0NSRUVOAFVQLUROAFQlZCBQQU4ATkFOAERPUklBTgBMWURJQU4AUFdNAFNUUlVNAE1FRElVTQBCQi0zMDMgV0FWRUZPUk0AVEFLRSBCUE0AVE9NAEZST00AWk9PTQBQQVRURVJOIEZVTEw6IE5PIFJPT00AUkFORE9NAFRSSU0ARElNAEJYLTcgQUxHT1JJVEhNAEZNAFNZU1RFTQBMSU1JVDogUkVDT1JESU5HIFJBTQBXSElURSA9IENZQ0xFIFgxLVg0IEFORCBGTEFNAFZFTCBMVkwATU9EIExWTABORU8gU09VTABLQkQgQ1RSTABDT05UUk9MAFNPTkcgRlVMTABQSUFOTyBST0xMAFBST0IvRklMTABBVVRPIEZJTEwATk8gRklMTABPTkxZIElOIFRIRSBGSUxMAEFVVE9NQVRJQyBGSUxMAEVYSVQ6IFJFTEVBU0UgQVJQICBCTEFDSyAxMSA9IEZJTEwARVhJVDogQVJQIE9SIEhPTUUgIEJMQUNLIDExID0gRklMTABDT1dCRUxMAEZJTABST0xMIFRBSUwAVCVkIExFVkVMAEtFWSBWRUwAU0VMAFNDIFJFTABSNCBSRUwATUlESSBDSEFOTkVMAE1PREVMAFNUQVJUUyBPTiBUSEUgQkFSIC0gUkVDIEFHQUlOID0gQ0FOQ0VMAEVYSVQ6IFJFTEVBU0UgU0NMAENPV0JMAE1BTlVBTABCSVRUQUwASU5TUElSRUQgQlkgVklUQUwATUVUQUwARVhURVJOQUwAQ0xPQ0s6IElOVEVSTkFMAE5PUk1BTAAldS4lMDJ1SwBSMSBBVEsAS0VZVFJLAFNIQVJLAE1PVkUgREFSSwBST0JPVCBGVU5LAERVQ0sAQ0xPQ0sAU1lOVEggS0lDSwBBTkFMT0cgS0lDSwBBVFRBQ0sAQ09QWSBUUkFDSwBBTFdBWVMgT04gSU4gVEhJUyBUUkFDSwBQSUNLIEEgTk9URSBUUkFDSwBXSElURSA9IFBBU1RFICBCTEFDSytXSElURSA9IE9ORSBUUkFDSwBXMTEtMTYgPSBUUkFDSwBERUxBWSBGRUVEQkFDSwBCUkVBSwAxSwAxMEsAVkkAVFJJAEItTUlOSQBQRU5UQSBNSQBWSUkASUlJAEkrSUkASy1ISQBLSUxMIEhJAEVYVCBDTE9DSzogV0FJVElORyBGT1IgTUlESQBTWU5USAAlcyBMRU5HVEgAU0VMRUNUIEhJVCAtIEFMR09SSVRITSBQUk9CIC0gUFJFU0VUUyBMRU5HVEgATUFTVEVSIExFTkdUSABHQVRFIExFTkdUSABPVVRTSURFIFRIRSBMRU5HVEgARU5HTElTSABNT1ZFICBCUklHSFQgKyBXQVNIAFRFU1RJTkc6IFNBRkUgTU9ERSBUVVJOUyBJVCBPRkYgQUZURVIgQSBDUkFTSABQSVRDSABQQVRDSABQVU5DSABQSFJZRwBQUk9HAElOU1BJUkVEIEJZIFRIRSBNSU5JTU9PRwBTT05HAEhFTEQ6IEtFWSwgVEhSVSBBTkQgTE9PUCBLRUVQIFBMQVlJTkcAUk9MTCBTV0lORwBUVU5JTkcATUlDUk8gVElNSU5HAEhPTUUgKyBUSElTIEJVVFRPTjogTk9USElORwBFWElUOiBSRUxFQVNFIEFSUCAgUkVDIElTIFJFQ09SRElORwBFWElUOiBBUlAgT1IgSE9NRSAgUkVDIElTIFJFQ09SRElORwBERUxBWSBBTkQgUFVOQ0gtSU4gUEFVU0VEIFdISUxFIFJFQ09SRElORwBWT0lDSU5HAENIQU5HRTogSE9MRCBUJWQgT04gSE9NRSArIEFMRwBFRwBMUEYASFBGAElORgBDVVRPRkYASzQgPSBTT05HIE9OL09GRgBNSURJIE9VVCBPRkYAVFdPIENPUkVTIE9GRgBGSUxURVIgT0ZGAEZBU1QgU0NSRUVOIE9GRgBTT05HIE9GRgBDVUUgT0ZGAFNPTkcgUkVDIE9GRgBNT1ZFICBPRkYAVkNPIFZDRgBIUEYgVkNGAFJFVkVSQiBTSVpFAEZSRUVaRQBNT1ZFAFQlZCBEUklWRQBEQ08gV0FWRQBLRVlTID0gVFJBTlNQT1NFIFBST0pFQ1QgIEsyID0gT0NUQVZFAEFVVE9TQVZFAFNUT1AgVE8gU0FWRQBPTkxZIFdIRU4gU1RPUFBFRCAtIFNBVkUgMiBTOiBRVUlDSyBTQVZFAEVYSVQ6IFJFTEVBU0UgU0FWRQBOTyBDSEFOR0U6IFNUT1AgQU5EIFNBVkUAVkFMVUUAQ1VFAFdISVRFID0gUExBWSBFRkZFQ1QgIEJMQUNLIDEtNiA9IE1VVEUARVhJVDogUkVMRUFTRSBIT01FICBCMS02IE1VVEUAQUxHT1JJVEhNIFBJQ0tTIFRIRSBUQVJHRVQgLSBIT0xEIEVESVQgMiBTID0gUEFTVEUARU1QVFkgU1RFUCAtIEhPTEQgKyBBTk9USEVSIFdISVRFID0gTE9ORyBOT1RFAEhFUk1JVEUAQVJQIFJBVEUAUk9MTCBSQVRFAE1PRCBSQVRFAEhPTEQgV0hJVEUgPSBST0xMICBCTEFDSyAxLTYgPSBSQVRFAEVOVi9HQVRFAEFSUCBHQVRFAFZDQTogR0FURQBUJWQgVFJBTlNQT1NFAFBST0pFQ1QgVFJBTlNQT1NFAFBVTFNFAE5PSVNFAEVSQVNFAFNJREVDSEFJTiBSRUxFQVNFAFBSRQBUSEUgU0FNUExFUiBTVEFZUyBIRVJFAE5PVEhJTkcgVE8gUEFTVEUgSEVSRQBTUVVBUkUAU1lOVEggU05BUkUAQU5BTE9HIFNOQVJFAFRBUEUAU0hBUEUAREVUVU5FAFRPTkUATk9ORQBDQU5OT1QgQkUgVU5ET05FAFRBS0VTIEZVTEw6IERFTEVURSBPTkUAUkVDID0gUkVDT1JEIE9ORQBTSU5FAFcxLTEwIFBBVFRFUk4gIFcxMS0xNiBHTyBUTyBNQUNISU5FAEZJWEVEIE1BQ0hJTkUARklORQBFWElUOiBSRUxFQVNFIEVESVQgIEI3LTEwID0gQ0xSIFNDRU5FAEVOVFJZICVkOiBOTyBTQ0VORQBFWElUOiBCTEFDSyAxMSBPUiBIT01FAERMWSBUSU1FAERFTEFZIFRJTUUAT05FIEFUIEEgVElNRQBGUkFNRQBXSE9MRQBOTyBUQUJMRQBPU0MgMSBUQUJMRQBBVkFJTEFCTEUAUFJPSkVDVCBTQ0FMRQBGT1IgVFJBQ0tTIFdJVEhPVVQgVEhFSVIgT1dOIFNDQUxFAEtFWVMgSU4gU0NBTEUAT1dOIFRSQUNLIFNDQUxFAENIT0tFAFdISVRFID0gUExBWSBBTkQgUElDSyBBIFBBRCAtIFBSRVNFVFMgPSBJVFMgVEFLRQBNQVggMy4wIFMgUEVSIFRBS0UASE9NRSA9IERJU0NBUkQ/IC0gUkVDID0gQU5PVEhFUiBUQUtFAE5PIFRBS0UAU0FWSU5HIFRIRSBUQUtFAFRBS0VTIChIT0xEIEVESVQpOiBCTEFDSyAxID0gS0lUIEZST00gQSBUQUtFAFBBVVNFRDogVEFLRQBUSUUAUkFOR0UATk9URVMgVE8gTk9URVMsIEhJVFMgVE8gSElUUzogVEhFIE1BQ0hJTkVTIERPIE5PVCBDSEFOR0UATEFOR1VBR0UARlggQUdBSU4gPSBORVhUIFBBR0UARVhJVDogUkVMRUFTRSBFTlYgIEJMQUNLIDkvMTAgPSBQQUdFAEVYSVQ6IFJFTEVBU0UgTEZPICBCTEFDSyA5LzEwID0gUEFHRQBFWElUOiBMRk8gT1IgSE9NRSAgQkxBQ0sgOS8xMCA9IFBBR0UAQVJQIE1PREUAUFdNIE1PREUAQi1NSU5JIE1PREUAV0lERQBBQ0NFTlQgT1BFTlMgVEhFIEZJTFRFUiAtIFRJRSA9IFNMSURFAExFR0FUTzogVElFRCBOT1RFUyBHTElERQBXSElURSA9IFRJRSBUTyBORVhUIE5PVEUgIEsxID0gR0xJREUAVDEgSVMgVEhFIFNJREVDSEFJTiBTT1VSQ0UAVDEgSVMgVEhFIFNPVVJDRQBSRVBFQVQ6IFJFVFJJR1MgLSBCUkVBSzogUkVWRVJTRSwgSEFMRiwgU0lMRU5DRQBWT0lDRQBTUEFDRQBGV0QAQkFTRSBDSE9SRABBUk1FRDogUExBWSBUTyBSRUNPUkQARU5WIE1PRABWQ0YgTU9EAElOSVQgU09VTkQATk9UIEEgVVNFUiBTT1VORABUSEFUIElTIE5PVCBBIEJVQkJBIFNPVU5EAE5PIFJPT006IERFTEVURSBBIFRBS0UgT1IgQSBTT1VORABBTEcgPSBNQUNISU5FICBQUkUgPSBTT1VORABDT05EAFdISVRFID0gUExBWSBDSE9SRCAgQkxBQ0sgMS00ID0gRVhURU5EAERFTEFZIFNFTkQAUkVWRVJCIFNFTkQASEVMRDogVEhFIExPT1AgUkVQRUFUUyAtIFJFTEVBU0VEOiBUTyBUSEUgRU5EAFJBTkQAUE1EAEFNRABIT0xEIFJFQyA9IFJFQ09SRCBXSElMRSBIRUxEAEhPTEQgRURJVCArIEJMQUNLIDQgPSBDQVBUVVJFIElOVE8gVEhFIEdSSUQARklYRUQAVU5TQVZFRABTT05HIEFORCBTQ0VORVMgU0FWRUQAQSUwMmQgUVVFVUVEAE1VVEVEAFRSQUNLIFBBU1RFRABUQUtFICUwMmQgREVMRVRFRABTT1VORCBERUxFVEVEAENMT1NFRAAlcyBFUkFTRUQATE9PUCBFUkFTRUQAU0NFTkUgJWMgU1RPUkVEAFNDRU5FICVjIENMRUFSRUQAUEFUVEVSTiBDTEVBUkVEAEFSTUVEAE1PREVMRUQAQ0FOQ0VMRUQATEVHQVRPOiBPTkUgVk9JQ0UsIFRJRUQAUEFEICVkIENPUElFRABUSEUgU0FNUExFUiBJUyBOT1QgQ09QSUVEAFBBVFRFUk4gQ09QSUVEAFRSQUNLIENPUElFRABMQVRDSEVEAExBTkdVQUdFIFBBQ0sgSVMgREFNQUdFRABUJWQgU1BFRUQATEVOR1RIIEFORCBTUEVFRABFWElUOiBSRUxFQVNFIFNFUSAgQkxBQ0sgMS02ID0gU1BFRUQAUkVDT1JERUQAVEFLRSBESVNDQVJERUQATk8gUk9PTSBJTiBUQUtFUzogRElTQ0FSREVEAFRIRSBQQURTIEFSRSBSRVBMQUNFRABLWUJEAEVNUFRZIFBBRABCTEFDSyA0ID0gVEhFIFRBS0UgT04gVEhJUyBQQUQARU1QVFkgUEFEOiBUQUtFUyA+IFBBRABUUklBRABERUNSRVNDAEFUVEFDSywgUkVMRUFTRSwgQ0hPS0UgR1JPVVAsIFRFTVBPIFNZTkMAICBTWU5DAENMQVNTSUMARElBVE9OSUMAU1RBUlRTIFdIRU4gWU9VIFBSRVNT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AA4RExUZEQ4EDAQEBAQODhEBAgQIHx8CBAIBEQ4CBgoSHwICHxAeAQERDgYIEB4REQ4fAQIECAgIDhERDhERDg4REQ8BAgwADAwADAwAAAAAAAAAAAIECBAIBAIAAB8AHwAACAQCAQIECA4RAQIEAAQAAAAAAAAADhERHxERER4RER4RER4OERAQEBEOHhERERERHh8QEB4QEB8fEBAeEBAQDhEQFxERDxERER8REREOBAQEBAQOBwICAgISDBESFBgUEhEQEBAQEBAfERsVFRERERERGRUTEREOEREREREOHhERHhAQEA4REREVEg0eEREeFBIRDxAQDgEBHh8EBAQEBAQREREREREOEREREREKBBERERUVFQoREQoEChEREREKBAQEBB8BAgQIEB8OCAgICAgOAAAAAAAAAA4CAgICAg4AQc+lAQvXAR8AAAAAAAAADhERHxERER4RER4RER4OERAQEBEOHhERERERHh8QEB4QEB8fEBAeEBAQDhEQFxERDxERER8REREOBAQEBAQOBwICAgISDBESFBgUEhEQEBAQEBAfAAAaFRURERERGRUTEREOEREREREOHhERHhAQEA4REREVEg0eEREeFBIRDxAQDgEBHh8EBAQEBAQREREREREOEREREREKBBERERUVFQoREQoEChEREREKBAQEBB8BAgQIEB8AAAAAAAAABAQEBAQEBAAAAAAAAAAMEhIMAEG1pwELogICAgIAAgAAAAAABQcFBwUAAAAAAAUBAgQFAAAAAAACAgAAAAIEBAQCAgEBAQIABQIFAAACBwIAAAAAAgQAAAcAAAAAAAACAQECBAQHBQUFBwIGAgIHBgECBAcGAQIBBgUFBwEBBwQGAQYDBAcFBwcBAgICBwUHBQcHBQcBBgACAAIAAAAAAAABAgQCAQAHAAcABAIBAgQGAQIAAgAAAAAAAgUHBQUGBQYFBgMEBAQDBgUFBQYHBAYEBwcEBgQEAwQFBQMFBQcFBQcCAgIHAQEBBQIFBQYFBQQEBAQHBQcHBQUGBQUFBQIFBQUCBgUGBAQCBQUGAwYFBgUFAwQCAQYHAgICAgUFBQUHBQUFBQIFBQcHBQUFAgUFBQUCAgIHAQIEBwBB9akBC4IBAgUHBQUGBQYFBgMEBAQDBgUFBQYHBAYEBwcEBgQEAwQFBQMFBQcFBQcCAgIHAQEBBQIFBQYFBQQEBAQHAAYHBQUGBQUFBQIFBQUCBgUGBAQCBQUGAwYFBgUFAwQCAQYHAgICAgUFBQUHBQUFBQIFBQcHBQUFAgUFBQUCAgIHAQIEBwBBhqsBCw8CBQIAAAAAAAAABQ8FDwoAQaCrAQtN//+j/oP+Q/4j/iP+//++9573q/4j/iP+fe8857BGbh4tHgP+5+WKzaK8NGz/K5IcI/tkq6LKL0tlUsNBhiHBIGEQggggAAAAIAAAACAAQYKsAQvrgwUCAAQABgAIAAoADAAOABAAEgAUABYAGAAaABwAHgAgACIAJAAmACgAKgAsADoAPABGAFgAagB8AJoAvADqACQBXgGUAc4BBAI+AnYCsALmAiADVgN8A6oD6AMkBG4EyAQmBZIF3gU+BpoG+AZiB7wHEghwCMYIFAlmCbAJ9glICpIK5AoyC3ALqgvcCwYMNgx0DLIM+gwwDYIN6A1SDsIOSg/cD2wQ9BB0EeQRVBK8EiITmBP8E3AUwhQaFUwVZhWAFaQVyhUAFkwWnhb6FlIXohcAGEoYlhjQGAoZOBlyGawZ6hkwGmoarBr6GjwbkBvwGzwcqBwGHWAdqh3mHSQeWh6AHrYe+B42H3gfvB8CIEQgiiDIIAohTCGCIawh0iHsIQYiJCIuIjAiNiI4IjoiPCI+IkAiQiJEIlIicCKQIsAi+iI8I34jwCMCJEQkhiTIJEolwiV6Jj4nDijsKMQpvCqcK5gseC1QLiAv8i/IMKAxdjJIMxY08DTYNeI2zDfOOKg5jDpqOzg8+DxKPbI9tD22Pbg9uj28PcQ9yj3YPfI9Fj5oPsQ+ND/EP0hA6EB0QRRCskJIQ9pDfEQSRbJFJEZkRrJGtEa2RrhGuka8Rr5GwEbCRsRGxkbIRspG8C/wL/Av8C/wL/Av8C/wL/Av8C/wL/Av8C/wL/Av8C/wL/Av8C/wL/Av8C9zLwEsASgGLAEoASxzL/Avci8BKAoeAShyL3AvASwBLwEhChYBIQEvASxwL3AvASwBLwEhChYBIQEvASxwL3AvASwBLwEeChYBHgEvASxwL1wvAS0BJRIvASwBLwEeChYBHgEvASwSLwEoAStcL1svASUCLwEtES8BKAEvARsKFgEbAS8BKBEvASwCLwEoWy9ZLwIpAS8BIwEdAS8BLRAvASgBLwEbChYBGwEvASgQLwEsAS8BHgEmAS8CKFkvVy8BLQElAi8BHwEaARgBHQEvASUPLwEoAS8BGwoWARsBLwEoDy8BKAEvAR4BDwEQAR4CLwEoASxXL1UvAS0BJQIvAR8BGgQYAR8BLwEpDi8BLAEvARcKFgEXAS8BLA4vASgBLwEhARADDwEQASECLwEoVi9XLwEgARkGGAEaASMBJQEtDS8BLAEvARcKFgEXAS8BLA0vASsBKAEmARABDwEQBA8BHgEhVy9TLwEtASsBIwEcCRgBHAEvASMNLwEsASgMFgEoASwNLwEoAS8BHgEPARADDwEQAg8BEAEeASYBLFQvUy8BKwEjARoLGAEfAS8BKQsvASwBLwEhDBYBIQEvASwLLwEoAS8BIQgPARACDwEQASYBLFMvUy8BJQEvARwLGAEaASMBKQEtCi8BLAEvASYMFgEmAS8BLAovASsBKAEmARAJDwEQAQ8BHgEvAShTL1MvAS0BLwEgDBgBGQEvASMKLwEsAS8BIQwWASEBLwEsCi8BKAEvAR4BDwEQCQ8BEAEmAS8BK1MvVC8BJQEvARwMGAEdAS8BJQkvASwBLwEeDBYBHgEvASwJLwEoAS8BHgEPARAIDwEQAQ8BHgEvAShUL1QvAS0BKwEgDRgBHwErASkILwEsAS8BHgwWAR4BLwEsCC8BKAEsASEBEAsPARABJgEsAStUL1UvASMBLwEZDBgBGgEvASUILwEoAS8BGwwWARsBLwEoCC8BKAEvARABDwEQCA8BEAEPAR4BLwEoVS9VLwEpAS0BHw0YAR0BLwElBy8BKAEvAR4MFwEeAS8BKAcvASgBLwEeAQ8BEAsPASEBKwEoVS9WLwElAS8BGg0YAR8BLwEpHi8BKAEvASELDwEQAQ8BGwEvAShWL1YvASkBLQEfDRgBGgEgASsBLQcvDiwHLwErASwBIQEQAQ8BEAsPASEBKwEoVi9XLwElAS8BGQwYARoBHwEtASkGLwErASUDIwYnAyMBJQErBi8BKAErASEBEAIPARAHDwEQAQ8BHgEvAShXL1cvASUBLQEfCxgBHAEiAS8BLQMvASkCIwEtEC8BLQIjASkDLwErAS8BJgEeARACDwEQBw8BIQEvAShXL1gvAikBGggYARkBHwIvASsBLwErASMBJwQvASABHQEcAhkGFAIZARwBHQEgBC8BJwEjASsBLwEsAi8BIQEQAg8BEAUPARACKFgvWC8BJQEvAR8GGAEaAR8CLwEjAS0BJwEjAy8BHwEdARkBFAERAQMBAgIBBgICAQECAQMBEQEUARkBHQEfAy8BIwEnASsBKAIvAR4BEAIPARADDwEeAS8BKFgvWS8BKQEvARoDGAEaAR0CLwElASkBJwElAi8BIAEcARQBEQECAQEBAgEDAQoDEQYLAxEBCgEDAQIBAQECAREBFAEcASACLwElASkBLAEoAi8BHgEQAw8BEAEvAShZL0UvASsBIwErES8BJQEvAR8CGAEcASABLwEpASUBKwEjAi8BHwEZAREBAQECAQQCEQELAQoOBAEKAQsCEQEEAQIBAQERARkBHwIvASMBKwEoASwBLwEmAR4BEAEPASEBLwEoES8BKwEjAStFL0gvASMBKxEvAS0BHQEfAi8BJQEtASMCLwEfARkBCwEBAQMCEQEKFgQBCgIRAQMBAQELARkBHwIvASMBLwEoAi8BIQEeEi8BKwEjSC9CLwIrASABFAEcASICLwEjASsPLwEtAi8BJQEtASsBKQEvASABGQELAQIBBAERAQocBAEKAREBBAECAQsBGQEgAS8BKQIrASgCLwErDy8BKwEjAi8BIgEcARQBIAIrQi9CLwEjAS8BGQEBAQIBFAEZASACLwEjASkOLwElASkBLwEjAi8BHAERAQEBBAERIgQBEQEEAQEBEQEcAi8BIwEvAigOLwEpASMCLwEgARkBFAECAQEBGQEvASNCL0EvASkBJwEfAREBCwERAQMBAQERARkBIAIvASUBJw4vASMBLwEgARQBAQEDAREmBAERAQMBAQEUASABLwEjDi8BJwElAi8BIAEZAREBAQEDAREBCwERAR8BJwEpQS9BLwEjAS8BGQEBAREBBAEKAREBAwEBAREBGQEfAi8BIwEnCi8BLQEnAS8BHQERAQIBEQEKKAQBCgERAQIBEQEdAS8BJwEtCi8BJwEjAi8BHwEZAREBAQEDAREBCgEEAREBAQEZAS8BI0EvQC8BJwErAR8CCwQEAQoBEQEDAQEBEQEZAR8CLwIlBy8BKwEnAS8BHAIDAREsBAERAgMBHAEvAScBKwcvAiUCLwEfARkBEQEBAQMBEQEKBAQCCwEfASsBJ0AvQC8BJQEvARQBAgERBgQBCgERAQQBAgELARkBHwgvASsBJQEvARkBAQILLgQCCwEBARkBLwElASsILwEfARkBCwECAQQBEQEKBgQBEQECARQBLwElQC8/LwElAS8BHQECAQsKBAERAQQBAQERARQBHQEjASsDLwErASUBLwEZAQEBEQEKMAQBCgERAQEBGQEvASUBKwMvASsBIwEdARQBEQEBAQQBEQoEAQsBAgEdAS8BJT8vPi8CKwEiARQBAwEKDAQBEQEEAQIBAQEcAS8BJQEvASsBJwEvARkBAQERNAQBEQEBARkBLwEnASsBLwElAS8BHAEBAQIBBAERDAQBCgEDARQBIgIrPi8+LwElAS8BHQEBAQQBEQ0EAQoCEQEfAS8BJwEvASMBLwEZAQEBETYEAREBAQEZAS8BIwEvAScBLwEfAhEBCg0EAREBBAEBAR0BLwElPi8/LwEpASIBHQERAQIBEQEKCwQBEQEBARkBLwElAS8BIwEvARwBAQEROAQBEQEBARwBLwEjAS8BJQEvARkBAQERCwQBCgERAQIBEQEdASIBKT8vQi8BHwEUAQIBBAELCQQBCgEDAREBIAEpASsBJQEvAR0BAgELOgQBCwECAR0BLwElASsBKQEgAREBAwEKCQQBCwEEAQIBFAEfQi9BLwEjAi8BHAIDAREIBAERAQEBHAEvASMCKwEgAREBAwELOgQBCwEDAREBIAIrASMBLwEcAQEBEQgEARECAwEcAi8BI0EvQi8CJwEvAR8BFAEBAQsBCgUEAQsBAgEUASIBJwErASMBLwEUAQIBETwEAREBAgEUAS8BIwErAScBIgEUAQIBCwUEAQoBCwEBARQBHwEvAidCL0QvASMBLwEgARkBAgEDAREEBAELAQIBHQEvAiUBLwEcAQEBET4EAREBAQEcAS8CJQEvAR0BAgELBAQBEQEDAQIBGQEgAS8BI0QvRS8BJQIvAR0BEQECAREBCgEEAREBAgEUAS8BJQEpASsBIAERAQMBCj4EAQoBAwERASABKwEpASUBLwEUAQIBEQEEAQoBEQECAREBHQIvASVFL0YvASsBIwEvASABFAEBAQQBEQEKAQsBHwEvAScBJQEvARkBAQERQAQBEQEBARkBLwElAScBLwEfAQsBCgERAQQBAQEUASABLwEjAStGL0gvASMCLwEcAREBAwECARkBLwElAScBKwEfAREBCkIEAQoBEQEfASsBJwElAS8BGQECAQMBEQEcAi8BI0gvSS8BKwEnAS8BHwEUAREBIAIrASUBLwEZAQEBEUIEAREBAQEZAS8BJQIrASABEQEUAR8BLwEnAStJL0svASMBLwEiAR0BLwErASkBKwEfAREBCkQEAQoBEQEfASsBKQErAS8BHQEiAS8BI0svTC8BJwIvASsBLwEjAS8BGQEBARFEBAERAQEBGQEvASMBLwErAi8BJ0wvTS8BKwElAS8BKwEvAR8BEQELBgQTChQEEwoFBAEKAQQBEQEfAS8BKwEvASUBK00vUC8BKQErAR8BEQECARECBAEKAREBBBMDAQQBEQELDgQBCgERAQQTAwEEAREBCwIEAREBAwERAR8BKwEpUC9RLwEnAS8BHwERAQEBCwERAQMBAQELExEBCwECAQMBEQwEAREBAwEBAQsTEQELAQIBAwIRAgMBHAEvASVRL1EvAScBIwEvASABFAECAQEBFAEcAR8TIAEfARwBFAECAQQBCgkEAREBAQEUARwBHxMgAR8BHAEUAQIBAQEUAR0BLwEjASVRL1MvASMCLwEcARkBIAIvAiwTLwEjARkBAwEKAREICwECARQBIAIvAiwTLwEjAhkBIAEvASNTL08vAScBLwEcAR0BLwElAScDLwEjAS0CLwEkECsBJwEjASsBLwEZAQEBAwYCAQMBAgEUAi8BIwEtAi8BJBArAScBIwQvASMBLwEgAR0BLwErTy9GLwIrASwDKAMvAScBIwEUAQIBHAIvASUBIwErAS8BJwEbARwBLwEkES8BKwEjAS8BHwgdAR8BJQErAScBLwEnARsBHAEvASQRLwErAiMBLQEvAR0BEQEUASMBJwMvAyUBKQItRi87LwEsASsEKAEmBCgILwErAS8BIAERAQQBAQEZASIBJwEvASIBLwEbAQABBgEbAS8BIh8vASIBLwEbAQABBgEbAS8BIhEvAS0BKQEiARwBCwECAREBIAEvASsILwIpASUDIwIlASkCLTsvRi8CJgEhAh4BIQEsASsBJQEvAR0BAwELAREBAQEdAS8BJQEkAS8BHAEHAQwBBgEbAS8BIhIvASkJLwEtAS8BJAEvARwBBwEMAQYBGwEvASIQLwErAS8BIAEEAQMBEQEDAR0BLwElAS0BKQMfAyBGLzovASgCJgEhBR4GEAIPARABLwEoASMBLwEcAQIBEQELAQMBHQEvASUBLwEnAS8BGwEGAQgBBgEbAS8BIhEvASMIHQEgAS8BKwEvAScBLwEbAQYBCAEGARsBLwEiDy8BKwEvASABEQEDAREBAgEcAS8BIwEpAS8BGgUYAxoCHAEdAx8CIAEjOi84LwEoAS8BIQIQDA8BEAEPARABLwEoASMBLwEZAQEBEQELAQIBHQEvASUCLwEkAS8BGwEGAQgBBgEbAS8BJw4vASsBLwEgAREBAgEDAwIBAwEBAR0BLwElAi8BJAEvARsBBgEIAQYBGwEvAScOLwErAS8BIAERAQMBEQEBARkBLwEjASkBLwEaEBgBHwEvASU4LzgvASgBLwEeBQ8EEAcPARABLwEoASMBLwEZAQEBEQELAQIBHQEvASUDLwEiAS8BGwEGAQgBBgEbASoBJw0vASsBLwEgAREBBAERAwsBEQEDAR0BLwElAy8BIgEvARsBBgEIAQYBGwEqAScNLwErAS8BIAERAQMBEQEBARkBLwEjASkBLwEaEBgBHwEvASU4LzgvASgBLwEeAQ8BEA4PARABLwEoAScBLwEUAQICCwECAR0BLwElBC8BIgEvARsCBgEIASABLwEqDC8BKwEvASABEQEDAQoDBAELAQIBHQEvASUELwEiAS8BGwIGAQgBIAEvASoMLwErAS8BIAERAQMBEQECARQBLwIlAS8BGhAYAR8BLwElOC84LwEoAS8BHhAPARABLwEoAScBLwEUAQICCwECAR0BLwElBS8BIgEvARsBDAEVASIBJw0vASsBLwEgAREBAwEKAwQBCwECAR0BLwElBS8BIgEvARsBDAEVASIBJw0vASsBLwEgAREBAwERAQIBFAEvAiUBLwEaEBgBHwEvASU4LzgvASgBLwEeEA8BEAEvASgBJwEvARQBAgILAQIBHQEvASUGLwEnAS8BIBAvASsBLwEgAREBAwEKAwQBCwECAR0BLwElBi8BJwEvASAQLwErAS8BIAERAQMBEQECARQBLwIlAS8BGhAYAR8BLwElOC84LwEoAS8BHhAPARABLwEoAScBLwEUAQICCwECAR0BKwElBy8BJwEvASoPLwErAS8BIAERAQQBCgMEAQsBAgEdASsBJQcvAScBLwEqDy8BKwEvASABEQEEAREBAgEUAS8CJQEvARoQGAEfAS8BJTgvOC8BKAEvAR4QDwEQAS8BKAEnAS8BFAECAQsBEQEBARkBLwEjCC8BKhAvASMBKQEdAQIBEQQEAREBAQEZAS8BIwgvASoQLwEjASkBHQECAREBCwECARQBLwIlAS8BGhAYAR8BLwElOC84LwEoAS8BHgEPARAODwEQAS8BKAEnAS8BFAECAQsBCgEDAREBIAEjASkYLwEjAS8BFAECAQsEBAEKAQMBEQEgASMBKRgvASMBLwEUAQICCwECARQBLwIlAS8BGhAYAR8BLwElOC84LwEoAS8BHgUPBBAHDwEQAS8BKAEjAS8BGQEBAREBBAERAQIBGQEvASMBJRQvAS0BJwEjAS8BHAECAQsGBAERAQIBGQEvASMBJRQvAS0BJwEjAS8BHAECAQsBBAERAQEBGQEvASMBKQEvARoQGAEfAS8BJTgvOC8BKAEvASECEAwPARABDwEQAS8BKAEjAS8BGQEBARECBAEKAQMBHAMvEycDLwEcAQICCgcEAQoBAwEcAy8TJwMvARwBAgIKAQQBEQEBARkBLwEjASkBLwEaEBgBHwEvASU4LzovASgCJgEhBR4GEAIPARABLwEoASMBLwEcAQIBEQMEAQoBAgEUAR0BIxMvASMBHwEZAQMBBAEKCQQBCgECARQBHQEjEy8BIwEfARkBAwEEAQoCBAERAQIBHAEvASMBKQEvARoFGAMaAhwBHQMfAiABIzovRi8CJgEhAh4BIQEsASsBJQEvAR0BAwELBAQBEQECAQMVFAEEAQIBCgEFCwQBEQECAQMVFAEEAQIBCgEFAwQBCwEDAR0BLwElAS0BKQMfAyBGLzsvASwBKwQoASYEKAgvASsBLwEgAREBBAEKBAQBCwEKAQMTAgEDAQQBEQ4EAQsBCgEDEwIBAwEEAREEBAEKAQQBEQEgAS8BKwgvAikBJQMjAiUBKQItOy9GLwIrASwDKAMvASsBIwEUAQIBCwYEFQsSBBULBgQBCwECARQBIwErAy8DJQEpAi1GL08vASMBLwEZAQEBEUgEAREBAQEZAS8BI08vTy8BJQEvAR0BAgERSAQBEQECAR0BLwElTy9PLwErAS8BIAERAQQBCjAEAwsBChIEAQoBBAERASABLwErTy9QLwEnAS8BFAECAQsvBAEKAQMCAgEEAQURBAELAQIBFAEvASdQL1AvASMBLwEcAQEBESAEAQoBCwEKCgQBCgERAQIBFAEdARwBEQEEAQoQBAERAQEBHAEvASNQL00vAS4BLAEvASsBLwEgAREBAwEKHgQBCgEEAQIBBAIRBQsCEQELAQMBAQERASICLwEcAQIBCw8EAQoBAwERASABLwErAS8BLAEuTS9MLwEsAi8BLgEvASMBLwEZAQEBER0EAQoBAwERARQBEQIBAQMFAgEBAQIBEQEUAR8BLwEiAS8BHwECAQsPBAERAQEBGQEvASMBLwEuAi8BLEwvSy8BKAEvASYBHgEvASwBKQErAR8BEQEKHAQBCgEDAREBHwEvAR8BHAEZBRQBGQEcAR0BIAIvASMBLwEgARQBAgELDwQBCgERAR8BKwEpASwBLwEeASYBLwEoSy9JLwIsAS8BIQIWASECLAElAS8BGQEBAREbBAERAQEBHAEvASIDLwEgAy8BIwEiAi8BKwElAi8BHwEUAQIBCw8EAREBAQEZAS8BJQIsASECFgEhAS8CLEkvSC8BKAIvAR4DFgEbAS8BLAEnASsBHwERAQobBAELAQIBFAYvAyMBKQUvAR8BGQELAQIBCxAEAQoBEQEfASsBJwEsAS8BGwMWAR4CLwEoSC9GLwEuASgBLwEhARcFFgEhAS8BLAElAS8BGQEBAREbBAEKAQIBGQIdAR8BIAUvAiABHQEZARQBCwEBAQQBCxAEAREBAQEZAS8BJQEsAS8BIQUWARcBIQEvASgBLkYvRS8BLAIvAR4HFgEXAS8BLAIrASABEQEDAQocBAMCAhEFFAIRAQMBAQECAQQBEREEAQoBAwERASACKwEsAS8BFwcWAR4CLwEsRS9ELwEoAS8BJgEbCRYBHgEvASwBJQEvARwBAQERHAQDCwEEAQMFAgIDAQoBEQELEwQBEQEBARwBLwElASwBLwEeCRYBGwEmAS8BKEQvQi8CLAEvASEMFgEmAiwBIwEvARQBAgERHgQCCgULAgoVBAERAQIBFAEvASMCLAEmDBYBIQEvAixCL0EvASgCLwEeDRYBHgEvASgBKQErASABEQEDAQs6BAELAQMBEQEgASsBKQEoAS8BHg0WAR4CLwEoQS9CLwEhARcPFgEhAiwBJQEvAR0BAgELOgQBCwECAR0BLwElAiwBIQ8WARcBIUIvPy8BLAEmAR4RFgEbAS8BKAEvASMBLwEcAQEBETgEAREBAQEcAS8BIwEvASgBLwEbERYBHgEmASw/Lz4vASwBLwEeExYBIQEvASwBLwEjAS8BGQEBARE2BAERAQEBGQEvASMBLwEsAS8BIRMWAR4BLwEsPi8+LwEuASwBJhMWARsBLwEsAS8BKwEnAS8BGQEBARE0BAERAQEBGQEvAScBKwEvASwBLwEbExYBJgEsAS4+Lz8vASgBLwEeEBYBFwEeASgBLgMvASsBJQEvARkBAQERAQowBAEKAREBAQEZAS8BJQErAy8BLgEoAR4BFxAWAR4BLwEoPy9ALwEsAS8BFw0WARsBIQgvASsBJQEvARkBAQILLgQCCwEBARkBLwElASsILwEhARsNFgEXAS8BLEAvQC8BLAEuASELFgEbASECLwIsBy8BKwEnAS8BHAIDAREsBAERAgMBHAEvAScBKwcvAiwCLwEhARsLFgEhAS4BLEAvQS8BKAEvARsIFgEbASECLwEoASwKLwEtAScBLwEdAREBAgERAQooBAEKAREBAgERAR0BLwEnAS0KLwEsASgCLwEhARsIFgEbAS8BKEEvQS8CLAEhBhYBGwEhAi8CLA4vASMBLwEgARQBAQEDAREmBAERAQMBAQEUASABLwEjDi8CLAIvASEBGwYWASECLEEvQi8BKAEvARsDFgEbASECLwEoASwOLwElASkBLwEjAi8BHAERAQEBBAERIgQBEQEEAQEBEQEcAi8BIwEvAigOLwEsASgCLwEhARsDFgEbAS8BKEIvQi8CLAEhARcBHgEmAi8BKAEsDy8BLQIvASUBLQErASkBLwEgARkBCwECAQQBEQEKHAQBCgERAQQBAgELARkBIAEvASkCKwEoAi8BKw8vASwBKAIvASYBHgEXASECLEIvSC8BKAEsES8BLQEdAR8CLwElAS0BIwIvAR8BGQELAQEBAwIRAQoWBAEKAhEBAwEBAQsBGQEfAi8BIwEvASgCLwEhAR4SLwEsAShIL0UvASwBKAEuES8BJQEvAR8CGAEcASABLwEpASUBKwEjAi8BHwEZAREBAQECAQQCEQELAQoOBAEKAQsCEQEEAQIBAQERARkBHwIvASMBKwEoASwBLwEmAR4BEAEPASEBLwEoES8BLgEoASxFL1kvASkBLwEaAxgBGgEdAi8BJQEpAScBJQIvASABHAEUAREBAgEBAQIBAwEKAxEGCwMRAQoBAwECAQEBAgERARQBHAEgAi8BJQEpASwBKAIvAR4BEAMPARABLwEoWS9YLwElAS8BHwYYARoBHwIvASMBLQEnASMDLwEfAR0BGQEUAREBAwECAgEGAgIBAQIBAwERARQBGQEdAR8DLwEjAScBKwEoAi8BHgEQAg8BEAMPAR4BLwEoWC9YLwIpARoIGAEZAR8CLwErAS8BKwEjAScELwEgAR0BHAIZBhQCGQEcAR0BIAQvAScBIwErAS8BLAIvASEBEAIPARAFDwEQAihYL1cvASUBLQEfCxgBHAEiAS8BLQMvASkCIwEtEC8BLQIjASkDLwErAS8BJgEeARACDwEQBw8BIQEvAShXL1cvASUBLwEZDBgBGgEfAS0BKQYvASsBJQMjBiUDIwElASsGLwEoASsBIQEQAg8BEAcPARABDwEeAS8BKFcvVi8BKQEtAR8NGAEaASABKwEtBy8BKwMnBiUDJwErBy8BKwEsASEBEAEPARALDwEhASsBKFYvVi8BJQEvARoNGAEfAS8BKR4vASgBLwEhCw8BEAEPARsBLwEoVi9VLwEpAS0BHw0YAR0BLwElBy8BJQEvARwMFAEcAS8BJQcvASgBLwEeAQ8BEAsPASEBKwEoVS9VLwEjAS8BGQwYARoBLwElCC8BIwEvARwBAQEDCAIBAwEBARwBLwEjCC8BKAEvARABDwEQCA8BEAEPAR4BLwEoVS9ULwEtASsBIA0YAR8BKwEpCC8BJQEvAR0BAwERCAsBEQEDAR0BLwElCC8BKAEsASEBEAsPARABJgEsAStUL1QvASUBLwEcDBgBHQEvASUJLwElAS8BHQECAQsIBAELAQIBHQEvASUJLwEoAS8BHgEPARAIDwEQAQ8BHgEvAShUL1MvAS0BLwEgDBgBGQEvASMKLwEnAS8BHwERAQQBCgYEAQoBBAERAR8BLwEnCi8BKAEvAR4BDwEQCQ8BEAEmAS8BK1MvUy8BJQEvARwLGAEaASMBKQEtCi8BKwEvASABEQEDAQoGBAEKAQMBEQEgAS8BKwovASsBKAEmARAJDwEQAQ8BHgEvAShTL1MvASsBIwEaCxgBHwEvASkLLwErAS8BIAERAQMBCgYEAQoBAwERASABLwErCy8BKAEvASEIDwEQAg8BEAEmASxTL1MvAS0BKwEjARwJGAEcAS8BIw0vASsBIwEUAQIBCwYEAQsBAgEUASMBKw0vASgBLwEeAQ8BEAMPARACDwEQAR4BJgEsVC9XLwEgARkGGAEaASMBJQEtDS8BJwEvARQBAgELBgQBCwECARQBLwEnDS8BKwEoASYBEAEPARAEDwEeASFXL1UvAS0BJQIvAR8BGgQYAR8BLwEpDi8BJwEvARQBAgELBgQBCwECARQBLwEnDi8BKAEvASEBEAMPARABIQIvAShWL1cvAS0BJQIvAR8BGgEYAR0BLwElDy8BIwEvARkBAQERBgQBEQEBARkBLwEjDy8BKAEvAR4BDwEQAR4CLwEoASxXL1kvAikBLwEjAR0BLwEtEC8BIwEvARkBAQERBgQBEQEBARkBLwEjEC8BLAEvAR4BJgEvAihZL1svASUCLwEtES8BIwEvARkBAQERBgQBEQEBARkBLwEjES8BLAIvAShbL1wvAS0BJRIvASUBLwEdAQIBCwYEAQsBAgEdAS8BJRIvASgBK1wvcC8BJQEvAR0BAgELBgQBCwECAR0BLwElcC9wLwEnAS8BHwELAREGCwERAQsBHwEvASdwL3AvASsBLwEgAREBAgEDBAIBAwECAREBIAEvAStwL3IvASMKHQEjci/wL3MvCiVzL/Av8C/wL/Av8C/wL/AvKy8CKj8vAiofLwEqYi8qLwEnAi8BJD0vASQCLwEkHC8BJwEqAS8BJwEqYC8pLwEqAS8BKgEgPS8BKgEvAiABLwEqGi8BKgIvASBiLygvAScBLwEeAg0BFQInOS8BJwEvARsCDQEbAS8BJxgvAScBLwEeAg0BFQEhAipeLycvAioBIgENAQABCAEAARsBLwEkNy8BJwEvAR4EBwEeAS8BJxYvAioBIgENAQABDAEAARUBLwEkXi8nLwEqAS8BIAENAQgBDAEGARUBLwEiNy8BJAEvARwBBgIMAQYBHAEvASQWLwEqAS8BIAENAQgBDAEGAQ0BLwEnXi8nLwEqAS8BIAENAQcBDAEGARwBLwEkNy8BJAEvAR4BBgEMAQcBDQEhAS8BKhcvAScBKgENAQABDAEAARUBLwEiXi8nLwEqAS8BIAENAQcBDAEGAR4BLwEkNy8BJAEvAR4BBgEMAQcBDQEgAS8BKhcvAScBLwENAQABDAEAARUBLwEiXi8nLwEqAS8BIAENAQcBDAEGAR4BLwEkNy8BJAEvAR4BBgEMAQcBDQEgAS8BKhcvAScBLwENAQABDAEAARUBLwEiXi8nLwEqAS8BIAENAQcBDAEGAR4BLwEkNy8BJAEvAR4BBgEMAQcBDQEgAS8BKhcvAScBLwENAQABDAEAARUBLwEiXi8nLwEqAS8BIAENAQcBDAEGAR4BLwEkNy8BJAEvAR4BBgEMAQcBDQEgAS8BKhcvAScBLwENAQABDAEAARUBLwEiXi8nLwEqAS8BIAENAQcBDAEGAR4BLwEkNy8BJAEvAR4BBgEMAQcBDQEgAS8BKhcvAScBLwENAQABDAEAARUBLwEiXi8nLwEqAS8BIAENAQcBDAEGAR4BLwEkAi8BKgEkBCIBJAEqEC8BJAEiASQTLwEkASIBJwQvASQBLwEeAQYBDAEHAQ0BIAEvASoCLwEnASQEIgEnASoNLwEnAS8BDQEAAQwBAAEVAS8BIgIvASoBJAQiASQBKhkvAScBJAQiAScBKjMvJy8BKgEvASABDQEHAQwBBgEeAS8CJAEnCC8BJwEkDS8BKgMvASoVLwEqAy8BJAEvAR4BBgEMAQcBDQEgAS8BJwEkASoILwEkAScLLwEnAS8BDQEAAQwBAAEVAS8BIgIkCC8BJwEkASoTLwEqASIBKggvASIBJzEvJy8BKgEvASABDQEHAQwBBgEeAScBIgIvASEBHgEbAhUBGwEeASECLwEqAScKLwEqAS8BHgEVAR4BLwEqDi8CKgEvARsBFQEeAS8BKgIvASQBLwEeAQYBDAEHAQ0BIAEkAy8BHwEcARsCFQEbAR4BIAIvASQBKgkvAScBLwENAQABDAEAARUBJwEiAi8BIAEeARsCFQEbARwBHwMvAScRLwEkAy8BHgEcAxUBGwEeASICLwEkASovLycvASoBLwEgAQ0BBwEMAQYBHAIvARwBFQENAQYEAAEGAQ0BFQEcAi8BJAgvASQBLwEcAQYBAAEGARwBLwEkDS8BJAEqARUCAAENAR4BKgEnAS8BJAEvAR4BBgEMAQcBDQEhAS8BIgEbAQ0BDAEGBAABBwENARUBHgIvAScILwEnAS8BDQEAAQwBAAEVAi8BHAEVAQ0BBgUAAQ0BFQEbASIBLwEkDi8BKgEnAS8BIQEbAQ0BCAUAAQcBDQEVAR4CLwEnLi8nLwEqAS8BIAENAQcBDAEAAR4BHwENAQYBAAEHBgwBBwEAAQYBFQEeAS8BJAcvAScBLwENAQABDQEAAQ0BLwEnDC8BKgEvASABDQEIAQ0BAAEVAS8BIgEvASQBLwEeAQYBDAEHAQ0BLwEcAQ0BAAEGAQgFDAEIAQcBAAEIARUBIAEvASQHLwEnAS8BDQEAAQwBAAEbAR8BDQEGAQABBwYMAQcCAAENARwBLwEnDC8BKgIvARsBDQEAAQYBCAUMAQgBBwEAAQgBFQEgAS8BJC0vJy8BKgEvASABDQEHAQgBBwEVAQ0BAAMMAQgBBgIAAQYBCAMMAQABDQEcAS8BJAYvASQBLwEVAQYBDAEGAQ0BLwEnDC8BKgEvASABDQEHAQwBBgEbAS8BJAEvASQBLwEeAQYBDAEHAQ0BFQEHAQYDDAEIAQYCAAEHAQgCDAEIAQABDQEeAS8BJAYvAScBLwENAQABDAEHARUBDQEAAwwBCAEHAgABBgEIAwwCBgEbAS8BJAEqCS8CKgEgARUBAAEHAwwBBwEGAQABBgEHAQgCDAEIAQABDQEeAS8BJywvJy8BKgEvASABDQEHAggBBgEHAgwBBwEAAQgEDQEIAQABBwIMAQcBAAEbAS8BJAUvASIBLwEbAQABDAEAAQ0BLwEnDC8BKgEvASABDQEHAQwBBgEeAS8BJAEvASQBLwEeAQYBDAIIAQABCAIMAQYBAAEMBA0BBwEAAQgCDAEGAQ0BHgEvAScFLwEnAS8BDQEAAQwBCAIHAgwBBwEAAQgEDQEMAQABBgMMAQABFQEvASQILwEqAScBIAENAQADDAEAAQYFDQEHAQABCAIMAQYBDQEeAS8BJysvJy8BKgEvASABDQEHAggBDAEIAQwBAAENARUBHgEiAi8BIgEeARUBDQEAAgwBCAEHAR4BLwEnBC8BIgEvARUBAAEMAQABDQEvAScMLwEqAS8BIAENAQcBDAEGARwBLwEkAS8BJAEvAR4BBgEMAggCDAEIAQABDQEbAR8DLwEgAR4BFQEIAQYCDAEGAQ0BIAEnASoELwEnAS8BDQEAAQwBCAEMAQgBDAEAAQ0BFQEeASACLwEiAR8BGwENAQABCAIMAQABGwEvASQHLwEkAS8BFQEAAgwBBwEGAQ0BHAEhAy8BIAEeARUBCAEGAgwBBgENASABJwEqKi8nLwEqAS8BIAENAQcDCAEMAQABFQEhAy8CJwMvASEBFQEAAgwBBwENASABJwEqAy8BIgEvARUBAAEMAQABDQEvAScMLwEqAS8BIAENAQcBDAEGAR4BLwEkAS8BJAEvAR4BBgEMBAgBBgEVASICLwEqAicDLwEeAQ0BAAIMAQABFQEvASQELwEnAS8BDQEAAQwCCAEMAQABFQEhAy8CJwMvASIBFQEGAQgBDAEIAQcBHgEvAScFLwEkAS8BGwEAAgwBBwENARwDLwEqAicDLwEeAQ0BAAIMAQABFQEvASQqLycvASoBLwEgAQ0BBwIIAQwBAAEVAi8BIgEnASoCLwEqAScBIgIvARUBAAIMAQABFQEvASQDLwEiAS8BFQEAAQwBAAENAS8BJwwvASoBLwEgAQ0BBwEMAQYBHgEvASQBLwEkAS8BHgEGAQwDCAEGARsBLwEqASIBKgMvASoBJwEiAS8BIAENAQYCDAEGAR4BLwEkAy8BJwEvAQ0BAAEMAQgBDAEAARUCLwEiAScBKgIvAioBIgEqAS8BGwEGAQgBDAEGAQ0BLwEnBC8CKgEhAQ0BBwEMAQcBDQEeAS8CJAEqAy8BKgEnASIBLwEgAQ0BBgIMAQYBHgEvASQpLycvASoBLwEgAQ0BBwEIAQwBBgENASoBJAEnCC8BJwEkASoBDQEGAQwBBwENASEBLwEqAi8BIgEvARUBAAEMAQABDQEvAScMLwEqAS8BIAENAQcBDAEGAR4BLwEkAS8BJAEvAR4BBgEMAQgBDAEAARUBLwEiASoILwEiAS8BHwEMAQcBDAEGAQ0CJwMvAScBLwENAQACDAEGAQ0BKgEkAScILwEqASIBLwEVAQACDAEHAR4BLwEkAy8BIgEvARUBAAIMAQYBHAEvASIJLwEiAS8BHwEMAQcBDAEGAQ0CJykvJy8BKgEvASABDQEHAQgBDAEHAR4BLwEkCi8BJAEvAR4BBwEIAQwBAAEbAS8BIgIvASIBLwEVAQABDAEAAQ0BLwEnDC8BKgEvASABDQEHAQwBBgEeAS8BJAEvASQBLwEeAQYBDAEIAQcBDQEgASQBKgovASIBLwEVAQABDAIIAR4BLwEnAi8BJwEvAQ0BAAIMAQcBHgEvASQKLwEqASQBIAENAQcBDAEAARUBLwEkAy8BKgEiAQ0BBwEMAQYBFQEvASILLwEiAS8BFQEAAQwCCAEeAS8BJygvJy8BKgEvASABDQEHAQwBBgENAS8BJwwvAScBLwENAQYBDAEAARUBLwEkAi8BIgEvARUBAAEMAQABDQEvAScMLwEqAS8BIAENAQcBDAEGARwBLwEkAS8BJAEvAR4BBgIMAQABFQEvASILLwIqASEBDQEHAQwBAAEbAS8BIgIvAScBLwEVAQABDAEGAQ0BLwEnDC8BIgEvARUBAAEMAQcBDQEiASoCLwEnAS8BHgIIAQwBBgEcASoBJAsvAScBKgEhAQ0BBwEMAQABGwEvASIoLycvASoBLwEgAQ0BBwEMAQABFQEvASIMLwEiAS8BFQEAAQwBBgENASIBKgIvASIBLwEVAQABDAEAAQ0BLwEnDC8BKgEvASABDQEHAQwBBgEeAS8BJAEvASQBLwEeAQYCDAEGAR4BKgEkDC8BJwEvARUBAAEMAQABFQEvASICLwEqASIBDQEGAQwBAAEVAS8BIgwvASQBKgEeAQYBDAEIAQwBHwEvAScBLwEkAS8BHAEAAQwBBwENASABLwEqDC8BJwEvARUBAAEMAQABFQEvASIoLycvASoBLwEgAQ0BBwEMAQYBHAEvASQMLwEkAS8BHAEGAQwBBwENASABLwEqAS8BIgEvARUBAAEMAQABDQEvAScMLwEqAS8BIAENAQcBDAEGARwBLwEkAS8BJAEvAR4BBgEMAQcBDQEhAS8BKgwvASIBLwEVAQABDAEAAQ0BLwEnAS8BKgEvASABDQEHAQwBAAEVAS8BIgwvASoBLwEhAQ0BBwEMAQYBHAEvASQBLwEiAS8BFQEAAQwBBgENASoBJw0vAScBIgENAQYBDAEAAQ0BLwEnKC8nLwEqAS8BIAENAQcBDAEGAR4BLwEkDC8BJAEvAR4BBgEMAQcBDQEgAS8BKgEvAScBLwENAQABDAEAAQ0BKgEnDC8BKgEvASABDQEHAQwBAAEVAS8BIgEvASQBLwEeAQYBDAEHAQ0BIAEvASoMLwEiAS8BFQEAAQwBAAENAS8BJwEvASoBLwEgAQ0BBwEMAQABFQEvASIMLwEqAS8BIAENAQcBDAEGAR4BLwEkAS8BIgEvARUBAAEMAQABDQEvAScMLwEqAS8BIQENAQcBDAEAAQ0BLwEnKC8nLwEqAS8BIAENAQcBDAEGARwBLwEkDC8BJAEvARwBBgEMAQcBDQEgAS8BKgEvASQBLwEVAQABDAEAARUBLwEnDC8BKgEvASABDQEHAQwBBgEcAS8BJAEvASQBLwEeAQYBDAEHAQ0BIQEvASoMLwEiAS8BFQEAAQwBAAENAS8BJwEvASoBLwEgAQ0BBwEMAQABFQEvASIMLwEqAS8BIQENAQcBDAEGARwBLwEkAS8BIgEvARUBAAEMAQYBDQEqAScNLwEnASIBDQEGAQwBAAENAS8BJygvJy8BKgEvASABDQEHAQwBAAEVAS8BIgwvASIBLwEVAQABDAEGAQ0BIgEqAi8BIgEvARsBBgEMAQcBDQEhAioLLwEkASoBHgEHAQgBDAEGAR4BLwEkAS8BJAEvAR4BBgIMAQYBHgEqASQMLwEnAS8BFQEAAQwBAAEVAS8BIgIvASoBIgENAQYBDAEAARUBLwEiDC8BJAEqAR4BBgEMAQgBDAEfAS8BJwEvASQBLwEcAQABDAEHAQ0BIAEvASoMLwEnAS8BDQEAAQwBAAEVAS8BJCgvJy8BKgEvASABDQEHAQwBBgENAS8BJwwvAScBLwENAQYBDAEAARUBLwEkAi8BJAEvARwBBgIMAQABGwEnASILLwEiAS8BFQEAAgwBBgEcAS8BJAEvASQBLwEeAQYCDAEAARUBLwEiCy8CKgEhAQ0BBwEMAQABGwEvASICLwEnAS8BFQEAAQwBBgENAS8BJwwvASIBLwEVAQABDAEHAQ0BIgEqAi8BJwEvAR4CCAEMAQYBHAEqASQLLwEnASoBIQENAQcBDAEAARUBLwEiKC8nLwEqAS8BIAENAQcBCAEMAQcBHgEvASQKLwEkAS8BHgEHAQgBDAEAARsBLwEiAi8BKgEvASEBDQEHAQwBBgEVAS8BIgovAScBKgEhAQ0CCAEMAQYBHgEvASQBLwEkAS8BHgEGAQwBCAEHAQ0BIAEkASoKLwEiAS8BFQEAAQwCCAEeAS8BJwIvAScBLwENAQACDAEHAR4BLwEkCi8BKgEkASABDQEHAQwBAAEVAS8BJAMvASoBIgENAQcBDAEGARUBLwEiCy8BIgEvARUBAAIMAQABFQEvASIoLycvASoBLwEgAQ0BBwEIAQwBBgENASoBJAEnCC8BJwEkASoBDQEGAQwBBwENASEBLwEqAy8BJwEvARUBBgEMAQgBBwEcAS8BIggvAicBLwEVAQcBDAEIAQwBBgEeAS8BJAEvASQBLwEeAQYBDAEIAQwBAAEVAS8BIgEqCC8BIgEvAR8BDAEHAQwBBgENAicDLwEnAS8BDQEAAgwBBgENASoBJAEnCC8BKgEiAS8BFQEAAgwBBwEeAS8BJAMvASIBLwEVAQACDAEGARwBLwEiCS8BIgEvAR8BDAEHAQgBDAEAARUBLwEiKC8nLwEqAS8BIAENAQcCCAEMAQABFQIvASIBJwEqAi8BKgEnASICLwEVAQACDAEAARUBLwEkBC8BJwEvAR4BDAIIAg0BHgEvAScBJAIqAS8BKgEnASQBLwEqARUBAAMIAQwBBgEeAS8BJAEvASQBLwEeAQYBDAMIAQYBGwEvASoBIgEqAy8BKgEnASIBLwEgAQ0BBgIMAQYBHgEvASQDLwEnAS8BDQEAAQwBCAEMAQABFQIvASIBJwEqAi8CKgEiASoBLwEbAQYBCAEMAQYBDQEvAScELwIqASEBDQEHAQwBBwENAR4BLwIkASoDLwEqAScBIgEvASABDQEGAQwBCAEMAQABFQEvASIoLycvASoBLwEgAQ0BBwMIAQwBAAEVASEDLwInAy8BIQEVAQACDAEHAQ0BIAEnASoFLwEkAS8BFQEGAQwBDQEHAQ0BHAEnAy8BKgMvASEBFQEGAQwDCAEMAQYBHgEvASQBLwEkAS8BHgEGAQwECAEGARUBIgIvASoCJwMvAR4BDQEAAgwBAAEVAS8BJAQvAScBLwENAQABDAIIAQwBAAEVASEDLwInAy8BIgEVAQYBCAEMAQgBBwEeAS8BJwUvASQBLwEbAQACDAEHAQ0BHAMvASoCJwMvAR4BDQEAAQwCCAEMAQABFQEvASIoLycvASoBLwEgAQ0BBwIIAQwBCAEMAQABDQEVAR4BIgIvASIBHgEVAQ0BAAIMAQgBBwEeAS8BJwYvASoBJAEqAQ0BAAEMAQgBDQEIAQ0BHAEfASABLwEgAR4BGwENAQgBDQQIAQwBBgEcAS8BJAEvASQBLwEeAQYBDAIIAgwBCAEAAQ0BGwEfAy8BIAEeARUBCAEGAgwBBgENASABJwEqBC8BJwEvAQ0BAAEMAwgBDAEAAQ0BFQEeASACLwEiAR8BGwENAQABCAIMAQABGwEvASQHLwEkAS8BFQEAAgwBBwEGAQ0BHAEhAy8BIAEeARUBCAEGAQwDCAEMAQABFQEvASIoLycvASoBLwEgAQ0BBwIIAgcCDAEHAQABCAQNAQgBAAEHAgwBBwEAARsBLwEkCC8BKgEkASABFQEAAQwCCAEABg0BDAIIAQwBCAEHAggBDAEGAR4BLwEkAS8BJAEvAR4BBgEMAggBBgEIAgwBBgEAAQwEDQEHAQABCAIMAQYBDQEeAS8BJwUvAScBLwEVAQABDAEIAgcCDAEHAQABCAQNAQwBAAEGAwwBAAEVAS8BJAgvASoBJwEgAQ0BAAMMAQABBgUNAQcBAAEIAgwBBwIIAQwBAAEbAS8BIigvJy8BKgEvASABDQEHAQwBBwEVAQ0BAAMMAQgBBgIAAQYBCAMMAQABDQEcAS8BJAovASoBLwEgARUBAAEIBAwBBwEGAQcEDAEGAQgBGwENAQcBDAEGARsBLwEkAS8BJAEvARwBBgEMAQgBDAEVAQgBBgMMAQgBBgIAAQcBCAIMAQgBAAENAR4BLwEkBS8CKgEiAQ0BBwEMAQcCDQEAAwwBCAEHAgABBgEIAwwCBgEbAS8BJAEqCS8CKgEgARUBAAEHAwwBBwEGAQABBgEHAQgCDAEIAQACDQEHAQwBBgEVAS8BJCgvJy8BKgEvASABDQEIAQ0BAAEbASEBDQEGAQABBwYMAQcBAAEGARUBHgEvASQMLwEnAi8BHAENAQABBgEHAQgDDAEIAQcBAAEGAQ0BHgEnAQ0BBwENAQABFQEvASIBLwEkAS8BHgEAAgwBAAIeAQ0BAAEGAQgFDAEIAQcBAAEIARUBIAEvASQGLwEqAS8BIAEMAQgBDQEAARUBHwEVAQYBAAEHBgwBBwIAAQ0BHAEvAScMLwEqAi8BGwENAQABBgEIBQwBCAEHAQABCAEVASEBDQEHAQ0BAAENAS8BJygvKC8BJAEqARUCAAENAR4CLwEcARUBDQEGBAABBgENARUBHAIvASQOLwEqAScBLwEfARsCDQEHAQYBBwEGAQcBDQEVARwCLwEiARUCAAENAR4BKgEnAS8BKgEnASABDQIAAQ0BIAEvASIBGwENAQwBBgQAAQcBDQEVAR4CLwEnCC8BJAEqARUCAAEGARwCLwEcARUBDQEGBQABDQEVARsBIgEvASQOLwEqAScBLwEhARsBDQEIBQABBwENARUBHgIvARUCAAEGARwBLwEkKC8oLwIqAS8BGwEVAR4BLwEkASoCLwEhAR4BGwIVARsBHgEhAi8BKgEnES8BJAMvASEBHgEcAR4BHAEeASADLwEkASoBLwEbARUBHgEvASoDLwEqAS8BIAIbASABLwEiAy8BHwEcARsCFQEbAR4BIAIvASQBKgkvASoCLwEcARUBHgEvAScBKgIvASABHgEbAhUBGwEcAR8DLwEnES8BJAMvAR4BHAMVARsBHgEiAi8BJAEnAS8BHAEVAR4BLwEqKS8uLwEqAi8BJAEnCC8BJwEkFC8BJwEiAScHLwIkBy8BKgwvASoBJAEqCC8BJAEnES8BKgIvAiQILwEnASQBKhMvASoBIgEqCC8BIgEnBi8BKiovKy8BJAEiAScFLwEqASQEIgEkASoZLwEqAiQBJwEkAScBKgYvASQBIgEnBy8BKgIiASoFLwEnASQEIgEnASoQLwEkASIBJwUvASoBJAQiASQBKhkvAScBJAQiAScBKgUvASQBIgEnKy/wL/Av8C/wL/Avni8BJwEjUC+rLwIjQy+cLwEpAS8BHwEcASNPL5svAisBIAERAQEBHAEvASMGLwIrAhwCK0Evmy8BKwEvASABEQECAR0BLwElBS8BIwEvARwCAQEcAS8BI0AveS8CKwMvAisBLQcvASsCJQEpAi8BJwEtBS8BLQIrAS0CLwErAS8BIAERAQIBHQEvASMCKwMvASMBLwEcAgEBHAEvASMBKwEvBCsJLwEtAystL3cvASsBJQIvASsBIwElAy8BJQQvASsBJQQvAiUFLwEpASMELwEjAisBLwEgAREBAgEdASUDLwErASUCLwErAScCHQInAi8BIwQvASMBKwUvASsBIwQvASMBKysveS8CIAMvASIBIAEtAS8BJwIvASsCLwEgAh0BIAIvAR8BJQIvASkCLwElAiABJQIvASsBLwEgAREBAgEfAS8DIAIvASsBLwErAS8CIAIvAR8BIAEvASMCIAEiAi8BJwMvASsCLwElAiABIgIvASsqL3UvAisBIAEZAhEBFAEcARkCEQEUAR0BLwEpASsBLwEgARkBEQICAREBGQEcAQEBGQEvASMBLwEfARkBFAIRARQBGQEgAS0BLwEgAREBAwEcARQDEQEUAR0BLwEjASsBHwIRASABHQEBARQBGQEUAxEBGQEgAS8BJwEvASsBLwEgARkBFAMRARkBIAEvASkpL3UvAScBKwEUAQECAgEBAgIBAQECAQEBAwEdAS8BJQEgARQCAQIRAQIBAQEDAQIBFAIvAR8BEQIBAgICAQEUASIBLwEgARECBAIBAgICAQEZAi8BHQECAQsBIAEZAQEBAwECAQECAgIBAREBHwEvASMBKQEgARQCAQICAgEBFAEgAisoL3QvASUBLwEdAQMBEQEcAR0BFAEDAREBHAEdARQBAQEUASsBLwEZAQEBEQEcAR8BIAEdARQBBAECARQBLwEgARQBAQERARwCHQEZAQEBFAEiAS8BIAERAQQBAwEUAx0BFAECAQsBHAEtAR0BAgERAS8BHAEBAhEBGQIdARwBEQEBARQBIAEnASsBFAEBAQMBGQIdARkBAwEBARQBIwEpKC90LwEjAS8BGQEBAREBIgEvARwBAQERASIBLwEcAQEBEQEjAR8BEQECAR0ELwEfAREBAgEUAS8BHAEBAREBHQQvAR0BIAIvASABEQEDAREBHwQvARQBAQERAS8BHQECAREBKwEcAQIBAwEZBC8BHQERAQEBHAEvAR0CAwEcBC8BHQERAQIBHQEvASUnL3QvASMBLwEZAQEBFAEjASUBHQECAREBIAElAR0BAgERAS8BHAEBARQBKwEjAScBKwEjAS8BGQEBARQBLwEUAQEBGQEvASMCJQEpAi8BKwEvASABEQEBARkBLwEjASUBIwEvAR8BEQECAh8BAQERAS8BHAEBAREBIAErASMBJQEjAS8BGQEBARQBLwEZAQEBEQUZARwBEQEBARwBLwEjJy90LwEjAS8BGQEBARQCLwEdAQIBEQEgAS8BHQECAREBLwEZAQEBFAErAScCLwEjASUBHAEBARQBLwEUAQEBHAElASMCLwEtASMBJwErAS8BIAERAQEBHAErASMBLwErAS8BIAERAQEBHAEfAQEBEQEvARwBAQERASABLQErAS8BIwEpARwBAQERASMBFAECAQoGAQECAQEBFAEvASUnL3QvASMBLwEZAQEBFAIvAR0BAgERASABLwEdAQIBEQEvARwBAQEUASsBIwEnASsBIwEvARkBAQEUAS8BFAEBARkBLwEjAiUBKQIvASsBLwEgAREBAgEdAS8BJQEvASsBLwEgAREBAQIfAQEBEQEvARwBAQEUASkBJwIvASMBLwEZAQEBFAEvARkBAQERCBQBHQEvASknL3QvASMBLwEZAQEBFAIvAR0BAgERASABLwEdAQIBEQEiAR8BEQECAR0ELwEfAREBAgEUAS8BHAEBAREBHQQvAR0BIAIvASABEQECAR0BLwElAS8BKwEvASABEQEBAh8BAQERASsBHAEBARQBLwEnAi8BIwEvARkBAQEUAS8BHQEBAQsBHQQvAR0BGQEiAS8BKygvdC8BIwEvARwBAQEUAi8BHQECAREBIAEvAR0BAgERASABLwEZAQEBEQEcAR8BIAEdARQBBAECARQBLwEgARQBAQERARwCHQEZAQEBFAEiAS8BIAERAQIBHQEvASUBLwErAS8BIAERAQECHwEBAREBLwEcAQEBFAEvAScCLwEjAS8BHAEBARQBLwEiARQBAgEDARkCHQEZAQQBAQEZASkBIygvdC8BIwEvARkBAQEUASIBLwEcAQEBEQEgAS8BHAEBAREBIAEvASABFAIBAhEBAgEBAQMBAgEUAi8BHwERAgECAgIBARQBIgEvASABEQEBARwBLwEjAS8BKwEvASABEQEBAR0BHwEBAQsBIAEcAQEBFAEiAisBLwEjAS8BGQEBARQBIgEvASABFAIBAgICAQEUAR8CKygvdC8BJQEvAR0BAQEUASIBLQEdAQEBFAEiAS0BHQEBARQBIgEpAS8BIAEZARECAgERARkBHAEBARkBLwEjAS8BHwEZARQCEQEUARkBIAEvASkBIgEUAQEBHQEvASUBLwErASkBIgEUAQEBHQEgAhEBIAEdAQEBFAEiAisBLwElAS8BHQEBARQBIgEnAS8BIAEZARQCEQEUARkBIAEvASspL3cvAR8BIAEvASsBLwEfASABLwErAS8BHwEgAS8CKwIvASACHQEgAi8BHwElAi8BKQIvASUCIAElAy8BKwEvASABHwUvASsBLwEgAR8CLwIfAi8BHwEgAS8BKwUvAR8BIAEvAisCLwEnAiABJQIvASsqL3YvASsELwErBC8BKwUvASsBJQQvAiUFLwEpASMELwEjASsFLwErCC8CKwIvAisILwErBS8BKwEjBC8BIwErKy93LwElASsDLwElASsDLwElASsFLwErAiUBKQIvAScBLQUvAS0CKwEtBS8BKwElBy8BKwElAi8CJwIvASUBKwcvASUBKwUvAS0CKwEtLS/wL/Av8C/wL/Av8C/wL/Av8C/wL/Av8C/wLwAAAABCTlMxBQEDAgl8WgJTQVcgTU9USU9OAABOQUhVU0gAAAAAAABAAAAAWEBAAAAtAABAQAAAFAABPUAAQAAUAF9/PgBffz4BPQNPAW4FeAh4DHgAAAAAAAAAAQD/QO/A5kDf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UgBFANIAiQBTAEoA0wCKAFQASgDUAIoAVQBHANUAiwBVAFAA1gCKAFYAQQDXAIsAVwBGANcAjQBYAEIA2ACMAFkAUwDZAIsAWgBLANoAjgBaAEAA2wCPAFsAWgDcAJMAXABaANwAjQBdAFQA3QCPAF4ATwDeAI4AXwBSAN8AkgBfAEUA4ACPAGAAVADhAJEAYQBcAOIAkABiAFMA4gCaAGMAVgDjAJUAZABeAOQAjABkAFgA5QCRAGUASgDmAJIAZgBKAOcAkABnAF0A5wCdAGgAKgDoAJgAaQBWAOkAlwBpAEsA6gCTAGoAQwDrAI8AawBKAOwAlQBsAFMA7ACYAG0AUQDtAJEAbgBqAO4AlwBvAEYA7wCVAG8ATwDwAIwAcABWAPEAlQBxAG0A8QCeAHIASQDyAKAAcwBTAPMAjAB0AF0A9ACVAHQAcgD1AK8AdQB888DCQHhIskC4wahAl8CiQabBnUGSwJhBnMGVQY7AkkGUwY9BicGNQY/CikGGwYhBisKGQoPBhUKGwoNCgMGCQoPCgEJ9wn9CgMN+QnvCfEJ+w3tDecJ6Q3vDeUN3wnhDecN3Q3XDdkN3xHZDdMN1Q3bEdERyw3NEdMRyRHHDckRyxHFEb8RwRHHFcERuxG9FcMVuRW3EbkVuxW1FbMRsRW3FbEVrxWtFbMZrRWrFakZrxmpGacVpRmrGaUZoxWhGacZoRmfGZ0Zox2dGZsZmR2fHZkdlxmZHZsdlR2TGZUdlx2RHZMdkR2TIZEdjx2NIZMhjSGLHYkhjyGJIYcdiSGLIYUhhyGFIYclhSGDIYElhyWBJX8hgSWDJX0lfyF9JX8lfSV7JXklfyl5JXsleSl7KXUpdyV1KXcpdSlzJXUpdylxKXMpcSlzLXEpbylxLXMtbS1vKW0tby1tLWstaS1vLWktay1pLWsxaS1nLWUxazFlMWctZTFnMWUxYzFhMWcxYTFjMWExYzVhMV8xYTVjNV01XzFdNV81XTVfNV01XzVZNVs1WTVbOVk1WzVZOVs5WTlXNVU5WzlVOVc5VTlXOVU5VzlVOVc9UTlTOVE9Uz1RPVM5UT1TPVE9Tz1RPVM9TT1PPU09T0FNPU89TUFPQU1BSz1JQU9BSUFLQUlD3wNJA3sDCQNLAuEDKwLJBxMGtQcDBqEG8waVBuMGiQbbBn0GzwZ1BscGaQa/BmEKtwpdCq8KVQqnCk0KowpJCpsKQQqXCj0Kkwo5CosKNQqHDi0Ogw4pDn8OJQ57DiEOdw4dDnMOGQ5vDhkOaw4VDmsSERJnEg0SYxIJEl8SCRJfEgUSWxIBElcSARJXEf0SUxX5Fk8V+RZPFfUWSxX1FkcV8RZHFe0WQxXtFkMV6Ro/GekaPxnlGjsZ5Ro7GeEaNxnhGjcZ3RozGd0aMxndHjMd2R4vHdkeLx3VHisd1R4rHdEeJx3RHicd0R4nHc0eIyHNIiMhySIjIckiHyHJIh8hxSIbIcUiGyHFIhshwSIXJcEmFyXBJhclvSYTJb0mEyW9JhMluSYTJbkmDyW5Jg8puSoPKbUqCym1KgsptSoLKbEqBymxKgcpsSoHKbEuBy2tLgMtrS4DLa0uAy2tLgMtqS3/Lakt/y2pLf8tqTH/MaUx+zGlMfsxpTH7MaUx+zGhMfcxoTH3MaEx9zGhMfc1nTX3NZ018zWdNfM1nTXzNZ018zWZNe81mTXvNZk17zmZOe85lTnvOZU56zmVOes5lTnrOZU56zmVOes5kTnnPZE95z2RPec9kT3nPZE95z2NPec9jT3jPY094z2NQeNBjUHjQYlB40GJQd9BiUP/AAKnmwABH2sAAu9LAAEDMwQBLx8EAwMTBAMDAwQCtvcEAwLvBAPq4wQBAtsEAE7TCALOzwgBAscIAQK/CAECuwgAorcIAvavCAFOqwgDDqcMAaKjDAECnwwBApsMAAKXDAMCkwwDAo8MAyqLDAEChxAAAocQAQKDEAECfxAAAnsQAQJ7EAACdxABAnMQAQJzFAMWbxQAAmsUAAJrFAACZxQDAmcUAAJjFACCYxQAAl8YAQJfGAACWxgAAlsYAAJXGAACVxgAAlMYAAJTGAACTxwBAk8cAAJLHAMCSxwAAkscAAJHHAACRxwAAkMcAAJDIAECQyAAAj8gAwI/IAACPyADTjsgAAI7IAACOyAAAjckAAI3JAACNyQDTjMkAAIzJAACMyQAAi8kAAIvJAACLygAAisoAAIrKAACKygAAisoAIInKAACJygAAicoAAIjLAACIywAAiMsAAIjLAACHywAAh8sAAIfLAACHywAAhswAAIbMAACGzAAAhswAAIXMAACFzAAAhcwAAIXMAACFzQAAhM0AAITNAACEzQAAhM0AAIPNAACDzQAAg80AAIPOAACDzgAAgs4AAILOAACCzgAAgs4AAILOAACBzgAAgc8AAIHPAACBzwAAgc8AAIDPAACAzwAAgM8AAIDPAACA0AAAgNAAAH/QAAB/0AAA+NXnwN6rAELT1c7Ay6sAtsXWwsHArADAvNa6wbmsAMC21rXBtKwAYbHWsMGvrADArdeswqutAECq16nCqK0AbafXpsKlrQBApNejwqOtAPKi2KHDoa4AAKDYn8OfrgBAntidw52uAC2c2JvDm64AU5rZmcSZrwBAmdmYxJivAACX2ZbElq8AQJbZlcSVrwBAldqUxZSwAECT2pPFk7AAQJLakcWSsAAAkdqQxZCwAGCQ24/Gj7EA9Y/bjsaOsQAAjtuNxo2xAACN24zGjbEAwIzcjMeMsgAAi9yLx4uyAACK3IrHirIAQIrciceJsgAAid2IyImzAECI3YjIiLMAAIfdh8iHswAAh92GyIazAACG3obJhrQAAIXehcmFtAAAhd6EyYS0AMCE3oTJhLQAAITfg8qDtQDAg9+CyoO1AACC34LKgrUAAILfgcqCtQAAgeCBy4G2AACB4IDLgLYAAIDggMuAtgAAgOB/y3+2AAB/4X/Mf7cAAH/hfsx/twAAfuF+zH63AAB+4X3MfrcAAH3ifc19uAAAfeJ8zX24AAB84nzNfLgAAHzifM18uAAAfON7znu5AAB743vOe7kAAHvjes57uQAAeuN6znq5AAB65HrPeroAAHrkec96ugAAeeR5z3m6AAB55HnPeboAAHnleNB4uwAAeOV40Hi7AADr7Ofa4czbwNa1zqa+lGWBuO3C28PNwsHAtrunrZVlgqjutNy2zrbDtbewqKSWZYOf76vdrs+uw624qamel2WEmO+k3qjQqMWouaSqmZhlhZLwn9+j0aTFo7qgq5WZZYaN8Zvgn9Ggx6C7naySmWWHifKX4JvSncidvJqtj5pliIXylOGY05rImr2XrY2bZYmC85HildSXype+la6LnGWKf/SO45PVlcqVv5OviZ1li3z0jOSR1pPMk8CRsIeeZYx59YnkjteRzJHBj7GGn2WNdvaH5YzYj82Qwo6yhKBljnT2heaL2Y3PjsKMs4OgZY9x94PnidqLz43Di7SCoWWQb/eB6IfbitCMxIq1gaJlkW34f+iG3InRisWJtYCjZZJq+H7phN2H04nGh7Z/pGWTaPh86oPehtSIx4a3fqVllGb4e+uB34XVh8iFuH6mZZVk+XnrgOCE1obJhbl9p2WWYfl37H/gg9aFyoS6fKhll1/5du194YHXhMuDu3upZZhd+XXufOKA2IPMgrx7qWWZW/hz7nvjf9qCzYG9eqplmlj4cu965H/agc6BvnqrZZtW93DweeV+24HPgL95rGWcU/Zv8Hjmfd2A0H+/ea1lnVH1bvF353zdf9F/wHiuZZ5P9Gzxduh7337SfsF4r2WfTPJr8nXpet9+037Cd7BloOnw5+Dk0N/A2LHOobyRaYG18cHhxdHFwcKyuqKrkmmCpvKz4rnSusO3s7CjopNpg5zzq+Ow07LDsLSppJyUaYSV9KTkqtSsxaq1pKWXlWmFj/Wf5aXVp8WmtqCmk5Zphor2muah1qPHorecp5CXaYeG95fnntegyJ+4maiOmGmIgviT6JvYncicuZepi5lpiX75kOmY2ZvKmrqVqomaaYp7+o7qldqYype7k6uIm2mLd/uL65PblsyVvJGshpxpjHT8ieyR3JTMlL2PrYWdaY1x/Yftj92SzZK+jq6DnmmObv6F7o3ekc+Qv4yvgp9pj2v/g++M34/Pj8CLsIGgaZBpAIHwiuCO0I3BirGAoWmRZgF/8YjhjNGMwoiyf6JpkmMCffKH4ovTi8OHs3+jaZNgA3vzheOK1IrEhrR+pGmUXQR69ITkiNWJxYW1faVplVoFePWD5YfWiMaFtnymaZZWBnf2guaG1ofHhLd8p2mXUwd194DnhdeGyIO4e6hpmE8IdPh/6ITYhcmCuXupaZlLCXL5fumD2oTKgbp6qmmaRwpx+n3qgtqDy4G7eatpm0ILb/t864HbgsyAvHmsaZw7DG78e+yA3YLNf714rWmdNA1t/Xrtf92Bzn++eK5pnikOa/557n/fgM9+v3ivaZ8XD2r/eO9+33/QfcB3sGmgAAAAAEJOUzEFAQEC1SdaEFNJUkVOAAAAAAAAAEFCU1RSLiBNQUdFAEAAACsrQEAAAC0AAEBAAAAUAAVkDwBAQBRBX39UAF9/PgE8AgABbgV4CHgMeAAAAAAAAAAIAPnAycAAWgCLAA8AdQD3AGMAhgDuAIYAsQBSAAoAlQC/ABcANQBlAGgADQCgAKwAGwBjAFsAdgDTAAkAcAC0ANUAOAAdANUAMAC+APAAOQCjAG0ABQCKANQAOwA6AO8AkgCTAKMAXgBPAPcACgDtAIsAjwAmALsA6ABcAJAAVACYAPoAGQC4ACkA/ADFANYANwBqAI8AKQDYAEUANwDLAKYAjQAtAOoAdgAvALUAEQBZAKoA+ABDABEAAQCsANgARgDEANEAgABwADUASQDgALgAaAAJAFwASgC9AIoAIwD/APIAugAFADUAtgC+AIYAWgDsAJwAWQAfAOMACgAIANAA6QAYAGUAYgDKADQA4ABhAEQA4QDTAJkAbgA8ANAAyQBIADYAiwDxADsA5wAUACwAuwBeAFkAlgDwAIYANQD8ANYAqQCSAEcAPwBEAEsAnACpALMAdQAhAOcAGgCaAP0ACgB6AF4AjgCxABsAuwCuAHcAFQAEAFsAgABUAA0AFwAvAMsAkwBPADUAsQA/ABgAAwCaAK4A1QBTAFwAAQCiAJcAMAAjAFYAZgDDAI4AWQChABoAwgC/AEMAQwCDAKoA/AAeALgAowCPAJgAFQDrAFAAVwBMAPYANACcAMcA2QBEAIAAvAC7ADMAVwDOACsARQDVAKEA4wCeAGUAugB8/cANgdbAABO2wACAbUEAWGLCAIFYQgA3UcMAgUpDADxExACCP0QAOzrEAIM2RQBDMsUAgy9GAEMrxgCDKEYAOyXHAIMjRwBBIMgAhB5IAEMbyACEGUkATBfJAIUVSgA+E8oAhRFLAEAQywCGDksASAzMAIYLTABLCc0AhwhNAEkGzQCHBU4APwDOAIgATwBLAM8AiABQAEgA0ACJAFAASwDRAIgAUQBLANIAigBSAEUA0gCJAFMASgDTAIoAVABKANQAigBVAEcA1QCLAFUAUADWAIoAVgBBANcAiwBXAEYA1wCNAFgAQgDYAIwAWQBTANkAiwBaAEsA2gCOAFoAQADbAI8AWwBaANwAkwBcAFoA3ACNAF0AVADdAI8AXgBPAN4AjgBfAFIA3wCSAF8ARQDgAI8AYABUAOEAkQBhAFwA4gCQAGIAUwDiAJoAYwBWAOMAlQBkAF4A5ACMAGQAWADlAJEAZQBKAOYAkgBmAEoA5wCQAGcAXQDnAJ0AaAAqAOgAmABpAFYA6QCXAGkASwDqAJMAagBDAOsAjwBrAEoA7ACVAGwAUwDsAJgAbQBRAO0AkQBuAGoA7gCXAG8ARgDvAJUAbwBPAPAAjABwAFYA8QCVAHEAbQDxAJ4AcgBJAPIAoABzAFMA8wCMAHQAXQD0AJUAdAByAPUArwB1AHzzwMJAeEiyQLjBqECXwKJBpsGdQZLAmEGcwZVBjsCSQZTBj0GJwY1Bj8KKQYbBiEGKwoZCg8GFQobCg0KAwYJCg8KAQn3Cf0KAw35Ce8J8Qn7De0N5wnpDe8N5Q3fCeEN5w3dDdcN2Q3fEdkN0w3VDdsR0RHLDc0R0xHJEccNyRHLEcURvxHBEccVwRG7Eb0VwxW5FbcRuRW7FbUVsxGxFbcVsRWvFa0VsxmtFasVqRmvGakZpxWlGasZpRmjFaEZpxmhGZ8ZnRmjHZ0ZmxmZHZ8dmR2XGZkdmx2VHZMZlR2XHZEdkx2RHZMhkR2PHY0hkyGNIYsdiSGPIYkhhx2JIYshhSGHIYUhhyWFIYMhgSWHJYElfyGBJYMlfSV/IX0lfyV9JXsleSV/KXkleyV5KXspdSl3JXUpdyl1KXMldSl3KXEpcylxKXMtcSlvKXEtcy1tLW8pbS1vLW0tay1pLW8taS1rLWktazFpLWctZTFrMWUxZy1lMWcxZTFjMWExZzFhMWMxYTFjNWExXzFhNWM1XTVfMV01XzVdNV81XTVfNVk1WzVZNVs5WTVbNVk5WzlZOVc1VTlbOVU5VzlVOVc5VTlXOVU5Vz1ROVM5UT1TPVE9UzlRPVM9UT1PPVE9Uz1NPU89TT1PQU09Tz1NQU9BTUFLPUlBT0FJQUtBSUPfA0kDewMJA0sC4QMrAskHEwa1BwMGoQbzBpUG4waJBtsGfQbPBnUGxwZpBr8GYQq3Cl0KrwpVCqcKTQqjCkkKmwpBCpcKPQqTCjkKiwo1CocOLQ6DDikOfw4lDnsOIQ53Dh0Ocw4ZDm8OGQ5rDhUOaxIREmcSDRJjEgkSXxIJEl8SBRJbEgESVxIBElcR/RJTFfkWTxX5Fk8V9RZLFfUWRxXxFkcV7RZDFe0WQxXpGj8Z6Ro/GeUaOxnlGjsZ4Ro3GeEaNxndGjMZ3RozGd0eMx3ZHi8d2R4vHdUeKx3VHisd0R4nHdEeJx3RHicdzR4jIc0iIyHJIiMhySIfIckiHyHFIhshxSIbIcUiGyHBIhclwSYXJcEmFyW9JhMlvSYTJb0mEyW5JhMluSYPJbkmDym5Kg8ptSoLKbUqCym1KgspsSoHKbEqBymxKgcpsS4HLa0uAy2tLgMtrS4DLa0uAy2pLf8tqS3/Lakt/y2pMf8xpTH7MaUx+zGlMfsxpTH7MaEx9zGhMfcxoTH3MaEx9zWdNfc1nTXzNZ018zWdNfM1nTXzNZk17zWZNe81mTXvOZk57zmVOe85lTnrOZU56zmVOes5lTnrOZU56zmROec9kT3nPZE95z2RPec9kT3nPY095z2NPeM9jT3jPY1B40GNQeNBiUHjQYlB30GJQ/8AAqebAAEfawAC70sAAQMzBAEvHwQDAxMEAwMDBAK29wQDAu8EA+rjBAEC2wQATtMIAs7PCAECxwgBAr8IAQK7CACitwgC9q8IAU6rCAMOpwwBoqMMAQKfDAECmwwAApcMAwKTDAMCjwwDKosMAQKHEAAChxABAoMQAQJ/EAACexABAnsQAAJ3EAECcxABAnMUAxZvFAACaxQAAmsUAAJnFAMCZxQAAmMUAIJjFAACXxgBAl8YAAJbGAACWxgAAlcYAAJXGAACUxgAAlMYAAJPHAECTxwAAkscAwJLHAACSxwAAkccAAJHHAACQxwAAkMgAQJDIAACPyADAj8gAAI/IANOOyAAAjsgAAI7IAACNyQAAjckAAI3JANOMyQAAjMkAAIzJAACLyQAAi8kAAIvKAACKygAAisoAAIrKAACKygAgicoAAInKAACJygAAiMsAAIjLAACIywAAiMsAAIfLAACHywAAh8sAAIfLAACGzAAAhswAAIbMAACGzAAAhcwAAIXMAACFzAAAhcwAAIXNAACEzQAAhM0AAITNAACEzQAAg80AAIPNAACDzQAAg84AAIPOAACCzgAAgs4AAILOAACCzgAAgs4AAIHOAACBzwAAgc8AAIHPAACBzwAAgM8AAIDPAACAzwAAgM8AAIDQAACA0AAAf9AAAH/QAAD41efA3qsAQtPVzsDLqwC2xdbCwcCsAMC81rrBuawAwLbWtcG0rABhsdawwa+sAMCt16zCq60AQKrXqcKorQBtp9emwqWtAECk16PCo60A8qLYocOhrgAAoNifw5+uAECe2J3Dna4ALZzYm8ObrgBTmtmZxJmvAECZ2ZjEmK8AAJfZlsSWrwBAltmVxJWvAECV2pTFlLAAQJPak8WTsABAktqRxZKwAACR2pDFkLAAYJDbj8aPsQD1j9uOxo6xAACO243GjbEAAI3bjMaNsQDAjNyMx4yyAACL3IvHi7IAAIrciseKsgBAityJx4myAACJ3YjIibMAQIjdiMiIswAAh92HyIezAACH3YbIhrMAAIbehsmGtAAAhd6FyYW0AACF3oTJhLQAwITehMmEtAAAhN+DyoO1AMCD34LKg7UAAILfgsqCtQAAgt+ByoK1AACB4IHLgbYAAIHggMuAtgAAgOCAy4C2AACA4H/Lf7YAAH/hf8x/twAAf+F+zH+3AAB+4X7MfrcAAH7hfcx+twAAfeJ9zX24AAB94nzNfbgAAHzifM18uAAAfOJ8zXy4AAB843vOe7kAAHvje857uQAAe+N6znu5AAB643rOerkAAHrkes96ugAAeuR5z3q6AAB55HnPeboAAHnkec95ugAAeeV40Hi7AAB45XjQeLsAAOvs59rhzNvA1rXOpr6UZYG47cLbw83CwcC2u6etlWWCqO603LbOtsO1t7CopJZlg5/vq92uz67DrbipqZ6XZYSY76TeqNCoxai5pKqZmGWFkvCf36PRpMWjuqCrlZllho3xm+Cf0aDHoLudrJKZZYeJ8pfgm9KdyJ28mq2PmmWIhfKU4ZjTmsiavZetjZtliYLzkeKV1JfKl76VroucZYp/9I7jk9WVypW/k6+JnWWLfPSM5JHWk8yTwJGwh55ljHn1ieSO15HMkcGPsYafZY129ofljNiPzZDCjrKEoGWOdPaF5ovZjc+Owoyzg6Blj3H3g+eJ2ovPjcOLtIKhZZBv94Hoh9uK0IzEirWBomWRbfh/6IbcidGKxYm1gKNlkmr4fumE3YfTicaHtn+kZZNo+Hzqg96G1IjHhrd+pWWUZvh764HfhdWHyIW4fqZllWT5eeuA4ITWhsmFuX2nZZZh+Xfsf+CD1oXKhLp8qGWXX/l27X3hgdeEy4O7e6llmF35de584oDYg8yCvHupZZlb+HPue+N/2oLNgb16qmWaWPhy73rkf9qBzoG+eqtlm1b3cPB55X7bgc+Av3msZZxT9m/weOZ93YDQf795rWWdUfVu8XfnfN1/0X/AeK5lnk/0bPF26HvfftJ+wXivZZ9M8mvydel6337TfsJ3sGWg6fDn4OTQ38DYsc6hvJFpgbXxweHF0cXBwrK6oquSaYKm8rPiudK6w7ezsKOik2mDnPOr47DTssOwtKmknJRphJX0pOSq1KzFqrWkpZeVaYWP9Z/lpdWnxaa2oKaTlmmGivaa5qHWo8eit5ynkJdp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XQBUAN0AjwBeAE8A3gCOAF8AUgDfAJIAXwBFAOAAjwBgAFQA4QCRAGEAXADiAJAAYgBTAOIAmgBjAFYA4wCVAGQAXgDkAIwAZABYAOUAkQBlAEoA5gCSAGYASgDnAJAAZwBdAOcAnQBoACoA6ACYAGkAVgDpAJcAaQBLAOoAkwBqAEMA6wCPAGsASgDsAJUAbABTAOwAmABtAFEA7QCRAG4AagDuAJcAbwBGAO8AlQBvAE8A8ACMAHAAVgDxAJUAcQBtAPEAngByAEkA8gCgAHMAUwDzAIwAdABdAPQAlQB0AHIA9QCvAHUAfPPAwkB4SLJAuMGoQJfAokGmwZ1BksCYQZzBlUGOwJJBlMGPQYnBjUGPwopBhsGIQYrChkKDwYVChsKDQoDBgkKDwoBCfcJ/QoDDfkJ7wnxCfsN7Q3nCekN7w3lDd8J4Q3nDd0N1w3ZDd8R2Q3TDdUN2xHREcsNzRHTEckRxw3JEcsRxRG/EcERxxXBEbsRvRXDFbkVtxG5FbsVtRWzEbEVtxWxFa8VrRWzGa0VqxWpGa8ZqRmnFaUZqxmlGaMVoRmnGaEZnxmdGaMdnRmbGZkdnx2ZHZcZmR2bHZUdkxmVHZcdkR2THZEdkyGRHY8djSGTIY0hix2JIY8hiSGHHYkhiyGFIYchhSGHJYUhgyGBJYclgSV/IYElgyV9JX8hfSV/JX0leyV5JX8peSV7JXkpeyl1KXcldSl3KXUpcyV1KXcpcSlzKXEpcy1xKW8pcS1zLW0tbyltLW8tbS1rLWktby1pLWstaS1rMWktZy1lMWsxZTFnLWUxZzFlMWMxYTFnMWExYzFhMWM1YTFfMWE1YzVdNV8xXTVfNV01XzVdNV81WTVbNVk1WzlZNVs1WTlbOVk5VzVVOVs5VTlXOVU5VzlVOVc5VTlXPVE5UzlRPVM9UT1TOVE9Uz1RPU89UT1TPU09Tz1NPU9BTT1PPU1BT0FNQUs9SUFPQUlBS0FJQ98DSQN7AwkDSwLhAysCyQcTBrUHAwahBvMGlQbjBokG2wZ9Bs8GdQbHBmkGvwZhCrcKXQqvClUKpwpNCqMKSQqbCkEKlwo9CpMKOQqLCjUKhw4tDoMOKQ5/DiUOew4hDncOHQ5zDhkObw4ZDmsOFQ5rEhESZxINEmMSCRJfEgkSXxIFElsSARJXEgESVxH9ElMV+RZPFfkWTxX1FksV9RZHFfEWRxXtFkMV7RZDFekaPxnpGj8Z5Ro7GeUaOxnhGjcZ4Ro3Gd0aMxndGjMZ3R4zHdkeLx3ZHi8d1R4rHdUeKx3RHicd0R4nHdEeJx3NHiMhzSIjIckiIyHJIh8hySIfIcUiGyHFIhshxSIbIcEiFyXBJhclwSYXJb0mEyW9JhMlvSYTJbkmEyW5Jg8luSYPKbkqDym1KgsptSoLKbUqCymxKgcpsSoHKbEqBymxLgctrS4DLa0uAy2tLgMtrS4DLakt/y2pLf8tqS3/Lakx/zGlMfsxpTH7MaUx+zGlMfsxoTH3MaEx9zGhMfcxoTH3NZ019zWdNfM1nTXzNZ018zWdNfM1mTXvNZk17zWZNe85mTnvOZU57zmVOes5lTnrOZU56zmVOes5lTnrOZE55z2RPec9kT3nPZE95z2RPec9jT3nPY094z2NPeM9jUHjQY1B40GJQeNBiUHfQYlD/wACp5sAAR9rAALvSwABAzMEAS8fBAMDEwQDAwMEArb3BAMC7wQD6uMEAQLbBABO0wgCzs8IAQLHCAECvwgBArsIAKK3CAL2rwgBTqsIAw6nDAGiowwBAp8MAQKbDAAClwwDApMMAwKPDAMqiwwBAocQAAKHEAECgxABAn8QAAJ7EAECexAAAncQAQJzEAECcxQDFm8UAAJrFAACaxQAAmcUAwJnFAACYxQAgmMUAAJfGAECXxgAAlsYAAJbGAACVxgAAlcYAAJTGAACUxgAAk8cAQJPHAACSxwDAkscAAJLHAACRxwAAkccAAJDHAACQyABAkMgAAI/IAMCPyAAAj8gA047IAACOyAAAjsgAAI3JAACNyQAAjckA04zJAACMyQAAjMkAAIvJAACLyQAAi8oAAIrKAACKygAAisoAAIrKACCJygAAicoAAInKAACIywAAiMsAAIjLAACIywAAh8sAAIfLAACHywAAh8sAAIbMAACGzAAAhswAAIbMAACFzAAAhcwAAIXMAACFzAAAhc0AAITNAACEzQAAhM0AAITNAACDzQAAg80AAIPNAACDzgAAg84AAILOAACCzgAAgs4AAILOAACCzgAAgc4AAIHPAACBzwAAgc8AAIHPAACAzwAAgM8AAIDPAACAzwAAgNAAAIDQAAB/0AAAf9AAAPjV58DeqwBC09XOwMurALbF1sLBwKwAwLzWusG5rADAtta1wbSsAGGx1rDBr6wAwK3XrMKrrQBAqtepwqitAG2n16bCpa0AQKTXo8KjrQDyotihw6GuAACg2J/Dn64AQJ7YncOdrgAtnNibw5uuAFOa2ZnEma8AQJnZmMSYrwAAl9mWxJavAECW2ZXEla8AQJXalMWUsABAk9qTxZOwAECS2pHFkrAAAJHakMWQsABgkNuPxo+xAPWP247GjrEAAI7bjcaNsQAAjduMxo2xAMCM3IzHjLIAAIvci8eLsgAAityKx4qyAECK3InHibIAAIndiMiJswBAiN2IyIizAACH3YfIh7MAAIfdhsiGswAAht6GyYa0AACF3oXJhbQAAIXehMmEtADAhN6EyYS0AACE34PKg7UAwIPfgsqDtQAAgt+CyoK1AACC34HKgrUAAIHggcuBtgAAgeCAy4C2AACA4IDLgLYAAIDgf8t/tgAAf+F/zH+3AAB/4X7Mf7cAAH7hfsx+twAAfuF9zH63AAB94n3NfbgAAH3ifM19uAAAfOJ8zXy4AAB84nzNfLgAAHzje857uQAAe+N7znu5AAB743rOe7kAAHrjes56uQAAeuR6z3q6AAB65HnPeroAAHnkec95ugAAeeR5z3m6AAB55XjQeLsAAHjleNB4uwAA6+zn2uHM28DWtc6mvpRlgbjtwtvDzcLBwLa7p62VZYKo7rTcts62w7W3sKiklmWDn++r3a7PrsOtuKmpnpdlhJjvpN6o0KjFqLmkqpmYZYWS8J/fo9GkxaO6oKuVmWWGjfGb4J/RoMegu52skpllh4nyl+Cb0p3InbyarY+aZYiF8pThmNOayJq9l62Nm2WJgvOR4pXUl8qXvpWui5xlin/0juOT1ZXKlb+Tr4mdZYt89IzkkdaTzJPAkbCHnmWMefWJ5I7XkcyRwY+xhp9ljXb2h+WM2I/NkMKOsoSgZY509oXmi9mNz47CjLODoGWPcfeD54nai8+Nw4u0gqFlkG/3geiH24rQjMSKtYGiZZFt+H/ohtyJ0YrFibWAo2WSavh+6YTdh9OJxoe2f6Rlk2j4fOqD3obUiMeGt36lZZRm+Hvrgd+F1YfIhbh+pmWVZPl564DghNaGyYW5fadllmH5d+x/4IPWhcqEunyoZZdf+XbtfeGB14TLg7t7qWWYXfl17nzigNiDzIK8e6llmVv4c+5743/ags2BvXqqZZpY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ATwCAAFuBXgIeAx4AAAAAAAAAAgA+cAA/QCXAIMADgAFAKAAnACtAL4AGACDAKgA3wBzAI8ADwANAM8AqwC5AJEAjQAAAD4ADgB7AC8AFwCFAL8APQBJAC8A0wCyAI8A7QAfAMIAogD0AD8AkQDXAK0AYAD+AJkA0gBVACQATABaALUA9gA6AKoAxABhAE4AkwD7AGYAwwA7AKsAJgBFAMcA1QDeAHoAigAsAH0AfQDaAN0AbQBWAOUAzQC2AD4AJgCUALYA0wB9AFYA+AARAPYAxwAJAL4A2gBJAAQAOACEAL8ANAAdAFsAXwAaALcAUwAxAEIAUgDMAGAAUwDiACsAZgAAAMsAXAA1ANoAzQDeADoA/AC+ALYAPQCbALwAoQCzAMQAOgDIAOoA3wC4AJ4AkgCIAD4A3QCsAAMAPQCmAMoArQCzAJYADwBTAKwAygChAN4ANAAHAKUA9AC+ADwAXgATAD4ADQCnABoAAwCpAFUAOQDPAGAANQBuAJsArgDLAA8ATwB8AAkAKgByAKYAFACtAIwAgABKALEARwDAABEACgB6AH8ApwB7AFAAlQAQABIAGwDMAGIAIACNAIcAGQCKAKUAZQDJAIcAOwBiAKQAgAAxAAIAFQB3AK0AngAoAD0AqQAkAGIAoQAwAI4AxABtADsAtQDDAE8AOgAbAKcA7QAxAD8ApADaANoAgADIAGH9wA2B1sAAE7bAAIBtQQBYYsIAgVhCADdRwwCBSkMAPETEAII/RAA7OsQAgzZFAEMyxQCDL0YAQyvGAIMoRgA7JccAgyNHAEEgyACEHkgAQxvIAIQZSQBMF8kAhRVKAD4TygCFEUsAQBDLAIYOSwBIDMwAhgtMAEsJzQCHCE0ASQbNAIcFTgA/AM4AiABPAEsAzwCIAFAASADQAIkAUABLANEAiABRAEsA0gCKAFIARQDSAIkAUwBKANMAigBUAEoA1ACKAFUARwDVAIsAVQBQANYAigBWAEEA1wCLAFcARgDXAI0AWABCANgAjABZAFMA2QCLAFoASwDaAI4AWgBAANsAjwBbAFoA3ACTAFwAWgDcAI0AXQBUAN0AjwBeAE8A3gCOAF8AUgDfAJIAXwBFAOAAjwBgAFQA4QCRAGEAXADiAJAAYgBTAOIAmgBjAFYA4wCVAGQAXgDkAIwAZABYAOUAkQBlAEoA5gCSAGYASgDnAJAAZwBdAOcAnQBoACoA6ACYAGkAVgDpAJcAaQBLAOoAkwBqAEMA6wCPAGsASgDsAJUAbABTAOwAmABtAFEA7QCRAG4AagDuAJcAbwBGAO8AlQBvAE8A8ACMAHAAVgDxAJUAcQBtAPEAngByAEkA8gCgAHMAUwDzAIwAdABdAPQAlQB0AHIA9QCvAHUAfPPAwkB4SLJAuMGoQJfAokGmwZ1BksCYQZzBlUGOwJJBlMGPQYnBjUGPwopBhsGIQYrChkKDwYVChsKDQoDBgkKDwoBCfcJ/QoDDfkJ7wnxCfsN7Q3nCekN7w3lDd8J4Q3nDd0N1w3ZDd8R2Q3TDdUN2xHREcsNzRHTEckRxw3JEcsRxRG/EcERxxXBEbsRvRXDFbkVtxG5FbsVtRWzEbEVtxWxFa8VrRWzGa0VqxWpGa8ZqRmnFaUZqxmlGaMVoRmnGaEZnxmdGaMdnRmbGZkdnx2ZHZcZmR2bHZUdkxmVHZcdkR2THZEdkyGRHY8djSGTIY0hix2JIY8hiSGHHYkhiyGFIYchhSGHJYUhgyGBJYclgSV/IYElgyV9JX8hfSV/JX0leyV5JX8peSV7JXkpeyl1KXcldSl3KXUpcyV1KXcpcSlzKXEpcy1xKW8pcS1zLW0tbyltLW8tbS1rLWktby1pLWstaS1rMWktZy1lMWsxZTFnLWUxZzFlMWMxYTFnMWExYzFhMWM1YTFfMWE1YzVdNV8xXTVfNV01XzVdNV81WTVbNVk1WzlZNVs1WTlbOVk5VzVVOVs5VTlXOVU5VzlVOVc5VTlXPVE5UzlRPVM9UT1TOVE9Uz1RPU89UT1TPU09Tz1NPU9BTT1PPU1BT0FNQUs9SUFPQUlBS0FJQ98DSQN7AwkDSwLhAysCyQcTBrUHAwahBvMGlQbjBokG2wZ9Bs8GdQbHBmkGvwZhCrcKXQqvClUKpwpNCqMKSQqbCkEKlwo9CpMKOQqLCjUKhw4tDoMOKQ5/DiUOew4hDncOHQ5zDhkObw4ZDmsOFQ5rEhESZxINEmMSCRJfEgkSXxIFElsSARJXEgESVxH9ElMV+RZPFfkWTxX1FksV9RZHFfEWRxXtFkMV7RZDFekaPxnpGj8Z5Ro7GeUaOxnhGjcZ4Ro3Gd0aMxndGjMZ3R4zHdkeLx3ZHi8d1R4rHdUeKx3RHicd0R4nHdEeJx3NHiMhzSIjIckiIyHJIh8hySIfIcUiGyHFIhshxSIbIcEiFyXBJhclwSYXJb0mEyW9JhMlvSYTJbkmEyW5Jg8luSYPKbkqDym1KgsptSoLKbUqCymxKgcpsSoHKbEqBymxLgctrS4DLa0uAy2tLgMtrS4DLakt/y2pLf8tqS3/Lakx/zGlMfsxpTH7MaUx+zGlMfsxoTH3MaEx9zGhMfcxoTH3NZ019zWdNfM1nTXzNZ018zWdNfM1mTXvNZk17zWZNe85mTnvOZU57zmVOes5lTnrOZU56zmVOes5lTnrOZE55z2RPec9kT3nPZE95z2RPec9jT3nPY094z2NPeM9jUHjQY1B40GJQeNBiUHfQYlD/wACp5sAAR9rAALvSwABAzMEAS8fBAMDEwQDAwMEArb3BAMC7wQD6uMEAQLbBABO0wgCzs8IAQLHCAECvwgBArsIAKK3CAL2rwgBTqsIAw6nDAGiowwBAp8MAQKbDAAClwwDApMMAwKPDAMqiwwBAocQAAKHEAECgxABAn8QAAJ7EAECexAAAncQAQJzEAECcxQDFm8UAAJrFAACaxQAAmcUAwJnFAACYxQAgmMUAAJfGAECXxgAAlsYAAJbGAACVxgAAlcYAAJTGAACUxgAAk8cAQJPHAACSxwDAkscAAJLHAACRxwAAkccAAJDHAACQyABAkMgAAI/IAMCPyAAAj8gA047IAACOyAAAjsgAAI3JAACNyQAAjckA04zJAACMyQAAjMkAAIvJAACLyQAAi8oAAIrKAACKygAAisoAAIrKACCJygAAicoAAInKAACIywAAiMsAAIjLAACIywAAh8sAAIfLAACHywAAh8sAAIbMAACGzAAAhswAAIbMAACFzAAAhcwAAIXMAACFzAAAhc0AAITNAACEzQAAhM0AAITNAACDzQAAg80AAIPNAACDzgAAg84AAILOAACCzgAAgs4AAILOAACCzgAAgc4AAIHPAACBzwAAgc8AAIHPAACAzwAAgM8AAIDPAACAzwAAgNAAAIDQAAB/0AAAf9AAAPjV58DeqwBC09XOwMurALbF1sLBwKwAwLzWusG5rADAtta1wbSsAGGx1rDBr6wAwK3XrMKrrQBAqtepwqitAG2n16bCpa0AQKTXo8KjrQDyotihw6GuAACg2J/Dn64AQJ7YncOdrgAtnNibw5uuAFOa2ZnEma8AQJnZmMSYrwAAl9mWxJavAECW2ZXEla8AQJXalMWUsABAk9qTxZOwAECS2pHFkrAAAJHakMWQsABgkNuPxo+xAPWP247GjrEAAI7bjcaNsQAAjduMxo2xAMCM3IzHjLIAAIvci8eLsgAAityKx4qyAECK3InHibIAAIndiMiJswBAiN2IyIizAACH3YfIh7MAAIfdhsiGswAAht6GyYa0AACF3oXJhbQAAIXehMmEtADAhN6EyYS0AACE34PKg7UAwIPfgsqDtQAAgt+CyoK1AACC34HKgrUAAIHggcuBtgAAgeCAy4C2AACA4IDLgLYAAIDgf8t/tgAAf+F/zH+3AAB/4X7Mf7cAAH7hfsx+twAAfuF9zH63AAB94n3NfbgAAH3ifM19uAAAfOJ8zXy4AAB84nzNfLgAAHzje857uQAAe+N7znu5AAB743rOe7kAAHrjes56uQAAeuR6z3q6AAB65HnPeroAAHnkec95ugAAeeR5z3m6AAB55XjQeLsAAHjleNB4uwAA6+zn2uHM28DWtc6mvpRlgbjtwtvDzcLBwLa7p62VZYKo7rTcts62w7W3sKiklmWDn++r3a7PrsOtuKmpnpdlhJjvpN6o0KjFqLmkqpmYZYWS8J/fo9GkxaO6oKuVmWWGjfGb4J/RoMegu52skpllh4nyl+Cb0p3InbyarY+aZYiF8pThmNOayJq9l62Nm2WJgvOR4pXUl8qXvpWui5xlin/0juOT1ZXKlb+Tr4mdZYt89IzkkdaTzJPAkbCHnmWMefWJ5I7XkcyRwY+xhp9ljXb2h+WM2I/NkMKOsoSgZY509oXmi9mNz47CjLODoGWPcfeD54nai8+Nw4u0gqFlkG/3geiH24rQjMSKtYGiZZFt+H/ohtyJ0YrFibWAo2WSavh+6YTdh9OJxoe2f6Rlk2j4fOqD3obUiMeGt36lZZRm+Hvrgd+F1YfIhbh+pmWVZPl564DghNaGyYW5fadllmH5d+x/4IPWhcqEunyoZZdf+XbtfeGB14TLg7t7qWWYXfl17nzigNiDzIK8e6llmVv4c+5743/ags2BvXqqZZpY+HLveuR/2oHOgb56q2WbVvdw8HnlftuBz4C/eaxlnFP2b/B45n3dgNB/v3mtZZ1R9W7xd+d83X/Rf8B4rmWeT/Rs8Xboe99+0n7BeK9ln0zya/J16XrfftN+wnewZaDp8Ofg5NDfwNixzqG8kWmBtfHB4cXRxcHCsrqiq5Jpgqbys+K50rrDt7Owo6KTaYOc86vjsNOyw7C0qaSclGmElfSk5KrUrMWqtaSll5VphY/1n+Wl1afFpragppOWaYaK9prmodajx6K3nKeQl2mHhveX557XoMifuJmojphpiIL4k+ib2J3InLmXqYuZaYl++ZDpmNmbypq6laqJmmmKe/qO6pXamMqXu5OriJtpi3f7i+uT25bMlbyRrIacaYx0/InskdyUzJS9j62FnWmNcf2H7Y/dks2Svo6ug55pjm7+he6N3pHPkL+Mr4KfaY9r/4PvjN+Pz4/Ai7CBoGmQaQCB8IrgjtCNwYqxgKFpkWYBf/GI4YzRjMKIsn+iaZJjAn3yh+KL04vDh7N/o2mTYAN784XjitSKxIa0fqRplF0EevSE5IjVicWFtX2laZVaBXj1g+WH1ojGhbZ8pmmWVgZ39oLmhtaHx4S3fKdpl1MHdfeA54XXhsiDuHuoaZhPCHT4f+iE2IXJgrl7qWmZSwly+X7pg9qEyoG6eqppmkcKcfp96oLag8uBu3mraZtCC2/7fOuB24LMgLx5rGmcOwxu/HvsgN2CzX+9eK1pnTQNbf167X/dgc5/vniuaZ4pDmv+ee5/34DPfr94r2mfFw9q/3jvft9/0H3Ad7BpoAgA+cAA/QCXAIMADgAFAKAAnACtAL4AGACDAKgA3wBzAI8ADwANAM8AqwC5AJEAjQAAAD4ADgB7AC8AFwCFAL8APQBJAC8A0wCyAI8A7QAfAMIAogD0AD8AkQDXAK0AYAD+AJkA0gBVACQATABaALUA9gA6AKoAxABhAE4AkwD7AGYAwwA7AKsAJgBFAMcA1QDeAHoAigAsAH0AfQDaAN0AbQBWAOUAzQC2AD4AJgCUALYA0wB9AFYA+AARAPYAxwAJAL4A2gBJAAQAOACEAL8ANAAdAFsAXwAaALcAUwAxAEIAUgDMAGAAUwDiACsAZgAAAMsAXAA1ANoAzQDeADoA/AC+ALYAPQCbALwAoQCzAMQAOgDIAOoA3wC4AJ4AkgCIAD4A3QCsAAMAPQCmAMoArQCzAJYADwBTAKwAygChAN4ANAAHAKUA9AC+ADwAXgATAD4ADQCnABoAAwCpAFUAOQDPAGAANQBuAJsArgDLAA8ATwB8AAkAKgByAKYAFACtAIwAgABKALEARwDAABEACgB6AH8ApwB7AFAAlQAQABIAGwDMAGIAIACNAIcAGQCKAKUAZQDJAIcAOwBiAKQAgAAxAAIAFQB3AK0AngAoAD0AqQAkAGIAoQAwAI4AxABtADsAtQDDAE8AOgAbAKcA7QAxAD8ApADaANoAgADIAGH9wA2B1sAAE7bAAIBtQQBYYsIAgVhCADdRwwCBSkMAPETEAII/RAA7OsQAgzZFAEMyxQCDL0YAQyvGAIMoRgA7JccAgyNHAEEgyACEHkgAQxvIAIQZSQBMF8kAhRVKAD4TygCFEUsAQBDLAIYOSwBIDMwAhgtMAEsJzQCHCE0ASQbNAIcFTgA/AM4AiABPAEsAzwCIAFAASADQAIkAUABLANEAiABRAEsA0gCKAFIARQDSAIkAUwBKANMAigBUAEoA1ACKAFUARwDVAIsAVQBQANYAigBWAEEA1wCLAFcARgDXAI0AWABCANgAjABZAFMA2QCLAFoASwDaAI4AWgBAANsAjwBbAFoA3ACTAFwAWgDcAI0AXQBUAN0AjwBeAE8A3gCOAF8AUgDfAJIAXwBFAOAAjwBgAFQA4QCRAGEAXADiAJAAYgBTAOIAmgBjAFYA4wCVAGQAXgDkAIwAZABYAOUAkQBlAEoA5gCSAGYASgDnAJAAZwBdAOcAnQBoACoA6ACYAGkAVgDpAJcAaQBLAOoAkwBqAEMA6wCPAGsASgDsAJUAbABTAOwAmABtAFEA7QCRAG4AagDuAJcAbwBGAO8AlQBvAE8A8ACMAHAAVgDxAJUAcQBtAPEAngByAEkA8gCgAHMAUwDzAIwAdABdAPQAlQB0AHIA9QCvAHUAfPPAwkB4SLJAuMGoQJfAokGmwZ1BksCYQZzBlUGOwJJBlMGPQYnBjUGPwopBhsGIQYrChkKDwYVChsKDQoDBgkKDwoBCfcJ/QoDDfkJ7wnxCfsN7Q3nCekN7w3lDd8J4Q3nDd0N1w3ZDd8R2Q3TDdUN2xHREcsNzRHTEckRxw3JEcsRxRG/EcERxxXBEbsRvRXDFbkVtxG5FbsVtRWzEbEVtxWxFa8VrRWzGa0VqxWpGa8ZqRmnFaUZqxmlGaMVoRmnGaEZnxmdGaMdnRmbGZkdnx2ZHZcZmR2bHZUdkxmVHZcdkR2THZEdkyGRHY8djSGTIY0hix2JIY8hiSGHHYkhiyGFIYchhSGHJYUhgyGBJYclgSV/IYElgyV9JX8hfSV/JX0leyV5JX8peSV7JXkpeyl1KXcldSl3KXUpcyV1KXcpcSlzKXEpcy1xKW8pcS1zLW0tbyltLW8tbS1rLWktby1pLWstaS1rMWktZy1lMWsxZTFnLWUxZzFlMWMxYTFnMWExYzFhMWM1YTFfMWE1YzVdNV8xXTVfNV01XzVdNV81WTVbNVk1WzlZNVs1WTlbOVk5VzVVOVs5VTlXOVU5VzlVOVc5VTlXPVE5UzlRPVM9UT1TOVE9Uz1RPU89UT1TPU09Tz1NPU9BTT1PPU1BT0FNQUs9SUFPQUlBS0FJQ98DSQN7AwkDSwLhAysCyQcTBrUHAwahBvMGlQbjBokG2wZ9Bs8GdQbHBmkGvwZhCrcKXQqvClUKpwpNCqMKSQqbCkEKlwo9CpMKOQqLCjUKhw4tDoMOKQ5/DiUOew4hDncOHQ5zDhkObw4ZDmsOFQ5rEhESZxINEmMSCRJfEgkSXxIFElsSARJXEgESVxH9ElMV+RZPFfkWTxX1FksV9RZHFfEWRxXtFkMV7RZDFekaPxnpGj8Z5Ro7GeUaOxnhGjcZ4Ro3Gd0aMxndGjMZ3R4zHdkeLx3ZHi8d1R4rHdUeKx3RHicd0R4nHdEeJx3NHiMhzSIjIckiIyHJIh8hySIfIcUiGyHFIhshxSIbIcEiFyXBJhclwSYXJb0mEyW9JhMlvSYTJbkmEyW5Jg8luSYPKbkqDym1KgsptSoLKbUqCymxKgcpsSoHKbEqBymxLgctrS4DLa0uAy2tLgMtrS4DLakt/y2pLf8tqS3/Lakx/zGlMfsxpTH7MaUx+zGlMfsxoTH3MaEx9zGhMfcxoTH3NZ019zWdNfM1nTXzNZ018zWdNfM1mTXvNZk17zWZNe85mTnvOZU57zmVOes5lTnrOZU56zmVOes5lTnrOZE55z2RPec9kT3nPZE95z2RPec9jT3nPY094z2NPeM9jUHjQY1B40GJQeNBiUHfQYlD/wACp5sAAR9rAALvSwABAzMEAS8fBAMDEwQDAwMEArb3BAMC7wQD6uMEAQLbBABO0wgCzs8IAQLHCAECvwgBArsIAKK3CAL2rwgBTqsIAw6nDAGiowwBAp8MAQKbDAAClwwDApMMAwKPDAMqiwwBAocQAAKHEAECgxABAn8QAAJ7EAECexAAAncQAQJzEAECcxQDFm8UAAJrFAACaxQAAmcUAwJnFAACYxQAgmMUAAJfGAECXxgAAlsYAAJbGAACVxgAAlcYAAJTGAACUxgAAk8cAQJPHAACSxwDAkscAAJLHAACRxwAAkccAAJDHAACQyABAkMgAAI/IAMCPyAAAj8gA047IAACOyAAAjsgAAI3JAACNyQAAjckA04zJAACMyQAAjMkAAIvJAACLyQAAi8oAAIrKAACKygAAisoAAIrKACCJygAAicoAAInKAACIywAAiMsAAIjLAACIywAAh8sAAIfLAACHywAAh8sAAIbMAACGzAAAhswAAIbMAACFzAAAhcwAAIXMAACFzAAAhc0AAITNAACEzQAAhM0AAITNAACDzQAAg80AAIPNAACDzgAAg84AAILOAACCzgAAgs4AAILOAACCzgAAgc4AAIHPAACBzwAAgc8AAIHPAACAzwAAgM8AAIDPAACAzwAAgNAAAIDQAAB/0AAAf9AAAPjV58DeqwBC09XOwMurALbF1sLBwKwAwLzWusG5rADAtta1wbSsAGGx1rDBr6wAwK3XrMKrrQBAqtepwqitAG2n16bCpa0AQKTXo8KjrQDyotihw6GuAACg2J/Dn64AQJ7YncOdrgAtnNibw5uuAFOa2ZnEma8AQJnZmMSYrwAAl9mWxJavAECW2ZXEla8AQJXalMWUsABAk9qTxZOwAECS2pHFkrAAAJHakMWQsABgkNuPxo+xAPWP247GjrEAAI7bjcaNsQAAjduMxo2xAMCM3IzHjLIAAIvci8eLsgAAityKx4qyAECK3InHibIAAIndiMiJswBAiN2IyIizAACH3YfIh7MAAIfdhsiGswAAht6GyYa0AACF3oXJhbQAAIXehMmEtADAhN6EyYS0AACE34PKg7UAwIPfgsqDtQAAgt+CyoK1AACC34HKgrUAAIHggcuBtgAAgeCAy4C2AACA4IDLgLYAAIDgf8t/tgAAf+F/zH+3AAB/4X7Mf7cAAH7hfsx+twAAfuF9zH63AAB94n3NfbgAAH3ifM19uAAAfOJ8zXy4AAB84nzNfLgAAHzje857uQAAe+N7znu5AAB743rOe7kAAHrjes56uQAAeuR6z3q6AAB65HnPeroAAHnkec95ugAAeeR5z3m6AAB55XjQeLsAAHjleNB4uwAA6+zn2uHM28DWtc6mvpRlgbjtwtvDzcLBwLa7p62VZYKo7rTcts62w7W3sKiklmWDn++r3a7PrsOtuKmpnpdlhJjvpN6o0KjFqLmkqpmYZYWS8J/fo9GkxaO6oKuVmWWGjfGb4J/RoMegu52skpllh4nyl+Cb0p3InbyarY+aZYiF8pThmNOayJq9l62Nm2WJgvOR4pXUl8qXvpWui5xlin/0juOT1ZXKlb+Tr4mdZYt89IzkkdaTzJPAkbCHnmWMefWJ5I7XkcyRwY+xhp9ljXb2h+WM2I/NkMKOsoSgZY509oXmi9mNz47CjLODoGWPcfeD54nai8+Nw4u0gqFlkG/3geiH24rQjMSKtYGiZZFt+H/ohtyJ0YrFibWAo2WSavh+6YTdh9OJxoe2f6Rlk2j4fOqD3obUiMeGt36lZZRm+Hvrgd+F1YfIhbh+pmWVZPl564DghNaGyYW5fadllmH5d+x/4IPWhcqEunyoZZdf+XbtfeGB14TLg7t7qWWYXfl17nzigNiDzIK8e6llmVv4c+5743/ags2BvXqqZZpY+HLveuR/2oHOgb56q2WbVvdw8HnlftuBz4C/eaxlnFP2b/B45n3dgNB/v3mtZZ1R9W7xd+d83X/Rf8B4rmWeT/Rs8Xboe99+0n7BeK9ln0zya/J16XrfftN+wnewZaDp8Ofg5NDfwNixzqG8kWmBtfHB4cXRxcHCsrqiq5Jpgqbys+K50rrDt7Owo6KTaYOc86vjsNOyw7C0qaSclGmElfSk5KrUrMWqtaSll5VphY/1n+Wl1afFpragppOWaYaK9prmodajx6K3nKeQl2mHhveX557XoMifuJmojphpiIL4k+ib2J3InLmXqYuZaYl++ZDpmNmbypq6laqJmmmKe/qO6pXamMqXu5OriJtpi3f7i+uT25bMlbyRrIacaYx0/InskdyUzJS9j62FnWmNcf2H7Y/dks2Svo6ug55pjm7+he6N3pHPkL+Mr4KfaY9r/4PvjN+Pz4/Ai7CBoGmQaQCB8IrgjtCNwYqxgKFpkWYBf/GI4YzRjMKIsn+iaZJjAn3yh+KL04vDh7N/o2mTYAN784XjitSKxIa0fqRplF0EevSE5IjVicWFtX2laZVaBXj1g+WH1ojGhbZ8pmmWVgZ39oLmhtaHx4S3fKdpl1MHdfeA54XXhsiDuHuoaZhPCHT4f+iE2IXJgrl7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xZpFmsWZRZnFmUWYxZhFmMWYRZfFl0aXxpdGlsaWRpbGlkaVxpVGlcaVRpTGlEaUxpRGlMaTR5PHk0eTx5JHkseSR5LHkkeRx5FHkceRR5HHkEeQyJBIkMiQSI/Ij0iPyI9Ij8iPSI7IjkiOyI5IjsiOSI3IjUmNyY1JjcmNSYzJjEmMyYxJjMmMSYvJi0mLyYtJi8mLSovKikqKyopKisqKSorKikqJyolKicqJSonKiUqJyohLiMuIS4jLiEuIy4hLiMuHS4fLh0uHy4dLh8uHS4fLhkyGzIZMhsyGTIbMhkyGzIVMhcyFTIXMhUyFzIVMhcyFTYTNhE2EzYRNhM2ETYTNhE2EzYNNg82DTYPNg02DzYNOg86DToPOgk6CzoJOgs6CToLOgk6CzoJOgs6BToHOgU+Bz4FPgc+BT4HPgU+Bz4BPgM+AT4DPgE+Az4BPgM+AUIDQgFCA0H9Qf9B/UH/QCAD5wAD9AJcAgwAOAAUAoACcAK0AvgAYAIMAqADfAHMAjwAPAA0AzwCrALkAkQCNAAAAPgAOAHsALwAXAIUAvwA9AEkALwDTALIAjwDtAB8AwgCiAPQAPwCRANcArQBgAP4AmQDSAFUAJABMAFoAtQD2ADoAqgDEAGEATgCTAPsAZgDDADsAqwAmAEUAxwDVAN4AegCKACwAfQB9ANoA3QBtAFYA5QDNALYAPgAmAJQAtgDTAH0AVgD4ABEA9gDHAAkAvgDaAEkABAA4AIQAvwA0AB0AWwBfABoAtwBTADEAQgBSAMwAYABTAOIAKwBmAAAAywBcADUA2gDNAN4AOgD8AL4AtgA9AJsAvAChALMAxAA6AMgA6gDfALgAngCSAIgAPgDdAKwAAwA9AKYAygCtALMAlgAPAFMArADKAKEA3gA0AAcApQD0AL4APABeABMAPgANAKcAGgADAKkAVQA5AM8AYAA1AG4AmwCuAMsADwBPAHwACQAqAHIApgAUAK0AjACAAEoAsQBHAMAAEQAKAHoAfwCnAHsAUACVABAAEgAbAMwAYgAgAI0AhwAZAIoApQBlAMkAhwA7AGIApACAADEAAgAVAHcArQCeACgAPQCpACQAYgChADAAjgDEAG0AOwC1AMMATwA6ABsApwDtADEAPwCkANoA2gCAAMgAYf3ADYHWwAATtsAAgG1BAFhiwgCBWEIAN1HDAIFKQwA8RMQAgj9EADs6xACDNkUAQzLFAIMvRgBDK8YAgyhGADslxwCDI0cAQSDIAIQeSABDG8gAhBlJAEwXyQCFFUoAPhPKAIURSwBAEMsAhg5LAEgMzACGC0wASwnNAIcITQBJBs0AhwVOAD8AzgCIAE8ASwDPAIgAUABIANAAiQBQAEsA0QCIAFEASwDSAIoAUgBFANIAiQBTAEoA0wCKAFQASgDUAIoAVQBHANUAiwBVAFAA1gCKAFYAQQDXAIsAVwBGANcAjQBYAEIA2ACMAFkAUwDZAIsAWgBLANoAjgBaAEAA2wCPAFsAWgDcAJMAXABaANwAjQBdAFQA3QCPAF4ATwDeAI4AXwBSAN8AkgBfAEUA4ACPAGAAVADhAJEAYQBcAOIAkABiAFMA4gCaAGMAVgDjAJUAZABeAOQAjABkAFgA5QCRAGUASgDmAJIAZgBKAOcAkABnAF0A5wCdAGgAKgDoAJgAaQBWAOkAlwBpAEsA6gCTAGoAQwDrAI8AawBKAOwAlQBsAFMA7ACYAG0AUQDtAJEAbgBqAO4AlwBvAEYA7wCVAG8ATwDwAIwAcABWAPEAlQBxAG0A8QCeAHIASQDyAKAAcwBTAPMAjAB0AF0A9ACVAHQAcgD1AK8AdQB888DCQHhIskC4wahAl8CiQabBnUGSwJhBnMGVQY7AkkGUwY9BicGNQY/CikGGwYhBisKGQoPBhUKGwoNCgMGCQoPCgEJ9wn9CgMN+QnvCfEJ+w3tDecJ6Q3vDeUN3wnhDecN3Q3XDdkN3xHZDdMN1Q3bEdERyw3NEdMRyRHHDckRyxHFEb8RwRHHFcERuxG9FcMVuRW3EbkVuxW1FbMRsRW3FbEVrxWtFbMZrRWrFakZrxmpGacVpRmrGaUZoxWhGacZoRmfGZ0Zox2dGZsZmR2fHZkdlxmZHZsdlR2TGZUdlx2RHZMdkR2TIZEdjx2NIZMhjSGLHYkhjyGJIYcdiSGLIYUhhyGFIYclhSGDIYElhyWBJX8hgSWDJX0lfyF9JX8lfSV7JXklfyl5JXsleSl7KXUpdyV1KXcpdSlzJXUpdylxKXMpcSlzLXEpbylxLXMtbS1vKW0tby1tLWstaS1vLWktay1pLWsxaS1nLWUxazFlMWctZTFnMWUxYzFhMWcxYTFjMWExYzVhMV8xYTVjNV01XzFdNV81XTVfNV01XzVZNVs1WTVbOVk1WzVZOVs5WTlXNVU5WzlVOVc5VTlXOVU5VzlVOVc9UTlTOVE9Uz1RPVM5UT1TPVE9Tz1RPVM9TT1PPU09T0FNPU89TUFPQU1BSz1JQU9BSUFLQUlD3wNJA3sDCQNLAuEDKwLJBxMGtQcDBqEG8waVBuMGiQbbBn0GzwZ1BscGaQa/BmEKtwpdCq8KVQqnCk0KowpJCpsKQQqXCj0Kkwo5CosKNQqHDi0Ogw4pDn8OJQ57DiEOdw4dDnMOGQ5vDhkOaw4VDmsSERJnEg0SYxIJEl8SCRJfEgUSWxIBElcSARJXEf0SUxX5Fk8V+RZPFfUWSxX1FkcV8RZHFe0WQxXtFkMV6Ro/GekaPxnlGjsZ5Ro7GeEaNxnhGjcZ3RozGd0aMxndHjMd2R4vHdkeLx3VHisd1R4rHdEeJx3RHicd0R4nHc0eIyHNIiMhySIjIckiHyHJIh8hxSIbIcUiGyHFIhshwSIXJcEmFyXBJhclvSYTJb0mEyW9JhMluSYTJbkmDyW5Jg8puSoPKbUqCym1KgsptSoLKbEqBymxKgcpsSoHKbEuBy2tLgMtrS4DLa0uAy2tLgMtqS3/Lakt/y2pLf8tqTH/MaUx+zGlMfsxpTH7MaUx+zGhMfcxoTH3MaEx9zGhMfc1nTX3NZ018zWdNfM1nTXzNZ018zWZNe81mTXvNZk17zmZOe85lTnvOZU56zmVOes5lTnrOZU56zmVOes5kTnnPZE95z2RPec9kT3nPZE95z2NPec9jT3jPY094z2NQeNBjUHjQYlB40GJQd9BiUP/AAKnmwABH2sAAu9LAAEDMwQBLx8EAwMTBAMDAwQCtvcEAwLvBAPq4wQBAtsEAE7TCALOzwgBAscIAQK/CAECuwgAorcIAvavCAFOqwgDDqcMAaKjDAECnwwBApsMAAKXDAMCkwwDAo8MAyqLDAEChxAAAocQAQKDEAECfxAAAnsQAQJ7EAACdxABAnMQAQJzFAMWbxQAAmsUAAJrFAACZxQDAmcUAAJjFACCYxQAAl8YAQJfGAACWxgAAlsYAAJXGAACVxgAAlMYAAJTGAACTxwBAk8cAAJLHAMCSxwAAkscAAJHHAACRxwAAkMcAAJDIAECQyAAAj8gAwI/IAACPyADTjsgAAI7IAACOyAAAjckAAI3JAACNyQDTjMkAAIzJAACMyQAAi8kAAIvJAACLygAAisoAAIrKAACKygAAisoAIInKAACJygAAicoAAIjLAACIywAAiMsAAIjLAACHywAAh8sAAIfLAACHywAAhswAAIbMAACGzAAAhswAAIXMAACFzAAAhcwAAIXMAACFzQAAhM0AAITNAACEzQAAhM0AAIPNAACDzQAAg80AAIPOAACDzgAAgs4AAILOAACCzgAAgs4AAILOAACBzgAAgc8AAIHPAACBzwAAgc8AAIDPAACAzwAAgM8AAIDPAACA0AAAgNAAAH/QAAB/0AAA+NXnwN6rAELT1c7Ay6sAtsXWwsHArADAvNa6wbmsAMC21rXBtKwAYbHWsMGvrADArdeswqutAECq16nCqK0AbafXpsKlrQBApNejwqOtAPKi2KHDoa4AAKDYn8OfrgBAntidw52uAC2c2JvDm64AU5rZmcSZrwBAmdmYxJivAACX2ZbElq8AQJbZlcSVrwBAldqUxZSwAECT2pPFk7AAQJLakcWSsAAAkdqQxZCwAGCQ24/Gj7EA9Y/bjsaOsQAAjtuNxo2xAACN24zGjbEAwIzcjMeMsgAAi9yLx4uyAACK3IrHirIAQIrciceJsgAAid2IyImzAECI3YjIiLMAAIfdh8iHswAAh92GyIazAACG3obJhrQAAIXehcmFtAAAhd6EyYS0AMCE3oTJhLQAAITfg8qDtQDAg9+CyoO1AACC34LKgrUAAILfgcqCtQAAgeCBy4G2AACB4IDLgLYAAIDggMuAtgAAgOB/y3+2AAB/4X/Mf7cAAH/hfsx/twAAfuF+zH63AAB+4X3MfrcAAH3ifc19uAAAfeJ8zX24AAB84nzNfLgAAHzifM18uAAAfON7znu5AAB743vOe7kAAHvjes57uQAAeuN6znq5AAB65HrPeroAAHrkec96ugAAeeR5z3m6AAB55HnPeboAAHnleNB4uwAAeOV40Hi7AADr7Ofa4czbwNa1zqa+lGWBuO3C28PNwsHAtrunrZVlgqjutNy2zrbDtbewqKSWZYOf76vdrs+uw624qamel2WEmO+k3qjQqMWouaSqmZhlhZLwn9+j0aTFo7qgq5WZZYaN8Zvgn9Ggx6C7naySmWWHifKX4JvSncidvJqtj5pliIXylOGY05rImr2XrY2bZYmC85HildSXype+la6LnGWKf/SO45PVlcqVv5OviZ1li3z0jOSR1pPMk8CRsIeeZYx59YnkjteRzJHBj7GGn2WNdvaH5YzYj82Qwo6yhKBljnT2heaL2Y3PjsKMs4OgZY9x94PnidqLz43Di7SCoWWQb/eB6IfbitCMxIq1gaJlkW34f+iG3InRisWJtYCjZZJq+H7phN2H04nGh7Z/pGWTaPh86oPehtSIx4a3fqVllGb4e+uB34XVh8iFuH6mZZVk+XnrgOCE1obJhbl9p2WWYfl37H/gg9aFyoS6fKhll1/5du194YHXhMuDu3upZZhd+XXufOKA2IPMgrx7qWWZW/hz7nvjf9qCzYG9eqplmlj4cu965H/agc6BvnqrZZtW93DweeV+24HPgL95rGWcU/Zv8Hjmfd2A0H+/ea1lnVH1bvF353zdf9F/wHiuZZ5P9Gzxduh7337SfsF4r2WfTPJr8nXpet9+037Cd7BloOnw5+Dk0N/A2LHOobyRaYG18cHhxdHFwcKyuqKrkmmCpvKz4rnSusO3s7CjopNpg5zzq+Ow07LDsLSppJyUaYSV9KTkqtSsxaq1pKWXlWmFj/Wf5aXVp8WmtqCmk5Zphor2muah1qPHorecp5CXaYeG95fnntegyJ+4maiOmGmIgviT6JvYncicuZepi5lpiX75kOmY2ZvKmrqVqomaaYp7+o7qldqYype7k6uIm2mLd/uL65PblsyVvJGshpxpjHT8ieyR3JTMlL2PrYWdaY1x/Yftj92SzZK+jq6DnmmObv6F7o3ekc+Qv4yvgp9pj2v/g++M34/Pj8CLsIGgaZBpAIHwiuCO0I3BirGAoWmRZgF/8YjhjNGMwoiyf6JpkmMCffKH4ovTi8OHs3+jaZNgA3vzheOK1IrEhrR+pGmUXQR69ITkiNWJxYW1faVplVoFePWD5YfWiMaFtnymaZZWBnf2guaG1ofHhLd8p2mXUwd194DnhdeGyIO4e6hpmE8IdPh/6ITYhcmCuXupaZlLCXL5fumD2oTKgbp6qmmaRwpx+n3qgtqDy4G7eatpm0ILb/t864HbgsyAvHmsaZw7DG78e+yA3YLNf714rWmdNA1t/Xrtf92Bzn++eK5pnikOa/557n/fgM9+v3ivaZ8XD2r/eO9+33/QfcB3sGmgAAAAAEJOUzEFAgICf3BcEkdMQVNTIEtFWVMAAE1YTUZSUFIAAAAAAEAAAERkQEAAAC0AU0BAKAESAAMhAABAORQAX38+AFMAPgE8AgABbgV4CHgMeAAAAAAAAAABAP9A78DmQN/A2kDVwNJAz8DMQcrBx0HFwcRBwsHAQb/BvUG8wbtBusG4QbfBtkG1wbRCtMKzQrLCsUKwwq9Cr8KuQq3CrUKswqtCq8KqQqrDqUOow6hDp8OnQ6bDpkOlw6VDpMOkQ6TDo0Ojw6JDosOhRKHEoUSgxKBEn8SfRJ/EnkSexJ5EncSdRJ3EnEScxZxFm8WbRZvFmkWaxZpFmsWZRZnFmUWYxZhFmMWYRZfFl0aXxpdGlsaWRpbGlkaVxpVGlcaVRpTGlEaUxpRGlMaTR5PHk0eTx5JHkseSR5LHkkeRx5FHkceRR5HHkEeQyJBIkMiQSI/Ij0iPyI9Ij8iPSI7IjkiOyI5IjsiOSI3IjUmNyY1JjcmNSYzJjEmMyYxJjMmMSYvJi0mLyYtJi8mLSovKikqKyopKisqKSorKikqJyolKicqJSonKiUqJyohLiMuIS4jLiEuIy4hLiMuHS4fLh0uHy4dLh8uHS4fLhkyGzIZMhsyGTIbMhkyGzIVMhcyFTIXMhUyFzIVMhcyFTYTNhE2EzYRNhM2ETYTNhE2EzYNNg82DTYPNg02DzYNOg86DToPOgk6CzoJOgs6CToLOgk6CzoJOgs6BToHOgU+Bz4FPgc+BT4HPgU+Bz4BPgM+AT4DPgE+Az4BPgM+AUIDQgFCA0H9Qf9B/UH/QCAD5wAD9AJcAgwAOAAUAoACcAK0AvgAYAIMAqADfAHMAjwAPAA0AzwCrALkAkQCNAAAAPgAOAHsALwAXAIUAvwA9AEkALwDTALIAjwDtAB8AwgCiAPQAPwCRANcArQBgAP4AmQDSAFUAJABMAFoAtQD2ADoAqgDEAGEATgCTAPsAZgDDADsAqwAmAEUAxwDVAN4AegCKACwAfQB9ANoA3QBtAFYA5QDNALYAPgAmAJQAtgDTAH0AVgD4ABEA9gDHAAkAvgDaAEkABAA4AIQAvwA0AB0AWwBfABoAtwBTADEAQgBSAMwAYABTAOIAKwBmAAAAywBcADUA2gDNAN4AOgD8AL4AtgA9AJsAvAChALMAxAA6AMgA6gDfALgAngCSAIgAPgDdAKwAAwA9AKYAygCtALMAlgAPAFMArADKAKEA3gA0AAcApQD0AL4APABeABMAPgANAKcAGgADAKkAVQA5AM8AYAA1AG4AmwCuAMsADwBPAHwACQAqAHIApgAUAK0AjACAAEoAsQBHAMAAEQAKAHoAfwCnAHsAUACVABAAEgAbAMwAYgAgAI0AhwAZAIoApQBlAMkAhwA7AGIApACAADEAAgAVAHcArQCeACgAPQCpACQAYgChADAAjgDEAG0AOwC1AMMATwA6ABsApwDtADEAPwCkANoA2gCAAMgAYf3ADYHWwAATtsAAgG1BAFhiwgCBWEIAN1HDAIFKQwA8RMQAgj9EADs6xACDNkUAQzLFAIMvRgBDK8YAgyhGADslxwCDI0cAQSDIAIQeSABDG8gAhBlJAEwXyQCFFUoAPhPKAIURSwBAEMsAhg5LAEgMzACGC0wASwnNAIcITQBJBs0AhwVOAD8AzgCIAE8ASwDPAIgAUABIANAAiQBQAEsA0QCIAFEASwDSAIoAUgBFANIAiQBTAEoA0wCKAFQASgDUAIoAVQBHANUAiwBVAFAA1gCKAFYAQQDXAIsAVwBGANcAjQBYAEIA2ACMAFkAUwDZAIsAWgBLANoAjgBaAEAA2wCPAFsAWgDcAJMAXABaANwAjQBdAFQA3QCPAF4ATwDeAI4AXwBSAN8AkgBfAEUA4ACPAGAAVADhAJEAYQBcAOIAkABiAFMA4gCaAGMAVgDjAJUAZABeAOQAjABkAFgA5QCRAGUASgDmAJIAZgBKAOcAkABnAF0A5wCdAGgAKgDoAJgAaQBWAOkAlwBpAEsA6gCTAGoAQwDrAI8AawBKAOwAlQBsAFMA7ACYAG0AUQDtAJEAbgBqAO4AlwBvAEYA7wCVAG8ATwDwAIwAcABWAPEAlQBxAG0A8QCeAHIASQDyAKAAcwBTAPMAjAB0AF0A9ACVAHQAcgD1AK8AdQB888DCQHhIskC4wahAl8CiQabBnUGSwJhBnMGVQY7AkkGUwY9BicGNQY/CikGGwYhBisKGQoPBhUKGwoNCgMGCQoPCgEJ9wn9CgMN+QnvCfEJ+w3tDecJ6Q3vDeUN3wnhDecN3Q3XDdkN3xHZDdMN1Q3bEdERyw3NEdMRyRHHDckRyxHFEb8RwRHHFcERuxG9FcMVuRW3EbkVuxW1FbMRsRW3FbEVrxWtFbMZrRWrFakZrxmpGacVpRmrGaUZoxWhGacZoRmfGZ0Zox2dGZsZmR2fHZkdlxmZHZsdlR2TGZUdlx2RHZMdkR2TIZEdjx2NIZMhjSGLHYkhjyGJIYcdiSGLIYUhhyGFIYclhSGDIYElhyWBJX8hgSWDJX0lfyF9JX8lfSV7JXklfyl5JXsleSl7KXUpdyV1KXcpdSlzJXUpdylxKXMpcSlzLXEpbylxLXMtbS1vKW0tby1tLWstaS1vLWktay1pLWsxaS1nLWUxazFlMWctZTFnMWUxYzFhMWcxYTFjMWExYzVhMV8xYTVjNV01XzFdNV81XTVfNV01XzVZNVs1WTVbOVk1WzVZOVs5WTlXNVU5WzlVOVc5VTlXOVU5VzlVOVc9UTlTOVE9Uz1RPVM5UT1TPVE9Tz1RPVM9TT1PPU09T0FNPU89TUFPQU1BSz1JQU9BSUFLQUlD3wNJA3sDCQNLAuEDKwLJBxMGtQcDBqEG8waVBuMGiQbbBn0GzwZ1BscGaQa/BmEKtwpdCq8KVQqnCk0KowpJCpsKQQqXCj0Kkwo5CosKNQqHDi0Ogw4pDn8OJQ57DiEOdw4dDnMOGQ5vDhkOaw4VDmsSERJnEg0SYxIJEl8SCRJfEgUSWxIBElcSARJXEf0SUxX5Fk8V+RZPFfUWSxX1FkcV8RZHFe0WQxXtFkMV6Ro/GekaPxnlGjsZ5Ro7GeEaNxnhGjcZ3RozGd0aMxndHjMd2R4vHdkeLx3VHisd1R4rHdEeJx3RHicd0R4nHc0eIyHNIiMhySIjIckiHyHJIh8hxSIbIcUiGyHFIhshwSIXJcEmFyXBJhclvSYTJb0mEyW9JhMluSYTJbkmDyW5Jg8puSoPKbUqCym1KgsptSoLKbEqBymxKgcpsSoHKbEuBy2tLgMtrS4DLa0uAy2tLgMtqS3/Lakt/y2pLf8tqTH/MaUx+zGlMfsxpTH7MaUx+zGhMfcxoTH3MaEx9zGhMfc1nTX3NZ018zWdNfM1nTXzNZ018zWZNe81mTXvNZk17zmZOe85lTnvOZU56zmVOes5lTnrOZU56zmVOes5kTnnPZE95z2RPec9kT3nPZE95z2NPec9jT3jPY094z2NQeNBjUHjQYlB40GJQd9BiUP/AAKnmwABH2sAAu9LAAEDMwQBLx8EAwMTBAMDAwQCtvcEAwLvBAPq4wQBAtsEAE7TCALOzwgBAscIAQK/CAECuwgAorcIAvavCAFOqwgDDqcMAaKjDAECnwwBApsMAAKXDAMCkwwDAo8MAyqLDAEChxAAAocQAQKDEAECfxAAAnsQAQJ7EAACdxABAnMQAQJzFAMWbxQAAmsUAAJrFAACZxQDAmcUAAJjFACCYxQAAl8YAQJfGAACWxgAAlsYAAJXGAACVxgAAlMYAAJTGAACTxwBAk8cAAJLHAMCSxwAAkscAAJHHAACRxwAAkMcAAJDIAECQyAAAj8gAwI/IAACPyADTjsgAAI7IAACOyAAAjckAAI3JAACNyQDTjMkAAIzJAACMyQAAi8kAAIvJAACLygAAisoAAIrKAACKygAAisoAIInKAACJygAAicoAAIjLAACIywAAiMsAAIjLAACHywAAh8sAAIfLAACHywAAhswAAIbMAACGzAAAhswAAIXMAACFzAAAhcwAAIXMAACFzQAAhM0AAITNAACEzQAAhM0AAIPNAACDzQAAg80AAIPOAACDzgAAgs4AAILOAACCzgAAgs4AAILOAACBzgAAgc8AAIHPAACBzwAAgc8AAIDPAACAzwAAgM8AAIDPAACA0AAAgNAAAH/QAAB/0AAA+NXnwN6rAELT1c7Ay6sAtsXWwsHArADAvNa6wbmsAMC21rXBtKwAYbHWsMGvrADArdeswqutAECq16nCqK0AbafXpsKlrQBApNejwqOtAPKi2KHDoa4AAKDYn8OfrgBAntidw52uAC2c2JvDm64AU5rZmcSZrwBAmdmYxJivAACX2ZbElq8AQJbZlcSVrwBAldqUxZSwAECT2pPFk7AAQJLakcWSsAAAkdqQxZCwAGCQ24/Gj7EA9Y/bjsaOsQAAjtuNxo2xAACN24zGjbEAwIzcjMeMsgAAi9yLx4uyAACK3IrHirIAQIrciceJsgAAid2IyImzAECI3YjIiLMAAIfdh8iHswAAh92GyIazAACG3obJhrQAAIXehcmFtAAAhd6EyYS0AMCE3oTJhLQAAITfg8qDtQDAg9+CyoO1AACC34LKgrUAAILfgcqCtQAAgeCBy4G2AACB4IDLgLYAAIDggMuAtgAAgOB/y3+2AAB/4X/Mf7cAAH/hfsx/twAAfuF+zH63AAB+4X3MfrcAAH3ifc19uAAAfeJ8zX24AAB84nzNfLgAAHzifM18uAAAfON7znu5AAB743vOe7kAAHvjes57uQAAeuN6znq5AAB65HrPeroAAHrkec96ugAAeeR5z3m6AAB55HnPeboAAHnleNB4uwAAeOV40Hi7AADr7Ofa4czbwNa1zqa+lGWBuO3C28PNwsHAtrunrZVlgqjutNy2zrbDtbewqKSWZYOf76vdrs+uw624qamel2WEmO+k3qjQqMWouaSqmZhlhZLwn9+j0aTFo7qgq5WZZYaN8Zvgn9Ggx6C7naySmWWHifKX4JvSncidvJqtj5pliIXylOGY05rImr2XrY2bZYmC85HildSXype+la6LnGWKf/SO45PVlcqVv5OviZ1li3z0jOSR1pPMk8CRsIeeZYx59YnkjteRzJHBj7GGn2WNdvaH5YzYj82Qwo6yhKBljnT2heaL2Y3PjsKMs4OgZY9x94PnidqLz43Di7SCoWWQb/eB6IfbitCMxIq1gaJlkW34f+iG3InRisWJtYCjZZJq+H7phN2H04nGh7Z/pGWTaPh86oPehtSIx4a3fqVllGb4e+uB34XVh8iFuH6mZZVk+XnrgOCE1obJhbl9p2WWYfl37H/gg9aFyoS6fKhll1/5du194YHXhMuDu3upZZhd+XXufOKA2IPMgrx7qWWZW/hz7nvjf9qCzYG9eqplmlj4cu965H/agc6BvnqrZZtW93DweeV+24HPgL95rGWcU/Zv8Hjmfd2A0H+/ea1lnVH1bvF353zdf9F/wHiuZZ5P9Gzxduh7337SfsF4r2WfTPJr8nXpet9+037Cd7BloOnw5+Dk0N/A2LHOobyRaYG18cHhxdHFwcKyuqKrkmmCpvKz4rnSusO3s7CjopNpg5zzq+Ow07LDsLSppJyUaYSV9KTkqtSsxaq1pKWXlWmFj/Wf5aXVp8WmtqCmk5Zphor2muah1qPHorecp5CXaYeG95fnntegyJ+4maiOmGmIgviT6JvYncicuZepi5lpiX75kOmY2ZvKmrqVqomaaYp7+o7qldqYype7k6uIm2mLd/uL65PblsyVvJGshpxpjHT8ieyR3JTMlL2PrYWdaY1x/Yftj92SzZK+jq6DnmmObv6F7o3ekc+Qv4yvgp9pj2v/g++M34/Pj8CLsIGgaZBpAIHwiuCO0I3BirGAoWmRZgF/8YjhjNGMwoiyf6JpkmMCffKH4ovTi8OHs3+jaZNgA3vzheOK1IrEhrR+pGmUXQR69ITkiNWJxYW1faVplVoFePWD5YfWiMaFtnymaZZW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0IBQgNB/UH/Qf1B/0AgA+cAA/QCXAIMADgAFAKAAnACtAL4AGACDAKgA3wBzAI8ADwANAM8AqwC5AJEAjQAAAD4ADgB7AC8AFwCFAL8APQBJAC8A0wCyAI8A7QAfAMIAogD0AD8AkQDXAK0AYAD+AJkA0gBVACQATABaALUA9gA6AKoAxABhAE4AkwD7AGYAwwA7AKsAJgBFAMcA1QDeAHoAigAsAH0AfQDaAN0AbQBWAOUAzQC2AD4AJgCUALYA0wB9AFYA+AARAPYAxwAJAL4A2gBJAAQAOACEAL8ANAAdAFsAXwAaALcAUwAxAEIAUgDMAGAAUwDiACsAZgAAAMsAXAA1ANoAzQDeADoA/AC+ALYAPQCbALwAoQCzAMQAOgDIAOoA3wC4AJ4AkgCIAD4A3QCsAAMAPQCmAMoArQCzAJYADwBTAKwAygChAN4ANAAHAKUA9AC+ADwAXgATAD4ADQCnABoAAwCpAFUAOQDPAGAANQBuAJsArgDLAA8ATwB8AAkAKgByAKYAFACtAIwAgABKALEARwDAABEACgB6AH8ApwB7AFAAlQAQABIAGwDMAGIAIACNAIcAGQCKAKUAZQDJAIcAOwBiAKQAgAAxAAIAFQB3AK0AngAoAD0AqQAkAGIAoQAwAI4AxABtADsAtQDDAE8AOgAbAKcA7QAxAD8ApADaANoAgADIAGH9wA2B1sAAE7bAAIBtQQBYYsIAgVhCADdRwwCBSkMAPETEAII/RAA7OsQAgzZFAEMyxQCDL0YAQyvGAIMoRgA7JccAgyNHAEEgyACEHkgAQxvIAIQZSQBMF8kAhRVKAD4TygCFEUsAQBDLAIYOSwBIDMwAhgtMAEsJzQCHCE0ASQbNAIcFTgA/AM4AiABPAEsAzwCIAFAASADQAIkAUABLANEAiABRAEsA0gCKAFIARQDSAIkAUwBKANMAigBUAEoA1ACKAFUARwDVAIsAVQBQANYAigBWAEEA1wCLAFcARgDXAI0AWABCANgAjABZAFMA2QCLAFoASwDaAI4AWgBAANsAjwBbAFoA3ACTAFwAWgDcAI0AXQBUAN0AjwBeAE8A3gCOAF8AUgDfAJIAXwBFAOAAjwBgAFQA4QCRAGEAXADiAJAAYgBTAOIAmgBjAFYA4wCVAGQAXgDkAIwAZABYAOUAkQBlAEoA5gCSAGYASgDnAJAAZwBdAOcAnQBoACoA6ACYAGkAVgDpAJcAaQBLAOoAkwBqAEMA6wCPAGsASgDsAJUAbABTAOwAmABtAFEA7QCRAG4AagDuAJcAbwBGAO8AlQBvAE8A8ACMAHAAVgDxAJUAcQBtAPEAngByAEkA8gCgAHMAUwDzAIwAdABdAPQAlQB0AHIA9QCvAHUAfPPAwkB4SLJAuMGoQJfAokGmwZ1BksCYQZzBlUGOwJJBlMGPQYnBjUGPwopBhsGIQYrChkKDwYVChsKDQoDBgkKDwoBCfcJ/QoDDfkJ7wnxCfsN7Q3nCekN7w3lDd8J4Q3nDd0N1w3ZDd8R2Q3TDdUN2xHREcsNzRHTEckRxw3JEcsRxRG/EcERxxXBEbsRvRXDFbkVtxG5FbsVtRWzEbEVtxWxFa8VrRWzGa0VqxWpGa8ZqRmnFaUZqxmlGaMVoRmnGaEZnxmdGaMdnRmbGZkdnx2ZHZcZmR2bHZUdkxmVHZcdkR2THZEdkyGRHY8djSGTIY0hix2JIY8hiSGHHYkhiyGFIYchhSGHJYUhgyGBJYclgSV/IYElgyV9JX8hfSV/JX0leyV5JX8peSV7JXkpeyl1KXcldSl3KXUpcyV1KXcpcSlzKXEpcy1xKW8pcS1zLW0tbyltLW8tbS1rLWktby1pLWstaS1rMWktZy1lMWsxZTFnLWUxZzFlMWMxYTFnMWExYzFhMWM1YTFfMWE1YzVdNV8xXTVfNV01XzVdNV81WTVbNVk1WzlZNVs1WTlbOVk5VzVVOVs5VTlXOVU5VzlVOVc5VTlXPVE5UzlRPVM9UT1TOVE9Uz1RPU89UT1TPU09Tz1NPU9BTT1PPU1BT0FNQUs9SUFPQUlBS0FJQ98DSQN7AwkDSwLhAysCyQcTBrUHAwahBvMGlQbjBokG2wZ9Bs8GdQbHBmkGvwZhCrcKXQqvClUKpwpNCqMKSQqbCkEKlwo9CpMKOQqLCjUKhw4tDoMOKQ5/DiUOew4hDncOHQ5zDhkObw4ZDmsOFQ5rEhESZxINEmMSCRJfEgkSXxIFElsSARJXEgESVxH9ElMV+RZPFfkWTxX1FksV9RZHFfEWRxXtFkMV7RZDFekaPxnpGj8Z5Ro7GeUaOxnhGjcZ4Ro3Gd0aMxndGjMZ3R4zHdkeLx3ZHi8d1R4rHdUeKx3RHicd0R4nHdEeJx3NHiMhzSIjIckiIyHJIh8hySIfIcUiGyHFIhshxSIbIcEiFyXBJhclwSYXJb0mEyW9JhMlvSYTJbkmEyW5Jg8luSYPKbkqDym1KgsptSoLKbUqCymxKgcpsSoHKbEqBymxLgctrS4DLa0uAy2tLgMtrS4DLakt/y2pLf8tqS3/Lakx/zGlMfsxpTH7MaUx+zGlMfsxoTH3MaEx9zGhMfcxoTH3NZ019zWdNfM1nTXzNZ018zWdNfM1mTXvNZk17zWZNe85mTnvOZU57zmVOes5lTnrOZU56zmVOes5lTnrOZE55z2RPec9kT3nPZE95z2RPec9jT3nPY094z2NPeM9jUHjQY1B40GJQeNBiUHfQYlD/wACp5sAAR9rAALvSwABAzMEAS8fBAMDEwQDAwMEArb3BAMC7wQD6uMEAQLbBABO0wgCzs8IAQLHCAECvwgBArsIAKK3CAL2rwgBTqsIAw6nDAGiowwBAp8MAQKbDAAClwwDApMMAwKPDAMqiwwBAocQAAKHEAECgxABAn8QAAJ7EAECexAAAncQAQJzEAECcxQDFm8UAAJrFAACaxQAAmcUAwJnFAACYxQAgmMUAAJfGAECXxgAAlsYAAJbGAACVxgAAlcYAAJTGAACUxgAAk8cAQJPHAACSxwDAkscAAJLHAACRxwAAkccAAJDHAACQyABAkMgAAI/IAMCPyAAAj8gA047IAACOyAAAjsgAAI3JAACNyQAAjckA04zJAACMyQAAjMkAAIvJAACLyQAAi8oAAIrKAACKygAAisoAAIrKACCJygAAicoAAInKAACIywAAiMsAAIjLAACIywAAh8sAAIfLAACHywAAh8sAAIbMAACGzAAAhswAAIbMAACFzAAAhcwAAIXMAACFzAAAhc0AAITNAACEzQAAhM0AAITNAACDzQAAg80AAIPNAACDzgAAg84AAILOAACCzgAAgs4AAILOAACCzgAAgc4AAIHPAACBzwAAgc8AAIHPAACAzwAAgM8AAIDPAACAzwAAgNAAAIDQAAB/0AAAf9AAAPjV58DeqwBC09XOwMurALbF1sLBwKwAwLzWusG5rADAtta1wbSsAGGx1rDBr6wAwK3XrMKrrQBAqtepwqitAG2n16bCpa0AQKTXo8KjrQDyotihw6GuAACg2J/Dn64AQJ7YncOdrgAtnNibw5uuAFOa2ZnEma8AQJnZmMSYrwAAl9mWxJavAECW2ZXEla8AQJXalMWUsABAk9qTxZOwAECS2pHFkrAAAJHakMWQsABgkNuPxo+xAPWP247GjrEAAI7bjcaNsQAAjduMxo2xAMCM3IzHjLIAAIvci8eLsgAAityKx4qyAECK3InHibIAAIndiMiJswBAiN2IyIizAACH3YfIh7MAAIfdhsiGswAAht6GyYa0AACF3oXJhbQAAIXehMmEtADAhN6EyYS0AACE34PKg7UAwIPfgsqDtQAAgt+CyoK1AACC34HKgrUAAIHggcuBtgAAgeCAy4C2AACA4IDLgLYAAIDgf8t/tgAAf+F/zH+3AAB/4X7Mf7cAAH7hfsx+twAAfuF9zH63AAB94n3NfbgAAH3ifM19uAAAfOJ8zXy4AAB84nzNfLgAAHzje857uQAAe+N7znu5AAB743rOe7kAAHrjes56uQAAeuR6z3q6AAB65HnPeroAAHnkec95ugAAeeR5z3m6AAB55XjQeLsAAHjleNB4uwAA6+zn2uHM28DWtc6mvpRlgbjtwtvDzcLBwLa7p62VZYKo7rTcts62w7W3sKiklmWDn++r3a7PrsOtuKmpnpdlhJjvpN6o0KjFqLmkqpmYZYWS8J/fo9GkxaO6oKuVmWWGjfGb4J/RoMegu52skpllh4nyl+Cb0p3InbyarY+aZYiF8pThmNOayJq9l62Nm2WJgvOR4pXUl8qXvpWui5xlin/0juOT1ZXKlb+Tr4mdZYt89IzkkdaTzJPAkbCHnmWMefWJ5I7XkcyRwY+xhp9ljXb2h+WM2I/NkMKOsoSgZY509oXmi9mNz47CjLODoGWPcfeD54nai8+Nw4u0gqFlkG/3geiH24rQjMSKtYGiZZFt+H/ohtyJ0YrFibWAo2WSavh+6YTdh9OJxoe2f6Rlk2j4fOqD3obUiMeGt36lZZRm+Hvrgd+F1YfIhbh+pmWVZPl564DghNaGyYW5fadllmH5d+x/4IPWhcqEunyoZZdf+XbtfeGB14TLg7t7qWWYXfl17nzigNiDzIK8e6llmVv4c+5743/ags2BvXqqZZpY+HLveuR/2oHOgb56q2WbVvdw8HnlftuBz4C/eaxlnFP2b/B45n3dgNB/v3mtZZ1R9W7xd+d83X/Rf8B4rmWeT/Rs8Xboe99+0n7BeK9ln0zya/J16XrfftN+wnewZaDp8Ofg5NDfwNixzqG8kWmBtfHB4cXRxcHCsrqiq5Jpgqbys+K50rrDt7Owo6KTaYOc86vjsNOyw7C0qaSclGmElfSk5KrUrMWqtaSll5VphY/1n+Wl1afFpragppOWaYaK9prmodajx6K3nKeQl2mHhveX557XoMifuJmojphpiIL4k+ib2J3InLmXqYuZaYl++ZDpmNmbypq6laqJmmmKe/qO6pXamMqXu5OriJtpi3f7i+uT25bMlbyRrIacaYx0/InskdyUzJS9j62FnWmNcf2H7Y/dks2Svo6ug55pjm7+he6N3pHPkL+Mr4KfaY9r/4PvjN+Pz4/Ai7CBoGmQaQCB8IrgjtCNwYqxgKFpkWYBf/GI4YzRjMKIsn+iaZJjAn3yh+KL04vDh7N/o2mTYAN784XjitSKxIa0fqRplF0EevSE5IjVicWFtX2laZVaBXj1g+WH1ojGhbZ8pmmWVgZ39oLmhtaHx4S3fKdpl1MHdfeA54XXhsiDuHuoaZhPCHT4f+iE2IXJgrl7qWmZSwly+X7pg9qEyoG6eqppmkcKcfp96oLag8uBu3mraZtCC2/7fOuB24LMgLx5rGmcOwxu/HvsgN2CzX+9eK1pnTQNbf167X/dgc5/vniuaZ4pDmv+ee5/34DPfr94r2mfFw9q/3jvft9/0H3Ad7BpoAAAAABCTlMxBQICArD4XCBCRUxMAAAAAAAAAABNWE1GUlBSAAAAAABAAAAAZGBAAAAtAEJAQAAALQABNgAAQAAUAGIwZwBJAF0BPAIAAW4MUAh4DHgAAAAAAAAACAD5wAD9AJcAgwAOAAUAoACcAK0AvgAYAIMAqADfAHMAjwAPAA0AzwCrALkAkQCNAAAAPgAOAHsALwAXAIUAvwA9AEkALwDTALIAjwDtAB8AwgCiAPQAPwCRANcArQBgAP4AmQDSAFUAJABMAFoAtQD2ADoAqgDEAGEATgCTAPsAZgDDADsAqwAmAEUAxwDVAN4AegCKACwAfQB9ANoA3QBtAFYA5QDNALYAPgAmAJQAtgDTAH0AVgD4ABEA9gDHAAkAvgDaAEkABAA4AIQAvwA0AB0AWwBfABoAtwBTADEAQgBSAMwAYABTAOIAKwBmAAAAywBcADUA2gDNAN4AOgD8AL4AtgA9AJsAvAChALMAxAA6AMgA6gDfALgAngCSAIgAPgDdAKwAAwA9AKYAygCtALMAlgAPAFMArADKAKEA3gA0AAcApQD0AL4APABeABMAPgANAKcAGgADAKkAVQA5AM8AYAA1AG4AmwCuAMsADwBPAHwACQAqAHIApgAUAK0AjACAAEoAsQBHAMAAEQAKAHoAfwCnAHsAUACVABAAEgAbAMwAYgAgAI0AhwAZAIoApQBlAMkAhwA7AGIApACAADEAAgAVAHcArQCeACgAPQCpACQAYgChADAAjgDEAG0AOwC1AMMATwA6ABsApwDtADEAPwCkANoA2gCAAMgAYf3ADYHWwAATtsAAgG1BAFhiwgCBWEIAN1HDAIFKQwA8RMQAgj9EADs6xACDNkUAQzLFAIMvRgBDK8YAgyhGADslxwCDI0cAQSDIAIQeSABDG8gAhBlJAEwXyQCFFUoAPhPKAIURSwBAEMsAhg5LAEgMzACGC0wASwnNAIcITQBJBs0AhwVOAD8AzgCIAE8ASwDPAIgAUABIANAAiQBQAEsA0QCIAFEASwDSAIoAUgBFANIAiQBTAEoA0wCKAFQASgDUAIoAVQBHANUAiwBVAFAA1gCKAFYAQQDXAIsAVwBGANcAjQBYAEIA2ACMAFkAUwDZAIsAWgBLANoAjgBaAEAA2wCPAFsAWgDcAJMAXABaANwAjQBdAFQA3QCPAF4ATwDeAI4AXwBSAN8AkgBfAEUA4ACPAGAAVADhAJEAYQBcAOIAkABiAFMA4gCaAGMAVgDjAJUAZABeAOQAjABkAFgA5QCRAGUASgDmAJIAZgBKAOcAkABnAF0A5wCdAGgAKgDoAJgAaQBWAOkAlwBpAEsA6gCTAGoAQwDrAI8AawBKAOwAlQBsAFMA7ACYAG0AUQDtAJEAbgBqAO4AlwBvAEYA7wCVAG8ATwDwAIwAcABWAPEAlQBxAG0A8QCeAHIASQDyAKAAcwBTAPMAjAB0AF0A9ACVAHQAcgD1AK8AdQB888DCQHhIskC4wahAl8CiQabBnUGSwJhBnMGVQY7AkkGUwY9BicGNQY/CikGGwYhBisKGQoPBhUKGwoNCgMGCQoPCgEJ9wn9CgMN+QnvCfEJ+w3tDecJ6Q3vDeUN3wnhDecN3Q3XDdkN3xHZDdMN1Q3bEdERyw3NEdMRyRHHDckRyxHFEb8RwRHHFcERuxG9FcMVuRW3EbkVuxW1FbMRsRW3FbEVrxWtFbMZrRWrFakZrxmpGacVpRmrGaUZoxWhGacZoRmfGZ0Zox2dGZsZmR2fHZkdlxmZHZsdlR2TGZUdlx2RHZMdkR2TIZEdjx2NIZMhjSGLHYkhjyGJIYcdiSGLIYUhhyGFIYclhSGDIYElhyWBJX8hgSWDJX0lfyF9JX8lfSV7JXklfyl5JXsleSl7KXUpdyV1KXcpdSlzJXUpdylxKXMpcSlzLXEpbylxLXMtbS1vKW0tby1tLWstaS1vLWktay1pLWsxaS1nLWUxazFlMWctZTFnMWUxYzFhMWcxYTFjMWExYzVhMV8xYTVjNV01XzFdNV81XTVfNV01XzVZNVs1WTVbOVk1WzVZOVs5WTlXNVU5WzlVOVc5VTlXOVU5VzlVOVc9UTlTOVE9Uz1RPVM5UT1TPVE9Tz1RPVM9TT1PPU09T0FNPU89TUFPQU1BSz1JQU9BSUFLQUlD3wNJA3sDCQNLAuEDKwLJBxMGtQcDBqEG8waVBuMGiQbbBn0GzwZ1BscGaQa/BmEKtwpdCq8KVQqnCk0KowpJCpsKQQqXCj0Kkwo5CosKNQqHDi0Ogw4pDn8OJQ57DiEOdw4dDnMOGQ5vDhkOaw4VDmsSERJnEg0SYxIJEl8SCRJfEgUSWxIBElcSARJXEf0SUxX5Fk8V+RZPFfUWSxX1FkcV8RZHFe0WQxXtFkMV6Ro/GekaPxnlGjsZ5Ro7GeEaNxnhGjcZ3RozGd0aMxndHjMd2R4vHdkeLx3VHisd1R4rHdEeJx3RHicd0R4nHc0eIyHNIiMhySIjIckiHyHJIh8hxSIbIcUiGyHFIhshwSIXJcEmFyXBJhclvSYTJb0mEyW9JhMluSYTJbkmDyW5Jg8puSoPKbUqCym1KgsptSoLKbEqBymxKgcpsSoHKbEuBy2tLgMtrS4DLa0uAy2tLgMtqS3/Lakt/y2pLf8tqTH/MaUx+zGlMfsxpTH7MaUx+zGhMfcxoTH3MaEx9zGhMfc1nTX3NZ018zWdNfM1nTXzNZ018zWZNe81mTXvNZk17zmZOe85lTnvOZU56zmVOes5lTnrOZU56zmVOes5kTnnPZE95z2RPec9kT3nPZE95z2NPec9jT3jPY094z2NQeNBjUHjQYlB40GJQd9BiUP/AAKnmwABH2sAAu9LAAEDMwQBLx8EAwMTBAMDAwQCtvcEAwLvBAPq4wQBAtsEAE7TCALOzwgBAscIAQK/CAECuwgAorcIAvavCAFOqwgDDqcMAaKjDAECnwwBApsMAAKXDAMCkwwDAo8MAyqLDAEChxAAAocQAQKDEAECfxAAAnsQAQJ7EAACdxABAnMQAQJzFAMWbxQAAmsUAAJrFAACZxQDAmcUAAJjFACCYxQAAl8YAQJfGAACWxgAAlsYAAJXGAACVxgAAlMYAAJTGAACTxwBAk8cAAJLHAMCSxwAAkscAAJHHAACRxwAAkMcAAJDIAECQyAAAj8gAwI/IAACPyADTjsgAAI7IAACOyAAAjckAAI3JAACNyQDTjMkAAIzJAACMyQAAi8kAAIvJAACLygAAisoAAIrKAACKygAAisoAIInKAACJygAAicoAAIjLAACIywAAiMsAAIjLAACHywAAh8sAAIfLAACHywAAhswAAIbMAACGzAAAhswAAIXMAACFzAAAhcwAAIXMAACFzQAAhM0AAITNAACEzQAAhM0AAIPNAACDzQAAg80AAIPOAACDzgAAgs4AAILOAACCzgAAgs4AAILOAACBzgAAgc8AAIHPAACBzwAAgc8AAIDPAACAzwAAgM8AAIDPAACA0AAAgNAAAH/QAAB/0AAA+NXnwN6rAELT1c7Ay6sAtsXWwsHArADAvNa6wbmsAMC21rXBtKwAYbHWsMGvrADArdeswqutAECq16nCqK0AbafXpsKlrQBApNejwqOtAPKi2KHDoa4AAKDYn8OfrgBAntidw52uAC2c2JvDm64AU5rZmcSZrwBAmdmYxJivAACX2ZbElq8AQJbZlcSVrwBAldqUxZSwAECT2pPFk7AAQJLakcWSsAAAkdqQxZCwAGCQ24/Gj7EA9Y/bjsaOsQAAjtuNxo2xAACN24zGjbEAwIzcjMeMsgAAi9yLx4uyAACK3IrHirIAQIrciceJsgAAid2IyImzAECI3YjIiLMAAIfdh8iHswAAh92GyIazAACG3obJhrQAAIXehcmFtAAAhd6EyYS0AMCE3oTJhLQAAITfg8qDtQDAg9+CyoO1AACC34LKgrUAAILfgcqCtQAAgeCBy4G2AACB4IDLgLYAAIDggMuAtgAAgOB/y3+2AAB/4X/Mf7cAAH/hfsx/twAAfuF+zH63AAB+4X3MfrcAAH3ifc19uAAAfeJ8zX24AAB84nzNfLgAAHzifM18uAAAfON7znu5AAB743vOe7kAAHvjes57uQAAeuN6znq5AAB65HrPeroAAHrkec96ugAAeeR5z3m6AAB55HnPeboAAHnleNB4uwAAeOV40Hi7AADr7Ofa4czbwNa1zqa+lGWBuO3C28PNwsHAtrunrZVlgqjutNy2zrbDtbewqKSWZYOf76vdrs+uw624qamel2WEmO+k3qjQqMWouaSqmZhlhZLwn9+j0aTFo7qgq5WZZYaN8Zvgn9Ggx6C7naySmWWHifKX4JvSncidvJqtj5pliIXylOGY05rImr2XrY2bZYmC85HildSXype+la6LnGWKf/SO45PVlcqVv5OviZ1li3z0jOSR1pPMk8CRsIeeZYx59YnkjteRzJHBj7GGn2WNdvaH5YzYj82Qwo6yhKBljnT2heaL2Y3PjsKMs4OgZY9x94PnidqLz43Di7SCoWWQb/eB6IfbitCMxIq1gaJlkW34f+iG3InRisWJtYCjZZJq+H7phN2H04nGh7Z/pGWTaPh86oPehtSIx4a3fqVllGb4e+uB34XVh8iFuH6mZZVk+XnrgOCE1obJhbl9p2WWYfl37H/gg9aFyoS6fKhll1/5du194YHXhMuDu3upZZhd+XXufOKA2IPMgrx7qWWZW/hz7nvjf9qCzYG9eqplmlj4cu965H/agc6BvnqrZZtW93DweeV+24HPgL95rGWcU/Zv8Hjmfd2A0H+/ea1lnVH1bvF353zdf9F/wHiuZZ5P9Gzxduh7337SfsF4r2WfTPJr8nXpet9+037Cd7BloOnw5+Dk0N/A2LHOobyRaYG18cHhxdHFwcKyuqKrkmmCpvKz4rnSusO3s7CjopNpg5zzq+Ow07LDsLSppJyUaYSV9KTkqtSsxaq1pKWXlWmFj/Wf5aXVp8WmtqCmk5Zphor2muah1qPHorecp5CXaYeG95fnntegyJ+4maiOmGmIgviT6JvYncicuZepi5lpiX75kOmY2ZvKmrqVqomaaYp7+o7qldqYype7k6uIm2mLd/uL65PblsyVvJGshpxpjHT8ieyR3JTMlL2PrYWdaY1x/Yftj92SzZK+jq6DnmmObv6F7o3ekc+Qv4yvgp9pj2v/g++M34/Pj8CLsIGgaZBpAIHwiuCO0I3BirGAoWmRZgF/8YjhjNGMwoiyf6JpkmMCffKH4ovTi8OHs3+jaZNgA3vzheOK1IrEhrR+pGmUXQR69ITkiNWJxYW1faVplVoFePWD5YfWiMaFtnymaZZWBnf2guaG1ofHhLd8p2mXUwd194DnhdeGyIO4e6hpmE8IdPh/6ITYhcmCuXupaZlLCXL5fumD2oTKgbp6qmmaRwpx+n3qgtqDy4G7eatpm0ILb/t864HbgsyAvHmsaZw7DG78e+yA3YLNf714rWmdNA1t/Xrtf92Bzn++eK5pnikOa/557n/fgM9+v3ivaZ8XD2r/eO9+33/QfcB3sGmgCAD4wACsAFwAPAD+p8AAMgDYAHSfwADrrMCwr5vAAD4AT5a3AM4AnQACAPcAhQA/AOUArgA5ADgAyQDaADIAiACIABUA4wCnAAAALwA8ADEAzgCpAOAAIAB7AKUAQADQAF4APwDnAAEAiwBzAC8AtACvACgAXwCfAF0AJQD8AKsAuAAiAEwA4ADRAEYAOQCoAJoAhgA9ABMAwACGAAYAnAB7ACoACwDRALMAUQBVALUA3wAkADsAXgACAPUAMAA8AL8ArwDBADYAOwCEAB4AGAAkADAATABxAJ4AwQAQABAAhQBMAMoAgwBFANkApABXAM8AsgBSADoAFgDQAK4AJAAuAKEAuQBGABUAzgBgACUA7wB7AJEA7QBWAJQAsQAsAEQAkgCBADIA6gBXAE8A5AC7AJoATQBKAIEA0wDNAM8AOAAzAC8AnwA+AL0AdgB/AL8AJgAZAK4ATAAFALkAPAAJAMoAJQAXAHoAjACJAK8AHQAQAL4A+wBiAIEA5gB9AFgAAgDOAOwAugBeAEQABQARAEwA7wCMAKgAHABTAG8A5gAAAP4AsACLABMAVgD4ALUA4gBFANcALABSAEEAWwDVAAcAgADEANoAeQA2ADMARACrACkAkwCnADcAJwDeALUATQDeAMgA3AAsAF8AUgB5AK4A3wDEAJUA0AA0AFoAn/3ADYHWwAATtsAAgG1BAFhiwgCBWEIAN1HDAIFKQwA8RMQAgj9EADs6xACDNkUAQzLFAIMvRgBDK8YAgyhGADslxwCDI0cAQSDIAIQeSABDG8gAhBlJAEwXyQCFFUoAPhPKAIURSwBAEMsAhg5LAEgMzACGC0wASwnNAIcITQBJBs0AhwVOAD8AzgCIAE8ASwDPAIgAUABIANAAiQBQAEsA0QCIAFEASwDSAIoAUgBFANIAiQBTAEoA0wCKAFQASgDUAIoAVQBHANUAiwBVAFAA1gCKAFYAQQDXAIsAVwBGANcAjQBYAEIA2ACMAFkAUwDZAIsAWgBLANoAjgBaAEAA2wCPAFsAWgDcAJMAXABaANwAjQBdAFQA3QCPAF4ATwDeAI4AXwBSAN8AkgBfAEUA4ACPAGAAVADhAJEAYQBcAOIAkABiAFMA4gCaAGMAVgDjAJUAZABeAOQAjABkAFgA5QCRAGUASgDmAJIAZgBKAOcAkABnAF0A5wCdAGgAKgDoAJgAaQBWAOkAlwBpAEsA6gCTAGoAQwDrAI8AawBKAOwAlQBsAFMA7ACYAG0AUQDtAJEAbgBqAO4AlwBvAEYA7wCVAG8ATwDwAIwAcABWAPEAlQBxAG0A8QCeAHIASQDyAKAAcwBTAPMAjAB0AF0A9ACVAHQAcgD1AK8AdQB888DCQHhIskC4wahAl8CiQabBnUGSwJhBnMGVQY7AkkGUwY9BicGNQY/CikGGwYhBisKGQoPBhUKGwoNCgMGCQoPCgEJ9wn9CgMN+QnvCfEJ+w3tDecJ6Q3vDeUN3wnhDecN3Q3XDdkN3xHZDdMN1Q3bEdERyw3NEdMRyRHHDckRyxHFEb8RwRHHFcERuxG9FcMVuRW3EbkVuxW1FbMRsRW3FbEVrxWtFbMZrRWrFakZrxmpGacVpRmrGaUZoxWhGacZoRmfGZ0Zox2dGZsZmR2fHZkdlxmZHZsdlR2TGZUdlx2RHZMdkR2TIZEdjx2NIZMhjSGLHYkhjyGJIYcdiSGLIYUhhyGFIYclhSGDIYElhyWBJX8hgSWDJX0lfyF9JX8lfSV7JXklfyl5JXsleSl7KXUpdyV1KXcpdSlzJXUpdylxKXMpcSlzLXEpbylxLXMtbS1vKW0tby1tLWstaS1vLWktay1pLWsxaS1nLWUxazFlMWctZTFnMWUxYzFhMWcxYTFjMWExYzVhMV8xYTVjNV01XzFdNV81XTVfNV01XzVZNVs1WTVbOVk1WzVZOVs5WTlXNVU5WzlVOVc5VTlXOVU5VzlVOVc9UTlTOVE9Uz1RPVM5UT1TPVE9Tz1RPVM9TT1PPU09T0FNPU89TUFPQU1BSz1JQU9BSUFLQUlD3wNJA3sDCQNLAuEDKwLJBxMGtQcDBqEG8waVBuMGiQbbBn0GzwZ1BscGaQa/BmEKtwpdCq8KVQqnCk0KowpJCpsKQQqXCj0Kkwo5CosKNQqHDi0Ogw4pDn8OJQ57DiEOdw4dDnMOGQ5vDhkOaw4VDmsSERJnEg0SYxIJEl8SCRJfEgUSWxIBElcSARJXEf0SUxX5Fk8V+RZPFfUWSxX1FkcV8RZHFe0WQxXtFkMV6Ro/GekaPxnlGjsZ5Ro7GeEaNxnhGjcZ3RozGd0aMxndHjMd2R4vHdkeLx3VHisd1R4rHdEeJx3RHicd0R4nHc0eIyHNIiMhySIjIckiHyHJIh8hxSIbIcUiGyHFIhshwSIXJcEmFyXBJhclvSYTJb0mEyW9JhMluSYTJbkmDyW5Jg8puSoPKbUqCym1KgsptSoLKbEqBymxKgcpsSoHKbEuBy2tLgMtrS4DLa0uAy2tLgMtqS3/Lakt/y2pLf8tqTH/MaUx+zGlMfsxpTH7MaUx+zGhMfcxoTH3MaEx9zGhMfc1nTX3NZ018zWdNfM1nTXzNZ018zWZNe81mTXvNZk17zmZOe85lTnvOZU56zmVOes5lTnrOZU56zmVOes5kTnnPZE95z2RPec9kT3nPZE95z2NPec9jT3jPY094z2NQeNBjUHjQYlB40GJQd9BiUP/AAKnmwABH2sAAu9LAAEDMwQBLx8EAwMTBAMDAwQCtvcEAwLvBAPq4wQBAtsEAE7TCALOzwgBAscIAQK/CAECuwgAorcIAvavCAFOqwgDDqcMAaKjDAECnwwBApsMAAKXDAMCkwwDAo8MAyqLDAEChxAAAocQAQKDEAECfxAAAnsQAQJ7EAACdxABAnMQAQJzFAMWbxQAAmsUAAJrFAACZxQDAmcUAAJjFACCYxQAAl8YAQJfGAACWxgAAlsYAAJXGAACVxgAAlMYAAJTGAACTxwBAk8cAAJLHAMCSxwAAkscAAJHHAACRxwAAkMcAAJDIAECQyAAAj8gAwI/IAACPyADTjsgAAI7IAACOyAAAjckAAI3JAACNyQDTjMkAAIzJAACMyQAAi8kAAIvJAACLygAAisoAAIrKAACKygAAisoAIInKAACJygAAicoAAIjLAACIywAAiMsAAIjLAACHywAAh8sAAIfLAACHywAAhswAAIbMAACGzAAAhswAAIXMAACFzAAAhcwAAIXMAACFzQAAhM0AAITNAACEzQAAhM0AAIPNAACDzQAAg80AAIPOAACDzgAAgs4AAILOAACCzgAAgs4AAILOAACBzgAAgc8AAIHPAACBzwAAgc8AAIDPAACAzwAAgM8AAIDPAACA0AAAgNAAAH/QAAB/0AAA+NXnwN6rAELT1c7Ay6sAtsXWwsHArADAvNa6wbmsAMC21rXBtKwAYbHWsMGvrADArdeswqutAECq16nCqK0AbafXpsKlrQBApNejwqOtAPKi2KHDoa4AAKDYn8OfrgBAntidw52uAC2c2JvDm64AU5rZmcSZrwBAmdmYxJivAACX2ZbElq8AQJbZlcSVrwBAldqUxZSwAECT2pPFk7AAQJLakcWSsAAAkdqQxZCwAGCQ24/Gj7EA9Y/bjsaOsQAAjtuNxo2xAACN24zGjbEAwIzcjMeMsgAAi9yLx4uyAACK3IrHirIAQIrciceJsgAAid2IyImzAECI3YjIiLMAAIfdh8iHswAAh92GyIazAACG3obJhrQAAIXehcmFtAAAhd6EyYS0AMCE3oTJhLQAAITfg8qDtQDAg9+CyoO1AACC34LKgrUAAILfgcqCtQAAgeCBy4G2AACB4IDLgLYAAIDggMuAtgAAgOB/y3+2AAB/4X/Mf7cAAH/hfsx/twAAfuF+zH63AAB+4X3MfrcAAH3ifc19uAAAfeJ8zX24AAB84nzNfLgAAHzifM18uAAAfON7znu5AAB743vOe7kAAHvjes57uQAAeuN6znq5AAB65HrPeroAAHrkec96ugAAeeR5z3m6AAB55HnPeboAAHnleNB4uwAAeOV40Hi7AADr7Ofa4czbwNa1zqa+lGWBuO3C28PNwsHAtrunrZVlgqjutNy2zrbDtbewqKSWZYOf76vdrs+uw624qamel2WEmO+k3qjQqMWouaSqmZhlhZLwn9+j0aTFo7qgq5WZZYaN8Zvgn9Ggx6C7naySmWWHifKX4JvSncidvJqtj5pliIXylOGY05rImr2XrY2bZYmC85HildSXype+la6LnGWKf/SO45PVlcqVv5OviZ1li3z0jOSR1pPMk8CRsIeeZYx59YnkjteRzJHBj7GGn2WNdvaH5YzYj82Qwo6yhKBljnT2heaL2Y3PjsKMs4OgZY9x94PnidqLz43Di7SCoWWQb/eB6IfbitCMxIq1gaJlkW34f+iG3InRisWJtYCjZZJq+H7phN2H04nGh7Z/pGWTaPh86oPehtSIx4a3fqVllGb4e+uB34XVh8iFuH6mZZVk+XnrgOCE1obJhbl9p2WWYfl37H/gg9aFyoS6fKhll1/5du194YHXhMuDu3upZZhd+XXufOKA2IPMgrx7qWWZW/hz7nvjf9qCzYG9eqplmlj4cu965H/agc6BvnqrZZtW93DweeV+24HPgL95rGWcU/Zv8Hjmfd2A0H+/ea1lnVH1bvF353zdf9F/wHiuZZ5P9Gzxduh7337SfsF4r2WfTPJr8nXpet9+037Cd7BloOnw5+Dk0N/A2LHOobyRaYG18cHhxdHFwcKyuqKrkmmCpvKz4rnSusO3s7CjopNpg5zzq+Ow07LDsLSppJyUaYSV9KTkqtSsxaq1pKWXlWmFj/Wf5aXVp8WmtqCmk5Zphor2muah1qPHorecp5CXaYeG95fnntegyJ+4maiOmGmIgviT6JvYncicuZepi5lpiX75kOmY2ZvKmrqVqomaaYp7+o7qldqYype7k6uIm2mLd/uL65PblsyVvJGshpxpjHT8ieyR3JTMlL2PrYWdaY1x/Yftj92SzZK+jq6DnmmObv6F7o3ekc+Qv4yvgp9pj2v/g++M34/Pj8CLsIGgaZBpAIHwiuCO0I3BirGAoWmRZgF/8YjhjNGMwoiyf6JpkmMCffKH4ovTi8OHs3+jaZNgA3vzheOK1IrEhrR+pGmUXQR69ITkiNWJxYW1faVplVoFePWD5YfWiMaFtnymaZZWBnf2guaG1ofHhLd8p2mXUwd194DnhdeGyIO4e6hpmE8IdPh/6ITYhcmCuXupaZlLCXL5fumD2oTKgbp6qmmaRwpx+n3qgtqDy4G7eatpm0ILb/t864HbgsyAvHmsaZw7DG78e+yA3YLNf714rWmdNA1t/Xrtf92Bzn++eK5pnikOa/557n/fgM9+v3ivaZ8XD2r/eO9+33/QfcB3sGmgAAAAAEJOUzEFAQICKsZaEFdPT0QgUExVQ0sAAE1YTUZSUFIAAAAAAEAAAAAwQEAAAxMAAEBAAAAUAAFdAABAABQAX39ZAGQAPgE8AgABbgV4CHgMeAAAAAAAAAAIAPnAAP0AlwCDAA4ABQCgAJwArQC+ABgAgwCoAN8AcwCPAA8ADQDPAKsAuQCRAI0AAAA+AA4AewAvABcAhQC/AD0ASQAvANMAsgCPAO0AHwDCAKIA9AA/AJEA1wCtAGAA/gCZANIAVQAkAEwAWgC1APYAOgCqAMQAYQBOAJMA+wBmAMMAOwCrACYARQDHANUA3gB6AIoALAB9AH0A2gDdAG0AVgDlAM0AtgA+ACYAlAC2ANMAfQBWAPgAEQD2AMcACQC+ANoASQAEADgAhAC/ADQAHQBbAF8AGgC3AFMAMQBCAFIAzABgAFMA4gArAGYAAADLAFwANQDaAM0A3gA6APwAvgC2AD0AmwC8AKEAswDEADoAyADqAN8AuACeAJIAiAA+AN0ArAADAD0ApgDKAK0AswCWAA8AUwCsAMoAoQDeADQABwClAPQAvgA8AF4AEwA+AA0ApwAaAAMAqQBVADkAzwBgADUAbgCbAK4AywAPAE8AfAAJACoAcgCmABQArQCMAIAASgCxAEcAwAARAAoAegB/AKcAewBQAJUAEAASABsAzABiACAAjQCHABkAigClAGUAyQCHADsAYgCkAIAAMQACABUAdwCtAJ4AKAA9AKkAJABiAKEAMACOAMQAbQA7ALUAwwBPADoAGwCnAO0AMQA/AKQA2gDaAIAAyABh/cANgdbAABO2wACAbUEAWGLCAIFYQgA3UcMAgUpDADxExACCP0QAOzrEAIM2RQBDMsUAgy9GAEMrxgCDKEYAOyXHAIMjRwBBIMgAhB5IAEMbyACEGUkATBfJAIUVSgA+E8oAhRFLAEAQywCGDksASAzMAIYLTABLCc0AhwhNAEkGzQCHBU4APwDOAIgATwBLAM8AiABQAEgA0ACJAFAASwDRAIgAUQBLANIAigBSAEUA0gCJAFMASgDTAIoAVABKANQAigBVAEcA1QCLAFUAUADWAIoAVgBBANcAiwBXAEYA1wCNAFgAQgDYAIwAWQBTANkAiwBaAEsA2gCOAFoAQADbAI8AWwBaANwAkwBcAFoA3ACNAF0AVADdAI8AXgBPAN4AjgBfAFIA3wCSAF8ARQDgAI8AYABUAOEAkQBhAFwA4gCQAGIAUwDiAJoAYwBWAOMAlQBkAF4A5ACMAGQAWADlAJEAZQBKAOYAkgBmAEoA5wCQAGcAXQDnAJ0AaAAqAOgAmABpAFYA6QCXAGkASwDqAJMAagBDAOsAjwBrAEoA7ACVAGwAUwDsAJgAbQBRAO0AkQBuAGoA7gCXAG8ARgDvAJUAbwBPAPAAjABwAFYA8QCVAHEAbQDxAJ4AcgBJAPIAoABzAFMA8wCMAHQAXQD0AJUAdAByAPUArwB1AHzzwMJAeEiyQLjBqECXwKJBpsGdQZLAmEGcwZVBjsCSQZTBj0GJwY1Bj8KKQYbBiEGKwoZCg8GFQobCg0KAwYJCg8KAQn3Cf0KAw35Ce8J8Qn7De0N5wnpDe8N5Q3fCeEN5w3dDdcN2Q3fEdkN0w3VDdsR0RHLDc0R0xHJEccNyRHLEcURvxHBEccVwRG7Eb0VwxW5FbcRuRW7FbUVsxGxFbcVsRWvFa0VsxmtFasVqRmvGakZpxWlGasZpRmjFaEZpxmhGZ8ZnRmjHZ0ZmxmZHZ8dmR2XGZkdmx2VHZMZlR2XHZEdkx2RHZMhkR2PHY0hkyGNIYsdiSGPIYkhhx2JIYshhSGHIYUhhyWFIYMhgSWHJYElfyGBJYMlfSV/IX0lfyV9JXsleSV/KXkleyV5KXspdSl3JXUpdyl1KXMldSl3KXEpcylxKXMtcSlvKXEtcy1tLW8pbS1vLW0tay1pLW8taS1rLWktazFpLWctZTFrMWUxZy1lMWcxZTFjMWExZzFhMWMxYTFjNWExXzFhNWM1XTVfMV01XzVdNV81XTVfNVk1WzVZNVs5WTVbNVk5WzlZOVc1VTlbOVU5VzlVOVc5VTlXOVU5Vz1ROVM5UT1TPVE9UzlRPVM9UT1PPVE9Uz1NPU89TT1PQU09Tz1NQU9BTUFLPUlBT0FJQUtBSUPfA0kDewMJA0sC4QMrAskHEwa1BwMGoQbzBpUG4waJBtsGfQbPBnUGxwZpBr8GYQq3Cl0KrwpVCqcKTQqjCkkKmwpBCpcKPQqTCjkKiwo1CocOLQ6DDikOfw4lDnsOIQ53Dh0Ocw4ZDm8OGQ5rDhUOaxIREmcSDRJjEgkSXxIJEl8SBRJbEgESVxIBElcR/RJTFfkWTxX5Fk8V9RZLFfUWRxXxFkcV7RZDFe0WQxXpGj8Z6Ro/GeUaOxnlGjsZ4Ro3GeEaNxndGjMZ3RozGd0eMx3ZHi8d2R4vHdUeKx3VHisd0R4nHdEeJx3RHicdzR4jIc0iIyHJIiMhySIfIckiHyHFIhshxSIbIcUiGyHBIhclwSYXJcEmFyW9JhMlvSYTJb0mEyW5JhMluSYPJbkmDym5Kg8ptSoLKbUqCym1KgspsSoHKbEqBymxKgcpsS4HLa0uAy2tLgMtrS4DLa0uAy2pLf8tqS3/Lakt/y2pMf8xpTH7MaUx+zGlMfsxpTH7MaEx9zGhMfcxoTH3MaEx9zWdNfc1nTXzNZ018zWdNfM1nTXzNZk17zWZNe81mTXvOZk57zmVOe85lTnrOZU56zmVOes5lTnrOZU56zmROec9kT3nPZE95z2RPec9kT3nPY095z2NPeM9jT3jPY1B40GNQeNBiUHjQYlB30GJQ/8AAqebAAEfawAC70sAAQMzBAEvHwQDAxMEAwMDBAK29wQDAu8EA+rjBAEC2wQATtMIAs7PCAECxwgBAr8IAQK7CACitwgC9q8IAU6rCAMOpwwBoqMMAQKfDAECmwwAApcMAwKTDAMCjwwDKosMAQKHEAAChxABAoMQAQJ/EAACexABAnsQAAJ3EAECcxABAnMUAxZvFAACaxQAAmsUAAJnFAMCZxQAAmMUAIJjFAACXxgBAl8YAAJbGAACWxgAAlcYAAJXGAACUxgAAlMYAAJPHAECTxwAAkscAwJLHAACSxwAAkccAAJHHAACQxwAAkMgAQJDIAACPyADAj8gAAI/IANOOyAAAjsgAAI7IAACNyQAAjckAAI3JANOMyQAAjMkAAIzJAACLyQAAi8kAAIvKAACKygAAisoAAIrKAACKygAgicoAAInKAACJygAAiMsAAIjLAACIywAAiMsAAIfLAACHywAAh8sAAIfLAACGzAAAhswAAIbMAACGzAAAhcwAAIXMAACFzAAAhcwAAIXNAACEzQAAhM0AAITNAACEzQAAg80AAIPNAACDzQAAg84AAIPOAACCzgAAgs4AAILOAACCzgAAgs4AAIHOAACBzwAAgc8AAIHPAACBzwAAgM8AAIDPAACAzwAAgM8AAIDQAACA0AAAf9AAAH/QAAD41efA3qsAQtPVzsDLqwC2xdbCwcCsAMC81rrBuawAwLbWtcG0rABhsdawwa+sAMCt16zCq60AQKrXqcKorQBtp9emwqWtAECk16PCo60A8qLYocOhrgAAoNifw5+uAECe2J3Dna4ALZzYm8ObrgBTmtmZxJmvAECZ2ZjEmK8AAJfZlsSWrwBAltmVxJWvAECV2pTFlLAAQJPak8WTsABAktqRxZKwAACR2pDFkLAAYJDbj8aPsQD1j9uOxo6xAACO243GjbEAAI3bjMaNsQDAjNyMx4yyAACL3IvHi7IAAIrciseKsgBAityJx4myAACJ3YjIibMAQIjdiMiIswAAh92HyIezAACH3YbIhrMAAIbehsmGtAAAhd6FyYW0AACF3oTJhLQAwITehMmEtAAAhN+DyoO1AMCD34LKg7UAAILfgsqCtQAAgt+ByoK1AACB4IHLgbYAAIHggMuAtgAAgOCAy4C2AACA4H/Lf7YAAH/hf8x/twAAf+F+zH+3AAB+4X7MfrcAAH7hfcx+twAAfeJ9zX24AAB94nzNfbgAAHzifM18uAAAfOJ8zXy4AAB843vOe7kAAHvje857uQAAe+N6znu5AAB643rOerkAAHrkes96ugAAeuR5z3q6AAB55HnPeboAAHnkec95ugAAeeV40Hi7AAB45XjQeLsAAOvs59rhzNvA1rXOpr6UZYG47cLbw83CwcC2u6etlWWCqO603LbOtsO1t7CopJZlg5/vq92uz67DrbipqZ6XZYSY76TeqNCoxai5pKqZmGWFkvCf36PRpMWjuqCrlZllho3xm+Cf0aDHoLudrJKZZYeJ8pfgm9KdyJ28mq2PmmWIhfKU4ZjTmsiavZetjZtliYLzkeKV1JfKl76VroucZYp/9I7jk9WVypW/k6+JnWWLfPSM5JHWk8yTwJGwh55ljHn1ieSO15HMkcGPsYafZY129ofljNiPzZDCjrKEoGWOdPaF5ovZjc+Owoyzg6Blj3H3g+eJ2ovPjcOLtIKhZZBv94Hoh9uK0IzEirWBomWRbfh/6IbcidGKxYm1gKNlkmr4fumE3YfTicaHtn+kZZNo+Hzqg96G1IjHhrd+pWWUZvh764HfhdWHyIW4fqZllWT5eeuA4ITWhsmFuX2nZZZh+Xfsf+CD1oXKhLp8qGWXX/l27X3hgdeEy4O7e6llmF35de584oDYg8yCvHupZZlb+HPue+N/2oLNgb16qmWaWPhy73rkf9qBzoG+eqtlm1b3cPB55X7bgc+Av3msZZxT9m/weOZ93YDQf795rWWdUfVu8XfnfN1/0X/AeK5lnk/0bPF26HvfftJ+wXivZZ9M8mvydel6337TfsJ3sGWg6fDn4OTQ38DYsc6hvJFpgbXxweHF0cXBwrK6oquSaYKm8rPiudK6w7ezsKOik2mDnPOr47DTssOwtKmknJRphJX0pOSq1KzFqrWkpZeVaYWP9Z/lpdWnxaa2oKaTlmmGivaa5qHWo8eit5ynkJdph4b3l+ee16DIn7iZqI6YaYiC+JPom9idyJy5l6mLmWmJfvmQ6ZjZm8qaupWqiZppinv6juqV2pjKl7uTq4ibaYt3+4vrk9uWzJW8kayGnGmMdPyJ7JHclMyUvY+thZ1pjXH9h+2P3ZLNkr6OroOeaY5u/oXujd6Rz5C/jK+Cn2mPa/+D74zfj8+PwIuwgaBpkGkAgfCK4I7QjcGKsYChaZFmAX/xiOGM0YzCiLJ/ommSYwJ98ofii9OLw4ezf6Npk2ADe/OF44rUisSGtH6kaZRdBHr0hOSI1YnFhbV9pWmVWgV49YPlh9aIxoW2fKZpllYGd/aC5obWh8eEt3ynaZdTB3X3gOeF14bIg7h7qGmYTwh0+H/ohNiFyYK5e6lpmUsJcvl+6YPahMqBunqqaZpHCnH6feqC2oPLgbt5q2mbQgtv+3zrgduCzIC8eaxpnDsMbvx77IDdgs1/vXitaZ00DW39eu1/3YHOf754rmmeKQ5r/nnuf9+Az36/eK9pnxcPav94737ff9B9wHewaaAAAAAAAABCTlMxBQECAtFtWhBTUEFDWSBQTFVDSwBNWE1GUlBSAAAAAABAAAAgMEBAAAMTAABAQAAAFAABXQAAQAAUAF9/WQBkAD4BPAIAAW4FeAh4DHgAAAAAAAAACAD5wAD9AJcAgwAOAAUAoACcAK0AvgAYAIMAqADfAHMAjwAPAA0AzwCrALkAkQCNAAAAPgAOAHsALwAXAIUAvwA9AEkALwDTALIAjwDtAB8AwgCiAPQAPwCRANcArQBgAP4AmQDSAFUAJABMAFoAtQD2ADoAqgDEAGEATgCTAPsAZgDDADsAqwAmAEUAxwDVAN4AegCKACwAfQB9ANoA3QBtAFYA5QDNALYAPgAmAJQAtgDTAH0AVgD4ABEA9gDHAAkAvgDaAEkABAA4AIQAvwA0AB0AWwBfABoAtwBTADEAQgBSAMwAYABTAOIAKwBmAAAAywBcADUA2gDNAN4AOgD8AL4AtgA9AJsAvAChALMAxAA6AMgA6gDfALgAngCSAIgAPgDdAKwAAwA9AKYAygCtALMAlgAPAFMArADKAKEA3gA0AAcApQD0AL4APABeABMAPgANAKcAGgADAKkAVQA5AM8AYAA1AG4AmwCuAMsADwBPAHwACQAqAHIApgAUAK0AjACAAEoAsQBHAMAAEQAKAHoAfwCnAHsAUACVABAAEgAbAMwAYgAgAI0AhwAZAIoApQBlAMkAhwA7AGIApACAADEAAgAVAHcArQCeACgAPQCpACQAYgChADAAjgDEAG0AOwC1AMMATwA6ABsApwDtADEAPwCkANoA2gCAAMgAYf3ADYHWwAATtsAAgG1BAFhiwgCBWEIAN1HDAIFKQwA8RMQAgj9EADs6xACDNkUAQzLFAIMvRgBDK8YAgyhGADslxwCDI0cAQSDIAIQeSABDG8gAhBlJAEwXyQCFFUoAPhPKAIURSwBAEMsAhg5LAEgMzACGC0wASwnNAIcITQBJBs0AhwVOAD8AzgCIAE8ASwDPAIgAUABIANAAiQBQAEsA0QCIAFEASwDSAIoAUgBFANIAiQBTAEoA0wCKAFQASgDUAIoAVQBHANUAiwBVAFAA1gCKAFYAQQDXAIsAVwBGANcAjQBYAEIA2ACMAFkAUwDZAIsAWgBLANoAjgBaAEAA2wCPAFsAWgDcAJMAXABaANwAjQBdAFQA3QCPAF4ATwDeAI4AXwBSAN8AkgBfAEUA4ACPAGAAVADhAJEAYQBcAOIAkABiAFMA4gCaAGMAVgDjAJUAZABeAOQAjABkAFgA5QCRAGUASgDmAJIAZgBKAOcAkABnAF0A5wCdAGgAKgDoAJgAaQBWAOkAlwBpAEsA6gCTAGoAQwDrAI8AawBKAOwAlQBsAFMA7ACYAG0AUQDtAJEAbgBqAO4AlwBvAEYA7wCVAG8ATwDwAIwAcABWAPEAlQBxAG0A8QCeAHIASQDyAKAAcwBTAPMAjAB0AF0A9ACVAHQAcgD1AK8AdQB888DCQHhIskC4wahAl8CiQabBnUGSwJhBnMGVQY7AkkGUwY9BicGNQY/CikGGwYhBisKGQoPBhUKGwoNCgMGCQoPCgEJ9wn9CgMN+QnvCfEJ+w3tDecJ6Q3vDeUN3wnhDecN3Q3XDdkN3xHZDdMN1Q3bEdERyw3NEdMRyRHHDckRyxHFEb8RwRHHFcERuxG9FcMVuRW3EbkVuxW1FbMRsRW3FbEVrxWtFbMZrRWrFakZrxmpGacVpRmrGaUZoxWhGacZoRmfGZ0Zox2dGZsZmR2fHZkdlxmZHZsdlR2TGZUdlx2RHZMdkR2TIZEdjx2NIZMhjSGLHYkhjyGJIYcdiSGLIYUhhyGFIYclhSGDIYElhyWBJX8hgSWDJX0lfyF9JX8lfSV7JXklfyl5JXsleSl7KXUpdyV1KXcpdSlzJXUpdylxKXMpcSlzLXEpbylxLXMtbS1vKW0tby1tLWstaS1vLWktay1pLWsxaS1nLWUxazFlMWctZTFnMWUxYzFhMWcxYTFjMWExYzVhMV8xYTVjNV01XzFdNV81XTVfNV01XzVZNVs1WTVbOVk1WzVZOVs5WTlXNVU5WzlVOVc5VTlXOVU5VzlVOVc9UTlTOVE9Uz1RPVM5UT1TPVE9Tz1RPVM9TT1PPU09T0FNPU89TUFPQU1BSz1JQU9BSUFLQUlD3wNJA3sDCQNLAuEDKwLJBxMGtQcDBqEG8waVBuMGiQbbBn0GzwZ1BscGaQa/BmEKtwpdCq8KVQqnCk0KowpJCpsKQQqXCj0Kkwo5CosKNQqHDi0Ogw4pDn8OJQ57DiEOdw4dDnMOGQ5vDhkOaw4VDmsSERJnEg0SYxIJEl8SCRJfEgUSWxIBElcSARJXEf0SUxX5Fk8V+RZPFfUWSxX1FkcV8RZHFe0WQxXtFkMV6Ro/GekaPxnlGjsZ5Ro7GeEaNxnhGjcZ3RozGd0aMxndHjMd2R4vHdkeLx3VHisd1R4rHdEeJx3RHicd0R4nHc0eIyHNIiMhySIjIckiHyHJIh8hxSIbIcUiGyHFIhshwSIXJcEmFyXBJhclvSYTJb0mEyW9JhMluSYTJbkmDyW5Jg8puSoPKbUqCym1KgsptSoLKbEqBymxKgcpsSoHKbEuBy2tLgMtrS4DLa0uAy2tLgMtqS3/Lakt/y2pLf8tqTH/MaUx+zGlMfsxpTH7MaUx+zGhMfcxoTH3MaEx9zGhMfc1nTX3NZ018zWdNfM1nTXzNZ018zWZNe81mTXvNZk17zmZOe85lTnvOZU56zmVOes5lTnrOZU56zmVOes5kTnnPZE95z2RPec9kT3nPZE95z2NPec9jT3jPY094z2NQeNBjUHjQYlB40GJQd9BiUP/AAKnmwABH2sAAu9LAAEDMwQBLx8EAwMTBAMDAwQCtvcEAwLvBAPq4wQBAtsEAE7TCALOzwgBAscIAQK/CAECuwgAorcIAvavCAFOqwgDDqcMAaKjDAECnwwBApsMAAKXDAMCkwwDAo8MAyqLDAEChxAAAocQAQKDEAECfxAAAnsQAQJ7EAACdxABAnMQAQJzFAMWbxQAAmsUAAJrFAACZxQDAmcUAAJjFACCYxQAAl8YAQJfGAACWxgAAlsYAAJXGAACVxgAAlMYAAJTGAACTxwBAk8cAAJLHAMCSxwAAkscAAJHHAACRxwAAkMcAAJDIAECQyAAAj8gAwI/IAACPyADTjsgAAI7IAACOyAAAjckAAI3JAACNyQDTjMkAAIzJAACMyQAAi8kAAIvJAACLygAAisoAAIrKAACKygAAisoAIInKAACJygAAicoAAIjLAACIywAAiMsAAIjLAACHywAAh8sAAIfLAACHywAAhswAAIbMAACGzAAAhswAAIXMAACFzAAAhcwAAIXMAACFzQAAhM0AAITNAACEzQAAhM0AAIPNAACDzQAAg80AAIPOAACDzgAAgs4AAILOAACCzgAAgs4AAILOAACBzgAAgc8AAIHPAACBzwAAgc8AAIDPAACAzwAAgM8AAIDPAACA0AAAgNAAAH/QAAB/0AAA+NXnwN6rAELT1c7Ay6sAtsXWwsHArADAvNa6wbmsAMC21rXBtKwAYbHWsMGvrADArdeswqutAECq16nCqK0AbafXpsKlrQBApNejwqOtAPKi2KHDoa4AAKDYn8OfrgBAntidw52uAC2c2JvDm64AU5rZmcSZrwBAmdmYxJivAACX2ZbElq8AQJbZlcSVrwBAldqUxZSwAECT2pPFk7AAQJLakcWSsAAAkdqQxZCwAGCQ24/Gj7EA9Y/bjsaOsQAAjtuNxo2xAACN24zGjbEAwIzcjMeMsgAAi9yLx4uyAACK3IrHirIAQIrciceJsgAAid2IyImzAECI3YjIiLMAAIfdh8iHswAAh92GyIazAACG3obJhrQAAIXehcmFtAAAhd6EyYS0AMCE3oTJhLQAAITfg8qDtQDAg9+CyoO1AACC34LKgrUAAILfgcqCtQAAgeCBy4G2AACB4IDLgLYAAIDggMuAtgAAgOB/y3+2AAB/4X/Mf7cAAH/hfsx/twAAfuF+zH63AAB+4X3MfrcAAH3ifc19uAAAfeJ8zX24AAB84nzNfLgAAHzifM18uAAAfON7znu5AAB743vOe7kAAHvjes57uQAAeuN6znq5AAB65HrPeroAAHrkec96ugAAeeR5z3m6AAB55HnPeboAAHnleNB4uwAAeOV40Hi7AADr7Ofa4czbwNa1zqa+lGWBuO3C28PNwsHAtrunrZVlgqjutNy2zrbDtbewqKSWZYOf76vdrs+uw624qamel2WEmO+k3qjQqMWouaSqmZhlhZLwn9+j0aTFo7qgq5WZZYaN8Zvgn9Ggx6C7naySmWWHifKX4JvSncidvJqtj5pliIXylOGY05rImr2XrY2bZYmC85HildSXype+la6LnGWKf/SO45PVlcqVv5OviZ1li3z0jOSR1pPMk8CRsIeeZYx59YnkjteRzJHBj7GGn2WNdvaH5YzYj82Qwo6yhKBljnT2heaL2Y3PjsKMs4OgZY9x94PnidqLz43Di7SCoWWQb/eB6IfbitCMxIq1gaJlkW34f+iG3InRisWJtYCjZZJq+H7phN2H04nGh7Z/pGWTaPh86oPehtSIx4a3fqVllGb4e+uB34XVh8iFuH6mZZVk+XnrgOCE1obJhbl9p2WWYfl37H/gg9aFyoS6fKhll1/5du194YHXhMuDu3upZZhd+XXufOKA2IPMgrx7qWWZW/hz7nvjf9qCzYG9eqplmlj4cu965H/agc6BvnqrZZtW93DweeV+24HPgL95rGWcU/Zv8Hjmfd2A0H+/ea1lnVH1bvF353zdf9F/wHiuZZ5P9Gzxduh7337SfsF4r2WfTPJr8nXpet9+037Cd7BloOnw5+Dk0N/A2LHOobyRaYG18cHhxdHFwcKyuqKrkmmCpvKz4rnSusO3s7CjopNpg5zzq+Ow07LDsLSppJyUaYSV9KTkqtSsxaq1pKWXlWmFj/Wf5aXVp8WmtqCmk5Zphor2muah1qPHorecp5CXaYeG95fnntegyJ+4maiOmGmIgviT6JvYncicuZepi5lpiX75kOmY2ZvKmrqVqomaaYp7+o7qldqYype7k6uIm2mLd/uL65PblsyVvJGshpxpjHT8ieyR3JTMlL2PrYWdaY1x/Yftj92SzZK+jq6DnmmObv6F7o3ekc+Qv4yvgp9pj2v/g++M34/Pj8CLsIGgaZBpAIHwiuCO0I3BirGAoWmRZgF/8YjhjNGMwoiyf6JpkmMCffKH4ovTi8OHs3+jaZNgA3vzheOK1IrEhrR+pGmUXQR69ITkiNWJxYW1faVplVoFePWD5YfWiMaFtnymaZZWBnf2guaG1ofHhLd8p2mXUwd194DnhdeGyIO4e6hpmE8IdPh/6ITYhcmCuXupaZlLCXL5fumD2oTKgbp6qmmaRwpx+n3qgtqDy4G7eatpm0ILb/t864HbgsyAvHmsaZw7DG78e+yA3YLNf714rWmdNA1t/Xrtf92Bzn++eK5pnikOa/557n/fgM9+v3ivaZ8XD2r/eO9+33/QfcB3sGmgAAAAAAAAQk5TMQUBAQK6Q1oQTE9XIFBBRAAAAAAAQUJTVFIuIE1BR0UAAAAAAFBAQB8AHAAAQEAAABQAAX8AAEAAFABffz4AX38+AWUDSAEwBXgIeAx4AAAAAAAAAAgA+cAA/QCXAIMADgAFAKAAnACtAL4AGACDAKgA3wBzAI8ADwANAM8AqwC5AJEAjQAAAD4ADgB7AC8AFwCFAL8APQBJAC8A0wCyAI8A7QAfAMIAogD0AD8AkQDXAK0AYAD+AJkA0gBVACQATABaALUA9gA6AKoAxABhAE4AkwD7AGYAwwA7AKsAJgBFAMcA1QDeAHoAigAsAH0AfQDaAN0AbQBWAOUAzQC2AD4AJgCUALYA0wB9AFYA+AARAPYAxwAJAL4A2gBJAAQAOACEAL8ANAAdAFsAXwAaALcAUwAxAEIAUgDMAGAAUwDiACsAZgAAAMsAXAA1ANoAzQDeADoA/AC+ALYAPQCbALwAoQCzAMQAOgDIAOoA3wC4AJ4AkgCIAD4A3QCsAAMAPQCmAMoArQCzAJYADwBTAKwAygChAN4ANAAHAKUA9AC+ADwAXgATAD4ADQCnABoAAwCpAFUAOQDPAGAANQBuAJsArgDLAA8ATwB8AAkAKgByAKYAFACtAIwAgABKALEARwDAABEACgB6AH8ApwB7AFAAlQAQABIAGwDMAGIAIACNAIcAGQCKAKUAZQDJAIcAOwBiAKQAgAAxAAIAFQB3AK0AngAoAD0AqQAkAGIAoQAwAI4AxABtADsAtQDDAE8AOgAbAKcA7QAxAD8ApADaANoAgADIAGH4wM/A08AAE7TAAICa3JfAYsIAgVhCADdRwwCBSkMAOETEAII/RAA8OsQAgzZFAEAyxQCDL0YARSvGAIMoRgA4JccAgyNHAEQgyACFHkgAORvIAIQZSQBPF8kAhhVKAEkTygCEEUsAOhDLAIYOSwBBDMwAhgtMAFYJzQCGCE0ATQbNAIcFTgBHAM4AiABPAE8AzwCJAFAAPwDQAIYAUABJANEAigBRAEgA0gCKAFIARADSAI0AUwA8ANMAhwBUAFIA1ACIAFUAUQDVAIgAVQAzANYAjQBWAE4A1wCKAFcAVADXAIgAWABPANgAjgBZAF0A2QCOAFoALADaAI0AWgBRANsAkgBbAF0A3ACOAFwASwDcAJIAXQBYAN0AkABeADYA3gCNAF8AagDfAJIAXwBIAOAAkABgAGIA4QCCAGEAJwDiAI4AYgBeAOIAjwBjAFQA4wCPAGQASwDkAJEAZABGAOUAmABlACsA5gCPAGYARQDnAJAAZwBWAOcAlQBoAF0A6ACjAGkAfADpAJMAagAVAOoAqgBqAFgA6wCPAGsAUgDsAJAAbABGAOwAlgBtAEkA7QClAG4AggDuAKUAbwBQAO8AiQBvAHAA8ACkAHAAVQDxAJQAcQApAPIAjwByADUA8gCqAHMAbgDzAKEAdABWAPQAmwB0AFkA9QCVAHUAffPAwkB4SLJAuMGoQJfAokGmwZ1BksCYQZzBlUGOwJJBlMGPQYnBjUGPwopBhsGIQYrChkKDwYVChsKDQoDBgkKDwoBCfcJ/QoDDfkJ7wnxCfsN7Q3nCekN7w3lDd8J4Q3nDd0N1w3ZDd8R2Q3TDdUN2xHREcsNzRHTEckRxw3JEcsRxRG/EcERxxXBEbsRvRXDFbkVtxG5FbsVtRWzEbEVtxWxFa8VrRWzGa0VqxWpGa8ZqRmnFaUZqxmlGaMVoRmnGaEZnxmdGaMdnRmbGZkdnx2ZHZcZmR2bHZUdkxmVHZcdkR2THZEdkyGRHY8djSGTIY0hix2JIY8hiSGHHYkhiyGFIYchhSGHJYUhgyGBJYclgSV/IYElgyV9JX8hfSV/JX0leyV5JX8peSV7JXkpeyl1KXcldSl3KXUpcyV1KXcpcSlzKXEpcy1xKW8pcS1zLW0tbyltLW8tbS1rLWktby1pLWstaS1rMWktZy1lMWsxZTFnLWUxZzFlMWMxYTFnMWExYzFhMWM1YTFfMWE1YzVdNV8xXTVfNV01XzVdNV81WTVbNVk1WzlZNVs1WTlbOVk5VzVVOVs5VTlXOVU5VzlVOVc5VTlXPVE5UzlRPVM9UT1TOVE9Uz1RPU89UT1TPU09Tz1NPU9BTT1PPU1BT0FNQUs9SUFPQUlBS0FJQ98DSQN7AwkDSwLhAysCyQcTBrUHAwahBvMGlQbjBokG2wZ9Bs8GdQbHBmkGvwZhCrcKXQqvClUKpwpNCqMKSQqbCkEKlwo9CpMKOQqLCjUKhw4tDoMOKQ5/DiUOew4hDncOHQ5zDhkObw4ZDmsOFQ5rEhESZxINEmMSCRJfEgkSXxIFElsSARJXEgESVxH9ElMV+RZPFfkWTxX1FksV9RZHFfEWRxXtFkMV7RZDFekaPxnpGj8Z5Ro7GeUaOxnhGjcZ4Ro3Gd0aMxndGjMZ3R4zHdkeLx3ZHi8d1R4rHdUeKx3RHicd0R4nHdEeJx3NHiMhzSIjIckiIyHJIh8hySIfIcUiGyHFIhshxSIbIcEiFyXBJhclwSYXJb0mEyW9JhMlvSYTJbkmEyW5Jg8luSYPKbkqDym1KgsptSoLKbUqCymxKgcpsSoHKbEqBymxLgctrS4DLa0uAy2tLgMtrS4DLakt/y2pLf8tqS3/Lakx/zGlMfsxpTH7MaUx+zGlMfsxoTH3MaEx9zGhMfcxoTH3NZ019zWdNfM1nTXzNZ018zWdNfM1mTXvNZk17zWZNe85mTnvOZU57zmVOes5lTnrOZU56zmVOes5lTnrOZE55z2RPec9kT3nPZE95z2RPec9jT3nPY094z2NPeM9jUHjQY1B40GJQeNBiUHfQYlD/wACp5sAAR9rAALvSwABAzMEAS8fBAMDEwQDAwMEArb3BAMC7wQD6uMEAQLbBABO0wgCzs8IAQLHCAECvwgBArsIAKK3CAL2rwgBTqsIAw6nDAGiowwBAp8MAQKbDAAClwwDApMMAwKPDAMqiwwBAocQAAKHEAECgxABAn8QAAJ7EAECexAAAncQAQJzEAECcxQDFm8UAAJrFAACaxQAAmcUAwJnFAACYxQAgmMUAAJfGAECXxgAAlsYAAJbGAACVxgAAlcYAAJTGAACUxgAAk8cAQJPHAACSxwDAkscAAJLHAACRxwAAkccAAJDHAACQyABAkMgAAI/IAMCPyAAAj8gA047IAACOyAAAjsgAAI3JAACNyQAAjckA04zJAACMyQAAjMkAAIvJAACLyQAAi8oAAIrKAACKygAAisoAAIrKACCJygAAicoAAInKAACIywAAiMsAAIjLAACIywAAh8sAAIfLAACHywAAh8sAAIbMAACGzAAAhswAAIbMAACFzAAAhcwAAIXMAACFzAAAhc0AAITNAACEzQAAhM0AAITNAACDzQAAg80AAIPNAACDzgAAg84AAILOAACCzgAAgs4AAILOAACCzgAAgc4AAIHPAACBzwAAgc8AAIHPAACAzwAAgM8AAIDPAACAzwAAgNAAAIDQAAB/0AAAf9AAAPjV58DeqwBC09XOwMurALbF1sLBwKwAwLzWusG5rADAtta1wbSsAGGx1rDBr6wAwK3XrMKrrQBAqtepwqitAG2n16bCpa0AQKTXo8KjrQDyotihw6GuAACg2J/Dn64AQJ7YncOdrgAtnNibw5uuAFOa2ZnEma8AQJnZmMSYrwAAl9mWxJavAECW2ZXEla8AQJXalMWUsABAk9qTxZOwAECS2pHFkrAAAJHakMWQsABgkNuPxo+xAPWP247GjrEAAI7bjcaNsQAAjduMxo2xAMCM3IzHjLIAAIvci8eLsgAAityKx4qyAECK3InHibIAAIndiMiJswBAiN2IyIizAACH3YfIh7MAAIfdhsiGswAAht6GyYa0AACF3oXJhbQAAIXehMmEtADAhN6EyYS0AACE34PKg7UAwIPfgsqDtQAAgt+CyoK1AACC34HKgrUAAIHggcuBtgAAgeCAy4C2AACA4IDLgLYAAIDgf8t/tgAAf+F/zH+3AAB/4X7Mf7cAAH7hfsx+twAAfuF9zH63AAB94n3NfbgAAH3ifM19uAAAfOJ8zXy4AAB84nzNfLgAAHzje857uQAAe+N7znu5AAB743rOe7kAAHrjes56uQAAeuR6z3q6AAB65HnPeroAAHnkec95ugAAeeR5z3m6AAB55XjQeLsAAHjleNB4uwAA6+zn2uHM28DWtc6mvpRlgbjtwtvDzcLBwLa7p62VZYKo7rTcts62w7W3sKiklmWDn++r3a7PrsOtuKmpnpdlhJjvpN6o0KjFqLmkqpmYZYWS8J/fo9GkxaO6oKuVmWWGjfGb4J/RoMegu52skpllh4nyl+Cb0p3InbyarY+aZYiF8pThmNOayJq9l62Nm2WJgvOR4pXUl8qXvpWui5xlin/0juOT1ZXKlb+Tr4mdZYt89IzkkdaTzJPAkbCHnmWMefWJ5I7XkcyRwY+xhp9ljXb2h+WM2I/NkMKOsoSgZY509oXmi9mNz47CjLODoGWPcfeD54nai8+Nw4u0gqFlkG/3geiH24rQjMSKtYGiZZFt+H/ohtyJ0YrFibWAo2WSavh+6YTdh9OJxoe2f6Rlk2j4fOqD3obUiMeGt36lZZRm+Hvrgd+F1YfIhbh+pmWVZPl564DghNaGyYW5fadllmH5d+x/4IPWhcqEunyoZZdf+XbtfeGB14TLg7t7qWWYXfl17nzigNiDzIK8e6llmVv4c+5743/ags2BvXqqZZpY+HLveuR/2oHOgb56q2WbVvdw8HnlftuBz4C/eaxlnFP2b/B45n3dgNB/v3mtZZ1R9W7xd+d83X/Rf8B4rmWeT/Rs8Xboe99+0n7BeK9ln0zya/J16XrfftN+wnewZaDp8Ofg5NDfwNixzqG8kWmBtfHB4cXRxcHCsrqiq5Jpgqbys+K50rrDt7Owo6KTaYOc86vjsNOyw7C0qaSclGmElfSk5KrUrMWqtaSll5VphY/1n+Wl1afFpragppOWaYaK9prmodajx6K3nKeQl2mHhveX557XoMifuJmojphpiIL4k+ib2J3InLmXqYuZaYl++ZDpmNmbypq6laqJmmmKe/qO6pXamMqXu5OriJtpi3f7i+uT25bMlbyRrIacaYx0/InskdyUzJS9j62FnWmNcf2H7Y/dks2Svo6ug55pjm7+he6N3pHPkL+Mr4KfaY9r/4PvjN+Pz4/Ai7CBoGmQaQCB8IrgjtCNwYqxgKFpkWYBf/GI4YzRjMKIsn+iaZJjAn3yh+KL04vDh7N/o2mTYAN784XjitSKxIa0fqRplF0EevSE5IjVicWFtX2laZVaBXj1g+WH1ojGhbZ8pmmWVgZ39oLmhtaHx4S3fKdpl1MHdfeA54XXhsiDuHuoaZhPCHT4f+iE2IXJgrl7qWmZSwly+X7pg9qEyoG6eqppmkcKcfp96oLag8uBu3mraZtCC2/7fOuB24LMgLx5rGmcOwxu/HvsgN2CzX+9eK1pnTQNbf167X/dgc5/vniuaZ4pDmv+ee5/34DPfr94r2mfFw9q/3jvft9/0H3Ad7BpoAAAAAAAAEJOUzEFAQACeelaBFdBVkUgU1dFRVAAAEJVQkJBAEH4rwYL1QhuQEAAABQAAEBAAAAUAABzCgBAQBQARm5PRU8ATwE8AgABbgV4CHgMeAAAKH8AAAAIQP/A2sC9wLXAsMCswKjApcCjwKDAnsCcwJrAmMCXwJXAlMCTwJHAkMCPwI7AjcCMwIvAisCJwIjAiMCHwIbAhcCFwITAg8CCwILAgcCBwIDAf8B/wH7AfsB9wH3AfMB8wHvAe8B6wHrAesB5wHnAeMB4wHfAd8B3wHbAdsB2wHXA78DzwNXAu8C1wLDArcCqwKfApcCiwKDAnsCdwJvAmsCYwJfAlsCUwJPAksCRwJDAj8COwI7AjcCMwIvAisCKwInAiMCIwIfAhsCGwIXAhMCEwIPAg8CCwILAgcCBwIDAgMB/wH/AfsB+wH3AfcB9wHzAfMB7wHvAe8B6wHrAesDgwOTA8MDUwLvAtsCzwLDArcCqwKjApsCkwKPAocCfwJ7AncCbwJrAmcCYwJfAlsCVwJTAk8CSwJLAkcCQwI/Aj8COwI3AjcCMwIvAi8CKwIrAicCJwIjAiMCHwIfAhsCGwIXAhcCEwITAg8CDwILAgsCCwIHAgcCAwIDAgMB/wOPA1MDfwO3A0sC7wLbAs8CwwK7ArMCqwKjApsClwKPAosCgwJ/AnsCdwJzAm8CawJnAmMCXwJbAlcCUwJTAk8CSwJLAkcCQwJDAj8COwI7AjcCNwIzAjMCLwIvAisCKwInAicCIwIjAh8CHwIbAhsCGwIXAhcCEwITAhMCDwIPA5sDWwM3A2sDqwNHAusC2wLPAscCuwKzAq8CpwKfApsCkwKPAosChwJ/AnsCdwJzAm8CawJrAmcCYwJfAlsCWwJXAlMCUwJPAksCSwJHAkMCQwI/Aj8COwI7AjcCNwIzAjMCLwIvAisCKwIrAicCJwIjAiMCHwIfAh8CGwIbAhsDnwNfAzsDIwNfA58DPwLjAtcCywLDArsCswKrAqcCnwKbApMCjwKLAocCgwJ/AnsCdwJzAm8CawJnAmcCYwJfAlsCWwJXAlMCUwJPAk8CSwJHAkcCQwJDAj8CPwI7AjsCNwI3AjMCMwIvAi8CLwIrAisCJwInAicCIwIjAh8CHwOnA2cDQwMnAxcDUwOXAzsC3wLTAscCvwK7ArMCqwKnAp8CmwKXApMCjwKHAoMCfwJ7AnsCdwJzAm8CawJnAmcCYwJfAl8CWwJXAlcCUwJTAk8CSwJLAkcCRwJDAkMCPwI/AjsCOwI7AjcCNwIzAjMCLwIvAi8CKwIrAicCJwInA6sDawNHAysDFwMHA0sDjwMzAtsCzwLHAr8CtwKvAqsCowKfApsClwKTAosChwKDAoMCfwJ7AncCcwJvAm8CawJnAmMCYwJfAlsCWwJXAlcCUwJTAk8CSwJLAkcCRwJDAkMCPwI/Aj8COwI7AjcCNwIzAjMCMwIvAi8CKwIrAisAAAAAAAABCTlMxBQEAAlWLSgJHTEFTUyBCRUxMUwBCVUJCQQBB2LgGC8UEbkBAFAEGAABAQAAAFAAAeAUAQEAUAGwAZQBiAGIBPAIAAW4FeAh4DHgAADxQAAAACB/9wAAQ4cAAfQBAAODtwAA5AMAAgNHAAPgAQACBAEAAAd3AAAkAwAD6AMAA/QBAAKIAwABzAEAAbADAAIEAwP3AAAvlwAD/AEAAgezAAP8AwACK2cAAgwBAAP0AQAAB2sAACwDAAIEAQADpuMAACQDAAJQAQAABAMAAD7PA/sAAO+nAAAYAwAD26sAAAADAAIXgwAADAEAAAADAAH/XwABAAEAAfQDAAJHJwAAAAMAA1QDAAOoAwACcxMD/wABS7MAAkQBAAPvowAB+AEAAheXAAIQAwACFAEAAedTAAAYAwACHAMAAiNPAAHgAQADqAEAAjADAAO/NwP/AAGzvwACIAEAAeObAAAsAwAAA6cAAgADAAAcAQAAKz8AAgADAAGUAQADg2sAAHgDAAPwAwADAAMAAANXA/8AAePHAAHgAQAAA48AAgwDAAHjswACCAEAABwDAAOPIwADtAEAABwDAAATfwAD6AEAAbQDAAN0AwAD62sD7wAAD8MAAAwDAAPPcwAB2AEAAkOzAAAQAwAALAMAA+bvAAG0AQABtAMAAguDAAPoAwAAPAEAAAgBAAIHawPjAAPPuwAAAAEAAf9XAAPoAQACC68AAAADAAH0AwADxqMAAfwDAAKAAwAAE4MAABADAAH4AwABgAEAABNvAAAAAAAAAQk5TMQUBAAIhZ/oATUFMTEVUIFZJQkVTQlVCQkEAQai9Bgv1AW5AQAAAFAAAQEAAABQAAHYAAEBAFABmAFwAWABYAF4DLQFuBXgIeAx4AABGZAAAAAgK88C+wADA58AAQABAAMAAQADA18D1wL/AAMDmwABAAEAAwADAAMDWwPbAwcAAQOTAAEAAwADAAMAAwNPA+MDCwADA4sAAQABAAMAAwADA0cD5wMTAAMDgwABAAEAAwADAAEDNwPvAxsAAwN3AAEAAQADAAMAAwMnA/cDIwADA2MAAQADAAMAAwADAwcD/wMrAAMDQwABAAEAAwADAAMCzwAAAAAAAAEJOUzEFAQACCkNaBE1JWEVEIENIT0lSAEJVQkJBAEGovwYL1QhpQEAoARIAAEBAAAAUAABkCgBAQBRPWnhcAAB/AAEhAigBbgV4CHgMeAAAHgAAAAAIQPjA/8D2wNjAwsDDwM3A18DYwNHAw8CzwKrApsCkwKPAosCgwJ/AnsCdwJzAm8CawJnAmMCXwJbAlcCUwJTAk8CSwJLAkcCQwJDAj8COwI7AjcCNwIzAjMCLwIvAisCKwInAicCIwIjAh8CHwIbAhsCGwIXAhcCEwITAhMCDwIPA8cD7wPrA48DKwM3A18DcwNjAzMC8wK/AqsCowKbApcCjwKLAocCfwJ7AncCcwJvAmsCZwJjAmMCXwJbAlcCUwJTAk8CSwJLAkcCQwJDAj8CPwI7AjsCNwI3AjMCMwIvAi8CKwIrAicCJwIjAiMCIwIfAh8CGwIbAhsCFwIXAhMDpwPHA+cDrwNPA1cDcwNzA08DDwLTArMCpwKfApcCkwKLAocCgwJ/AnsCcwJvAmsCawJnAmMCXwJbAlcCVwJTAk8CSwJLAkcCQwJDAj8CPwI7AjcCNwIzAjMCLwIvAisCKwInAicCJwIjAiMCHwIfAhsCGwIbAhcCFwITAhMCEwOXA58D1wPHA3sDcwN7A2MDLwLrAr8CqwKjApsClwKPAosCgwJ/AnsCdwJzAm8CawJnAmMCXwJbAlcCVwJTAk8CSwJLAkcCQwJDAj8CPwI7AjcCNwIzAjMCLwIvAisCKwInAicCIwIjAh8CHwIfAhsCGwIXAhcCFwITAhMCDwIPA48DewO/A9MDpwOHA3cDSwMHAs8CswKnAp8CmwKTAo8ChwKDAn8CdwJzAm8CawJnAmMCXwJbAlsCVwJTAk8CTwJLAkcCQwJDAj8CPwI7AjcCNwIzAjMCLwIvAisCKwInAicCIwIjAh8CHwIbAhsCGwIXAhcCEwITAhMCDwIPAgsDiwNjA6MD1wPDA5MDZwMnAuMCvwKvAqcCnwKXAo8CiwKDAn8CewJ3AnMCawJnAmMCYwJfAlsCVwJTAk8CTwJLAkcCQwJDAj8COwI7AjcCNwIzAjMCLwIrAisCJwInAiMCIwIfAh8CHwIbAhsCFwIXAhMCEwITAg8CDwILAgsCCwOLA2MDkwPTA9cDlwNLAwMCywK3AqsCowKbApMCjwKHAoMCewJ3AnMCbwJrAmcCYwJfAlsCVwJTAk8CTwJLAkcCQwJDAj8COwI7AjcCNwIzAi8CLwIrAisCJwInAiMCIwIfAh8CGwIbAhcCFwIXAhMCEwIPAg8CDwILAgsCBwIHA5MDdwOXA88D2wObAzMC4wK/ArMCpwKfApcCkwKLAocCfwJ7AncCbwJrAmcCYwJfAlsCVwJTAlMCTwJLAkcCRwJDAj8COwI7AjcCNwIzAi8CLwIrAisCJwInAiMCIwIfAh8CGwIbAhcCFwITAhMCEwIPAg8CCwILAgsCBwIHAgMAAAAAAAABCTlMxBQEAApi7WgRXQVZFIEJSQVNTAABCVUJCQQBBiMgGC9UIbkBACgEKAABAQAAAFAAAZA8AUEAUL1B4TDxTKEwBPAIAAW4FeAh4DHgAADJaAAAACED/wPvA9sDrwNrAycCewJrAl8CVwJLAkMCPwI3Ai8CKwIjAh8CGwIXAg8CCwIHAgMB/wH7AfsB9wHzAe8B6wHrAecB4wHjAd8B2wHbAdcB0wHTAc8BzwHLAcsBxwHHAcMBwwG/Ab8BuwG7AbsBtwG3AbMBswGvAa8BrwGrAasBqwPbA8cDywPHA7MDhwNPAxsC8wLfAtcCzwJHAj8COwIzAi8CJwIjAh8CGwIXAhMCDwILAgcCAwH/AfsB+wH3AfMB7wHvAesB5wHnAeMB3wHfAdsB2wHXAdcB0wHTAc8BzwHLAcsBxwHHAcMBwwG/Ab8BvwG7AbsBtwG3AbcBswGzA8sDowOjA68DswOrA5MDbwM/Aw8C7wLbAs8CxwLDArsCtwKzAisCJwIjAh8CGwIXAhMCDwILAgcCAwIDAf8B+wH3AfcB8wHvAe8B6wHrAecB4wHjAd8B3wHbAdsB1wHXAdMB0wHPAc8BywHLAcsBxwHHAcMBwwHDAb8BvwG7AbsDywOTA4cDiwObA6MDowOXA3sDVwMvAwMC5wLTAssCwwK/ArcCswKvAqsCpwKfApsCGwIXAhMCDwILAgcCBwIDAf8B+wH7AfcB8wHzAe8B7wHrAesB5wHjAeMB3wHfAdsB2wHbAdcB1wHTAdMBzwHPAcsBywHLAccBxwHHAcMBwwPLA48DcwNvA3cDgwOTA5cDkwODA2cDRwMfAvsC3wLPAsMCvwK3ArMCrwKrAqcCowKfApsClwKTAo8CjwILAgsCBwIDAgMB/wH7AfcB8wHzAe8B7wHrAesB5wHnAeMB4wHfAd8B2wHbAdcB1wHXAdMB0wHPAc8BywHLAcsBxwHHA88DjwNvA18DWwNnA3MDgwOLA4sDgwNvA1cDMwMPAu8C1wLHAr8CtwKzAq8CqwKnAqMCnwKbApcClwKTAo8CiwKLAocCgwKDAf8B+wH7AfcB8wHzAe8B7wHrAesB5wHnAeMB4wHfAd8B3wHbAdsB1wHXAdMB0wHTAc8BzwHPAcsD0wOTA28DVwNLA0sDVwNjA3MDfwODA38DdwNfA0cDJwMDAucC0wLDArsCswKvAqsCpwKjAp8CnwKbApcCkwKTAo8CiwKHAocCgwKDAn8CewJ7AncB9wH3AfMB8wHvAe8B6wHnAecB4wHjAd8B3wHbAdsB2wHXAdcB0wHTAdMBzwPXA5cDbwNXA0cDPwM/A0cDVwNnA3MDewN7A3cDZwNTAzcDFwL3At8CywK/ArcCrwKrAqcCowKfAp8CmwKXApMCkwKPAosCiwKHAoMCgwJ/An8CewJ7AncCcwJzAm8CbwHrAesB5wHnAecB4wHjAd8B3wHbAdsB2wHXAdcB1wHTAAAAAAAAAQk5TMQUBAAKYYFoEV0FWRSBTVFJJTkdTQlVCQkEAQejQBgvVCGlAQAABFAAAQEAAABQAAGgFAEBAFFNaeF4AAH8AAS8CPAFuBXgIeAx4AAAeAAAAAAhA/8AAfubAAJDawAAb0sAACMzAABbHwAABxMAAgsDAANG9wAAEu8AA67jAACG2wAAFtMAA9rPAABqxwABAr8AAea7AAP+twACLq8AA/6rAAO6pwAB0qMAAAKfAAPmmwABApcAA9qTAANijwAAKosAAHKHAAAehwADAoMAAiJ/AAAD5wNPA3MDRwMbAzsCkwMnApsDBwLbAtsC7wKLAu8B9wLfApMCwwK7AosCxwHzAr8CUwKrApMCgwKnAisCqwH3Ap8CZwKDAocCRwKTAUcCjwI7AnsCbwJPAoMB4wKDAfcCdwJLAlcCawIXAncBhwJvAisCWwJXAicCZwGTAmcB9wPfA4sDIwNnAwMDGwMvAjsDEwL7ApcDAwK7AscC6wI3AtMCywJHAtMClwKTAsMCNwKrAqsCAwKvAoMCawKrAjcCiwKXAaMClwJ3AkcCkwI3AnMChwEHAoMCawIjAoMCNwJXAnsBnwJvAmMB/wJzAjMCQwJvAccCXwJbAdcCZwIzA9cDowL/A0MDUwL7Au8DJwL3ApMDAwLvAX8C4wLnAl8CvwLbAo8CjwLPAqMCSwK7AqsBewKnAqsCIwKLAqsCWwJjAqMCdwInApcCgwF3AoMChwH7AmsChwI7AkcCgwJXAgsCewJnAW8CawJvAd8CUwJvAh8CMwJvAj8B+wJjAlMDxwOnA2cCfwMrA0MDHwJ7AusDEwL7AncCvwLvAuMCdwKXAtcCzwJ3AncCwwK/AncCUwKvArMCcwIrAp8CpwJzAfsCjwKfAnMBvwJ/ApMCbwEjAm8CiwJvAYsCXwKDAmsBywJLAnsCawHrAjsCcwJnAf8CKwJrAmMCCwITAmMCYwOvA58DgwNPAucCwwMXAycDFwLjAg8CvwLvAvMC2wKLAkcCuwLTAs8CowILAncCswK/AqsCZwHzAocCpwKnAoMCCwJHAosCmwKPAlMBmwJjAosCiwJvAgsCGwJvAoMCdwJHAEsCQwJzAncCXwILAfMCUwJvAmcCOwFvAicCWwJnA4cDgwN3A2cDTwMvAv8CowJrAs8C8wL7AvsC6wLPApsCAwJjAqcCwwLLAscCtwKXAlMBtwJjApMCpwKvAqcCkwJnAgMCBwJfAoMCkwKTAocCbwI3AW8CIwJfAnsCgwJ/Am8CTwIDAasCLwJbAm8CcwJrAlcCJwGvAecCNwJXAmMDPwM/Az8DOwM3AzMDKwMjAxsDEwMHAvsC6wLbAsMCpwKDAkcBpwITAlsCfwKTAqMCqwKvArMCswKvAqsCowKbAo8CewJnAkcCEwGnAbMCEwI7AlcCZwJzAnsCfwKDAoMCfwJ7AnMCZwJXAkMCJwH7AacBWwHfAg8CLwJDAk8CWwAAAAAAAAEJOUzEFAQACoqFaBENMSUNLIEJBU1MAAEJVQkJBAEHI2QYLmQxzQEAAABQAAEBAAAAUAABIGQBaQBQAWDJAAEUAQAE8AgABbgV4CHgMeAEAMkYAAAAIQP/A2sC9wLXAsMCswKjApcCjwKDAnsCcwJrAmMCXwJXAlMCTwJHAkMCPwI7AjcCMwIvAisCJwIjAiMCHwIbAhcCFwITAg8CCwILAgcCBwIDAf8B/wH7AfsB9wH3AfMB8wHvAe8B6wHrAesB5wHnAeMB4wHfAd8B3wHbAdsB2wHXA78DzwNXAu8C1wLDArcCqwKfApcCiwKDAnsCdwJvAmsCYwJfAlsCUwJPAksCRwJDAj8COwI7AjcCMwIvAisCKwInAiMCIwIfAhsCGwIXAhMCEwIPAg8CCwILAgcCBwIDAgMB/wH/AfsB+wH3AfcB9wHzAfMB7wHvAe8B6wHrAesDgwOTA8MDUwLvAtsCzwLDArcCqwKjApsCkwKPAocCfwJ7AncCbwJrAmcCYwJfAlsCVwJTAk8CSwJLAkcCQwI/Aj8COwI3AjcCMwIvAi8CKwIrAicCJwIjAiMCHwIfAhsCGwIXAhcCEwITAg8CDwILAgsCCwIHAgcCAwIDAgMB/wOPA1MDfwO3A0sC7wLbAs8CwwK7ArMCqwKjApsClwKPAosCgwJ/AnsCdwJzAm8CawJnAmMCXwJbAlcCUwJTAk8CSwJLAkcCQwJDAj8COwI7AjcCNwIzAjMCLwIvAisCKwInAicCIwIjAh8CHwIbAhsCGwIXAhcCEwITAhMCDwIPA5sDWwM3A2sDqwNHAusC2wLPAscCuwKzAq8CpwKfApsCkwKPAosChwJ/AnsCdwJzAm8CawJrAmcCYwJfAlsCWwJXAlMCUwJPAksCSwJHAkMCQwI/Aj8COwI7AjcCNwIzAjMCLwIvAisCKwIrAicCJwIjAiMCHwIfAh8CGwIbAhsDnwNfAzsDIwNfA58DPwLjAtcCywLDArsCswKrAqcCnwKbApMCjwKLAocCgwJ/AnsCdwJzAm8CawJnAmcCYwJfAlsCWwJXAlMCUwJPAk8CSwJHAkcCQwJDAj8CPwI7AjsCNwI3AjMCMwIvAi8CLwIrAisCJwInAicCIwIjAh8CHwOnA2cDQwMnAxcDUwOXAzsC3wLTAscCvwK7ArMCqwKnAp8CmwKXApMCjwKHAoMCfwJ7AnsCdwJzAm8CawJnAmcCYwJfAl8CWwJXAlcCUwJTAk8CSwJLAkcCRwJDAkMCPwI/AjsCOwI7AjcCNwIzAjMCLwIvAi8CKwIrAicCJwInA6sDawNHAysDFwMHA0sDjwMzAtsCzwLHAr8CtwKvAqsCowKfApsClwKTAosChwKDAoMCfwJ7AncCcwJvAm8CawJnAmMCYwJfAlsCWwJXAlcCUwJTAk8CSwJLAkcCRwJDAkMCPwI/Aj8COwI7AjcCNwIzAjMCMwIvAi8CKwIrAisAAAAAAAADwsgEAWAAAAFCzAQBYAAAAsLMBAFgAAAAQtAEAWAAAAHC0AQBYAAAA0LQBAFgAAAAwtQEAWAAAAJC1AQBYAAAA8LUBAFgAAABQtgEAWAAAALC2AQBYAAAAELcBAFgA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QMQKAIXqCAAOvQcA1KsHAKi6BgCGZAYAIGIFANy1BAC6XwQAh94DAFRdAwBUXQMAELECAHo4AgB6OAIA9eoBAKquAQCqrgEAiFgBAIhYAQDaJAEALPEAACzxAABV1wAAfr0AAESsAABtkgAAT3oAAJZ4AACqawAAqmsAACJWAABaSAAA6EQAAEs8AAAgNwAArjMAABErAAAtJAAALSQAACUeAADXGQAA1xkAAIgVAACIFQAAOhEAAIEPAACBDwAAbw0AADILAACCCgAAyQgAAMAHAABoBwAAEAcAAIMFAABXBQAA0gQAAHoEAACeAwAARQMAAEUDAADBAgAAPQIAAD0CAAARAgAAuQEAALkBAEHQhwcL5AbBAAAAEQAAABEAAAAUAAAAAQAAABQAAAABAAAAEQAAABEAAAAUAAAAwQAAABQAAADBAAAAEQAAABQAAAABAAAAEQAAABQAAADBAAAAEQAAAJQAAAABAAAAEQAAABQAAADBAAAAFAAAAAEAAAAUAAAAAQAAABQAAADBAAAAlAAAAAEAAAAUAAAAAQAAABQAAADBAAAAEQAAAAUAAAAUAAAAAQAAABQAAAABAAAAEQAAAMUAAAAUAAAAAQAAABQAAAABAAAAEQAAAAUAAAAUAAAAwQAAABQAAAABAAAABQAAABQAAADBAAAAEQAAABQAAADBAAAABQAAABQAAAABAAAAEQAAABQAAAABAAAABQAAAAUAAAAUAAAAwQAAABQAAADBAAAABQAAAAUAAAAUAAAAAQAAABQAAADBAAAABQAAABEAAAAUAAAAAQAAABQAAAABAAAABQAAABEAAAAUAAAAwQAAABQAAADBAAAAEQAAAAIAAAAlAAAABQAAABQAAAABAAAAEQAAAAIAAAAlAAAAxQAAABQAAAABAAAAEQAAABEAAADFAAAABQAAABQAAADBAAAAFAAAABQAAAABAAAAEQAAABQAAAABAAAABQAAABQAAADBAAAAFAAAABQAAAABAAAAFAAAABQAAADBAAAAFAAAABQAAADBAAAAFAAAABQAAAAUAAAAAQAAABQAAADBAAAAFAAAABQAAAABAAAAFAAAAAQAAADBAAAAFAAAABQAAAAUAAAABAAAAAQAAADBAAAAFAAAABQAAAAEAAAABAAAAAQAAADBAAAABQAAABQAAAABAAAAFAAAAAQA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";return f}var wasmBinaryFile;function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}var binary=tryParseAsDataURI(file);if(binary){return binary}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}async function getWasmBinary(binaryFile){return getBinarySync(binaryFile)}async function instantiateArrayBuffer(binaryFile,imports){try{var binary=await getWasmBinary(binaryFile);var instance=await WebAssembly.instantiate(binary,imports);return instance}catch(reason){err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)}}async function instantiateAsync(binary,binaryFile,imports){return instantiateArrayBuffer(binaryFile,imports)}function getWasmImports(){return{env:wasmImports,wasi_snapshot_preview1:wasmImports}}async function createWasm(){function receiveInstance(instance,module){wasmExports=instance.exports;wasmMemory=wasmExports["memory"];updateMemoryViews();addOnInit(wasmExports["__wasm_call_ctors"]);removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}var info=getWasmImports();if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err(`Module.instantiateWasm callback failed with error: ${e}`);readyPromiseReject(e)}}wasmBinaryFile??=findWasmBinary();try{var result=await instantiateAsync(wasmBinary,wasmBinaryFile,info);receiveInstantiationResult(result);return result}catch(e){readyPromiseReject(e);return}}class ExitStatus{name="ExitStatus";constructor(status){this.message=`Program terminated with exit(${status})`;this.status=status}}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var noExitRuntime=Module["noExitRuntime"]||true;var __emscripten_memcpy_js=(dest,src,num)=>HEAPU8.copyWithin(dest,src,src+num);var wasmImports={_emscripten_memcpy_js:__emscripten_memcpy_js};var wasmExports;createWasm();var ___wasm_call_ctors=()=>(___wasm_call_ctors=wasmExports["__wasm_call_ctors"])();var _bm_web_flash=Module["_bm_web_flash"]=()=>(_bm_web_flash=Module["_bm_web_flash"]=wasmExports["bm_web_flash"])();var _bm_web_flash_size=Module["_bm_web_flash_size"]=()=>(_bm_web_flash_size=Module["_bm_web_flash_size"]=wasmExports["bm_web_flash_size"])();var _bm_web_flash_blank=Module["_bm_web_flash_blank"]=()=>(_bm_web_flash_blank=Module["_bm_web_flash_blank"]=wasmExports["bm_web_flash_blank"])();var _bm_web_flash_writes=Module["_bm_web_flash_writes"]=()=>(_bm_web_flash_writes=Module["_bm_web_flash_writes"]=wasmExports["bm_web_flash_writes"])();var _bm_web_init=Module["_bm_web_init"]=a0=>(_bm_web_init=Module["_bm_web_init"]=wasmExports["bm_web_init"])(a0);var _bm_web_button=Module["_bm_web_button"]=(a0,a1,a2)=>(_bm_web_button=Module["_bm_web_button"]=wasmExports["bm_web_button"])(a0,a1,a2);var _bm_web_key=Module["_bm_web_key"]=(a0,a1,a2)=>(_bm_web_key=Module["_bm_web_key"]=wasmExports["bm_web_key"])(a0,a1,a2);var _bm_web_encoder=Module["_bm_web_encoder"]=(a0,a1,a2)=>(_bm_web_encoder=Module["_bm_web_encoder"]=wasmExports["bm_web_encoder"])(a0,a1,a2);var _bm_web_master=Module["_bm_web_master"]=a0=>(_bm_web_master=Module["_bm_web_master"]=wasmExports["bm_web_master"])(a0);var _bm_web_midi=Module["_bm_web_midi"]=a0=>(_bm_web_midi=Module["_bm_web_midi"]=wasmExports["bm_web_midi"])(a0);var _bm_web_tick=Module["_bm_web_tick"]=a0=>(_bm_web_tick=Module["_bm_web_tick"]=wasmExports["bm_web_tick"])(a0);var _bm_web_render=Module["_bm_web_render"]=a0=>(_bm_web_render=Module["_bm_web_render"]=wasmExports["bm_web_render"])(a0);var _bm_web_fb=Module["_bm_web_fb"]=()=>(_bm_web_fb=Module["_bm_web_fb"]=wasmExports["bm_web_fb"])();var _bm_web_leds=Module["_bm_web_leds"]=()=>(_bm_web_leds=Module["_bm_web_leds"]=wasmExports["bm_web_leds"])();var _bm_web_sampler=Module["_bm_web_sampler"]=()=>(_bm_web_sampler=Module["_bm_web_sampler"]=wasmExports["bm_web_sampler"])();var _bm_web_sampler_cap=Module["_bm_web_sampler_cap"]=()=>(_bm_web_sampler_cap=Module["_bm_web_sampler_cap"]=wasmExports["bm_web_sampler_cap"])();var _bm_web_bpm=Module["_bm_web_bpm"]=()=>(_bm_web_bpm=Module["_bm_web_bpm"]=wasmExports["bm_web_bpm"])();var _bm_web_takes_free=Module["_bm_web_takes_free"]=()=>(_bm_web_takes_free=Module["_bm_web_takes_free"]=wasmExports["bm_web_takes_free"])();var _bm_web_takes_total=Module["_bm_web_takes_total"]=()=>(_bm_web_takes_total=Module["_bm_web_takes_total"]=wasmExports["bm_web_takes_total"])();var _bm_web_sampler_set=Module["_bm_web_sampler_set"]=(a0,a1)=>(_bm_web_sampler_set=Module["_bm_web_sampler_set"]=wasmExports["bm_web_sampler_set"])(a0,a1);var _bm_web_midi_out=Module["_bm_web_midi_out"]=(a0,a1)=>(_bm_web_midi_out=Module["_bm_web_midi_out"]=wasmExports["bm_web_midi_out"])(a0,a1);var _bm_web_lang_buf=Module["_bm_web_lang_buf"]=()=>(_bm_web_lang_buf=Module["_bm_web_lang_buf"]=wasmExports["bm_web_lang_buf"])();var _bm_web_lang_load=Module["_bm_web_lang_load"]=a0=>(_bm_web_lang_load=Module["_bm_web_lang_load"]=wasmExports["bm_web_lang_load"])(a0);var _bm_web_lang_on=Module["_bm_web_lang_on"]=()=>(_bm_web_lang_on=Module["_bm_web_lang_on"]=wasmExports["bm_web_lang_on"])();var _bm_web_sound_buf=Module["_bm_web_sound_buf"]=()=>(_bm_web_sound_buf=Module["_bm_web_sound_buf"]=wasmExports["bm_web_sound_buf"])();var _bm_web_sound_load=Module["_bm_web_sound_load"]=a0=>(_bm_web_sound_load=Module["_bm_web_sound_load"]=wasmExports["bm_web_sound_load"])(a0);var _bm_web_sound_count=Module["_bm_web_sound_count"]=a0=>(_bm_web_sound_count=Module["_bm_web_sound_count"]=wasmExports["bm_web_sound_count"])(a0);var _bm_web_view=Module["_bm_web_view"]=()=>(_bm_web_view=Module["_bm_web_view"]=wasmExports["bm_web_view"])();var _bm_web_playing=Module["_bm_web_playing"]=()=>(_bm_web_playing=Module["_bm_web_playing"]=wasmExports["bm_web_playing"])();var __emscripten_stack_restore=a0=>(__emscripten_stack_restore=wasmExports["_emscripten_stack_restore"])(a0);var __emscripten_stack_alloc=a0=>(__emscripten_stack_alloc=wasmExports["_emscripten_stack_alloc"])(a0);var _emscripten_stack_get_current=()=>(_emscripten_stack_get_current=wasmExports["emscripten_stack_get_current"])();var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(){if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);Module["onRuntimeInitialized"]?.();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(()=>{setTimeout(()=>Module["setStatus"](""),1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run();moduleRtn=readyPromise; +var Module=moduleArg;var readyPromiseResolve,readyPromiseReject;var readyPromise=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject});var ENVIRONMENT_IS_WEB=true;var ENVIRONMENT_IS_WORKER=false;var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var scriptDirectory="";var readAsync,readBinary;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptName){scriptDirectory=_scriptName}if(scriptDirectory.startsWith("blob:")){scriptDirectory=""}else{scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}{readAsync=async url=>{var response=await fetch(url,{credentials:"same-origin"});if(response.ok){return response.arrayBuffer()}throw new Error(response.status+" : "+response.url)}}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];var wasmBinary=Module["wasmBinary"];function intArrayFromBase64(s){var decoded=atob(s);var bytes=new Uint8Array(decoded.length);for(var i=0;ifilename.startsWith(dataURIPrefix);function findWasmBinary(){var f="data:application/octet-stream;base64,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MGoQzQIaDAELIAVBvdjgACgAADYCWCAFQbXY4AApAAA3A1AgBUEAOgBcQccJEHUhCSAFIAVB0ABqNgJAIAVB4ABqQR4gCSAFQUBrEM0CGgsgBSAFQeAAajYCIEGg1OAAQR5B8gkgBUEgahDNAhpBwNTgAEHQ1OAAKAIAQdwLajYCAEEAIQkLIAVBoAFqJAAgCQvXAwEHfyMAQSBrIgQkAEGArOAALQAAQayr4AAtAABB2KrgAC0AAEGEquAALQAAQbCp4AAtAABB3KjgAC0AAEG0p+AALQAAQYio4AAtAABqampqampqQQdNBEBBtKfgACAEEMkBA0BBACACQQFqIAAgBGoiBS0AACIGGyEDIAIgASABIAJIGyABIAYbIQECfwJAIABBGEYNACAFLQABDQAgA0EBagwBCyADIAEgASADSBshAUEACyECIABBAmoiAEEaRw0AC0G0p+AALQAABH9BwKfgACgCAAVBAAshAEGIqOAALQAABEBBlKjgACgCACAAaiEAC0HcqOAALQAABEBB6KjgACgCACAAaiEAC0GwqeAALQAABEBBvKngACgCACAAaiEAC0GEquAALQAABEBBkKrgACgCACAAaiEAC0HYquAALQAABEBB5KrgACgCACAAaiEACyABQQx0IQJBrKvgAC0AAARAQbir4AAoAgAgAGohAAtBgKzgAC0AAARAQYys4AAoAgAgAGohAAtBgIADIAJBgAFrIgJBgO4FIABrIgMgAiADSRsiAiACQYCAA08bQQAgAEH/7QVNG0EAIAEbIQELIARBIGokAEGAgAMgASABQYCAA08bC4QBAQR/AkAgAC0A0KIIIgQEQCAAQcaiCGohBSAAQbyiCGohBgNAIAMgBmotAAAgAUYEQCACIAMgBWotAABGDQMLIANBAWoiAyAERw0ACyAEQQlLDQELIAAgBGogAToAvKIIIAAgAC0A0KIIaiACOgDGogggACAALQDQoghBAWo6ANCiCAsLlQIBBH8CQCAALgGwoghBAEgNACAALQDQoggiAwRAIABBxqIIaiEEIABBvKIIaiEFA0AgAiAFai0AAEEBRgRAIAIgBGotAABFDQMLIAJBAWoiAiADRw0ACyADQQlLDQELIAAgA2pBAToAvKIIIAAgAC0A0KIIakEAOgDGogggACAALQDQoghBAWo6ANCiCAsCQCAB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DQIgACABQThsakG99gBqLQAAQQJBBCACG3FBAEcPCyAAIAFBOGxqQbn2AGotAABBBEECIAIbcUUPCyACRQ0AIAAgAUE4bGpB6PYAai0AAEECcUUhAwsgAwu2BwEKfyMAQRBrIggkAAJAIAAgAUEwbGoiAy0AVyIFQQJrIgRB/wFxQQRLDQAgA0FAayEJAkACQAJAIAQOAwECAAILIAAgAUE4bGoiA0HD9gBqLQAAIQogA0HC9gBqLQAAIQYgA0HB9gBqLQAAIQcgA0HA9gBqLQAAIQkgA0G/9gBqLQAAIQUgA0G99gBqLQAAIQwgA0G+9gBqLQAAIQQgCCADQcr2AGopAQA3AQYgCCADQcT2AGoiCykBADcDACAAIAEQigECQCAEQQVLDQAgBUEFSw0AIAlBBUsNACAHQQVLDQAgBkEFSw0AIApBBUsNAEEBIAV0QQEgBHRyQQEgCXRyQQEgB3RyQQEgBnRyQQEgCnRyQT9HDQAgA0G49gBqIgEgCjoACyABIAY6AAogASAHOgAJIAEgCToACCABIAU6AAcgASAEOgAGIAEgDDoABSALIAgpAQY3AAYgCyAIKQMANwAACyAAQYj5AGogAhDBAUGcARCsAhoMAgsgACABQThsaiIDQbz2AGotAAAhBiADQbv2AGotAAAhByADQbr2AGotAAAhBSADQbj2AGoiBC8BACEKIAhBBGoiCyADQcH2AGotAAA6AAAgCCADQb32AGoiAygAADYCACAAIAEQigECQAJAIAUNACAHDQAgBkUNAQsgBCAGOgAEIAQgBzoAAyAEIAU6AAIgBCAKQQh2OgABIAMgCy0AADoABCADIAgoAgA2AAALIAlBBzoADSAJIAJBDG8iAEEMaiAAIABBAEgbQQxsIgBBuOAAai0AADoAGCAJIABBtOAAaigCADYAACAEIABBuuAAai0AADoAAAwBCyAAIAFBOGxqIgNB7PYAaigBACELIANB6/YAai0AACEGIANB6vYAai0AACEHIANB6fYAai0AACEEIANB6PYAai0AACEKIAAgARCKASAFEL8BIgBFDQAgBSACIABvIABqIABvEMABIgFFDQAgA0G49gBqIgAgASkAKDcAACAAIAEpAFA3ACggACABKQBINwAgIAAgAUFAaykAADcAGCAAIAEpADg3ABAgACABKQAwNwAIIAkgASgA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GiAAQRQ6AIkaIABBGDoAhhogAEH/AToAhBogAEGYGmpBADYBACAAQgA3AZAaIABBFDoAlRogAEEYOgCSGiAAQf8BOgCQGiAAQaQaakEANgEAIABCADcBnBogAEEUOgChGiAAQRg6AJ4aIABB/wE6AJwaIABBqBpqIQUDQCACQYAUbCAFakGAKGshBkEAIQMDQCAGIANBKGxqIgFBADsAJiABQX82ACIgAUGByAE7ACAgAUL/////j4DA/+QANwAYIAFBgcgBOwAWIAFC/////4+AwP/kADcADiABQYHIATsADCABQYCA/KcGNgAIIAFC/8mFoHY3AAAgA0EBaiIDQcAARw0ACyACQQFqIgJBBkcNAAsgAEG18wBqQQI6AAAgAEGx8ABqQQI6AAAgAEGt7QBqQQI6AAAgAEGp6gBqQQI6AAAgBEEAEIkBIABB0PjoggQ2ABMgAEECIAAtAKgBEI8BIABBAyAALQDYARCPASAAQQQgAC0AiAIQjwEgAEEFIAAtALgCEI8BIABB8PYAahCMAQsmACAAQgA3AQAgAEEANgEIIABBFDoABSAAQRg6AAIgAEH/AToAAAsKACAALQADQQR0C/0PAhJ/AX5BfyENIAEgACkAADcAACABIAApADg3ADggASAAKQAwNwAwIAEgACkAKDcAKCABIAApACA3ACAgASAAKQAYNwAYIAEgACkAEDcAECABIAApAAg3AAggASAALQAAOgAAIAAtAAEhAiABQQo6ABEgASACOgABIAFBQGsgAEFAa0GgAhCsAhpBsAUhByABQeACaiAAQbj2AGpB0AIQrAIaIAFBCmohDyABQQlqIRAgAUEEaiERIABB4AJqIRIgAEGoGmohEwJAA0ACQCAMQQFNBEAgB0GEAWoiA0GAwABKDQMgASAHaiASIAxBhAtsaiIHQYABEKwCIg4gBy0AgAE6AIABIA4gBy0AgQE6AIEBIAdBhAFqIQlBACEEQQAhCgNAIApBAnYhCyAKQQZ0IQZBACECA0AgBiAJaiACai0AACIFBEAgA0EDaiIIQYDAAEoNBiABIANqIgMgAiAGajoAACADIAU6AAIgAyALOgABIARBAWohBCAIIQMLIAJBAWoiAkHAAEcNAAsgCkEBaiIKQRBHDQALIA4gBDsAggEgA0GAwABODQMgB0GECWohCCADQQFqIQdBACEG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BHMQ2AIgACAMQRBqIAYQ1AIgAEEwIAMgBmtBAEEAENgCIAAgDyAJENQCIABBICACIAcgBEGAwABzENgCIAIgByACIAdKGyEKCyAMQbAEaiQAIAoLrQUCBn4EfyABIAEoAgBBB2pBeHEiAUEQajYCACAAIAEpAwAhAiABKQMIIQYjAEEgayIBJAAgBkL///////8/gyEDAn4gBkIwiEL//wGDIgSnIgBBgfgAa0H9D00EQCADQgSGIAJCPIiEIQMgAEGA+ABrrSEEAkAgAkL//////////w+DIgJCgYCAgICAgIAIWgRAIANCAXwhAwwBCyACQoCAgICAgICACFINACADQgGDIAN8IQMLQgAgAyADQv////////8HViIAGyECIACtIAR8DAELAkAgAiADhFANACAEQv//AVINACADQgSGIAJCPIiEQoCAgICAgIAEhCECQv8PDAELIABB/ocBSwRAQgAhAkL/DwwBC0GA+ABBgfgAIARQIggbIgsgAGsiCUHwAEoEQEIAIQJCAAwBCyABQRBqIQogAiEEIAMgA0KAgICAgIDAAIQgCBsiAyEFAkBBgAEgCWsiCEHAAHEEQCACIAhBQGqthiEFQgAhBAwBCyAIRQ0AIAUgCK0iB4YgBEHAACAIa62IhCEFIAQgB4YhBAsgCiAENwMAIAogBTcDCAJAIAlBwABxBEAgAyAJQUBqrYghAkIAIQMMAQsgCUUNACADQcAAIAlrrYYgAiAJrSIEiIQhAiADIASIIQMLIAEgAjcDACABIAM3AwggASkDCEIEhiABKQMAIgNCPIiEIQICQCAAIAtHIAEpAxAgASkDGIRCAFJxrSADQv//////////D4OEIgNCgYCAgICAgIAIWgRAIAJCAXwhAgwBCyADQoCAgICAgICACFINACACQgGDIAJ8IQILIAJCgICAgICAgAiFIAIgAkL/////////B1YiABshAiAArQshAyABQSBqJAAgBkKAgICAgICAgIB/gyADQjSGhCAChL85AwALqgEBBX8gACgCVCIDKAIAIQUgAygCBCIEIAAoAhQgACgCHCIHayIGIAQgBkkbIgYEQCAFIAcgBhCsAhogAyADKAIAIAZqIgU2AgAgAyADKAIEIAZrIgQ2AgQLIAQgAiACIARLGyIEBEAgBSABIAQQrAIaIAMgAygCACAEaiIFNgIAIAMgAygCBCAEazYCBAsgBUEAOgAAIAAgACgCLCIDNgIcIAAgAzYCFCACC6UCACAARQRAQQAPCwJ/AkAgAAR/IAFB/wBNDQECQEHgpusAKAIAKAIARQRAIAFBgH9xQYC/A0YNA0HEpesAQRk2AgAMAQsgAUH/D00EQCAAIAFBP3FBgAFyOgABIAAgAUEGdkHAAXI6AABBAgwECyABQYBAcUGAwANHIAFBgLADT3FFBEAgACABQT9xQYABcjoAAiAAIAFBDHZB4AFyOgAAIAAgAUEGdkE/cUGAAXI6AAFBAwwECyABQYCABGtB//8/TQRAIAAgAUE/cUGAAXI6AAMgACABQRJ2QfABcjoAACAAIAFBBnZBP3FBgAFyOgACIAAgAUEMdkE/cUGAAXI6AAFBBAwEC0HEpesAQRk2AgALQX8FQQELDAELIAAgAToAAEEBCwsGACAAJAALEAAjACAAa0FwcSIAJAAgAAsEACMACwuo+QehAgBBgAgL5iZA/Fr54LefB9+b83efB0D883da+QAA+gCQASAD//8tKyAgIDBYMHgALTBYKzBYIDBYLTB4KzB4IDB4ACV1LiV1ACUuOXMAJS41cwAlLjNzACUuMTBzACUuKnMAVEFLRSAlMDJkJXMAJTAyZCAlcyAlcyAlcwBUJWQgJXMgJXMAJXMgVCVkICVzAE9QJWQgJXMARU5WICVkLyVkICVzAExGTyAlZC8lZCAlcwBGWCAlcwBUJWQgU1BFRUQgJXMAVCVkID0gJXMAU09VTkQgU0FWRUQ6ICVzAEJYLTcgJXMARlggJWQvMiAlcwAlZCAlcyAtICVzAG5hbgBpbmYAPkElMDJkAFNBVkVEIEFTIEElMDJkAFBBVFRFUk4gQSUwMmQAU0FWRUQgQSUwMmQAT0NUQVZFICUrZAAlcyVkAENMRUFSIFQlZABTT0xPIFQlZAAlcyBBTFJFQURZIE9OIFQlZABQJWQATSVkACVzICVkLyVkAEJBUiAlZC8lZABMRk8gJWQvJWQAUEFHRSAlZC8lZABTVEVQIFJFQyAlZC8lZAAlZC4lZAAlcy0lZAAlcyAlZC0lZABMRU5HVEhTICVkLSVkAE9DVCArJWQAT0NUQVZFICslZAAlcyAlZABPQ1QgJWQAUCVkIExFTkdUSCAlZABBTEcgJWQAT0NUQVZFICVkAFRBS0UgJTAyZCBPTiBQQUQgJWQARkIgJWQAUyVjAD4lYwBERUxFVEUgU0NFTkUgJWMAVjAuMTAuMC1iZXRhACV1LiV1IEtIWgAlLjFmIEtIWgAldSBIWgAlLjJmIEhaACUuMWYgSFoAJWQgSFoAIEVNUFRZAFNOQVBQWQBQT0xZAE9ORSBCQVIgT05MWQBLRVkAVEFLRSAlMDJkOiBLSVQgUkVBRFkAU0FNUExFIEFSTUVEOiBQUkVTUyBQTEFZAERFTEFZAEYgREVDQVkAUkVWIE1JWABNT0QgTUlYAE1BU1RFUiBGWABTRU5EOiBBTFdBWVMgQUZURVIgVEhFIEZYAE5BUlJPVwBTQVcARU5WAFJFVgBUSFJVAEVYVABPVVRQVVQATE9PUCBPVVQATUlESSBPVVQAU1lOQyBPVVQAU1RPUDogVEhFIExBU1QgU0FNUExFIElTIFNBVkVEIEZJUlNUAERJU1QAREVTVAAlK2QgU1QAKyVkIFNUAFNUQVJUAFJPT1QAU0xPVABPTkVTSE9UAFdISVRFID0gVE9HR0xFIEFDQ0VOVCAgSzEgPSBBTU9VTlQASU5TVFJVTUVOVABBQ0NFTlQAUVVBTlQATU9EIEFNVABNNCBBTVQATTMgQU1UAEVOVjIgQU1UAE0yIEFNVABNMSBBTVQAVkVMIEZJTFQAUElUAElOSVQAVCVkIEtJVABXSElURSA9IFBJQ0sgQU5EIEhFQVIgIEsxLUs0ID0gVEhFIEhJVABFRElUAFNFTEVDVCBNT1ZFUyBJVABVUFJJR0hUAEJSSUdIVABTT0ZUAFBSRVNFVABWT0lDRSBSRVNFVABTT1VORCBSRVNFVABUQVJHRVQAU0VMRUNUACUrZCBDVABNRVRBTCBIQVQAQU5BTE9HIEhBVABSRVBFQVQAQklHIEJFQVQAJWQrJWQsIEZSRUUgJXUuJXVTAEFMV0FZUwBQTEFZUwBDSE9SVVMAQUNDRU5UUwBQUkVTRVRTAExPVURORVNTAFNZTlRIIEJBU1MAJWQgQkFSUwA4IEJBUlMANCBCQVJTADIgQkFSUwBCQVIgJWQvJWQgICVkIFNURVBTAEVOVjIgUE9TAFAgU0VOUwBWRUwgU0VOUwAldSBNUwAlZCBNUwBQSVRDSCBMRVZFTFMARU1QSEFTSVMAWUVTAENVUlZFUwBQSVRDSCBSQVRFUwBSRVMAQlgtNyBCQU5LOiAlZCBWT0lDRVMATVVURSBTT1VORFMASURMRSBMRURTAFNBVkUgQVMAJXUuJTAzdSBTAExPQUQgSU4gJXUuJXUgUwBTQU1QTElORyAldS4ldSBTACUuMWYgUwBMIENPTlRPVVIARiBDT05UT1VSAElOU1RSAFNRUgBSRVNPTkFUT1IARkxBU0ggRVJST1IATUlOT1IAQ09MT1IATUFKT1IATUlYRVIAVCVkIEZJTFRFUgBQSEFTRVIAT1JERVIATEFEREVSACVkQlIAU0FWRSBBR0FJTiA9IENMRUFSACVkIEJBUgBTQ0VORSAlYzogTkVYVCBCQVIAU0FNUExFOiBORVhUIEJBUgAxIEJBUgBFWElUOiBFTlYgT1IgSE9NRSAgQkxBQ0sgPSBTT1VORCwgQkFSAEVYSVQ6IExGTyBPUiBIT01FICBCTEFDSyA9IFNPVU5ELCBCQVIARVhJVDogU0NMIE9SIEhPTUUgIEJMQUNLID0gU09VTkQsIEJBUgBTUExJVCBML1IAU0VRAEZSRVEALUVYUAArRVhQAFNBVyBVUABUUkFOU1AAQVJQAExPT1AAUFVNUABMUABIUAAlZCBTVEVQAEJQAENMQVAATUlYTwBBVVRPAExFR0FUTwBNNCBUTwBNMyBUTwBNMiBUTwBNMSBUTwBSRVNPAFRFTVBPAE1PTk8AR0xPAFZFTE8AUkFUSU8AQUxHTwBMRk8AU1RFUkVPAERDTwBTQVcgRE9XTgBUVVJOAENMRUFSIFBBVFRFUk4AJWQgUFBRTgBVTklTT04AUkVTT04ARElTVE9SVElPTgBQT1NJVElPTgBWRVJTSU9OADIgSEVBVlkgT04ARExZIE9OAFJFViBPTgBSRUMgT04ASEFSTSBNSU4ALUxJTgArTElOAFNVU1RBSU4ATUFJTgBDTEVBUj8gU0FWRSBBR0FJTgBMT09QIElOAE9QRU4AU0FXIEROAE5BTgBET1JJQU4ATFlESUFOAFBXTQBNRURJVU0AV0FWRUZPUk0AQlBNAFRPTQBaT09NAFBBVFRFUk4gRlVMTDogTk8gUk9PTQBSQU5ET00AVFJJTQBESU0AQUxHT1JJVEhNAEZNAFNZU1RFTQBXSElURSA9IENZQ0xFIFgxLVg0IEFORCBGTEFNAE9VVCBMVkwAVkVMIExWTABLQkQgQ1RSTABDT05UUk9MAFNDUk9MTABOTyBGSUxMAENPV0JFTEwARkwATEVWRUwAS0VZIFZFTABTRUwAUEFORUwATU9ERUwARVhDTABSQVRFIFNDTABJTkNMAENPV0JMAE1BTlVBTABCSVRUQUwASU5TUElSRUQgQlkgVklUQUwATUVUQUwARVhURVJOQUwAQ0xPQ0s6IElOVEVSTkFMAE5PUk1BTAAldS4ldUsAS0VZVFJLAFNIQVJLAFJPQk9UIEZVTksAQ0xPQ0sARVhJVDogRURJVCBPUiBIT01FICBXSElURSA9IFBJQ0sAU1lOVEggS0lDSwBBTkFMT0cgS0lDSwBBVFRBQ0sAVFJBQ0sARkVFREJBQ0sARExZIEZEQksAQlJFQUsAVFJJAEItTUlOSQBQRU5UQSBNSQBJK0lJAEVYVCBDTE9DSzogV0FJVElORyBGT1IgTUlESQBSIERFUFRIAEwgREVQVEgAQk9USABTWU5USABPVVRTSURFIFRIRSBMRU5HVEgARU5HTElTSABQSVRDSABQQVRDSABMQVRDSABQVU5DSABNSURJIENIAFMmSABQSFJZRwBJTlNQSVJFRCBCWSBUSEUgTUlOSU1PT0cAU1dJTkcAVFVOSU5HAFNDQUxJTkcAQUxHAEhQRgBJTkYAQ1VUT0ZGAENVVCBPRkYAVFdPIENPUkVTIE9GRgBTT0xPIE9GRgBGQVNUIFNDUkVFTiBPRkYAUkVDIE9GRgBWQ08gVkNGAEhQRiBWQ0YAUkVWIFNJWkUAUiBDVVJWRQBMIENVUlZFAE9WRVJEUklWRQBEQ08gV0FWRQBPQ1RBVkUAU1RPUCBUTyBTQVZFAE9OTFkgV0hFTiBTVE9QUEVEIC0gU0FWRSAyIFM6IFFVSUNLIFNBVkUATk8gQ0hBTkdFOiBTVE9QIEFORCBTQVZFAFZBTFVFAE1VVEUAU1RFUCAlZDogTk8gTk9URQBSRUMgQVJNRUQ6IFBMQVkgQSBOT1RFAE1PRCBSQVRFAEVOVi9HQVRFAFJFVkVSU0UAQ09BUlNFAFRSQU5TUE9TRQBQVUxTRQBOT0lTRQBSRUxFQVNFAFBSRQBTUVVBUkUAU1lOVEggU05BUkUAQU5BTE9HIFNOQVJFAFRZUEUAU0hBUEUAREVUVU5FAFRPTkUATk9ORQBTSU5FAFNFTEVDVCBNQUNISU5FAEZJTkUAVk9MVU1FAEVYSVQ6IEJMQUNLIDExIE9SIEhPTUUARExZIFRJTUUARlJBTUUAU0FNUExFAFRSSUFOR0xFAFRBQkxFAFRFTVBPIEFORCBTQ0FMRQBDSE9LRQBOTyBUQUtFAFNBVklORyBUSEUgVEFLRQBOTyBST09NOiBERUxFVEUgQSBUQUtFAFJBTkdFAExBTkdVQUdFAFBBR0UAUFdNIE1PREUAV0lERQBTTElERQBHTElERQAlZCBQQURTICsgU0VRVUVOQ0UAVk9JQ0UAU1BBQ0UARldEAE9DVC0gU09GVCAgT0NUKyBIQVJEAEVOViBNT0QAQU1QIE1PRABEQ08gTU9EAFZDRiBNT0QAV0hJVEUgPSBNVVRFIE9SIFBMQVkgVEhBVCBTT1VORABOT1QgQSBVU0VSIFNPVU5EAFRIQVQgSVMgTk9UIEEgQlVCQkEgU09VTkQATk8gUk9PTTogREVMRVRFIEEgVEFLRSBPUiBBIFNPVU5EAFNFTkQAUE1EAEFNRABTTEQAQlVJTEQAR0xEAFRISVMgTUFDSElORSBJUyBGSVhFRABVTlNBVkVEAEElMDJkIFFVRVVFRABNVVRFRABTQ0VORSAlYyBERUxFVEVEAFNPVU5EIERFTEVURUQAU0NFTkUgJWMgQSUwMmQgU1RPUkVEAFQlZCBDTEVBUkVEAFBBVFRFUk4gQ0xFQVJFRABTQVZFUyBXSEVOIFNUT1BQRUQAU0FNUExFIFNUT1BQRUQAU0FNUExFIEFSTUVEAExBVENIRUQATEFOR1VBR0UgUEFDSyBJUyBEQU1BR0VEAExFTkdUSC9TUEVFRABOTyBST09NIElOIFRBS0VTOiBESVNDQVJERUQAUExBQ0VEAEtZQkQAUEFEAE9TQwBMRk8gU1lOQwBPU0MgU1lOQwBDTEFTU0lDAFNURVAgUkVDAEFDQwBTVUIATk8gTEFOR1VBR0UgUEFDSzogTE9BRCBPTkUgQlkgVVNCAERFTEFZIFJFVkVSQgBDSE9SVVMgUkVWRVJCAEUuQkFTUyBCAFBPUlRBAFBFTlRBIE1BAFZDQQBFLkJBU1MgQQBFWFQ/AEZBQyA/ADwgJXMgPgA8AFNEOTA5AEJEOTA5AFNEIDkwOQBCRCA5MDkAWDgAODg4AEhIODA4AFNEODA4AEJEODA4AEhBVCA4MDgAU0QgODA4AEJEIDgwOAAxLzgAQlItOABPQ1QgMS04AFNPVU5EUyAxLTgASU5TUElSRUQgQlkgVEhFIERYNwBCWC03AE9QNgBDSElDQUdPIDg2ADMvMTYAMS8xNgBPQ1QgOS0xNgBTT1VORFMgOS0xNgBJTlNQSVJFRCBCWSBUSEUgSlVOTy02AEJVTk8tNgBPUDUAUEhJTExZIDk1AFg0AE9QNABLNABMUCAyNABYMy80AFgxLzQATUFDUk8gMy00AE1BQ1JPIDQATEVWRUwgNABSQVRFIDQAWDMAT1AzAEFMR09SSVRITSA9IFRISVMgRFJVTSdTIFNPVU5EICBLMS1LMwBXSU5EU09SIDkzAElOU1BJUkVEIEJZIFRIRSBUQi0zMDMAQkItMzAzAE1BQ1JPIDMATEVWRUwgMwBSQVRFIDMAT1NDIDMAWDIAT1AyAEsyAElOSVQgMTk4MgBCT01CQVkgODIAMS8zMgBMUCAxMgAlcyAlZC8yAEFSUCAlZC8yAEdMTyAlZC8yAFgzLzIAWDEvMgAzLTMtMgBNQUNSTyAxLTIARU5WIDIAUE9TIDIATUFDUk8gMgBMRVZFTCAyAFJBVEUgMgBPU0MgMgBYMQBPUDEASzEARVhJVDogUkVMRUFTRSBCTEFDSyAxMQBCWC0xAEJQLTEARU5WIDEAUE9TIDEATUFDUk8gMQBMRk8gMQBMRVZFTCAxAFJBVEUgMQBPU0MgMQBPQ1RBVkUgMCAgVFJBTlNQT1NFIDAALi4uLlguLlguLi4uWC4uLi4uLi5YLi4uLi4uLlguLi4ARU5WICsvLQAtLS0ARklMVEVSICsAT1NDIDIgKwBPU0MgMSArAChudWxsKQBUV08gQ09SRVMgT04gKFRFU1QpAEZBU1QgU0NSRUVOIE9OIChURVNUKQBPTkxZIFdIRU4gU1RPUFBFRCAoQ1VUUyBBVURJTykAQ0xPQ0s6IEVYVEVSTkFMIChNSURJKQA4JwAxNicANCcAMzInADc1JQAyNSUANTAlADEwMCUARklMVCAlZCUlAE9TQyAlZCUlAEcjAEYjAEQjAEMjAEEjAENQVSEAAAAtOTxAAEHwLgvdAQErAQACNwABAysAAAQuAAAFKwEABjUAAAcrAAAIMAABCTMAAAorAQALKQAADCsAAA06AQEONwAADzUAAAAAAAAAPgICPgEDPAEEPgIGQQIIPgIKPAELOgEMPAIOOgEPNwEQNwISOgETPAEUPgIWRgIYQwIaQQIcPgIePAEfOgEpLCQnAAIAAAADAAAABQAAAAQAAAB4DwAAwwYAALITAABVDQAAKgsAAAIHAABfFwAAvAsAAF8XAACoCwAASwsAAMYHAAD2DgAAAxAAMAcAAAAAAAAAxgcAAAMYAH8FAEHgMAvCAXwPAAAFAgB/BQAAAAAAAACJEAAABQMAfwUAAAAAAAAAQw0AAAUEAH8FAAAAAAAAADUMAAAHAAABAwAAAAAAAADDBgAAAwYAfwUAAAAAAAAAIwwAAAcBAAEDAAAAAAAAALITAAADJwB/BQAAAAAAAAAqDAAABwIAAQMAAAAAAAAAGBAAAAUGAAcCAAAAsDwAAIEOAAAFBwB/BQAAAAAAAACGDwAABQgACgIAAADQPAAAbQcAAAUJAAMCAAAAAD0AAF8XAEGwMgsCXxcAQcAyCwJfFwBB0DILAl8XAEHgMgsGDAcAAFcQAEHwMgu9AREPAAAEAAB/DgAAAAAAAACYCwAABAEAfwUAAAAAAAAAmhEAAAQCAH8FAAAAAAAAAMsGAAAEAwB/DwAAAAAAAAD2DgAAAxAAMAcAAAAAAAAAhg8AAAUAAAECAAAAYBkAAFYRAAADDQB/EAAAAAAAAACsEAAAAwQAfwUAAAAAAAAAAgAAAAgAAAD/////BAAAAAAAAAAGAAAA//////////8HAAAAAQAAAAIAAAAIAAAAAAAAAAQAAAAAAAAABgBBuDQLHgcAAAABAAAASgoAALITAADDBgAAaAcAAOMIAABRCgBB4TQLJRYAAHoVAAAIFQAAzRQAALwUAABwFAAACQgAAKgLAACjCwAAfwYAQZA1CxaLCQAAagkAAC4LAAAhBwAA/Q4AAH4JAEGwNQseUwwAACoLAAACBwAAEAcAALwLAABBCAAAqAsAAEsLAEHgNQtWHQ4AAAMJAH8FAAAAAAAAAMsGAAAEAgB/BAAAAAAAAABLDAAAAwoAfwQAAAAAAAAASxAAAAQDAH8EAAAAAAAAAEIOAAB3DAAAPQsAAFcQAACTEAAAzQ4AQcA2C5IBhg8AAAGOAAUCAAAAIBsAABsTAAABiQBjAAAAAAAAAAAsEgAAAYsAYwAAAAAAAAAAMBIAAAGMAGMAAAAAAAAAAMMGAAABigBjAAAAAAAAAABICQAAAY8ABwAAAAAAAAAAURMAAAGNAAEDAAAAAAAAAFoTAAABiAABAwAAAAAAAABECwAAAxAMJAcAAAAAAAAAXxcAQeA3C4IBzQcAAA0AAAMCAAAAMCMAAIMIAAAIAAABAAAAAAAAAABZCwAAZwsAAFwLAAAAAAAAdxAAAAUMAAICAAAAABwAABEPAAAFDQB/CQAAAAAAAACYCwAABQ4AfwUAAAAAAAAANQwAAAcAAAEDAAAAAAAAACcSAAADJwB/BQAAAAAAAABfFwBB8DgLAl8XAEGAOQsiNQwAAAcBAAEDAAAAAAAAACcSAAADBgB/BQAAAAAAAABfFwBBsDkLAl8XAEHAOQuWAzUMAAAHAgABAwAAAAAAAABlDAAABQ8AfwUAAAAAAAAAiRAAAAUQAH8FAAAAAAAAAEMNAAAFEQB/BQAAAAAAAAA1DAAABwMAAQMAAAAAAAAAGBAAAAUSAH8FAAAAAAAAAIEOAAAFEwB/BQAAAAAAAADdBgAABRQAfwUAAAAAAAAANQwAAAcEAAEDAAAAAAAAABgQAAAFFQB/BQAAAAAAAACBDgAABRYAfwUAAAAAAAAA3QYAAAUXAH8FAAAAAAAAADUMAAAHBQABAwAAAAAAAABKFgAAAX4AYwAAAAAAAAAA8BUAAAF/AGMAAAAAAAAAAGoVAAABgABjAAAAAAAAAAD+FAAAAYEAYwAAAAAAAAAAQhYAAAGCAGMAAAAAAAAAAOgVAAABgwBjAAAAAAAAAABiFQAAAYQAYwAAAAAAAAAA9hQAAAGFAGMAAAAAAAAAANcMAAABhgAfAQAAAAAAAAAqDgAAAYcABwAAAAAAAAAAWhMAAAGIAAEDAAAAAAAAAEQLAAABkAAwBwAAAAAAAACxCwAAUhIAQeA8C4ICQQwAADMLAAA4CwAARgwAAEoWAAACAABjAAAAAAAAAADwFQAAAgEAYwAAAAAAAAAAahUAAAICAGMAAAAAAAAAAP4UAAACAwBjAAAAAAAAAABCFgAAAgQAYwAAAAAAAAAA6BUAAAIFAGMAAAAAAAAAAGIVAAACBgBjAAAAAAAAAAD2FAAAAgcAYwAAAAAAAAAAghAAAAIUAA4IAAAAAAAAAC4QAAACEgAfAAAAAAAAAACnEAAAAhMAYwAAAAAAAAAATBEAAAIRAAECAAAAUB4AAKIRAAACDgADAAAAAAAAAABPCQAAAg8ABwAAAAAAAAAACA0AAAIQAGMAAAAAAAAAAF8XAEHwPgsyfw4AAAIJAGMAAAAAAAAAAHcOAAACCgBjAAAAAAAAAAA8DgAAAggAYwoAAAAAAAAAXxcAQbA/CzJwDwAAAgsAAwIAAABgHgAAaA8AAAIMAAMCAAAAYB4AAGYNAAACDQAHAAAAAAAAAABfFwBB8D8L0gIqDgAAAYcABwAAAAAAAAAAXggAAAQAAH8EAAAAAAAAAMITAAADDQB/BQAAAAAAAABJDQAAAxgAfwUAAAAAAAAAAgAAAP////8DAAAABAAAAAUAAAAGAAAA//////////8HAAAAAQAAABgwSGBgMBgMAAAAAPhTAz+R7Vw/AAAcQQAAAADhetQ/4XrUPzMzU0AAAAAAMzOrQDMzq0DNzGxABgYBAQgEBgAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAIAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAIAAAAGQAAABoAAAAbAAAAHAAAAB0AAAAIAAAAHgAAAB8AAAAgAAAAIQAAACIAAAAIAAAAIwAAACQAAACYIAAAsCAAAPggAADgIAAAECEAAAACAwUEAQBB0MIACxL9FQAAdxUAAAUVAADKFAAAAw0AQfDCAAuCA/AOAAACMksA+RAAAAkACACGBwAACAALAEQLAAASDCQAyhAAAAQAAwAzDgAABQB/AF8PAAATAH8A0QYAABUAfwCEFAAAOxQAAH8UAADgFAAAQkQAAEJEMgBDSAAAT0gAAFNEAABDUAAAUlMAAExUAABNVAAASFQAAENCAABDWQAAU0gAAENMAABDRwAAWkFQAEJEAABCRDIAQ0gAAE9IAABTRAAAQ1AAAFJTAABMVAAATVQAAEhUAABSRAAAQ1IAAFNIAABDTAAAQ0cAAFpBUABCRAAAU1VCAENIAABPSAAAU0QAAENQAABCTFAAWkFQAE1UTABCTEsAQ0IAAE5aAABTSAAAVE9NAFBSQwBCRDMAQkQAAEJEAABTRAAAU0QAAEhIAABNVEwAQ1AAAFRPTQBDQgAAUkVTAE5aAABGTQAAAAEFCQoBAgQCAAAAAwAAAAUAAAAEAAAACAAAAAcAAAALAAAACAAAAAkAAAAGAAAAAgAAAAMAAAAFAAAABAAAAF8XAEGAxgALggEbEwAAAxUABQIAAABwPQAAQxEAAAsAAAMBAAAAAAAAACkNAAAMABBwBAAAAAAAAAAsFwAAMBcAACgXAAA0FwAAng4AAAYAAUAMAAAAAAAAAJ8QAAAKAAAGAgAAAJA9AADFDgAAAxkADw0AAAAAAAAAMQcAAAMoAAEDAAAAAAAAAF8XAEGQxwALAl8XAEGgxwALogHNBwAADQAAAwIAAAAwIwAAgwgAAAgAAAEAAAAAAAAAAEsPAABBCwAAzwsAAG8NAABhDQAAxwwAAFgKAACzCAAAOxQAAIQUAACVFQAAAAAAAEwRAAADEQAHAgAAAMAjAACLDwAAAxMBBAAAAAAAAAAAGBAAAAMSAAICAAAA4CMAACEQAAADFBRkBgAAAAAAAAC5DgAACQAAAQMAAAAAAAAAXxcAQdDIAAsCXxcAQeDIAAsCXxcAQfDIAAuCAXYTAABVFwAASxMAAFIXAAB/EQAAXQ8AAE8XAAAHDwAATBcAANwTAABYFwAAwBMAAA0ODwUGBwACBAAAADUAAAAZAAAANQAAADUAAAAGAAAAAgAAAAMAAAAFAAAABAAAAK4LAAAkFwAAHRcAABoXAAAhFwAAJRcAAPwLAADjCAAAshMAQYDKAAsiSgoAAFEWAAD3FQAAcRUAACEHAABKCgAA+ggAAF8XAABtBwBBsMoAC/0BWw8AAMcLAACqEQAAshEAANETAABfFwAAXxcAAAAAAABRFgAAqxYAAPcVAACjFgAASgoAAJoWAAB1EQAAKBYAANQVAABfFwAAyhUAAOQUAABGDgAABQAAAIAmAAAAJQAAAgAAAMAnAAAUJQAAAgAAAGAoAAAcJQAA4CgAABEPAAAEAAB/EQAAAAAAAAC1FAAABQAAAGApAAAwJQAAAQAAAKAqAABEJQAAAQAAAOAqAABIJQAAICsAAC4LAAAEAAB/EQAAAAAAAACBDQAABwAAAKArAABQJQAAAgAAAGAtAABsJQAAAwAAABAuAAB0JQAA4CgAABEPAAAFDwB/EQBBwMwACxIkFwAAHRcAABoXAAAhFwAAJRcAQeDMAAvyA0IOAADODQAADAcAAFcQAABREQAABQcAAKMLAAB5CwAAEQ8AAAQAAH8RAAAAAAAAAHEJAAAEAQB/BQAAAAAAAAAGCgAABAIAfwUAAAAAAAAAGA0AAAUNAH8FAAAAAAAAADQRAAAFAQAEAgAAAEAmAACGDwAABQAABQIAAABgJgAAQw0AAAUCAH8FAAAAAAAAAIQQAAAFHQB/BAAAAAAAAAA0EQAABQQABAIAAABAJgAALgsAAAUFAH8EAAAAAAAAAIYPAAAFAwAFAgAAAGAmAABDDQAABQYAfwUAAAAAAAAANBEAAA8IAAUCAAAA0CQAAC4LAAAFCQB/BAAAAAAAAACGDwAABQcABQIAAABgJgAAQw0AAAUKAH8FAAAAAAAAAEUQAAAFCwB/BQAAAAAAAABcEQAABRoAfxIAAAAAAAAATBEAAAUbAAECAAAAeCYAAKwQAAADBAB/BQAAAAAAAAAdDgAABQ8AfxIAAAAAAAAAywYAAAUQAH8SAAAAAAAAAEsMAAAFEQB/BQAAAAAAAABLEAAABRIAfxIAAAAAAAAAHQ4AAAUTAH8SAAAAAAAAAMsGAAAFFAB/EgAAAAAAAABLDAAABRUAfwUAAAAAAAAASxAAAAUWAH8SAAAAAAAAAEIOAABXEAAATRMAAEoKAACHDgBB4NAAC1IYEAAABRcAfxMAAAAAAAAAhg8AAAUeAAECAAAAQCgAANkGAAAOHwB/FAAAAAAAAAC0BwAABRgAfwUAAAAAAAAAbQcAAAUZAAICAAAASCgAAF8XAEHA0QALAl8XAEHQ0QALAl8XAEHg0QALEuMIAAAFNAACAgAAAJA8AABfFwBBgNIACzayEwAAAycAfwUAAAAAAAAAKgwAAAcCAAEDAAAAAAAAAB0XAAAaFwAAIRcAALwLAAB6DQAAEAcAQcDSAAvCAmsWAABVFgAA+xUAAHUVAACxFgAAmBYAABAHAAAhEAAALgsAAAQAAH8RAAAAAAAAAJEJAAAEAQB/BQAAAAAAAAAQBwAABAIAfwUAAAAAAAAAvAsAAAQDAH8FAAAAAAAAADQRAAAFAgACAgAAACApAAA/EAAABQEAAQMAAAAAAAAADAcAAAUAAAEDAAAAAAAAAHgTAAAFAwB/BQAAAAAAAAC8CwAABQYAfwUAAAAAAAAAkAwAAAUJAH8FAAAAAAAAAEgRAAAFBQACAgAAACwpAABFEAAABQQAfwUAAAAAAAAACQ8AAAUHAAMCAAAAQCkAAI4WAAAFCAABAgAAAFApAABEEwAABQoAfwUAAAAAAAAArAsAAAULAH8FAAAAAAAAAB0QAAAFEAABAgAAAFgpAACsCwAABRQAfwUAAAAAAAAAXxcAQZDVAAtyrBAAAAMEAH8FAAAAAAAAAB0OAAAFDAB/EgAAAAAAAADLBgAABQ0AfxIAAAAAAAAASwwAAAUOAH8FAAAAAAAAAEsQAAAFDwB/EgAAAAAAAAAYEAAABREAfxMAAAAAAAAAwwYAAAUSAH8SAAAAAAAAAF8XAEGQ1gALAl8XAEGg1gALEuMIAAAFEwADAgAAAHAzAABfFwBBwNYAC1KyEwAAAycAfwUAAAAAAAAAKgwAAAcCAAEDAAAAAAAAAFUWAAD7FQAAdRUAAAMVAADUFAAAmhUAAGcLAABcCwAAXgoAAEsPAAB/BgAAowsAAHkLAEGg1wALckMNAAAFAAB/BQAAAAAAAABECwAABQEAfxUAAAAAAAAA0xAAAAUDAH8FAAAAAAAAAO8LAAAFBAADAgAAAGArAACCEAAABQUAfwUAAAAAAAAApxAAAAUCAH8WAAAAAAAAAOkQAAAFBgA/AAAAAAAAAABfFwBBoNgAC3JDDQAABQcAfwUAAAAAAAAARAsAAAUIAH8VAAAAAAAAANMQAAAFCgB/BQAAAAAAAADvCwAABQsAAwIAAABgKwAAghAAAAUMAH8FAAAAAAAAAKcQAAAFCQB/FgAAAAAAAADpEAAABQ0APwAAAAAAAAAAXxcAQaDZAAvSAlsNAAAFDgAFAgAAAHArAAARDwAABQ8AfxEAAAAAAAAAmAsAAAUQAH8FAAAAAAAAAHwPAAAFEQB/BQAAAAAAAADpBwAABRIAfwQAAAAAAAAAxw0AAAUTAH8FAAAAAAAAAKwLAAAFFAB/BQAAAAAAAAA/CQAABSwAfwUAAAAAAAAATBEAAAUpAAICAAAAiCsAAFwRAAAFKgB/EgAAAAAAAACsCwAABSsAfwUAAAAAAAAArBAAAAMEAH8FAAAAAAAAAB0OAAAFFQB/EgAAAAAAAADLBgAABRYAfxIAAAAAAAAASwwAAAUXAH8FAAAAAAAAAEsQAAAFGAB/EgAAAAAAAAAdDgAABRkAfxIAAAAAAAAAywYAAAUaAH8SAAAAAAAAAEsMAAAFGwB/BQAAAAAAAABLEAAABRwAfxIAAAAAAAAAkxAAAEIOAAAMBwAAVxAAAMcMAEGA3AALkgKtDgAAEQ8AAAcMAABDDQAAfBAAAAUdAAQCAAAA4C0AABgQAAAFHgB/EwAAAAAAAABtBwAABR8AAwIAAAAALgAAtAcAAAUgAH8FAAAAAAAAAJILAAAFIQAMAgAAAIA1AAD5BwAABSIAfwQAAAAAAAAAjAsAAAUjAAwCAAAAgDUAAPIHAAAFJAB/BAAAAAAAAACGCwAABSUADAIAAACANQAA4gcAAAUmAH8EAAAAAAAAAIALAAAFJwAMAgAAAIA1AADbBwAABSgAfwQAAAAAAAAAfA8AAAUxAH8FAAAAAAAAAIkQAAAFMgB/BQAAAAAAAABDDQAABTMAfwUAAAAAAAAANQwAAAcAAAEDAAAAAAAAAF8XAEGg3gALAl8XAEGw3gALAl8XAEHA3gALAl8XAEHQ3gALSQIAAAAIAAAAAwAAAAQAAAAAAAAABgAAAP//////////BwAAAAEAAAACBwAAEAcAALwLAAACAAAACAAAAAMAAAAEAAAAAAAAAAYAQaTfAAsOBwAAAAEAAAAMBwAAVxAAQcDfAAuSAk8PAAAEAAAA9g4AAFAYMAwAAAAAEQ8AAIAofw0AAAAAmAsAAIFgfwAAAAAAmhEAAIJafwAAAAAAEAcAAAQAAADLBgAAgzh/DgAAAADGBwAAWGR/AAAAAABWEQAATQd/DwAAAACGDwAAAAABCKwvAABjEwAAJmlaN1oHAADVEwAALExmLBkHAAC5EwAATCZfBCwHAABWCAAAGQBJSSwHAAADCQAAM2ZmU0AHAQCBFQAALBNmMBkHAAB0FAAAHnNVRmQHAADAFAAAMnpuPH8HAADUDQAAPEZGLVoHAAC6CAAALW5kPG4HAAAxFQAAGV88IzwHAQCLFQAANzI3MjwHAAAkFwAAHRcAABoXAAAhFwAAJRcAQeDhAAt2Qg4AAM4NAAAMBwAAVxAAAFERAAAFBwAAowsAAHkLAAAhDQAABAAAAIQQAAAdQH8BAAAAAFwRAAAaI38GAAAAABQQAAAXRn8HAAAAANMHAAAYQH8QAAAAAFEWAAACAAAANBEAAAEBBAjAMAAAhg8AAAACBQjgMABB8OIACyr3FQAAAwAAADQRAAAEAQQIwDAAAC4LAAAFQn8BAAAAAIYPAAADAgUI4DAAQajjAAsqcRUAAAMAAAA0EQAACAAECMAwAAAuCwAACUB/AQAAAACGDwAABwMFCOAwAEHg4wALkwJACgAABAAAAFEWAAACbn8AAAAAAPcVAAAGWn8AAAAAAHEVAAAKMn8AAAAAAEUQAAALAH8AAAAAAEoKAAAEAAAAEQ8AAIA8fwUAAAAAcQkAAIEyfwAAAAAABgoAAIJGfwAAAAAAGA0AAA0ofwAAAAAABAoAAAQAAAAdDgAADwB/BgAAAADLBgAAEDd/BgAAAABLDAAAERR/AAAAAABLEAAAEi1/BgAAAAD6CQAABAAAAB0OAAATAH8GAAAAAMsGAAAURn8GAAAAAEsMAAAVbn8AAAAAAEsQAAAWI38GAAAAACEHAAAEAAAAfA8AAAwefwAAAAAATBEAABsAAQj4MAAAAAgAAA4ofwAAAAAAEA0AABwofwBBgOYACydTDAAAAwAAAF4IAACAQH8BAAAAAMITAABNAH8AAAAAAEkNAABYZH8AQbjmAAteEAcAAAQAAAAdDgAASQB/AAAAAADLBgAAgkB/AQAAAABLDAAASkB/AQAAAABLEAAAg0B/AQAAAABLDwAAdQ4AAFgOAABWDgAAvAsAAHoNAAAQBwAAHRcAABoXAAAhFwBBoOcACzxrFgAAVRYAAPsVAAB1FQAAsRYAAJgWAAAQBwAAIRAAALwLAAACAAAAGBAAABE8fwcAAAAAwwYAABIAfwYAQfjnAAv7AccLAAAEAAAAvAsAAAYAfwAAAAAAkAwAAAkyfwAAAAAASBEAAAUAAgiAMwAANBEAAAIBAgiMMwAAgg8AAAQAAAA/EAAAAQABCQAAAAAMBwAAAAEBCQAAAAB4EwAAAyh/AAAAAABFEAAABAB/AAAAAABXDwAABAAAAAkPAAAHAQMIoDMAAC4LAACASH8FAAAAAJEJAACBHn8AAAAAABAHAACCMn8AAAAAALIRAAAEAAAAjhYAAAgAAQiwMwAAvAsAAIMAfwAAAAAARBMAAAo8fwAAAAAArAsAAAsUfwAAAAAA0RMAAAIAAAAdEAAAEAABCLgzAACsCwAAFAB/AEGQ6gALShAHAAAEAAAA3BMAAAwKfwYAAAAASxMAAA1GfwYAAAAA+AkAAA5afwAAAAAAKAsAAA88fwYAAAAA4wgAAAEAAADjCAAAEwEDCHAzAEGA6wALMpYWAAARDwAAmAsAAC4WAADaFQAABwwAAOgVAACCEAAAvAsAABAHAAB8DwAASxAAAHsRAEHA6wALJlUWAAD7FQAAdRUAAAMVAADUFAAAmhUAAGcLAABcCwAAXgoAAEsPAEHw6wALEpMQAABCDgAADAcAAFcQAADHDABBkOwAC4ABrQ4AABEPAAAHDAAAQw0AAH8GAACjCwAAeQsAAAAAAABRFgAABAAAAEMNAAAAZH8AAAAAAEQLAAABQH8CAAAAANMQAAADAH8AAAAAAO8LAAAEAAMIwDUAAKsWAAADAAAAghAAAAUUfwAAAAAApxAAAAJAfwQAAAAA6RAAAAYAPwoAQaDtAAtg9xUAAAQAAABDDQAABwB/AAAAAABECwAACEB/AgAAAADTEAAACgB/AAAAAADvCwAACwADCMA1AACjFgAAAwAAAIIQAAAMFH8AAAAAAKcQAAAJQH8EAAAAAOkQAAANAD8KAEGQ7gALrwNKCgAABAAAAFsNAAAOAAUI0DUAABEPAAAPZH8FAAAAAJgLAAAQD38AAAAAAHwPAAARAH8AAAAAAJoWAAAEAAAA6QcAABJAfwEAAAAAxw0AABNAfwAAAAAArAsAABQUfwAAAAAAPwkAACwAfwAAAAAAKBYAAAQAAADcEwAAFQB/BgAAAABLEwAAFkZ/BgAAAAD4CQAAF25/AAAAAAAoCwAAGDd/BgAAAADUFQAABAAAANwTAAAZAH8GAAAAAEsTAAAaQX8GAAAAAPgJAAAbKH8AAAAAACgLAAAcN38GAAAAADwWAAAEAAAAfBAAAB0BBAjwNQAAGBAAAB48fwcAAAAAbQcAAB8CAwgQNgAAtAcAACAAfwAAAAAAyhUAAAQAAACSCwAAIQEMCIA1AAD5BwAAIm5/AQAAAACMCwAAIwUMCIA1AADyBwAAJHh/AQAAAADkFAAABAAAAIYLAAAlCAwIgDUAAOIHAAAmeH8BAAAAAIALAAAnDAwIgDUAANsHAAAoeH8BAAAAAHURAAADAAAATBEAACkAAgggNgAAXBEAACoAfwYAAAAAEA0AACsyfwBB0PEACwUCAwYFBABB4PEAC+MBNBQAAAUUAAAtFAAA/hMAACUUAACaDQAAagsAAKgMAAA4DQAA9gsAAEUQAADhDAAApQsAAFUWAAD7FQAAdRUAAD0IAAAEAAAAhBAAAAJAfwMAAAAAywYAAANAfwAAAAAAiRAAAAVAfwAAAAAANAoAAAZAfwAAAAAAuwcAAAQAAABbDQAABAALCOA4AABDDQAAAWR/CgAAAAD/EAAABwADCBA5AACeDgAAABBACgAAAAAqCwAABAAAAEMNAAABZH8KAAAAAJ4OAAAAEEAKAAAAAMsGAAADQH8AAAAAAIkQAAAFQH8AQdDzAAuEBTcUAABLSUNLAAAAQEZAPngAS0lDSzIAAEgoRlpkAENMIEhIAARAGWQUUAFPUCBISAAEQFVkFEsBU05BUkUAAkA3RktfAENMQVAAAAZAMjwyXwBSSU0AAAAJCA9kTFUAVE9NIEwABzNGMh5kAFRPTSBNAAdERDIeZABUT00gSAAHUUIyHmQAQ09XQkwACEAyMmRVAENZTUJMAAU8blAoSwBTSEFLRQAKQBlkMlAAQ0xBVkUACVIoAAB/AENPTkdBAAdqLSgKXwBaQVAAAAALWiNQFFUACBQAAEtJQ0sAAAFAQkhAfwBLSUNLMgABRiNQbmQAQ0wgSEgABUAUbjxQAU9QIEhIAAVAUG48SwFTTkFSRQADQDI8UF8AQ0xBUAAABkA8RkZfAFJJTQAAAAkMDG5GVQBUT00gTAAHOD5QMmQAVE9NIE0AB0g8UDJkAFRPTSBIAAdWOlAyZABSSURFAAAFSGR4HkYAQ1JBU0gABTx4ZFpGAFNIQUtFAApAFG4oSwBDTEFWRQAJUiMKAH8AQ09OR0EAB2goPBRfAFpBUAAAAAtgHmQeVQCMDgAAS0lDSwAAAThaOFR8AFNVQgAAAAA0bigKfwBIQVQAAAAERg9uWlABT0hBVAAABUJGZChLAVNOQVJFAANMKGRkXwBDTEFQAAAGRkZabl8AQkxJUAAAC2QKMlBVAFpBUAAAAAtGHngoWgBNRVRBTAALUDxkblAAQkxPQ0sACSgeHh5aAENPV0IAAAhGKEY8VQBOT0lTRQAKQDwoAFAAU0hBSwAACkAPbkZQAFRPTQAAAAc8RjwoZABQRVJDAAAHZChaeFoAS0lDSzMAAFAeUH9kAMkGAACDQH8BAEHg+AALggI0FgAAgEB/AAAAAADgFQAAgQB/AAAAAABaFQAAggB/AAAAAADuFAAAgwB/AAAAAABLDwAAdQ4AAFgOAAAAAAAAGAAwAGAAwACAAQADAAYADIQUAAA7FAAA4BQAAMAVAACoCgAAJAkAAB0JAAAWCQAAkxAAAOAQAAA9CwAAywsAAFcQAADNDgAAVAsAACEQAAA5CQAAxBUAADgSAAAAAAAAEQ8AAK0OAACYCwAArBAAAABgLX8TTHImBmY5fxlTM3k8FQAA1w4AAFcUAACIDQAAnhQAAAIAAAAJAAAAAgAAAAwAAAAIAAAAwC8AAAAxAAAAMwAAMDYAAMAzAAAMEBggMGAAQfD6AAsWdxUAALoVAAD9FQAA2hQAAL8VAADfFABBkPsACzU/FAAAIxYAAFMVAABGDgAAaxQAAIENAAC1FAAAAAAAAGNjY2NjY2NjY2NjAwMHAwdjAR9jDgBB0PsACyRjY2NjY2NjYx8HAWNjY2MBBQcwfn5+fn5+fn5+fj8AAQIDBQYAQYD8AAtSdhMAAFUXAABLEwAAUhcAAH8RAABdDwAATxcAAAcPAABMFwAA3BMAAFgXAADAEwAAOgoAAC4KAACCDAAA0Q4AAG8LAACJDAAAOAwAAMgTAABNDgBB4fwAC5ECAgQFBwkL/wACAwUHCAr/AAIDBQcJCv8AAQMFBwgK/wACBAUHCQr/AAIEBgcJC/8AAgMFBwgL/wACBAcJ////AAMFBwr///8wGAwBAgMECJAHAACRBgAAGAcAAE8LAAD9FQAAdxUAAMoUAAAMFAAAgREAABQHAADODAAAIRIAAB0OAAAQCQB/AAAAAAAAAABLEAAAEAoAfwAAAAAAAAAAagwAABALAP4AAAAAAAAAACgHAAAQDAD/AAAAAAAAAAB8DwAABTEAfwUAAAAAAAAAiRAAAAUyAH8FAAAAAAAAAEMNAAAFMwB/BQAAAAAAAAA1DAAABwAAAQMAAAAAAAAA4wgAAAU0AAICAAAAkDwAAF8XAEGA/wALMrITAAADJwB/BQAAAAAAAAAqDAAABwIAAQMAAAAAAAAAng4AABANAEAAAAAAAAAAAF8XAEHA/wALIsUOAAADGQAPDQAAAAAAAAAxBwAAAygAAQMAAAAAAAAAXxcAQfD/AAsCXxcAQYCAAQsCXxcAQZCAAQuyAoMIAAAQDgABAAAAAAAAAACABwAAEAEA/wAAAAAAAAAAng4AABACAP8AAAAAAAAAAKwMAAAQAwADAAAAAAAAAADZEAAAEAQAAgAAAAAAAAAArQ4AABAFADAAAAAAAAAAAEMNAAAQBgB/AAAAAAAAAABMEQAAEAcAAwAAAAAAAAAAJhAAABAIAAEAAAAAAAAAAEMNAAAQBgB/AAAAAAAAAACeDgAAEA0AQAAAAAAAAAAArQ4AABAFADAAAAAAAAAAAEsQAAAQCgB/AAAAAAAAAAACAAAA/////wMAAAD/////AAAAAAYAAAAAAgMFBAEAAAD5AvkE+gX7BvwH/gcABwIGBAUFBAYCBwAH/gf8BvsF+gT5AvkA+f76/Pv7/Pr++V8XAAB3FQAABRUAAMoUAABADQBB0IIBC9Qn/RUAAHcVAAAFFQAAyhQAAAMNAADWCAAAMw0AADANAACYEAAA7xAAAOEGAAAAAAAA9wn2CPUG9AXzA/MB8//z/fT79fr2+Pf3+fX79P3z//MA8wHzA/MF9Af1CfcK+Av6DPsN/Q3/DQENAwwFCwYKCAkJAAEFCQoAVhEAAAMAAH8QAAAAAAAAAAABAgMABAAAkAgAANcMAAAEFgAAfhUAAC4VAADRFAAA8ggAAFENAAAFDwAAUxAAAAYAAAACAAAAAwAAAAUAAAAEAAAAegAAAC4AAAB6AAAALgAAAFQAAAAAAAAEAAYAB4AHwAfgBwAAXy0ZMmNQAAAnAAAAAwMAB1sAAQAHXxQUMmNfAAAnAAAAAwMAAmMAAQAOXy0ZMmNQAAAnAAAAAwMABlEAAQAHXxQUMmNfAAAnAAAAAwMAAmMAAQAAXzIjTmNLAAApADIAAAMABzwADgAHYBkZQ2NLAAAnAAAAAwMAAmMAAQAHY2NjYzIyMjIEBgEjAAAAAQAAGFRJTkVLRVlTICA/YzIjMmNQAAAnAAAAAwIAAgAAAQAHYzIjMmNQAAAnAAAAAwIAAgAAAQAHY0EoN2MAAAAnAAAAAwMABkMADwAHYy0eN2MAAAAnAAAAAwMAAmMAAQAIYyYeN2MAAAAnAAAAAwMABFoAAAAHYyYeN2MAAAAnAAAAAwMAAmMAAQAHY2NjYzIyMjIEAAEjAAAAAQAAGEZVTExUSU5FICA/YzIjMmNQAAAnAAAAAwIAAgAAAQAHYzIjMmNQAAAnAAAAAwIAAgAAAQAHY1AoRmMAAAAnAAAAAwIABkgAAgAHYy0eRmNLAAAnAAAAAwIAAloAAAAJY0YoRmMjAAAnAAAAAwIABVYAAAAHYy0eRmNLAAAnAAAAAwIAAmMAAAAHY2NjYzIyMjIEAAEjAAAAAQAAGFBPUCBCQVNTICA/YygePGNGAAAnAAAAAwIABFMAAQAHY2NjPGNjYwAnAAAAAwIAA0IAAAAGYx4ZPGNQAAAnAAAAAwIAA0oAAAAHYx4ZPGNVAAAnAAAAAwIAAmMAAAAHY2NjYwAAAAAnAAAAAwIAAgAAAQAHY2NjYwAAAAAnAAAAAwIAAgAAAQAHY2NjYzIyMjINBgEjAAAAAQAAGEhPVVNFIEJTICA/YzIjMmNQAAAnAAAAAwIAAgAAAQAHYzIjMmNQAAAnAAAAAwIAAgAAAQAHY1gyRmMAAAAnAAAAAwIABUYAAQAHY1UyRmMAAAAnAAAAAwIAA0QAAQAHY1AoRmMtGQAnAAAAAwIABkIAAAAHYzcoRmNcVQAnAAAAAwIAAWMAAAAHY2NjYzIyMjIEAAEjAAAAAQAAGFNVQiBCQVNTICA/YzIjMmNQAAAnAAAAAwIAAgAAAQAHYzIjMmNQAAAnAAAAAwIAAgAAAQAHYyAeHmMAAAAnAAAAAwIAA0cAASkKYx4eHmMAAAAnAAAAAwIAAmMAAQAJYx4eHmMAAAAnAAAAAwIAA0wAASkHYx4eHmMAAAAnAAAAAwIAAl4AAGMHY2NjYzIyMjIEAAEjAAAAAQAAGFRVQkVDSElNICA/YzceLWMAAAAnAAAAAwIABDwACAAHYy0eLWMAAAAnAAAAAwIAAmMABAAHYzceLWMAAAAnAAAAAwIABEIABAAHYy0eLWMAAAAnAAAAAwIAAmMAAgAHYzceLWMAAAAnAAAAAwIABEYAAwAHYy0eLWMAAAAnAAAAAwIAAmMAAQAHY2NjYzIyMjIEAAEjAAAAAQAAGENISU1FUyAgICA/NzMdR1JfYAAnAAAAAwIABFUAAQAHNzMdR1JfYAAnAAAAAwIABEsAAQAMNzMdR1JfYAAnAAAAAwIABFUAAQAOSExjR2NYYAAnAAAAAwIAAmMAAQALNzMdR1JfYAAnAAAAAwIABFUAAQAESExjR2NYYAAnAAAAAwIAAmMAAQAGY2NjYzIyMjIMAwEgKAYAAAQDGEJSQVNTIDgwICA/KB4ZKFpVUAAnAAAAAwIAAjwAAgAHLh4ZKGNfWgAnAAAAAwIAAV8AAQAKKB4ZKFpVUAAnAAAAAwIAAkQAAQAHLB4ZKGNfWgAnAAAAAwIAAV8AAQAEKB4ZKFpVUAAnAAAAAwIAAkYAAQAHLR4ZKGNfWgAnAAAAAwIAAWEAAQAHY2NjYzIyMjIEBAEeMgkAAAQDGFNUUklOR1MgICA/YzIjMmNQAAAnAAAAAwIAAgAAAQAHYzIjMmNQAAAnAAAAAwIAAgAAAQAHY1goPGMAAAAnAAAAAwQABUIAAxEHYzojPGMAAAAnAAAAAwQAA1oAAQAJY1UoPGMAAAAnAAAAAwQABUsAAxEHYzcjPGMAAAAnAAAAAwQAA2MAAQAHY2NjYzIyMjIEAAEjAAAAAQAAGE1BUklNQkEgICA/RjxjPGMoKAAnAAAAAwIAAkYABwAHRjxjPGMeHgAnAAAAAwIAAi4ABAAHNyhjPFpGRgAnAAAAAwIAAigAAQAHPChjPGNQUAAnAAAAAwIAAjIAAgAHNyhjPFpVVQAnAAAAAwIAAzoAAQAHPChjPGNfXwAnAAAAAwIAAmMAAQAHY2NjYzIyMjIEBwEiMgYAAAQDGEZMVVRFICAgICA/RmNjPGNjYwAnAAAAAwAAAC0ACgAHRmNjPGNjYwAnAAAAAwAAAFgAAgAHRmNjPGNjYwAnAAAAAwAAAFAABAAHRmNjPGNjYwAnAAAAAwAAADcAAQAHRmNjPGNjYwAnAAAAAwAAADwAAAAHRmNjPGNjYwAnAAAAAwAAAGMAAAAHY2NjYzIyMjISAgE8AAMAAAQCGFBJUEUgT1JHICA/Y0ZjUGMAAAAnAAAAAwAAAkoACAAHY2NjUGNjYwAnAAAAAwAAAEgABgAHY2NjUGNjYwAnAAAAAwAAAFYABAAHY2NjUGNjYwAnAAAAAwAAAFQAAwAHY2NjUGNjYwAnAAAAAwAAAFoAAgAHY2NjUGNjYwAnAAAAAwAAAGMAAQAHY2NjYzIyMjIfAAFGAAQAAAQCGE9SR0FOICAgICA/YzIjMmNQAAAnAAAAAwIAAgAAAQAHYzIjMmNQAAAnAAAAAwIAAgAAAQAHPDJjQWNQUAAnAAAAAwIAAzwAAQAHRjJjQWNfXwAnAAAAAwIAAlAAAQAIPDJjQWNVVQAnAAAAAwIABE4AAgAHRjJjQWNfXwAnAAAAAwIAAmMAAQAHY2NjYzIyMjIEAAEeKAgAAAQDGFJFRUQgSFJQICA/Y1UtVWMAAAAnAAAAAwIABTwABQAHY0soVWMeAAAnAAAAAwIAA0YAAwAHY0stVWMyAAAnAAAAAwIABUwAAQAHY0goVWM3AAAnAAAAAwMAA1YAAQAJY1AtVWMoAAAnAAAAAwMABVQAAwAHY0YoVWM8AAAnAAAAAwMAA2MAAQAHY2NjYzIyMjIEBQEjAAAAAQAAGENMQVZJICAgICA/Y0YoN2MAAAAnAAAAAwIABTIAAgAHYzceN2MAAAAnAAAAAwIAAzwAAgAJY1IoN2MAAAAnAAAAAwIABToAAQAHYzweN2MAAAAnAAAAAwQAA0IABQAHY04oN2MAAAAnAAAAAwQABkYABgAHYy0eN2MAAAAnAAAAAwQAA2MAAQAHY2NjYzIyMjIEAgEjAAAAAQAAGFBMVUNLRUQgICA/IxkUIGNQRgAnAAAAAwIAAjwAAQAHLBkUIGNaUAAnAAAAAwIAAVIAAgAEIxkUIGNLPAAnAAAAAwIAAjQABwEHKhkUIGNcVQAnAAAAAwIAAVwAAQAKIxkUIGNQRgAnAAAAAwIAAj4AAxEHKBkUIGNcVQAnAAAAAwIAAWAAAQAHY2NjYzIyMjIEAwEZHgUAAAQCGEdMQVNTICAgICA/YzxjPGNaWgAnAAAAAwIAAlAAAQAHYzxjPGNVVQAnAAAAAwIAAkoAAQAHYzxjPGNYWAAnAAAAAwIAA04AAQAHYzxjPGNfXwAnAAAAAwIAAWMAAQAIWjxjPGNQUAAnAAAAAwIAA0YAAgAHYzxjPGNcXAAnAAAAAwIAAV8AAQAHY2NjYzIyMjIABwEmLQgAAAQEGExFQUQgICAgICA/UChjMmNYWAAnAAAAAwIAAlAAAQAHUChjMmNaWgAnAAAAAwIAAVQAAgAGUChjMmNaWgAnAAAAAwIAAVwAAQALUChjMmNaWgAnAAAAAwIAAVwAAQADUChjMmNVVQAnAAAAAwIAAkoAAQAHUChjMmNaWgAnAAAAAwIAAV4AAQAHY2NjYzIyMjIVBwEcFAQAAAQCGFNVUEVSIEZNICA/Y0FGRmM8KAAnAAAAAwIABEoAAQAHY0FGRmM8KAAnAAAAAwIABEoAAQAHY0FGRmM8KAAnAAAAAwIABEYAAgAHYzdGRmNQPAAnAAAAAwIAAloAAQAJYzxGRmNGMgAnAAAAAwIABVQAAQAHYzJGRmNVRgAnAAAAAwIAAmMAAQAHY2NjYzIyMjIBBwEjAAAAAQAAGEJVWlogICAgICA/YzIjMmNQAAAnAAAAAwIAAgAAAQAHYzIjMmNQAAAnAAAAAwIAAgAAAQAHY1AtS2MAAAAnAAAAAwIABTwAAQAHYzQjS2NGAAAnAAAAAwIAAlgAAAAJY0gtS2MeAAAnAAAAAwIABVIAAAAHYzIjS2NGAAAnAAAAAwIAAmMAAAAHY2NjYzIyMjIEAgEjAAAAAQAAGFFVRVJZIEJTICA/Sy0eRmNQUgAnAAAAAwIABFYAAQAHSy0eRmNOUAAnAAAAAwIABEoAAQAJSy0eRmNQUgAnAAAAAwIABFgAAQAMUEZjRmNcYAAnAAAAAwIAAmEAAQAKSy0eRmNQUgAnAAAAAwIABFgAAQAEUEZjRmNcYAAnAAAAAwIAAmMAAQAGY2NjYzIyMjIMBAEjAAAAAQAAGFFVRVJZQlJTICA/YzIjMmNQAAAnAAAAAwIAAgAAAQAHYzIjMmNQAAAnAAAAAwIAAgAAAQAHY1oySGMAAAAnAAAAAwIAB0oAAwAHYzAeSGNLAAAnAAAAAwIAA1wAAAAKY04tSGMeAAAnAAAAAwIAB1oAAAAHYy0eSGNLAAAnAAAAAwIAA2MAAAAHY2NjYzIyMjIEAwEjAAAAAQAAGFNLRVRDSEJTICA/YzIjMmNQAAAnAAAAAwIAAgAAAQAHYzIjMmNQAAAnAAAAAwIAAgAAAQAHY1w3TmMAAAAnAAAAAwIABkYAAwAHYzwoTmM3AAAnAAAAAwMAA1YAAQAJY1IyTmMZAAAnAAAAAwMAB1wAAAAHYzooTmM8AAAnAAAAAwMAA2MAAAAHY2NjYzIyMjIEBAEjAAAAAQAAGFRPTUNBVEJTICA/YzIjMmNQAAAnAAAAAwIAAgAAAQAHYzIjMmNQAAAnAAAAAwIAAgAAAQAHMiMZN1A8LQAnAAAAAwIAAzQAAQAHUCoZN2NaVQAnAAAAAwIAAlgAAAAJNyMZN1VGNwAnAAAAAwIABEgAAAAHUCgZN2NcWAAnAAAAAwIAAmMAAAAHY2NjYzIyMjIEAQEePAMAAAQCGEJSVEhMRVNTICA/YzIjMmNQAAAnAAAAAwIAAgAAAQAHYzIjMmNQAAAnAAAAAwIAAgAAAQAHY188UGMAAAAnAAAAAwIABkIABwAHY0AtUGMyAAAnAAAAAwMAA1QAAQAIY1U3UGMUAAAnAAAAAwMAB1YAAAAHYz4tUGM3AAAnAAAAAwMAA2MAAAAHY2NjYzIyMjIEAwEjAAAAAQAAGENSSVNQIEJTICA/RjxjPmMjIwAnAAAAAwIAAjQABwAHRjxjPmMeHgAnAAAAAwIAAigABAAHNy1jPlpLSwAnAAAAAwIAAzAAAQAHPi1jPmNfXwAnAAAAAwIAAlIAAQAJNy1jPl9QUAAnAAAAAwIAAz4AAgAHPi1jPmNfXwAnAAAAAwIAAmMAAQAHY2NjYzIyMjIEBgEgLQcAAAQDGEVNT1ROSFJQICA/YzIjMmNQAAAnAAAAAwIAAgAAAQAHYzIjMmNQAAAnAAAAAwIAAgAAAQAHY2AyPmMAAAAnAAAAAwQABjwACgAHY0AoPmMAAAAnAAAAAwQABFgAAQAJY1otPmMAAAAnAAAAAwQABlAAAxEHYz4oPmMAAAAnAAAAAwQABGMAAQAHY2NjYzIyMjIEAAEjAAAAAQAAGEJBTkFOQU1SICA/Xy0ZMmNOAAAnAAAAAwMAB1QAAQAHXxISMGNfAAAnAAAAAwMAAmMAAQAOXy0ZMmNOAAAnAAAAAwMAB0oAAQAHXxISMGNfAAAnAAAAAwMAAmMAAQAAYDQjS2NGAAApADcAAAMABzgADgAHYBYWPGNLAAAnAAAAAwMAAmMAAQAHY2NjYzIyMjIEBQEjAAAAAQAAGE9XTFMgRVAgICA/Xy0ZMmNQAAAnAAAAAwMABlYAAQAHXxQUMmNfAAAnAAAAAwMAAmMAAQAMXy0ZMmNQAAAnAAAAAwMABk4AAQAHXxQUMmNfAAAnAAAAAwMAAmMAAQACXzIjTmNIAAApADIAAAMABjIADgAHYBkZPmNOAAAnAAAAAwMAAmMAAQAHY2NjYzIyMjIEBgEcAAIAAAQCGERJVkEgRVAgICA/XyYWLWNVAAAnAAAAAwIABV4AAQAHXxAQLWNfAAAnAAAAAwIAAmMAAQANXyYWLWNVAAAnAAAAAwIABVgAAQAHXxAQLWNfAAAnAAAAAwIAAmMAAQABXy0eRmNOAAApACgAAAIABUIADgAHYBQSN2NSAAAnAAAAAwIAAmMAAQAHY2NjYzIyMjIEBgEiHgQAAAQCGExBR09PTkVQICA/AEGwqgELlgJUSU5FS0VZUwBGVUxMVElORQBQT1AgQkFTUwBIT1VTRSBCUwBTVUIgQkFTUwBUVUJFQ0hJTQBDSElNRVMAAABCUkFTUyA4MABTVFJJTkdTAABNQVJJTUJBAABGTFVURQAAAABQSVBFIE9SRwBPUkdBTgAAAABSRUVEIEhSUABDTEFWSQAAAABQTFVDS0VEAABHTEFTUwAAAABMRUFEAAAAAABTVVBFUiBGTQBCVVpaAAAAAABRVUVSWSBCUwBRVUVSWUJSUwBTS0VUQ0hCUwBUT01DQVRCUwBCUlRITEVTUwBDUklTUCBCUwBFTU9UTkhSUABCQU5BTkFNUgBPV0xTIEVQAABESVZBIEVQAABMQUdPT05FUABB16wBC6sDBAQEBAQABAoKAAAAAAAKCh8KHwoKAAAAAAAAABgZAgQIEwMMEhQIFRINBAQAAAAAAAIECAgIBAIIBAICAgQIAAQVDhUEAAAEBB8EBAAAAAAADAQIAAAAHwAAAAAAAAAADAwAAQIECBAADhETFRkRDgQMBAQEBA4OEQECBAgfHwIEAgERDgIGChIfAgIfEB4BAREOBggQHhERDh8BAgQICAgOEREOEREODhERDwECDAAMDAAMDAAAAAAAAAAAAgQIEAgEAgAAHwAfAAAIBAIBAgQIDhEBAgQABAAAAAAAAAAOEREfERERHhERHhERHg4REBAQEQ4eEREREREeHxAQHhAQHx8QEB4QEBAOERAXEREPERERHxEREQ4EBAQEBA4HAgICAhIMERIUGBQSERAQEBAQEB8RGxUVEREREREZFRMREQ4REREREQ4eEREeEBAQDhERERUSDR4RER4UEhEPEBAOAQEeHwQEBAQEBBEREREREQ4REREREQoEERERFRUVChERCgQKEREREQoEBAQEHwECBAgQHw4ICAgICA4AAAAAAAAADgICAgICDgBBj7ABC9cBHwAAAAAAAAAOEREfERERHhERHhERHg4REBAQEQ4eEREREREeHxAQHhAQHx8QEB4QEBAOERAXEREPERERHxEREQ4EBAQEBA4HAgICAhIMERIUGBQSERAQEBAQEB8AABoVFREREREZFRMREQ4REREREQ4eEREeEBAQDhERERUSDR4RER4UEhEPEBAOAQEeHwQEBAQEBBEREREREQ4REREREQoEERERFRUVChERCgQKEREREQoEBAQEHwECBAgQHwAAAAAAAAAEBAQEBAQEAAAAAAAAAAwSEgwAQfWxAQuiAgICAgACAAAAAAAFBwUHBQAAAAAABQECBAUAAAAAAAICAAAAAgQEBAICAQEBAgAFAgUAAAIHAgAAAAACBAAABwAAAAAAAAIBAQIEBAcFBQUHAgYCAgcGAQIEBwYBAgEGBQUHAQEHBAYBBgMEBwUHBwECAgIHBQcFBwcFBwEGAAIAAgAAAAAAAAECBAIBAAcABwAEAgECBAYBAgACAAAAAAACBQcFBQYFBgUGAwQEBAMGBQUFBgcEBgQHBwQGBAQDBAUFAwUFBwUFBwICAgcBAQEFAgUFBgUFBAQEBAcFBwcFBQYFBQUFAgUFBQIGBQYEBAIFBQYDBgUGBQUDBAIBBgcCAgICBQUFBQcFBQUFAgUFBwcFBQUCBQUFBQICAgcBAgQHAEG1tAELggECBQcFBQYFBgUGAwQEBAMGBQUFBgcEBgQHBwQGBAQDBAUFAwUFBwUFBwICAgcBAQEFAgUFBgUFBAQEBAcABgcFBQYFBQUFAgUFBQIGBQYEBAIFBQYDBgUGBQUDBAIBBgcCAgICBQUFBQcFBQUFAgUFBwcFBQUCBQUFBQICAgcBAgQHAEHGtQELDwIFAgAAAAAAAAAFDwUPCgBB4LUBC03//6P+g/5D/iP+I/7//773nver/iP+I/597zznsEZuHi0eA/7n5YrNorw0bP8rkhwj+2SrosovS2VSw0GGIcEgYRCCCCAAAAAgAAAAIABBwrYBC+uDBQIABAAGAAgACgAMAA4AEAASABQAFgAYABoAHAAeACAAIgAkACYAKAAqACwAOgA8AEYAWABqAHwAmgC8AOoAJAFeAZQBzgEEAj4CdgKwAuYCIANWA3wDqgPoAyQEbgTIBCYFkgXeBT4Gmgb4BmIHvAcSCHAIxggUCWYJsAn2CUgKkgrkCjILcAuqC9wLBgw2DHQMsgz6DDANgg3oDVIOwg5KD9wPbBD0EHQR5BFUErwSIhOYE/wTcBTCFBoVTBVmFYAVpBXKFQAWTBaeFvoWUheiFwAYShiWGNAYChk4GXIZrBnqGTAaahqsGvoaPBuQG/AbPByoHAYdYB2qHeYdJB5aHoAeth74HjYfeB+8HwIgRCCKIMggCiFMIYIhrCHSIewhBiIkIi4iMCI2IjgiOiI8Ij4iQCJCIkQiUiJwIpAiwCL6IjwjfiPAIwIkRCSGJMgkSiXCJXomPicOKOwoxCm8KpwrmCx4LVAuIC/yL8gwoDF2MkgzFjTwNNg14jbMN844qDmMOmo7ODz4PEo9sj20PbY9uD26Pbw9xD3KPdg98j0WPmg+xD40P8Q/SEDoQHRBFEKyQkhD2kN8RBJFskUkRmRGska0RrZGuEa6RrxGvkbARsJGxEbGRshGykbwL/Av8C/wL/Av8C/wL/Av8C/wL/Av8C/wL/Av8C/wL/Av8C/wL/Av8C/wL3MvASwBKAYsASgBLHMv8C9yLwEoCh4BKHIvcC8BLAEvASEKFgEhAS8BLHAvcC8BLAEvASEKFgEhAS8BLHAvcC8BLAEvAR4KFgEeAS8BLHAvXC8BLQElEi8BLAEvAR4KFgEeAS8BLBIvASgBK1wvWy8BJQIvAS0RLwEoAS8BGwoWARsBLwEoES8BLAIvAShbL1kvAikBLwEjAR0BLwEtEC8BKAEvARsKFgEbAS8BKBAvASwBLwEeASYBLwIoWS9XLwEtASUCLwEfARoBGAEdAS8BJQ8vASgBLwEbChYBGwEvASgPLwEoAS8BHgEPARABHgIvASgBLFcvVS8BLQElAi8BHwEaBBgBHwEvASkOLwEsAS8BFwoWARcBLwEsDi8BKAEvASEBEAMPARABIQIvAShWL1cvASABGQYYARoBIwElAS0NLwEsAS8BFwoWARcBLwEsDS8BKwEoASYBEAEPARAEDwEeASFXL1MvAS0BKwEjARwJGAEcAS8BIw0vASwBKAwWASgBLA0vASgBLwEeAQ8BEAMPARACDwEQAR4BJgEsVC9TLwErASMBGgsYAR8BLwEpCy8BLAEvASEMFgEhAS8BLAsvASgBLwEhCA8BEAIPARABJgEsUy9TLwElAS8BHAsYARoBIwEpAS0KLwEsAS8BJgwWASYBLwEsCi8BKwEoASYBEAkPARABDwEeAS8BKFMvUy8BLQEvASAMGAEZAS8BIwovASwBLwEhDBYBIQEvASwKLwEoAS8BHgEPARAJDwEQASYBLwErUy9ULwElAS8BHAwYAR0BLwElCS8BLAEvAR4MFgEeAS8BLAkvASgBLwEeAQ8BEAgPARABDwEeAS8BKFQvVC8BLQErASANGAEfASsBKQgvASwBLwEeDBYBHgEvASwILwEoASwBIQEQCw8BEAEmASwBK1QvVS8BIwEvARkMGAEaAS8BJQgvASgBLwEbDBYBGwEvASgILwEoAS8BEAEPARAIDwEQAQ8BHgEvAShVL1UvASkBLQEfDRgBHQEvASUHLwEoAS8BHgwXAR4BLwEoBy8BKAEvAR4BDwEQCw8BIQErAShVL1YvASUBLwEaDRgBHwEvASkeLwEoAS8BIQsPARABDwEbAS8BKFYvVi8BKQEtAR8NGAEaASABKwEtBy8OLAcvASsBLAEhARABDwEQCw8BIQErAShWL1cvASUBLwEZDBgBGgEfAS0BKQYvASsBJQMjBicDIwElASsGLwEoASsBIQEQAg8BEAcPARABDwEeAS8BKFcvVy8BJQEtAR8LGAEcASIBLwEtAy8BKQIjAS0QLwEtAiMBKQMvASsBLwEmAR4BEAIPARAHDwEhAS8BKFcvWC8CKQEaCBgBGQEfAi8BKwEvASsBIwEnBC8BIAEdARwCGQYUAhkBHAEdASAELwEnASMBKwEvASwCLwEhARACDwEQBQ8BEAIoWC9YLwElAS8BHwYYARoBHwIvASMBLQEnASMDLwEfAR0BGQEUAREBAwECAgEGAgIBAQIBAwERARQBGQEdAR8DLwEjAScBKwEoAi8BHgEQAg8BEAMPAR4BLwEoWC9ZLwEpAS8BGgMYARoBHQIvASUBKQEnASUCLwEgARwBFAERAQIBAQECAQMBCgMRBgsDEQEKAQMBAgEBAQIBEQEUARwBIAIvASUBKQEsASgCLwEeARADDwEQAS8BKFkvRS8BKwEjASsRLwElAS8BHwIYARwBIAEvASkBJQErASMCLwEfARkBEQEBAQIBBAIRAQsBCg4EAQoBCwIRAQQBAgEBAREBGQEfAi8BIwErASgBLAEvASYBHgEQAQ8BIQEvASgRLwErASMBK0UvSC8BIwErES8BLQEdAR8CLwElAS0BIwIvAR8BGQELAQEBAwIRAQoWBAEKAhEBAwEBAQsBGQEfAi8BIwEvASgCLwEhAR4SLwErASNIL0IvAisBIAEUARwBIgIvASMBKw8vAS0CLwElAS0BKwEpAS8BIAEZAQsBAgEEAREBChwEAQoBEQEEAQIBCwEZASABLwEpAisBKAIvASsPLwErASMCLwEiARwBFAEgAitCL0IvASMBLwEZAQEBAgEUARkBIAIvASMBKQ4vASUBKQEvASMCLwEcAREBAQEEAREiBAERAQQBAQERARwCLwEjAS8CKA4vASkBIwIvASABGQEUAQIBAQEZAS8BI0IvQS8BKQEnAR8BEQELAREBAwEBAREBGQEgAi8BJQEnDi8BIwEvASABFAEBAQMBESYEAREBAwEBARQBIAEvASMOLwEnASUCLwEgARkBEQEBAQMBEQELAREBHwEnASlBL0EvASMBLwEZAQEBEQEEAQoBEQEDAQEBEQEZAR8CLwEjAScKLwEtAScBLwEdAREBAgERAQooBAEKAREBAgERAR0BLwEnAS0KLwEnASMCLwEfARkBEQEBAQMBEQEKAQQBEQEBARkBLwEjQS9ALwEnASsBHwILBAQBCgERAQMBAQERARkBHwIvAiUHLwErAScBLwEcAgMBESwEARECAwEcAS8BJwErBy8CJQIvAR8BGQERAQEBAwERAQoEBAILAR8BKwEnQC9ALwElAS8BFAECAREGBAEKAREBBAECAQsBGQEfCC8BKwElAS8BGQEBAgsuBAILAQEBGQEvASUBKwgvAR8BGQELAQIBBAERAQoGBAERAQIBFAEvASVALz8vASUBLwEdAQIBCwoEAREBBAEBAREBFAEdASMBKwMvASsBJQEvARkBAQERAQowBAEKAREBAQEZAS8BJQErAy8BKwEjAR0BFAERAQEBBAERCgQBCwECAR0BLwElPy8+LwIrASIBFAEDAQoMBAERAQQBAgEBARwBLwElAS8BKwEnAS8BGQEBARE0BAERAQEBGQEvAScBKwEvASUBLwEcAQEBAgEEAREMBAEKAQMBFAEiAis+Lz4vASUBLwEdAQEBBAERDQQBCgIRAR8BLwEnAS8BIwEvARkBAQERNgQBEQEBARkBLwEjAS8BJwEvAR8CEQEKDQQBEQEEAQEBHQEvASU+Lz8vASkBIgEdAREBAgERAQoLBAERAQEBGQEvASUBLwEjAS8BHAEBARE4BAERAQEBHAEvASMBLwElAS8BGQEBARELBAEKAREBAgERAR0BIgEpPy9CLwEfARQBAgEEAQsJBAEKAQMBEQEgASkBKwElAS8BHQECAQs6BAELAQIBHQEvASUBKwEpASABEQEDAQoJBAELAQQBAgEUAR9CL0EvASMCLwEcAgMBEQgEAREBAQEcAS8BIwIrASABEQEDAQs6BAELAQMBEQEgAisBIwEvARwBAQERCAQBEQIDARwCLwEjQS9CLwInAS8BHwEUAQEBCwEKBQQBCwECARQBIgEnASsBIwEvARQBAgERPAQBEQECARQBLwEjASsBJwEiARQBAgELBQQBCgELAQEBFAEfAS8CJ0IvRC8BIwEvASABGQECAQMBEQQEAQsBAgEdAS8CJQEvARwBAQERPgQBEQEBARwBLwIlAS8BHQECAQsEBAERAQMBAgEZASABLwEjRC9FLwElAi8BHQERAQIBEQEKAQQBEQECARQBLwElASkBKwEgAREBAwEKPgQBCgEDAREBIAErASkBJQEvARQBAgERAQQBCgERAQIBEQEdAi8BJUUvRi8BKwEjAS8BIAEUAQEBBAERAQoBCwEfAS8BJwElAS8BGQEBARFABAERAQEBGQEvASUBJwEvAR8BCwEKAREBBAEBARQBIAEvASMBK0YvSC8BIwIvARwBEQEDAQIBGQEvASUBJwErAR8BEQEKQgQBCgERAR8BKwEnASUBLwEZAQIBAwERARwCLwEjSC9JLwErAScBLwEfARQBEQEgAisBJQEvARkBAQERQgQBEQEBARkBLwElAisBIAERARQBHwEvAScBK0kvSy8BIwEvASIBHQEvASsBKQErAR8BEQEKRAQBCgERAR8BKwEpASsBLwEdASIBLwEjSy9MLwEnAi8BKwEvASMBLwEZAQEBEUQEAREBAQEZAS8BIwEvASsCLwEnTC9NLwErASUBLwErAS8BHwERAQsGBBMKFAQTCgUEAQoBBAERAR8BLwErAS8BJQErTS9QLwEpASsBHwERAQIBEQIEAQoBEQEEEwMBBAERAQsOBAEKAREBBBMDAQQBEQELAgQBEQEDAREBHwErASlQL1EvAScBLwEfAREBAQELAREBAwEBAQsTEQELAQIBAwERDAQBEQEDAQEBCxMRAQsBAgEDAhECAwEcAS8BJVEvUS8BJwEjAS8BIAEUAQIBAQEUARwBHxMgAR8BHAEUAQIBBAEKCQQBEQEBARQBHAEfEyABHwEcARQBAgEBARQBHQEvASMBJVEvUy8BIwIvARwBGQEgAi8CLBMvASMBGQEDAQoBEQgLAQIBFAEgAi8CLBMvASMCGQEgAS8BI1MvTy8BJwEvARwBHQEvASUBJwMvASMBLQIvASQQKwEnASMBKwEvARkBAQEDBgIBAwECARQCLwEjAS0CLwEkECsBJwEjBC8BIwEvASABHQEvAStPL0YvAisBLAMoAy8BJwEjARQBAgEcAi8BJQEjASsBLwEnARsBHAEvASQRLwErASMBLwEfCB0BHwElASsBJwEvAScBGwEcAS8BJBEvASsCIwEtAS8BHQERARQBIwEnAy8DJQEpAi1GLzsvASwBKwQoASYEKAgvASsBLwEgAREBBAEBARkBIgEnAS8BIgEvARsBAAEGARsBLwEiHy8BIgEvARsBAAEGARsBLwEiES8BLQEpASIBHAELAQIBEQEgAS8BKwgvAikBJQMjAiUBKQItOy9GLwImASECHgEhASwBKwElAS8BHQEDAQsBEQEBAR0BLwElASQBLwEcAQcBDAEGARsBLwEiEi8BKQkvAS0BLwEkAS8BHAEHAQwBBgEbAS8BIhAvASsBLwEgAQQBAwERAQMBHQEvASUBLQEpAx8DIEYvOi8BKAImASEFHgYQAg8BEAEvASgBIwEvARwBAgERAQsBAwEdAS8BJQEvAScBLwEbAQYBCAEGARsBLwEiES8BIwgdASABLwErAS8BJwEvARsBBgEIAQYBGwEvASIPLwErAS8BIAERAQMBEQECARwBLwEjASkBLwEaBRgDGgIcAR0DHwIgASM6LzgvASgBLwEhAhAMDwEQAQ8BEAEvASgBIwEvARkBAQERAQsBAgEdAS8BJQIvASQBLwEbAQYBCAEGARsBLwEnDi8BKwEvASABEQECAQMDAgEDAQEBHQEvASUCLwEkAS8BGwEGAQgBBgEbAS8BJw4vASsBLwEgAREBAwERAQEBGQEvASMBKQEvARoQGAEfAS8BJTgvOC8BKAEvAR4FDwQQBw8BEAEvASgBIwEvARkBAQERAQsBAgEdAS8BJQMvASIBLwEbAQYBCAEGARsBKgEnDS8BKwEvASABEQEEAREDCwERAQMBHQEvASUDLwEiAS8BGwEGAQgBBgEbASoBJw0vASsBLwEgAREBAwERAQEBGQEvASMBKQEvARoQGAEfAS8BJTgvOC8BKAEvAR4BDwEQDg8BEAEvASgBJwEvARQBAgILAQIBHQEvASUELwEiAS8BGwIGAQgBIAEvASoMLwErAS8BIAERAQMBCgMEAQsBAgEdAS8BJQQvASIBLwEbAgYBCAEgAS8BKgwvASsBLwEgAREBAwERAQIBFAEvAiUBLwEaEBgBHwEvASU4LzgvASgBLwEeEA8BEAEvASgBJwEvARQBAgILAQIBHQEvASUFLwEiAS8BGwEMARUBIgEnDS8BKwEvASABEQEDAQoDBAELAQIBHQEvASUFLwEiAS8BGwEMARUBIgEnDS8BKwEvASABEQEDAREBAgEUAS8CJQEvARoQGAEfAS8BJTgvOC8BKAEvAR4QDwEQAS8BKAEnAS8BFAECAgsBAgEdAS8BJQYvAScBLwEgEC8BKwEvASABEQEDAQoDBAELAQIBHQEvASUGLwEnAS8BIBAvASsBLwEgAREBAwERAQIBFAEvAiUBLwEaEBgBHwEvASU4LzgvASgBLwEeEA8BEAEvASgBJwEvARQBAgILAQIBHQErASUHLwEnAS8BKg8vASsBLwEgAREBBAEKAwQBCwECAR0BKwElBy8BJwEvASoPLwErAS8BIAERAQQBEQECARQBLwIlAS8BGhAYAR8BLwElOC84LwEoAS8BHhAPARABLwEoAScBLwEUAQIBCwERAQEBGQEvASMILwEqEC8BIwEpAR0BAgERBAQBEQEBARkBLwEjCC8BKhAvASMBKQEdAQIBEQELAQIBFAEvAiUBLwEaEBgBHwEvASU4LzgvASgBLwEeAQ8BEA4PARABLwEoAScBLwEUAQIBCwEKAQMBEQEgASMBKRgvASMBLwEUAQIBCwQEAQoBAwERASABIwEpGC8BIwEvARQBAgILAQIBFAEvAiUBLwEaEBgBHwEvASU4LzgvASgBLwEeBQ8EEAcPARABLwEoASMBLwEZAQEBEQEEAREBAgEZAS8BIwElFC8BLQEnASMBLwEcAQIBCwYEAREBAgEZAS8BIwElFC8BLQEnASMBLwEcAQIBCwEEAREBAQEZAS8BIwEpAS8BGhAYAR8BLwElOC84LwEoAS8BIQIQDA8BEAEPARABLwEoASMBLwEZAQEBEQIEAQoBAwEcAy8TJwMvARwBAgIKBwQBCgEDARwDLxMnAy8BHAECAgoBBAERAQEBGQEvASMBKQEvARoQGAEfAS8BJTgvOi8BKAImASEFHgYQAg8BEAEvASgBIwEvARwBAgERAwQBCgECARQBHQEjEy8BIwEfARkBAwEEAQoJBAEKAQIBFAEdASMTLwEjAR8BGQEDAQQBCgIEAREBAgEcAS8BIwEpAS8BGgUYAxoCHAEdAx8CIAEjOi9GLwImASECHgEhASwBKwElAS8BHQEDAQsEBAERAQIBAxUUAQQBAgEKAQULBAERAQIBAxUUAQQBAgEKAQUDBAELAQMBHQEvASUBLQEpAx8DIEYvOy8BLAErBCgBJgQoCC8BKwEvASABEQEEAQoEBAELAQoBAxMCAQMBBAERDgQBCwEKAQMTAgEDAQQBEQQEAQoBBAERASABLwErCC8CKQElAyMCJQEpAi07L0YvAisBLAMoAy8BKwEjARQBAgELBgQVCxIEFQsGBAELAQIBFAEjASsDLwMlASkCLUYvTy8BIwEvARkBAQERSAQBEQEBARkBLwEjTy9PLwElAS8BHQECARFIBAERAQIBHQEvASVPL08vASsBLwEgAREBBAEKMAQDCwEKEgQBCgEEAREBIAEvAStPL1AvAScBLwEUAQIBCy8EAQoBAwICAQQBBREEAQsBAgEUAS8BJ1AvUC8BIwEvARwBAQERIAQBCgELAQoKBAEKAREBAgEUAR0BHAERAQQBChAEAREBAQEcAS8BI1AvTS8BLgEsAS8BKwEvASABEQEDAQoeBAEKAQQBAgEEAhEFCwIRAQsBAwEBAREBIgIvARwBAgELDwQBCgEDAREBIAEvASsBLwEsAS5NL0wvASwCLwEuAS8BIwEvARkBAQERHQQBCgEDAREBFAERAgEBAwUCAQEBAgERARQBHwEvASIBLwEfAQIBCw8EAREBAQEZAS8BIwEvAS4CLwEsTC9LLwEoAS8BJgEeAS8BLAEpASsBHwERAQocBAEKAQMBEQEfAS8BHwEcARkFFAEZARwBHQEgAi8BIwEvASABFAECAQsPBAEKAREBHwErASkBLAEvAR4BJgEvAShLL0kvAiwBLwEhAhYBIQIsASUBLwEZAQEBERsEAREBAQEcAS8BIgMvASADLwEjASICLwErASUCLwEfARQBAgELDwQBEQEBARkBLwElAiwBIQIWASEBLwIsSS9ILwEoAi8BHgMWARsBLwEsAScBKwEfAREBChsEAQsBAgEUBi8DIwEpBS8BHwEZAQsBAgELEAQBCgERAR8BKwEnASwBLwEbAxYBHgIvAShIL0YvAS4BKAEvASEBFwUWASEBLwEsASUBLwEZAQEBERsEAQoBAgEZAh0BHwEgBS8CIAEdARkBFAELAQEBBAELEAQBEQEBARkBLwElASwBLwEhBRYBFwEhAS8BKAEuRi9FLwEsAi8BHgcWARcBLwEsAisBIAERAQMBChwEAwICEQUUAhEBAwEBAQIBBAEREQQBCgEDAREBIAIrASwBLwEXBxYBHgIvASxFL0QvASgBLwEmARsJFgEeAS8BLAElAS8BHAEBAREcBAMLAQQBAwUCAgMBCgERAQsTBAERAQEBHAEvASUBLAEvAR4JFgEbASYBLwEoRC9CLwIsAS8BIQwWASYCLAEjAS8BFAECAREeBAIKBQsCChUEAREBAgEUAS8BIwIsASYMFgEhAS8CLEIvQS8BKAIvAR4NFgEeAS8BKAEpASsBIAERAQMBCzoEAQsBAwERASABKwEpASgBLwEeDRYBHgIvAShBL0IvASEBFw8WASECLAElAS8BHQECAQs6BAELAQIBHQEvASUCLAEhDxYBFwEhQi8/LwEsASYBHhEWARsBLwEoAS8BIwEvARwBAQEROAQBEQEBARwBLwEjAS8BKAEvARsRFgEeASYBLD8vPi8BLAEvAR4TFgEhAS8BLAEvASMBLwEZAQEBETYEAREBAQEZAS8BIwEvASwBLwEhExYBHgEvASw+Lz4vAS4BLAEmExYBGwEvASwBLwErAScBLwEZAQEBETQEAREBAQEZAS8BJwErAS8BLAEvARsTFgEmASwBLj4vPy8BKAEvAR4QFgEXAR4BKAEuAy8BKwElAS8BGQEBAREBCjAEAQoBEQEBARkBLwElASsDLwEuASgBHgEXEBYBHgEvASg/L0AvASwBLwEXDRYBGwEhCC8BKwElAS8BGQEBAgsuBAILAQEBGQEvASUBKwgvASEBGw0WARcBLwEsQC9ALwEsAS4BIQsWARsBIQIvAiwHLwErAScBLwEcAgMBESwEARECAwEcAS8BJwErBy8CLAIvASEBGwsWASEBLgEsQC9BLwEoAS8BGwgWARsBIQIvASgBLAovAS0BJwEvAR0BEQECAREBCigEAQoBEQECAREBHQEvAScBLQovASwBKAIvASEBGwgWARsBLwEoQS9BLwIsASEGFgEbASECLwIsDi8BIwEvASABFAEBAQMBESYEAREBAwEBARQBIAEvASMOLwIsAi8BIQEbBhYBIQIsQS9CLwEoAS8BGwMWARsBIQIvASgBLA4vASUBKQEvASMCLwEcAREBAQEEAREiBAERAQQBAQERARwCLwEjAS8CKA4vASwBKAIvASEBGwMWARsBLwEoQi9CLwIsASEBFwEeASYCLwEoASwPLwEtAi8BJQEtASsBKQEvASABGQELAQIBBAERAQocBAEKAREBBAECAQsBGQEgAS8BKQIrASgCLwErDy8BLAEoAi8BJgEeARcBIQIsQi9ILwEoASwRLwEtAR0BHwIvASUBLQEjAi8BHwEZAQsBAQEDAhEBChYEAQoCEQEDAQEBCwEZAR8CLwEjAS8BKAIvASEBHhIvASwBKEgvRS8BLAEoAS4RLwElAS8BHwIYARwBIAEvASkBJQErASMCLwEfARkBEQEBAQIBBAIRAQsBCg4EAQoBCwIRAQQBAgEBAREBGQEfAi8BIwErASgBLAEvASYBHgEQAQ8BIQEvASgRLwEuASgBLEUvWS8BKQEvARoDGAEaAR0CLwElASkBJwElAi8BIAEcARQBEQECAQEBAgEDAQoDEQYLAxEBCgEDAQIBAQECAREBFAEcASACLwElASkBLAEoAi8BHgEQAw8BEAEvAShZL1gvASUBLwEfBhgBGgEfAi8BIwEtAScBIwMvAR8BHQEZARQBEQEDAQICAQYCAgEBAgEDAREBFAEZAR0BHwMvASMBJwErASgCLwEeARACDwEQAw8BHgEvAShYL1gvAikBGggYARkBHwIvASsBLwErASMBJwQvASABHQEcAhkGFAIZARwBHQEgBC8BJwEjASsBLwEsAi8BIQEQAg8BEAUPARACKFgvVy8BJQEtAR8LGAEcASIBLwEtAy8BKQIjAS0QLwEtAiMBKQMvASsBLwEmAR4BEAIPARAHDwEhAS8BKFcvVy8BJQEvARkMGAEaAR8BLQEpBi8BKwElAyMGJQMjASUBKwYvASgBKwEhARACDwEQBw8BEAEPAR4BLwEoVy9WLwEpAS0BHw0YARoBIAErAS0HLwErAycGJQMnASsHLwErASwBIQEQAQ8BEAsPASEBKwEoVi9WLwElAS8BGg0YAR8BLwEpHi8BKAEvASELDwEQAQ8BGwEvAShWL1UvASkBLQEfDRgBHQEvASUHLwElAS8BHAwUARwBLwElBy8BKAEvAR4BDwEQCw8BIQErAShVL1UvASMBLwEZDBgBGgEvASUILwEjAS8BHAEBAQMIAgEDAQEBHAEvASMILwEoAS8BEAEPARAIDwEQAQ8BHgEvAShVL1QvAS0BKwEgDRgBHwErASkILwElAS8BHQEDAREICwERAQMBHQEvASUILwEoASwBIQEQCw8BEAEmASwBK1QvVC8BJQEvARwMGAEdAS8BJQkvASUBLwEdAQIBCwgEAQsBAgEdAS8BJQkvASgBLwEeAQ8BEAgPARABDwEeAS8BKFQvUy8BLQEvASAMGAEZAS8BIwovAScBLwEfAREBBAEKBgQBCgEEAREBHwEvAScKLwEoAS8BHgEPARAJDwEQASYBLwErUy9TLwElAS8BHAsYARoBIwEpAS0KLwErAS8BIAERAQMBCgYEAQoBAwERASABLwErCi8BKwEoASYBEAkPARABDwEeAS8BKFMvUy8BKwEjARoLGAEfAS8BKQsvASsBLwEgAREBAwEKBgQBCgEDAREBIAEvASsLLwEoAS8BIQgPARACDwEQASYBLFMvUy8BLQErASMBHAkYARwBLwEjDS8BKwEjARQBAgELBgQBCwECARQBIwErDS8BKAEvAR4BDwEQAw8BEAIPARABHgEmASxUL1cvASABGQYYARoBIwElAS0NLwEnAS8BFAECAQsGBAELAQIBFAEvAScNLwErASgBJgEQAQ8BEAQPAR4BIVcvVS8BLQElAi8BHwEaBBgBHwEvASkOLwEnAS8BFAECAQsGBAELAQIBFAEvAScOLwEoAS8BIQEQAw8BEAEhAi8BKFYvVy8BLQElAi8BHwEaARgBHQEvASUPLwEjAS8BGQEBAREGBAERAQEBGQEvASMPLwEoAS8BHgEPARABHgIvASgBLFcvWS8CKQEvASMBHQEvAS0QLwEjAS8BGQEBAREGBAERAQEBGQEvASMQLwEsAS8BHgEmAS8CKFkvWy8BJQIvAS0RLwEjAS8BGQEBAREGBAERAQEBGQEvASMRLwEsAi8BKFsvXC8BLQElEi8BJQEvAR0BAgELBgQBCwECAR0BLwElEi8BKAErXC9wLwElAS8BHQECAQsGBAELAQIBHQEvASVwL3AvAScBLwEfAQsBEQYLAREBCwEfAS8BJ3AvcC8BKwEvASABEQECAQMEAgEDAQIBEQEgAS8BK3Avci8BIwodASNyL/Avcy8KJXMv8C/wL/Av8C/wL/Av8C8rLwIqPy8CKh8vASpiLyovAScCLwEkPS8BJAIvASQcLwEnASoBLwEnASpgLykvASoBLwEqASA9LwEqAS8CIAEvASoaLwEqAi8BIGIvKC8BJwEvAR4CDQEVAic5LwEnAS8BGwINARsBLwEnGC8BJwEvAR4CDQEVASECKl4vJy8CKgEiAQ0BAAEIAQABGwEvASQ3LwEnAS8BHgQHAR4BLwEnFi8CKgEiAQ0BAAEMAQABFQEvASReLycvASoBLwEgAQ0BCAEMAQYBFQEvASI3LwEkAS8BHAEGAgwBBgEcAS8BJBYvASoBLwEgAQ0BCAEMAQYBDQEvASdeLycvASoBLwEgAQ0BBwEMAQYBHAEvASQ3LwEkAS8BHgEGAQwBBwENASEBLwEqFy8BJwEqAQ0BAAEMAQABFQEvASJeLycvASoBLwEgAQ0BBwEMAQYBHgEvASQ3LwEkAS8BHgEGAQwBBwENASABLwEqFy8BJwEvAQ0BAAEMAQABFQEvASJeLycvASoBLwEgAQ0BBwEMAQYBHgEvASQ3LwEkAS8BHgEGAQwBBwENASABLwEqFy8BJwEvAQ0BAAEMAQABFQEvASJeLycvASoBLwEgAQ0BBwEMAQYBHgEvASQ3LwEkAS8BHgEGAQwBBwENASABLwEqFy8BJwEvAQ0BAAEMAQABFQEvASJeLycvASoBLwEgAQ0BBwEMAQYBHgEvASQ3LwEkAS8BHgEGAQwBBwENASABLwEqFy8BJwEvAQ0BAAEMAQABFQEvASJeLycvASoBLwEgAQ0BBwEMAQYBHgEvASQ3LwEkAS8BHgEGAQwBBwENASABLwEqFy8BJwEvAQ0BAAEMAQABFQEvASJeLycvASoBLwEgAQ0BBwEMAQYBHgEvASQCLwEqASQEIgEkASoQLwEkASIBJBMvASQBIgEnBC8BJAEvAR4BBgEMAQcBDQEgAS8BKgIvAScBJAQiAScBKg0vAScBLwENAQABDAEAARUBLwEiAi8BKgEkBCIBJAEqGS8BJwEkBCIBJwEqMy8nLwEqAS8BIAENAQcBDAEGAR4BLwIkAScILwEnASQNLwEqAy8BKhUvASoDLwEkAS8BHgEGAQwBBwENASABLwEnASQBKggvASQBJwsvAScBLwENAQABDAEAARUBLwEiAiQILwEnASQBKhMvASoBIgEqCC8BIgEnMS8nLwEqAS8BIAENAQcBDAEGAR4BJwEiAi8BIQEeARsCFQEbAR4BIQIvASoBJwovASoBLwEeARUBHgEvASoOLwIqAS8BGwEVAR4BLwEqAi8BJAEvAR4BBgEMAQcBDQEgASQDLwEfARwBGwIVARsBHgEgAi8BJAEqCS8BJwEvAQ0BAAEMAQABFQEnASICLwEgAR4BGwIVARsBHAEfAy8BJxEvASQDLwEeARwDFQEbAR4BIgIvASQBKi8vJy8BKgEvASABDQEHAQwBBgEcAi8BHAEVAQ0BBgQAAQYBDQEVARwCLwEkCC8BJAEvARwBBgEAAQYBHAEvASQNLwEkASoBFQIAAQ0BHgEqAScBLwEkAS8BHgEGAQwBBwENASEBLwEiARsBDQEMAQYEAAEHAQ0BFQEeAi8BJwgvAScBLwENAQABDAEAARUCLwEcARUBDQEGBQABDQEVARsBIgEvASQOLwEqAScBLwEhARsBDQEIBQABBwENARUBHgIvAScuLycvASoBLwEgAQ0BBwEMAQABHgEfAQ0BBgEAAQcGDAEHAQABBgEVAR4BLwEkBy8BJwEvAQ0BAAENAQABDQEvAScMLwEqAS8BIAENAQgBDQEAARUBLwEiAS8BJAEvAR4BBgEMAQcBDQEvARwBDQEAAQYBCAUMAQgBBwEAAQgBFQEgAS8BJAcvAScBLwENAQABDAEAARsBHwENAQYBAAEHBgwBBwIAAQ0BHAEvAScMLwEqAi8BGwENAQABBgEIBQwBCAEHAQABCAEVASABLwEkLS8nLwEqAS8BIAENAQcBCAEHARUBDQEAAwwBCAEGAgABBgEIAwwBAAENARwBLwEkBi8BJAEvARUBBgEMAQYBDQEvAScMLwEqAS8BIAENAQcBDAEGARsBLwEkAS8BJAEvAR4BBgEMAQcBDQEVAQcBBgMMAQgBBgIAAQcBCAIMAQgBAAENAR4BLwEkBi8BJwEvAQ0BAAEMAQcBFQENAQADDAEIAQcCAAEGAQgDDAIGARsBLwEkASoJLwIqASABFQEAAQcDDAEHAQYBAAEGAQcBCAIMAQgBAAENAR4BLwEnLC8nLwEqAS8BIAENAQcCCAEGAQcCDAEHAQABCAQNAQgBAAEHAgwBBwEAARsBLwEkBS8BIgEvARsBAAEMAQABDQEvAScMLwEqAS8BIAENAQcBDAEGAR4BLwEkAS8BJAEvAR4BBgEMAggBAAEIAgwBBgEAAQwEDQEHAQABCAIMAQYBDQEeAS8BJwUvAScBLwENAQABDAEIAgcCDAEHAQABCAQNAQwBAAEGAwwBAAEVAS8BJAgvASoBJwEgAQ0BAAMMAQABBgUNAQcBAAEIAgwBBgENAR4BLwEnKy8nLwEqAS8BIAENAQcCCAEMAQgBDAEAAQ0BFQEeASICLwEiAR4BFQENAQACDAEIAQcBHgEvAScELwEiAS8BFQEAAQwBAAENAS8BJwwvASoBLwEgAQ0BBwEMAQYBHAEvASQBLwEkAS8BHgEGAQwCCAIMAQgBAAENARsBHwMvASABHgEVAQgBBgIMAQYBDQEgAScBKgQvAScBLwENAQABDAEIAQwBCAEMAQABDQEVAR4BIAIvASIBHwEbAQ0BAAEIAgwBAAEbAS8BJAcvASQBLwEVAQACDAEHAQYBDQEcASEDLwEgAR4BFQEIAQYCDAEGAQ0BIAEnASoqLycvASoBLwEgAQ0BBwMIAQwBAAEVASEDLwInAy8BIQEVAQACDAEHAQ0BIAEnASoDLwEiAS8BFQEAAQwBAAENAS8BJwwvASoBLwEgAQ0BBwEMAQYBHgEvASQBLwEkAS8BHgEGAQwECAEGARUBIgIvASoCJwMvAR4BDQEAAgwBAAEVAS8BJAQvAScBLwENAQABDAIIAQwBAAEVASEDLwInAy8BIgEVAQYBCAEMAQgBBwEeAS8BJwUvASQBLwEbAQACDAEHAQ0BHAMvASoCJwMvAR4BDQEAAgwBAAEVAS8BJCovJy8BKgEvASABDQEHAggBDAEAARUCLwEiAScBKgIvASoBJwEiAi8BFQEAAgwBAAEVAS8BJAMvASIBLwEVAQABDAEAAQ0BLwEnDC8BKgEvASABDQEHAQwBBgEeAS8BJAEvASQBLwEeAQYBDAMIAQYBGwEvASoBIgEqAy8BKgEnASIBLwEgAQ0BBgIMAQYBHgEvASQDLwEnAS8BDQEAAQwBCAEMAQABFQIvASIBJwEqAi8CKgEiASoBLwEbAQYBCAEMAQYBDQEvAScELwIqASEBDQEHAQwBBwENAR4BLwIkASoDLwEqAScBIgEvASABDQEGAgwBBgEeAS8BJCkvJy8BKgEvASABDQEHAQgBDAEGAQ0BKgEkAScILwEnASQBKgENAQYBDAEHAQ0BIQEvASoCLwEiAS8BFQEAAQwBAAENAS8BJwwvASoBLwEgAQ0BBwEMAQYBHgEvASQBLwEkAS8BHgEGAQwBCAEMAQABFQEvASIBKggvASIBLwEfAQwBBwEMAQYBDQInAy8BJwEvAQ0BAAIMAQYBDQEqASQBJwgvASoBIgEvARUBAAIMAQcBHgEvASQDLwEiAS8BFQEAAgwBBgEcAS8BIgkvASIBLwEfAQwBBwEMAQYBDQInKS8nLwEqAS8BIAENAQcBCAEMAQcBHgEvASQKLwEkAS8BHgEHAQgBDAEAARsBLwEiAi8BIgEvARUBAAEMAQABDQEvAScMLwEqAS8BIAENAQcBDAEGAR4BLwEkAS8BJAEvAR4BBgEMAQgBBwENASABJAEqCi8BIgEvARUBAAEMAggBHgEvAScCLwEnAS8BDQEAAgwBBwEeAS8BJAovASoBJAEgAQ0BBwEMAQABFQEvASQDLwEqASIBDQEHAQwBBgEVAS8BIgsvASIBLwEVAQABDAIIAR4BLwEnKC8nLwEqAS8BIAENAQcBDAEGAQ0BLwEnDC8BJwEvAQ0BBgEMAQABFQEvASQCLwEiAS8BFQEAAQwBAAENAS8BJwwvASoBLwEgAQ0BBwEMAQYBHAEvASQBLwEkAS8BHgEGAgwBAAEVAS8BIgsvAioBIQENAQcBDAEAARsBLwEiAi8BJwEvARUBAAEMAQYBDQEvAScMLwEiAS8BFQEAAQwBBwENASIBKgIvAScBLwEeAggBDAEGARwBKgEkCy8BJwEqASEBDQEHAQwBAAEbAS8BIigvJy8BKgEvASABDQEHAQwBAAEVAS8BIgwvASIBLwEVAQABDAEGAQ0BIgEqAi8BIgEvARUBAAEMAQABDQEvAScMLwEqAS8BIAENAQcBDAEGAR4BLwEkAS8BJAEvAR4BBgIMAQYBHgEqASQMLwEnAS8BFQEAAQwBAAEVAS8BIgIvASoBIgENAQYBDAEAARUBLwEiDC8BJAEqAR4BBgEMAQgBDAEfAS8BJwEvASQBLwEcAQABDAEHAQ0BIAEvASoMLwEnAS8BFQEAAQwBAAEVAS8BIigvJy8BKgEvASABDQEHAQwBBgEcAS8BJAwvASQBLwEcAQYBDAEHAQ0BIAEvASoBLwEiAS8BFQEAAQwBAAENAS8BJwwvASoBLwEgAQ0BBwEMAQYBHAEvASQBLwEkAS8BHgEGAQwBBwENASEBLwEqDC8BIgEvARUBAAEMAQABDQEvAScBLwEqAS8BIAENAQcBDAEAARUBLwEiDC8BKgEvASEBDQEHAQwBBgEcAS8BJAEvASIBLwEVAQABDAEGAQ0BKgEnDS8BJwEiAQ0BBgEMAQABDQEvAScoLycvASoBLwEgAQ0BBwEMAQYBHgEvASQMLwEkAS8BHgEGAQwBBwENASABLwEqAS8BJwEvAQ0BAAEMAQABDQEqAScMLwEqAS8BIAENAQcBDAEAARUBLwEiAS8BJAEvAR4BBgEMAQcBDQEgAS8BKgwvASIBLwEVAQABDAEAAQ0BLwEnAS8BKgEvASABDQEHAQwBAAEVAS8BIgwvASoBLwEgAQ0BBwEMAQYBHgEvASQBLwEiAS8BFQEAAQwBAAENAS8BJwwvASoBLwEhAQ0BBwEMAQABDQEvAScoLycvASoBLwEgAQ0BBwEMAQYBHAEvASQMLwEkAS8BHAEGAQwBBwENASABLwEqAS8BJAEvARUBAAEMAQABFQEvAScMLwEqAS8BIAENAQcBDAEGARwBLwEkAS8BJAEvAR4BBgEMAQcBDQEhAS8BKgwvASIBLwEVAQABDAEAAQ0BLwEnAS8BKgEvASABDQEHAQwBAAEVAS8BIgwvASoBLwEhAQ0BBwEMAQYBHAEvASQBLwEiAS8BFQEAAQwBBgENASoBJw0vAScBIgENAQYBDAEAAQ0BLwEnKC8nLwEqAS8BIAENAQcBDAEAARUBLwEiDC8BIgEvARUBAAEMAQYBDQEiASoCLwEiAS8BGwEGAQwBBwENASECKgsvASQBKgEeAQcBCAEMAQYBHgEvASQBLwEkAS8BHgEGAgwBBgEeASoBJAwvAScBLwEVAQABDAEAARUBLwEiAi8BKgEiAQ0BBgEMAQABFQEvASIMLwEkASoBHgEGAQwBCAEMAR8BLwEnAS8BJAEvARwBAAEMAQcBDQEgAS8BKgwvAScBLwENAQABDAEAARUBLwEkKC8nLwEqAS8BIAENAQcBDAEGAQ0BLwEnDC8BJwEvAQ0BBgEMAQABFQEvASQCLwEkAS8BHAEGAgwBAAEbAScBIgsvASIBLwEVAQACDAEGARwBLwEkAS8BJAEvAR4BBgIMAQABFQEvASILLwIqASEBDQEHAQwBAAEbAS8BIgIvAScBLwEVAQABDAEGAQ0BLwEnDC8BIgEvARUBAAEMAQcBDQEiASoCLwEnAS8BHgIIAQwBBgEcASoBJAsvAScBKgEhAQ0BBwEMAQABFQEvASIoLycvASoBLwEgAQ0BBwEIAQwBBwEeAS8BJAovASQBLwEeAQcBCAEMAQABGwEvASICLwEqAS8BIQENAQcBDAEGARUBLwEiCi8BJwEqASEBDQIIAQwBBgEeAS8BJAEvASQBLwEeAQYBDAEIAQcBDQEgASQBKgovASIBLwEVAQABDAIIAR4BLwEnAi8BJwEvAQ0BAAIMAQcBHgEvASQKLwEqASQBIAENAQcBDAEAARUBLwEkAy8BKgEiAQ0BBwEMAQYBFQEvASILLwEiAS8BFQEAAgwBAAEVAS8BIigvJy8BKgEvASABDQEHAQgBDAEGAQ0BKgEkAScILwEnASQBKgENAQYBDAEHAQ0BIQEvASoDLwEnAS8BFQEGAQwBCAEHARwBLwEiCC8CJwEvARUBBwEMAQgBDAEGAR4BLwEkAS8BJAEvAR4BBgEMAQgBDAEAARUBLwEiASoILwEiAS8BHwEMAQcBDAEGAQ0CJwMvAScBLwENAQACDAEGAQ0BKgEkAScILwEqASIBLwEVAQACDAEHAR4BLwEkAy8BIgEvARUBAAIMAQYBHAEvASIJLwEiAS8BHwEMAQcBCAEMAQABFQEvASIoLycvASoBLwEgAQ0BBwIIAQwBAAEVAi8BIgEnASoCLwEqAScBIgIvARUBAAIMAQABFQEvASQELwEnAS8BHgEMAggCDQEeAS8BJwEkAioBLwEqAScBJAEvASoBFQEAAwgBDAEGAR4BLwEkAS8BJAEvAR4BBgEMAwgBBgEbAS8BKgEiASoDLwEqAScBIgEvASABDQEGAgwBBgEeAS8BJAMvAScBLwENAQABDAEIAQwBAAEVAi8BIgEnASoCLwIqASIBKgEvARsBBgEIAQwBBgENAS8BJwQvAioBIQENAQcBDAEHAQ0BHgEvAiQBKgMvASoBJwEiAS8BIAENAQYBDAEIAQwBAAEVAS8BIigvJy8BKgEvASABDQEHAwgBDAEAARUBIQMvAicDLwEhARUBAAIMAQcBDQEgAScBKgUvASQBLwEVAQYBDAENAQcBDQEcAScDLwEqAy8BIQEVAQYBDAMIAQwBBgEeAS8BJAEvASQBLwEeAQYBDAQIAQYBFQEiAi8BKgInAy8BHgENAQACDAEAARUBLwEkBC8BJwEvAQ0BAAEMAggBDAEAARUBIQMvAicDLwEiARUBBgEIAQwBCAEHAR4BLwEnBS8BJAEvARsBAAIMAQcBDQEcAy8BKgInAy8BHgENAQABDAIIAQwBAAEVAS8BIigvJy8BKgEvASABDQEHAggBDAEIAQwBAAENARUBHgEiAi8BIgEeARUBDQEAAgwBCAEHAR4BLwEnBi8BKgEkASoBDQEAAQwBCAENAQgBDQEcAR8BIAEvASABHgEbAQ0BCAENBAgBDAEGARwBLwEkAS8BJAEvAR4BBgEMAggCDAEIAQABDQEbAR8DLwEgAR4BFQEIAQYCDAEGAQ0BIAEnASoELwEnAS8BDQEAAQwDCAEMAQABDQEVAR4BIAIvASIBHwEbAQ0BAAEIAgwBAAEbAS8BJAcvASQBLwEVAQACDAEHAQYBDQEcASEDLwEgAR4BFQEIAQYBDAMIAQwBAAEVAS8BIigvJy8BKgEvASABDQEHAggCBwIMAQcBAAEIBA0BCAEAAQcCDAEHAQABGwEvASQILwEqASQBIAEVAQABDAIIAQAGDQEMAggBDAEIAQcCCAEMAQYBHgEvASQBLwEkAS8BHgEGAQwCCAEGAQgCDAEGAQABDAQNAQcBAAEIAgwBBgENAR4BLwEnBS8BJwEvARUBAAEMAQgCBwIMAQcBAAEIBA0BDAEAAQYDDAEAARUBLwEkCC8BKgEnASABDQEAAwwBAAEGBQ0BBwEAAQgCDAEHAggBDAEAARsBLwEiKC8nLwEqAS8BIAENAQcBDAEHARUBDQEAAwwBCAEGAgABBgEIAwwBAAENARwBLwEkCi8BKgEvASABFQEAAQgEDAEHAQYBBwQMAQYBCAEbAQ0BBwEMAQYBGwEvASQBLwEkAS8BHAEGAQwBCAEMARUBCAEGAwwBCAEGAgABBwEIAgwBCAEAAQ0BHgEvASQFLwIqASIBDQEHAQwBBwINAQADDAEIAQcCAAEGAQgDDAIGARsBLwEkASoJLwIqASABFQEAAQcDDAEHAQYBAAEGAQcBCAIMAQgBAAINAQcBDAEGARUBLwEkKC8nLwEqAS8BIAENAQgBDQEAARsBIQENAQYBAAEHBgwBBwEAAQYBFQEeAS8BJAwvAScCLwEcAQ0BAAEGAQcBCAMMAQgBBwEAAQYBDQEeAScBDQEHAQ0BAAEVAS8BIgEvASQBLwEeAQACDAEAAh4BDQEAAQYBCAUMAQgBBwEAAQgBFQEgAS8BJAYvASoBLwEgAQwBCAENAQABFQEfARUBBgEAAQcGDAEHAgABDQEcAS8BJwwvASoCLwEbAQ0BAAEGAQgFDAEIAQcBAAEIARUBIQENAQcBDQEAAQ0BLwEnKC8oLwEkASoBFQIAAQ0BHgIvARwBFQENAQYEAAEGAQ0BFQEcAi8BJA4vASoBJwEvAR8BGwINAQcBBgEHAQYBBwENARUBHAIvASIBFQIAAQ0BHgEqAScBLwEqAScBIAENAgABDQEgAS8BIgEbAQ0BDAEGBAABBwENARUBHgIvAScILwEkASoBFQIAAQYBHAIvARwBFQENAQYFAAENARUBGwEiAS8BJA4vASoBJwEvASEBGwENAQgFAAEHAQ0BFQEeAi8BFQIAAQYBHAEvASQoLygvAioBLwEbARUBHgEvASQBKgIvASEBHgEbAhUBGwEeASECLwEqAScRLwEkAy8BIQEeARwBHgEcAR4BIAMvASQBKgEvARsBFQEeAS8BKgMvASoBLwEgAhsBIAEvASIDLwEfARwBGwIVARsBHgEgAi8BJAEqCS8BKgIvARwBFQEeAS8BJwEqAi8BIAEeARsCFQEbARwBHwMvAScRLwEkAy8BHgEcAxUBGwEeASICLwEkAScBLwEcARUBHgEvASopLy4vASoCLwEkAScILwEnASQULwEnASIBJwcvAiQHLwEqDC8BKgEkASoILwEkAScRLwEqAi8CJAgvAScBJAEqEy8BKgEiASoILwEiAScGLwEqKi8rLwEkASIBJwUvASoBJAQiASQBKhkvASoCJAEnASQBJwEqBi8BJAEiAScHLwEqAiIBKgUvAScBJAQiAScBKhAvASQBIgEnBS8BKgEkBCIBJAEqGS8BJwEkBCIBJwEqBS8BJAEiAScrL/Av8C/wL/Av8C+eLwEnASNQL6svAiNDL5wvASkBLwEfARwBI08vmy8CKwEgAREBAQEcAS8BIwYvAisCHAIrQS+bLwErAS8BIAERAQIBHQEvASUFLwEjAS8BHAIBARwBLwEjQC95LwIrAy8CKwEtBy8BKwIlASkCLwEnAS0FLwEtAisBLQIvASsBLwEgAREBAgEdAS8BIwIrAy8BIwEvARwCAQEcAS8BIwErAS8EKwkvAS0DKy0vdy8BKwElAi8BKwEjASUDLwElBC8BKwElBC8CJQUvASkBIwQvASMCKwEvASABEQECAR0BJQMvASsBJQIvASsBJwIdAicCLwEjBC8BIwErBS8BKwEjBC8BIwErKy95LwIgAy8BIgEgAS0BLwEnAi8BKwIvASACHQEgAi8BHwElAi8BKQIvASUCIAElAi8BKwEvASABEQECAR8BLwMgAi8BKwEvASsBLwIgAi8BHwEgAS8BIwIgASICLwEnAy8BKwIvASUCIAEiAi8BKyovdS8CKwEgARkCEQEUARwBGQIRARQBHQEvASkBKwEvASABGQERAgIBEQEZARwBAQEZAS8BIwEvAR8BGQEUAhEBFAEZASABLQEvASABEQEDARwBFAMRARQBHQEvASMBKwEfAhEBIAEdAQEBFAEZARQDEQEZASABLwEnAS8BKwEvASABGQEUAxEBGQEgAS8BKSkvdS8BJwErARQBAQICAQECAgEBAQIBAQEDAR0BLwElASABFAIBAhEBAgEBAQMBAgEUAi8BHwERAgECAgIBARQBIgEvASABEQIEAgECAgIBARkCLwEdAQIBCwEgARkBAQEDAQIBAQICAgEBEQEfAS8BIwEpASABFAIBAgICAQEUASACKygvdC8BJQEvAR0BAwERARwBHQEUAQMBEQEcAR0BFAEBARQBKwEvARkBAQERARwBHwEgAR0BFAEEAQIBFAEvASABFAEBAREBHAIdARkBAQEUASIBLwEgAREBBAEDARQDHQEUAQIBCwEcAS0BHQECAREBLwEcAQECEQEZAh0BHAERAQEBFAEgAScBKwEUAQEBAwEZAh0BGQEDAQEBFAEjASkoL3QvASMBLwEZAQEBEQEiAS8BHAEBAREBIgEvARwBAQERASMBHwERAQIBHQQvAR8BEQECARQBLwEcAQEBEQEdBC8BHQEgAi8BIAERAQMBEQEfBC8BFAEBAREBLwEdAQIBEQErARwBAgEDARkELwEdAREBAQEcAS8BHQIDARwELwEdAREBAgEdAS8BJScvdC8BIwEvARkBAQEUASMBJQEdAQIBEQEgASUBHQECAREBLwEcAQEBFAErASMBJwErASMBLwEZAQEBFAEvARQBAQEZAS8BIwIlASkCLwErAS8BIAERAQEBGQEvASMBJQEjAS8BHwERAQICHwEBAREBLwEcAQEBEQEgASsBIwElASMBLwEZAQEBFAEvARkBAQERBRkBHAERAQEBHAEvASMnL3QvASMBLwEZAQEBFAIvAR0BAgERASABLwEdAQIBEQEvARkBAQEUASsBJwIvASMBJQEcAQEBFAEvARQBAQEcASUBIwIvAS0BIwEnASsBLwEgAREBAQEcASsBIwEvASsBLwEgAREBAQEcAR8BAQERAS8BHAEBAREBIAEtASsBLwEjASkBHAEBAREBIwEUAQIBCgYBAQIBAQEUAS8BJScvdC8BIwEvARkBAQEUAi8BHQECAREBIAEvAR0BAgERAS8BHAEBARQBKwEjAScBKwEjAS8BGQEBARQBLwEUAQEBGQEvASMCJQEpAi8BKwEvASABEQECAR0BLwElAS8BKwEvASABEQEBAh8BAQERAS8BHAEBARQBKQEnAi8BIwEvARkBAQEUAS8BGQEBAREIFAEdAS8BKScvdC8BIwEvARkBAQEUAi8BHQECAREBIAEvAR0BAgERASIBHwERAQIBHQQvAR8BEQECARQBLwEcAQEBEQEdBC8BHQEgAi8BIAERAQIBHQEvASUBLwErAS8BIAERAQECHwEBAREBKwEcAQEBFAEvAScCLwEjAS8BGQEBARQBLwEdAQEBCwEdBC8BHQEZASIBLwErKC90LwEjAS8BHAEBARQCLwEdAQIBEQEgAS8BHQECAREBIAEvARkBAQERARwBHwEgAR0BFAEEAQIBFAEvASABFAEBAREBHAIdARkBAQEUASIBLwEgAREBAgEdAS8BJQEvASsBLwEgAREBAQIfAQEBEQEvARwBAQEUAS8BJwIvASMBLwEcAQEBFAEvASIBFAECAQMBGQIdARkBBAEBARkBKQEjKC90LwEjAS8BGQEBARQBIgEvARwBAQERASABLwEcAQEBEQEgAS8BIAEUAgECEQECAQEBAwECARQCLwEfARECAQICAgEBFAEiAS8BIAERAQEBHAEvASMBLwErAS8BIAERAQEBHQEfAQEBCwEgARwBAQEUASICKwEvASMBLwEZAQEBFAEiAS8BIAEUAgECAgIBARQBHwIrKC90LwElAS8BHQEBARQBIgEtAR0BAQEUASIBLQEdAQEBFAEiASkBLwEgARkBEQICAREBGQEcAQEBGQEvASMBLwEfARkBFAIRARQBGQEgAS8BKQEiARQBAQEdAS8BJQEvASsBKQEiARQBAQEdASACEQEgAR0BAQEUASICKwEvASUBLwEdAQEBFAEiAScBLwEgARkBFAIRARQBGQEgAS8BKykvdy8BHwEgAS8BKwEvAR8BIAEvASsBLwEfASABLwIrAi8BIAIdASACLwEfASUCLwEpAi8BJQIgASUDLwErAS8BIAEfBS8BKwEvASABHwIvAh8CLwEfASABLwErBS8BHwEgAS8CKwIvAScCIAElAi8BKyovdi8BKwQvASsELwErBS8BKwElBC8CJQUvASkBIwQv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AIAAMQACABUAdwCtAJ4AKAA9AKkAJABiAKEAMACOAMQAbQA7ALUAwwBPADoAGwCnAO0AMQA/AKQA2gDaAIAAyABh/cANgdbAABO2wACAbUEAWGLCAIFYQgA3UcMAgUpDADxExACCP0QAOzrEAIM2RQBDMsUAgy9GAEMrxgCDKEYAOyXHAIMjRwBBIMgAhB5IAEMbyACEGUkATBfJAIUVSgA+E8oAhRFLAEAQywCGDksASAzMAIYLTABLCc0AhwhNAEkGzQCHBU4APwDOAIgATwBLAM8AiABQAEgA0ACJAFAASwDRAIgAUQBLANIAigBSAEUA0gCJAFMASgDTAIoAVABKANQAigBVAEcA1QCLAFUAUADWAIoAVgBBANcAiwBXAEYA1wCNAFgAQgDYAIwAWQBTANkAiwBaAEsA2gCOAFoAQADbAI8AWwBaANwAkwBcAFoA3ACNAF0AVADdAI8AXgBPAN4AjgBfAFIA3wCSAF8ARQDgAI8AYABUAOEAkQBhAFwA4gCQAGIAUwDiAJoAYwBWAOMAlQBkAF4A5ACMAGQAWADlAJEAZQBKAOYAkgBmAEoA5wCQAGcAXQDnAJ0AaAAqAOgAmABpAFYA6QCXAGkASwDqAJMAagBDAOsAjwBrAEoA7ACVAGwAUwDsAJgAbQBRAO0AkQBuAGoA7gCXAG8ARgDvAJUAbwBPAPAAjABwAFYA8QCVAHEAbQDxAJ4AcgBJAPIAoABzAFMA8wCMAHQAXQD0AJUAdAByAPUArwB1AHzzwMJAeEiyQLjBqECXwKJBpsGdQZLAmEGcwZVBjsCSQZTBj0GJwY1Bj8KKQYbBiEGKwoZCg8GFQobCg0KAwYJCg8KAQn3Cf0KAw35Ce8J8Qn7De0N5wnpDe8N5Q3fCeEN5w3dDdcN2Q3fEdkN0w3VDdsR0RHLDc0R0xHJEccNyRHLEcURvxHBEccVwRG7Eb0VwxW5FbcRuRW7FbUVsxGxFbcVsRWvFa0VsxmtFasVqRmvGakZpxWlGasZpRmjFaEZpxmhGZ8ZnRmjHZ0ZmxmZHZ8dmR2XGZkdmx2VHZMZlR2XHZEdkx2RHZMhkR2PHY0hkyGNIYsdiSGPIYkhhx2JIYshhSGHIYUhhyWFIYMhgSWHJYElfyGBJYMlfSV/IX0lfyV9JXsleSV/KXkleyV5KXspdSl3JXUpdyl1KXMldSl3KXEpcylxKXMtcSlvKXEtcy1tLW8pbS1vLW0tay1pLW8taS1rLWktazFpLWctZTFrMWUxZy1lMWcxZTFjMWExZzFhMWMxYTFjNWExXzFhNWM1XTVfMV01XzVdNV81XTVfNVk1WzVZNVs5WTVbNVk5WzlZOVc1VTlbOVU5VzlVOVc5VTlXOVU5Vz1ROVM5UT1TPVE9UzlRPVM9UT1PPVE9Uz1NPU89TT1PQU09Tz1NQU9BTUFLPUlBT0FJQUtBSUPfA0kDewMJA0sC4QMrAskHEwa1BwMGoQbzBpUG4waJBtsGfQbPBnUGxwZpBr8GYQq3Cl0KrwpVCqcKTQqjCkkKmwpBCpcKPQqTCjkKiwo1CocOLQ6DDikOfw4lDnsOIQ53Dh0Ocw4ZDm8OGQ5rDhUOaxIREmcSDRJjEgkSXxIJEl8SBRJbEgESVxIBElcR/RJTFfkWTxX5Fk8V9RZLFfUWRxXxFkcV7RZDFe0WQxXpGj8Z6Ro/GeUaOxnlGjsZ4Ro3GeEaNxndGjMZ3RozGd0eMx3ZHi8d2R4vHdUeKx3VHisd0R4nHdEeJx3RHicdzR4jIc0iIyHJIiMhySIfIckiHyHFIhshxSIbIcUiGyHBIhclwSYXJcEmFyW9JhMlvSYTJb0mEyW5JhMluSYPJbkmDym5Kg8ptSoLKbUqCym1KgspsSoHKbEqBymxKgcpsS4HLa0uAy2tLgMtrS4DLa0uAy2pLf8tqS3/Lakt/y2pMf8xpTH7MaUx+zGlMfsxpTH7MaEx9zGhMfcxoTH3MaEx9zWdNfc1nTXzNZ018zWdNfM1nTXzNZk17zWZNe81mTXvOZk57zmVOe85lTnrOZU56zmVOes5lTnrOZU56zmROec9kT3nPZE95z2RPec9kT3nPY095z2NPeM9jT3jPY1B40GNQeNBiUHjQYlB30GJQ/8AAqebAAEfawAC70sAAQMzBAEvHwQDAxMEAwMDBAK29wQDAu8EA+rjBAEC2wQATtMIAs7PCAECxwgBAr8IAQK7CACitwgC9q8IAU6rCAMOpwwBoqMMAQKfDAECmwwAApcMAwKTDAMCjwwDKosMAQKHEAAChxABAoMQAQJ/EAACexABAnsQAAJ3EAECcxABAnMUAxZvFAACaxQAAmsUAAJnFAMCZxQAAmMUAIJjFAACXxgBAl8YAAJbGAACWxgAAlcYAAJXGAACUxgAAlMYAAJPHAECTxwAAkscAwJLHAACSxwAAkccAAJHHAACQxwAAkMgAQJDIAACPyADAj8gAAI/IANOOyAAAjsgAAI7IAACNyQAAjckAAI3JANOMyQAAjMkAAIzJAACLyQAAi8kAAIvKAACKygAAisoAAIrKAACKygAgicoAAInKAACJygAAiMsAAIjLAACIywAAiMsAAIfLAACHywAAh8sAAIfLAACGzAAAhswAAIbMAACGzAAAhcwAAIXMAACFzAAAhcwAAIXNAACEzQAAhM0AAITNAACEzQAAg80AAIPNAACDzQAAg84AAIPOAACCzgAAgs4AAILOAACCzgAAgs4AAIHOAACBzwAAgc8AAIHPAACBzwAAgM8AAIDPAACAzwAAgM8AAIDQAACA0AAAf9AAAH/QAAD41efA3qsAQtPVzsDLqwC2xdbCwcCsAMC81rrBuawAwLbWtcG0rABhsdawwa+sAMCt16zCq60AQKrXqcKorQBtp9emwqWtAECk16PCo60A8qLYocOhrgAAoNifw5+uAECe2J3Dna4ALZzYm8ObrgBTmtmZxJmvAECZ2ZjEmK8AAJfZlsSWrwBAltmVxJWvAECV2pTFlLAAQJPak8WTsABAktqRxZKwAACR2pDFkLAAYJDbj8aPsQD1j9uOxo6xAACO243GjbEAAI3bjMaNsQDAjNyMx4yyAACL3IvHi7IAAIrciseKsgBAityJx4myAACJ3YjIibMAQIjdiMiIswAAh92HyIezAACH3YbIhrMAAIbehsmGtAAAhd6FyYW0AACF3oTJhLQAwITehMmEtAAAhN+DyoO1AMCD34LKg7UAAILfgsqCtQAAgt+ByoK1AACB4IHLgbYAAIHggMuAtgAAgOCAy4C2AACA4H/Lf7YAAH/hf8x/twAAf+F+zH+3AAB+4X7MfrcAAH7hfcx+twAAfeJ9zX24AAB94nzNfbgAAHzifM18uAAAfOJ8zXy4AAB843vOe7kAAHvje857uQAAe+N6znu5AAB643rOerkAAHrkes96ugAAeuR5z3q6AAB55HnPeboAAHnkec95ugAAeeV40Hi7AAB45XjQeLsAAOvs59rhzNvA1rXOpr6UZYG47cLbw83CwcC2u6etlWWCqO603LbOtsO1t7CopJZlg5/vq92uz67DrbipqZ6XZYSY76TeqNCoxai5pKqZmGWFkvCf36PRpMWjuqCrlZllho3xm+Cf0aDHoLudrJKZZYeJ8pfgm9KdyJ28mq2PmmWIhfKU4ZjTmsiavZetjZtliYLzkeKV1JfKl76VroucZYp/9I7jk9WVypW/k6+JnWWLfPSM5JHWk8yTwJGwh55ljHn1ieSO15HMkcGPsYafZY129ofljNiPzZDCjrKEoGWOdPaF5ovZjc+Owoyzg6Blj3H3g+eJ2ovPjcOLtIKhZZBv94Hoh9uK0IzEirWBomWRbfh/6IbcidGKxYm1gKNlkmr4fumE3YfTicaHtn+kZZNo+Hzqg96G1IjHhrd+pWWUZvh764HfhdWHyIW4fqZllWT5eeuA4ITWhsmFuX2nZZZh+Xfsf+CD1oXKhLp8qGWXX/l27X3hgdeEy4O7e6llmF35de584oDYg8yCvHupZZlb+HPue+N/2oLNgb16qmWaWPhy73rkf9qBzoG+eqtlm1b3cPB55X7bgc+Av3msZZxT9m/weOZ93YDQf795rWWdUfVu8XfnfN1/0X/AeK5lnk/0bPF26HvfftJ+wXivZZ9M8mvydel6337TfsJ3sGWg6fDn4OTQ38DYsc6hvJFpgbXxweHF0cXBwrK6oquSaYKm8rPiudK6w7ezsKOik2mDnPOr47DTssOwtKmknJRphJX0pOSq1KzFqrWkpZeVaYWP9Z/lpdWnxaa2oKaTlmmGivaa5qHWo8eit5ynkJdph4b3l+ee16DIn7iZqI6YaYiC+JPom9idyJy5l6mLmWmJfvmQ6ZjZm8qaupWqiZppinv6juqV2pjKl7uTq4ibaYt3+4vrk9uWzJW8kayGnGmMdPyJ7JHclMyUvY+thZ1pjXH9h+2P3ZLNkr6OroOeaY5u/oXujd6Rz5C/jK+Cn2mPa/+D74zfj8+PwIuwgaBpkGkAgfCK4I7QjcGKsYChaZFmAX/xiOGM0YzCiLJ/ommSYwJ98ofii9OLw4ezf6Npk2ADe/OF44rUisSGtH6kaZRdBHr0hOSI1YnFhbV9pWmVWgV49YPlh9aIxoW2fKZpllYGd/aC5obWh8eEt3ynaZdTB3X3gOeF14bIg7h7qGmYTwh0+H/ohNiFyYK5e6lpmUsJcvl+6YPahMqBunqqaZpHCnH6feqC2oPLgbt5q2mbQgtv+3zrgduCzIC8eaxpnDsMbvx77IDdgs1/vXitaZ00DW39eu1/3YHOf754rmmeKQ5r/nnuf9+Az36/eK9pnxcPav94737ff9B9wHewaaAAAAAAQk5TMQUBAQLVJ1oQU0lSRU4AAAAAAAAAQUJTVFIuIE1BR0UAQAAAKytAQAAALQAAQEAAABQABWQPAEBAFEFff1QAX38+ATwCAAFuBXgIeAx4AAAAAAAAAAgA+cDJwABaAIsADwB1APcAYwCGAO4AhgCxAFIACgCVAL8AFwA1AGUAaAANAKAArAAbAGMAWwB2ANMACQBwALQA1QA4AB0A1QAwAL4A8AA5AKMAbQAFAIoA1AA7ADoA7wCSAJMAowBeAE8A9wAKAO0AiwCPACYAuwDoAFwAkABUAJgA+gAZALgAKQD8AMUA1gA3AGoAjwApANgARQA3AMsApgCNAC0A6gB2AC8AtQARAFkAqgD4AEMAEQABAKwA2ABGAMQA0QCAAHAANQBJAOAAuABoAAkAXABKAL0AigAjAP8A8gC6AAUANQC2AL4AhgBaAOwAnABZAB8A4wAKAAgA0ADpABgAZQBiAMoANADgAGEARADhANMAmQBuADwA0ADJAEgANgCLAPEAOwDnABQALAC7AF4AWQCWAPAAhgA1APwA1gCpAJIARwA/AEQASwCcAKkAswB1ACEA5wAaAJoA/QAKAHoAXgCOALEAGwC7AK4AdwAVAAQAWwCAAFQADQAXAC8AywCTAE8ANQCxAD8AGAADAJoArgDVAFMAXAABAKIAlwAwACMAVgBmAMMAjgBZAKEAGgDCAL8AQwBDAIMAqgD8AB4AuACjAI8AmAAVAOsAUABXAEwA9gA0AJwAxwDZAEQAgAC8ALsAMwBXAM4AKwBFANUAoQDjAJ4AZQC6AHz9wA2B1sAAE7bAAIBtQQBYYsIAgVhCADdRwwCBSkMAPETEAII/RAA7OsQAgzZFAEMyxQCDL0YAQyvGAIMoRgA7JccAgyNHAEEgyACEHkgAQxvIAIQZSQBMF8kAhRVKAD4TygCFEUsAQBDLAIYOSwBIDMwAhgtMAEsJzQCHCE0ASQbNAIcFTgA/AM4AiABPAEsAzwCIAFAASADQAIkAUABLANEAiABRAEsA0gCKAFIARQDSAIkAUwBKANMAigBUAEoA1ACKAFUARwDVAIsAVQBQANYAigBWAEEA1wCLAFcARgDXAI0AWABCANgAjABZAFMA2QCLAFoASwDaAI4AWgBAANsAjwBbAFoA3ACTAFwAWgDcAI0AXQBUAN0AjwBeAE8A3gCOAF8AUgDfAJIAXwBFAOAAjwBgAFQA4QCRAGEAXADiAJAAYgBTAOIAmgBjAFYA4wCVAGQAXgDkAIwAZABYAOUAkQBlAEoA5gCSAGYASgDnAJAAZwBdAOcAnQBoACoA6ACYAGkAVgDpAJcAaQBLAOoAkwBqAEMA6wCPAGsASgDsAJUAbABTAOwAmABtAFEA7QCRAG4AagDuAJcAbwBGAO8AlQBvAE8A8ACMAHAAVgDxAJUAcQBtAPEAngByAEkA8gCgAHMAUwDzAIwAdABdAPQAlQB0AHIA9QCvAHUAfPPAwkB4SLJAuMGoQJfAokGmwZ1BksCYQZzBlUGOwJJBlMGPQYnBjUGPwopBhsGIQYrChkKDwYVChsKDQoDBgkKDwoBCfcJ/QoDDfkJ7wnxCfsN7Q3nCekN7w3lDd8J4Q3nDd0N1w3ZDd8R2Q3TDdUN2xHREcsNzRHTEckRxw3JEcsRxRG/EcERxxXBEbsRvRXDFbkVtxG5FbsVtRWzEbEVtxWxFa8VrRWzGa0VqxWpGa8ZqRmnFaUZqxmlGaMVoRmnGaEZnxmdGaMdnRmbGZkdnx2ZHZcZmR2bHZUdkxmVHZcdkR2THZEdkyGRHY8djSGTIY0hix2JIY8hiSGHHYkhiyGFIYchhSGHJYUhgyGBJYclgSV/IYElgyV9JX8hfSV/JX0leyV5JX8peSV7JXkpeyl1KXcldSl3KXUpcyV1KXcpcSlzKXEpcy1xKW8pcS1zLW0tbyltLW8tbS1rLWktby1pLWstaS1rMWktZy1lMWsxZTFnLWUxZzFlMWMxYTFnMWExYzFhMWM1YTFfMWE1YzVdNV8xXTVfNV01XzVdNV81WTVbNVk1WzlZNVs1WTlbOVk5VzVVOVs5VTlXOVU5VzlVOVc5VTlXPVE5UzlRPVM9UT1TOVE9Uz1RPU89UT1TPU09Tz1NPU9BTT1PPU1BT0FNQUs9SUFPQUlBS0FJQ98DSQN7AwkDSwLhAysCyQcTBrUHAwahBvMGlQbjBokG2wZ9Bs8GdQbHBmkGvwZhCrcKXQqvClUKpwpNCqMKSQqbCkEKlwo9CpMKOQqLCjUKhw4tDoMOKQ5/DiUOew4hDncOHQ5zDhkObw4ZDmsOFQ5rEhESZxINEmMSCRJfEgkSXxIFElsSARJXEgESVxH9ElMV+RZPFfkWTxX1FksV9RZHFfEWRxXtFkMV7RZDFekaPxnpGj8Z5Ro7GeUaOxnhGjcZ4Ro3Gd0aMxndGjMZ3R4zHdkeLx3ZHi8d1R4rHdUeKx3RHicd0R4nHdEeJx3NHiMhzSIjIckiIyHJIh8hySIfIcUiGyHFIhshxSIbIcEiFyXBJhclwSYXJb0mEyW9JhMlvSYTJbkmEyW5Jg8luSYPKbkqDym1KgsptSoLKbUqCymxKgcpsSoHKbEqBymxLgctrS4DLa0uAy2tLgMtrS4DLakt/y2pLf8tqS3/Lakx/zGlMfsxpTH7MaUx+zGlMfsxoTH3MaEx9zGhMfcxoTH3NZ019zWdNfM1nTXzNZ018zWdNfM1mTXvNZk17zWZNe85mTnvOZU57zmVOes5lTnrOZU56zmVOes5lTnrOZE55z2RPec9kT3nPZE95z2RPec9jT3nPY094z2NPeM9jUHjQY1B40GJQeNBiUHfQYlD/wACp5sAAR9rAALvSwABAzMEAS8fBAMDEwQDAwMEArb3BAMC7wQD6uMEAQLbBABO0wgCzs8IAQLHCAECvwgBArsIAKK3CAL2rwgBTqsIAw6nDAGiowwBAp8MAQKbDAAClwwDApMMAwKPDAMqiwwBAocQAAKHEAECgxABAn8QAAJ7EAECexAAAncQAQJzEAECcxQDFm8UAAJrFAACaxQAAmcUAwJnFAACYxQAgmMUAAJfGAECXxgAAlsYAAJbGAACVxgAAlcYAAJTGAACUxgAAk8cAQJPHAACSxwDAkscAAJLHAACRxwAAkccAAJDHAACQyABAkMgAAI/IAMCPyAAAj8gA047IAACOyAAAjsgAAI3JAACNyQAAjckA04zJAACMyQAAjMkAAIvJAACLyQAAi8oAAIrKAACKygAAisoAAIrKACCJygAAicoAAInKAACIywAAiMsAAIjLAACIywAAh8sAAIfLAACHywAAh8sAAIbMAACGzAAAhswAAIbMAACFzAAAhcwAAIXMAACFzAAAhc0AAITNAACEzQAAhM0AAITNAACDzQAAg80AAIPNAACDzgAAg84AAILOAACCzgAAgs4AAILOAACCzgAAgc4AAIHPAACBzwAAgc8AAIHPAACAzwAAgM8AAIDPAACAzwAAgNAAAIDQAAB/0AAAf9AAAPjV58DeqwBC09XOwMurALbF1sLBwKwAwLzWusG5rADAtta1wbSsAGGx1rDBr6wAwK3XrMKrrQBAqtepwqitAG2n16bCpa0AQKTXo8KjrQDyotihw6GuAACg2J/Dn64AQJ7YncOdrgAtnNibw5uuAFOa2ZnEma8AQJnZmMSYrwAAl9mWxJavAECW2ZXEla8AQJXalMWUsABAk9qTxZOwAECS2pHFkrAAAJHakMWQsABgkNuPxo+xAPWP247GjrEAAI7bjcaNsQAAjduMxo2xAMCM3IzHjLIAAIvci8eLsgAAityKx4qyAECK3InHibIAAIndiMiJswBAiN2IyIizAACH3YfIh7MAAIfdhsiGswAAht6GyYa0AACF3oXJhbQAAIXehMmEtADAhN6EyYS0AACE34PKg7UAwIPfgsqDtQAAgt+CyoK1AACC34HKgrUAAIHggcuBtgAAgeCAy4C2AACA4IDLgLYAAIDgf8t/tgAAf+F/zH+3AAB/4X7Mf7cAAH7hfsx+twAAfuF9zH63AAB94n3NfbgAAH3ifM19uAAAfOJ8zXy4AAB84nzNfLgAAHzje857uQAAe+N7znu5AAB743rOe7kAAHrjes56uQAAeuR6z3q6AAB65HnPeroAAHnkec95ugAAeeR5z3m6AAB55XjQeLsAAHjleNB4uwAA6+zn2uHM28DWtc6mvpRlgbjtwtvDzcLBwLa7p62VZYKo7rTcts62w7W3sKiklmWDn++r3a7PrsOtuKmpnpdlhJjvpN6o0KjFqLmkqpmYZYWS8J/fo9GkxaO6oKuVmWWGjfGb4J/RoMegu52skpllh4nyl+Cb0p3InbyarY+aZYiF8pThmNOayJq9l62Nm2WJgvOR4pXUl8qXvpWui5xlin/0juOT1ZXKlb+Tr4mdZYt89IzkkdaTzJPAkbCHnmWMefWJ5I7XkcyRwY+xhp9ljXb2h+WM2I/NkMKOsoSgZY509oXmi9mNz47CjLODoGWPcfeD54nai8+Nw4u0gqFlkG/3geiH24rQjMSKtYGiZZFt+H/ohtyJ0YrFibWAo2WSavh+6YTdh9OJxoe2f6Rlk2j4fOqD3obUiMeGt36lZZRm+Hvrgd+F1YfIhbh+pmWVZPl564DghNaGyYW5fadllmH5d+x/4IPWhcqEunyoZZdf+XbtfeGB14TLg7t7qWWYXfl17nzigNiDzIK8e6llmVv4c+5743/ags2BvXqqZZpY+HLveuR/2oHOgb56q2WbVvdw8HnlftuBz4C/eaxlnFP2b/B45n3dgNB/v3mtZZ1R9W7xd+d83X/Rf8B4rmWeT/Rs8Xboe99+0n7BeK9ln0zya/J16XrfftN+wnewZaDp8Ofg5NDfwNixzqG8kWmBtfHB4cXRxcHCsrqiq5Jpgqbys+K50rrDt7Owo6KTaYOc86vjsNOyw7C0qaSclGmElfSk5KrUrMWqtaSll5VphY/1n+Wl1afFpragppOWaYaK9prmodajx6K3nKeQl2mHhveX557XoMifuJmojphpiIL4k+ib2J3InLmXqYuZaYl++ZDpmNmbypq6laqJmmmKe/qO6pXamMqXu5OriJtpi3f7i+uT25bMlbyRrIacaYx0/InskdyUzJS9j62FnWmNcf2H7Y/dks2Svo6ug55pjm7+he6N3pHPkL+Mr4KfaY9r/4PvjN+Pz4/Ai7CBoGmQaQCB8IrgjtCNwYqxgKFpkWYBf/GI4YzRjMKIsn+iaZJjAn3yh+KL04vDh7N/o2mTYAN784XjitSKxIa0fqRplF0EevSE5IjVicWFtX2laZVaBXj1g+WH1ojGhbZ8pmmWVgZ39oLmhtaHx4S3fKdpl1MHdfeA54XXhsiDuHuoaZhPCHT4f+iE2IXJgrl7qWmZSwly+X7pg9qEyoG6eqppmkcKcfp96oLag8uBu3mraZtCC2/7fOuB24LMgLx5rGmcOwxu/HvsgN2CzX+9eK1pnTQNbf167X/dgc5/vniuaZ4pDmv+ee5/34DPfr94r2mfFw9q/3jvft9/0H3Ad7BpoAAAAAAAAEJOUzEFAgICcQFcEkNPT0wgTEVBRAAAAE1YTUZSUFIAAAAAAEAAADVkQEAAAC0AQEBAKAESAAVkDwBAQBQAX38+AFMAPgE8AgABbgV4CHgMeAAAAAAAAAABAP9A78DmQN/A2kDVwNJAz8DMQcrBx0HFwcRBwsHAQb/BvUG8wbtBusG4QbfBtkG1wbRCtMKzQrLCsUKwwq9Cr8KuQq3CrUKswqtCq8KqQqrDqUOow6hDp8OnQ6bDpkOlw6VDpMOkQ6TDo0Ojw6JDosOhRKHEoUSgxKBEn8SfRJ/EnkSexJ5EncSdRJ3EnEScxZxFm8WbRZvFmkWaxZpFmsWZRZnFmUWYxZhFmMWYRZfFl0aXxpdGlsaWRpbGlkaVxpVGlcaVRpTGlEaUxpRGlMaTR5PHk0eTx5JHkseSR5LHkkeRx5FHkceRR5HHkEeQyJBIkMiQSI/Ij0iPyI9Ij8iPSI7IjkiOyI5IjsiOSI3IjUmNyY1JjcmNSYzJjEmMyYxJjMmMSYvJi0mLyYtJi8mLSovKikqKyopKisqKSorKikqJyolKicqJSonKiUqJyohLiMuIS4jLiEuIy4hLiMuHS4fLh0uHy4dLh8uHS4fLhkyGzIZMhsyGTIbMhkyGzIVMhcyFTIXMhUyFzIVMhcyFTYTNhE2EzYRNhM2ETYTNhE2EzYNNg82DTYPNg02DzYNOg86DToPOgk6CzoJOgs6CToLOgk6CzoJOgs6BToHOgU+Bz4FPgc+BT4HPgU+Bz4BPgM+AT4DPgE+Az4BPgM+AUIDQgFCA0H9Qf9B/UH/QCAD5wAD9AJcAgwAOAAUAoACcAK0AvgAYAIMAqADfAHMAjwAPAA0AzwCrALkAkQCNAAAAPgAOAHsALwAXAIUAvwA9AEkALwDTALIAjwDtAB8AwgCiAPQAPwCRANcArQBgAP4AmQDSAFUAJABMAFoAtQD2ADoAqgDEAGEATgCTAPsAZgDDADsAqwAmAEUAxwDVAN4AegCKACwAfQB9ANoA3QBtAFYA5QDNALYAPgAmAJQAtgDTAH0AVgD4ABEA9gDHAAkAvgDaAEkABAA4AIQAvwA0AB0AWwBfABoAtwBTADEAQgBSAMwAYABTAOIAKwBmAAAAywBcADUA2gDNAN4AOgD8AL4AtgA9AJsAvAChALMAxAA6AMgA6gDfALgAngCSAIgAPgDdAKwAAwA9AKYAygCtALMAlgAPAFMArADKAKEA3gA0AAcApQD0AL4APABeABMAPgANAKcAGgADAKkAVQA5AM8AYAA1AG4AmwCuAMsADwBPAHwACQAqAHIApgAUAK0AjACAAEoAsQBHAMAAEQAKAHoAfwCnAHsAUACVABAAEgAbAMwAYgAgAI0AhwAZAIoApQBlAMkAhwA7AGIApACAADEAAgAVAHcArQCeACgAPQCpACQAYgChADAAjgDEAG0AOwC1AMMATwA6ABsApwDtADEAPwCkANoA2gCAAMgAYf3ADYHWwAATtsAAgG1BAFhiwgCBWEIAN1HDAIFKQwA8RMQAgj9EADs6xACDNkUAQzLFAIMvRgBDK8YAgyhGADslxwCDI0cAQSDIAIQeSABDG8gAhBlJAEwXyQCFFUoAPhPKAIURSwBAEMsAhg5LAEgMzACGC0wASwnNAIcITQBJBs0AhwVOAD8AzgCIAE8ASwDPAIgAUABIANAAiQBQAEsA0QCIAFEASwDSAIoAUgBFANIAiQBTAEoA0wCKAFQASgDUAIoAVQBHANUAiwBVAFAA1gCKAFYAQQDXAIsAVwBGANcAjQBYAEIA2ACMAFkAUwDZAIsAWgBLANoAjgBaAEAA2wCPAFsAWgDcAJMAXABaANwAjQBdAFQA3QCPAF4ATwDeAI4AXwBSAN8AkgBfAEUA4ACPAGAAVADhAJEAYQBcAOIAkABiAFMA4gCaAGMAVgDjAJUAZABeAOQAjABkAFgA5QCRAGUASgDmAJIAZgBKAOcAkABnAF0A5wCdAGgAKgDoAJgAaQBWAOkAlwBpAEsA6gCTAGoAQwDrAI8AawBKAOwAlQBsAFMA7ACYAG0AUQDtAJEAbgBqAO4AlwBvAEYA7wCVAG8ATwDwAIwAcABWAPEAlQBxAG0A8QCeAHIASQDyAKAAcwBTAPMAjAB0AF0A9ACVAHQAcgD1AK8AdQB888DCQHhIskC4wahAl8CiQabBnUGSwJhBnMGVQY7AkkGUwY9BicGNQY/CikGGwYhBisKGQoPBhUKGwoNCgMGCQoPCgEJ9wn9CgMN+QnvCfEJ+w3tDecJ6Q3vDeUN3wnhDecN3Q3XDdkN3xHZDdMN1Q3bEdERyw3NEdMRyRHHDckRyxHFEb8RwRHHFcERuxG9FcMVuRW3EbkVuxW1FbMRsRW3FbEVrxWtFbMZrRWrFakZrxmpGacVpRmrGaUZoxWhGacZoRmfGZ0Zox2dGZsZmR2fHZkdlxmZHZsdlR2TGZUdlx2RHZMdkR2TIZEdjx2NIZMhjSGLHYkhjyGJIYcdiSGLIYUhhyGFIYclhSGDIYElhyWBJX8hgSWDJX0lfyF9JX8lfSV7JXklfyl5JXsleSl7KXUpdyV1KXcpdSlzJXUpdylxKXMpcSlzLXEpbylxLXMtbS1vKW0tby1tLWstaS1vLWktay1pLWsxaS1nLWUxazFlMWctZTFnMWUxYzFhMWcxYTFjMWExYzVhMV8xYTVjNV01XzFdNV81XTVfNV01XzVZNVs1WTVbOVk1WzVZOVs5WTlXNVU5WzlVOVc5VTlXOVU5VzlVOVc9UTlTOVE9Uz1RPVM5UT1TPVE9Tz1RPVM9TT1PPU09T0FNPU89TUFPQU1BSz1JQU9BSUFLQUlD3wNJA3sDCQNLAuEDKwLJBxMGtQcDBqEG8waVBuMGiQbbBn0GzwZ1BscGaQa/BmEKtwpdCq8KVQqnCk0KowpJCpsKQQqXCj0Kkwo5CosKNQqHDi0Ogw4pDn8OJQ57DiEOdw4dDnMOGQ5vDhkOaw4VDmsSERJnEg0SYxIJEl8SCRJfEgUSWxIBElcSARJXEf0SUxX5Fk8V+RZPFfUWSxX1FkcV8RZHFe0WQxXtFkMV6Ro/GekaPxnlGjsZ5Ro7GeEaNxnhGjcZ3RozGd0aMxndHjMd2R4vHdkeLx3VHisd1R4rHdEeJx3RHicd0R4nHc0eIyHNIiMhySIjIckiHyHJIh8hxSIbIcUiGyHFIhshwSIXJcEmFyXBJhclvSYTJb0mEyW9JhMluSYTJbkmDyW5Jg8puSoPKbUqCym1KgsptSoLKbEqBymxKgcpsSoHKbEuBy2tLgMtrS4DLa0uAy2tLgMtqS3/Lakt/y2pLf8tqTH/MaUx+zGlMfsxpTH7MaUx+zGhMfcxoTH3MaEx9zGhMfc1nTX3NZ018zWdNfM1nTXzNZ018zWZNe81mTXvNZk17zmZOe85lTnvOZU56zmVOes5lTnrOZU56zmVOes5kTnnPZE95z2RPec9kT3nPZE95z2NPec9jT3jPY094z2NQeNBjUHjQYlB40GJQd9BiUP/AAKnmwABH2sAAu9LAAEDMwQBLx8EAwMTBAMDAwQCtvcEAwLvBAPq4wQBAtsEAE7TCALOzwgBAscIAQK/CAECuwgAorcIAvavCAFOqwgDDqcMAaKjDAECnwwBApsMAAKXDAMCkwwDAo8MAyqLDAEChxAAAocQAQKDEAECfxAAAnsQAQJ7EAACdxABAnMQAQJzFAMWbxQAAmsUAAJrFAACZxQDAmcUAAJjFACCYxQAAl8YAQJfGAACWxgAAlsYAAJXGAACVxgAAlMYAAJTGAACTxwBAk8cAAJLHAMCSxwAAkscAAJHHAACRxwAAkMcAAJDIAECQyAAAj8gAwI/IAACPyADTjsgAAI7IAACOyAAAjckAAI3JAACNyQDTjMkAAIzJAACMyQAAi8kAAIvJAACLygAAisoAAIrKAACKygAAisoAIInKAACJygAAicoAAIjLAACIywAAiMsAAIjLAACHywAAh8sAAIfLAACHywAAhswAAIbMAACGzAAAhswAAIXMAACFzAAAhcwAAIXMAACFzQAAhM0AAITNAACEzQAAhM0AAIPNAACDzQAAg80AAIPOAACDzgAAgs4AAILOAACCzgAAgs4AAILOAACBzgAAgc8AAIHPAACBzwAAgc8AAIDPAACAzwAAgM8AAIDPAACA0AAAgNAAAH/QAAB/0AAA+NXnwN6rAELT1c7Ay6sAtsXWwsHArADAvNa6wbmsAMC21rXBtKwAYbHWsMGvrADArdeswqutAECq16nCqK0AbafXpsKlrQBApNejwqOtAPKi2KHDoa4AAKDYn8OfrgBAntidw52uAC2c2JvDm64AU5rZmcSZrwBAmdmYxJivAACX2ZbElq8AQJbZlcSVrwBAldqUxZSwAECT2pPFk7AAQJLakcWSsAAAkdqQxZCwAGCQ24/Gj7EA9Y/bjsaOsQAAjtuNxo2xAACN24zGjbEAwIzcjMeMsgAAi9yLx4uyAACK3IrHirIAQIrciceJsgAAid2IyImzAECI3YjIiLMAAIfdh8iHswAAh92GyIazAACG3obJhrQAAIXehcmFtAAAhd6EyYS0AMCE3oTJhLQAAITfg8qDtQDAg9+CyoO1AACC34LKgrUAAILfgcqCtQAAgeCBy4G2AACB4IDLgLYAAIDggMuAtgAAgOB/y3+2AAB/4X/Mf7cAAH/hfsx/twAAfuF+zH63AAB+4X3MfrcAAH3ifc19uAAAfeJ8zX24AAB84nzNfLgAAHzifM18uAAAfON7znu5AAB743vOe7kAAHvjes57uQAAeuN6znq5AAB65HrPeroAAHrkec96ugAAeeR5z3m6AAB55HnPeboAAHnleNB4uwAAeOV40Hi7AADr7Ofa4czbwNa1zqa+lGWBuO3C28PNwsHAtrunrZVlgqjutNy2zrbDtbewqKSWZYOf76vdrs+uw624qamel2WEmO+k3qjQqMWouaSqmZhlhZLwn9+j0aTFo7qgq5WZZYaN8Zvgn9Ggx6C7naySmWWHifKX4JvSncidvJqtj5pliIXylOGY05rImr2XrY2bZYmC85HildSXype+la6LnGWKf/SO45PVlcqVv5OviZ1li3z0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Bs0AhwVOAD8AzgCIAE8ASwDPAIgAUABIANAAiQBQAEsA0QCIAFEASwDSAIoAUgBFANIAiQBTAEoA0wCKAFQASgDUAIoAVQBHANUAiwBVAFAA1gCKAFYAQQDXAIsAVwBGANcAjQBYAEIA2ACMAFkAUwDZAIsAWgBLANoAjgBaAEAA2wCPAFsAWgDcAJMAXABaANwAjQBdAFQA3QCPAF4ATwDeAI4AXwBSAN8AkgBfAEUA4ACPAGAAVADhAJEAYQBcAOIAkABiAFMA4gCaAGMAVgDjAJUAZABeAOQAjABkAFgA5QCRAGUASgDmAJIAZgBKAOcAkABnAF0A5wCdAGgAKgDoAJgAaQBWAOkAlwBpAEsA6gCTAGoAQwDrAI8AawBKAOwAlQBsAFMA7ACYAG0AUQDtAJEAbgBqAO4AlwBvAEYA7wCVAG8ATwDwAIwAcABWAPEAlQBxAG0A8QCeAHIASQDyAKAAcwBTAPMAjAB0AF0A9ACVAHQAcgD1AK8AdQB888DCQHhIskC4wahAl8CiQabBnUGSwJhBnMGVQY7AkkGUwY9BicGNQY/CikGGwYhBisKGQoPBhUKGwoNCgMGCQoPCgEJ9wn9CgMN+QnvCfEJ+w3tDecJ6Q3vDeUN3wnhDecN3Q3XDdkN3xHZDdMN1Q3bEdERyw3NEdMRyRHHDckRyxHFEb8RwRHHFcERuxG9FcMVuRW3EbkVuxW1FbMRsRW3FbEVrxWtFbMZrRWrFakZrxmpGacVpRmrGaUZoxWhGacZoRmfGZ0Zox2dGZsZmR2fHZkdlxmZHZsdlR2TGZUdlx2RHZMdkR2TIZEdjx2NIZMhjSGLHYkhjyGJIYcdiSGLIYUhhyGFIYclhSGDIYElhyWBJX8hgSWDJX0lfyF9JX8lfSV7JXklfyl5JXsleSl7KXUpdyV1KXcpdSlzJXUpdylxKXMpcSlzLXEpbylxLXMtbS1vKW0tby1tLWstaS1vLWktay1pLWsxaS1nLWUxazFlMWctZTFnMWUxYzFhMWcxYTFjMWExYzVhMV8xYTVjNV01XzFdNV81XTVfNV01XzVZNVs1WTVbOVk1WzVZOVs5WTlXNVU5WzlVOVc5VTlXOVU5VzlVOVc9UTlTOVE9Uz1RPVM5UT1TPVE9Tz1RPVM9TT1PPU09T0FNPU89TUFPQU1BSz1JQU9BSUFLQUlD3wNJA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gaJlkW34f+iG3InRisWJtYCjZZJq+H7phN2H04nGh7Z/pGWTaPh86oPehtSIx4a3fqVllGb4e+uB34XVh8iFuH6mZZVk+XnrgOCE1obJhbl9p2WWYfl37H/gg9aFyoS6fKhll1/5du194YHXhMuDu3upZZhd+XXufOKA2IPMgrx7qWWZW/hz7nvjf9qCzYG9eqplmlj4cu965H/agc6BvnqrZZtW93DweeV+24HPgL95rGWcU/Zv8Hjmfd2A0H+/ea1lnVH1bvF353zdf9F/wHiuZZ5P9Gzxduh7337SfsF4r2WfTPJr8nXpet9+037Cd7BloOnw5+Dk0N/A2LHOobyRaYG18cHhxdHFwcKyuqKrkmmCpvKz4rnSusO3s7CjopNpg5zzq+Ow07LDsLSppJyUaYSV9KTkqtSsxaq1pKWXlWmFj/Wf5aXVp8WmtqCmk5Zphor2muah1qPHorecp5CXaYeG95fnntegyJ+4maiOmGmIgviT6JvYncicuZepi5lpiX75kOmY2ZvKmrqVqomaaYp7+o7qldqYype7k6uIm2mLd/uL65PblsyVvJGshpxpjHT8ieyR3JTMlL2PrYWdaY1x/Yftj92SzZK+jq6DnmmObv6F7o3ekc+Qv4yvgp9pj2v/g++M34/Pj8CLsIGgaZBpAIHwiuCO0I3BirGAoWmRZgF/8YjhjNGMwoiyf6JpkmMCffKH4ovTi8OHs3+jaZNgA3vzheOK1IrEhrR+pGmUXQR69ITkiNWJxYW1faVplVoFePWD5YfWiMaFtnymaZZWBnf2guaG1ofHhLd8p2mXUwd194DnhdeGyIO4e6hpmE8IdPh/6ITYhcmCuXupaZlLCXL5fumD2oTKgbp6qmmaRwpx+n3qgtqDy4G7eatpm0ILb/t864HbgsyAvHmsaZw7DG78e+yA3YLNf714rWmdNA1t/Xrtf92Bzn++eK5pnikOa/557n/fgM9+v3ivaZ8XD2r/eO9+33/QfcB3sGmgCAD5wAD9AJcAgwAOAAUAoACcAK0AvgAYAIMAqADfAHMAjwAPAA0AzwCrALkAkQCNAAAAPgAOAHsALwAXAIUAvwA9AEkALwDTALIAjwDtAB8AwgCiAPQAPwCRANcArQBgAP4AmQDSAFUAJABMAFoAtQD2ADoAqgDEAGEATgCTAPsAZgDDADsAqwAmAEUAxwDVAN4AegCKACwAfQB9ANoA3QBtAFYA5QDNALYAPgAmAJQAtgDTAH0AVgD4ABEA9gDHAAkAvgDaAEkABAA4AIQAvwA0AB0AWwBfABoAtwBTADEAQgBSAMwAYABTAOIAKwBmAAAAywBcADUA2gDNAN4AOgD8AL4AtgA9AJsAvAChALMAxAA6AMgA6gDfALgAngCSAIgAPgDdAKwAAwA9AKYAygCtALMAlgAPAFMArADKAKEA3gA0AAcApQD0AL4APABeABMAPgANAKcAGgADAKkAVQA5AM8AYAA1AG4AmwCuAMsADwBPAHwACQAqAHIApgAUAK0AjACAAEoAsQBHAMAAEQAKAHoAfwCnAHsAUACVABAAEgAbAMwAYgAgAI0AhwAZAIoApQBlAMkAhwA7AGIApACAADEAAgAVAHcArQCeACgAPQCpACQAYgChADAAjgDEAG0AOwC1AMMATwA6ABsApwDtADEAPwCkANoA2gCAAMgAYf3ADYHWwAATtsAAgG1BAFhiwgCBWEIAN1HDAIFKQwA8RMQAgj9EADs6xACDNkUAQzLFAIMvRgBDK8YAgyhGADslxwCDI0cAQSDIAIQeSABDG8gAhBlJAEwXyQCFFUoAPhPKAIURSwBAEMsAhg5LAEgMzACGC0wASwnNAIcITQBJBs0AhwVOAD8AzgCIAE8ASwDPAIgAUABIANAAiQBQAEsA0QCIAFEASwDSAIoAUgBFANIAiQBTAEoA0wCKAFQASgDUAIoAVQBHANUAiwBVAFAA1gCKAFYAQQDXAIsAVwBGANcAjQBYAEIA2ACMAFkAUwDZAIsAWgBLANoAjgBaAEAA2wCPAFsAWgDcAJMAXABaANwAjQBdAFQA3QCPAF4ATwDeAI4AXwBSAN8AkgBfAEUA4ACPAGAAVADhAJEAYQBcAOIAkABiAFMA4gCaAGMAVgDjAJUAZABeAOQAjABkAFgA5QCRAGUASgDmAJIAZgBKAOcAkABnAF0A5wCdAGgAKgDoAJgAaQBWAOkAlwBpAEsA6gCTAGoAQwDrAI8AawBKAOwAlQBsAFMA7ACYAG0AUQDtAJEAbgBqAO4AlwBvAEYA7wCVAG8ATwDwAIwAcABWAPEAlQBxAG0A8QCeAHIASQDyAKAAcwBTAPMAjAB0AF0A9ACVAHQAcgD1AK8AdQB888DCQHhIskC4wahAl8CiQabBnUGSwJhBnMGVQY7AkkGUwY9BicGNQY/CikGGwYhBisKGQoPBhUKGwoNCgMGCQoPCgEJ9wn9CgMN+QnvCfEJ+w3tDecJ6Q3vDeUN3wnhDecN3Q3XDdkN3xHZDdMN1Q3bEdERyw3NEdMRyRHHDckRyxHFEb8RwRHHFcERuxG9FcMVuRW3EbkVuxW1FbMRsRW3FbEVrxWtFbMZrRWrFakZrxmpGacVpRmrGaUZoxWhGacZoRmfGZ0Zox2dGZsZmR2fHZkdlxmZHZsdlR2TGZUdlx2RHZMdkR2TIZEdjx2NIZMhjSGLHYkhjyGJIYcdiSGLIYUhhyGFIYclhSGDIYElhyWBJX8hgSWDJX0lfyF9JX8lfSV7JXklfyl5JXsleSl7KXUpdyV1KXcpdSlzJXUpdylxKXMpcSlzLXEpbylxLXMtbS1vKW0tby1tLWstaS1vLWktay1pLWsxaS1nLWUxazFlMWctZTFnMWUxYzFhMWcxYTFjMWExYzVhMV8xYTVjNV01XzFdNV81XTVfNV01XzVZNVs1WTVbOVk1WzVZOVs5WTlXNVU5WzlVOVc5VTlXOVU5VzlVOVc9UTlTOVE9Uz1RPVM5UT1TPVE9Tz1RPVM9TT1PPU09T0FNPU89TUFPQU1BSz1JQU9BSUFLQUlD3wNJA3sDCQNLAuEDKwLJBxMGtQcDBqEG8waVBuMGiQbbBn0GzwZ1BscGaQa/BmEKtwpdCq8KVQqnCk0KowpJCpsKQQqXCj0Kkwo5CosKNQqHDi0Ogw4pDn8OJQ57DiEOdw4dDnMOGQ5vDhkOaw4VDmsSERJnEg0SYxIJEl8SCRJfEgUSWxIBElcSARJXEf0SUxX5Fk8V+RZPFfUWSxX1FkcV8RZHFe0WQxXtFkMV6Ro/GekaPxnlGjsZ5Ro7GeEaNxnhGjcZ3RozGd0aMxndHjMd2R4vHdkeLx3VHisd1R4rHdEeJx3RHicd0R4nHc0eIyHNIiMhySIjIckiHyHJIh8hxSIbIcUiGyHFIhshwSIXJcEmFyXBJhclvSYTJb0mEyW9JhMluSYTJbkmDyW5Jg8puSoPKbUqCym1KgsptSoLKbEqBymxKgcpsSoHKbEuBy2tLgMtrS4DLa0uAy2tLgMtqS3/Lakt/y2pLf8tqTH/MaUx+zGlMfsxpTH7MaUx+zGhMfcxoTH3MaEx9zGhMfc1nTX3N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nUSdxJxEnMWcRZvFm0WbxZpFmsWaRZrFmUWZxZlFmMWYRZjFmEWXxZdGl8aXRpbGlkaWxpZGlcaVRpXGlUaUxpRGlMaURpTHk0eTx5NHk8eSR5LHkkeSx5JHkceRR5HHkUeRx5BHkMiQSJDIkEiPyI9Ij8iPSI/Ij0iOyI5IjsiOSI7IjkiNyI1JjcmNSY3JjUmMyYxJjMmMSYzJjEmLyYtJi8mLSYvJi0qLyopKisqKSorKikqKyopKicqJSonKiUqJyolKicuIS4jLiEuIy4hLiMuIS4jLh0uHy4dLh8uHS4fLh0uHzIZMhsyGTIbMhkyGzIZMhsyFTIXMhUyFzIVMhcyFTIXMhU2EzYRNhM2ETYTNhE2EzYRNhM2DTYPNg02DzYNNg82DToPOg06DzoJOgs6CToLOgk6CzoJOgs6CToLOgU6Bz4FPgc+BT4HPgU+Bz4FPgc+AT4DPgE+Az4BPgM+AT4DPgFCA0IBQgNB/UH/Qf1B/0AEA/0DvwOZA38DaQNXA0kDPwMxBysHHQcXBxEHCwcBBv8G9QbzBu0G6wbhBt8G2QbXBtEK0wrNCssKxQrDCr0Kvwq5CrcKtQqzCq0KrwqpCqsOpQ6jDqEOnw6dDpsOmQ6XDpUOkw6RDpMOjQ6PDokOiw6FEocShRKDEoESfxJ9En8SeRJ7EnkSdxJ1EncScRJzFnEWbxZtFm8WaRZrFmkWaxZlFmcWZRZjFmEWYxZhFl8WXRpfGl0aWxpZGlsaWRpXGlUaVxpVGlMaURpTGlEaUx5NHk8eTR5PHkkeSx5JHkseSR5HHkUeRx5FHkceQR5DIkEiQyJBIj8iPSI/Ij0iPyI9IjsiOSI7IjkiOyI5IjciNSY3JjUmNyY1JjMmMSYzJjEmMyYxJi8mLSYvJi0mLyYtKi8qKSorKikqKyopKisqKSonKiUqJyolKicqJSonLiEuIy4hLiMuIS4jLiEuIy4dLh8uHS4fLh0uHy4dLh8yGTIbMhkyGzIZMhsyGTIbMhUyFzIVMhcyFTIXMhUyFzIVNhM2ETYTNhE2EzYRNhM2ETYTNg02DzYNNg82DTYPNg06DzoNOg86CToLOgk6CzoJOgs6CToLOgk6CzoFOgc+BT4HPgU+Bz4FPgc+BT4HPgE+Az4BPgM+AT4DPgE+Az4BQgNCAUIDQf1B/0H9Qf9AAAAAAQk5TMQUCAgKdSFwSQkFDSyBLRVlTAAAATVhNRlJQUgAAAAAAQAAARGRAQAAALQBTQEAoARIAAyEAAEA5FABffz4AUwA+ATwCAAFuBXgIeAx4AAAAAAAAAAEA/0DvwOZA38DaQNXA0kDPwMxBysHHQcXBxEHCwcBBv8G9QbzBu0G6wbhBt8G2QbXBtEK0wrNCssKxQrDCr0Kvwq5CrcKtQqzCq0KrwqpCqsOpQ6jDqEOnw6dDpsOmQ6XDpUOkw6RDpMOjQ6PDokOiw6FEocShRKDEoESfxJ9En8SeRJ7EnkSdxJ1EncScRJzFnEWbxZtFm8WaRZrFmkWaxZlFmcWZRZjFmEWYxZhFl8WXRpfGl0aWxpZGlsaWRpXGlUaVxpVGlMaURpTGlEaUxpNHk8eTR5PHkkeSx5JHkseSR5HHkUeRx5FHkceQR5DIkEiQyJBIj8iPSI/Ij0iPyI9IjsiOSI7IjkiOyI5IjciNSY3JjUmNyY1JjMmMSYzJjEmMyYxJi8mLSYvJi0mLyYtKi8qKSorKikqKyopKisqKSonKiUqJyolKicqJSonKiEuIy4hLiMuIS4jLiEuIy4dLh8uHS4fLh0uHy4dLh8uGTIbMhkyGzIZMhsyGTIbMhUyFzIVMhcyFTIXMhUyFzIVNhM2ETYTNhE2EzYRNhM2ETYTNg02DzYNNg82DTYPNg06DzoNOg86CToLOgk6CzoJOgs6CToLOgk6CzoFOgc6BT4HPgU+Bz4FPgc+BT4HPgE+Az4BPgM+AT4DPgE+Az4BQgNCAUIDQf1B/0H9Qf9AIAPnAAP0AlwCDAA4ABQCgAJwArQC+ABgAgwCoAN8AcwCPAA8ADQDPAKsAuQCRAI0AAAA+AA4AewAvABcAhQC/AD0ASQAvANMAsgCPAO0AHwDCAKIA9AA/AJEA1wCtAGAA/gCZANIAVQAkAEwAWgC1APYAOgCqAMQAYQBOAJMA+wBmAMMAOwCrACYARQDHANUA3gB6AIoALAB9AH0A2gDdAG0AVgDlAM0AtgA+ACYAlAC2ANMAfQBWAPgAEQD2AMcACQC+ANoASQAEADgAhAC/ADQAHQBbAF8AGgC3AFMAMQBCAFIAzABgAFMA4gArAGYAAADLAFwANQDaAM0A3gA6APwAvgC2AD0AmwC8AKEAswDEADoAyADqAN8AuACeAJIAiAA+AN0ArAADAD0ApgDKAK0AswCWAA8AUwCsAMoAoQDeADQABwClAPQAvgA8AF4AEwA+AA0ApwAaAAMAqQBVADkAzwBgADUAbgCbAK4AywAPAE8AfAAJACoAcgCmABQArQCMAIAASgCxAEcAwAARAAoAegB/AKcAewBQAJUAEAASABsAzABiACAAjQCHABkAigClAGUAyQCHADsAYgCkAIAAMQACABUAdwCtAJ4AKAA9AKkAJABiAKEAMACOAMQAbQA7ALUAwwBPADoAGwCnAO0AMQA/AKQA2gDaAIAAyABh/cANgdbAABO2wACAbUEAWGLCAIFYQgA3UcMAgUpDADxExACCP0QAOzrEAIM2RQBDMsUAgy9GAEMrxgCDKEYAOyXHAIMjRwBBIMgAhB5IAEMbyACEGUkATBfJAIUVSgA+E8oAhRFLAEAQywCGDksASAzMAIYLTABLCc0AhwhNAEkGzQCHBU4APwDOAIgATwBLAM8AiABQAEgA0ACJAFAASwDRAIgAUQBLANIAigBSAEUA0gCJAFMASgDTAIoAVABKANQAigBVAEcA1QCLAFUAUADWAIoAVgBBANcAiwBXAEYA1wCNAFgAQgDYAIwAWQBTANkAiwBaAEsA2gCOAFoAQADbAI8AWwBaANwAkwBcAFoA3ACNAF0AVADdAI8AXgBPAN4AjgBfAFIA3wCSAF8ARQDgAI8AYABUAOEAkQBhAFwA4gCQAGIAUwDiAJoAYwBWAOMAlQBkAF4A5ACMAGQAWADlAJEAZQBKAOYAkgBmAEoA5wCQAGcAXQDnAJ0AaAAqAOgAmABpAFYA6QCXAGkASwDqAJMAagBDAOsAjwBrAEoA7ACVAGwAUwDsAJgAbQBRAO0AkQBuAGoA7gCXAG8ARgDvAJUAbwBPAPAAjABwAFYA8QCVAHEAbQDxAJ4AcgBJAPIAoABzAFMA8wCMAHQAXQD0AJUAdAByAPUArwB1AHzzwMJAeEiyQLjBqECXwKJBpsGdQZLAmEGcwZVBjsCSQZTBj0GJwY1Bj8KKQYbBiEGKwoZCg8GFQobCg0KAwYJCg8KAQn3Cf0KAw35Ce8J8Qn7De0N5wnpDe8N5Q3fCeEN5w3dDdcN2Q3fEdkN0w3VDdsR0RHLDc0R0xHJEccNyRHLEcURvxHBEccVwRG7Eb0VwxW5FbcRuRW7FbUVsxGxFbcVsRWvFa0VsxmtFasVqRmvGakZpxWlGasZpRmjFaEZpxmhGZ8ZnRmjHZ0ZmxmZHZ8dmR2XGZkdmx2VHZMZlR2XHZEdkx2RHZMhkR2PHY0hkyGNIYsdiSGPIYkhhx2JIYshhSGHIYUhhyWFIYMhgSWHJYElfyGBJYMlfSV/IX0lfyV9JXsleSV/KXkleyV5KXspdSl3JXUpdyl1KXMldSl3KXEpcylxKXMtcSlvKXEtcy1tLW8pbS1vLW0tay1pLW8taS1rLWktazFpLWctZTFrMWUxZy1lMWcxZTFjMWExZzFhMWMxYTFjNWExXzFhNWM1XTVfMV01XzVdNV81XTVfNVk1WzVZNVs5WTVbNVk5WzlZOVc1VTlbOVU5VzlVOVc5VTlXOVU5Vz1ROVM5UT1TPVE9UzlRPVM9UT1PPVE9Uz1NPU89TT1PQU09Tz1NQU9BTUFLPUlBT0FJQUtBSUPfA0kDewMJA0sC4QMrAskHEwa1BwMGoQbzBpUG4waJBtsGfQbPBnUGxwZpBr8GYQq3Cl0KrwpVCqcKTQqjCkkKmwpBCpcKPQqTCjkKiwo1CocOLQ6DDikOfw4lDnsOIQ53Dh0Ocw4ZDm8OGQ5rDhUOaxIREmcSDRJjEgkSXxIJEl8SBRJbEgESVxIBElcR/RJTFfkWTxX5Fk8V9RZLFfUWRxXxFkcV7RZDFe0WQxXpGj8Z6Ro/GeUaOxnlGjsZ4Ro3GeEaNxndGjMZ3RozGd0eMx3ZHi8d2R4vHdUeKx3VHisd0R4nHdEeJx3RHicdzR4jIc0iIyHJIiMhySIfIckiHyHFIhshxSIbIcUiGyHBIhclwSYXJcEmFyW9JhMlvSYTJb0mEyW5JhMluSYPJbkmDym5Kg8ptSoLKbUqCym1KgspsSoHKbEqBymxKgcpsS4HLa0uAy2tLgMtrS4DLa0uAy2pLf8tqS3/Lakt/y2pMf8xpTH7MaUx+zGlMfsxpTH7MaEx9zGhMfcxoTH3MaEx9zWdNfc1nTXzNZ018zWdNfM1nTXzNZk17zWZNe81mTXvOZk57zmVOe85lTnrOZU56zmVOes5lTnrOZU56zmROec9kT3nPZE95z2RPec9kT3nPY095z2NPeM9jT3jPY1B40GNQeNBiUHjQYlB30GJQ/8AAqebAAEfawAC70sAAQMzBAEvHwQDAxMEAwMDBAK29wQDAu8EA+rjBAEC2wQATtMIAs7PC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ANIAVQAkAEwAWgC1APYAOgCqAMQAYQBOAJMA+wBmAMMAOwCrACYARQDHANUA3gB6AIoALAB9AH0A2gDdAG0AVgDlAM0AtgA+ACYAlAC2ANMAfQBWAPgAEQD2AMcACQC+ANoASQAEADgAhAC/ADQAHQBbAF8AGgC3AFMAMQBCAFIAzABgAFMA4gArAGYAAADLAFwANQDaAM0A3gA6APwAvgC2AD0AmwC8AKEAswDEADoAyADqAN8AuACeAJIAiAA+AN0ArAADAD0ApgDKAK0AswCWAA8AUwCsAMoAoQDeADQABwClAPQAvgA8AF4AEwA+AA0ApwAaAAMAqQBVADkAzwBgADUAbgCbAK4AywAPAE8AfAAJACoAcgCmABQArQCMAIAASgCxAEcAwAARAAoAegB/AKcAewBQAJUAEAASABsAzABiACAAjQCHABkAigClAGUAyQCHADsAYgCkAIAAMQACABUAdwCtAJ4AKAA9AKkAJABiAKEAMACOAMQAbQA7ALUAwwBPADoAGwCnAO0AMQA/AKQA2gDaAIAAyABh/cANgdbAABO2wACAbUEAWGLCAIFYQgA3UcMAgUpDADxExACCP0QAOzrEAIM2RQBDMsUAgy9GAEMrxgCDKEYAOyXHAIMjRwBBIMgAhB5IAEMbyACEGUkATBfJAIUVSgA+E8oAhRFLAEAQywCGDksASAzMAIYLTABLCc0AhwhNAEkGzQCHBU4APwDOAIgATwBLAM8AiABQAEgA0ACJAFAASwDRAIgAUQBLANIAigBSAEUA0gCJAFMASgDTAIoAVABKANQAigBVAEcA1QCLAFUAUADWAIoAVgBBANcAiwBXAEYA1wCNAFgAQgDYAIwAWQBTANkAiwBaAEsA2gCOAFoAQADbAI8AWwBaANwAkwBcAFoA3ACNAF0AVADdAI8AXgBPAN4AjgBfAFIA3wCSAF8ARQDgAI8AYABUAOEAkQBhAFwA4gCQAGIAUwDiAJoAYwBWAOMAlQBkAF4A5ACMAGQAWADlAJEAZQBKAOYAkgBmAEoA5wCQAGcAXQDnAJ0AaAAqAOgAmABpAFYA6QCXAGkASwDqAJMAagBDAOsAjwBrAEoA7ACVAGwAUwDsAJgAbQBRAO0AkQBuAGoA7gCXAG8ARgDvAJUAbwBPAPAAjABwAFYA8QCVAHEAbQDxAJ4AcgBJAPIAoABzAFMA8wCMAHQAXQD0AJUAdAByAPUArwB1AHzzwMJAeEiyQLjBqECXwKJBpsGdQZLAmEGcwZVBjsCSQZTBj0GJwY1Bj8KKQYbBiEGKwoZCg8GFQobCg0KAwYJCg8KAQn3Cf0KAw35Ce8J8Qn7De0N5wnpDe8N5Q3fCeEN5w3dDdcN2Q3fEdkN0w3VDdsR0RHLDc0R0xHJEccNyRHLEcURvxHBEccVwRG7Eb0VwxW5FbcRuRW7FbUVsxGxFbcVsRWvFa0VsxmtFasVqRmvGakZpxWlGasZpRmjFaEZpxmhGZ8ZnRmjHZ0ZmxmZHZ8dmR2XGZkdmx2VHZMZlR2XHZEdkx2RHZMhkR2PHY0hkyGNIYsdiSGPIYkhhx2JIYshhSGHIYUhhyWFIYMhgSWHJYElfyGBJYMlfSV/IX0lfyV9JXsleSV/KXkleyV5KXspdSl3JXUpdyl1KXMldSl3KXEpcylxKXMtcSlvKXEtcy1tLW8pbS1vLW0tay1pLW8taS1rLWktazFpLWctZTFrMWUxZy1lMWcxZTFjMWExZzFhMWMxYTFjNWExXzFhNWM1XTVfMV01XzVdNV81XTVfNVk1WzVZNVs5WTVbNVk5WzlZOVc1VTlbOVU5VzlVOVc5VTlXOVU5Vz1ROVM5UT1TPVE9UzlRPVM9UT1PPVE9Uz1NPU89TT1PQU09Tz1NQU9BTUFLPUlBT0FJQUtBSUPfA0kDewMJA0sC4QMrAskHEwa1BwMGoQbzBpUG4waJBtsGfQbPBnUGxwZpBr8GYQq3Cl0KrwpVCqcKTQqjCkkKmwpBCpcKPQqTCjkKiwo1CocOLQ6DDikOfw4lDnsOIQ53Dh0Ocw4ZDm8OGQ5rDhUOaxIREmcSDRJjEgkSXxIJEl8SBRJbEgESVxIBElcR/RJTFfkWTxX5Fk8V9RZLFfUWRxXxFkcV7RZDFe0WQxXpGj8Z6Ro/GeUaOxnlGjsZ4Ro3GeEaNxndGjMZ3RozGd0eMx3ZHi8d2R4vHdUeKx3VHisd0R4nHdEeJx3RHicdzR4jIc0iIyHJIiMhySIfIckiHyHFIhshxSIbIcUiGyHBIhclwSYXJcEmFyW9JhMlvSYTJb0mEyW5JhMluSYPJbkmDym5Kg8ptSoLKbUqCym1KgspsSoHKbEqBymxKgcpsS4HLa0uAy2tLgMtrS4DLa0uAy2pLf8tqS3/Lakt/y2pMf8xpTH7MaUx+zGlMfsxpTH7MaEx9zGhMfcxoTH3MaEx9zWdNfc1nTXzNZ018zWdNfM1nTXzNZk17zWZNe81mTXvOZk57zmVOe85lTnrOZU56zmVOes5lTnrOZU56zmROec9kT3nPZE95z2RPec9kT3nPY095z2NPeM9jT3jPY1B40GNQeNBiUHjQYlB30GJQ/8AAqebAAEfawAC70sAAQMzBAEvHwQDAxMEAwMDBAK29wQDAu8EA+rjBAEC2wQATtMIAs7PCAECxwgBAr8IAQK7CACitwgC9q8IAU6rCAMOpwwBoqMMAQKfDAECmwwAApcMAwKTDAMCjwwDKosMAQKHEAAChxABAoMQAQJ/EAACexABAnsQAAJ3EAECcxABAnMUAxZvFAACaxQAAmsUAAJnFAMCZxQAAmMUAIJjFAACXxgBAl8YAAJbGAACWxgAAlcYAAJXGAACUxgAAlMYAAJPHAECTxwAAkscAwJLHAACSxwAAkccAAJHHAACQxwAAkMgAQJDIAACPyADAj8gAAI/IANOOyAAAjsgAAI7IAACNyQAAjckAAI3JANOMyQAAjMkAAIzJAACLyQAAi8kAAIvKAACKygAAisoAAIrKAACKygAgicoAAInKAACJygAAiMsAAIjLAACIywAAiMsAAIfLAACHywAAh8sAAIfLAACGzAAAhswAAIbMAACGzAAAhcwAAIXMAACFzAAAhcwAAIXNAACEzQAAhM0AAITNAACEzQAAg80AAIPNAACDzQAAg84AAIPOAACCzgAAgs4AAILOAACCzgAAgs4AAIHOAACBzwAAgc8AAIHPAACBzwAAgM8AAIDPAACAzwAAgM8AAIDQAACA0AAAf9AAAH/QAAD41efA3qsAQtPVzsDLqwC2xdbCwcCsAMC81rrBuawAwLbWtcG0rABhsdawwa+sAMCt16zCq60AQKrXqcKorQBtp9emwqWtAECk16PCo60A8qLYocOhrgAAoNifw5+uAECe2J3Dna4ALZzYm8ObrgBTmtmZxJmvAECZ2ZjEmK8AAJfZlsSWrwBAltmVxJWvAECV2pTFlLAAQJPak8WTsABAktqRxZKwAACR2pDFkLAAYJDbj8aPsQD1j9uOxo6xAACO243GjbEAAI3bjMaNsQDAjNyMx4yyAACL3IvHi7IAAIrciseKsgBAityJx4myAACJ3YjIibMAQIjdiMiIswAAh92HyIezAACH3YbIhrMAAIbehsmGtAAAhd6FyYW0AACF3oTJhLQAwITehMmEtAAAhN+DyoO1AMCD34LKg7UAAILfgsqCtQAAgt+ByoK1AACB4IHLgbYAAIHggMuAtgAAgOCAy4C2AACA4H/Lf7YAAH/hf8x/twAAf+F+zH+3AAB+4X7MfrcAAH7hfcx+twAAfeJ9zX24AAB94nzNfbgAAHzifM18uAAAfOJ8zXy4AAB843vOe7kAAHvje857uQAAe+N6znu5AAB643rOerkAAHrkes96ugAAeuR5z3q6AAB55HnPeboAAHnkec95ugAAeeV40Hi7AAB45XjQeLsAAOvs59rhzNvA1rXOpr6UZYG47cLbw83CwcC2u6etlWWCqO603LbOtsO1t7CopJZlg5/vq92uz67DrbipqZ6XZYSY76TeqNCoxai5pKqZmGWFkvCf36PRpMWjuqCrlZllho3xm+Cf0aDHoLudrJKZZYeJ8pfgm9KdyJ28mq2PmmWIhfKU4ZjTmsiavZetjZtliYLzkeKV1JfKl76VroucZYp/9I7jk9WVypW/k6+JnWWLfPSM5JHWk8yTwJGwh55ljHn1ieSO15HMkcGPsYafZY129ofljNiPzZDCjrKEoGWOdPaF5ovZjc+Owoyzg6Blj3H3g+eJ2ovPjcOLtIKhZZBv94Hoh9uK0IzEirWBomWRbfh/6IbcidGKxYm1gKNlkmr4fumE3YfTicaHtn+kZZNo+Hzqg96G1IjHhrd+pWWUZvh764HfhdWHyIW4fqZllWT5eeuA4ITWhsmFuX2nZZZh+Xfsf+CD1oXKhLp8qGWXX/l27X3hgdeEy4O7e6llmF35de584oDYg8yCvHupZZlb+HPue+N/2oLNgb16qmWaWPhy73rkf9qBzoG+eqtlm1b3cPB55X7bgc+Av3msZZxT9m/weOZ93YDQf795rWWdUfVu8XfnfN1/0X/AeK5lnk/0bPF26HvfftJ+wXivZZ9M8mvydel6337TfsJ3sGWg6fDn4OTQ38DYsc6hvJFpgbXxweHF0cXBwrK6oquSaYKm8rPiudK6w7ezsKOik2mDnPOr47DTssOwtKmknJRphJX0pOSq1KzFqrWkpZeVaYWP9Z/lpdWnxaa2oKaTlmmGivaa5qHWo8eit5ynkJdph4b3l+ee16DIn7iZqI6YaYiC+JPom9idyJy5l6mLmWmJfvmQ6ZjZm8qaupWqiZppinv6juqV2pjKl7uTq4ibaYt3+4vrk9uWzJW8kayGnGmMdPyJ7JHclMyUvY+thZ1pjXH9h+2P3ZLNkr6OroOeaY5u/oXujd6Rz5C/jK+Cn2mPa/+D74zfj8+PwIuwgaBpkGkAgfCK4I7QjcGKsYChaZFmAX/xiOGM0YzCiLJ/ommSYwJ98ofii9OLw4ezf6Npk2ADe/OF44rUisSGtH6kaZRdBHr0hOSI1YnFhbV9pWmVWgV49YPlh9aIxoW2fKZpllYGd/aC5obWh8eEt3ynaZdTB3X3gOeF14bIg7h7qGmYTwh0+H/ohNiFyYK5e6lpmUsJcvl+6YPahMqBunqqaZpHCnH6feqC2oPLgbt5q2mbQgtv+3zrgduCzIC8eaxpnDsMbvx77IDdgs1/vXitaZ00DW39eu1/3YHOf754rmmeKQ5r/nnuf9+Az36/eK9pnxcPav94737ff9B9wHewaaAAAAAAQk5TMQUCAgLEvlwEQ0hJTEwgQ0hPUkQATVhNRlJQUgAAAAAAQAAAMRZgQAAAIAAjQEAAARQAA04AAEAAFABffz4AZQA+ATwCAAFuBXgIeAx4AEkAAAAAAAEA/0DvwOZA38DaQNXA0kDPwMxBysHHQcXBxEHCwcBBv8G9QbzBu0G6wbhBt8G2QbXBtEK0wrNCssKxQrDCr0Kvwq5CrcKtQqzCq0KrwqpCqsOpQ6jDqEOnw6dDpsOmQ6XDpUOkw6RDpMOjQ6PDokOiw6FEocShRKDEoESfxJ9En8SeRJ7EnkSdxJ1EncScRJzFnEWbxZtFm8WaRZrFmkWaxZlFmcWZRZjFmEWYxZhFl8WXRpfGl0aWxpZGlsaWRpXGlUaVxpVGlMaURpTGlEaUx5NHk8eTR5PHkkeSx5JHkseSR5HHkUeRx5FHkceQR5DIkEiQyJBIj8iPSI/Ij0iPyI9IjsiOSI7IjkiOyI5IjciNSY3JjUmNyY1JjMmMSYzJjEmMyYxJi8mLSYvJi0mLyYtKi8qKSorKikqKyopKisqKSonKiUqJyolKicqJSonLiEuIy4hLiMuIS4jLiEuIy4dLh8uHS4fLh0uHy4dLh8yGTIbMhkyGzIZMhsyGTIbMhUyFzIVMhcyFTIXMhUyFzIVNhM2ETYTNhE2EzYRNhM2ETYTNg02DzYNNg82DTYPNg06DzoNOg86CToLOgk6CzoJOgs6CToLOgk6CzoFOgc+BT4HPgU+Bz4FPgc+BT4HPgE+Az4BPgM+AT4DPgE+Az4BQgNCAUIDQf1B/0H9Qf9ABAP9A78DmQN/A2kDVwNJAz8DMQcrBx0HFwcRBwsHAQb/BvUG8wbtBusG4QbfBtkG1wbRCtMKzQrLCsUKwwq9Cr8KuQq3CrUKswqtCq8KqQqrDqUOow6hDp8OnQ6bDpkOlw6VDpMOkQ6TDo0Ojw6JDosOhRKHEoUSgxKBEn8SfRJ/EnkSexJ5EncSdRJ3EnEScxZxFm8WbRZvFmkWaxZpFmsWZRZnFmUWYxZhFmMWYRZfFl0aXxpdGlsaWRpbGlkaVxpVGlcaVRpTGlEaUxpRGlMeTR5PHk0eTx5JHkseSR5LHkkeRx5FHkceRR5HHkEeQyJBIkMiQSI/Ij0iPyI9Ij8iPSI7IjkiOyI5IjsiOSI3IjUmNyY1JjcmNSYzJjEmMyYxJjMmMSYvJi0mLyYtJi8mLSovKikqKyopKisqKSorKikqJyolKicqJSonKiUqJy4hLiMuIS4jLiEuIy4hLiMuHS4fLh0uHy4dLh8uHS4fMhkyGzIZMhsyGTIbMhkyGzIVMhcyFTIXMhUyFzIVMhcyFTYTNhE2EzYRNhM2ETYTNhE2EzYNNg82DTYPNg02DzYNOg86DToPOgk6CzoJOgs6CToLOgk6CzoJOgs6BToHPgU+Bz4FPgc+BT4HPgU+Bz4BPgM+AT4DPgE+Az4BPgM+AUIDQgFCA0H9Qf9B/UH/QAAAAAEJOUzEFAQMCkA9aAk1PVkUgQVJQAAAAAE5BSFVTSAAAAAAAAEAAAABNIUAAAy0AAEBAAAAUAAVkDwBAQBQMZhhnAF9/PgE9ADgBbgV4CHgMeAAAAAAAAAABAP9A78DmQN/A2kDVwNJAz8DMQcrBx0HFwcRBwsHAQb/BvUG8wbtBusG4QbfBtkG1wbRCtMKzQrLCsUKwwq9Cr8KuQq3CrUKswqtCq8KqQqrDqUOow6hDp8OnQ6bDpkOlw6VDpMOkQ6TDo0Ojw6JDosOhRKHEoUSgxKBEn8SfRJ/EnkSexJ5EncSdRJ3EnEScxZxFm8WbRZvFmkWaxZpFmsWZRZnFmUWYxZhFmMWYRZfFl0aXxpdGlsaWRpbGlkaVxpVGlcaVRpTGlEaUxpRGlMeTR5PHk0eTx5JHkseSR5LHkkeRx5FHkceRR5HHkEeQyJBIkMiQSI/Ij0iPyI9Ij8iPSI7IjkiOyI5IjsiOSI3IjUmNyY1JjcmNSYzJjEmMyYxJjMmMSYvJi0mLyYtJi8mLSovKikqKyopKisqKSorKikqJyolKicqJSonKiUqJy4hLiMuIS4jLiEuIy4hLiMuHS4fLh0uHy4dLh8uHS4fMhkyGzIZMhsyGTIbMhkyGzIVMhcyFTIXMhUyFzIVMhcyFTYTNhE2EzYRNhM2ETYTNhE2EzYNNg82DTYPNg02DzYNOg86DToPOgk6CzoJOgs6CToLOgk6CzoJOgs6BToHPgU+Bz4FPgc+BT4HPgU+Bz4BPgM+AT4DPgE+Az4BPgM+AUIDQgFCA0H9Qf9B/UH/QAAAAAAAAQk5TMQUCAgI2+lwEU1BBQ0UgUExVQ0sATVhNRlJQUgAAAAAAQAAAMWRgQAAAIABhQEAAARQAA04AAEAAFABffz4AZQA+ATwCAAFuBXgIeAx4AAAAAAAAAAEA/0DvwOZA38DaQNXA0kDPwMxBysHHQcXBxEHCwcBBv8G9QbzBu0G6wbhBt8G2QbXBtEK0wrNCssKxQrDCr0Kvwq5CrcKtQqzCq0KrwqpCqsOpQ6jDqEOnw6dDpsOmQ6XDpUOkw6RDpMOjQ6PDokOiw6FEocShRKDEoESfxJ9En8SeRJ7EnkSdxJ1EncScRJzFnEWbxZtFm8WaRZrFmkWaxZlFmcWZRZjFmEWYxZhFl8WXRpfGl0aWxpZGlsaWRpXGlUaVxpVGlMaURpTGlEaUx5NHk8eTR5PHkkeSx5JHkseSR5HHkUeRx5FHkceQR5DIkEiQyJBIj8iPSI/Ij0iPyI9IjsiOSI7IjkiOyI5IjciNSY3JjUmNyY1JjMmMSYzJjEmMyYxJi8mLSYvJi0mLyYtKi8qKSorKikqKyopKisqKSonKiUqJyolKicqJSonLiEuIy4hLiMuIS4jLiEuIy4dLh8uHS4fLh0uHy4dLh8yGTIbMhkyGzIZMhsyGTIbMhUyFzIVMhcyFTIXMhUyFzIVNhM2ETYTNhE2EzYRNhM2ETYTNg02DzYNNg82DTYPNg06DzoNOg86CToLOgk6CzoJOgs6CToLOgk6CzoFOgc+BT4HPgU+Bz4FPgc+BT4HPgE+Az4BPgM+AT4DPgE+Az4BQgNCAUIDQf1B/0H9Qf9ABAP9A78DmQN/A2kDVwNJAz8DMQcrBx0HFwcRBwsHAQb/BvUG8wbtBusG4QbfBtkG1wbRCtMKzQrLCsUKwwq9Cr8KuQq3CrUKswqtCq8KqQqrDqUOow6hDp8OnQ6bDpkOlw6VDpMOkQ6TDo0Ojw6JDosOhRKHEoUSgxKBEn8SfRJ/EnkSexJ5EncSdRJ3EnEScxZxFm8WbRZvFmkWaxZpFmsWZRZnFmUWYxZhFmMWYRZfFl0aXxpdGlsaWRpbGlkaVxpVGlcaVRpTGlEaUxpRGlMeTR5PHk0eTx5JHkseSR5LHkkeRx5FHkceRR5HHkEeQyJBIkMiQSI/Ij0iPyI9Ij8iPSI7IjkiOyI5IjsiOSI3IjUmNyY1JjcmNSYzJjEmMyYxJjMmMSYvJi0mLyYtJi8mLSovKikqKyopKisqKSorKikqJyolKicqJSonKiUqJy4hLiMuIS4jLiEuIy4hLiMuHS4fLh0uHy4dLh8uHS4fMhkyGzIZMhsyGTIbMhkyGzIVMhcyFTIXMhUyFzIVMhcyFTYTNhE2EzYRNhM2ETYTNhE2EzYNNg82DTYPNg02DzYNOg86DToPOgk6CzoJOgs6CToLOgk6CzoJOgs6BToHPgU+Bz4FPgc+BT4HPgU+Bz4BPgM+AT4DPgE+Az4BPgM+AUIDQgFCA0H9Qf9B/UH/QAAAAAEJOUzEFAgICOqlcEkFSUCBMSU5FAAAAAE1YTUZSUFIAAAAAACAiAARkQEAAARYAYCFASAMdAAFlAABAABQAX39ZAGwAPgE8AgAMbgxxCHgKJAAnAAAAAAABAP9A78DmQN/A2kDVwNJAz8DMQcrBx0HFwcRBwsHAQb/BvUG8wbtBusG4QbfBtkG1wbRCtMKzQrLCsUKwwq9Cr8KuQq3CrUKswqtCq8KqQqrDqUOow6hDp8OnQ6bDpkOlw6VDpMOkQ6TDo0Ojw6JDosOhRKHEoUSgxKBEn8SfRJ/EnkSexJ5EncSdRJ3EnEScxZxFm8WbRZvFmkWaxZpFmsWZRZnFmUWYxZhFmMWYRZfFl0aXxpdGlsaWRpbGlkaVxpVGlcaVRpTGlEaUxpRGlMeTR5PHk0eTx5JHkseSR5LHkkeRx5FHkceRR5HHkEeQyJBIkMiQSI/Ij0iPyI9Ij8iPSI7IjkiOyI5IjsiOSI3IjUmNyY1JjcmNSYzJjEmMyYxJjMmMSYvJi0mLyYtJi8mLSovKikqKyopKisqKSorKikqJyolKicqJSonKiUqJy4hLiMuIS4jLiEuIy4hLiMuHS4fLh0uHy4dLh8uHS4fMhkyGzIZMhsyGTIbMhkyGzIVMhcyFTIXMhUyFzIVMhcyFTYTNhE2EzYRNhM2ETYTNhE2EzYNNg82DTYPNg02DzYNOg86DToPOgk6CzoJOgs6CToLOgk6CzoJOgs6BToHPgU+Bz4FPgc+BT4HPgU+Bz4BPgM+AT4DPgE+Az4BPgM+AUIDQgFCA0H9Qf9B/UH/QCAD5wAD9AJcAgwAOAAUAoACcAK0AvgAYAIMAqADfAHMAjwAPAA0AzwCrALkAkQCNAAAAPgAOAHsALwAXAIUAvwA9AEkALwDTALIAjwDtAB8AwgCiAPQAPwCRANcArQBgAP4AmQDSAFUAJABMAFoAtQD2ADoAqgDEAGEATgCTAPsAZgDDADsAqwAmAEUAxwDVAN4AegCKACwAfQB9ANoA3QBtAFYA5QDNALYAPgAmAJQAtgDTAH0AVgD4ABEA9gDHAAkAvgDaAEkABAA4AIQAvwA0AB0AWwBfABoAtwBTADEAQgBSAMwAYABTAOIAKwBmAAAAywBcADUA2gDNAN4AOgD8AL4AtgA9AJsAvAChALMAxAA6AMgA6gDfALgAngCSAIgAPgDdAKwAAwA9AKYAygCtALMAlgAPAFMArADKAKEA3gA0AAcApQD0AL4APABeABMAPgANAKcAGgADAKkAVQA5AM8AYAA1AG4AmwCuAMsADwBPAHwACQAqAHIApgAUAK0AjACAAEoAsQBHAMAAEQAKAHoAfwCnAHsAUACVABAAEgAbAMwAYgAgAI0AhwAZAIoApQBlAMkAhwA7AGIApACAADEAAgAVAHcArQCeACgAPQCpACQAYgChADAAjgDEAG0AOwC1AMMATwA6ABsApwDtADEAPwCkANoA2gCAAMgAYf3ADYHWwAATtsAAgG1BAFhiwgCBWEIAN1HDAIFKQwA8RMQAgj9EADs6xACDNkUAQzLFAIMvRgBDK8YAgyhGADslxwCDI0cAQSDIAIQeSABDG8gAhBlJAEwXyQCFFUoAPhPKAIURSwBAEMsAhg5LAEgMzACGC0wASwnNAIcITQBJBs0AhwVOAD8AzgCIAE8ASwDPAIgAUABIANAAiQBQAEsA0QCIAFEASwDSAIoAUgBFANIAiQBTAEoA0wCKAFQASgDUAIoAVQBHANUAiwBVAFAA1gCKAFYAQQDXAIsAVwBGANcAjQBYAEIA2ACMAFkAUwDZAIsAWgBLANoAjgBaAEAA2wCPAFsAWgDcAJMAXABaANwAjQBdAFQA3QCPAF4ATwDeAI4AXwBSAN8AkgBfAEUA4ACPAGAAVADhAJEAYQBcAOIAkABiAFMA4gCaAGMAVgDjAJUAZABeAOQAjABkAFgA5QCRAGUASgDmAJIAZgBKAOcAkABnAF0A5wCdAGgAKgDoAJgAaQBWAOkAlwBpAEsA6gCTAGoAQwDrAI8AawBKAOwAlQBsAFMA7ACYAG0AUQDtAJEAbgBqAO4AlwBvAEYA7wCVAG8ATwDwAIwAcABWAPEAlQBxAG0A8QCeAHIASQDyAKAAcwBTAPMAjAB0AF0A9ACVAHQAcgD1AK8AdQB888DCQHhIskC4wahAl8CiQabBnUGSwJhBnMGVQY7AkkGUwY9BicGNQY/CikGGwYhBisKGQoPBhUKGwoNCgMGCQoPCgEJ9wn9CgMN+QnvCfEJ+w3tDecJ6Q3vDeUN3wnhDecN3Q3XDdkN3xHZDdMN1Q3bEdERyw3NEdMRyRHHDckRyxHFEb8RwRHHFcERuxG9FcMVuRW3EbkVuxW1FbMRsRW3FbEVrxWtFbMZrRWrFakZrxmpGacVpRmrGaUZoxWhGacZoRmfGZ0Zox2dGZsZmR2fHZkdlxmZHZsdlR2TGZUdlx2RHZMdkR2TIZEdjx2NIZMhjSGLHYkhjyGJIYcdiSGLIYUhhyGFIYclhSGDIYElhyWBJX8hgSWDJX0lfyF9JX8lfSV7JXklfyl5JXsleSl7KXUpdyV1KXcpdSlzJXUpdylxKXMpcSlzLXEpbylxLXMtbS1vKW0tby1tLWstaS1vLWktay1pLWsxaS1nLWUxazFlMWctZTFnMWUxYzFhMWcxYTFjMWExYzVhMV8xYTVjNV01XzFdNV81XTVfNV01XzVZNVs1WTVbOVk1WzVZOVs5WTlXNVU5WzlVOVc5VTlXOVU5VzlVOVc9UTlTOVE9Uz1RPVM5UT1TPVE9Tz1RPVM9TT1PPU09T0FNPU89TUFPQU1BSz1JQU9BSUFLQUlD3wNJA3sDCQNLA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ABcAhQC/AD0ASQAvANMAsgCPAO0AHwDCAKIA9AA/AJEA1wCtAGAA/gCZANIAVQAkAEwAWgC1APYAOgCqAMQAYQBOAJMA+wBmAMMAOwCrACYARQDHANUA3gB6AIoALAB9AH0A2gDdAG0AVgDlAM0AtgA+ACYAlAC2ANMAfQBWAPgAEQD2AMcACQC+ANoASQAEADgAhAC/ADQAHQBbAF8AGgC3AFMAMQBCAFIAzABgAFMA4gArAGYAAADLAFwANQDaAM0A3gA6APwAvgC2AD0AmwC8AKEAswDEADoAyADqAN8AuACeAJIAiAA+AN0ArAADAD0ApgDKAK0AswCWAA8AUwCsAMoAoQDeADQABwClAPQAvgA8AF4AEwA+AA0ApwAaAAMAqQBVADkAzwBgADUAbgCbAK4AywAPAE8AfAAJACoAcgCmABQArQCMAIAASgCxAEcAwAARAAoAegB/AKcAewBQAJUAEAASABsAzABiACAAjQCHABkAigClAGUAyQCHADsAYgCkAIAAMQACABUAdwCtAJ4AKAA9AKkAJABiAKEAMACOAMQAbQA7ALUAwwBPADoAGwCnAO0AMQA/AKQA2gDaAIAAyABh/cANgdbAABO2wACAbUEAWGLCAIFYQgA3UcMAgUpDADxExACCP0QAOzrEAIM2RQBDMsUAgy9GAEMrxgCDKEYAOyXHAIMjRwBBIMgAhB5IAEMbyACEGUkATBfJAIUVSgA+E8oAhRFLAEAQywCGDksASAzMAIYLTABLCc0AhwhNAEkGzQCHBU4APwDOAIgATwBLAM8AiABQAEgA0ACJAFAASwDRAIgAUQBLANIAigBSAEUA0gCJAFMASgDTAIoAVABKANQAigBVAEcA1QCLAFUAUADWAIoAVgBBANcAiwBXAEYA1wCNAFgAQgDYAIwAWQBTANkAiwBaAEsA2gCOAFoAQADbAI8AWwBaANwAkwBcAFoA3ACNAF0AVADdAI8AXgBPAN4AjgBfAFIA3wCSAF8ARQDgAI8AYABUAOEAkQBhAFwA4gCQAGIAUwDiAJoAYwBWAOMAlQBkAF4A5ACMAGQAWADlAJEAZQBKAOYAkgBmAEoA5wCQAGcAXQDnAJ0AaAAqAOgAmABpAFYA6QCXAGkASwDqAJMAagBDAOsAjwBrAEoA7ACVAGwAUwDsAJgAbQBRAO0AkQBuAGoA7gCXAG8ARgDvAJUAbwBPAPAAjABwAFYA8QCVAHEAbQDxAJ4AcgBJAPIAoABzAFMA8wCMAHQAXQD0AJUAdAByAPUArwB1AHzzwMJAeEiyQLjBqECXwKJBpsGdQZLAmEGcwZVBjsCSQZTBj0GJwY1Bj8KKQYbBiEGKwoZCg8GFQobCg0KAwYJCg8KAQn3Cf0KAw35Ce8J8Qn7De0N5wnpDe8N5Q3fCeEN5w3dDdcN2Q3fEdkN0w3VDdsR0RHLDc0R0xHJEccNyRHLEcURvxHBEccVwRG7Eb0VwxW5FbcRuRW7FbUVsxGxFbcVsRWvFa0VsxmtFasVqRmvGakZpxWlGasZpRmjFaEZpxmhGZ8ZnRmjHZ0ZmxmZHZ8dmR2XGZkdmx2VHZMZlR2XHZEdkx2RHZMhkR2PHY0hkyGNIYsdiSGPIYkhhx2JIYshhSGHIYUhhyWFIYMhgSWHJYElfyGBJYMlfSV/IX0lfyV9JXsleSV/KXkleyV5KXspdSl3JXUpdyl1KXMldSl3KXEpcylxKXMtcSlvKXEtcy1tLW8pbS1vLW0tay1pLW8taS1rLWktazFpLWctZTFrMWUxZy1lMWcxZTFjMWExZzFhMWMxYTFjNWExXzFhNWM1XTVfMV01XzVdNV81XTVfNVk1WzVZNVs5WTVbNVk5WzlZOVc1VTlbOVU5VzlVOVc5VTlXOVU5Vz1ROVM5UT1TPVE9UzlRPVM9UT1PPVE9Uz1NPU89TT1PQU09Tz1NQU9BTUFLPUlBT0FJQUtBSUPfA0kDewMJA0sC4QMrAskHEwa1BwMGoQbzBpUG4waJBtsGfQbPBnUGxwZpBr8GYQq3Cl0KrwpVCqcKTQqjCkkKmwpBCpcKPQqTCjkKiwo1CocOLQ6DDikOfw4lDnsOIQ53Dh0Ocw4ZDm8OGQ5rDhUOaxIREmcSDRJjEgkSXxIJEl8SBRJbEgESVxIBElcR/RJTFfkWTxX5Fk8V9RZLFfUWRxXxFkcV7RZDFe0WQxXpGj8Z6Ro/GeUaOxnlGjsZ4Ro3GeEaNxndGjMZ3RozGd0eMx3ZHi8d2R4vHdUeKx3VHisd0R4nHdEeJx3RHicdzR4jIc0iIyHJIiMhySIfIckiHyHFIhshxSIbIcUiGyHBIhclwSYXJcEmFyW9JhMlvSYTJb0mEyW5JhMluSYPJbkmDym5Kg8ptSoLKbUqCym1K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ADYAMwBEAKsAKQCTAKcANwAnAN4AtQBNAN4AyADcACwAXwBSAHkArgDfAMQAlQDQADQAWgCf/cANgdbAABO2wACAbUEAWGLCAIFYQgA3UcMAgUpDADxExACCP0QAOzrEAIM2RQBDMsUAgy9GAEMrxgCDKEYAOyXHAIMjRwBBIMgAhB5IAEMbyACEGUkATBfJAIUVSgA+E8oAhRFLAEAQywCGDksASAzMAIYLTABLCc0AhwhNAEkGzQCHBU4APwDOAIgATwBLAM8AiABQAEgA0ACJAFAASwDRAIgAUQBLANIAigBSAEUA0gCJAFMASgDTAIoAVABKANQAigBVAEcA1QCLAFUAUADWAIoAVgBBANcAiwBXAEYA1wCNAFgAQgDYAIwAWQBTANkAiwBaAEsA2gCOAFoAQADbAI8AWwBaANwAkwBcAFoA3ACNAF0AVADdAI8AXgBPAN4AjgBfAFIA3wCSAF8ARQDgAI8AYABUAOEAkQBhAFwA4gCQAGIAUwDiAJoAYwBWAOMAlQBkAF4A5ACMAGQAWADlAJEAZQBKAOYAkgBmAEoA5wCQAGcAXQDnAJ0AaAAqAOgAmABpAFYA6QCXAGkASwDqAJMAagBDAOsAjwBrAEoA7ACVAGwAUwDsAJgAbQBRAO0AkQBuAGoA7gCXAG8ARgDvAJUAbwBPAPAAjABwAFYA8QCVAHEAbQDxAJ4AcgBJAPIAoABzAFMA8wCMAHQAXQD0AJUAdAByAPUArwB1AHzzwMJAeEiyQLjBqECXwKJBpsGdQZLAmEGcwZVBjsCSQZTBj0GJwY1Bj8KKQYbBiEGKwoZCg8GFQobCg0KAwYJCg8KAQn3Cf0KAw35Ce8J8Qn7De0N5wnpDe8N5Q3fCeEN5w3dDdcN2Q3fEdkN0w3VDdsR0RHLDc0R0xHJEccNyRHLEcURvxHBEccVwRG7Eb0VwxW5FbcRuRW7FbUVsxGxFbcVsRWvFa0VsxmtFasVqRmvGakZpxWlGasZpRmjFaEZpxmhGZ8ZnRmjHZ0ZmxmZHZ8dmR2XGZkdmx2VHZMZlR2XHZEdkx2RHZMhkR2PHY0hkyGNIYsdiSGPIYkhhx2JIYshhSGHIYUhhyWFIYMhgSWHJYElfyGBJYMlfSV/IX0lfyV9JXsleSV/KXkleyV5KXspdSl3JXUpdyl1KXMldSl3KXEpcylxKXMtcSlvKXEtcy1tLW8pbS1vLW0tay1pLW8taS1rLWktazFpLWctZTFrMWUxZy1lMWcxZTFjMWExZzFhMWMxYTFjNWExXzFhNWM1XTVfMV01XzVdNV81XTVfNVk1WzVZNVs5WTVbNVk5WzlZOVc1VTlbOVU5VzlVOVc5VTlXOVU5Vz1ROVM5UT1TPVE9UzlRPVM9UT1PPVE9Uz1NPU89TT1PQU09Tz1NQU9BTUFLPUlBT0FJQUtBSUPfA0kDewMJA0sC4QMrAskHEwa1BwMGoQbzBpUG4waJBtsGfQbPBnUGxwZpBr8GYQq3Cl0KrwpVCqcKTQqjCkkKmwpBCpcKPQqTCjkKiwo1CocOLQ6DDikOfw4lDnsOIQ53Dh0Ocw4ZDm8OGQ5rDhUOaxIREmcSDRJjEgkSXxIJEl8SBRJbEgESVxIBElcR/RJTFfkWTxX5Fk8V9RZLFfUWRxXxFkcV7RZDFe0WQxXpGj8Z6Ro/GeUaOxnlGjsZ4Ro3GeEaNxndGjMZ3RozGd0eMx3ZHi8d2R4vHdUeKx3VHisd0R4nHdEeJx3RHicdzR4jIc0iIyHJIiMhySIfIckiHyHFIhshxSIbIcUiGyHBIhclwSYXJcEmFyW9JhMlvSYTJb0mEyW5JhMluSYPJbkmDym5Kg8ptSoLKbUqCym1KgspsSoHKbEqBymxKgcpsS4HLa0uAy2tLgMtrS4DLa0uAy2pLf8tqS3/Lakt/y2pMf8xpTH7MaUx+zGlMfsxpTH7MaEx9zGhMfcxoTH3MaEx9zWdNfc1nTXzNZ018zWdNfM1nTXzNZk17zWZNe81mTXvOZk57zmVOe85lTnrOZU56zmVOes5lTnrOZU56zmROec9kT3nPZE95z2RPec9kT3nPY095z2NPeM9jT3jPY1B40GNQeNBiUHjQYlB30GJQ/8AAqebAAEfawAC70sAAQMzBAEvHwQDAxMEAwMDBAK29wQDAu8EA+rjBAEC2wQATtMIAs7PCAECxwgBAr8IAQK7CACitwgC9q8IAU6rCAMOpwwBoqMMAQKfDAECmwwAApcMAwKTDAMCjwwDKosMAQKHEAAChxABAoMQAQJ/EAACexABAnsQAAJ3EAECcxABAnMUAxZvFAACaxQAAmsUAAJnFAMCZxQAAmMUAIJjFAACXxgBAl8YAAJbGAACWxgAAlcYAAJXGAACUxgAAlMYAAJPHAECTxwAAkscAwJLHAACSxwAAkccAAJHHAACQxwAAkMgAQJDIAACPyADAj8gAAI/IANOOyAAAjsgAAI7IAACNyQAAjckAAI3JANOMyQAAjMkAAIzJAACLyQAAi8kAAIvKAACKygAAisoAAIrKAACKygAgicoAAInKAACJygAAiMsAAIjLAACIywAAiMsAAIfLAACHywAAh8sAAIfLAACGzAAAhswAAIbMAACGzAAAhcwAAIXMAACFzAAAhcwAAIXNAACEzQAAhM0AAITNAACEzQAAg80AAIPNAACDzQAAg84AAIPOAACCzgAAgs4AAILOAACCzgAAgs4AAIHOAACBzwAAgc8AAIHPAACBzwAAgM8AAIDPAACAzwAAgM8AAIDQAACA0AAAf9AAAH/QAAD41efA3qsAQtPVzsDLqwC2xdbCwcCsAMC81rrBuawAwLbWtcG0rABhsdawwa+sAMCt16zCq60AQKrXqcKorQBtp9emwqWtAECk16PCo60A8qLYocOhrgAAoNifw5+uAECe2J3Dna4ALZzYm8ObrgBTmtmZxJmvAECZ2ZjEmK8AAJfZlsSWrwBAltmVxJWvAECV2pTFlLAAQJPak8WTsABAktqRxZKwAACR2pDFkLAAYJDbj8aPsQD1j9uOxo6xAACO243GjbEAAI3bjMaNsQDAjNyMx4yyAACL3IvHi7IAAIrciseKsgBAityJx4myAACJ3YjIibMAQIjdiMiIswAAh92HyIezAACH3YbIhrMAAIbehsmGtAAAhd6FyYW0AACF3oTJhLQAwITehMmEtAAAhN+DyoO1AMCD34LKg7UAAILfgsqCtQAAgt+ByoK1AACB4IHLgbYAAIHggMuAtgAAgOCAy4C2AACA4H/Lf7YAAH/hf8x/twAAf+F+zH+3AAB+4X7MfrcAAH7hfcx+twAAfeJ9zX24AAB94nzNfbgAAHzifM18uAAAfOJ8zXy4AAB843vOe7kAAHvje857uQAAe+N6znu5AAB643rOerkAAHrkes96ugAAeuR5z3q6AAB55HnPeboAAHnkec95ugAAeeV40Hi7AAB45XjQeLsAAOvs59rhzNvA1rXOpr6UZYG47cLbw83CwcC2u6etlWWCqO603LbOtsO1t7CopJZlg5/vq92uz67DrbipqZ6XZYSY76TeqNCoxai5pKqZmGWFkvCf36PRpMWjuqCrlZllho3xm+Cf0aDHoLudrJKZZYeJ8pfgm9KdyJ28mq2PmmWIhfKU4ZjTmsiavZetjZtliYLzkeKV1JfKl76VroucZYp/9I7jk9WVypW/k6+JnWWLfPSM5JHWk8yTwJGwh55ljHn1ieSO15HMkcGPsYafZY129ofljNiPzZDCjrKEoGWOdPaF5ovZjc+Owoyzg6Blj3H3g+eJ2ovPjcOLtIKhZZBv94Hoh9uK0IzEirWBomWRbfh/6IbcidGKxYm1gKNlkmr4fumE3YfTicaHtn+kZZNo+Hzqg96G1IjHhrd+pWWUZvh764HfhdWHyIW4fqZllWT5eeuA4ITWhsmFuX2nZZZh+Xfsf+CD1oXKhLp8qGWXX/l27X3hgdeEy4O7e6llmF35de584oDYg8yCvHupZZlb+HPue+N/2oLNgb16qmWaWPhy73rkf9qBzoG+eqtlm1b3cPB55X7bgc+Av3msZZxT9m/weOZ93YDQf795rWWdUfVu8XfnfN1/0X/AeK5lnk/0bPF26HvfftJ+wXivZZ9M8mvydel6337TfsJ3sGWg6fDn4OTQ38DYsc6hvJFpgbXxweHF0cXBwrK6oquSaYKm8rPiudK6w7ezsKOik2mDnPOr47DTssOwtKmknJRphJX0pOSq1KzFqrWkpZeVaYWP9Z/lpdWnxaa2oKaTlmmGivaa5qHWo8eit5ynkJdph4b3l+ee16DIn7iZqI6YaYiC+JPom9idyJy5l6mLmWmJfvmQ6ZjZm8qaupWqiZppinv6juqV2pjKl7uTq4ibaYt3+4vrk9uWzJW8kayGnGmMdPyJ7JHclMyUvY+thZ1pjXH9h+2P3ZLNkr6OroOeaY5u/oXujd6Rz5C/jK+Cn2mPa/+D74zfj8+PwIuwgaBpkGkAgfCK4I7QjcGKsYChaZFmAX/xiOGM0YzCiLJ/ommSYwJ98ofii9OLw4ezf6Npk2ADe/OF44rUisSGtH6kaZRdBHr0hOSI1YnFhbV9pWmVWgV49YPlh9aIxoW2fKZpllYGd/aC5obWh8eEt3ynaZdTB3X3gOeF14bIg7h7qGmYTwh0+H/ohNiFyYK5e6lpmUsJcvl+6YPahMqBunqqaZpHCnH6feqC2oPLgbt5q2mbQgtv+3zrgduCzIC8eaxpnDsMbvx77IDdgs1/vXitaZ00DW39eu1/3YHOf754rmmeKQ5r/nnuf9+Az36/eK9pnxcPav94737ff9B9wHewaaAAAAAAQk5TMQUBAgIqxloQV09PRCBQTFVDSwAATVhNRlJQUgAAAAAAQAAAADBAQAADEwAAQEAAABQAAV0AAEAAFABff1kAZAA+ATwCAAFuBXgIeAx4AAAAAAAAAAgA+cAA/QCXAIMADgAFAKAAnACtAL4AGACDAKgA3wBzAI8ADwANAM8AqwC5AJEAjQAAAD4ADgB7AC8AFwCFAL8APQBJAC8A0wCyAI8A7QAfAMIAogD0AD8AkQDXAK0AYAD+AJkA0gBVACQATABaALUA9gA6AKoAxABhAE4AkwD7AGYAwwA7AKsAJgBFAMcA1QDeAHoAigAsAH0AfQDaAN0AbQBWAOUAzQC2AD4AJgCUALYA0wB9AFYA+AARAPYAxwAJAL4A2gBJAAQAOACEAL8ANAAdAFsAXwAaALcAUwAxAEIAUgDMAGAAUwDiACsAZgAAAMsAXAA1ANoAzQDeADoA/AC+ALYAPQCbALwAoQCzAMQAOgDIAOoA3wC4AJ4AkgCIAD4A3QCsAAMAPQCmAMoArQCzAJYADwBTAKwAygChAN4ANAAHAKUA9AC+ADwAXgATAD4ADQCnABoAAwCpAFUAOQDPAGAANQBuAJsArgDLAA8ATwB8AAkAKgByAKYAFACtAIwAgABKALEARwDAABEACgB6AH8ApwB7AFAAlQAQABIAGwDMAGIAIACNAIcAGQCKAKUAZQDJAIcAOwBiAKQAgAAxAAIAFQB3AK0AngAoAD0AqQAkAGIAoQAwAI4AxABtADsAtQDDAE8AOgAbAKcA7QAxAD8ApADaANoAgADIAGH9wA2B1sAAE7bAAIBtQQBYYsIAgVhCADdRwwCBSkMAPETEAII/RAA7OsQAgzZFAEMyxQCDL0YAQyvGAIMoRgA7JccAgyNHAEEgyACEHkgAQxvIAIQZSQBMF8kAhRVKAD4TygCFEUsAQBDLAIYOSwBIDMwAhgtMAEsJzQCHCE0ASQbNAIcFTgA/AM4AiABPAEsAzwCIAFAASADQAIkAUABLANEAiABRAEsA0gCKAFIARQDSAIkAUwBKANMAigBUAEoA1ACKAFUARwDVAIsAVQBQANYAigBWAEEA1wCLAFcARgDXAI0AWABCANgAjABZAFMA2QCLAFoASwDaAI4AWgBAANsAjwBbAFoA3ACTAFwAWgDcAI0AXQBUAN0AjwBeAE8A3gCOAF8AUgDfAJIAXwBFAOAAjwBgAFQA4QCRAGEAXADiAJAAYgBTAOIAmgBjAFYA4wCVAGQAXgDkAIwAZABYAOUAkQBlAEoA5gCSAGYASgDnAJAAZwBdAOcAnQBoACoA6ACYAGkAVgDpAJcAaQBLAOoAkwBqAEMA6wCPAGsASgDsAJUAbABTAOwAmABtAFEA7QCRAG4AagDuAJcAbwBGAO8AlQBvAE8A8ACMAHAAVgDxAJUAcQBtAPEAngByAEkA8gCgAHMAUwDzAIwAdABdAPQAlQB0AHIA9QCvAHUAfPPAwkB4SLJAuMGoQJfAokGmwZ1BksCYQZzBlUGOwJJBlMGPQYnBjUGPwopBhsGIQYrChkKDwYVChsKDQoDBgkKDwoBCfcJ/QoDDfkJ7wnxCfsN7Q3nCekN7w3lDd8J4Q3nDd0N1w3ZDd8R2Q3TDdUN2xHREcsNzRHTEckRxw3JEcsRxRG/EcERxxXBEbsRvRXDFbkVtxG5FbsVtRWzEbEVtxWxFa8VrRWzGa0VqxWpGa8ZqRmnFaUZqxmlGaMVoRmnGaEZnxmdGaMdnRmbGZkdnx2ZHZcZmR2bHZUdkxmVHZcdkR2THZEdkyGRHY8djSGTIY0hix2JIY8hiSGHHYkhiyGFIYchhSGHJYUhgyGBJYclgSV/IYElgyV9JX8hfSV/JX0leyV5JX8peSV7JXkpeyl1KXcldSl3KXUpcyV1KXcpcSlzKXEpcy1xKW8pcS1zLW0tbyltLW8tbS1rLWktby1pLWstaS1rMWktZy1lMWsxZTFnLWUxZzFlMWMxYTFnMWExYzFhMWM1YTFfMWE1YzVdNV8xXTVfNV01XzVdNV81WTVbNVk1WzlZNVs1WTlbOVk5VzVVOVs5VTlXOVU5VzlVOVc5VTlXPVE5UzlRPVM9UT1TOVE9Uz1RPU89UT1TPU09Tz1NPU9BTT1PPU1BT0FNQUs9SUFPQUlBS0FJQ98DSQN7AwkDSwLhAysCyQcTBrUHAwahBvMGlQbjBokG2wZ9Bs8GdQbHBmkGvwZhCrcKXQqvClUKpwpNCqMKSQqbCkEKlwo9CpMKOQqLCjUKhw4tDoMOKQ5/DiUOew4hDncOHQ5zDhkObw4ZDmsOFQ5rEhESZxINEmMSCRJfEgkSXxIFE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ANMAfQBWAPgAEQD2AMcACQC+ANoASQAEADgAhAC/ADQAHQBbAF8AGgC3AFMAMQBCAFIAzABgAFMA4gArAGYAAADLAFwANQDaAM0A3gA6APwAvgC2AD0AmwC8AKEAswDEADoAyADqAN8AuACeAJIAiAA+AN0ArAADAD0ApgDKAK0AswCWAA8AUwCsAMoAoQDeADQABwClAPQAvgA8AF4AEwA+AA0ApwAaAAMAqQBVADkAzwBgADUAbgCbAK4AywAPAE8AfAAJACoAcgCmABQArQCMAIAASgCxAEcAwAARAAoAegB/AKcAewBQAJUAEAASABsAzABiACAAjQCHABkAigClAGUAyQCHADsAYgCkAIAAMQACABUAdwCtAJ4AKAA9AKkAJABiAKEAMACOAMQAbQA7ALUAwwBPADoAGwCnAO0AMQA/AKQA2gDaAIAAyABh/cANgdbAABO2wACAbUEAWGLCAIFYQgA3UcMAgUpDADxExACCP0QAOzrEAIM2RQBDMsUAgy9GAEMrxgCDKEYAOyXHAIMjRwBBIMgAhB5IAEMbyACEGUkATBfJAIUVSgA+E8oAhRFLAEAQywCGDksASAzMAIYLTABLCc0AhwhNAEkGzQCHBU4APwDOAIgATwBLAM8AiABQAEgA0ACJAFAASwDRAIgAUQBLANIAigBSAEUA0gCJAFMASgDTAIoAVABKANQAigBVAEcA1QCLAFUAUADWAIoAVgBBANcAiwBXAEYA1wCNAFgAQgDYAIwAWQBTANkAiwBaAEsA2gCOAFoAQADbAI8AWwBaANwAkwBcAFoA3ACNAF0AVADdAI8AXgBPAN4AjgBfAFIA3wCSAF8ARQDgAI8AYABUAOEAkQBhAFwA4gCQAGIAUwDiAJoAYwBWAOMAlQBkAF4A5ACMAGQAWADlAJEAZQBKAOYAkgBmAEoA5wCQAGcAXQDnAJ0AaAAqAOgAmABpAFYA6QCXAGkASwDqAJMAagBDAOsAjwBrAEoA7ACVAGwAUwDsAJgAbQBRAO0AkQBuAGoA7gCXAG8ARgDvAJUAbwBPAPAAjABwAFYA8QCVAHEAbQDxAJ4AcgBJAPIAoABzAFMA8wCMAHQAXQD0AJUAdAByAPUArwB1AHzzwMJAeEiyQLjBqECXwKJBpsGdQZLAmEGcwZVBjsCSQZTBj0GJwY1Bj8KKQYbBiEGKwoZCg8GFQobCg0KAwYJCg8KAQn3Cf0KAw35Ce8J8Qn7De0N5wnpDe8N5Q3fCeEN5w3dDdcN2Q3fEdkN0w3VDdsR0RHLDc0R0xHJEccNyRHLEcURvxHBEccVwRG7Eb0VwxW5FbcRuRW7FbUVsxGxFbcVsRWvFa0VsxmtFasVqRmvGakZpxWlGasZpRmjFaEZpxmhGZ8ZnRmjHZ0ZmxmZHZ8dmR2XGZkdmx2VHZMZlR2XHZEdkx2RHZMhkR2PHY0hkyGNIYsdiSGPIYkhhx2JIYshhSGHIYUhhyWFIYMhgSWHJYElfyGBJYMlfSV/IX0lfyV9JXsleSV/KXkleyV5KXspdSl3JXUpdyl1KXMldSl3KXEpcylxKXMtcSlvKXEtcy1tLW8pbS1vLW0tay1pLW8taS1rLWktazFpLWctZTFrMWUxZy1lMWcxZTFjMWExZzFhMWMxYTFjNWExXzFhNWM1XTVfMV01XzVdNV81XTVfNVk1WzVZNVs5WTVbNVk5WzlZOVc1VTlbOVU5VzlVOVc5VTlXOVU5Vz1ROVM5UT1TPVE9UzlRPVM9UT1PPVE9Uz1NPU89TT1PQU09Tz1NQU9BTUFLPUlBT0FJQUtBSUPfA0kDewMJA0sC4QMrAskHEwa1BwMGoQbzBpUG4waJBtsGfQbPBnUGxwZpBr8GYQq3Cl0KrwpVCqcKTQqjCkkKmwpBCpcKPQqTCjkKiwo1CocOLQ6DDikOfw4lDnsOIQ53Dh0Ocw4ZDm8OGQ5rDhUOaxIREmcSDRJjEgkSXxIJEl8SBRJbEgESVxIBElcR/RJTFfkWTxX5Fk8V9RZLFfUWRxXxFkcV7RZDFe0WQxXpGj8Z6Ro/GeUaOxnlGjsZ4Ro3GeEaNxndGjMZ3RozGd0eMx3ZHi8d2R4vHdUeKx3VHisd0R4nHdEeJx3RHicdzR4jIc0iIyHJIiMhySIfIckiHyHFIhshxSIbIcUiGyHBIhclwSYXJcEmFyW9JhMlvSYTJb0mEyW5JhMluSYPJbkmDym5Kg8ptSoLKbUqCym1KgspsSoHKbEqBymxKgcpsS4HLa0uAy2tLgMtrS4DLa0uAy2pLf8tqS3/Lakt/y2pMf8xpTH7MaUx+zGlMfsxpTH7MaEx9zGhMfcxoTH3MaEx9zWdNfc1nTXzNZ018zWdNfM1nTXzNZk17zWZNe81mTXvOZk57zmVOe85lTnrOZU56zmVOes5lTnrOZU56zmROec9kT3nPZE95z2RPec9kT3nPY095z2NPeM9jT3jPY1B40GNQeNBiUHjQYlB30GJQ/8AAqebAAEfawAC70sAAQMzBAEvHwQDAxMEAwMDBAK29wQDAu8EA+rjBAEC2wQATtMIAs7PCAECxwgBAr8IAQK7CACitwgC9q8IAU6rCAMOpwwBoqMMAQKfDAECmwwAApcMAwKTDAMCjwwDKosMAQKHEAAChxABAoMQAQJ/EAACexABAnsQAAJ3EAECcxABAnMUAxZvFAACaxQAAmsUAAJnFAMCZxQAAmMUAIJjFAACXxgBAl8YAAJbGAACWxgAAlcYAAJXGAACUxgAAlMYAAJPHAECTxwAAkscAwJLHAACSxwAAkccAAJHHAACQxwAAkMgAQJDIAACPyADAj8gAAI/IANOOyAAAjsgAAI7IAACNyQAAjckAAI3JANOMyQAAjMkAAIzJAACLyQAAi8kAAIvKAACKygAAisoAAIrKAACKygAgicoAAInKAACJygAAiMsAAIjLAACIywAAiMsAAIfLAACHywAAh8sAAIfLAACGzAAAhswAAIbMAACGzAAAhcwAAIXMAACFzAAAhcwAAIXNAACEzQAAhM0AAITNAACEzQAAg80AAIPNAACDzQAAg84AAIPOAACCzgAAgs4AAILOAACCzgAAgs4AAIHOAACBzwAAgc8AAIHPAACBzwAAgM8AAIDPAACAzwAAgM8AAIDQAACA0AAAf9AAAH/QAAD41efA3qsAQtPVzsDLqwC2xdbCwcCsAMC81rrBuawAwLbWtcG0rABhsdawwa+sAMCt16zCq60AQKrXqcKorQBtp9emwqWtAECk16PCo60A8qLYocOhrgAAoNifw5+uAECe2J3Dna4ALZzYm8ObrgBTmtmZxJmvAECZ2ZjEmK8AAJfZlsSWrwBAltmVxJWvAECV2pTFlLAAQJPak8WTsABAktqRxZKwAACR2pDFkLAAYJDbj8aPsQD1j9uOxo6xAACO243GjbEAAI3bjMaNsQDAjNyMx4yyAACL3IvHi7IAAIrciseKsgBAityJx4myAACJ3YjIibMAQIjdiMiIswAAh92HyIezAACH3YbIhrMAAIbehsmGtAAAhd6FyYW0AACF3oTJhLQAwITehMmEtAAAhN+DyoO1AMCD34LK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AMMATwA6ABsApwDtADEAPwCkANoA2gCAAMgAYfjAz8DTwAATtMAAgJrcl8BiwgCBWEIAN1HDAIFKQwA4RMQAgj9EADw6xACDNkUAQDLFAIMvRgBFK8YAgyhGADglxwCDI0cARCDIAIUeSAA5G8gAhBlJAE8XyQCGFUoASRPKAIQRSwA6EMsAhg5LAEEMzACGC0wAVgnNAIYITQBNBs0AhwVOAEcAzgCIAE8ATwDPAIkAUAA/ANAAhgBQAEkA0QCKAFEASADSAIoAUgBEANIAjQBTADwA0wCHAFQAUgDUAIgAVQBRANUAiABVADMA1gCNAFYATgDXAIoAVwBUANcAiABYAE8A2ACOAFkAXQDZAI4AWgAsANoAjQBaAFEA2wCSAFsAXQDcAI4AXABLANwAkgBdAFgA3QCQAF4ANgDeAI0AXwBqAN8AkgBfAEgA4ACQAGAAYgDhAIIAYQAnAOIAjgBiAF4A4gCPAGMAVADjAI8AZABLAOQAkQBkAEYA5QCYAGUAKwDmAI8AZgBFAOcAkABnAFYA5wCVAGgAXQDoAKMAaQB8AOkAkwBqABUA6gCqAGoAWADrAI8AawBSAOwAkABsAEYA7ACWAG0ASQDtAKUAbgCCAO4ApQBvAFAA7wCJAG8AcADwAKQAcABVAPEAlABxACkA8gCPAHIANQDyAKoAcwBuAPMAoQB0AFYA9ACbAHQAWQD1AJUAdQB988DCQHhIskC4wahAl8CiQabBnUGSwJhBnMGVQY7AkkGUwY9BicGNQY/CikGGwYhBisKGQoPBhUKGwoNCgMGCQoPCgEJ9wn9CgMN+QnvCfEJ+w3tDecJ6Q3vDeUN3wnhDecN3Q3XDdkN3xHZDdMN1Q3bEdERyw3NEdMRyRHHDckRyxHFEb8RwRHHFcERuxG9FcMVuRW3EbkVuxW1FbMRsRW3FbEVrxWtFbMZrRWrFakZrxmpGacVpRmrGaUZoxWhGacZoRmfGZ0Zox2dGZsZmR2fHZkdlxmZHZsdlR2TGZUdlx2RHZMdkR2TIZEdjx2NIZMhjSGLHYkhjyGJIYcdiSGLIYUhhyGFIYclhSGDIYElhyWBJX8hgSWDJX0lfyF9JX8lfSV7JXklfyl5JXsleSl7KXUpdyV1KXcpdSlzJXUpdylxKXMpcSlzLXEpbylxLXMtbS1vKW0tby1tLWstaS1vLWktay1pLWsxaS1nLWUxazFlMWctZTFnMWUxYzFhMWcxYTFjMWExYzVhMV8xYTVjNV01XzFdNV81XTVfNV01XzVZNVs1WTVbOVk1WzVZOVs5WTlXNVU5WzlVOVc5VTlXOVU5VzlVOVc9UTlTOVE9Uz1RPVM5UT1TPVE9Tz1RPVM9TT1PPU09T0FNPU89TUFPQU1BSz1JQU9BSUFLQUlD3wNJA3sDCQNLAuEDKwLJBxMGtQcDBqEG8waVBuMGiQbbBn0GzwZ1BscGaQa/BmEKtwpdCq8KVQqnCk0KowpJCpsKQQqXCj0Kkwo5CosKNQqHDi0Ogw4pDn8OJQ57DiEOdw4dDnMOGQ5vDhkOaw4VDmsSERJnEg0SYxIJEl8SCRJfEgUSWxIBElcSARJXEf0SUxX5Fk8V+RZPFfUWSxX1FkcV8RZHFe0WQxXtFkMV6Ro/GekaPxnlGjsZ5Ro7GeEaNxnhGjcZ3RozGd0aMxndHjMd2R4vHdkeLx3VHisd1R4rHdEeJx3RHicd0R4nHc0eIyHNIiMhySIjIckiHyHJIh8hxSIbIcUiGyHFIhshwSIXJcEmFyXBJhclvSYTJb0mEyW9JhMluSYTJbkmDyW5Jg8puSoPKbUqCym1KgsptSoLKbEqBymxKgcpsSoHKbEuBy2tLgMtrS4DLa0uAy2tLgMtqS3/Lakt/y2pLf8tqTH/MaUx+zGlMfsxpTH7MaUx+zGhMfcxoTH3MaEx9zGhMfc1nTX3NZ018zWdNfM1nTXzNZ018zWZNe81mTXvNZk17zmZOe85lTnvOZU56zmVOes5lTnrOZU56zmVOes5kTnnPZE95z2RPec9kT3nPZE95z2NPec9jT3jPY094z2NQeNBjUHjQYlB40GJQd9BiUP/AAKnmwABH2sAAu9LAAEDMwQBLx8EAwMTBAMDAwQCtvcEAwLvBAPq4wQBAtsEAE7TCALOzwgBAscIAQK/CAECuwgAorcIAvavCAFOqwgDDqcMAaKjDAECnwwBApsMAAKXDAMCkwwDAo8MAyqLDAEChxAAAocQAQKDEAECfxAAAnsQAQJ7EAACdxABAnMQAQJzFAMWbxQAAmsUAAJrFAACZxQDAmcUAAJjFACCYxQAAl8YAQJfGAACWxgAAlsYAAJXGAACVxgAAlMYAAJTGAACTxwBAk8cAAJLHAMCSxwAAkscAAJHHAACRxwAAkMcAAJDIAECQyAAAj8gAwI/IAACPyADTjsgAAI7IAACOyAAAjckAAI3JAACNyQDTjMkAAIzJAACMyQAAi8kAAIvJAACLygAAisoAAIrKAACKygAAisoAIInKAACJygAAicoAAIjLAACIywAAiMsAAIjLAACHywAAh8sAAIfLAACHywAAhswAAIbMAACGzAAAhswAAIXMAACFzAAAhcwAAIXMAACFzQAAhM0AAITNAACEzQAAhM0AAIPNAACDzQAAg80AAIPOAACDzgAAgs4AAILOAACCzgAAgs4AAILOAACBzgAAgc8AAIHPAACBzwAAgc8AAIDPAACAzwAAgM8AAIDPAACA0AAAgNAAAH/QAAB/0AAA+NXnwN6rAELT1c7Ay6sAtsXWwsHArADAvNa6wbmsAMC21rXBtKwAYbHWsMGvrADArdeswqutAECq16nCqK0AbafXpsKlrQBApNejwqOtAPKi2KHDoa4AAKDYn8OfrgBAntidw52uAC2c2JvDm64AU5rZmcSZrwBAmdmYxJivAACX2ZbElq8AQJbZlcSVrwBAldqUxZSwAECT2pPFk7AAQJLakcWSsAAAkdqQxZCwAGCQ24/Gj7EA9Y/bjsaOsQAAjtuNxo2xAACN24zGjbEAwIzcjMeMsgAAi9yLx4uyAACK3IrHirIAQIrciceJsgAAid2IyImzAECI3YjIiLMAAIfdh8iHswAAh92GyIazAACG3obJhrQAAIXehcmFtAAAhd6EyYS0AMCE3oTJhLQAAITfg8qDtQDAg9+CyoO1AACC34LKgrUAAILfgcqCtQAAgeCBy4G2AACB4IDLgLYAAIDggMuAtgAAgOB/y3+2AAB/4X/Mf7cAAH/hfsx/twAAfuF+zH63AAB+4X3MfrcAAH3ifc19uAAAfeJ8zX24AAB84nzNfLgAAHzifM18uAAAfON7znu5AAB743vOe7kAAHvjes57uQAAeuN6znq5AAB65HrPeroAAHrkec96ugAAeeR5z3m6AAB55HnPeboAAHnleNB4uwAAeOV40Hi7AADr7Ofa4czbwNa1zqa+lGWBuO3C28PNwsHAtrunrZVlgqjutNy2zrbDtbewqKSWZYOf76vdrs+uw624qamel2WEmO+k3qjQqMWouaSqmZhlhZLwn9+j0aTFo7qgq5WZZYaN8Zvgn9Ggx6C7naySmWWHifKX4JvSncidvJqtj5pliIXylOGY05rImr2XrY2bZYmC85HildSXype+la6LnGWKf/SO45PVlcqVv5OviZ1li3z0jOSR1pPMk8CRsIeeZYx59YnkjteRzJHBj7GGn2WNdvaH5YzYj82Qwo6yhKBljnT2heaL2Y3PjsKMs4OgZY9x94PnidqLz43Di7SCoWWQb/eB6IfbitCMxIq1gaJlkW34f+iG3InRisWJtYCjZZJq+H7phN2H04nGh7Z/pGWTaPh86oPehtSIx4a3fqVllGb4e+uB34XVh8iFuH6mZZVk+XnrgOCE1obJhbl9p2WWYfl37H/gg9aFyoS6fKhll1/5du194YHXhMuDu3upZZhd+XXufOKA2IPMgrx7qWWZW/hz7nvjf9qCzYG9eqplmlj4cu965H/agc6BvnqrZZtW93DweeV+24HPgL95rGWcU/Zv8Hjmfd2A0H+/ea1lnVH1bvF353zdf9F/wHiuZZ5P9Gzxduh7337SfsF4r2WfTPJr8nXpet9+037Cd7BloOnw5+Dk0N/A2LHOobyRaYG18cHhxdHFwcKyuqKrkmmCpvKz4rnSusO3s7CjopNpg5zzq+Ow07LDsLSppJyUaYSV9KTkqtSsxaq1pKWXlWmFj/Wf5aXVp8WmtqCmk5Zphor2muah1qPHorecp5CXaYeG95fnntegyJ+4maiOmGmIgviT6JvYncicuZepi5lpiX75kOmY2ZvKmrqVqomaaYp7+o7qldqYype7k6uIm2mLd/uL65PblsyVvJGshpxpjHT8ieyR3JTMlL2PrYWdaY1x/Yftj92SzZK+jq6DnmmObv6F7o3ekc+Qv4yvgp9pj2v/g++M34/Pj8CLsIGgaZBpAIHwiuCO0I3BirGAoWmRZgF/8YjhjNGMwoiyf6JpkmMCffKH4ovTi8OHs3+jaZNgA3vzheOK1IrEhrR+pGmUXQR69ITkiNWJxYW1faVplVoFePWD5YfWiMaFtnymaZZWBnf2guaG1ofHhLd8p2mXUwd194DnhdeGyIO4e6hpmE8IdPh/6ITYhcmCuXupaZlLCXL5fumD2oTKgbp6qmmaRwpx+n3qgtqDy4G7eatpm0ILb/t864HbgsyAvHmsaZw7DG78e+yA3YLNf714rWmdNA1t/Xrtf92Bzn++eK5pnikOa/557n/fgM9+v3ivaZ8XD2r/eO9+33/QfcB3sGmgAAAAAAAAQk5TMQUBAAJ56VoEV0FWRSBTV0VFUAAAQlVCQkEAQbi6BgvVCG5AQAAAFAAAQEAAABQAAHMKAEBAFABGbk9FTwBPATwCAAFuBXgIeAx4AAAofwAAAAhA/8DawL3AtcCwwKzAqMClwKPAoMCewJzAmsCYwJfAlcCUwJPAkcCQwI/AjsCNwIzAi8CKwInAiMCIwIfAhsCFwIXAhMCDwILAgsCBwIHAgMB/wH/AfsB+wH3AfcB8wHzAe8B7wHrAesB6wHnAecB4wHjAd8B3wHfAdsB2wHbAdcDvwPPA1cC7wLXAsMCtwKrAp8ClwKLAoMCewJ3Am8CawJjAl8CWwJTAk8CSwJHAkMCPwI7AjsCNwIzAi8CKwIrAicCIwIjAh8CGwIbAhcCEwITAg8CDwILAgsCBwIHAgMCAwH/Af8B+wH7AfcB9wH3AfMB8wHvAe8B7wHrAesB6wODA5MDwwNTAu8C2wLPAsMCtwKrAqMCmwKTAo8ChwJ/AnsCdwJvAmsCZwJjAl8CWwJXAlMCTwJLAksCRwJDAj8CPwI7AjcCNwIzAi8CLwIrAisCJwInAiMCIwIfAh8CGwIbAhcCFwITAhMCDwIPAgsCCwILAgcCBwIDAgMCAwH/A48DUwN/A7cDSwLvAtsCzwLDArsCswKrAqMCmwKXAo8CiwKDAn8CewJ3AnMCbwJrAmcCYwJfAlsCVwJTAlMCTwJLAksCRwJDAkMCPwI7AjsCNwI3AjMCMwIvAi8CKwIrAicCJwIjAiMCHwIfAhsCGwIbAhcCFwITAhMCEwIPAg8DmwNbAzcDawOrA0cC6wLbAs8CxwK7ArMCrwKnAp8CmwKTAo8CiwKHAn8CewJ3AnMCbwJrAmsCZwJjAl8CWwJbAlcCUwJTAk8CSwJLAkcCQwJDAj8CPwI7AjsCNwI3AjMCMwIvAi8CKwIrAisCJwInAiMCIwIfAh8CHwIbAhsCGwOfA18DOwMjA18DnwM/AuMC1wLLAsMCuwKzAqsCpwKfApsCkwKPAosChwKDAn8CewJ3AnMCbwJrAmcCZwJjAl8CWwJbAlcCUwJTAk8CTwJLAkcCRwJDAkMCPwI/AjsCOwI3AjcCMwIzAi8CLwIvAisCKwInAicCJwIjAiMCHwIfA6cDZwNDAycDFwNTA5cDOwLfAtMCxwK/ArsCswKrAqcCnwKbApcCkwKPAocCgwJ/AnsCewJ3AnMCbwJrAmcCZwJjAl8CXwJbAlcCVwJTAlMCTwJLAksCRwJHAkMCQwI/Aj8COwI7AjsCNwI3AjMCMwIvAi8CLwIrAisCJwInAicDqwNrA0cDKwMXAwcDSwOPAzMC2wLPAscCvwK3Aq8CqwKjAp8CmwKXApMCiwKHAoMCgwJ/AnsCdwJzAm8CbwJrAmcCYwJjAl8CWwJbAlcCVwJTAlMCTwJLAksCRwJHAkMCQwI/Aj8CPwI7AjsCNwI3AjMCMwIzAi8CLwIrAisCKwAAAAAAAAEJOUzEFAQACVYtKAkdMQVNTIEJFTExTAEJVQkJBAEGYwwYLxQRuQEAUAQYAAEBAAAAUAAB4BQBAQBQAbABlAGIAYgE8AgABbgV4CHgMeAAAPFAAAAAIH/3AABDhwAB9AEAA4O3AADkAwACA0cAA+ABAAIEAQAAB3cAACQDAAPoAwAD9AEAAogDAAHMAQABsAMAAgQDA/cAAC+XAAP8AQACB7MAA/wDAAIrZwACDAEAA/QBAAAHawAALAMAAgQBAAOm4wAAJAMAAlABAAAEAwAAPs8D+wAA76cAABgDAAPbqwAAAAMAAheDAAAMAQAAAAMAAf9fAAEAAQAB9AMAAkcnAAAAAwADVAMAA6gDAAJzEwP/AAFLswACRAEAA++jAAH4AQACF5cAAhADAAIUAQAB51MAABgDAAIcAwACI08AAeABAAOoAQACMAMAA783A/8AAbO/AAIgAQAB45sAACwDAAADpwACAAMAABwBAAArPwACAAMAAZQBAAODawAAeAMAA/ADAAMAAwAAA1cD/wAB48cAAeABAAADjwACDAMAAeOzAAIIAQAAHAMAA48jAAO0AQAAHAMAABN/AAPoAQABtAMAA3QDAAPrawPvAAAPwwAADAMAA89zAAHYAQACQ7MAABADAAAsAwAD5u8AAbQBAAG0AwACC4MAA+gDAAA8AQAACAEAAgdrA+MAA8+7AAAAAQAB/1cAA+gBAAILrwAAAAMAAfQDAAPGowAB/AMAAoADAAATgwAAEAMAAfgDAAGAAQAAE28AAAAAAAABCTlMxBQEAAiFn+gBNQUxMRVQgVklCRVNCVUJCQQBB6McGC/UBbkBAAAAUAABAQAAAFAAAdgAAQEAUAGYAXABYAFgAXgMtAW4FeAh4DHgAAEZkAAAACArzwL7AAMDnwABAAEAAwABAAMDXwPXAv8AAwObAAEAAQADAAMAAwNbA9sDBwABA5MAAQADAAMAAwADA08D4wMLAAMDiwABAAEAAwADAAMDRwPnAxMAAwODAAEAAQADAAMAAQM3A+8DGwADA3cAAQABAAMAAwADAycD9wMjAAMDYwABAAMAAwADAAMDBwP/AysAAwNDAAEAAQADAAMAAwLPAAAAAAAAAQk5TMQUBAAIKQ1oETUlYRUQgQ0hPSVIAQlVCQkEAQejJBgvVCGlAQCgBEgAAQEAAABQAAGQKAEBAFE9aeFwAAH8AASECKAFuBXgIeAx4AAAeAAAAAAhA+MD/wPbA2MDCwMPAzcDXwNjA0cDDwLPAqsCmwKTAo8CiwKDAn8CewJ3AnMCbwJrAmcCYwJfAlsCVwJTAlMCTwJLAksCRwJDAkMCPwI7AjsCNwI3AjMCMwIvAi8CKwIrAicCJwIjAiMCHwIfAhsCGwIbAhcCFwITAhMCEwIPAg8DxwPvA+sDjwMrAzcDXwNzA2MDMwLzAr8CqwKjApsClwKPAosChwJ/AnsCdwJzAm8CawJnAmMCYwJfAlsCVwJTAlMCTwJLAksCRwJDAkMCPwI/AjsCOwI3AjcCMwIzAi8CLwIrAisCJwInAiMCIwIjAh8CHwIbAhsCGwIXAhcCEwOnA8cD5wOvA08DVwNzA3MDTwMPAtMCswKnAp8ClwKTAosChwKDAn8CewJzAm8CawJrAmcCYwJfAlsCVwJXAlMCTwJLAksCRwJDAkMCPwI/AjsCNwI3AjMCMwIvAi8CKwIrAicCJwInAiMCIwIfAh8CGwIbAhsCFwIXAhMCEwITA5cDnwPXA8cDewNzA3sDYwMvAusCvwKrAqMCmwKXAo8CiwKDAn8CewJ3AnMCbwJrAmcCYwJfAlsCVwJXAlMCTwJLAksCRwJDAkMCPwI/AjsCNwI3AjMCMwIvAi8CKwIrAicCJwIjAiMCHwIfAh8CGwIbAhcCFwIXAhMCEwIPAg8DjwN7A78D0wOnA4cDdwNLAwcCzwKzAqcCnwKbApMCjwKHAoMCfwJ3AnMCbwJrAmcCYwJfAlsCWwJXAlMCTwJPAksCRwJDAkMCPwI/AjsCNwI3AjMCMwIvAi8CKwIrAicCJwIjAiMCHwIfAhsCGwIbAhcCFwITAhMCEwIPA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pMBRwKPAjsCewJvAk8CgwHjAoMB9wJ3AksCVwJrAhcCdwGHAm8CKwJbAlcCJwJnAZMCZwH3A98DiwMjA2cDAwMbAy8COwMTAvsClwMDArsCxwLrAjcC0wLLAkcC0wKXApMCwwI3AqsCqwIDAq8CgwJrAqsCNwKLApcBowKXAncCRwKTAjcCcwKHAQcCgwJrAiMCgwI3AlcCewGfAm8CYwH/AnMCMwJDAm8BxwJfAlsB1wJnAjMD1wOjAv8DQwNTAvsC7wMnAvcCkwMDAu8BfwLjAucCXwK/AtsCjwKPAs8CowJLArsCqwF7AqcCqwIjAosCqwJbAmMCowJ3AicClwKDAXcCgwKHAfsCawKHAjsCRwKDAlcCCwJ7AmcBbwJrAm8B3wJTAm8CHwIzAm8CPwH7AmMCUwPHA6cDZwJ/AysDQwMfAnsC6wMTAvsCdwK/Au8C4wJ3ApcC1wLPAncCdwLDAr8CdwJTAq8CswJzAisCnwKnAnMB+wKPAp8CcwG/An8CkwJvASMCbwKLAm8BiwJfAoMCawHLAksCewJrAesCOwJzAmcB/wIrAmsCYwILAhMCYwJjA68DnwODA08C5wLDAxcDJwMXAuMCDwK/Au8C8wLbAosCRwK7AtMCzwKjAgsCdwKzAr8CqwJnAfMChwKnAqcCgwILAkcCiwKbAo8CUwGbAmMCiwKLAm8CCwIbAm8CgwJ3AkcASwJDAnMCdwJfAgsB8wJTAm8CZwI7AW8CJwJbAmcDhwODA3cDZwNPAy8C/wKjAmsCzwLzAvsC+wLrAs8CmwIDAmMCpwLDAssCxwK3ApcCUwG3AmMCkwKnAq8CpwKTAmcCAwIHAl8CgwKTApMChwJvAjcBbwIjAl8CewKDAn8CbwJPAgMBqwIvAlsCbwJzAmsCVwInAa8B5wI3AlcCYwM/Az8DPwM7AzcDMwMrAyMDGwMTAwcC+wLrAtsCwwKnAoMCRwGnAhMCWwJ/ApMCowKrAq8CswKzAq8CqwKjApsCjwJ7AmcCRwITAacBswITAjsCVwJnAnMCewJ/AoMCgwJ/AnsCcwJnAlcCQwInAfsBpwFbAd8CDwIvAkMCTwJbAAAAAAAAAQk5TMQUBAAKioVoEQ0xJQ0sgQkFTUwAAQlVCQkEAQYjkBguZDHNAQAAAFAAAQEAAABQAAEgZAFpAFABYMkAARQBAATwCAAFuBXgIeAx4AQAyRgAAAAhA/8DawL3AtcCwwKzAqMClwKPAoMCewJzAmsCYwJfAlcCUwJPAkcCQwI/AjsCNwIzAi8CKwInAiMCIwIfAhsCFwIXAhMCDwILAgsCBwIHAgMB/wH/AfsB+wH3AfcB8wHzAe8B7wHrAesB6wHnAecB4wHjAd8B3wHfAdsB2wHbAdcDvwPPA1cC7wLXAsMCtwKrAp8ClwKLAoMCewJ3Am8CawJjAl8CWwJTAk8CSwJHAkMCPwI7AjsCNwIzAi8CKwIrAicCIwIjAh8CGwIbAhcCEwITAg8CDwILAgsCBwIHAgMCAwH/Af8B+wH7AfcB9wH3AfMB8wHvAe8B7wHrAesB6wODA5MDwwNTAu8C2wLPAsMCtwKrAqMCmwKTAo8ChwJ/AnsCdwJvAmsCZwJjAl8CWwJXAlMCTwJLAksCRwJDAj8CPwI7AjcCNwIzAi8CLwIrAisCJwInAiMCIwIfAh8CGwIbAhcCFwITAhMCDwIPAgsCCwILAgcCBwIDAgMCAwH/A48DUwN/A7cDSwLvAtsCzwLDArsCswKrAqMCmwKXAo8CiwKDAn8CewJ3AnMCbwJrAmcCYwJfAlsCVwJTAlMCTwJLAksCRwJDAkMCPwI7AjsCNwI3AjMCMwIvAi8CKwIrAicCJwIjAiMCHwIfAhsCGwIbAhcCFwITAhMCEwIPAg8DmwNbAzcDawOrA0cC6wLbAs8CxwK7ArMCrwKnAp8CmwKTAo8CiwKHAn8CewJ3AnMCbwJrAmsCZwJjAl8CWwJbAlcCUwJTAk8CSwJLAkcCQwJDAj8CPwI7AjsCNwI3AjMCMwIvAi8CKwIrAisCJwInAiMCIwIfAh8CHwIbAhsCGwOfA18DOwMjA18DnwM/AuMC1wLLAsMCuwKzAqsCpwKfApsCkwKPAosChwKDAn8CewJ3AnMCbwJrAmcCZwJjAl8CWwJbAlcCUwJTAk8CTwJLAkcCRwJDAkMCPwI/AjsCOwI3AjcCMwIzAi8CLwIvAisCKwInAicCJwIjAiMCHwIfA6cDZwNDAycDFwNTA5cDOwLfAtMCxwK/ArsCswKrAqcCnwKbApcCkwKPAocCgwJ/AnsCewJ3AnMCbwJrAmcCZwJjAl8CXwJbAlcCVwJTAlMCTwJLAksCRwJHAkMCQwI/Aj8COwI7AjsCNwI3AjMCMwIvAi8CL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";return f}var wasmBinaryFile;function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}var binary=tryParseAsDataURI(file);if(binary){return binary}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}async function getWasmBinary(binaryFile){return getBinarySync(binaryFile)}async function instantiateArrayBuffer(binaryFile,imports){try{var binary=await getWasmBinary(binaryFile);var instance=await WebAssembly.instantiate(binary,imports);return instance}catch(reason){err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)}}async function instantiateAsync(binary,binaryFile,imports){return instantiateArrayBuffer(binaryFile,imports)}function getWasmImports(){return{env:wasmImports,wasi_snapshot_preview1:wasmImports}}async function createWasm(){function receiveInstance(instance,module){wasmExports=instance.exports;wasmMemory=wasmExports["memory"];updateMemoryViews();addOnInit(wasmExports["__wasm_call_ctors"]);removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}var info=getWasmImports();if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err(`Module.instantiateWasm callback failed with error: ${e}`);readyPromiseReject(e)}}wasmBinaryFile??=findWasmBinary();try{var result=await instantiateAsync(wasmBinary,wasmBinaryFile,info);receiveInstantiationResult(result);return result}catch(e){readyPromiseReject(e);return}}class ExitStatus{name="ExitStatus";constructor(status){this.message=`Program terminated with exit(${status})`;this.status=status}}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var noExitRuntime=Module["noExitRuntime"]||true;var __emscripten_memcpy_js=(dest,src,num)=>HEAPU8.copyWithin(dest,src,src+num);var wasmImports={_emscripten_memcpy_js:__emscripten_memcpy_js};var wasmExports;createWasm();var ___wasm_call_ctors=()=>(___wasm_call_ctors=wasmExports["__wasm_call_ctors"])();var _bm_web_flash=Module["_bm_web_flash"]=()=>(_bm_web_flash=Module["_bm_web_flash"]=wasmExports["bm_web_flash"])();var _bm_web_flash_size=Module["_bm_web_flash_size"]=()=>(_bm_web_flash_size=Module["_bm_web_flash_size"]=wasmExports["bm_web_flash_size"])();var _bm_web_flash_blank=Module["_bm_web_flash_blank"]=()=>(_bm_web_flash_blank=Module["_bm_web_flash_blank"]=wasmExports["bm_web_flash_blank"])();var _bm_web_flash_writes=Module["_bm_web_flash_writes"]=()=>(_bm_web_flash_writes=Module["_bm_web_flash_writes"]=wasmExports["bm_web_flash_writes"])();var _bm_web_init=Module["_bm_web_init"]=a0=>(_bm_web_init=Module["_bm_web_init"]=wasmExports["bm_web_init"])(a0);var _bm_web_button=Module["_bm_web_button"]=(a0,a1,a2)=>(_bm_web_button=Module["_bm_web_button"]=wasmExports["bm_web_button"])(a0,a1,a2);var _bm_web_key=Module["_bm_web_key"]=(a0,a1,a2)=>(_bm_web_key=Module["_bm_web_key"]=wasmExports["bm_web_key"])(a0,a1,a2);var _bm_web_encoder=Module["_bm_web_encoder"]=(a0,a1,a2)=>(_bm_web_encoder=Module["_bm_web_encoder"]=wasmExports["bm_web_encoder"])(a0,a1,a2);var _bm_web_master=Module["_bm_web_master"]=a0=>(_bm_web_master=Module["_bm_web_master"]=wasmExports["bm_web_master"])(a0);var _bm_web_midi=Module["_bm_web_midi"]=a0=>(_bm_web_midi=Module["_bm_web_midi"]=wasmExports["bm_web_midi"])(a0);var _bm_web_tick=Module["_bm_web_tick"]=a0=>(_bm_web_tick=Module["_bm_web_tick"]=wasmExports["bm_web_tick"])(a0);var _bm_web_render=Module["_bm_web_render"]=a0=>(_bm_web_render=Module["_bm_web_render"]=wasmExports["bm_web_render"])(a0);var _bm_web_fb=Module["_bm_web_fb"]=()=>(_bm_web_fb=Module["_bm_web_fb"]=wasmExports["bm_web_fb"])();var _bm_web_leds=Module["_bm_web_leds"]=()=>(_bm_web_leds=Module["_bm_web_leds"]=wasmExports["bm_web_leds"])();var _bm_web_sampler=Module["_bm_web_sampler"]=()=>(_bm_web_sampler=Module["_bm_web_sampler"]=wasmExports["bm_web_sampler"])();var _bm_web_sampler_cap=Module["_bm_web_sampler_cap"]=()=>(_bm_web_sampler_cap=Module["_bm_web_sampler_cap"]=wasmExports["bm_web_sampler_cap"])();var _bm_web_bpm=Module["_bm_web_bpm"]=()=>(_bm_web_bpm=Module["_bm_web_bpm"]=wasmExports["bm_web_bpm"])();var _bm_web_takes_free=Module["_bm_web_takes_free"]=()=>(_bm_web_takes_free=Module["_bm_web_takes_free"]=wasmExports["bm_web_takes_free"])();var _bm_web_takes_total=Module["_bm_web_takes_total"]=()=>(_bm_web_takes_total=Module["_bm_web_takes_total"]=wasmExports["bm_web_takes_total"])();var _bm_web_sampler_set=Module["_bm_web_sampler_set"]=(a0,a1)=>(_bm_web_sampler_set=Module["_bm_web_sampler_set"]=wasmExports["bm_web_sampler_set"])(a0,a1);var _bm_web_midi_out=Module["_bm_web_midi_out"]=(a0,a1)=>(_bm_web_midi_out=Module["_bm_web_midi_out"]=wasmExports["bm_web_midi_out"])(a0,a1);var _bm_web_lang_buf=Module["_bm_web_lang_buf"]=()=>(_bm_web_lang_buf=Module["_bm_web_lang_buf"]=wasmExports["bm_web_lang_buf"])();var _bm_web_lang_load=Module["_bm_web_lang_load"]=a0=>(_bm_web_lang_load=Module["_bm_web_lang_load"]=wasmExports["bm_web_lang_load"])(a0);var _bm_web_lang_on=Module["_bm_web_lang_on"]=()=>(_bm_web_lang_on=Module["_bm_web_lang_on"]=wasmExports["bm_web_lang_on"])();var _bm_web_sound_buf=Module["_bm_web_sound_buf"]=()=>(_bm_web_sound_buf=Module["_bm_web_sound_buf"]=wasmExports["bm_web_sound_buf"])();var _bm_web_sound_load=Module["_bm_web_sound_load"]=a0=>(_bm_web_sound_load=Module["_bm_web_sound_load"]=wasmExports["bm_web_sound_load"])(a0);var _bm_web_sound_count=Module["_bm_web_sound_count"]=a0=>(_bm_web_sound_count=Module["_bm_web_sound_count"]=wasmExports["bm_web_sound_count"])(a0);var _bm_web_view=Module["_bm_web_view"]=()=>(_bm_web_view=Module["_bm_web_view"]=wasmExports["bm_web_view"])();var _bm_web_playing=Module["_bm_web_playing"]=()=>(_bm_web_playing=Module["_bm_web_playing"]=wasmExports["bm_web_playing"])();var __emscripten_stack_restore=a0=>(__emscripten_stack_restore=wasmExports["_emscripten_stack_restore"])(a0);var __emscripten_stack_alloc=a0=>(__emscripten_stack_alloc=wasmExports["_emscripten_stack_alloc"])(a0);var _emscripten_stack_get_current=()=>(_emscripten_stack_get_current=wasmExports["emscripten_stack_get_current"])();var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(){if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);Module["onRuntimeInitialized"]?.();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(()=>{setTimeout(()=>Module["setStatus"](""),1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run();moduleRtn=readyPromise; return moduleRtn; diff --git a/web/control_mock.js b/web/control_mock.js index 3770023..3739cd2 100644 --- a/web/control_mock.js +++ b/web/control_mock.js @@ -1,7 +1,7 @@ // SPDX-License-Identifier: GPL-3.0-or-later // Copyright (C) 2026 Erbubar23 // Un FM-1 de mentira para desarrollar la plataforma de control sin el aparato (control.html?mock=1). -// Contesta los mismos SysEx que hal/fm1/fm1_consola.c con respuestas como las de la 0.9.0-beta: +// Contesta los mismos SysEx que hal/fm1/fm1_consola.c con respuestas como las de la 0.10.0-beta: // 3 tomas, unos sonidos del usuario, el transporte parado. Las tomas y los borrados se guardan un // rato después, como en el aparato (un trabajo de flash al parar). window.bmMock deja tocar el estado // desde la consola del navegador o desde una prueba (bmMock.playing = 1, bmMock.busy = 1, …). @@ -15,7 +15,7 @@ const takeSect = (len) => Math.ceil((TAKE_HDR + len) / SECTOR); const sndSect = (size) => Math.ceil((size + 4) / SECTOR); const st = { - version: "0.9.0-beta", playing: 0, cpu: 38, dual: 0, heap: 96 * 1024, heapMin: 81 * 1024, busy: 0, late: 0, + version: "0.10.0-beta", playing: 0, cpu: 38, dual: 0, heap: 96 * 1024, heapMin: 81 * 1024, busy: 0, late: 0, takes: [{ len: 23851, bpm: 1610, bars: 1, pads: 8 }, { len: 16000, bpm: 1200, bars: 1, pads: 0 }, { len: 12000, bpm: 1280, bars: 1, pads: 0 }, null, null, null, null, null], snds: [ @@ -23,7 +23,7 @@ const st = { { eng: 3, size: 88, fp: 0x31C2, name: "FAT LEAD", author: "" }, { eng: 4, size: 88 + 32 * 156, fp: 0x7E10, name: "MY DX BANK", author: "" }, ], - lang: null, boot: Date.now() - 754000, log: "Bubba Machine 0.9.0-beta\nflash: zona de tomas leida, 3 tomas\nnucleo 1: listo\naudio: sonando\n", + lang: null, boot: Date.now() - 754000, log: "Bubba Machine 0.10.0-beta\nflash: zona de tomas leida, 3 tomas\nnucleo 1: listo\naudio: sonando\n", buf: [], arena: [], refused: [], }; diff --git a/web/emulador.html b/web/emulador.html index 2cb7efd..554de05 100644 --- a/web/emulador.html +++ b/web/emulador.html @@ -77,7 +77,7 @@