midi_in_open

MIDI in デバイスを開く

midi_in_open devid

(プラグイン / モジュール : hspmidi.dll)

解説

MIDI 入力デバイスを開きます。成功で 0、失敗で負数。
開いた時点ではまだ受信は始まりません。midi_in_start を呼んで
ください。内部リングバッファはここでクリアされます。

使い方の流れ:
  midi_in_open 0
  midi_in_start
  repeat
    midi_in_poll got, st, d1, d2
    if got == 0 : await 5 : continue
    mes strf("%02x %d %d", st, d1, d2)
  loop
  midi_in_stop
  midi_in_close

情報

プラグイン / モジュールhspmidi.dll
バージョン1.0
作成日2026-04-15
著作者IronHSP / hspmidi
URLhttps://github.com/inovia/IronHSP
備考hspmidi.dll は Windows の winmm (midiOut* / midiIn*) を使った
MIDI 入出力プラグインです。ショートメッセージ (Note On/Off,
Program Change 等) の送受信のみサポートします。SysEx は v1 では非対応。

#include "hspmidi.as" ; 直接使用
#include "iron_midi.hsp" ; note_name("C4") 等の便利 cfunc 付き

制約 (v1):
- MIDI out / in それぞれハンドルは同時 1 個のみ
- MIDI in はワーカースレッド callback → 内部リングバッファ (1024)
に蓄え、HSP 側は midi_in_poll で取り出すポーリング式
- SysEx / MIM_LONGDATA は未対応

戻り値規約:
0 ... 成功
負 ... 失敗 (winmm の MMRESULT を負符号化したもの)
タイプ拡張命令
グループhspmidi ― MIDI in
対応環境
  • その他 : Win32 / Win64
hs ファイルhsphelp\hspmidi.hs