diff --git a/modules/juce_audio_basics/midi/juce_MidiFile.cpp b/modules/juce_audio_basics/midi/juce_MidiFile.cpp index 7928bcef50..e798cc0c6c 100644 --- a/modules/juce_audio_basics/midi/juce_MidiFile.cpp +++ b/modules/juce_audio_basics/midi/juce_MidiFile.cpp @@ -350,11 +350,13 @@ void MidiFile::convertTimestampTicksToSeconds() } //============================================================================== -bool MidiFile::writeTo (OutputStream& out) +bool MidiFile::writeTo (OutputStream& out, int midiFileType) { + jassert (midiFileType >= 0 && midiFileType <= 2); + out.writeIntBigEndian ((int) ByteOrder::bigEndianInt ("MThd")); out.writeIntBigEndian (6); - out.writeShortBigEndian (1); // type + out.writeShortBigEndian ((short) midiFileType); out.writeShortBigEndian ((short) tracks.size()); out.writeShortBigEndian (timeFormat); diff --git a/modules/juce_audio_basics/midi/juce_MidiFile.h b/modules/juce_audio_basics/midi/juce_MidiFile.h index 6bdc784ecb..2a69937143 100644 --- a/modules/juce_audio_basics/midi/juce_MidiFile.h +++ b/modules/juce_audio_basics/midi/juce_MidiFile.h @@ -151,9 +151,11 @@ public: bool readFrom (InputStream& sourceStream); /** Writes the midi tracks as a standard midi file. + The midiFileType value is written as the file's format type, which can be 0, 1 + or 2 - see the midi file spec for more info about that. @returns true if the operation succeeded. */ - bool writeTo (OutputStream& destStream); + bool writeTo (OutputStream& destStream, int midiFileType = 1); /** Converts the timestamp of all the midi events from midi ticks to seconds.