Save This Page
Home » openjdk-7 » javax.sound » midi » [javadoc | source]
javax.sound.midi
public class: MidiFileFormat [javadoc | source]
java.lang.Object
   javax.sound.midi.MidiFileFormat
A MidiFileFormat object encapsulates a MIDI file's type, as well as its length and timing information.

A MidiFileFormat object can include a set of properties. A property is a pair of key and value: the key is of type String, the associated property value is an arbitrary object. Properties specify additional informational meta data (like a author, or copyright). Properties are optional information, and file reader and file writer implementations are not required to provide or recognize properties.

The following table lists some common properties that should be used in implementations:
Property key Value type Description
"author" String name of the author of this file
"title" String title of this file
"copyright" String copyright message
"date" Date date of the recording or release
"comment" String an arbitrary text

Field Summary
public static final  int UNKNOWN_LENGTH    Represents unknown length. 
protected  int type    The type of MIDI file. 
protected  float divisionType    The division type of the MIDI file.
    Also see:
    Sequence#PPQ
    Sequence#SMPTE_24
    Sequence#SMPTE_25
    Sequence#SMPTE_30DROP
    Sequence#SMPTE_30
 
protected  int resolution    The timing resolution of the MIDI file. 
protected  int byteLength    The length of the MIDI file in bytes. 
protected  long microsecondLength    The duration of the MIDI file in microseconds. 
Constructor:
 public MidiFileFormat(int type,
    float divisionType,
    int resolution,
    int bytes,
    long microseconds) 
 public MidiFileFormat(int type,
    float divisionType,
    int resolution,
    int bytes,
    long microseconds,
    Map properties) 
    Construct a MidiFileFormat with a set of properties.
    Parameters:
    type - the MIDI file type (0, 1, or 2)
    divisionType - the timing division type (PPQ or one of the SMPTE types)
    resolution - the timing resolution
    bytes - the length of the MIDI file in bytes, or UNKNOWN_LENGTH if not known
    microseconds - the duration of the file in microseconds, or UNKNOWN_LENGTH if not known
    properties - a Map<String,Object> object with properties
    Also see:
    UNKNOWN_LENGTH
    Sequence#PPQ
    Sequence#SMPTE_24
    Sequence#SMPTE_25
    Sequence#SMPTE_30DROP
    Sequence#SMPTE_30
    since: 1.5 -
Method from javax.sound.midi.MidiFileFormat Summary:
getByteLength,   getDivisionType,   getMicrosecondLength,   getProperty,   getResolution,   getType,   properties
Methods from java.lang.Object:
clone,   equals,   finalize,   getClass,   hashCode,   notify,   notifyAll,   toString,   wait,   wait,   wait
Method from javax.sound.midi.MidiFileFormat Detail:
 public int getByteLength() 
    Obtains the length of the MIDI file, expressed in 8-bit bytes.
 public float getDivisionType() 
    Obtains the timing division type for the MIDI file.
 public long getMicrosecondLength() 
    Obtains the length of the MIDI file, expressed in microseconds.
 public Object getProperty(String key) 
    Obtain the property value specified by the key. The concept of properties is further explained in the class description .

    If the specified property is not defined for a particular file format, this method returns null.

 public int getResolution() 
    Obtains the timing resolution for the MIDI file. If the division type is PPQ, the resolution is specified in ticks per beat. For SMTPE timing, the resolution is specified in ticks per frame.
 public int getType() 
    Obtains the MIDI file type.
 public Map properties() 
    Obtain an unmodifiable map of properties. The concept of properties is further explained in the class description .