Package com.softsynth.midifile
Class MIDIFileImage
java.lang.Object
com.softsynth.midifile.MIDIFileImage
- All Implemented Interfaces:
MIDIFileListener
public class MIDIFileImage extends java.lang.Object implements MIDIFileListener
Contains an image of a MIDIFile.
- Author:
- Phil Burk (C) 1999 SoftSynth.com
-
Field Summary
Fields Modifier and Type Field Description int
currentTrackIndex
short
division
int
format
int
ticksPerBeat
MIDIFileTrack[]
tracks
-
Constructor Summary
Constructors Constructor Description MIDIFileImage()
-
Method Summary
Modifier and Type Method Description void
handleBeginTrack(int index)
Called at the beginning of each trackvoid
handleEndTrack(int index)
Called at the end of each trackvoid
handleEvent(int ticks, int command, int data1, int data2)
Called when a MIDI Message event is encountered.void
handleHeader(int format, int numTracks, short division)
Called when the header is parsed.void
handleMetaEvent(int ticks, int type, byte[] b)
Called when a MetaEvent is encountered.void
handleSysExF0(int ticks, byte[] b)
Called when an F0 SysEx event is encountered.void
handleSysExF7(int ticks, byte[] b)
Called when an F7 SysEx event is encountered.static void
main(java.lang.String[] args)
void
print()
double
ticksToSeconds(int ticks)
Scan tempo map to determine real-time for a given tick.void
write(MIDIFileOutput mfout)
Write a MIDIFile image object to a MIDIFile on disk.Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Field Details
-
tracks
-
format
public int format -
division
public short division -
currentTrackIndex
public int currentTrackIndex -
ticksPerBeat
public int ticksPerBeat
-
-
Constructor Details
-
MIDIFileImage
public MIDIFileImage()
-
-
Method Details
-
ticksToSeconds
public double ticksToSeconds(int ticks)Scan tempo map to determine real-time for a given tick. -
handleHeader
public void handleHeader(int format, int numTracks, short division)Called when the header is parsed.- Specified by:
handleHeader
in interfaceMIDIFileListener
- Parameters:
format
- Format of file. 0, 1 or 2.numTracks
-division
-
-
handleBeginTrack
public void handleBeginTrack(int index)Called at the beginning of each track- Specified by:
handleBeginTrack
in interfaceMIDIFileListener
- Parameters:
index
- Track index starting at zero
-
handleEndTrack
public void handleEndTrack(int index)Called at the end of each track- Specified by:
handleEndTrack
in interfaceMIDIFileListener
- Parameters:
index
- Track index starting at zero
-
handleSysExF0
public void handleSysExF0(int ticks, byte[] b)Called when an F0 SysEx event is encountered.- Specified by:
handleSysExF0
in interfaceMIDIFileListener
- Parameters:
ticks
- MIDIFile time-stampb
- bytes read from file for SysEx. May be null.
-
handleSysExF7
public void handleSysExF7(int ticks, byte[] b)Called when an F7 SysEx event is encountered.- Specified by:
handleSysExF7
in interfaceMIDIFileListener
- Parameters:
ticks
- MIDIFile time-stampb
- bytes read from file for SysEx. May be null.
-
handleMetaEvent
public void handleMetaEvent(int ticks, int type, byte[] b)Called when a MetaEvent is encountered.- Specified by:
handleMetaEvent
in interfaceMIDIFileListener
- Parameters:
ticks
- MIDIFile time-stamptype
- MetaEvent type, from 0 to 127.b
- bytes read from file for SysEx. May be null.
-
handleEvent
public void handleEvent(int ticks, int command, int data1, int data2)Called when a MIDI Message event is encountered.- Specified by:
handleEvent
in interfaceMIDIFileListener
- Parameters:
ticks
- MIDIFile time-stampcommand
- MIDI Command, eg. NOTE_ON.data1
- First data byte of message.data2
- Second optional data byte of message.
-
print
public void print() -
write
Write a MIDIFile image object to a MIDIFile on disk.- Throws:
java.io.IOException
-
main
public static void main(java.lang.String[] args)
-