OpenMIDIProject

Home | News | Forums | Documentations | FAQ | Links | Contributors | Author

Japanese | English | Chinese


MIDI data creating and editing library "MIDIDataLibrary" (DLL)

MIDIDataLibrary is free, open source library for creating and editing MIDI data. It enables you to create MIDI data, load / save Sekaiju sequence file (*.skj), load Early Cakewalk sequence file (*.wrk), load / save Cherry sequence file (*.chy), load / save standard MIDI file (*.mid), load / save MIDICSV file (*.csv), and create, delete, modify MIDI tracks, and create, delete, modify MIDI events including meta event and system exclusive event. This library provides essential functions to edit each element of the MIDI data.

For time base, both TPQN base (resolution from 1 to 32767 [ticks / quarter note]) and SMPTE base (24, 25, 29.97, 30 [frames / sec]) are available. For SMF format, format0, format1, and format2 are available. The time base and SMF format can be converted at any time.

This library has functions to convert time code to [millisec] or convert [millisec] to time code by analyzing tempo events. This library also has functions to convert time code to [measure:beat:tick] or convert [measure:beat:tick] to time code by analyzing time signature events. Also, this library has functions to get or set title, copyright, comment, start time, end time and so on.

/* create MIDI data including only quarter note 'C'. */
#include <stdio.h>
#include <tchar.h>
#include <MIDIData.h>
int _tmain () {
	MIDITrack* pMIDITrack;
	MIDIData* pMIDIData = MIDIData_Create (MIDIDATA_FORMAT0, 1, MIDIDATA_TPQNBASE, 120); 
	if (pMIDIData == NULL) {
		_tprintf (_T("MIDIData_Create failed.\n"));
		return 0;
	}
	pMIDITrack = MIDIData_GetFirstTrack (pMIDIData); /* get first track */
	MIDITrack_InsertNote (pMIDITrack, 0, 0, 60, 100, 120); /* insert 'C'(Key=60 Vel=100) */
	MIDITrack_InsertEndofTrack (pMIDITrack, 120); /* insert end-of-track */
	MIDIData_SaveAsSMF (pMIDIData, _T("Test1.mid")); /* Save to standard MIDI file */
	MIDIData_Delete (pMIDIData); /* delete MIDI data */
	pMIDIData = NULL;
	return 1;
}
Name OS FileName Release day Size
■MIDIDataLibrary3.6 Windows XP / Vista / 7 / 8.1 / 10 MIDIDataLib3.6.zip 2018/04/15 1.70MB
■MIDIDataLibrary3.5 Windows XP / Vista / 7 / 8.1 / 10 MIDIDataLib3.5.zip 2017/12/17 640KB
■MIDIDataLibrary3.4 Windows XP / Vista / 7 / 8.1 / 10 MIDIDataLib3.4.zip 2016/05/08 636KB
■MIDIDataLibrary3.3 Windows XP / Vista / 7 / 8.1 / 10 MIDIDataLib3.3.zip 2016/04/17 636KB
■MIDIDataLibrary3.2 Windows XP / Vista / 7 / 8.1 MIDIDataLib3.2.zip 2015/05/04 636KB
■MIDIDataLibrary3.1 Windows XP / Vista / 7 / 8.1 MIDIDataLib3.1.zip 2014/05/25 600KB
■MIDIDataLibrary3.0 Windows XP / Vista / 7 / 8.1 MIDIDataLib3.0.zip 2014/04/29 576KB
■MIDIDataLibrary2.9 Windows 95 / 98 / ME / 2000 / XP / Vista / 7 MIDIDataLib2.9.zip 2013/11/10 416KB
■MIDIDataLibrary2.8 Windows 95 / 98 / ME / 2000 / XP / Vista / 7 MIDIDataLib2.8.zip 2013/05/05 492KB
■MIDIDataLibrary2.7 Windows 95 / 98 / ME / 2000 / XP / Vista / 7 MIDIDataLib2.7.zip 2012/09/30 492KB
■MIDIDataLibrary2.6 Windows 95 / 98 / ME / 2000 / XP / Vista / 7 MIDIDataLib2.6.zip 2012/02/19 492KB
■MIDIDataLibrary2.5 Windows 95 / 98 / ME / 2000 / XP / Vista / 7 MIDIDataLib2.5.zip 2012/01/20 416KB
■MIDIDataLibrary2.4 Windows 95 / 98 / ME / 2000 / XP / Vista / 7 MIDIDataLib2.4.zip 2012/01/10 416KB
■MIDIDataLibrary2.3 Windows 95 / 98 / ME / 2000 / XP / Vista / 7 MIDIDataLib2.3.zip 2010/07/30 415KB
■MIDIDataLibrary2.2 Windows 95 / 98 / ME / 2000 / XP / Vista / 7 MIDIDataLib2.2.zip 2010/02/28 396KB
■MIDIDataLibrary2.1 Windows 95 / 98 / ME / 2000 / XP / Vista / 7 MIDIDataLib2.1.zip 2009/12/13 396KB
■MIDIDataLibrary2.0 Windows 95 / 98 / ME / 2000 / XP / Vista / 7 MIDIDataLib2.0.zip 2009/07/14 396KB
■MIDIDataLibrary1.9 Windows 95 / 98 / ME / 2000 / XP / Vista / 7 MIDIDataLib1.9.zip 2009/04/07 340KB
■MIDIDataLibrary1.8 Windows 95 / 98 / ME / 2000 / XP / Vista / 7 MIDIDataLib1.8.zip 2009/01/17 396KB
■MIDIDataLibrary1.7 Windows 95 / 98 / ME / 2000 / XP / Vista / 7 MIDIDataLib1.7.zip 2008/12/27 384KB
■MIDIDataLibrary1.6 Windows 95 / 98 / ME / 2000 / XP / Vista / 7 MIDIDataLib1.6.zip 2008/12/20 384KB
■MIDIDataLibrary1.5 Windows 95 / 98 / ME / 2000 / XP / Vista / 7 MIDIDataLib1.5.zip 2008/12/13 384KB
■MIDIDataLibrary1.4 Windows 95 / 98 / ME / 2000 / XP / Vista / 7 MIDIDataLib1.4.zip 2008/11/03 320KB
■MIDIDataLibrary1.3 Windows 95 / 98 / ME / 2000 / XP / Vista / 7 MIDIDataLib1.3.zip 2008/10/07 288KB
■MIDIDataLibrary1.2 Windows 95 / 98 / ME / 2000 / XP / Vista / 7 MIDIDataLib1.2.zip 2008/09/20 288KB
■MIDIDataLibrary1.1 Windows 95 / 98 / ME / 2000 / XP / Vista / 7 MIDIDataLib1.1.zip 2008/08/16 288KB
■MIDIDataLibrary1.0 Windows 95 / 98 / ME / 2000 / XP / Vista / 7 MIDIDataLib1.0.zip 2008/07/26 285KB
■MIDIDataLibrary0.9 Windows 95 / 98 / ME / 2000 / XP / Vista / 7 MIDIDataLib0.9.zip 2008/03/31 268KB


(C)2002-2018 kuzu / openmidiproject OSDN