midiEventsPlayed
Description​
This event is fired when the synthesizer played certain midi events. This event is fired when the synthesizer played certain midi events. This allows reacing on various low level audio playback elements like notes/rests played or metronome ticks.
Refer to the related guide to learn more about this feature.
Also note that the provided data models changed significantly in {@version 1.3.0}
. We try to provide backwards compatibility
until some extend but highly encourage changing to the new models in case of problems.
- JavaScript
- C#
- Kotlin
midiEventsPlayed: IEventEmitterOfT<MidiEventsPlayedEventArgs>;
IEventEmitterOfT<MidiEventsPlayedEventArgs> MidiEventsPlayed { get; set; }
var midiEventsPlayed: IEventEmitterOfT<MidiEventsPlayedEventArgs>
Examples​
- JavaScript
- C#
- Android
const api = new alphaTab.AlphaTabApi(document.querySelector('#alphaTab'));
api.midiEventsPlayedFilter = [alphaTab.midi.MidiEventType.AlphaTabMetronome];
api.midiEventsPlayed.on(function(e) {
for(const midi of e.events) {
if(midi.isMetronome) {
console.log('Metronome tick ' + midi.tick);
}
}
});
var api = new AlphaTabApi<MyControl>(...);
api.MidiEventsPlayedFilter = new MidiEventType[] { AlphaTab.Midi.MidiEventType.AlphaTabMetronome };
api.MidiEventsPlayed.On(e =>
{
foreach(var midi of e.events)
{
if(midi is AlphaTab.Midi.AlphaTabMetronomeEvent sysex && sysex.IsMetronome)
{
Console.WriteLine("Metronome tick " + midi.Tick);
}
}
});
val api = AlphaTabApi<MyControl>(...);
api.midiEventsPlayedFilter = alphaTab.collections.List<alphaTab.midi.MidiEventType>( alphaTab.midi.MidiEventType.AlphaTabMetronome )
api.midiEventsPlayed.on { e ->
for (midi in e.events) {
if(midi instanceof alphaTab.midi.AlphaTabMetronomeEvent && midi.isMetronome) {
println("Metronome tick " + midi.tick);
}
}
}