public class MidiUtils
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
MidiUtils.TempoCache |
Modifier and Type | Field and Description |
---|---|
static int |
DEFAULT_TEMPO_MPQ |
static int |
META_END_OF_TRACK_TYPE |
static int |
META_TEMPO_TYPE |
Constructor and Description |
---|
MidiUtils() |
Modifier and Type | Method and Description |
---|---|
static double |
convertTempo(double tempo)
converts
1 - MPQ-Tempo to BPM tempo 2 - BPM tempo to MPQ tempo |
static int |
getTempoMPQ(javax.sound.midi.MidiMessage midiMsg)
parses this message for a META tempo message and returns
the tempo in MPQ, or -1 if this isn't a tempo message
|
static boolean |
isMetaEndOfTrack(javax.sound.midi.MidiMessage midiMsg)
return true if the passed message is Meta End Of Track
|
static boolean |
isMetaTempo(javax.sound.midi.MidiMessage midiMsg)
return if the given message is a meta tempo message
|
static long |
microsec2ticks(long us,
double tempoMPQ,
int resolution)
convert tempo to microsecond with given tempo
Does not take tempo changes into account.
|
static long |
microsecond2tick(javax.sound.midi.Sequence seq,
long micros,
MidiUtils.TempoCache cache)
Given a microsecond time, convert to tick.
|
static int |
tick2index(javax.sound.midi.Track track,
long tick)
Binary search for the event indexes of the track
|
static long |
tick2microsecond(javax.sound.midi.Sequence seq,
long tick,
MidiUtils.TempoCache cache)
Given a tick, convert to microsecond
|
static long |
ticks2microsec(long tick,
double tempoMPQ,
int resolution)
convert tick to microsecond with given tempo.
|
public static final int DEFAULT_TEMPO_MPQ
public static final int META_END_OF_TRACK_TYPE
public static final int META_TEMPO_TYPE
public static boolean isMetaEndOfTrack(javax.sound.midi.MidiMessage midiMsg)
public static boolean isMetaTempo(javax.sound.midi.MidiMessage midiMsg)
public static int getTempoMPQ(javax.sound.midi.MidiMessage midiMsg)
public static double convertTempo(double tempo)
public static long ticks2microsec(long tick, double tempoMPQ, int resolution)
public static long microsec2ticks(long us, double tempoMPQ, int resolution)
public static long tick2microsecond(javax.sound.midi.Sequence seq, long tick, MidiUtils.TempoCache cache)
cache
- tempo info and current tempopublic static long microsecond2tick(javax.sound.midi.Sequence seq, long micros, MidiUtils.TempoCache cache)
public static int tick2index(javax.sound.midi.Track track, long tick)
tick
- - tick number of index to be found in array