From f060653fb80f20f00ffffce7274cab95342a4ca9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=BE=E6=B5=A6=20=E7=9F=A5=E4=B9=9F=20Matsuura=20Tomoy?= =?UTF-8?q?a?= Date: Thu, 9 Oct 2025 19:33:16 +0900 Subject: [PATCH] [obsidian] vault backup: 2025-10-09 19:33:16 --- content/mimiumでMIDIインプットを実装.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/content/mimiumでMIDIインプットを実装.md b/content/mimiumでMIDIインプットを実装.md index fb0f1395..de49a699 100644 --- a/content/mimiumでMIDIインプットを実装.md +++ b/content/mimiumでMIDIインプットを実装.md @@ -184,3 +184,26 @@ fn alloc_midi_voice_4(channel){ [[Computation Expression]]使ってIOの値を`let!`でバインドしていく、とかの方がわかりやすいかも + +--- + + +シンプルに、MIDIにコールバックを渡せるだけなら、どうやって作る? + +```rust + +fn __midi_note_callback(cb:{pitch:float,vel:float}->void ){ + +} + +fn poly_midi_allocator()->()->[{pitch:float,vel:float}]{ + let channels = array_new({pitch=0,vel=0},4) + let busymap = [0,0,0,0] + __midi_note_callback(|pitch,vel| { + + }) + channels//セルをupvalueとして返す +} + + +```