分類 | 種別 | データ長 | 内容 |
---|---|---|---|
ヘッダ | ID | 4バイト | "MThd" アスキー・コード 'M','T','h','d' の 4バイト |
サイズ | 4バイト | 以降のヘッダのバイト数をビッグエンディアンで格納
ヘッダの場合は値6固定なので、00,00,00,06 の4バイト | |
フォーマットタイプ | 2バイト | 値0, 1, 2 のいづれかをビッグエンディアンで格納
ここではフォーマットタイプ 0 の SMF のみ扱うので、 00,00 の2バイト | |
トラック数 | 2バイト | トラック数をビッグエンディアンで格納
フォーマットタイプが0の場合は、トラック数は1固定なので、 00,01 の2バイト | |
時間分解能 | 2バイト | 四分音符の分割数をビッグエンディアンで格納
四分音符1つをここで指定した値で分割した長さが、時間の最小単位 ただし1バイト目の最上位ビットが'1'の場合は、別の扱いとなる ここでは1バイト目の最上位ビットが'0'のSMFのみを扱う | |
トラック | ID | 4バイト | "MTrk" アスキー・コード 'M','T','r','k' の 4バイト |
サイズ | 4バイト | 以降のトラックのバイト数をビッグエンディアンで格納 | |
デルタタイム | 可変長 | ||
イベント | 可変長 | ||
デルタタイム | 可変長 | ||
イベント | 可変長 | ||
: | |||
デルタタイム | 可変長 | ||
イベント | 可変長 |
簡単なテキストの表組みツール (C言語)
TXTBLCNT (簡単なテキストの表組みツールのためのさらなるツール)
関数名 | int foo_send(const unsigned char *buf, unsigned bytes) | |||
---|---|---|---|---|
説明 | データ送信開始 | |||
引数 | ||||
項番 | 仮引数名 | 型 | 説明 | |
1 | buf | const unsigned char * | 送信するデータの先頭アドレス | |
2 | bytes | unsigned | 送信するデータのバイト数(最大4096*9=36Kバイトまで指定可能) | |
返却値 | ||||
項番 | 型 | 説明 | ||
1 | int | 0 | FOO_OK | 正常終了 |
<0 | FOOO_EINVAL | パラメータの値が異常である | ||
FOO_EBUSY | 現在送信中である | |||
FOO_EIO | エラーが検出された | |||
FOO_ETIMEDOUT | タイムアウト発生 | |||
|