MidiPlayer Class Reference
MIDI file player routines . The MIDI file player engine. More...
#include <player.h>
Public Methods | |
MidiPlayer (DeviceManager *midi_, PlayerController *pctl) | |
Constructor . | |
~MidiPlayer () | |
Destructor. | |
int | loadSong (const char *filename) |
Loads a Song, and parses it (it the parse wasn't disabled with setParseSong() ) . | |
void | removeSong (void) |
Unloads the current song, so that every internal variable is empty and clean for further usage. | |
int | isSongLoaded (void) |
Returns true if there's a song already loaded (with a previous call to loadSong() ) and false if not. | |
SpecialEvent * | specialEvents () |
Returns the linked list of SpecialEvents objects . | |
NoteArray * | noteArray (void) |
Returns and array with the notes playen through the song . | |
void | play (bool calloutput=false, void output(void)=0) |
Plays the song using the DeviceManager object supplied in the constructor. | |
void | setParseSong (bool b=true) |
Enables or disables the parsing of the song when loading it. | |
void | setGenerateBeats (bool b=false) |
Enables or disables the generation of beats event in a song when loading it. | |
MidiFileInfo * | information (void) |
Returns information about the current MIDI file. | |
void | setPos (ulong gotomsec, class MidiStatus *midistat) |
Sets the position in a song. | |
void | setTempoRatio (double ratio) |
Changes the speed at which a song is played. |
Detailed Description
MIDI file player routines . The MIDI file player engine.This class reads a MIDI file and play it using a DeviceManager object.
To use it, just call loadSong() with the filename you want to play, and then play().
Please have a look at the note in the play() documentation.
MidiPlayer will write information about the playing process on a PlayerController() structure that you must supply to the constructor
Alternatively, if everything you want is to play a midi file in a game or any other application that doesn't need to fine tune the midi playing, just use the kmidplay() function.
- See also:
- KMidSimpleAPI
- Version:
- 0.9.5 17/01/2000
- Author:
- Antonio Larrosa Jimenez <larrosa@kde.org>
Definition at line 259 of file player.h.
Constructor & Destructor Documentation
|
Constructor . You must construct and pass a DeviceManager object and a PlayerController structure. None of them will be destroyed by this object, so you should do it after destroying the MidiPlayer object. |
|
Destructor.
Definition at line 59 of file player.cc. References removeSong(). |
Member Function Documentation
|
Loads a Song, and parses it (it the parse wasn't disabled with setParseSong() ) . It also generates the Beat events (see SpecialEvent::type() ) if you enabled this by using setGenerateBeats() . Definition at line 89 of file player.cc. References PlayerController::ratioTempo, and removeSong(). |
|
Unloads the current song, so that every internal variable is empty and clean for further usage.
Definition at line 65 of file player.cc. References MidiFileInfo::ntracks. Referenced by loadSong(), and ~MidiPlayer(). |
|
Returns true if there's a song already loaded (with a previous call to loadSong() ) and false if not.
|
|
Returns the linked list of SpecialEvents objects . For this to work, the parse should be enabled (the default), by using setParseSong(). |
|
Returns and array with the notes playen through the song . MidiPlayer must parse the song to get the notes, so be sure not to disable the parsing of the song. Returns an array of notes, (just note on and note off events), in the form of a NoteArray object |
|
|
Enables or disables the parsing of the song when loading it. This affects the SpecialEvents (specialEvents() ) and the NoteArray (noteArray() ). |
|
Enables or disables the generation of beats event in a song when loading it.
|
|
Returns information about the current MIDI file.
|
|
|
Changes the speed at which a song is played. The song's tempo is multiplied by the specified ratio. Definition at line 937 of file player.cc. References PlayerController::ratioTempo, and PlayerController::tempo. |
The documentation for this class was generated from the following files: