src/music/qtmidi.h
author peter1138
Sun, 03 Aug 2008 17:35:08 +0000
changeset 9834 7474149531c1
parent 9111 48ce04029fe4
permissions -rw-r--r--
(svn r13977) -Codechange: Let ResizeWindowForWidget() handle hidden (zero height or zero width) widgets.
4077
d4d440dd8925 (svn r5391) Miscellaneous, mostly bracing and whitespace, nothing spectacular
tron
parents: 2548
diff changeset
     1
/* $Id$ */
2496
74c42595f8e8 (svn r3022) -feature: [OSX] OSX now uses quicktime to play midi files
bjarni
parents:
diff changeset
     2
9111
48ce04029fe4 (svn r12971) -Documentation: add @file in files that missed them and add something more than whitespace as description of files that don't have a description.
rubidium
parents: 7194
diff changeset
     3
/** @file qtmidi.h Base of music playback via the QuickTime driver. */
48ce04029fe4 (svn r12971) -Documentation: add @file in files that missed them and add something more than whitespace as description of files that don't have a description.
rubidium
parents: 7194
diff changeset
     4
2496
74c42595f8e8 (svn r3022) -feature: [OSX] OSX now uses quicktime to play midi files
bjarni
parents:
diff changeset
     5
#ifndef MUSIC_MACOSX_QUICKTIME_H
74c42595f8e8 (svn r3022) -feature: [OSX] OSX now uses quicktime to play midi files
bjarni
parents:
diff changeset
     6
#define MUSIC_MACOSX_QUICKTIME_H
74c42595f8e8 (svn r3022) -feature: [OSX] OSX now uses quicktime to play midi files
bjarni
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: 6124
diff changeset
     8
#include "music_driver.hpp"
2496
74c42595f8e8 (svn r3022) -feature: [OSX] OSX now uses quicktime to play midi files
bjarni
parents:
diff changeset
     9
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: 6124
diff changeset
    10
class MusicDriver_QtMidi: 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: 6124
diff changeset
    11
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: 6124
diff changeset
    12
	/* 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: 6124
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: 6124
diff changeset
    14
	/* 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: 6124
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: 6124
diff changeset
    16
	/* 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: 6124
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: 6124
diff changeset
    18
	/* 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: 6124
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: 6124
diff changeset
    20
	/* 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: 6124
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: 6124
diff changeset
    22
	/* 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: 6124
diff changeset
    23
};
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: 6124
diff changeset
    24
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: 6124
diff changeset
    25
class FMusicDriver_QtMidi: public MusicDriverFactory<FMusicDriver_QtMidi> {
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: 6124
diff changeset
    26
public:
7194
c5a9ed306dcc (svn r10472) -Fix (r10741): typos prevented compilation
peter1138
parents: 7193
diff changeset
    27
	static const int priority = 10;
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: 6124
diff changeset
    28
	/* virtual */ const char *GetName() { return "qt"; }
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: 6124
diff changeset
    29
	/* virtual */ const char *GetDescription() { return "QuickTime 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: 6124
diff changeset
    30
	/* virtual */ Driver *CreateInstance() { return new MusicDriver_QtMidi(); }
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: 6124
diff changeset
    31
};
2496
74c42595f8e8 (svn r3022) -feature: [OSX] OSX now uses quicktime to play midi files
bjarni
parents:
diff changeset
    32
6124
9f822ae6c086 (svn r8860) -Cleanup: some style changes, proper #endif comments, variable initialisation, WINCE ifdef and a vsprintf to vsnprintf change.
Darkvater
parents: 5475
diff changeset
    33
#endif /* MUSIC_MACOSX_QUICKTIME_H */