XX CMake Package
Loading...
Searching...
No Matches
XX::Midi::Parser Class Reference

midi event parser More...

#include <XXMidiParser.h>

Inheritance diagram for XX::Midi::Parser:
XX::Midi::Interface::Input

Detailed Description

midi event parser

Public Types

using NoteOnFunction = std::function<void(const Channel& channel, const uchar& midiNote, const Velocity& velocity)>
using NoteOffFunction = std::function<void(const Channel& channel, const uchar& midiNote, const Velocity& velocity)>
using ControllerChangeFunction = std::function<void(const Channel& channel, const ControllerMessage& controllerMessage, const uchar& value)>
using ClockTickFunction = std::function<void()>
using ClockStatusFunction = std::function<void(const Playback& status)>
using SongPositionFunction = std::function<void(const uint16_t& position)>

Public Member Functions

 Parser ()
virtual void processMessage (const std::vector< uchar > &message)
template<typename ClassType>
void onNoteOn (ClassType *instance, void(ClassType::*functionPointer)(const Channel &, const uchar &, const Velocity &))
template<typename ClassType>
void onNoteOff (ClassType *instance, void(ClassType::*functionPointer)(const Channel &, const uchar &, const Velocity &))
template<typename ClassType>
void onControllerChange (ClassType *instance, void(ClassType::*functionPointer)(const Channel &, const ControllerMessage &, const uchar &))
template<typename ClassType>
void onClockTick (ClassType *instance, void(ClassType::*functionPointer)())
template<typename ClassType>
void onClockStatus (ClassType *instance, void(ClassType::*functionPointer)(const Playback &))
template<typename ClassType>
void onSongPosition (ClassType *instance, void(ClassType::*functionPointer)(const uint16_t &))

Protected Member Functions

virtual void noteOn (const Channel &channel, const uchar &midiNote, const Velocity &velocity)
virtual void noteOff (const Channel &channel, const uchar &midiNote, const Velocity &velocity)
virtual void controllerChange (const Channel &channel, const ControllerMessage &controllerMessage, const uchar &value)
virtual void clockTick ()
virtual void clockStatus (const Playback &status)
virtual void songPosition (const uint16_t &position)

Member Typedef Documentation

◆ ClockStatusFunction

using XX::Midi::Parser::ClockStatusFunction = std::function<void(const Playback& status)>

◆ ClockTickFunction

using XX::Midi::Parser::ClockTickFunction = std::function<void()>

◆ ControllerChangeFunction

using XX::Midi::Parser::ControllerChangeFunction = std::function<void(const Channel& channel, const ControllerMessage& controllerMessage, const uchar& value)>

◆ NoteOffFunction

using XX::Midi::Parser::NoteOffFunction = std::function<void(const Channel& channel, const uchar& midiNote, const Velocity& velocity)>

◆ NoteOnFunction

using XX::Midi::Parser::NoteOnFunction = std::function<void(const Channel& channel, const uchar& midiNote, const Velocity& velocity)>

◆ SongPositionFunction

using XX::Midi::Parser::SongPositionFunction = std::function<void(const uint16_t& position)>

Constructor & Destructor Documentation

◆ Parser()

XX::Midi::Parser::Parser ( )

Member Function Documentation

◆ clockStatus()

virtual void XX::Midi::Parser::clockStatus ( const Playback & status)
protectedvirtual

◆ clockTick()

virtual void XX::Midi::Parser::clockTick ( )
protectedvirtual

◆ controllerChange()

virtual void XX::Midi::Parser::controllerChange ( const Channel & channel,
const ControllerMessage & controllerMessage,
const uchar & value )
protectedvirtual

◆ noteOff()

virtual void XX::Midi::Parser::noteOff ( const Channel & channel,
const uchar & midiNote,
const Velocity & velocity )
protectedvirtual

◆ noteOn()

virtual void XX::Midi::Parser::noteOn ( const Channel & channel,
const uchar & midiNote,
const Velocity & velocity )
protectedvirtual

◆ onClockStatus()

template<typename ClassType>
void XX::Midi::Parser::onClockStatus ( ClassType * instance,
void(ClassType::* functionPointer )(const Playback &) )

◆ onClockTick()

template<typename ClassType>
void XX::Midi::Parser::onClockTick ( ClassType * instance,
void(ClassType::* functionPointer )() )

◆ onControllerChange()

template<typename ClassType>
void XX::Midi::Parser::onControllerChange ( ClassType * instance,
void(ClassType::* functionPointer )(const Channel &, const ControllerMessage &, const uchar &) )

◆ onNoteOff()

template<typename ClassType>
void XX::Midi::Parser::onNoteOff ( ClassType * instance,
void(ClassType::* functionPointer )(const Channel &, const uchar &, const Velocity &) )

◆ onNoteOn()

template<typename ClassType>
void XX::Midi::Parser::onNoteOn ( ClassType * instance,
void(ClassType::* functionPointer )(const Channel &, const uchar &, const Velocity &) )

◆ onSongPosition()

template<typename ClassType>
void XX::Midi::Parser::onSongPosition ( ClassType * instance,
void(ClassType::* functionPointer )(const uint16_t &) )

◆ processMessage()

virtual void XX::Midi::Parser::processMessage ( const std::vector< uchar > & message)
virtual

◆ songPosition()

virtual void XX::Midi::Parser::songPosition ( const uint16_t & position)
protectedvirtual

The documentation for this class was generated from the following file: