Add alpha mask system for virtual channel gating#13
Open
oisee wants to merge 6 commits intopaator:mainfrom
Open
Add alpha mask system for virtual channel gating#13oisee wants to merge 6 commits intopaator:mainfrom
oisee wants to merge 6 commits intopaator:mainfrom
Conversation
Alpha (0-15, default 15) controls per-tick transparency for future fill column system. Fully backward-compatible — old .btp files default to 15. Includes UI column in instrument editor and "Add row" button at top. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Documents the intent and current state of the alpha field in the instrument system, explaining the upcoming fill column feature. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Ctrl+Arrow shortcuts for pattern editor: jump channels (L/R), home/end (U/D) - Natural tuning tables for all 12 root notes using just intonation ratios - Duplicate row button in instrument and table editors - Add new row button at top of instrument and table editors - Resizable right panel with localStorage persistence - Persistent Hex mode toggle across browser sessions - Updated README with changelog Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Alpha values from instrument rows now drive virtual channel mixing: alpha=F is fully opaque, alpha=0 is transparent, and underlying channels punch through when their alpha exceeds the primary's. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Volume and mixer state no longer control channel priority — only alpha does. A silent primary with alpha=F blocks underlying channels (opaque silence), while alpha=0 lets them through regardless of primary volume. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
paator
requested changes
Mar 1, 2026
| defaultShortcut: 'Mod+ArrowRight' | ||
| }, | ||
| { | ||
| id: ACTION_CURSOR_HOME, |
Owner
| - **Pattern editing**: Field-based editing system in `src/lib/services/pattern/editing/` with strategies per field type. | ||
| - **Path alias**: `@` maps to `./src` (configured in both vite and vitest). | ||
|
|
||
| Currently bitphase supports only AY-8910/YM2149F chip, but architecture needs to support other chips in the future. Therefore, it is important to keep the code modular and easy to extend. Using AY specific code in generic parts is not allowed, because when we get to the point of adding another chip, we will have to rewrite a lot of code. |
Owner
There was a problem hiding this comment.
Why removing this rule for Claude? ^^ is it covered by other new rules perhaps?
| <Input class="w-48 text-xs" bind:value={name} /> | ||
| </div> | ||
|
|
||
| <div class="mb-2 ml-2"> |
Owner
|
|
||
| When multiple virtual channels (e.g. A, A', A'') share one hardware channel, alpha on the **primary** (leftmost) channel acts as a gate: | ||
|
|
||
| - **Alpha = F (15)**: Fully opaque — primary channel always wins, even if silent. This is the default, so existing songs are unaffected. |
Owner
There was a problem hiding this comment.
I have a case of file that worked fine before these changes but now doesn't work properly despite all instruments getting 0xF alpha by default. Gonna send you a dm, because our beloved .btp isn't supported on github 👍
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
Commits
Test plan
pnpm check— no type errors🤖 Generated with Claude Code