You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
v0.9.0: NRPN MIDI controller routing, SET popup, state v19
New features:
- NRPN-based slice editing from hardware MIDI controllers: zoom (NRPN 8193),
slice start (8194), slice end (8195) via CC 96/97 relative data bytes
- SET button popup replaces standalone SettingsPanel; includes NRPN enable,
consume-CCs toggle, and MIDI channel filter
- Live slice boundary preview during NRPN knob gesture; auto-commits ~300ms
after knob stops moving
- NRPN disabled by default; note added to README about controller requirements
and Ableton Live limitation (CC 96/97 intercepted by Ableton before plugin)
Breaking change:
- State format bumped to v19; presets saved with earlier versions will not load
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|`SET`| Theme, scale, and NRPN popup | Theme chooser, `+/- 0.25` scale, and NRPN settings|
103
104
| Sample info text | Load/relink shortcut | Click sample name area to load; missing file text opens relink dialog |
104
105
105
106
### Slice Control Bar (selected slice)
@@ -178,6 +179,44 @@ Requires a selected slice before opening.
178
179
179
180
Single-letter action shortcuts are intentionally unbound so DAW keyboard-MIDI note entry remains available.
180
181
182
+
## MIDI Controller Routing (NRPN)
183
+
184
+
INTERSECT supports NRPN-based slice editing from a hardware or software MIDI controller. Enable it via the **SET** button in the header bar — the popup contains an NRPN section with channel and consume options.
185
+
186
+
**Controller requirements:** The controller must support NRPN mode with configurable MSB/LSB address values, and must send **relative** data bytes — CC 96 (Data Increment) and CC 97 (Data Decrement) — rather than absolute CC 6 (Data Entry). Most dedicated encoder-style controllers (e.g. Korg nanoKONTROL in NRPN mode, MIDI Fighter Twister) support this. Simple knob controllers that only send CC 6 absolute values will not work.
187
+
188
+
Select the slice to edit by enabling **FM** (Follow MIDI) and playing its MIDI note. Then use the start/end knobs to adjust the slice boundaries. Commit happens automatically ~300ms after the knob stops moving — the same feel as releasing a parameter slider. Zoom in for finer control; each knob step moves `viewWidth / 16383` samples.
189
+
190
+
### NRPN Parameter Table
191
+
192
+
NRPN numbers use CC 99 (MSB address) / CC 98 (LSB address) to select the parameter, then CC 96 (Data Increment) or CC 97 (Data Decrement) to send a ±1 step. No absolute-value data bytes (CC 6/38) are used.
193
+
194
+
When programming a hardware controller, set the knob to **NRPN mode** with **MSB 64** and the LSB from the table below.
195
+
196
+
| NRPN | MSB | LSB | Name | Direction | Notes |
197
+
| --- | --- | --- | --- | --- | --- |
198
+
| 8193 | 64 | 1 | Zoom | CC 96 / CC 97 | Zoom in / out |
199
+
| 8194 | 64 | 2 | Slice start | CC 96 / CC 97 | Each step = viewWidth / 16383 samples |
200
+
| 8195 | 64 | 3 | Slice end | CC 96 / CC 97 | Each step = viewWidth / 16383 samples |
201
+
202
+
### SET Button — NRPN Settings
203
+
204
+
Open with the **SET** button in the header bar.
205
+
206
+
| Control | Function |
207
+
| --- | --- |
208
+
|`NRPN`| Enable/disable NRPN slice editing |
209
+
|`CONSUME CCs`| Strip NRPN edit CCs from MIDI output so they don't reach downstream instruments |
Settings are saved to the INTERSECT settings file alongside theme and UI scale.
213
+
214
+
### DAW-specific notes
215
+
216
+
**Ableton Live:** NRPN control does not work in Ableton Live. Ableton intercepts the CC 96/97 data-increment bytes before they reach the plugin, so the plugin only ever sees the address bytes (CC 98/99) and can never fire an event. This is an Ableton routing limitation with no known workaround on the plugin side.
217
+
218
+
**REAPER / Bitwig:** Route a MIDI track to the plugin instance as normal. No additional configuration is needed; all CC messages are forwarded to the plugin.
219
+
181
220
## Theme Customization
182
221
183
222
INTERSECT supports custom `.intersectstyle` themes. On first launch it creates default `dark.intersectstyle` and `light.intersectstyle` in the user theme directory.
@@ -194,9 +233,9 @@ Create a custom theme:
194
233
2. Set a unique `name:` value (used in the UI theme list).
195
234
3. Edit colors as 6-digit hex `RRGGBB`.
196
235
4. Place the file in your user theme folder.
197
-
5. Restart the plugin, then use the **UI** button in the header to select the theme.
236
+
5. Restart the plugin, then use the **SET** button in the header to select the theme.
198
237
199
-
The **UI** button popup also controls interface scale (`0.5x` to `3.0x` in `0.25` steps).
238
+
The **SET** button popup also controls interface scale (`0.5x` to `3.0x` in `0.25` steps).
0 commit comments