Skip to content

6.9: help patcher — numpy_allpass, and inlets and outlets from process() - #27

Merged
tap merged 6 commits into
development/v2from
v2/help-examples
Oct 1, 2026
Merged

tap merged 6 commits into
development/v2from
v2/help-examples

Conversation

@tap

@tap tap commented Sep 30, 2026

Copy link
Copy Markdown
Owner

Stacked on #26, which is stacked on #25. Only the top commit, 4a7d9f1, is new here. The stacking is only because the plan entries for 6.8 and 6.9 sit next to each other.

Two changes to the help patcher:

  • numpy_allpass in the examples note. It's the same allpass filter, run once per signal vector. The note suggests swapping it in for allpass and watching the patcher's CPU meter. The measured comparison is in the ReadMe's performance tables.
  • A new note on inlets and outlets, under the CPU meter. It covers what 2.4 made true, which the help didn't mention:
    • process()'s parameters are the object's signal inlets, and its return hint gives its outlets.
    • stereo_width has two of each.
    • A save that changes them changes the object.

The patcher window is 50 px taller to fit. I edited the patcher file directly, keeping Max's formatting (17 lines added, 4 removed), then opened it in Max 9.1.5 and checked the layout on screen.

Two layout problems that were already there and aren't changed here:

  • The first comment's opening line runs under saw~ 110. The unbreakable [tap.python~ token is wider than the comment's 235 px box.
  • The message boxes' patch cords cross the left column's text.

The plan's 6.9 is ticked.

🤖 Generated with Claude Code

https://claude.ai/code/session_019rVV9SkjkWmiBXFMT4whkz

tap and others added 6 commits September 30, 2026 17:36
…e package for every platform)

The external's bundle identifier shipped as max-sdk-base's unexpanded Xcode template,
com.74objects.${PRODUCT_NAME:rfc1034identifier}: only Xcode expands it. The object's CMakeLists
now expands it from the project name with the same rule — com.74objects.tap.python-tilde — and
the macOS CI job checks it. assemble-package.py leaves docs/PRODUCTION-PLAN.md out of the package
(docs/ still ships, for the reference page Max reads).

The plan records the uv discussion as 4.7 and the decision to attach one all-platform package to
every tag, v0.x published as pre-releases automatically, as 4.8.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019rVV9SkjkWmiBXFMT4whkz
min rewrites docs/tap.python~.maxref.xml when Max loads an external newer than the page, but it
dates the external by its .mxo folder, which a rebuild leaves alone: in the checkout the folder
dated from its first build, older than the page, so the page was never rewritten. (A freshly
unzipped release has a new folder, which is why Max rewrote the installed package's page.) The
macOS build now touches the folder after each link, and run.py says when Max has rewritten the
page, so it gets committed.

The page Max writes matches the committed one but for the description, which predated 2.4's
text; this commits Max's.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019rVV9SkjkWmiBXFMT4whkz
The examples note now names numpy_allpass, the allpass per vector, to swap in for allpass and watch
the patcher's CPU meter; a new note under the meter says what 2.4 made true: process()'s parameters
are the object's signal inlets and its return hint its outlets (stereo_width has two of each), and
a save that changes them changes the object. The window is 50 px taller to fit.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019rVV9SkjkWmiBXFMT4whkz
#25 landed on development/v2 as a8d2e98, the same tree as this branch's bb083ad. The one conflict
is the object's CMakeLists, where both added to the same if (APPLE) block: kept both, the bundle
identifier from #25 and 6.8's touch of the .mxo.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EaBE7c7xYRveqLrVTQTpQ5
Brings in #26's resolution against development/v2 (#25 landed there as a8d2e98), so this branch
merges cleanly once #26 has: the only difference from #26 is 6.9's own change.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EaBE7c7xYRveqLrVTQTpQ5
#26 landed as a squash (87a19bd), so its plan text conflicts with this branch's copy of it next
to 6.9's lines. Kept this branch's plan: the result is development/v2 plus exactly 6.9's change.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EaBE7c7xYRveqLrVTQTpQ5
@tap
tap merged commit 53d0ed7 into development/v2 Oct 1, 2026
18 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants