Java Code Examples for javax.sound.midi.spi.MidiFileReader#getSequence()

The following examples show how to use javax.sound.midi.spi.MidiFileReader#getSequence() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: MidiSystem.java    From Java8CN with Apache License 2.0 6 votes vote down vote up
/**
 * Obtains a MIDI sequence from the specified URL.  The URL must
 * point to valid MIDI file data for a file type recognized
 * by the system.
 * <p>
 * This operation can only succeed for files of a type which can be parsed
 * by an installed file reader.  It may fail with an InvalidMidiDataException
 * even for valid files if no compatible file reader is installed.  It
 * will also fail with an InvalidMidiDataException if a compatible file reader
 * is installed, but encounters errors while constructing the <code>Sequence</code>
 * object from the file data.
 *
 * @param url the URL from which the <code>Sequence</code> should be
 * constructed
 * @return a <code>Sequence</code> object based on the MIDI file data
 * pointed to by the URL
 * @throws InvalidMidiDataException if the URL does not point to valid MIDI
 * file data recognized by the system
 * @throws IOException if an I/O exception occurs while accessing the URL
 */
public static Sequence getSequence(URL url)
    throws InvalidMidiDataException, IOException {

    List providers = getMidiFileReaders();
    Sequence sequence = null;

    for(int i = 0; i < providers.size(); i++) {
        MidiFileReader reader = (MidiFileReader) providers.get(i);
        try {
            sequence = reader.getSequence( url ); // throws IOException
            break;
        } catch (InvalidMidiDataException e) {
            continue;
        }
    }

    if( sequence==null ) {
        throw new InvalidMidiDataException("could not get sequence from URL");
    } else {
        return sequence;
    }
}
 
Example 2
Source File: MidiSystem.java    From openjdk-jdk8u-backup with GNU General Public License v2.0 6 votes vote down vote up
/**
 * Obtains a MIDI sequence from the specified URL.  The URL must
 * point to valid MIDI file data for a file type recognized
 * by the system.
 * <p>
 * This operation can only succeed for files of a type which can be parsed
 * by an installed file reader.  It may fail with an InvalidMidiDataException
 * even for valid files if no compatible file reader is installed.  It
 * will also fail with an InvalidMidiDataException if a compatible file reader
 * is installed, but encounters errors while constructing the <code>Sequence</code>
 * object from the file data.
 *
 * @param url the URL from which the <code>Sequence</code> should be
 * constructed
 * @return a <code>Sequence</code> object based on the MIDI file data
 * pointed to by the URL
 * @throws InvalidMidiDataException if the URL does not point to valid MIDI
 * file data recognized by the system
 * @throws IOException if an I/O exception occurs while accessing the URL
 */
public static Sequence getSequence(URL url)
    throws InvalidMidiDataException, IOException {

    List providers = getMidiFileReaders();
    Sequence sequence = null;

    for(int i = 0; i < providers.size(); i++) {
        MidiFileReader reader = (MidiFileReader) providers.get(i);
        try {
            sequence = reader.getSequence( url ); // throws IOException
            break;
        } catch (InvalidMidiDataException e) {
            continue;
        }
    }

    if( sequence==null ) {
        throw new InvalidMidiDataException("could not get sequence from URL");
    } else {
        return sequence;
    }
}
 
Example 3
Source File: MidiSystem.java    From Java8CN with Apache License 2.0 6 votes vote down vote up
/**
 * Obtains a MIDI sequence from the specified <code>File</code>.
 * The <code>File</code> must point to valid MIDI file data
 * for a file type recognized by the system.
 * <p>
 * This operation can only succeed for files of a type which can be parsed
 * by an installed file reader.  It may fail with an InvalidMidiDataException
 * even for valid files if no compatible file reader is installed.  It
 * will also fail with an InvalidMidiDataException if a compatible file reader
 * is installed, but encounters errors while constructing the <code>Sequence</code>
 * object from the file data.
 *
 * @param file the <code>File</code> from which the <code>Sequence</code>
 * should be constructed
 * @return a <code>Sequence</code> object based on the MIDI file data
 * pointed to by the File
 * @throws InvalidMidiDataException if the File does not point to valid MIDI
 * file data recognized by the system
 * @throws IOException if an I/O exception occurs
 */
public static Sequence getSequence(File file)
    throws InvalidMidiDataException, IOException {

    List providers = getMidiFileReaders();
    Sequence sequence = null;

    for(int i = 0; i < providers.size(); i++) {
        MidiFileReader reader = (MidiFileReader) providers.get(i);
        try {
            sequence = reader.getSequence( file ); // throws IOException
            break;
        } catch (InvalidMidiDataException e) {
            continue;
        }
    }

    if( sequence==null ) {
        throw new InvalidMidiDataException("could not get sequence from file");
    } else {
        return sequence;
    }
}
 
Example 4
Source File: MidiSystem.java    From openjdk-jdk8u with GNU General Public License v2.0 6 votes vote down vote up
/**
 * Obtains a MIDI sequence from the specified URL.  The URL must
 * point to valid MIDI file data for a file type recognized
 * by the system.
 * <p>
 * This operation can only succeed for files of a type which can be parsed
 * by an installed file reader.  It may fail with an InvalidMidiDataException
 * even for valid files if no compatible file reader is installed.  It
 * will also fail with an InvalidMidiDataException if a compatible file reader
 * is installed, but encounters errors while constructing the <code>Sequence</code>
 * object from the file data.
 *
 * @param url the URL from which the <code>Sequence</code> should be
 * constructed
 * @return a <code>Sequence</code> object based on the MIDI file data
 * pointed to by the URL
 * @throws InvalidMidiDataException if the URL does not point to valid MIDI
 * file data recognized by the system
 * @throws IOException if an I/O exception occurs while accessing the URL
 */
public static Sequence getSequence(URL url)
    throws InvalidMidiDataException, IOException {

    List providers = getMidiFileReaders();
    Sequence sequence = null;

    for(int i = 0; i < providers.size(); i++) {
        MidiFileReader reader = (MidiFileReader) providers.get(i);
        try {
            sequence = reader.getSequence( url ); // throws IOException
            break;
        } catch (InvalidMidiDataException e) {
            continue;
        }
    }

    if( sequence==null ) {
        throw new InvalidMidiDataException("could not get sequence from URL");
    } else {
        return sequence;
    }
}
 
Example 5
Source File: MidiSystem.java    From openjdk-8 with GNU General Public License v2.0 6 votes vote down vote up
/**
 * Obtains a MIDI sequence from the specified URL.  The URL must
 * point to valid MIDI file data for a file type recognized
 * by the system.
 * <p>
 * This operation can only succeed for files of a type which can be parsed
 * by an installed file reader.  It may fail with an InvalidMidiDataException
 * even for valid files if no compatible file reader is installed.  It
 * will also fail with an InvalidMidiDataException if a compatible file reader
 * is installed, but encounters errors while constructing the <code>Sequence</code>
 * object from the file data.
 *
 * @param url the URL from which the <code>Sequence</code> should be
 * constructed
 * @return a <code>Sequence</code> object based on the MIDI file data
 * pointed to by the URL
 * @throws InvalidMidiDataException if the URL does not point to valid MIDI
 * file data recognized by the system
 * @throws IOException if an I/O exception occurs while accessing the URL
 */
public static Sequence getSequence(URL url)
    throws InvalidMidiDataException, IOException {

    List providers = getMidiFileReaders();
    Sequence sequence = null;

    for(int i = 0; i < providers.size(); i++) {
        MidiFileReader reader = (MidiFileReader) providers.get(i);
        try {
            sequence = reader.getSequence( url ); // throws IOException
            break;
        } catch (InvalidMidiDataException e) {
            continue;
        }
    }

    if( sequence==null ) {
        throw new InvalidMidiDataException("could not get sequence from URL");
    } else {
        return sequence;
    }
}
 
Example 6
Source File: MidiSystem.java    From JDKSourceCode1.8 with MIT License 6 votes vote down vote up
/**
 * Obtains a MIDI sequence from the specified <code>File</code>.
 * The <code>File</code> must point to valid MIDI file data
 * for a file type recognized by the system.
 * <p>
 * This operation can only succeed for files of a type which can be parsed
 * by an installed file reader.  It may fail with an InvalidMidiDataException
 * even for valid files if no compatible file reader is installed.  It
 * will also fail with an InvalidMidiDataException if a compatible file reader
 * is installed, but encounters errors while constructing the <code>Sequence</code>
 * object from the file data.
 *
 * @param file the <code>File</code> from which the <code>Sequence</code>
 * should be constructed
 * @return a <code>Sequence</code> object based on the MIDI file data
 * pointed to by the File
 * @throws InvalidMidiDataException if the File does not point to valid MIDI
 * file data recognized by the system
 * @throws IOException if an I/O exception occurs
 */
public static Sequence getSequence(File file)
    throws InvalidMidiDataException, IOException {

    List providers = getMidiFileReaders();
    Sequence sequence = null;

    for(int i = 0; i < providers.size(); i++) {
        MidiFileReader reader = (MidiFileReader) providers.get(i);
        try {
            sequence = reader.getSequence( file ); // throws IOException
            break;
        } catch (InvalidMidiDataException e) {
            continue;
        }
    }

    if( sequence==null ) {
        throw new InvalidMidiDataException("could not get sequence from file");
    } else {
        return sequence;
    }
}
 
Example 7
Source File: MidiSystem.java    From JDKSourceCode1.8 with MIT License 6 votes vote down vote up
/**
 * Obtains a MIDI sequence from the specified URL.  The URL must
 * point to valid MIDI file data for a file type recognized
 * by the system.
 * <p>
 * This operation can only succeed for files of a type which can be parsed
 * by an installed file reader.  It may fail with an InvalidMidiDataException
 * even for valid files if no compatible file reader is installed.  It
 * will also fail with an InvalidMidiDataException if a compatible file reader
 * is installed, but encounters errors while constructing the <code>Sequence</code>
 * object from the file data.
 *
 * @param url the URL from which the <code>Sequence</code> should be
 * constructed
 * @return a <code>Sequence</code> object based on the MIDI file data
 * pointed to by the URL
 * @throws InvalidMidiDataException if the URL does not point to valid MIDI
 * file data recognized by the system
 * @throws IOException if an I/O exception occurs while accessing the URL
 */
public static Sequence getSequence(URL url)
    throws InvalidMidiDataException, IOException {

    List providers = getMidiFileReaders();
    Sequence sequence = null;

    for(int i = 0; i < providers.size(); i++) {
        MidiFileReader reader = (MidiFileReader) providers.get(i);
        try {
            sequence = reader.getSequence( url ); // throws IOException
            break;
        } catch (InvalidMidiDataException e) {
            continue;
        }
    }

    if( sequence==null ) {
        throw new InvalidMidiDataException("could not get sequence from URL");
    } else {
        return sequence;
    }
}
 
Example 8
Source File: MidiSystem.java    From openjdk-8-source with GNU General Public License v2.0 6 votes vote down vote up
/**
 * Obtains a MIDI sequence from the specified URL.  The URL must
 * point to valid MIDI file data for a file type recognized
 * by the system.
 * <p>
 * This operation can only succeed for files of a type which can be parsed
 * by an installed file reader.  It may fail with an InvalidMidiDataException
 * even for valid files if no compatible file reader is installed.  It
 * will also fail with an InvalidMidiDataException if a compatible file reader
 * is installed, but encounters errors while constructing the <code>Sequence</code>
 * object from the file data.
 *
 * @param url the URL from which the <code>Sequence</code> should be
 * constructed
 * @return a <code>Sequence</code> object based on the MIDI file data
 * pointed to by the URL
 * @throws InvalidMidiDataException if the URL does not point to valid MIDI
 * file data recognized by the system
 * @throws IOException if an I/O exception occurs while accessing the URL
 */
public static Sequence getSequence(URL url)
    throws InvalidMidiDataException, IOException {

    List providers = getMidiFileReaders();
    Sequence sequence = null;

    for(int i = 0; i < providers.size(); i++) {
        MidiFileReader reader = (MidiFileReader) providers.get(i);
        try {
            sequence = reader.getSequence( url ); // throws IOException
            break;
        } catch (InvalidMidiDataException e) {
            continue;
        }
    }

    if( sequence==null ) {
        throw new InvalidMidiDataException("could not get sequence from URL");
    } else {
        return sequence;
    }
}
 
Example 9
Source File: MidiSystem.java    From jdk8u-jdk with GNU General Public License v2.0 6 votes vote down vote up
/**
 * Obtains a MIDI sequence from the specified <code>File</code>.
 * The <code>File</code> must point to valid MIDI file data
 * for a file type recognized by the system.
 * <p>
 * This operation can only succeed for files of a type which can be parsed
 * by an installed file reader.  It may fail with an InvalidMidiDataException
 * even for valid files if no compatible file reader is installed.  It
 * will also fail with an InvalidMidiDataException if a compatible file reader
 * is installed, but encounters errors while constructing the <code>Sequence</code>
 * object from the file data.
 *
 * @param file the <code>File</code> from which the <code>Sequence</code>
 * should be constructed
 * @return a <code>Sequence</code> object based on the MIDI file data
 * pointed to by the File
 * @throws InvalidMidiDataException if the File does not point to valid MIDI
 * file data recognized by the system
 * @throws IOException if an I/O exception occurs
 */
public static Sequence getSequence(File file)
    throws InvalidMidiDataException, IOException {

    List providers = getMidiFileReaders();
    Sequence sequence = null;

    for(int i = 0; i < providers.size(); i++) {
        MidiFileReader reader = (MidiFileReader) providers.get(i);
        try {
            sequence = reader.getSequence( file ); // throws IOException
            break;
        } catch (InvalidMidiDataException e) {
            continue;
        }
    }

    if( sequence==null ) {
        throw new InvalidMidiDataException("could not get sequence from file");
    } else {
        return sequence;
    }
}
 
Example 10
Source File: MidiSystem.java    From hottub with GNU General Public License v2.0 6 votes vote down vote up
/**
 * Obtains a MIDI sequence from the specified <code>File</code>.
 * The <code>File</code> must point to valid MIDI file data
 * for a file type recognized by the system.
 * <p>
 * This operation can only succeed for files of a type which can be parsed
 * by an installed file reader.  It may fail with an InvalidMidiDataException
 * even for valid files if no compatible file reader is installed.  It
 * will also fail with an InvalidMidiDataException if a compatible file reader
 * is installed, but encounters errors while constructing the <code>Sequence</code>
 * object from the file data.
 *
 * @param file the <code>File</code> from which the <code>Sequence</code>
 * should be constructed
 * @return a <code>Sequence</code> object based on the MIDI file data
 * pointed to by the File
 * @throws InvalidMidiDataException if the File does not point to valid MIDI
 * file data recognized by the system
 * @throws IOException if an I/O exception occurs
 */
public static Sequence getSequence(File file)
    throws InvalidMidiDataException, IOException {

    List providers = getMidiFileReaders();
    Sequence sequence = null;

    for(int i = 0; i < providers.size(); i++) {
        MidiFileReader reader = (MidiFileReader) providers.get(i);
        try {
            sequence = reader.getSequence( file ); // throws IOException
            break;
        } catch (InvalidMidiDataException e) {
            continue;
        }
    }

    if( sequence==null ) {
        throw new InvalidMidiDataException("could not get sequence from file");
    } else {
        return sequence;
    }
}
 
Example 11
Source File: MidiSystem.java    From dragonwell8_jdk with GNU General Public License v2.0 6 votes vote down vote up
/**
 * Obtains a MIDI sequence from the specified <code>File</code>.
 * The <code>File</code> must point to valid MIDI file data
 * for a file type recognized by the system.
 * <p>
 * This operation can only succeed for files of a type which can be parsed
 * by an installed file reader.  It may fail with an InvalidMidiDataException
 * even for valid files if no compatible file reader is installed.  It
 * will also fail with an InvalidMidiDataException if a compatible file reader
 * is installed, but encounters errors while constructing the <code>Sequence</code>
 * object from the file data.
 *
 * @param file the <code>File</code> from which the <code>Sequence</code>
 * should be constructed
 * @return a <code>Sequence</code> object based on the MIDI file data
 * pointed to by the File
 * @throws InvalidMidiDataException if the File does not point to valid MIDI
 * file data recognized by the system
 * @throws IOException if an I/O exception occurs
 */
public static Sequence getSequence(File file)
    throws InvalidMidiDataException, IOException {

    List providers = getMidiFileReaders();
    Sequence sequence = null;

    for(int i = 0; i < providers.size(); i++) {
        MidiFileReader reader = (MidiFileReader) providers.get(i);
        try {
            sequence = reader.getSequence( file ); // throws IOException
            break;
        } catch (InvalidMidiDataException e) {
            continue;
        }
    }

    if( sequence==null ) {
        throw new InvalidMidiDataException("could not get sequence from file");
    } else {
        return sequence;
    }
}
 
Example 12
Source File: MidiSystem.java    From dragonwell8_jdk with GNU General Public License v2.0 6 votes vote down vote up
/**
 * Obtains a MIDI sequence from the specified URL.  The URL must
 * point to valid MIDI file data for a file type recognized
 * by the system.
 * <p>
 * This operation can only succeed for files of a type which can be parsed
 * by an installed file reader.  It may fail with an InvalidMidiDataException
 * even for valid files if no compatible file reader is installed.  It
 * will also fail with an InvalidMidiDataException if a compatible file reader
 * is installed, but encounters errors while constructing the <code>Sequence</code>
 * object from the file data.
 *
 * @param url the URL from which the <code>Sequence</code> should be
 * constructed
 * @return a <code>Sequence</code> object based on the MIDI file data
 * pointed to by the URL
 * @throws InvalidMidiDataException if the URL does not point to valid MIDI
 * file data recognized by the system
 * @throws IOException if an I/O exception occurs while accessing the URL
 */
public static Sequence getSequence(URL url)
    throws InvalidMidiDataException, IOException {

    List providers = getMidiFileReaders();
    Sequence sequence = null;

    for(int i = 0; i < providers.size(); i++) {
        MidiFileReader reader = (MidiFileReader) providers.get(i);
        try {
            sequence = reader.getSequence( url ); // throws IOException
            break;
        } catch (InvalidMidiDataException e) {
            continue;
        }
    }

    if( sequence==null ) {
        throw new InvalidMidiDataException("could not get sequence from URL");
    } else {
        return sequence;
    }
}
 
Example 13
Source File: MidiSystem.java    From Bytecoder with Apache License 2.0 6 votes vote down vote up
/**
 * Obtains a MIDI sequence from the specified {@code File}. The {@code File}
 * must point to valid MIDI file data for a file type recognized by the
 * system.
 * <p>
 * This operation can only succeed for files of a type which can be parsed
 * by an installed file reader. It may fail with an
 * {@code InvalidMidiDataException} even for valid files if no compatible
 * file reader is installed. It will also fail with an
 * {@code InvalidMidiDataException} if a compatible file reader is
 * installed, but encounters errors while constructing the {@code Sequence}
 * object from the file data.
 *
 * @param  file the {@code File} from which the {@code Sequence} should be
 *         constructed
 * @return a {@code Sequence} object based on the MIDI file data pointed to
 *         by the File
 * @throws InvalidMidiDataException if the File does not point to valid MIDI
 *         file data recognized by the system
 * @throws IOException if an I/O exception occurs
 * @throws NullPointerException if {@code file} is {@code null}
 */
public static Sequence getSequence(final File file)
        throws InvalidMidiDataException, IOException {
    Objects.requireNonNull(file);

    List<MidiFileReader> providers = getMidiFileReaders();
    Sequence sequence = null;

    for(int i = 0; i < providers.size(); i++) {
        MidiFileReader reader = providers.get(i);
        try {
            sequence = reader.getSequence( file ); // throws IOException
            break;
        } catch (InvalidMidiDataException e) {
            continue;
        }
    }

    if( sequence==null ) {
        throw new InvalidMidiDataException("could not get sequence from file");
    } else {
        return sequence;
    }
}
 
Example 14
Source File: MidiSystem.java    From openjdk-jdk9 with GNU General Public License v2.0 6 votes vote down vote up
/**
 * Obtains a MIDI sequence from the specified {@code File}. The {@code File}
 * must point to valid MIDI file data for a file type recognized by the
 * system.
 * <p>
 * This operation can only succeed for files of a type which can be parsed
 * by an installed file reader. It may fail with an
 * {@code InvalidMidiDataException} even for valid files if no compatible
 * file reader is installed. It will also fail with an
 * {@code InvalidMidiDataException} if a compatible file reader is
 * installed, but encounters errors while constructing the {@code Sequence}
 * object from the file data.
 *
 * @param  file the {@code File} from which the {@code Sequence} should be
 *         constructed
 * @return a {@code Sequence} object based on the MIDI file data pointed to
 *         by the File
 * @throws InvalidMidiDataException if the File does not point to valid MIDI
 *         file data recognized by the system
 * @throws IOException if an I/O exception occurs
 * @throws NullPointerException if {@code file} is {@code null}
 */
public static Sequence getSequence(final File file)
        throws InvalidMidiDataException, IOException {
    Objects.requireNonNull(file);

    List<MidiFileReader> providers = getMidiFileReaders();
    Sequence sequence = null;

    for(int i = 0; i < providers.size(); i++) {
        MidiFileReader reader = providers.get(i);
        try {
            sequence = reader.getSequence( file ); // throws IOException
            break;
        } catch (InvalidMidiDataException e) {
            continue;
        }
    }

    if( sequence==null ) {
        throw new InvalidMidiDataException("could not get sequence from file");
    } else {
        return sequence;
    }
}
 
Example 15
Source File: MidiSystem.java    From jdk8u60 with GNU General Public License v2.0 4 votes vote down vote up
/**
 * Obtains a MIDI sequence from the specified input stream.  The stream must
 * point to valid MIDI file data for a file type recognized
 * by the system.
 * <p>
 * This method and/or the code it invokes may need to read some data
 * from the stream to determine whether
 * its data format is supported.  The implementation may therefore
 * need to mark the stream, read enough data to determine whether it is in
 * a supported format, and reset the stream's read pointer to its original
 * position.  If the input stream does not permit this set of operations,
 * this method may fail with an <code>IOException</code>.
 * <p>
 * This operation can only succeed for files of a type which can be parsed
 * by an installed file reader.  It may fail with an InvalidMidiDataException
 * even for valid files if no compatible file reader is installed.  It
 * will also fail with an InvalidMidiDataException if a compatible file reader
 * is installed, but encounters errors while constructing the <code>Sequence</code>
 * object from the file data.
 *
 * @param stream the input stream from which the <code>Sequence</code>
 * should be constructed
 * @return a <code>Sequence</code> object based on the MIDI file data
 * contained in the input stream
 * @throws InvalidMidiDataException if the stream does not point to
 * valid MIDI file data recognized by the system
 * @throws IOException if an I/O exception occurs while accessing the
 * stream
 * @see InputStream#markSupported
 * @see InputStream#mark
 */
public static Sequence getSequence(InputStream stream)
    throws InvalidMidiDataException, IOException {

    List providers = getMidiFileReaders();
    Sequence sequence = null;

    for(int i = 0; i < providers.size(); i++) {
        MidiFileReader reader = (MidiFileReader) providers.get(i);
        try {
            sequence = reader.getSequence( stream ); // throws IOException
            break;
        } catch (InvalidMidiDataException e) {
            continue;
        }
    }

    if( sequence==null ) {
        throw new InvalidMidiDataException("could not get sequence from input stream");
    } else {
        return sequence;
    }
}
 
Example 16
Source File: MidiSystem.java    From openjdk-8-source with GNU General Public License v2.0 4 votes vote down vote up
/**
 * Obtains a MIDI sequence from the specified input stream.  The stream must
 * point to valid MIDI file data for a file type recognized
 * by the system.
 * <p>
 * This method and/or the code it invokes may need to read some data
 * from the stream to determine whether
 * its data format is supported.  The implementation may therefore
 * need to mark the stream, read enough data to determine whether it is in
 * a supported format, and reset the stream's read pointer to its original
 * position.  If the input stream does not permit this set of operations,
 * this method may fail with an <code>IOException</code>.
 * <p>
 * This operation can only succeed for files of a type which can be parsed
 * by an installed file reader.  It may fail with an InvalidMidiDataException
 * even for valid files if no compatible file reader is installed.  It
 * will also fail with an InvalidMidiDataException if a compatible file reader
 * is installed, but encounters errors while constructing the <code>Sequence</code>
 * object from the file data.
 *
 * @param stream the input stream from which the <code>Sequence</code>
 * should be constructed
 * @return a <code>Sequence</code> object based on the MIDI file data
 * contained in the input stream
 * @throws InvalidMidiDataException if the stream does not point to
 * valid MIDI file data recognized by the system
 * @throws IOException if an I/O exception occurs while accessing the
 * stream
 * @see InputStream#markSupported
 * @see InputStream#mark
 */
public static Sequence getSequence(InputStream stream)
    throws InvalidMidiDataException, IOException {

    List providers = getMidiFileReaders();
    Sequence sequence = null;

    for(int i = 0; i < providers.size(); i++) {
        MidiFileReader reader = (MidiFileReader) providers.get(i);
        try {
            sequence = reader.getSequence( stream ); // throws IOException
            break;
        } catch (InvalidMidiDataException e) {
            continue;
        }
    }

    if( sequence==null ) {
        throw new InvalidMidiDataException("could not get sequence from input stream");
    } else {
        return sequence;
    }
}
 
Example 17
Source File: MidiSystem.java    From Java8CN with Apache License 2.0 4 votes vote down vote up
/**
 * Obtains a MIDI sequence from the specified input stream.  The stream must
 * point to valid MIDI file data for a file type recognized
 * by the system.
 * <p>
 * This method and/or the code it invokes may need to read some data
 * from the stream to determine whether
 * its data format is supported.  The implementation may therefore
 * need to mark the stream, read enough data to determine whether it is in
 * a supported format, and reset the stream's read pointer to its original
 * position.  If the input stream does not permit this set of operations,
 * this method may fail with an <code>IOException</code>.
 * <p>
 * This operation can only succeed for files of a type which can be parsed
 * by an installed file reader.  It may fail with an InvalidMidiDataException
 * even for valid files if no compatible file reader is installed.  It
 * will also fail with an InvalidMidiDataException if a compatible file reader
 * is installed, but encounters errors while constructing the <code>Sequence</code>
 * object from the file data.
 *
 * @param stream the input stream from which the <code>Sequence</code>
 * should be constructed
 * @return a <code>Sequence</code> object based on the MIDI file data
 * contained in the input stream
 * @throws InvalidMidiDataException if the stream does not point to
 * valid MIDI file data recognized by the system
 * @throws IOException if an I/O exception occurs while accessing the
 * stream
 * @see InputStream#markSupported
 * @see InputStream#mark
 */
public static Sequence getSequence(InputStream stream)
    throws InvalidMidiDataException, IOException {

    List providers = getMidiFileReaders();
    Sequence sequence = null;

    for(int i = 0; i < providers.size(); i++) {
        MidiFileReader reader = (MidiFileReader) providers.get(i);
        try {
            sequence = reader.getSequence( stream ); // throws IOException
            break;
        } catch (InvalidMidiDataException e) {
            continue;
        }
    }

    if( sequence==null ) {
        throw new InvalidMidiDataException("could not get sequence from input stream");
    } else {
        return sequence;
    }
}
 
Example 18
Source File: MidiSystem.java    From JDKSourceCode1.8 with MIT License 4 votes vote down vote up
/**
 * Obtains a MIDI sequence from the specified input stream.  The stream must
 * point to valid MIDI file data for a file type recognized
 * by the system.
 * <p>
 * This method and/or the code it invokes may need to read some data
 * from the stream to determine whether
 * its data format is supported.  The implementation may therefore
 * need to mark the stream, read enough data to determine whether it is in
 * a supported format, and reset the stream's read pointer to its original
 * position.  If the input stream does not permit this set of operations,
 * this method may fail with an <code>IOException</code>.
 * <p>
 * This operation can only succeed for files of a type which can be parsed
 * by an installed file reader.  It may fail with an InvalidMidiDataException
 * even for valid files if no compatible file reader is installed.  It
 * will also fail with an InvalidMidiDataException if a compatible file reader
 * is installed, but encounters errors while constructing the <code>Sequence</code>
 * object from the file data.
 *
 * @param stream the input stream from which the <code>Sequence</code>
 * should be constructed
 * @return a <code>Sequence</code> object based on the MIDI file data
 * contained in the input stream
 * @throws InvalidMidiDataException if the stream does not point to
 * valid MIDI file data recognized by the system
 * @throws IOException if an I/O exception occurs while accessing the
 * stream
 * @see InputStream#markSupported
 * @see InputStream#mark
 */
public static Sequence getSequence(InputStream stream)
    throws InvalidMidiDataException, IOException {

    List providers = getMidiFileReaders();
    Sequence sequence = null;

    for(int i = 0; i < providers.size(); i++) {
        MidiFileReader reader = (MidiFileReader) providers.get(i);
        try {
            sequence = reader.getSequence( stream ); // throws IOException
            break;
        } catch (InvalidMidiDataException e) {
            continue;
        }
    }

    if( sequence==null ) {
        throw new InvalidMidiDataException("could not get sequence from input stream");
    } else {
        return sequence;
    }
}
 
Example 19
Source File: MidiSystem.java    From hottub with GNU General Public License v2.0 4 votes vote down vote up
/**
 * Obtains a MIDI sequence from the specified input stream.  The stream must
 * point to valid MIDI file data for a file type recognized
 * by the system.
 * <p>
 * This method and/or the code it invokes may need to read some data
 * from the stream to determine whether
 * its data format is supported.  The implementation may therefore
 * need to mark the stream, read enough data to determine whether it is in
 * a supported format, and reset the stream's read pointer to its original
 * position.  If the input stream does not permit this set of operations,
 * this method may fail with an <code>IOException</code>.
 * <p>
 * This operation can only succeed for files of a type which can be parsed
 * by an installed file reader.  It may fail with an InvalidMidiDataException
 * even for valid files if no compatible file reader is installed.  It
 * will also fail with an InvalidMidiDataException if a compatible file reader
 * is installed, but encounters errors while constructing the <code>Sequence</code>
 * object from the file data.
 *
 * @param stream the input stream from which the <code>Sequence</code>
 * should be constructed
 * @return a <code>Sequence</code> object based on the MIDI file data
 * contained in the input stream
 * @throws InvalidMidiDataException if the stream does not point to
 * valid MIDI file data recognized by the system
 * @throws IOException if an I/O exception occurs while accessing the
 * stream
 * @see InputStream#markSupported
 * @see InputStream#mark
 */
public static Sequence getSequence(InputStream stream)
    throws InvalidMidiDataException, IOException {

    List providers = getMidiFileReaders();
    Sequence sequence = null;

    for(int i = 0; i < providers.size(); i++) {
        MidiFileReader reader = (MidiFileReader) providers.get(i);
        try {
            sequence = reader.getSequence( stream ); // throws IOException
            break;
        } catch (InvalidMidiDataException e) {
            continue;
        }
    }

    if( sequence==null ) {
        throw new InvalidMidiDataException("could not get sequence from input stream");
    } else {
        return sequence;
    }
}
 
Example 20
Source File: MidiSystem.java    From openjdk-jdk8u-backup with GNU General Public License v2.0 4 votes vote down vote up
/**
 * Obtains a MIDI sequence from the specified input stream.  The stream must
 * point to valid MIDI file data for a file type recognized
 * by the system.
 * <p>
 * This method and/or the code it invokes may need to read some data
 * from the stream to determine whether
 * its data format is supported.  The implementation may therefore
 * need to mark the stream, read enough data to determine whether it is in
 * a supported format, and reset the stream's read pointer to its original
 * position.  If the input stream does not permit this set of operations,
 * this method may fail with an <code>IOException</code>.
 * <p>
 * This operation can only succeed for files of a type which can be parsed
 * by an installed file reader.  It may fail with an InvalidMidiDataException
 * even for valid files if no compatible file reader is installed.  It
 * will also fail with an InvalidMidiDataException if a compatible file reader
 * is installed, but encounters errors while constructing the <code>Sequence</code>
 * object from the file data.
 *
 * @param stream the input stream from which the <code>Sequence</code>
 * should be constructed
 * @return a <code>Sequence</code> object based on the MIDI file data
 * contained in the input stream
 * @throws InvalidMidiDataException if the stream does not point to
 * valid MIDI file data recognized by the system
 * @throws IOException if an I/O exception occurs while accessing the
 * stream
 * @see InputStream#markSupported
 * @see InputStream#mark
 */
public static Sequence getSequence(InputStream stream)
    throws InvalidMidiDataException, IOException {

    List providers = getMidiFileReaders();
    Sequence sequence = null;

    for(int i = 0; i < providers.size(); i++) {
        MidiFileReader reader = (MidiFileReader) providers.get(i);
        try {
            sequence = reader.getSequence( stream ); // throws IOException
            break;
        } catch (InvalidMidiDataException e) {
            continue;
        }
    }

    if( sequence==null ) {
        throw new InvalidMidiDataException("could not get sequence from input stream");
    } else {
        return sequence;
    }
}