src/music/libtimidity.h
author truelight
Sun, 04 Nov 2007 18:28:52 +0000
changeset 7828 ac69a695d506
parent 7193 d46cbf314baf
child 9111 48ce04029fe4
permissions -rw-r--r--
(svn r11378) -Codechange: optimize KillFirstBit2x64 (skidd13)
6072
2eb3e6ecba20 (svn r8805) -Codechange (r8757): DO set eol-style and keywords on new files...
Darkvater
parents: 6034
diff changeset
     1
/* $Id$ */
6034
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
     2
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
     3
#ifndef MUSIC_LIBTIMIDITY_H
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
     4
#define MUSIC_LIBTIMIDITY_H
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
     5
7170
923946ec324f (svn r10444) -Codechange: switch to c++ classes and inheritance for sound/music/video drivers, using self-registration based on the blitter-model.
peter1138
parents: 6072
diff changeset
     6
#include "music_driver.hpp"
6034
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
     7
7170
923946ec324f (svn r10444) -Codechange: switch to c++ classes and inheritance for sound/music/video drivers, using self-registration based on the blitter-model.
peter1138
parents: 6072
diff changeset
     8
class MusicDriver_LibTimidity: public MusicDriver {
923946ec324f (svn r10444) -Codechange: switch to c++ classes and inheritance for sound/music/video drivers, using self-registration based on the blitter-model.
peter1138
parents: 6072
diff changeset
     9
public:
923946ec324f (svn r10444) -Codechange: switch to c++ classes and inheritance for sound/music/video drivers, using self-registration based on the blitter-model.
peter1138
parents: 6072
diff changeset
    10
	/* virtual */ const char *Start(const char * const *param);
923946ec324f (svn r10444) -Codechange: switch to c++ classes and inheritance for sound/music/video drivers, using self-registration based on the blitter-model.
peter1138
parents: 6072
diff changeset
    11
923946ec324f (svn r10444) -Codechange: switch to c++ classes and inheritance for sound/music/video drivers, using self-registration based on the blitter-model.
peter1138
parents: 6072
diff changeset
    12
	/* virtual */ void Stop();
923946ec324f (svn r10444) -Codechange: switch to c++ classes and inheritance for sound/music/video drivers, using self-registration based on the blitter-model.
peter1138
parents: 6072
diff changeset
    13
923946ec324f (svn r10444) -Codechange: switch to c++ classes and inheritance for sound/music/video drivers, using self-registration based on the blitter-model.
peter1138
parents: 6072
diff changeset
    14
	/* virtual */ void PlaySong(const char *filename);
923946ec324f (svn r10444) -Codechange: switch to c++ classes and inheritance for sound/music/video drivers, using self-registration based on the blitter-model.
peter1138
parents: 6072
diff changeset
    15
923946ec324f (svn r10444) -Codechange: switch to c++ classes and inheritance for sound/music/video drivers, using self-registration based on the blitter-model.
peter1138
parents: 6072
diff changeset
    16
	/* virtual */ void StopSong();
923946ec324f (svn r10444) -Codechange: switch to c++ classes and inheritance for sound/music/video drivers, using self-registration based on the blitter-model.
peter1138
parents: 6072
diff changeset
    17
923946ec324f (svn r10444) -Codechange: switch to c++ classes and inheritance for sound/music/video drivers, using self-registration based on the blitter-model.
peter1138
parents: 6072
diff changeset
    18
	/* virtual */ bool IsSongPlaying();
923946ec324f (svn r10444) -Codechange: switch to c++ classes and inheritance for sound/music/video drivers, using self-registration based on the blitter-model.
peter1138
parents: 6072
diff changeset
    19
923946ec324f (svn r10444) -Codechange: switch to c++ classes and inheritance for sound/music/video drivers, using self-registration based on the blitter-model.
peter1138
parents: 6072
diff changeset
    20
	/* virtual */ void SetVolume(byte vol);
923946ec324f (svn r10444) -Codechange: switch to c++ classes and inheritance for sound/music/video drivers, using self-registration based on the blitter-model.
peter1138
parents: 6072
diff changeset
    21
};
923946ec324f (svn r10444) -Codechange: switch to c++ classes and inheritance for sound/music/video drivers, using self-registration based on the blitter-model.
peter1138
parents: 6072
diff changeset
    22
923946ec324f (svn r10444) -Codechange: switch to c++ classes and inheritance for sound/music/video drivers, using self-registration based on the blitter-model.
peter1138
parents: 6072
diff changeset
    23
class FMusicDriver_LibTimidity: public MusicDriverFactory<FMusicDriver_LibTimidity> {
923946ec324f (svn r10444) -Codechange: switch to c++ classes and inheritance for sound/music/video drivers, using self-registration based on the blitter-model.
peter1138
parents: 6072
diff changeset
    24
public:
7193
d46cbf314baf (svn r10471) -Codechange: implement driver probing priority so that 'preferred' drivers are loaded first
peter1138
parents: 7170
diff changeset
    25
	static const int priority = 5;
7170
923946ec324f (svn r10444) -Codechange: switch to c++ classes and inheritance for sound/music/video drivers, using self-registration based on the blitter-model.
peter1138
parents: 6072
diff changeset
    26
	/* virtual */ const char *GetName() { return "libtimidity"; }
923946ec324f (svn r10444) -Codechange: switch to c++ classes and inheritance for sound/music/video drivers, using self-registration based on the blitter-model.
peter1138
parents: 6072
diff changeset
    27
	/* virtual */ const char *GetDescription() { return "LibTimidity MIDI Driver"; }
923946ec324f (svn r10444) -Codechange: switch to c++ classes and inheritance for sound/music/video drivers, using self-registration based on the blitter-model.
peter1138
parents: 6072
diff changeset
    28
	/* virtual */ Driver *CreateInstance() { return new MusicDriver_LibTimidity(); }
923946ec324f (svn r10444) -Codechange: switch to c++ classes and inheritance for sound/music/video drivers, using self-registration based on the blitter-model.
peter1138
parents: 6072
diff changeset
    29
};
6034
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    30
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    31
#endif /* MUSIC_LIBTIMIDITY_H */