javax.sound.midi.spi
Class MidiFileWriter

java.lang.Object
  extended by javax.sound.midi.spi.MidiFileWriter

public abstract class MidiFileWriter
extends Object

MidiFileWriter provides MIDI file writing services. There are three types of Standard MIDI File (SMF) formats, represented by integers 0, 1, and 2. Type 0 files contain a single track and represents a single song performance. Type 1 may contain multiple tracks for a single song performance. Type 2 may contain multiple tracks, each representing a separate song performance. See http://en.wikipedia.org/wiki/MIDI#MIDI_file_formats for more information.

Since:
1.3

Constructor Summary
MidiFileWriter()
           
 
Method Summary
abstract  int[] getMidiFileTypes()
          Return the MIDI file types supported by this writer.
abstract  int[] getMidiFileTypes(Sequence sequence)
          Return the MIDI file types supported by this writer for the given sequence.
 boolean isFileTypeSupported(int fileType)
          Returns true if this writer supports the given file type.
 boolean isFileTypeSupported(int fileType, Sequence sequence)
          Returns true if this writer supports the given file type for the given sequence.
abstract  int write(Sequence in, int fileType, File out)
          Write a sequence to a file using the specified MIDI file type.
abstract  int write(Sequence in, int fileType, OutputStream out)
          Write a sequence to a stream using the specified MIDI file type.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MidiFileWriter

public MidiFileWriter()
Method Detail

getMidiFileTypes

public abstract int[] getMidiFileTypes()
Return the MIDI file types supported by this writer.

Returns:
the MIDI file types, or an empty array

getMidiFileTypes

public abstract int[] getMidiFileTypes(Sequence sequence)
Return the MIDI file types supported by this writer for the given sequence.

Parameters:
sequence - the sequence we'd like to write
Returns:
the MIDI file types, or an empty array

isFileTypeSupported

public boolean isFileTypeSupported(int fileType)
Returns true if this writer supports the given file type.

Parameters:
fileType - the file type we're asking about
Returns:
true if this writer supports fileType, false otherwise

isFileTypeSupported

public boolean isFileTypeSupported(int fileType,
                                   Sequence sequence)
Returns true if this writer supports the given file type for the given sequence.

Parameters:
fileType - the file type we're asking about
sequence - the sequence we'd like to write
Returns:
true if this writer supports fileType, false otherwise

write

public abstract int write(Sequence in,
                          int fileType,
                          OutputStream out)
                   throws IOException
Write a sequence to a stream using the specified MIDI file type.

Parameters:
in - the sequence to write
fileType - the MIDI file type to use
out - the output stream to write to
Returns:
the number of byte written
Throws:
IOException - if an I/O exception happens

write

public abstract int write(Sequence in,
                          int fileType,
                          File out)
                   throws IOException
Write a sequence to a file using the specified MIDI file type.

Parameters:
in - the sequence to write
fileType - the MIDI file type to use
out - the file to write to
Returns:
the number of byte written
Throws:
IOException - if an I/O exception happens