13 #ifndef MIDIRENDERER_H__9266AE56_84CB_4662_8328_ED088111CFE0__
14 #define MIDIRENDERER_H__9266AE56_84CB_4662_8328_ED088111CFE0__
16 #include "jdkmidi/manager.h"
17 #include "ParserListener.h"
18 #include "MidiEventManager.h"
19 #include "MidiTimer.h"
22 #define MIDI_MAPPER ((unsigned int)-1)
25 namespace jdkmidi {
class MIDIDriverWin32; }
26 namespace CFugue {
class MIDIDriverAlsa; }
34 jdkmidi::MIDIDriverWin32* m_pMIDIDriver;
39 jdkmidi::MIDIManager m_MIDIManager;
43 long m_lFirstNoteTime;
52 virtual void OnInstrumentEvent(
const CParser* pParser,
const Instrument* pInstrument);
58 virtual void OnLayerEvent(
const CParser* pParser,
const Layer* pLayer);
67 virtual void OnTempoEvent(
const CParser* pParser,
const Tempo* pTempo);
70 virtual void OnTimeEvent(
const CParser* pParser,
const Time* pTime);
73 virtual void OnVoiceEvent(
const CParser* pParser,
const Voice* pVoice);
76 virtual void OnNoteEvent(
const CParser* pParser,
const Note* pNote);
96 bool BeginPlayAsync(
int nMIDIOutPortID = MIDI_MAPPER,
unsigned int nTimerResolutionMS = 20);
118 inline bool IsPlaying()
const {
return m_MIDIManager.IsSeqPlay(); }
123 bool SaveToFile(
const char* szOutputFilePath);
128 #endif // MIDIRENDERER_H__9266AE56_84CB_4662_8328_ED088111CFE0__
Takes care of defining the MIDI Controller Events used in MusicStrings.
bool BeginPlayAsync(int nMIDIOutPortID=MIDI_MAPPER, unsigned int nTimerResolutionMS=20)
Takes care of Rendering MIDI Output either to a file or to a MIDI out Port
Class representing the Key Signature.
bool SaveToFile(const char *szOutputFilePath)
Class representing a Musical Note
MIDI Driver for Linux Alsa based machines
Takes care of MIDI Events, Tracks and Sequencing
Base class that represents a Parser Object.
Base class that represents a Renderer Object