Repository navigation
Host Integration
Dubcycling is a VST3 instrument (category Instrument) with a stereo output and no audio input: it plays its own loops. Put it on a MIDI or instrument track, not on an audio track.
It produces no MIDI output.
| Host | Platform | Status |
|---|---|---|
| Ableton Live | Windows | Tested: loops, rules, effects, beat grid and mix, MIDI mode. The pass slots are not yet tested in a real host. |
| any | macOS, Linux | Built, unit-tested and validated (Steinberg VST3 validator, pluginval) in CI only; not yet tested in a real host. |
Reports from other hosts are welcome.
- Tempo: both loops are stretched to the host tempo and follow tempo changes live. The current value is shown as BPM in the top bar. As long as the host has sent no tempo, 120 BPM is assumed (for the BARS suggestion and for MIDI mode with a stopped host).
- Song position: in Autoplay, Loop 1 is locked to the host's song position: it starts at song position 0 and again every Loop-1 length. Place your arrangement accordingly.
- Time signature: the numerator sets the number of grid lines per bar (4 without host information). Bar lines for MIDI mode starts and stops come from the host's position and time signature.
- Transport stop: in Autoplay the plugin falls silent; Reverb and Flanger tails ring out.
- Transport jump or host loop: Loop 1 jumps with the host, Loop 2 ends, and a new draw is made for the Loop-1 region the jump lands in. For pass slots, a host loop should start on a Loop-1 cycle start (song position 0 plus a multiple of the Loop-1 length); otherwise no pass is ever complete.
| Message | Autoplay | MIDI mode |
|---|---|---|
| Note learned for a pass slot, SAVE or PLAY | Triggers that target | Triggers that target (does not open the gate) |
| Any other note on (any channel) | Ignored | Opens the gate; the loops start at the next bar |
| Note off of the last held note | Ignored | Closes the gate; the loops stop at the next bar |
| All notes off, all sound off | – | Releases every held note |
| Anything else (CC, pitch bend, …) | Ignored | Ignored |
Velocity is ignored everywhere. See Autoplay and MIDI Mode and Pass Slots.
Dubcycling exposes no host parameters: nothing can be automated or mapped with the host's MIDI mapping. Effect settings, weights and mix are set in the plugin window only. The host's program list shows a single program. Control from outside is limited to MIDI notes (MIDI mode gate and the learned pass-slot notes).
While the host bypasses the plugin it outputs silence, but it still listens to MIDI: held notes are tracked and learned notes still trigger their targets.
The project stores the whole state of each instance:
- both loops as references (path, file name, content hash), with bars, regions and names; not the audio itself,
- rules, effects and pass slots,
- the play mode (Autoplay/MIDI) and the learned MIDI notes,
- the active bank and preset, so SAVE keeps overwriting the right preset after reopening the project.
If a loop file has moved, see Missing files in Loops and Regions. Projects saved with an older version load in a newer one. A project re-saved by an older version loses what that version does not know (effects, mix, pass slots, REV).
Dubcycling
Playing
Setup
Development