Repository navigation
Conversation
panel.py goes; mpvst_panel keeps EngineAdapter and re-exports controlpanel's build and Panel. controlpanel is frozen into the engine beside pydevices. mpvst_panel_follow runs the real adapter and panel in the engine and checks a host program change moves every encoder and LED ring. The editor smoke test clicks the first encoder (a click no longer moves anything) and turns it with the wheel.
Contributor
Author
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.
The editor's panel becomes
controlpanel(PyDevices/pydevices#368), a hardware-style panel: patch pads in banks A to H, an encoder with a 16-LED ring per macro, a dot-matrix display, an engine light, and FINE, BYPASS and RELOAD buttons.lib/mpvst_panel/panel.pygoes.mpvst_panelkeepsEngineAdapter, unchanged, and re-exports controlpanel'sbuildandPanel, sompvst_editor.pydoesn't change.It follows a patch change from the host. The adapter's macro echoes on a program change (#42) move every encoder and ring. The panel also reads
macro_valuesagain after a patch change, and publishes nothing back.Changes
scripts/bootstrap.shand CONTRIBUTING:controlpaneljoins the engine's modules, so it is frozen in beside pydevices.mpvst_panel_followrunstests/panel_follow.pyin the engine: the realEngineAdapterand panel, LVGL on a display with no window, and a stub vstui. Three host program changes must each move all 16 encoders and rings, light the patch's pad, and send no edit back. WithEngineAdapter._load_patchstubbed out (the adapter before Panel: sliders follow a patch change #42) it fails on every patch change, as it should.mpvst_engine_modulesalso importscontrolpanel, so an engine built without it fails there rather than at the first editor open.mpvst_editor_smokeclicks the first encoder, at its new place (118, 168), and requires that the click alone moves nothing. The wheel then raises macro 100 from 64 and closes the gesture. The navigate, close, reopen and restart checks are unchanged.Tested on Linux, in this branch's own build, with controlpanel staged beside the unix engine (the current engine predates it):
mpvst_editor_smoke,mpvst_panel_follow,mpvst_patch_select_smoke,mpvst_lint, and the rest of the suite except three.mpvst_engine_modulesfails because the current engine has nocontrolpanelfrozen in. That is the check doing its job until the engine is rebuilt.mpvst_engine_provenancerefuses the engine as older than audiodsp on disk; it fails the same way on main.mpvst_named_pluginsfails on SoundFont and SoundFont Drums making no sound. Those plug-ins never open the editor.Order
controlpanelamong its modules.Draft: the look gets a review first.