Repository navigation
Module/track mutes (MPC style) - #931
jonathanwardle1992-beep wants to merge 15 commits into
Conversation
…inning. Co-authored-by: Cursor <cursoragent@cursor.com>
…ath. 0.1.9 hooks the 0x460d1aec==0 PLAY branch this unit uses (seqpause 0x4006188a, start 0x40061892). Same-unit card PS 0.1.9: with X, every PLAY starts from 1. Co-authored-by: Cursor <cursoragent@cursor.com>
Module/play start play start option in PERSONALIZE enabling PLAY button to globally play from 1 upon every actuation (instead of pausing and unpausing from where you paused) MPC style transport control for greater immediacy in performance focused address.
Co-authored-by: Cursor <cursoragent@cursor.com>
|
This update needs owner review instead of automatic publication: This GitHub account is not a registered module author. |
SYSTEM STATUS shows TM 0.1.32; PERSONALIZE empty and ticked. AED follow remains unverified. Firmware stays off git.
Drop the mixed PLAY START tree, pin the native source fingerprint, use a POSIX modules/ gate path, and fill the README Usage section so module-contract and Windows path checks can pass. Co-authored-by: Cursor <cursoragent@cursor.com>
Native source fingerprint now matches the folder, Gate() uses modules/track-mutes/verify.py, and Usage is populated so the tutorial heading is not treated as empty. Co-authored-by: Cursor <cursoragent@cursor.com>
…ing. src/community/module-changelogs is checked against catalog-listed modules only, so an unlisted first release fails module-contract as Unknown changelog module. Co-authored-by: Cursor <cursoragent@cursor.com>
…tes. Record reported 0.1.32 AED follow on the card (not verified). Skip byte clashes the configurator already refuses so PERSONALIZE growers can list. Co-authored-by: Cursor <cursoragent@cursor.com>
repeat98
left a comment
There was a problem hiding this comment.
Thanks for Track Mutes. Swapping T and FUNC+T is a good idea, and the TESTING.md log is really thorough. Some things need to change before it can go in:
- Please drop the edit to
scripts/module-compat.py. That gate is shared by every module, so changes to it go in their own pull request. It also doesn't turn CI green:sdk/tests/test_module_compat.pycallscheck()directly and still finds all 23 clashes. - The clashes. Track Mutes relocates the same PERSONALIZE arrays, row count and ANDY restore sites as Mute Modes, and stores its setting in the same word (
0x800000dc). It also detours the TRACK key (0x40040250) and the trig keys (0x40060cfc), which Play Modes already patches. As it stands it can never be installed next to either of them. I'd like these to be base-owned instead (a PERSONALIZE row table, and events for the TRACK and trig keys) so all three can be installed together. I'll come back here once I've decided how. - USB. A new Octatrack module needs the USB lifecycle (ADD_A_MODULE.md): a runtime package, install, self-test, Keep/Undo, removal and reboot, all tested on the unit. A runtime package can't carry
TableGrow, so the PERSONALIZE growth needs the in-unit table form that section describes. Until that's done, please keep the module undersdk/drafts/track-mutes/with its notes in aCHANGELOG.json(see "The fast loop" in the same guide). - The other red checks:
presentation/thumbnail.svgline 2 has a control byte (0x14) where the dash should be. The renderer can't parse the file, so the preview JPEG comes out blank. A plain hyphen fixes it.resources.impact.dsp.rationale("No DSP code.",octamod.module.json:106) needs more than 20 characters.evidence/performance.json(npm run perf:audit) and the native comparison (npm run module:verify -- track-mutes --os <your 1.40C file>).
tm_rec_midi(trackmutes.s:276) makes FUNC+REC1/2 open on the MIDI page even when the box is empty, so installing the module changes stock behaviour. Please gate it on LIVE like the other hooks, or leave it out, since it isn't about mutes.tm_func_track(trackmutes.s:208,:216) writes d2 before saving it on a second FUNC+press of the same key, and returns with it changed. The stock handler saves d2, so its caller expects to get it back. Please save d2 on entry.- Release notes. Players never had 0.1.0 to 0.1.31, so
src/community/module-changelogs/track-mutes.jsonshould have a single entry for the version you ship, saying what it does for them. The test history is already in TESTING.md. module-build.jsonhas file sizes and hashes from a CRLF checkout: it listsresident-dsp.jsonat 25630 bytes, but the committed file is 25257. Re-importing from an LF checkout fixes it.- Play Start (#947) also grows PERSONALIZE and edits the same lists, so whichever goes in second has to name the other in
conflictsand rebuild the packages. Until you have a published module I review one pull request of yours at a time, and this one is first.
One more thing: the automatic-publication and reviewer boxes in the template are for registered authors and for me. Please leave them unticked on a first release.
|
Hi, thanks for these, and for trying them on your unit. Before I go through the code, a few things that affect both Track Mutes and Play Start.
Small things: please keep the description to what changes and how you tested it, and untick the automatic-publication boxes; they're for registered authors' updates. |
|
Hi, a quick update on the PERSONALIZE clash, since it changes what you need to do. The base is getting a PERSONALIZE rows table ( The other points from my review still stand: the USB package with the card build (install, self-test, Keep/Undo, removal), dropping the |
Drop the shared compatibility filter, save d2 on the FUNC+T path, gate FUNC+REC on the checkbox, and keep the setting out of Mute Modes' battery word. PERSONALIZE table growth waits for repeat98#1023. Co-authored-by: Cursor <cursoragent@cursor.com>
Current main is 5f28c9a. Keep the packages already on this branch; they were not rebuilt. PERSONALIZE growth still waits on repeat98#1023. Co-authored-by: jonathanwardle1992-beep <jonathanwardle1992-beep@users.noreply.github.com>
|
Hi, thanks for keeping this up to date. Here's an update on the two things I said I'd come back to. PERSONALIZE. #1023 is still open. It goes in right after Mute Modes 0.2.2 (#1007), and I'll ping you here when it does. After that, Track Mutes contributes its row in The TRACK key and the trig keys. Track Mutes and Play Modes both detour Until both are in,
|
|
Hi, an update that changes what Track Mutes and Play Start (#947) need, in your favour. The card builder is retired. Since today (#1451, #1453) an Octatrack module ships only as a package for the Modwerk base, over USB. So for both modules you can forget the native comparison ( Still waiting on me: the PERSONALIZE rows table (#1023) isn't in yet. It goes in with the next base, and I'll ping you here when it does. The TRACK key and trig key hooks from my 4 November comment are still open too. Until both are there, please leave these two as they are; there's no need to merge Threshold Slices (#1285) stays first. It has two open points from 9 November: take the LEVEL and D gestures out, and replace the Windows path in TESTING.md with the package's SHA-256. Screen Off (#1341) has its two small ones as well. Those you can do now. |
What this changes
TRACK MUTES 0.1.33 adds a PERSONALIZE checkbox. Empty is stock (T selects, FUNC+T mutes). Ticked, T1-T8 mute and unmute, including several at once, and FUNC+T selects that track.
Review follow-up on this branch:
0x800000dc. It returns to empty after power-off until a base settings store exists. The ANDY length pokes are gone.scripts/module-compat.pyis removed.mainis merged.PERSONALIZE table growth is unchanged on purpose.
ot_personalize_rows(#1023) is still open, and this module will contribute its row there instead of growing stock's tables.How I checked it
npm run modules:generatevalidated the module folders.npm run module:doctor -- track-mutesis not green: there is no USB package, noevidence/performance.json, no native comparison, andmodules:compatstill reports the PERSONALIZE table clashes with Mute Modes (and the TRACK key clashes with Play Modes). Those table clashes stay until #1023. This machine has no ColdFire assembler, so the committed package object was not reassembled andnpm run module:verifywas not run.0.1.33 has not been flashed. The 0.1.32 card's AED follow and the LCD photos are reported for that card only.
Guides
Nothing in the guides was wrong for this pass. The USB package and the PERSONALIZE row both wait on the base table in #1023.
docs/module-guides/(andsequencing.mdif it acts in time), and TESTING.md lists what I did not test.Related to #931.