1 2 /* 3 * REminiscence - Flashback interpreter 4 * Copyright (C) 2005-2019 Gregory Montoir (cyx@users.sourceforge.net) 5 */ 6 7 #ifndef OGG_PLAYER_H__ 8 #define OGG_PLAYER_H__ 9 10 #include "intern.h" 11 12 struct FileSystem; 13 struct Mixer; 14 struct OggDecoder_impl; 15 16 struct OggPlayer { 17 OggPlayer(Mixer *mixer, FileSystem *fs); 18 ~OggPlayer(); 19 20 bool playTrack(int num); 21 void stopTrack(); 22 void pauseTrack(); 23 void resumeTrack(); isPlayingOggPlayer24 bool isPlaying() const { return _impl != 0; } 25 bool mix(int16_t *buf, int len); 26 static bool mixCallback(void *param, int16_t *buf, int len); 27 28 Mixer *_mix; 29 FileSystem *_fs; 30 OggDecoder_impl *_impl; 31 }; 32 33 #endif // OGG_PLAYER_H__ 34 35