qmk-dactyl-manuform-a/docs/ja/internals_midi_device.md

13 KiB

midi_device グループ

独自の MIDI デバイスを実装する時に、関数を使います。

実際にデバイスを介してバイトを送信するために、送信関数を設定します。このメソッドは、このデバイスで例えば midi_send_cc のような送信関数を呼ぶ時に呼ばれます。

midi_device_input を使ってデバイスからの入力データを処理し、それをデバイスに関連付けられたコールバックで渡します。

デバイスのプロセス関数の最初に呼び出される関数が必要な場合、midi_device_set_pre_input_process_func を使います。通常、入力をポーリングして midi_device_input に渡します。

概要

メンバー 説明
define MIDI_INPUT_QUEUE_LENGTH
enum input_state_t
public void midi_device_input(MidiDevice * device,uint8_t cnt,uint8_t * input) 入力バイトを処理します。この関数はバイトを解析し、指定されたデバイスに関連する適切なコールバックを呼びます。この関数は、カスタムデバイスを作成していて、MIDI 入力が必要な場合に使います。
public void midi_device_set_send_func(MidiDevice * device,midi_var_byte_func_t send_func) 出力データバイトの送信に使われるコールバック関数を設定します。これは、カスタムデバイスを作成している場合のみ使われます。ロックを気にすることなく様々な MIDI 送信関数を呼び出すことができるように、コールバック関数で割り込みを無効にすることができます。
public void midi_device_set_pre_input_process_func(MidiDevice * device,midi_no_byte_func_t pre_process_func) midi_device_process 呼び出しの最初に呼ばれるコールバックを設定します。これは入力データをポーリングし、midi_device_input 関数を介してデータを送信できます。カスタムデバイスを作成している場合のみ、これを使う可能性があります。
struct _midi_device この構造体は、MIDI デバイスの入出力関数と処理データを表します。

メンバー

define MIDI_INPUT_QUEUE_LENGTH

enum input_state_t

説明
IDLE
ONE_BYTE_MESSAGE
TWO_BYTE_MESSAGE
THREE_BYTE_MESSAGE
SYSEX_MESSAGE

public void midi_device_input(MidiDevice * device,uint8_t cnt,uint8_t * input)

入力バイトを処理します。この関数はバイトを解析し、指定されたデバイスに関連する適切なコールバックを呼びます。この関数は、カスタムデバイスを作成していて、MIDI 入力が必要な場合に使います。

パラメータ

  • device 入力を関連付ける MIDI デバイス

  • cnt 処理中のバイト数

  • input 処理するバイトデータ

public void midi_device_set_send_func(MidiDevice * device,midi_var_byte_func_t send_func)

出力データバイトの送信に使われるコールバック関数を設定します。これは、カスタムデバイスを作成している場合のみ使われます。ロックを気にすることなく様々な MIDI 送信関数を呼び出すことができるように、コールバック関数で割り込みを無効にすることができます。

パラメータ

  • device このコールバックを関連付ける MIDI デバイス

  • send_func 送信を行うコールバック関数

public void midi_device_set_pre_input_process_func(MidiDevice * device,midi_no_byte_func_t pre_process_func)

midi_device_process 呼び出しの最初に呼ばれるコールバックを設定します。これは入力データをポーリングし、midi_device_input 関数を介してデータを送信できます。カスタムデバイスを作成している場合のみ、これを使う可能性があります。

パラメータ

  • device このコールバックを関連付ける MIDI デバイス

  • midi_no_byte_func_t 実際のコールバック関数

_midi_device 構造体

この構造体は、MIDI デバイスの入出力関数と処理データを表します。

デバイスは、実際の物理デバイス [シリアルポート、USB ポート]、または仮想デバイスを表すことができます。この構造体を直接変更する必要はありません。

概要

メンバー 説明
public midi_var_byte_func_t send_func
public midi_three_byte_func_t input_cc_callback
public midi_three_byte_func_t input_noteon_callback
public midi_three_byte_func_t input_noteoff_callback
public midi_three_byte_func_t input_aftertouch_callback
public midi_three_byte_func_t input_pitchbend_callback
public midi_three_byte_func_t input_songposition_callback
public midi_two_byte_func_t input_progchange_callback
public midi_two_byte_func_t input_chanpressure_callback
public midi_two_byte_func_t input_songselect_callback
public midi_two_byte_func_t input_tc_quarterframe_callback
public midi_one_byte_func_t input_realtime_callback
public midi_one_byte_func_t input_tunerequest_callback
public midi_sysex_func_t input_sysex_callback
public midi_var_byte_func_t input_fallthrough_callback
public midi_var_byte_func_t input_catchall_callback
public midi_no_byte_func_t pre_input_process_callback
public uint8_t input_buffer
public input_state_t input_state
public uint16_t input_count
public uint8_t input_queue_data
public byteQueue_t input_queue

メンバー

public midi_var_byte_func_t send_func

public midi_three_byte_func_t input_cc_callback

public midi_three_byte_func_t input_noteon_callback

public midi_three_byte_func_t input_noteoff_callback

public midi_three_byte_func_t input_aftertouch_callback

public midi_three_byte_func_t input_pitchbend_callback

public midi_three_byte_func_t input_songposition_callback

public midi_two_byte_func_t input_progchange_callback

public midi_two_byte_func_t input_chanpressure_callback

public midi_two_byte_func_t input_songselect_callback

public midi_two_byte_func_t input_tc_quarterframe_callback

public midi_one_byte_func_t input_realtime_callback

public midi_one_byte_func_t input_tunerequest_callback

public midi_sysex_func_t input_sysex_callback

public midi_var_byte_func_t input_fallthrough_callback

public midi_var_byte_func_t input_catchall_callback

public midi_no_byte_func_t pre_input_process_callback

public uint8_t input_buffer

public input_state_t input_state

public uint16_t input_count

public uint8_t input_queue_data

public byteQueue_t input_queue