📄 bass.h
字号:
// 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 + -