Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion tulip/server/refdocs/amy/_VENDORED_FROM.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
Auto-generated by tulip/server/sync_amy_docs.py — do not edit by hand.
Source: amy@e4881faf62f42de49ae1c1146ee711af5b8fdeb8
Source: amy@fbc8721e482440b8dedd43f51c5af6d9d9559c8d
Files: api.md, arduino.md, billie_jean.md, distortions.md, godot.md, juno_patches.md, midi.md, note_outputs.md, synth.md, upgrading.md
4 changes: 2 additions & 2 deletions tulip/server/refdocs/amy/api.md
Original file line number Diff line number Diff line change
Expand Up @@ -290,15 +290,15 @@ A note on list parameters: When an argument is a list of parameters, you can in
| Wire code | C `amy_event` | Python / JS | Type-range | Notes |
| ------ | -------- | ---------- | ---------- | ------------------------------------- |
| `i` | `synth` | `synth` | 0-31 | Define a set of voices for voice management. |
| `ic` | **TODO** | `midi_cc` | C,L,N,X,O,CMD | MIDI Control Code command for this synth (1-16). `C`=MIDI CC (0-127), `L`=log mapping (0/1), `N`=min val, `X`=max val, `O`=offset, `CMD`=wire command to execute, where `%i` is replaced by the channel number and `%v` is replaced by the value after min/max/offset/log mapping. Providing `C` with no further args deletes that CC. `C=255` deletes all CC mappings for the specified synth. See [#524](https://github.com/shorepine/amy/issues/524) |
| `ic` | **TODO** | `midi_cc` | C,L,N,X,O,CMD | MIDI Control Code command for this synth (1-16). `C`=MIDI CC (0-127), `L`=log mapping (0/1), `N`=min val, `X`=max val, `O`=offset, `CMD`=wire command to execute, where `%i` is replaced by the channel number and `%v` is replaced by the value after min/max/offset/log mapping. Providing `C` with no further args deletes that CC. `C=255` deletes all CC mappings for the specified synth. See [#524](https://github.com/shorepine/amy/issues/524). Instead of `CMD`, the mapping can name AMY parameters directly: `C,L,N,X,O,P[,OSC][,P,OSC...]`, where `P` is an `amy.PARAM_*` constant (e.g. `amy.PARAM_FILTER_FREQ`, `amy.PARAM_RESONANCE`) and `OSC` is the voice-relative osc (a lone `P` means osc 0). The mapped value is in the same units as the matching `amy.send()` keyword (Hz for `filter_freq`) and is applied to every voice of the synth; integer params are rounded. Up to 4 `P,OSC` pairs share the one value. Bus-level params (`PARAM_VOLUME`, `PARAM_REVERB_LEVEL`, ...) go to the synth's bus. Note-shaped params, osc references and breakpoints can't be mapped this way. E.g. `amy.send(synth=1, midi_cc='74,1,100,6400,0,%d' % amy.PARAM_FILTER_FREQ)`. See [#1175](https://github.com/shorepine/amy/issues/1175) |
| `id` | `synth_delay_ms` | `synth_delay` | uint | Delay (in ms) applied to synth note-ons. Gives time for decay of 'stolen' notes. |
| `if` | `synth_flags` | `synth_flags` | uint | Flags for synth creation: 1 = Use MIDI drum note->preset translation; 2 = Drop note-off events; 4 = Invert MIDI pedal sense. |
| `ig` | `cv_trigger` | `cv_trigger` | uint,uint | Configure external CV event triggering: Gate CV, trigger threshold, reset threshold, pitch CV, pitch scale, pitch offset, wire command template, %v gets pitch value. The pitch is `midi_note_for_logfreq(offset + scale * volts)`, i.e. scale and offset are in OCTAVES with 0 at 440 Hz (note 69): `1,0` is 1V/oct with A4 at 0 V, and 1V/oct with C1 at 0 V is `1,-3.75`. |
| `iG` | `note_output` | `note_output` | str | Send this synth's NOTE EVENTS to a control output IN ADDITION to its own oscillators. `'<mode>[,<arg>...]'`, the mode being the constant interpolated: `'%d,<pitch_cv>,<gate_cv>[,<vel_cv>[,<scale>[,<offset>[,<gate_volts>]]]]' % amy.NOTE_OUTPUT_CV_GATE` for 1V/oct plus a gate, `'%d,<channel 1..16>[,<forward_midi_in>]' % amy.NOTE_OUTPUT_MIDI_OUT` for MIDI, `'%d' % amy.NOTE_OUTPUT_OFF` to stop. A synth that should be silent inside AMY is simply one with no voices. See [note_outputs.md](note_outputs.md). |
| `im` | `grab_midi_notes` | `grab_midi_notes` | 0/1 | Use `amy.send(synth=CHANNEL, grab_midi_notes=0)` to prevent the default direct forwarding of MIDI note-on/offs to synth CHANNEL. |
| `iM` | `note_source_channel` | `note_source_channel` | 1-16 | Used internally to mark events that result from MIDI inputs, meaning they won't get forwarded to MIDI out. |
| `in` | `oscs_per_voice` | `oscs_per_voice` | >0 | Reserve this many oscs for each voice. Needed when initializing a synth (or voice) withouth an initial patch. Setting `oscs_per_voice` on an existing synth resets all oscs to their default state. |
| `io` | **TODO** | `midi_note_cmd` | M,L,N,X,O,CMD | MIDI Note on/off command for this synth. M=MIDI note number, or -1 for all notes. Other args map the velocity, as for `ic`. `%n` is substituted with the note number. |
| `io` | **TODO** | `midi_note_cmd` | M,L,N,X,O,CMD | MIDI Note on/off command for this synth. M=MIDI note number, or -1 for all notes. Other args map the velocity, as for `ic`. The direct `P[,OSC]` form works here too. `%n` is substituted with the note number. |
| `ip` | `pedal` | `pedal` | int | Non-zero means pedal is down (i.e., sustain). Must be used with `synth`. |
| `it` | `to_synth` | `to_synth` | 0-31 | New synth number, when changing the number (MIDI channel for n=1..16) of an entire synth. |
| `iv` | `num_voices` | `num_voices` | int | The number of voices to allocate when defining a synth. Only valid with `synth=X`. |
Expand Down
2 changes: 1 addition & 1 deletion tulip/shared/amy_kwmap.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/* GENERATED by tulip/shared/gen_amy_kwmap.py -- do not edit.
* Source of truth: amy/amy/__init__.py _KW_MAP_LIST at e4881faf62f4
* Source of truth: amy/amy/__init__.py _KW_MAP_LIST at fbc8721e4824
* (73 keywords). Regenerate whenever the amy pin moves; the
* amy-pin-check workflow enforces freshness with --check.
*
Expand Down
Loading