- Fixed MP3 play bug on the psp. MP3 files need to have NO Id3v2 tag, or they won't play. Also, volume control is broken - added dt to moving W's easter egg movement. - Added fullscreen for windows version - other stuff ?
60 lines
1.4 KiB
C++
60 lines
1.4 KiB
C++
//-------------------------------------------------------------------------------------
|
|
//
|
|
// JGE is a hardware accelerated 2D game SDK for PSP/Windows.
|
|
//
|
|
// Licensed under the BSD license, see LICENSE in JGE root for details.
|
|
//
|
|
// Copyright (c) 2007 James Hui (a.k.a. Dr.Watson) <jhkhui@gmail.com>
|
|
// Copyright (c) 2008 Alexander Berl <raphael@fx-world.org>
|
|
// Copyright (c) 2008 WilLoW :--) <wagic.the.homebrew@gmail.com>
|
|
//
|
|
//-------------------------------------------------------------------------------------
|
|
|
|
#ifndef _JMP3_
|
|
#define _JMP3_
|
|
|
|
#include <string>
|
|
|
|
|
|
|
|
|
|
class JMP3
|
|
{
|
|
protected:
|
|
static bool loadModules();
|
|
int m_volume;
|
|
int m_samplesPlayed;
|
|
int m_inBufferSize, m_outBufferSize;
|
|
char m_inBuffer[16*1024]; // ?
|
|
short m_outBuffer[16*(1152/2)]; //?
|
|
int m_numChannels;
|
|
int m_samplingRate;
|
|
bool m_loop;
|
|
int m_lastDecoded;
|
|
int m_playTime;
|
|
public:
|
|
int m_paused;
|
|
int m_channel;
|
|
int m_mp3Handle;
|
|
int m_fileHandle;
|
|
static JMP3* mInstance;
|
|
JMP3(const std::string& filename, int inBufferSize= 16*1024, int outBufferSize =16*(1152/2));
|
|
~JMP3();
|
|
static void init();
|
|
bool fillBuffers();
|
|
bool load(const std::string& filename, int inBufferSize, int outBufferSize);
|
|
bool unload();
|
|
bool update();
|
|
bool play();
|
|
bool pause();
|
|
bool setLoop(bool loop);
|
|
int setVolume(int volume);
|
|
int playTime() const;
|
|
int playTimeMinutes();
|
|
int playTimeSeconds();
|
|
|
|
};
|
|
|
|
#endif
|
|
|