Aria
80875cca95
Expose scheduler state and don't enqueue/trigger midi keys when repl stopped
2026-01-14 11:44:48 -06:00
Aria
5355a0c563
Ignore non-note messages
2026-01-11 23:34:52 -06:00
Aria
12cc1e9b5e
Add immediate triggering; move time to schedulerState
2026-01-11 14:51:47 -06:00
Aria
d753eedb90
Make latency consistent across all cps
2026-01-10 11:20:17 -06:00
Aria
4743334a17
Reduce latency; change name to midikeys; include in i/o learn page
2026-01-09 22:50:16 -06:00
Aria
103b27c21f
Working version of keyboard with variable lengths; tests and cleanup
2025-12-10 13:44:49 -06:00
Aria
597c941991
Add keyboard function
2025-12-10 12:01:04 -06:00
Aria
fe7e8f7add
Clearer docstring
2025-12-07 13:21:06 -06:00
Aria
7bc6fcbf2a
Add channel support to midi in
2025-11-23 18:24:48 -06:00
Jade (Rose) Rowland
91e1cc136e
working
2025-11-01 23:34:10 -04:00
Chandler Abraham
2eda047108
Merge branch 'main' of https://codeberg.org/uzu/strudel into fix/midi-init-bug
2025-07-22 21:52:03 -07:00
Chandler Abraham
c8cf1dc712
fix(midi): ensure midin initializes device state correctly
...
The midin function only initialized the refs object for a device on the initial MIDI setup. This caused an error if a second MIDI device was connected in the same session, as its refs object would not exist, leading to a 'cannot read properties of undefined' error when accessed.
This commit fixes the issue by ensuring that the refs object for a given MIDI input is initialized every time is called, not just on the first call.
2025-07-22 21:49:40 -07:00
Felix Roos
e3680b96de
refactor: remove first param of all onTrigger calls
2025-06-30 10:18:54 +02:00
Alex McLean
5fdea7fd80
github > strudel
2025-06-12 14:36:45 +01:00
nkymut
5fcb96f73c
codeformat
2025-03-11 23:33:45 +08:00
nkymut
2ccb95aec0
Refactor: Consolidate configuration variables into midiConfig object
...
- add options argument to .midi
- add midiConfig object with properties
2025-03-11 23:29:37 +08:00
nkymut
3c2692bdda
remove debugging artifacts
2025-03-09 06:06:59 +08:00
nkymut
43523b73c4
codeformat
2025-02-09 15:12:14 +08:00
nkymut
b98ebc696d
remove midimap JSDoc
2025-02-09 12:19:30 +08:00
nkymut
f802f18d68
refactor(midi): extract MIDI message handlers into dedicated functions
...
- Move MIDI API logic into separate functions following #1274 (sendCC, sendProgramChange, sendPitchBend, etc.)
2025-02-09 10:56:51 +08:00
nkymut
919c2854d5
Merge branch 'main' of https://github.com/tidalcycles/strudel into add-program-change
2025-02-09 10:53:03 +08:00
nkymut
451cdcc3a9
fix sendChannelAfterTouch -> sendChannelAftertouch
2025-02-07 04:39:24 +08:00
nkymut
5ff1d35272
'miditouch' change sendKeyAfterTouch to sendChannelAfterTouch
2025-02-07 00:08:31 +08:00
Felix Roos
efd4071637
remove midisounds for now
2025-02-06 13:51:53 +01:00
nkymut
20dcae68c1
add sysex handler to midicmd
2025-02-05 07:42:06 +08:00
Felix Roos
848edb1f69
doc: midisounds
2025-02-03 22:56:51 +01:00
Felix Roos
88fb0b3b75
fix: pnpm check
2025-02-03 22:45:19 +01:00
Felix Roos
e99f229b57
doc: defaultmidimap + midimaps
2025-02-03 22:37:59 +01:00
Felix Roos
c810a02a79
- add defaultmidimap function
...
- add midisounds function
- add midiport control
2025-02-03 21:55:57 +01:00
Felix Roos
d86df33b8c
allow loading midimap from url
2025-02-02 23:49:17 +01:00
Felix Roos
b74d5becd5
allow passing ccn numbers directly to midimapped control name
2025-02-02 23:37:20 +01:00
Felix Roos
b87b2aff9a
simplify more
2025-02-02 22:18:56 +01:00
Felix Roos
95b1548e5f
simplify
2025-02-02 22:16:11 +01:00
Felix Roos
0b1bc74c3b
feat: basic midimap handling
2025-02-02 22:01:53 +01:00
nkymut
3ffe3957ba
Prettier!
2025-01-25 08:00:49 +08:00
nkymut
3189b365c8
fix midibend and miditouch
2025-01-25 03:27:46 +08:00
nkymut
b8b999eab5
add midibend, miditouch
2025-01-25 02:28:56 +08:00
nkymut
d06a75a2cd
Add cc to midicmd, add API Reference for midi related controls
2025-01-24 05:37:11 +08:00
nkymut
57c48f0c45
Add 'sysex' control
...
- sysex(id, data) and both arguments are patternable
2025-01-23 08:30:06 +08:00
nkymut
a4792e29f5
update ProgramChange from pc to progNum
...
- add progNum keyword handler
- update midicmd handler to handle 'progNum' case
2025-01-22 06:48:55 +08:00
nkymut
13a4512601
Get sysex working
...
split sysex message into sysexid and sysexdata
sysexid is a device identification number or array
sysexdata is an array of data to be sent to the device
2025-01-18 14:31:11 +08:00
nkymut
c242f5f625
midi mapping to handle program change and sysex
2025-01-14 17:11:14 +08:00
nkymut
859f153ec6
Add program change(pc) and sysex to midi
2025-01-14 16:54:53 +08:00
Matthew Kaney
bd69ffb4b7
Add high-resolution CC option to midi
2024-11-16 14:35:18 -05:00
Raphaël Forment
23a4bf6641
Getting rid of second argument
2024-11-09 02:33:56 +01:00
Raphaël Forment
ec470aa2c6
Feat: midi() command support external instrument parameter mapping
...
This commit adds a second argument to the midi() command: mapping.
This argument should be an object containing a key-value map of
MIDI controls used by an external synthesizer. If any control is
used that matches the mapping, a CC message is sent.
2024-11-09 01:41:59 +01:00
Felix Roos
5ac59e95dd
handle midin device not found error
2024-07-25 16:07:58 +02:00
Jade (Rose) Rowland
57ad278137
fixed osc server
2024-04-21 17:52:22 -04:00
Jade (Rose) Rowland
5d8eea7299
fixed
2024-04-21 17:29:29 -04:00
Felix Roos
81b33afcdb
fix: do not reset cc input values on each eval
2024-04-12 12:30:13 +02:00