Package org.jfugue.integration
Class MusicXmlParser
- java.lang.Object
-
- org.jfugue.parser.Parser
-
- org.jfugue.integration.MusicXmlParser
-
public final class MusicXmlParser extends Parser
Parses a MusicXML file, and fires events forParserListener
interfaces when tokens are interpreted. TheParserListener
does intelligent things with the resulting events, such as create music, draw sheet music, or transform the data. MusicXmlParser.parse can be called with a file name, File, InputStream, or Reader- Author:
- E.Philip Sobolik, David Koelle (updates for JFugue 5), Richard Lavoie (Major rewriting)
-
-
Field Summary
Fields Modifier and Type Field Description static java.util.Map<java.lang.String,java.lang.String>
XMLtoJFchordMap
-
Constructor Summary
Constructors Constructor Description MusicXmlParser()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static int
BPMtoPPM(float bpm)
converts beats per minute (BPM) to pulses per minute (PPM) assuming 240 pulses per second In MusicXML, BPM can be fractional, soBPMtoPPM
takes a float argumentvoid
parse()
Parses a MusicXML file and fires events to subscribedParserListener
interfaces.void
parse(java.io.File inputFile)
void
parse(java.io.FileInputStream inputStream)
void
parse(java.io.Reader reader)
void
parse(java.lang.String musicXmlString)
-
Methods inherited from class org.jfugue.parser.Parser
addParserListener, clearParserListeners, fireAfterParsingFinished, fireBarLineParsed, fireBeforeParsingStarts, fireChannelPressureParsed, fireChordParsed, fireControllerEventParsed, fireFunctionParsed, fireInstrumentParsed, fireKeySignatureParsed, fireLayerChanged, fireLyricParsed, fireMarkerParsed, fireNoteParsed, fireNotePressed, fireNoteReleased, firePitchWheelParsed, firePolyphonicPressureParsed, fireSystemExclusiveParsed, fireTempoChanged, fireTimeSignatureParsed, fireTrackBeatTimeBookmarked, fireTrackBeatTimeBookmarkRequested, fireTrackBeatTimeRequested, fireTrackChanged, getParserListeners, removeParserListener
-
-
-
-
Method Detail
-
parse
public void parse(java.lang.String musicXmlString) throws nu.xom.ValidityException, nu.xom.ParsingException, java.io.IOException
- Throws:
nu.xom.ValidityException
nu.xom.ParsingException
java.io.IOException
-
parse
public void parse(java.io.File inputFile) throws nu.xom.ValidityException, nu.xom.ParsingException, java.io.IOException
- Throws:
nu.xom.ValidityException
nu.xom.ParsingException
java.io.IOException
-
parse
public void parse(java.io.FileInputStream inputStream) throws nu.xom.ValidityException, nu.xom.ParsingException, java.io.IOException
- Throws:
nu.xom.ValidityException
nu.xom.ParsingException
java.io.IOException
-
parse
public void parse(java.io.Reader reader) throws nu.xom.ValidityException, nu.xom.ParsingException, java.io.IOException
- Throws:
nu.xom.ValidityException
nu.xom.ParsingException
java.io.IOException
-
parse
public void parse()
Parses a MusicXML file and fires events to subscribedParserListener
interfaces. As the file is parsed, events are sent toParserListener
interfaces, which are responsible for doing something interesting with the music data. the input is a XOM Document, which has been built previously- Throws:
java.lang.Exception
- if there is an error parsing the pattern
-
BPMtoPPM
public static int BPMtoPPM(float bpm)
converts beats per minute (BPM) to pulses per minute (PPM) assuming 240 pulses per second In MusicXML, BPM can be fractional, soBPMtoPPM
takes a float argument- Parameters:
bpm
-- Returns:
- ppm
-
-