おーぷん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 ファイル名 リリース日 容量
■MIDIInstrumentライブラリ0.7 Windows XP / Vista / 7 / 8.1 MIDIInstrumentLib0.7.zip 2014/04/29 324KB
■MIDIInstrumentライブラリ0.6 Windows 95 / 98 / ME / 2000 / XP / Vista / 7 MIDIInstrumentLib0.6.zip 2012/02/19 216KB
■MIDIInstrumentライブラリ0.5 Windows 95 / 98 / ME / 2000 / XP / Vista / 7 MIDIInstrumentLib0.5.zip 2010/02/28 196KB
■MIDIInstrumentライブラリ0.4 Windows 95 / 98 / ME / 2000 / XP / Vista / 7 MIDIInstrumentLib0.4.zip 2009/05/04 192KB
■MIDIInstrumentライブラリ0.3 Windows 95 / 98 / ME / 2000 / XP / Vista / 7 MIDIInstrumentLib0.3.zip 2008/03/31 85KB


(C)2002-2017 くず / おーぷんMIDIぷろじぇくと OSDN