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
{{ message }}
Repository navigation
Commit 34a2485
Browse filesBrowse the repository at this point in the historyBrowse files
shared (`include/downspout/cellular_automaton.hpp`, tested in `tests/cellular_automaton_tests.cpp`) and used
156
157
by `polymeter`, `drumgen` and `xoxolo`. Open: xoxolo's grid shows the programmed pattern, not the
157
158
evolved row now playing.
158
-
***Magneto look and feel:**Retune, Sprout and Markov use a plugin-local `MagnetoKit.hpp` (identical
159
-
copies in `plugins/retune/src/dpf/`, `plugins/sprout/src/dpf/` and `plugins/markov/src/dpf/`) built on
160
-
`downspout/look_and_feel.hpp`, matching Pratt and Magneto. Moving it to a shared header
161
-
would remove the duplicate but is shared code and needs approval. Older generator
162
-
plugins still use `GenerativePanelUI` (mosaic, polymeter, etc.); restyle if wanted.
159
+
***Magneto look and feel:**the kit is now shared, `include/downspout/dpf/MagnetoKit.hpp`, used by
160
+
Retune, Sprout, Markov and Damiano (new hooks: overridable `sendValue()` for plugins that carry
161
+
values as state, `setValue()`and `setDim()`). Older generator plugins still use
162
+
`GenerativePanelUI` (mosaic, polymeter, etc.); restyle if wanted. Retune, Sprout and Markov were
163
+
rebuilt against the shared header but not re-screenshotted; confirm they look unchanged.
163
164
***Gravity** is in `harmonic-atlas`. `cadence` (learned harmony) has not had it; its progression
164
165
model is different, so decide whether a gravity bias on the learned transitions makes sense.
165
166
***Atlas voice-leading** is local to `harmonic-atlas`. Listen to it; the chords sit low (around
@@ -172,8 +173,10 @@ Remaining:
172
173
not pass incoming MIDI through; the editor does not move while a CC drives a control.
173
174
***Conductor awareness** was added to `lifeform`, `luma`, `polymeter` and `xoxolo` (off by default; not yet auditioned
174
175
in a host). `counterpointer` and `cadence` followed (the CC mapping is a tested pure function,
175
-
`applyConductorCc`, in their core-types headers; CC 24 relearns). Still without it among the generators:
176
-
`arpgen`, `mnemosyne` (only Novelty and a seed re-roll would fit, and its core takes parameters const, so it needs wrapper-level handling), `m-mix`, `sidecar` (its wrapper is tangled up with the server path),
176
+
`applyConductorCc`, in their core-types headers; CC 24 relearns). `arpgen` followed (CC 21 Density -> Octaves,
177
+
CC 22 Energy -> Rate; `applyConductorCc` in `arpgen_core.hpp`, tested; screenshot recaptured; not yet auditioned
178
+
in a host). `m-mix` followed (CC 21 Density -> Open Bias, CC 22 Energy -> Maintain inverted; tested; UI slider added and
179
+
the window made taller because its sixth slider row had been hidden under the toggles). Still without it among the generators: `mnemosyne` (only Novelty and a seed re-roll would fit, and its core takes parameters const, so it needs wrapper-level handling), `sidecar` (its wrapper is tangled up with the server path),
177
180
`tuney-vst`. Worth adding where a density or energy knob exists.
178
181
* Later candidate: chord-graph walker. A shared voice-leading helper in
179
182
generative-common is only worth it if a second plugin needs it (shared code, needs approval).
Copy file name to clipboardExpand all lines: docs/pages/_products/arpgen.md
+4Lines changed: 4 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -21,6 +21,10 @@ Scale mode uses held notes as register anchors for in-key runs, triads, or
21
21
sevenths. Both modes support one to four octaves, velocity following, gate
22
22
control, straight and triplet rates, and endpoint-safe alternating patterns.
23
23
24
+
### Conductor
25
+
26
+
Set **Conductor Ch** to the channel Conductor sends on (it defaults to 16; 0 is off) and Conductor shapes the arpeggio over the song: CC 21 (Density) sets Octaves from 1 to 4 and CC 22 (Energy) steps Rate from 1/4 up to 1/32. The CCs move the controls as if you had, so you can still override them by hand.
27
+
24
28
### Status
25
29
26
30
The portable core, deterministic tests, VST3 wrapper, and custom UI are in
Copy file name to clipboardExpand all lines: docs/pages/_products/damiano.md
+17-4Lines changed: 17 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ kind: Audio effect
6
6
category: processor
7
7
role: Stereo distortion
8
8
screenshot: /assets/plugins/damiano.png
9
-
summary: Six-mode stereo distortion with drive, tone shelf, wet/dry mix, output gain, and real-time MIDI CC override of drive from Drift or any CC source.
9
+
summary: Six-mode stereo distortion with drive, tone shelf, wet/dry mix and output gain. Linked or Split left/right processing for a binaural effect, with Drift CC control of each channel's drive and shape.
10
10
---
11
11
12
12
## Opinion
@@ -37,8 +37,12 @@ Damiano is a stereo distortion with six selectable waveshaping modes. Each mode
37
37
| Folds | 1–8 | 2 | Cascade depth in Wavefold mode; greyed out in other modes |
38
38
| Mix | 0–100 % | 100 % | Wet/dry blend |
39
39
| Output Gain | −24 to +24 dB | 0 dB | Post-distortion level trim |
40
-
| CC Number | off / 1–127 | off | Which MIDI CC number overrides Drive in real time |
41
-
| CC Channel | 1–16 | 1 | MIDI channel to listen on |
40
+
| CC Drive | off / 1–127 | off | MIDI CC number that overrides Drive in real time (left, or both when Linked) |
41
+
| CC Shape | off / 1–127 | off | MIDI CC number that selects the Mode in six steps (left, or both when Linked) |
42
+
| CC Channel | 1–16 | 1 | MIDI channel to listen on (shared) |
| Right Mode, Drive, Tone, Folds | as left | Tanh, 2, 50 %, 2 | Used only in Split |
45
+
| CC Drive R, CC Shape R | off / 1–127 | off | Right-channel CC numbers (Split only) |
42
46
43
47
### Tone shelf
44
48
@@ -50,10 +54,19 @@ When CC Number is set to anything other than off, incoming MIDI CC messages on t
50
54
51
55
This is designed to work directly with the Drift MIDI modulator. Route Drift's MIDI output to Damiano's MIDI input and assign the same CC number in both.
52
56
57
+
### Stereo: Linked and Split
58
+
59
+
The **Stereo** switch chooses how the two channels are processed.
60
+
61
+
-**Linked** (default): the right channel mirrors the left settings. This is the behaviour of earlier versions, and old sessions load as Linked.
62
+
-**Split**: the right channel has its own Mode, Drive, Tone and Folds, so each ear can be distorted differently. Fed the same signal on both sides, a Split setting such as Soft on the left and Fuzz on the right widens and detunes the image. Mix, Output Gain and the CC channel stay shared.
63
+
64
+
Each channel has its own **CC Drive** and **CC Shape** numbers (off / 1-127), all read on the shared CC Channel. CC Shape selects the waveshaper mode: the 0-127 range is divided into six equal steps (Soft, Tanh, Fuzz, Overdrive, Tube, Wavefold). In Linked mode the left CC numbers drive both channels and the right ones are ignored. Point two Drift lanes at the two CC Drive numbers to modulate the channels independently; a slow lane on one and a fast lane on the other gives a moving binaural beat.
65
+
53
66
### Wavefold notes
54
67
55
68
The triangle wavefolder applies the fold transfer function in series, re-driving the signal at each stage. High Drive combined with many Folds produces dense harmonic content that can sound noise-like at extreme settings — this is the intended character of the mode rather than an artefact. For cleaner folding tones, keep Drive below 5 and Folds at 2–4.
56
69
57
70
### Status
58
71
59
-
All six distortion modes and the MIDI CC drive link are functional and tested. A fresh screenshot is needed.
72
+
All six distortion modes, the MIDI CC drive link and the Linked/Split stereo processing are functional and covered by core tests (channel independence, CC mapping, state round-trip, pre-split state loading). The screenshot shows Split mode. Not yet auditioned in a host.
Copy file name to clipboardExpand all lines: docs/pages/_products/m-mix.md
+4Lines changed: 4 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,6 +19,10 @@ M-Mix processes incoming MIDI notes rather than audio. Notes pass only when the
19
19
current probability and Euclidean gates are open, making it useful for rhythmic
20
20
note thinning, comping variation, and transport-locked MIDI movement.
21
21
22
+
### Conductor
23
+
24
+
Set **Conductor Ch** to the channel Conductor sends on (it defaults to 16; 0 is off). CC 21 (Density) sets Open Bias, so denser sections let more notes through, and CC 22 (Energy) sets Maintain inverted, so more energetic sections change the gate more often. The CCs move the sliders as if you had, so you can still override them by hand.
25
+
22
26
### Status
23
27
24
28
Functional but awaiting review in practical application.
0 commit comments