Repository navigation
Add DMX scenes: drag presets onto the events of the master deck - #39
Merged
Merged
Conversation
The DMX Scenes panel of the page assigns the presets of a DMX controller to events. Each preset is a MIDI note. The user drags a preset onto a row. - The rows are in four groups: Phrases, Rhythm, Transport and Mixer. - The phrase rows use six buckets of the rekordbox phrases: Intro, Groove, Build, Drop, Break and Outro. - A row with more presets steps through them. It steps on each trigger or after a number of bars, in the order up, ping-pong or random. - A row sends a pulse, holds the note, or sends a flash with a decay in milliseconds or in beats. - The page blinks the title of a row when its event occurs. It shows the cell of the current phrase and the last preset of each row. - Extra notes outside the preset range are available. - The setting "One preset at a time" (default on) is for a controller that shows one preset at a time. With it, no note off comes after a newer note on, and the held scene comes back after an overlay. The shared crate autoblink-core-midi holds the engine (scenes.rs). The host writes the scenes to scenes.json next to the config file. The firmware keeps them in NVS. The new MIDI setting "Note Off Velocity 0" (index 33, default on) sends each note off as a note on with velocity 0. A DMX controller ignored the 0x80 note off and kept the light on. The page names the phrases below the waveforms with the buckets. The firmware accepts a page from localhost, so that a page change needs no flash.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The DMX Scenes panel assigns the presets of a DMX controller to events of the master deck. Each preset is a MIDI note. The user drags a preset onto a row.
The engine is in
autoblink-core-midi(scenes.rs). The host and the firmware use it. The host writes the scenes toscenes.jsonnext to the config file. The firmware keeps them in NVS. The firmware accepts a page from localhost, so that a page change needs no flash (AGENTS.md, section "Web page without a flash").The version changes from 1.22.2 to 1.23.0.
Test
sh scripts/check.sh --esp32passes: format, clippy, tests and the two firmware builds.