⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bass.h

📁 bass player system api c++
💻 H
📖 第 1 页 / 共 3 页
字号:
// ID3v1 tag structure
typedef struct {
	char id[3];
	char title[30];
	char artist[30];
	char album[30];
	char year[4];
	char comment[30];
	BYTE genre;
} TAG_ID3;

// BWF Broadcast Audio Extension tag structure
#ifdef _MSC_VER
#pragma warning(push)
#pragma warning(disable:4200)
#endif
#pragma pack(push,1)
typedef struct {
	char Description[256];			// description
	char Originator[32];			// name of the originator
	char OriginatorReference[32];	// reference of the originator
	char OriginationDate[10];		// date of creation (yyyy-mm-dd)
	char OriginationTime[8];		// time of creation (hh-mm-ss)
	QWORD TimeReference;			// first sample count since midnight (little-endian)
	WORD Version;					// BWF version (little-endian)
	BYTE UMID[64];					// SMPTE UMID
	BYTE Reserved[190];
#if defined(__GNUC__) && __GNUC__<3
	char CodingHistory[0];			// history
#elif 1 // change to 0 if compiler fails the following line
	char CodingHistory[];			// history
#else
	char CodingHistory[1];			// history
#endif
} TAG_BEXT;
#pragma pack(pop)
#ifdef _MSC_VER
#pragma warning(pop)
#endif

// BASS_ChannelGetLength/GetPosition/SetPosition modes
#define BASS_POS_BYTE			0		// byte position
#define BASS_POS_MUSIC_ORDER	1		// order.row position, MAKELONG(order,row)

// BASS_RecordSetInput flags
#define BASS_INPUT_OFF		0x10000
#define BASS_INPUT_ON		0x20000

#define BASS_INPUT_TYPE_MASK		0xff000000
#define BASS_INPUT_TYPE_UNDEF		0x00000000
#define BASS_INPUT_TYPE_DIGITAL		0x01000000
#define BASS_INPUT_TYPE_LINE		0x02000000
#define BASS_INPUT_TYPE_MIC			0x03000000
#define BASS_INPUT_TYPE_SYNTH		0x04000000
#define BASS_INPUT_TYPE_CD			0x05000000
#define BASS_INPUT_TYPE_PHONE		0x06000000
#define BASS_INPUT_TYPE_SPEAKER		0x07000000
#define BASS_INPUT_TYPE_WAVE		0x08000000
#define BASS_INPUT_TYPE_AUX			0x09000000
#define BASS_INPUT_TYPE_ANALOG		0x0a000000

// DX8 effect types, use with BASS_ChannelSetFXenum{	BASS_FX_DX8_CHORUS,	BASS_FX_DX8_COMPRESSOR,	BASS_FX_DX8_DISTORTION,	BASS_FX_DX8_ECHO,	BASS_FX_DX8_FLANGER,	BASS_FX_DX8_GARGLE,	BASS_FX_DX8_I3DL2REVERB,	BASS_FX_DX8_PARAMEQ,	BASS_FX_DX8_REVERB};typedef struct {    float       fWetDryMix;    float       fDepth;    float       fFeedback;    float       fFrequency;    DWORD       lWaveform;	// 0=triangle, 1=sine    float       fDelay;    DWORD       lPhase;		// BASS_DX8_PHASE_xxx} BASS_DX8_CHORUS;typedef struct {    float   fGain;    float   fAttack;    float   fRelease;    float   fThreshold;    float   fRatio;    float   fPredelay;} BASS_DX8_COMPRESSOR;typedef struct {    float   fGain;    float   fEdge;    float   fPostEQCenterFrequency;    float   fPostEQBandwidth;    float   fPreLowpassCutoff;} BASS_DX8_DISTORTION;typedef struct {    float   fWetDryMix;    float   fFeedback;    float   fLeftDelay;    float   fRightDelay;    BOOL    lPanDelay;} BASS_DX8_ECHO;typedef struct {    float       fWetDryMix;    float       fDepth;    float       fFeedback;    float       fFrequency;    DWORD       lWaveform;	// 0=triangle, 1=sine    float       fDelay;    DWORD       lPhase;		// BASS_DX8_PHASE_xxx} BASS_DX8_FLANGER;typedef struct {    DWORD       dwRateHz;               // Rate of modulation in hz    DWORD       dwWaveShape;            // 0=triangle, 1=square} BASS_DX8_GARGLE;typedef struct {    int     lRoom;                  // [-10000, 0]      default: -1000 mB    int     lRoomHF;                // [-10000, 0]      default: 0 mB    float   flRoomRolloffFactor;    // [0.0, 10.0]      default: 0.0    float   flDecayTime;            // [0.1, 20.0]      default: 1.49s    float   flDecayHFRatio;         // [0.1, 2.0]       default: 0.83    int     lReflections;           // [-10000, 1000]   default: -2602 mB    float   flReflectionsDelay;     // [0.0, 0.3]       default: 0.007 s    int     lReverb;                // [-10000, 2000]   default: 200 mB    float   flReverbDelay;          // [0.0, 0.1]       default: 0.011 s    float   flDiffusion;            // [0.0, 100.0]     default: 100.0 %    float   flDensity;              // [0.0, 100.0]     default: 100.0 %    float   flHFReference;          // [20.0, 20000.0]  default: 5000.0 Hz} BASS_DX8_I3DL2REVERB;typedef struct {    float   fCenter;    float   fBandwidth;    float   fGain;} BASS_DX8_PARAMEQ;typedef struct {    float   fInGain;                // [-96.0,0.0]            default: 0.0 dB    float   fReverbMix;             // [-96.0,0.0]            default: 0.0 db    float   fReverbTime;            // [0.001,3000.0]         default: 1000.0 ms    float   fHighFreqRTRatio;       // [0.001,0.999]          default: 0.001} BASS_DX8_REVERB;#define BASS_DX8_PHASE_NEG_180        0#define BASS_DX8_PHASE_NEG_90         1#define BASS_DX8_PHASE_ZERO           2#define BASS_DX8_PHASE_90             3#define BASS_DX8_PHASE_180            4BOOL BASSDEF(BASS_SetConfig)(DWORD option, DWORD value);DWORD BASSDEF(BASS_GetConfig)(DWORD option);
BOOL BASSDEF(BASS_SetConfigPtr)(DWORD option, void *value);
void *BASSDEF(BASS_GetConfigPtr)(DWORD option);DWORD BASSDEF(BASS_GetVersion)();int BASSDEF(BASS_ErrorGetCode)();BOOL BASSDEF(BASS_GetDeviceInfo)(DWORD device, BASS_DEVICEINFO *info);
#ifdef _WIN32BOOL BASSDEF(BASS_Init)(int device, DWORD freq, DWORD flags, HWND win, const GUID *dsguid);#elseBOOL BASSDEF(BASS_Init)(int device, DWORD freq, DWORD flags, void *win, void *dsguid);#endifBOOL BASSDEF(BASS_SetDevice)(DWORD device);DWORD BASSDEF(BASS_GetDevice)();BOOL BASSDEF(BASS_Free)();#ifdef _WIN32void *BASSDEF(BASS_GetDSoundObject)(DWORD object);#endifBOOL BASSDEF(BASS_GetInfo)(BASS_INFO *info);BOOL BASSDEF(BASS_Update)(DWORD length);float BASSDEF(BASS_GetCPU)();BOOL BASSDEF(BASS_Start)();BOOL BASSDEF(BASS_Stop)();BOOL BASSDEF(BASS_Pause)();BOOL BASSDEF(BASS_SetVolume)(float volume);float BASSDEF(BASS_GetVolume)();HPLUGIN BASSDEF(BASS_PluginLoad)(const char *file, DWORD flags);BOOL BASSDEF(BASS_PluginFree)(HPLUGIN handle);const BASS_PLUGININFO *BASSDEF(BASS_PluginGetInfo)(HPLUGIN handle);BOOL BASSDEF(BASS_Set3DFactors)(float distf, float rollf, float doppf);BOOL BASSDEF(BASS_Get3DFactors)(float *distf, float *rollf, float *doppf);BOOL BASSDEF(BASS_Set3DPosition)(const BASS_3DVECTOR *pos, const BASS_3DVECTOR *vel, const BASS_3DVECTOR *front, const BASS_3DVECTOR *top);BOOL BASSDEF(BASS_Get3DPosition)(BASS_3DVECTOR *pos, BASS_3DVECTOR *vel, BASS_3DVECTOR *front, BASS_3DVECTOR *top);void BASSDEF(BASS_Apply3D)();#ifdef _WIN32BOOL BASSDEF(BASS_SetEAXParameters)(int env, float vol, float decay, float damp);BOOL BASSDEF(BASS_GetEAXParameters)(DWORD *env, float *vol, float *decay, float *damp);#endifHMUSIC BASSDEF(BASS_MusicLoad)(BOOL mem, const void *file, QWORD offset, DWORD length, DWORD flags, DWORD freq);BOOL BASSDEF(BASS_MusicFree)(HMUSIC handle);HSAMPLE BASSDEF(BASS_SampleLoad)(BOOL mem, const void *file, QWORD offset, DWORD length, DWORD max, DWORD flags);HSAMPLE BASSDEF(BASS_SampleCreate)(DWORD length, DWORD freq, DWORD chans, DWORD max, DWORD flags);BOOL BASSDEF(BASS_SampleFree)(HSAMPLE handle);BOOL BASSDEF(BASS_SampleSetData)(HSAMPLE handle, const void *buffer);
BOOL BASSDEF(BASS_SampleGetData)(HSAMPLE handle, void *buffer);
BOOL BASSDEF(BASS_SampleGetInfo)(HSAMPLE handle, BASS_SAMPLE *info);BOOL BASSDEF(BASS_SampleSetInfo)(HSAMPLE handle, const BASS_SAMPLE *info);HCHANNEL BASSDEF(BASS_SampleGetChannel)(HSAMPLE handle, BOOL onlynew);DWORD BASSDEF(BASS_SampleGetChannels)(HSAMPLE handle, HCHANNEL *channels);
BOOL BASSDEF(BASS_SampleStop)(HSAMPLE handle);HSTREAM BASSDEF(BASS_StreamCreate)(DWORD freq, DWORD chans, DWORD flags, STREAMPROC *proc, void *user);HSTREAM BASSDEF(BASS_StreamCreateFile)(BOOL mem, const void *file, QWORD offset, QWORD length, DWORD flags);HSTREAM BASSDEF(BASS_StreamCreateURL)(const char *url, DWORD offset, DWORD flags, DOWNLOADPROC *proc, void *user);HSTREAM BASSDEF(BASS_StreamCreateFileUser)(DWORD system, DWORD flags, const BASS_FILEPROCS *proc, void *user);BOOL BASSDEF(BASS_StreamFree)(HSTREAM handle);QWORD BASSDEF(BASS_StreamGetFilePosition)(HSTREAM handle, DWORD mode);DWORD BASSDEF(BASS_StreamPutData)(HSTREAM handle, const void *buffer, DWORD length);
DWORD BASSDEF(BASS_StreamPutFileData)(HSTREAM handle, const void *buffer, DWORD length);
BOOL BASSDEF(BASS_RecordGetDeviceInfo)(DWORD device, BASS_DEVICEINFO *info);
BOOL BASSDEF(BASS_RecordInit)(int device);BOOL BASSDEF(BASS_RecordSetDevice)(DWORD device);DWORD BASSDEF(BASS_RecordGetDevice)();BOOL BASSDEF(BASS_RecordFree)();BOOL BASSDEF(BASS_RecordGetInfo)(BASS_RECORDINFO *info);const char *BASSDEF(BASS_RecordGetInputName)(int input);BOOL BASSDEF(BASS_RecordSetInput)(int input, DWORD flags, float volume);DWORD BASSDEF(BASS_RecordGetInput)(int input, float *volume);HRECORD BASSDEF(BASS_RecordStart)(DWORD freq, DWORD chans, DWORD flags, RECORDPROC *proc, void *user);double BASSDEF(BASS_ChannelBytes2Seconds)(DWORD handle, QWORD pos);QWORD BASSDEF(BASS_ChannelSeconds2Bytes)(DWORD handle, double pos);DWORD BASSDEF(BASS_ChannelGetDevice)(DWORD handle);BOOL BASSDEF(BASS_ChannelSetDevice)(DWORD handle, DWORD device);
DWORD BASSDEF(BASS_ChannelIsActive)(DWORD handle);BOOL BASSDEF(BASS_ChannelGetInfo)(DWORD handle, BASS_CHANNELINFO *info);const char *BASSDEF(BASS_ChannelGetTags)(DWORD handle, DWORD tags);DWORD BASSDEF(BASS_ChannelFlags)(DWORD handle, DWORD flags, DWORD mask);BOOL BASSDEF(BASS_ChannelUpdate)(DWORD handle, DWORD length);
BOOL BASSDEF(BASS_ChannelLock)(DWORD handle, BOOL lock);
BOOL BASSDEF(BASS_ChannelPlay)(DWORD handle, BOOL restart);BOOL BASSDEF(BASS_ChannelStop)(DWORD handle);BOOL BASSDEF(BASS_ChannelPause)(DWORD handle);BOOL BASSDEF(BASS_ChannelSetAttribute)(DWORD handle, DWORD attrib, float value);BOOL BASSDEF(BASS_ChannelGetAttribute)(DWORD handle, DWORD attrib, float *value);BOOL BASSDEF(BASS_ChannelSlideAttribute)(DWORD handle, DWORD attrib, float value, DWORD time);BOOL BASSDEF(BASS_ChannelIsSliding)(DWORD handle, DWORD attrib);BOOL BASSDEF(BASS_ChannelSet3DAttributes)(DWORD handle, int mode, float min, float max, int iangle, int oangle, float outvol);BOOL BASSDEF(BASS_ChannelGet3DAttributes)(DWORD handle, DWORD *mode, float *min, float *max, DWORD *iangle, DWORD *oangle, float *outvol);BOOL BASSDEF(BASS_ChannelSet3DPosition)(DWORD handle, const BASS_3DVECTOR *pos, const BASS_3DVECTOR *orient, const BASS_3DVECTOR *vel);BOOL BASSDEF(BASS_ChannelGet3DPosition)(DWORD handle, BASS_3DVECTOR *pos, BASS_3DVECTOR *orient, BASS_3DVECTOR *vel);QWORD BASSDEF(BASS_ChannelGetLength)(DWORD handle, DWORD mode);BOOL BASSDEF(BASS_ChannelSetPosition)(DWORD handle, QWORD pos, DWORD mode);QWORD BASSDEF(BASS_ChannelGetPosition)(DWORD handle, DWORD mode);DWORD BASSDEF(BASS_ChannelGetLevel)(DWORD handle);DWORD BASSDEF(BASS_ChannelGetData)(DWORD handle, void *buffer, DWORD length);HSYNC BASSDEF(BASS_ChannelSetSync)(DWORD handle, DWORD type, QWORD param, SYNCPROC *proc, void *user);BOOL BASSDEF(BASS_ChannelRemoveSync)(DWORD handle, HSYNC sync);HDSP BASSDEF(BASS_ChannelSetDSP)(DWORD handle, DSPPROC *proc, void *user, int priority);BOOL BASSDEF(BASS_ChannelRemoveDSP)(DWORD handle, HDSP dsp);BOOL BASSDEF(BASS_ChannelSetLink)(DWORD handle, DWORD chan);BOOL BASSDEF(BASS_ChannelRemoveLink)(DWORD handle, DWORD chan);HFX BASSDEF(BASS_ChannelSetFX)(DWORD handle, DWORD type, int priority);BOOL BASSDEF(BASS_ChannelRemoveFX)(DWORD handle, HFX fx);BOOL BASSDEF(BASS_FXSetParameters)(HFX handle, const void *params);BOOL BASSDEF(BASS_FXGetParameters)(HFX handle, void *params);BOOL BASSDEF(BASS_FXReset)(HFX handle);
#ifdef __cplusplus}#endif#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -