mirror of
https://github.com/QB64-Phoenix-Edition/QB64pe.git
synced 2024-09-20 04:24:48 +00:00
b586eafd3b
LINE INPUT will now use the faster method if passed a file handle that has been opened FOR BINARY. As such, the _BLINEINPUT command has been removed. qb64.bas now takes advantage of this for reading from '$include files, at least in Include Manager 1. Some tweaking of internal/source/main.txt was required to get things into a sane state, so I'm holing off changing the compiler any further so the auto-builder can make sure everything's smoothed over. Note: Everything should still compile as normal; I'm just being overcautious.
43 lines
1 KiB
C++
43 lines
1 KiB
C++
//
|
|
// MP3decoder.h: interface for the MP3decoder class.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////
|
|
|
|
class MP3decoder
|
|
{
|
|
public:
|
|
|
|
MP3decoder();
|
|
~MP3decoder();
|
|
|
|
bool _stdcall OpenStream(char* pcfilename,int *isample,int *ichannel,int *ibyte,void * ptSettings, int *bufsizebyte);
|
|
int _stdcall Decode(BYTE* pbout);
|
|
bool _stdcall CloseStream();
|
|
DWORD _stdcall GetTotalTime(char * pcfilename);
|
|
DWORD _stdcall GetPos( void ); // 1/1000 sec
|
|
bool _stdcall SetPos( DWORD aiPosMS ); // 1/1000 sec
|
|
|
|
private:
|
|
DWORD m_pos;
|
|
struct mpstr mp;
|
|
char buf[16384];
|
|
char m_pbRestBuf[8192];
|
|
char out[8192];
|
|
int m_outsize;
|
|
FILE * fin;
|
|
|
|
DWORD m_dwBufSize;
|
|
DWORD m_dwRestBufSize;
|
|
|
|
const static DWORD BUFFER_SIZE = 16384;
|
|
VBRTAGDATA vbrtag;
|
|
int m_length;
|
|
DWORD m_nInFileSize;
|
|
int m_nbytes;
|
|
int m_hasVbrtag;
|
|
|
|
bool m_seeked;
|
|
bool m_bfeof;
|
|
};
|
|
|
|
#endif // !defined(AFX_MP3DECODER_H__6A643246_395C_487E_BE15_CC621BBA084A__INCLUDED_)
|