LMMS
Loading...
Searching...
No Matches
Music_Player.h
Go to the documentation of this file.
1// Simple game music file player
2
3// Game_Music_Emu https://bitbucket.org/mpyne/game-music-emu/
4#ifndef MUSIC_PLAYER_H
5#define MUSIC_PLAYER_H
6
7#include "gme.h"
8
10public:
11 // Initialize player and set sample rate
12 gme_err_t init( long sample_rate = 44100 );
13
14 // Load game music file. NULL on success, otherwise error string.
15 gme_err_t load_file( const char* path );
16
17 // (Re)start playing track. Tracks are numbered from 0 to track_count() - 1.
18 gme_err_t start_track( int track );
19
20 // Stop playing current file
21 void stop();
22
23// Optional functions
24
25 // Number of tracks in current file, or 0 if no file loaded.
26 int track_count() const;
27
28 // Info for current track
29 gme_info_t const& track_info() const { return *track_info_; }
30
31 // Pause/resume playing current track.
32 void pause( int );
33
34 // True if track ended
35 bool track_ended() const;
36
37 // Pointer to emulator
38 Music_Emu* emu() const { return emu_; }
39
40 // Set stereo depth, where 0.0 = none and 1.0 = maximum
41 void set_stereo_depth( double );
42
43 // Enable accurate sound emulation
44 void enable_accuracy( bool );
45
46 // Set tempo, where 0.5 = half speed, 1.0 = normal, 2.0 = double speed
47 void set_tempo( double );
48
49 // Set voice muting bitmask
50 void mute_voices( int );
51
52 // Set buffer to copy samples from each buffer into, or NULL to disable
53 typedef short sample_t;
55
56public:
59private:
64 bool paused;
66
67 void suspend();
68 void resume();
69 static void fill_buffer( void*, sample_t*, int );
70};
71
72#endif
Music_Emu * emu_
Definition Music_Player.h:60
bool paused
Definition Music_Player.h:64
~Music_Player()
Definition Music_Player.cpp:67
void resume()
Definition Music_Player.cpp:139
short sample_t
Definition Music_Player.h:53
static void fill_buffer(void *, sample_t *, int)
Definition Music_Player.cpp:179
Music_Player()
Definition Music_Player.cpp:40
long sample_rate
Definition Music_Player.h:62
gme_err_t start_track(int track)
Definition Music_Player.cpp:97
gme_err_t load_file(const char *path)
Definition Music_Player.cpp:74
void suspend()
Definition Music_Player.cpp:133
gme_info_t const & track_info() const
Definition Music_Player.h:29
sample_t * scope_buf
Definition Music_Player.h:61
gme_info_t * track_info_
Definition Music_Player.h:65
void set_scope_buffer(sample_t *buf, int size)
Definition Music_Player.h:54
bool track_ended() const
Definition Music_Player.cpp:145
int track_count() const
Definition Music_Player.cpp:92
void set_tempo(double)
Definition Music_Player.cpp:164
Music_Emu * emu() const
Definition Music_Player.h:38
void pause(int)
Definition Music_Player.cpp:124
void enable_accuracy(bool)
Definition Music_Player.cpp:157
void stop()
Definition Music_Player.cpp:60
void mute_voices(int)
Definition Music_Player.cpp:171
int scope_buf_size
Definition Music_Player.h:63
void set_stereo_depth(double)
Definition Music_Player.cpp:150
const char * gme_err_t
Definition gme.h:14
Definition Music_Emu.h:10
Definition gme.h:86
ZCONST uch * init
Definition extract.c:2392
ulg size
Definition extract.c:2350