Controller Studio V.2026.4 - #14
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 91e83608b5
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| if message_type == "control_change": | ||
| return { | ||
| "message": "cc", | ||
| "channel": int(channel) + 1, | ||
| "number": int(message.control), |
There was a problem hiding this comment.
Decode NRPN before completing MIDI Learn
When learning an NRPN control, mido delivers the parameter-select/data sequence as multiple control_change messages, but this branch immediately accepts the first one as a plain CC and stops listening. Consequently, the advertised NRPN learning always records CC 99/98/6 rather than an nrpn binding; aggregate the NRPN sequence before completing the learn operation.
Useful? React with 👍 / 👎.
| ) | ||
| if path.exists() and not replace: | ||
| return | ||
| exported = export_liveprofessor_controller(result.profile, path, replace=replace) |
There was a problem hiding this comment.
Support button-only profiles in save-and-export
When a user creates a valid profile containing only buttons or pads, this path saves it and then always fails during export: export_liveprofessor_controller derives a rotary count of zero, while _prepare_tree requires at least one rotary. The editor explicitly permits such drafts, so the combined action cannot fulfill its promise and leaves a saved profile without the requested .ctrl2; allow zero-rotary exports or reject/preflight this profile before saving.
Useful? React with 👍 / 👎.
Résumé
.ctrl2Validation
221 passedgit diff --check