おーぷんMIDIぷろじぇくと

ホーム | ニュース | フォーラム | 資料 | FAQ |リンク | 貢献者 | 作者

Japanese | English | Chinese


MIDI楽器定義用ライブラリ『MIDIInstrumentライブラリ』(DLL)

『MIDIInstrumentライブラリ』は、フリーでオープンソースの、MIDIインストゥルメント定義の読み込み・編集用ライブラリです。このライブラリは、インストゥルメント定義の生成・ファイル入力(Cakewalk用インストゥルメント定義ファイル(*.ins))、音色名の追加・変更・参照・削除、コントローラー名の追加・変更・参照・削除など、MIDIインストゥルメント定義のあらゆる要素に迅速にアクセスする関数を提供しています。

/* インストゥルメント定義ファイルから楽器別に音色名リストを抽出 */
#include <stdio.h>
#include <tchar.h>
#include <MIDIInstrument.h>
int _tmain () {
	MIDIInstrument* pMIDIInstrument = NULL;
	MIDIInstrumentDefinition* pMIDIInstrumentDef = NULL;
	MIDIPatchNameTable* pMIDIPatchNameTable = NULL;
	TCHAR szTitle[256];
	TCHAR szName[256];
	long j = 0;
	long ret = 0;
	/* MIDIインストゥルメント定義ファイルの読み込み */
	pMIDIInstrument = MIDIInstrument_Load (_T("SC-8850.ins"));
	if (pMIDIInstrument == NULL) {
		_tprintf (_T("MIDIインストゥルメントファイルが読み込めません。\n"));
		return 0;
	}
	/* このファイルに含まれるすべてのMIDIインストゥルメント定義ごとに */
	forEachInstrumentDefinition (pMIDIInstrument, pMIDIInstrumentDef) {
		/* インストゥルメント定義名の表示 */
		MIDIInstrumentDefinition_GetTitle (pMIDIInstrumentDef, szTitle, 255);
		_tprintf (_T("[%s]\n"), szTitle);
		/* バンク番号0番(CC#0=0,CC#32=0)のパッチ名テーブルを取得する。 */
		pMIDIPatchNameTable = MIDIInstrumentDefinition_GetPatchNameTable 
			(pMIDIInstrumentDef, 0);
		if (pMIDIPatchNameTable) {
			/* このパッチ名テーブルのタイトルを表示する */
			MIDIPatchNameTable_GetTitle (pMIDIPatchNameTable, szTitle, 255);
			_tprintf (_T("    PatchNameTable(0)=%s\n"), szTitle);
			/* このパッチ名テーブルの内容をすべて表示する(欠番は除く) */
			for (j = 0; j < 128; j++) {
				ret = MIDIPatchNameTable_GetName 
					(pMIDIPatchNameTable, j, szName, 255);
				if (ret > 0) {
					_tprintf (_T("        %d=%s\n"), j, szName);
				}
			}
		}
	}
	MIDIInstrument_Delete (pMIDIInstrument);
	pMIDIInstrument = NULL;
	return 1;
}
名称 対応OS ファイル名 リリース日 容量
Windows 7 / 8.1 / 10 / 11 MIDIInstrumentLib8.0.zip 2024/01/21 1.47MB
Windows 7 / 8.1 / 10 / 11 MIDIInstrumentLib7.0.zip 2021/08/15 760KB
Windows XP / Vista / 7 / 8.1 MIDIInstrumentLib0.7.zip 2014/04/29 324KB
Windows 95 / 98 / ME / 2000 / XP / Vista / 7 MIDIInstrumentLib0.6.zip 2012/02/19 216KB
Windows 95 / 98 / ME / 2000 / XP / Vista / 7 MIDIInstrumentLib0.5.zip 2010/02/28 196KB
Windows 95 / 98 / ME / 2000 / XP / Vista / 7 MIDIInstrumentLib0.4.zip 2009/05/04 192KB
Windows 95 / 98 / ME / 2000 / XP / Vista / 7 MIDIInstrumentLib0.3.zip 2008/03/31 85KB


(C)2000-2024 くず All rights reserved.