midi_out_name

MIDI out デバイス名取得

midi_out_name var_str, buf_size, devid

var_str  ... デバイス名を格納する文字列変数 (sdim 済)
buf_size ... var_str に sdim で確保したバッファサイズ
devid    ... デバイス番号 (0 ~ midi_out_count-1)

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

解説

指定デバイスの名称を var_str に cp932 で格納します。内部的には
midiOutGetDevCapsW で UTF-16 取得後、CP_ACP で変換しています。
var_str は事前に sdim で十分なサイズを確保し、その sdim サイズを
buf_size に指定してください。

例:
  sdim nm, 256
  midi_out_count cnt_dev
  repeat cnt_dev
    midi_out_name nm, 256, cnt
    mes strf("%d: %s", cnt, nm)
  loop

サンプル逆引き (1)

sample_midi.hsp

情報

プラグイン / モジュール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 out
対応環境
  • その他 : Win32 / Win64
hs ファイルhsphelp\hspmidi.hs