CFugue
|
The C++ Midi Music Programming Library, by Cenacle Research. More...
Classes | |
class | ChannelPressure |
struct | ChordDef |
Definition of a Chord entry. More... | |
class | Chords |
Maniuplates Chord definitions for Western Music More... | |
class | ControllerEvent |
Takes care of defining the MIDI Controller Events used in MusicStrings. More... | |
class | CParser |
Base class that represents a Parser Object. More... | |
class | CParserListener |
Base class that represents a Renderer Object More... | |
class | Instrument |
class | KeySignature |
Class representing the Key Signature. More... | |
class | Layer |
class | MIDIDriverAlsa |
MIDI Driver for Linux Alsa based machines More... | |
class | MIDIEventManager |
Takes care of MIDI Events, Tracks and Sequencing More... | |
class | MIDIRenderer |
Takes care of Rendering MIDI Output either to a file or to a MIDI out Port More... | |
class | MidiTimer |
Plays the role of a pseudo MIDI Timer for MIDI Sequencer More... | |
class | MString |
Helper class for simple string manipulations More... | |
class | MStringStream |
class | MusicStringParser |
Implements a MusicString Parsing functionality More... | |
struct | Note |
Class representing a Musical Note More... | |
struct | PARSETRACEARGS |
class | PitchBend |
class | Player |
MIDI Player for Music Strings More... | |
class | PolyphonicPressure |
struct | StringLess |
Implements the less operator for Maps with string case-insensitive comparisions More... | |
class | Talam |
Class representing Carnatic Music Talam More... | |
class | Tempo |
class | Time |
class | Voice |
Typedefs | |
typedef void(STDCALL * | LPFNTRACEPROC )(void *pUserData, const TCHAR *szTraceMsg) |
typedef void(STDCALL * | LPFNERRORPROC )(void *pUserData, long lErrCode, const TCHAR *szErrorMsg, const TCHAR *szToken) |
typedef std::wstringstream | _stringstreamBase |
typedef std::wstring | _stringBase |
typedef wchar_t | _baseChar |
typedef char | _otherChar |
typedef std::map< MString, MString, StringLess< const TCHAR * > > | DICTIONARY |
typedef std::vector< std::string > | StringList |
Functions | |
MUSICNOTELIB_API void * | GetCarnaticMusicNoteReader () |
MUSICNOTELIB_API MStringPlayer * | CreateMusicStringPlayer () |
MUSICNOTELIB_API bool | PlayMusicString (const TCHAR *szMusicNotes) |
MUSICNOTELIB_API bool | PlayMusicStringCB (const TCHAR *szMusicNotes, LPFNTRACEPROC traceCallbackProc, LPFNERRORPROC errorCallbackProc, void *pUserData) |
MUSICNOTELIB_API bool | PlayMusicStringWithOpts (const TCHAR *szMusicNotes, int nMidiOutPortID, unsigned int nTimerResMS) |
MUSICNOTELIB_API bool | PlayMusicStringWithOptsCB (const TCHAR *szMusicNotes, int nMidiOutPortID, unsigned int nTimerResMS, LPFNTRACEPROC traceCallbackProc, LPFNERRORPROC errorCallbackProc, void *pUserData) |
MUSICNOTELIB_API bool | SaveAsMidiFile (const TCHAR *szMusicNotes, const char *szOutputFilePath) |
MUSICNOTELIB_API void | Parse (const TCHAR *szNotes, LPFNTRACEPROC traceCallbackProc, void *pUserData) |
void | PopulateStandardDefinitions (DICTIONARY &dictionaryObj) |
Accessor method to Populate standard macro definitions | |
unsigned int | GetMidiOutPortCount () |
Returns the number of Output Midi Ports. | |
unsigned int | GetMidiInPortCount () |
Returns the number of Input Midi Ports. | |
std::string | GetMidiInPortName (unsigned int nPortIndex) |
Returns the name of the given Midi Input Port. | |
std::string | GetMidiOutPortName (unsigned int nPortIndex) |
Returns the name of the given Midi Output Port. | |
StringList | GetMidiInPortNames () |
Returns the names of all Midi Input Ports available. | |
StringList | GetMidiOutPortNames () |
Returns the names of all Midi Output Ports available. | |
template<typename T , size_t N> | |
size_t | _countof (T(&arr)[N]) |
template<typename T > | |
bool | phRepComparator (const T *input1, const T *input2) |
template<typename T > | |
void | LoadVector (std::map< TCHAR, std::vector< const T * > > &vecArray, const T *inputArr, int nInputSize) |
unsigned int | IsPrefixMatching (const TCHAR *sz, const TCHAR *pfx) |
template<typename T > | |
unsigned int | ExtractMatchingObject (const std::map< TCHAR, std::vector< const T * > > &vecArray, const TCHAR *sz, T *retVal) |
bool | AlsaDriverThreadProc (MIDIDriverAlsa *pAlsaDriver, int nTimerResMS) |
template<typename T > | |
int | LoadValueFromString (const TCHAR *sz, T *pRetVal) |
template<typename T > | |
int | LoadIntegralValueFromString (const TCHAR *sz, T *pRetVal) |
template<> | |
int | LoadValueFromString (const TCHAR *sz, unsigned char *pRetVal) |
template<> | |
int | LoadValueFromString (const TCHAR *sz, unsigned short *pRetVal) |
template<> | |
int | LoadValueFromString (const TCHAR *sz, unsigned long *pRetVal) |
template<> | |
int | LoadValueFromString (const TCHAR *sz, double *pRetVal) |
bool | IsOneOf (const TCHAR ch, const TCHAR *chrArr) |
void | EatWhiteSpace (const TCHAR *&psz, const TCHAR *chWhiteSpaces=_T(" \t\n\r")) |
void | EatComments (const TCHAR *&psz) |
TCHAR * | CreateToken (const TCHAR *psz, int &nTokenLen, const TCHAR *szDelim=_T(" \t\n\r")) |
Variables | |
MUSICNOTELIB_API typedef void | MStringPlayer |
The C++ Midi Music Programming Library, by Cenacle Research.
You can enable or disable tracing events in the CParser derived classes by defining ENABLE_TRACING to be 1 or 0 before including this header file. By default, ENABLE_TRACING is defined to be 1 in DEBUG builds, and 0 in RELEASE builds.
typedef std::map<MString, MString, StringLess<const TCHAR*> > CFugue::DICTIONARY |
Dictionary type maps a string key to a string value. The string value can be an integer or double (in text form), or a string
Definition at line 37 of file Dictionary.h.
MUSICNOTELIB_API MStringPlayer * CFugue::CreateMusicStringPlayer | ( | ) |
Creates a MusicString Player object.
Definition at line 46 of file CFugueLib.cpp.
MUSICNOTELIB_API bool CFugue::PlayMusicString | ( | const TCHAR * | szMusicNotes | ) |
Plays Music string notes on the default MIDI Output device with the default Timer Resolution. Use PlayMusicStringWithOpts() to use custom values.
szMusicNotes | the Music string to be played on the MIDI output device |
Definition at line 68 of file CFugueLib.cpp.
References CFugue::Player::Play().
MUSICNOTELIB_API bool CFugue::PlayMusicStringCB | ( | const TCHAR * | szMusicNotes, |
LPFNTRACEPROC | traceCallbackProc, | ||
LPFNERRORPROC | errorCallbackProc, | ||
void * | pUserData | ||
) |
Same as PlayMusicString() except that this method accepts Callbacks. The Trace and Error callbacks will be used during the Parse of the Music Notes.
szMusicNotes | the Music string to be played on the MIDI output device |
traceCallbackProc | the Callback to used to report Trace messages |
errorCallbackProc | the Callback to used to report Error messages |
pUserData | any user supplied data that should be sent to the Callback |
Definition at line 73 of file CFugueLib.cpp.
References CFugue::CParser::evError, CFugue::CParser::evTrace, CFugue::Player::Parser(), and CFugue::Player::Play().
MUSICNOTELIB_API bool CFugue::PlayMusicStringWithOpts | ( | const TCHAR * | szMusicNotes, |
int | nMidiOutPortID, | ||
unsigned int | nTimerResMS | ||
) |
Plays Music string notes on the given MIDI Output device using the given Timer Resolution. Use PlayMusicString() to use default values.
szMusicNotes | the Music notes to be played |
nMidiOutPortID | the device ID of the MIDI output port to be used for the play |
nTimerResMS | preferred MIDI timer resolution, in MilliSeconds |
Definition at line 90 of file CFugueLib.cpp.
References CFugue::Player::Play().
MUSICNOTELIB_API bool CFugue::PlayMusicStringWithOptsCB | ( | const TCHAR * | szMusicNotes, |
int | nMidiOutPortID, | ||
unsigned int | nTimerResMS, | ||
LPFNTRACEPROC | traceCallbackProc, | ||
LPFNERRORPROC | errorCallbackProc, | ||
void * | pUserData | ||
) |
Same as PlayMusicStringWithOpts() except that this method accepts Callbacks. The Trace and Error callbacks will be used during the Parse of the Music Notes.
szMusicNotes | the Music notes to be played |
nMidiOutPortID | the device ID of the MIDI output port to be used for the play |
nTimerResMS | preferred MIDI timer resolution, in MilliSeconds |
traceCallbackProc | the Callback to used to report Trace messages |
errorCallbackProc | the Callback to used to report Error messages |
pUserData | any user supplied data that should be sent to the Callback |
Definition at line 96 of file CFugueLib.cpp.
References CFugue::CParser::evError, CFugue::CParser::evTrace, CFugue::Player::Parser(), and CFugue::Player::Play().
MUSICNOTELIB_API bool CFugue::SaveAsMidiFile | ( | const TCHAR * | szMusicNotes, |
const char * | szOutputFilePath | ||
) |
Save the given MusicString content into a MIDI output file
szMusicNotes | Music Notes to be converted to MIDI output |
szOutputFilePath | path of the MIDI output file |
Definition at line 51 of file CFugueLib.cpp.
References CFugue::Player::SaveAsMidiFile().
CFugue, the C++ Music Programming Library | © Copyright 2009 Cenacle Research India Private Limited | Gopalakrishna Palem |