KMidSimpleAPI Class Reference
Simple API covering most of the uses of libkmid.A very simple API around the rest of libkmid. More...
#include <libkmid.h>
Static Public Member Functions | |
static int | kMidInit (void) |
static int | kMidLoad (const char *filename) |
static int | kMidPlay (int loop=0) |
static int | kMidStop (void) |
static void | kMidDestruct (void) |
static int | kMidIsPlaying (void) |
static int | kMidDevices (void) |
static const char * | kMidName (int i) |
static const char * | kMidType (int i) |
static void | kMidSetDevice (int i) |
static void | kMidSetMidiMapper (const char *mapfilename) |
static const char * | kMidVersion (void) |
static const char * | kMidCopyright (void) |
Detailed Description
Simple API covering most of the uses of libkmid.A very simple API around the rest of libkmid.You can use the members of this class in pure C applications, just by using the same name as the corresponding function member.
Suppose you're developing a game and you want to play some background music while the user is playing. You only have to call :
- kMidInit();
- kMidLoad("RideOfTheValkyries.mid");
- kMidPlay();
to stop the music and release the memory allocated by libkmid.
- Version:
- 0.9.5 17/01/2000
- Author:
- Antonio Larrosa Jimenez <larrosa@kde.org>
Definition at line 56 of file libkmid.h.
Member Function Documentation
|
Initializes libkmid. Creates the DeviceManager object, and initializes some variables that will be used later.
Definition at line 42 of file libkmid.cc. References PlayerController::error, PlayerController::forcepgm, PlayerController::gm, DeviceManager::initManager(), kMidData::midi, DeviceManager::ok(), kMidData::pctl, kMidData::pctlsmID, PlayerController::pgm, kMidData::player, PlayerController::ratioTempo, MidiPlayer::setParseSong(), PlayerController::tempo, and PlayerController::volumepercentage. |
|
Loads a song that will be played with the next call to kMidPlay().
Definition at line 78 of file libkmid.cc. References kMidDevices(), MidiPlayer::loadSong(), and kMidData::player. |
|
Plays the song currently loaded with kMidLoad(). kMidPlay forks in order to play the song in a different process, it exits inmediately, so that the application can follow the normal execution flow while the sone is played. If loop is 0 the song is played once and then the child process finishes. If loop is 1, the song is played repeatedly until kMidStop() is called. You can call kMidStop() anytime you want (also if loop is 0) to stop the song and kill the child process.
Definition at line 84 of file libkmid.cc. References DeviceManager::checkInit(), PlayerController::error, PlayerController::finished, MidiPlayer::isSongLoaded(), kMidDevices(), kMidData::midi, PlayerController::millisecsPlayed, kMidData::pctl, kMidData::pid, MidiPlayer::play(), kMidData::player, PlayerController::playing, PlayerController::SPEVplayed, and PlayerController::SPEVprocessed. |
|
Stops playing a song inmediatly. It doesn't return until the child process that is playing the song is terminated.
Definition at line 123 of file libkmid.cc. References kMidDevices(), kMidData::pctl, kMidData::pid, and PlayerController::playing. |
|
Releases the memory allocated by libkmid. To continue playing, you must first make a(nother) call to kMidInit(). Definition at line 138 of file libkmid.cc. References kMidData::map, kMidData::midi, kMidData::pctl, kMidData::pctlsmID, and kMidData::player. |
|
Returns 1 if the library is playing a song, and 0 if it's not.
Definition at line 149 of file libkmid.cc. References kMidData::pctl, and PlayerController::playing. |
|
Returns the number of MIDI devices ( MIDI ports + synthesizers ).
Definition at line 154 of file libkmid.cc. References kMidData::midi, DeviceManager::midiPorts(), and DeviceManager::synthDevices(). Referenced by kMidLoad(), kMidPlay(), kMidSetMidiMapper(), and kMidStop(). |
|
Returns the name of the i-th device . In case libkmid wasn't yet initialized ( see kMidInit() ), the return value is NULL, and in case the parameter has a value out of the valid range ( see kMidDevices() ) it returns an empty string.
Definition at line 159 of file libkmid.cc. References kMidData::midi, and DeviceManager::name(). |
|
Returns the type of the i-th device . In case libkmid wasn't yet initialized ( see kMidInit() ), the return value is NULL, and in case the parameter has a value out of the valid range ( see kMidDevices() ) it returns an empty string.
Definition at line 164 of file libkmid.cc. References kMidData::midi, and DeviceManager::type(). |
|
Sets the MIDI device to use when playing a song.
Definition at line 169 of file libkmid.cc. References kMidData::midi, and DeviceManager::setDefaultDevice(). |
|
Sets the Midi Mapper to use. Most of the users won't need a midi mapper, but there're still non-General Midi synthesizers out there, and people with one of those will get much better sound quality by using a MIDI mapper. Please have a look at KMid's documentation for more information about MIDI mappers and how to write a MIDI mapper for your keyboard. Definition at line 174 of file libkmid.cc. References kMidDevices(), kMidData::map, kMidData::midi, MidiMapper::ok(), and DeviceManager::setMidiMap(). |
|
Returns the version number of libkmid, i.e. "0.9.5" or "1.0 Beta" Definition at line 182 of file libkmid.cc. |
|
Returns the copyright notice that applications using libkmid should print to the user in an about box or somewhere visible. I.e. "LibKMid 0.9.5 (C) 1997-2000 Antonio Larrosa Jimenez <larrosa@kde.org>. Spain" Definition at line 187 of file libkmid.cc. |
The documentation for this class was generated from the following files: