Class MidiFileWriter

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

public abstract class MidiFileWriter extends Object
A MidiFileWriter supplies MIDI file-writing services. Classes that implement this interface can write one or more types of MIDI file from a Sequence object.
Since:
1.3
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    Constructor for subclasses to call.
  • Method Summary

    Modifier and Type
    Method
    Description
    abstract int[]
    Obtains the set of MIDI file types for which file writing support is provided by this file writer.
    abstract int[]
    Obtains the file types that this file writer can write from the sequence specified.
    boolean
    isFileTypeSupported(int fileType)
    Indicates whether file writing support for the specified MIDI file type is provided by this file writer.
    boolean
    isFileTypeSupported(int fileType, Sequence sequence)
    Indicates whether a MIDI file of the file type specified can be written from the sequence indicated.
    abstract int
    write(Sequence in, int fileType, File out)
    Writes a stream of bytes representing a MIDI file of the file type indicated to the external file provided.
    abstract int
    write(Sequence in, int fileType, OutputStream out)
    Writes a stream of bytes representing a MIDI file of the file type indicated to the output stream provided.

    Methods declared in class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    Modifier and Type
    Method
    Description
    protected Object
    Answers a new instance of the same class as the receiver, whose slots have been filled in with the values in the slots of the receiver.
    boolean
    Compares the argument to the receiver, and answers true if they represent the same object using a class specific comparison.
    protected void
    Deprecated, for removal: This API element is subject to removal in a future version.
    May cause performance issues, deadlocks and hangs.
    final Class<? extends Object>
    Answers the unique instance of java.lang.Class which represents the class of the receiver.
    int
    Answers an integer hash code for the receiver.
    final void
    Causes one thread which is waiting on the receiver to be made ready to run.
    final void
    Causes all threads which are waiting on the receiver to be made ready to run.
    Answers a string containing a concise, human-readable description of the receiver.
    final void
    Causes the thread which sent this message to be made not ready to run pending some change in the receiver (as indicated by notify or notifyAll).
    final void
    wait(long time)
    Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated by notify or notifyAll) or the expiration of the timeout.
    final void
    wait(long time, int frac)
    Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated by notify or notifyAll) or the expiration of the timeout.
  • Constructor Details

    • MidiFileWriter

      protected MidiFileWriter()
      Constructor for subclasses to call.
  • Method Details

    • getMidiFileTypes

      public abstract int[] getMidiFileTypes()
      Obtains the set of MIDI file types for which file writing support is provided by this file writer.
      Returns:
      array of file types. If no file types are supported, an array of length 0 is returned.
    • getMidiFileTypes

      public abstract int[] getMidiFileTypes(Sequence sequence)
      Obtains the file types that this file writer can write from the sequence specified.
      Parameters:
      sequence - the sequence for which MIDI file type support is queried
      Returns:
      array of file types. If no file types are supported, returns an array of length 0.
      Throws:
      NullPointerException - if sequence is null
    • isFileTypeSupported

      public boolean isFileTypeSupported(int fileType)
      Indicates whether file writing support for the specified MIDI file type is provided by this file writer.
      Parameters:
      fileType - the file type for which write capabilities are queried
      Returns:
      true if the file type is supported, otherwise false
    • isFileTypeSupported

      public boolean isFileTypeSupported(int fileType, Sequence sequence)
      Indicates whether a MIDI file of the file type specified can be written from the sequence indicated.
      Parameters:
      fileType - the file type for which write capabilities are queried
      sequence - the sequence for which file writing support is queried
      Returns:
      true if the file type is supported for this sequence, otherwise false
      Throws:
      NullPointerException - if sequence is null
    • write

      public abstract int write(Sequence in, int fileType, OutputStream out) throws IOException
      Writes a stream of bytes representing a MIDI file of the file type indicated to the output stream provided.
      Parameters:
      in - sequence containing MIDI data to be written to the file
      fileType - type of the file to be written to the output stream
      out - stream to which the file data should be written
      Returns:
      the number of bytes written to the output stream
      Throws:
      IOException - if an I/O exception occurs
      IllegalArgumentException - if the file type is not supported by this file writer
      NullPointerException - if in or out are null
      See Also:
    • write

      public abstract int write(Sequence in, int fileType, File out) throws IOException
      Writes a stream of bytes representing a MIDI file of the file type indicated to the external file provided.
      Parameters:
      in - sequence containing MIDI data to be written to the external file
      fileType - type of the file to be written to the external file
      out - external file to which the file data should be written
      Returns:
      the number of bytes written to the file
      Throws:
      IOException - if an I/O exception occurs
      IllegalArgumentException - if the file type is not supported by this file writer
      NullPointerException - if in or out are null
      See Also: