{-----------------------------------------------------------------------------
TPianoPlugin messages definition Unit v1.1
Author: ZiZii
Email: webm...@midipiano.net
Date: 4-July-2006
-----------------------------------------------------------------------------}
unit PianoPluginIntf;
interface
type
TPluginHeader = record
Title: PChar;
Author: PChar;
Version: PChar;
end;
PPluginHeader = ^TPluginHeader;
THeaderPluginProc = procedure(var Header: PPluginHeader); stdcall;
TFreeMemInPluginProc = procedure(var P: PPluginHeader); stdcall;
TInitializePluginProc = procedure(AHandle: Cardinal); stdcall;
TStartupStopPluginProc = procedure; stdcall;
const
WM_PLUGIN_BASE = $500;
WM_HOST_CONTROL = WM_PLUGIN_BASE + $01; // Send control message to
plugins
{
WParam: Longint; LParam: Longint;
$101: Volume changed, LParam stored the value
$103: Octave changed, ..
$105: Group changed, ..
$107: Color changed, ..
$109: Repeat changed, ..
$111: Patches change, ..
$201: PlayingStatus changed
$203: PlayingTime changed, this is only for progress changed
$205: PlayingSpeed changed
}
WM_HOST_MIDI = WM_PLUGIN_BASE + $02; // Send midi event to plugins
{
WParamLo: Word; MidiEvent
WParamHi: Word; MakeWord(Data1, Data2)
LParamLo: Word; 0
LParamHi: Word; Keycolor Index
}
WM_PLUGIN_CONTROL = WM_PLUGIN_BASE + $11; // Get and Set Control
status
{
WParam: Longint; LParam: Longint;
$0: GetVersion
$101: GetVolume
$102: SetVolume, 0..65535
$103: GetOctave
$104: SetOctave, 0..6
$105: GetGroup
$106: SetGroup, 0..3 -> 5-8 * 12 PianoKeys
$107: GetColor
$108: SetColor, 0..3, pcBlack=0, pcBlue=1, pcRed=2, pcGreen=3
$109: GetRepeat
$110: SetRepeat, 0..1
$111: GetPatches
$112: SetPatches, 0..127
$201: GetPlayingStatus
$202: SetPlayingStatus, stPlaying=0, stRecording=1, stPaused=2,
stStop=3
$203: GetPlayingTime
$204: SetPlayingTime, Integer
$205: GetPlayingSpeed
$206: SetPlayingSpeed, 30..240
}
WM_PLUGIN_MIDI = WM_PLUGIN_BASE + $12; // Send MidiEvent, Only for
Short
{
WParamLo: Word; MidiEvent
WParamHi: Word; LoByte -> Data1, HiByte -> Data2
LParamLo: Word; Keyboard Display: Boolean
LParamHi: Word; Keycolor Index: $FFFF = not assigned
}
WM_PLUGIN_HIGH = $600;
implementation
end.
at midipiano midi device configration, check the midi-in devices(when
you connected your digital piano, there must be some midi in devices
name), then click record button to begin record midi format file, when
record completed, save the midi file as your file name.
if you want record midi file with your digital piano, play it on
computer keyboard, then you should check the midi-out devices that with
your digital piano midi-port name.