Getting bass.decls to work - HELP!
Blitz3D Forums/Blitz3D Programming/Getting bass.decls to work - HELP!
| ||
I have Nigel Browns bass.decls and associated bass.dll but I get a memory access violation when I try the included bass.bb sample...Function BASS_GetDeviceAvailable(iCount) Local mBankIn,iResult mBankIn = CreateBank(4) PokeInt mBankIn,0,iCount iResult = BASS_GetDeviceDescription( mBankIn ) FreeBank mBankIn Return iResult End Function Any idea why? I *really* would like to get this working as I need to use the record functions available in this version. The decls is... .lib "bass.dll" ; BASS functions BASS_ErrorGetCode%() : "BASS_ErrorGetCode" BASS_Free() : "BASS_Free" BASS_GetCPU() BASS_GetDeviceDescription$( devnum% ) : "BASS_GetDeviceDescription" BASS_GetDSoundObject() BASS_GetGlobalVolumes() BASS_GetInfo() BASS_GetVersion%() : "BASS_GetVersion" BASS_GetVolume() BASS_Init%( device%, freq%, flags%, win% ) : "BASS_Init" BASS_Pause() BASS_SetBufferLength() BASS_SetCLSID() BASS_SetGlobalVolumes( musvol%, samvol%, strvol% ) : "BASS_SetGlobalVolumes" BASS_SetLongCurves() BASS_SetNetConfig() BASS_SetVolume%( volume% ) : "BASS_SetVolume" BASS_Start%() : "BASS_Start" BASS_Stop%() : "BASS_Stop" BASS_Update%() : "BASS_Update" ; 3D/EAX functions BASS_Apply3D() BASS_Get3DFactors() BASS_Get3DPosition() BASS_GetEaxParameters() BASS_Set3DAlgorithm() BASS_Set3DFactors() BASS_Set3DPosition() BASS_SetEAXParameters() ; CD Audio functions BASS_CDDoor() BASS_CDFree() BASS_CDGetID() BASS_CDGetTrackLength() BASS_CDGetTracks() BASS_CDInDrive() BASS_CDInit() BASS_CDPlay() ; Sample functions BASS_SampleCreate() BASS_SampleCreateDone() BASS_SampleFree() BASS_SampleGetInfo() BASS_SampleLoad%( mem%, file$, offset%, length%, max%, flags% ) : "BASS_SampleLoad" BASS_SamplePlay%( Handle% ) : "BASS_SamplePlay" BASS_SamplePlay3D() BASS_SamplePlay3DEx() BASS_SamplePlayEx%( Handle%, start%, freq%, volume%, pan%, loop% ) : "BASS_SamplePlayEx" BASS_SampleSetInfo() BASS_SampleStop%( Handle% ) ; Stream functions BASS_StreamCreate() BASS_StreamCreateFile() BASS_StreamCreateURL() BASS_StreamFree() BASS_StreamGetFilePosition() BASS_StreamGetLength() BASS_StreamGetTags() BASS_StreamPlay() BASS_StreamPreBuf() ; MOD/3 music functions BASS_MusicFree() BASS_MusicGetChannelVol() BASS_MusicGetLength() BASS_MusicGetName() BASS_MusicLoad() BASS_MusicPlay() BASS_MusicPlayEx() BASS_MusicPreBuf() BASS_MusicSetAmplify() BASS_MusicSetChannelVol() BASS_MusicSetPanSep() BASS_MusicSetPositionScaler() ; Recording functions BASS_RecordFree() BASS_RecordGetDeviceDescription() BASS_RecordGetInfo() BASS_RecordGetInput() BASS_RecordGetInputName() BASS_RecordInit() BASS_RecordSetInput() BASS_RecordStart() ; Channel functions BASS_ChannelBytes2Seconds() BASS_ChannelGet3DAttributes() BASS_ChannelGet3DPosition() BASS_ChannelGetAttributes() BASS_ChannelGetData() BASS_ChannelGetEAXMix() BASS_ChannelGetFlags() BASS_ChannelGetLevel() BASS_ChannelGetPosition() BASS_ChannelIsActive%( Handle% ) : "BASS_ChannelIsActive" BASS_ChannelPause() BASS_ChannelRemoveDSP() BASS_ChannelRemoveFX() BASS_ChannelRemoveLink() BASS_ChannelRemoveSync() BASS_ChannelResume() BASS_ChannelSeconds2Bytes() BASS_ChannelSet3DAttributes() BASS_ChannelSet3DPosition() BASS_ChannelSetAttributes() BASS_ChannelSetDSP() BASS_ChannelSetEAXMix() BASS_ChannelSetFX() BASS_ChannelSetLink() BASS_ChannelSetPosition() BASS_ChannelSetSync() BASS_ChannelStop%( Handle% ) : "BASS_ChanelStop" ; FX functions BASS_FXGetParameters() BASS_FXSetParameters() the full bass.bb is... ; BASS_ChannelIsActive Return values Const BASS_ACTIVE_STOPPED =0 Const BASS_ACTIVE_PLAYING =1 Const BASS_ACTIVE_STALLED =2 Const BASS_ACTIVE_PAUSED =3 ; Error codes returned by BASS_GetErrorCode() Const BASS_OK = 0 ; all is OK Const BASS_ERROR_MEM = 1 ; memory error Const BASS_ERROR_FILEOPEN = 2 ; can't open the file Const BASS_ERROR_DRIVER = 3 ; can't find a free/valid driver Const BASS_ERROR_BUFLOST = 4 ; the sample buffer was lost - please report this! Const BASS_ERROR_HANDLE = 5 ; invalid handle Const BASS_ERROR_FORMAT = 6 ; unsupported format Const BASS_ERROR_POSITION = 7 ; invalid playback position Const BASS_ERROR_INIT = 8 ; BASS_Init has not been successfully called Const BASS_ERROR_START = 9 ; BASS_Start has not been successfully called Const BASS_ERROR_INITCD = 10; can't initialize CD Const BASS_ERROR_CDINIT = 11; BASS_CDInit has not been successfully called Const BASS_ERROR_NOCD = 12; no CD in drive Const BASS_ERROR_CDTRACK = 13; can't play the selected CD track Const BASS_ERROR_ALREADY = 14; already initialized Const BASS_ERROR_CDVOL = 15; CD has no volume control Const BASS_ERROR_NOPAUSE = 16; not paused Const BASS_ERROR_NOTAUDIO = 17; not an audio track Const BASS_ERROR_NOCHAN = 18; can't get a free channel Const BASS_ERROR_ILLTYPE = 19; an illegal type was specified Const BASS_ERROR_ILLPARAM = 20; an illegal parameter was specified Const BASS_ERROR_NO3D = 21; no 3D support Const BASS_ERROR_NOEAX = 22; no EAX support Const BASS_ERROR_DEVICE = 23; illegal device number Const BASS_ERROR_NOPLAY = 24; not playing Const BASS_ERROR_FREQ = 25; illegal sample rate Const BASS_ERROR_NOA3D = 26; A3D.DLL is not installed Const BASS_ERROR_NOTFILE = 27; the stream is not a file stream (WAV/MP3/MP2/MP1/OGG) Const BASS_ERROR_NOHW = 29; no hardware voices available Const BASS_ERROR_NOSYNC = 30; synchronizers have been disabled Const BASS_ERROR_EMPTY = 31; the MOD music has no sequence data Const BASS_ERROR_NONET = 32; no internet connection could be opened Const BASS_ERROR_CREATE = 33; couldn't create the file Const BASS_ERROR_NOFX = 34; effects are not enabled Const BASS_ERROR_PLAYING = 35; the channel is playing Const BASS_ERROR_NOOGG = 36; OGG.DLL/VORBIS.DLL could not be loaded Const BASS_ERROR_NOTAVAIL = 37; requested data is not available Const BASS_ERROR_DECODE = 38; the channel is a "decoding channel" Const BASS_ERROR_UNKNOWN = -1; some other mystery error ; Device setup flags Const BASS_DEVICE_8BITS = 1 ; use 8 bit resolution, else 16 bit Const BASS_DEVICE_MONO = 2 ; use mono, else stereo Const BASS_DEVICE_3D = 4 ; enable 3D functionality ; If the BASS_DEVICE_3D flag is not specified when initilizing BASS, ; then the 3D flags (BASS_SAMPLE_3D and BASS_MUSIC_3D) are ignored when ; loading/creating a sample/stream/music. Const BASS_DEVICE_NOSYNC = 16 ; disable synchronizers Const BASS_DEVICE_LEAVEVOL = 32 ; leave the volume as it is Const BASS_DEVICE_OGG = 64 ; enable OGG support (requires OGG.DLL & VORBIS.DLL) Const BASS_DEVICE_NOTHREAD = 128 ; update buffers manually (using BASS_Update) Const BASS_DEVICE_LATENCY = 256 ; calculate device latency (BASS_INFO struct) ; DirectSound interfaces (for use with BASS_GetDSoundObject) Const BASS_OBJECT_DS = 1 ; IDirectSound Const BASS_OBJECT_DS3DL = 2 ; IDirectSound3DListener ; BASS_INFO flags (from DSOUND.H) Const DSCAPS_CONTINUOUSRATE = $00000010 ; supports all sample rates between min/maxrate Const DSCAPS_EMULDRIVER = $00000020 ; device does NOT have hardware DirectSound support Const DSCAPS_CERTIFIED = $00000040 ; device driver has been certified by Microsoft ; The following flags tell what type of samples are supported by HARDWARE ; mixing, all these formats are supported by SOFTWARE mixing Const DSCAPS_SECONDARYMONO = $00000100 ; mono Const DSCAPS_SECONDARYSTEREO = $00000200 ; stereo Const DSCAPS_SECONDARY8BIT = $00000400 ; 8 bit Const DSCAPS_SECONDARY16BIT = $00000800 ; 16 bit ; Music flags Const BASS_MUSIC_RAMP = 1 ; normal ramping Const BASS_MUSIC_RAMPS = 2 ; sensitive ramping ; Ramping doesn't take a lot of extra processing and improves ; the sound quality by removing "clicks". Sensitive ramping will ; leave sharp attacked samples, unlike normal ramping. Const BASS_MUSIC_LOOP = 4 ; loop music Const BASS_MUSIC_FT2MOD = 16 ; play .MOD as FastTracker 2 does Const BASS_MUSIC_PT1MOD = 32 ; play .MOD as ProTracker 1 does Const BASS_MUSIC_MONO = 64 ; force mono mixing (less CPU usage) Const BASS_MUSIC_3D = 128 ; enable 3D functionality Const BASS_MUSIC_POSRESET = 256 ; stop all notes when moving position Const BASS_MUSIC_SURROUND = 512 ; surround sound Const BASS_MUSIC_SURROUND2 = 1024 ; surround sound (mode 2) Const BASS_MUSIC_STOPBACK = 2048 ; stop the music on a backwards jump effect Const BASS_MUSIC_FX = 4096 ; enable DX8 effects Const BASS_MUSIC_CALCLEN = 8192 ; calculate playback length Const BASS_MUSIC_DECODE = $200000 ; don't play the music, only decode (BASS_ChannelGetData) Const BASS_SAMPLE_8BITS = 1 ; 8 bit, else 16 bit Const BASS_SAMPLE_MONO = 2 ; mono, else stereo Const BASS_SAMPLE_LOOP = 4 ; looped Const BASS_SAMPLE_3D = 8 ; 3D functionality enabled Const BASS_SAMPLE_SOFTWARE = 16 ; it's NOT using hardware mixing Const BASS_SAMPLE_MUTEMAX = 32 ; muted at max distance (3D only) Const BASS_SAMPLE_VAM = 64 ; uses the DX7 voice allocation & management Const BASS_SAMPLE_FX = 128 ; the DX8 effects are enabled Const BASS_SAMPLE_OVER_VOL = $10000 ; override lowest volume Const BASS_SAMPLE_OVER_POS = $20000 ; override longest playing Const BASS_SAMPLE_OVER_DIST = $30000 ; override furthest from listener (3D only) Const BASS_MP3_HALFRATE = $10000 ; reduced quality MP3/MP2/MP1 (half sample rate) Const BASS_MP3_SETPOS = $20000 ; enable pin-point seeking on the MP3/MP2/MP1/OGG Const BASS_STREAM_AUTOFREE = $40000 ; automatically free the stream when it stop/ends Const BASS_STREAM_RESTRATE = $80000 ; restrict the download rate of internet file streams Const BASS_STREAM_BLOCK = $100000 ; download/play internet file stream (MPx/OGG) in small blocks Const BASS_STREAM_DECODE = $200000 ; don't play the stream, only decode (BASS_ChannelGetData) ; DX7 voice allocation flags Const BASS_VAM_HARDWARE = 1 Const BASS_VAM_SOFTWARE = 2 ; DX7 voice management flags Const BASS_VAM_TERM_TIME = 4 Const BASS_VAM_TERM_DIST = 8 Const BASS_VAM_TERM_PRIO = 16 ; 3D channel modes Const BASS_3DMODE_NORMAL = 0 Const BASS_3DMODE_RELATIVE = 1 Const BASS_3DMODE_OFF = 2 Const BASS_3DALG_DEFAULT = 0 Const BASS_3DALG_OFF = 1 Const BASS_3DALG_FULL = 2 Const BASS_3DALG_LIGHT = 3 Const BASS_SYNC_MUSICPOS = 0 Const BASS_SYNC_POS = 0 Const BASS_SYNC_MUSICINST = 1 Const BASS_SYNC_END = 2 Const BASS_SYNC_MUSICFX = 3 Const BASS_SYNC_MESSAGE = $20000000 ; FLAG: post a Windows message (instead of callback) Const BASS_SYNC_MIXTIME = $40000000 ; FLAG: sync at mixtime, else at playtime Const BASS_SYNC_ONETIME = $80000000 ; FLAG: sync only once, else continuously ; BASS_ChannelGetData flags Const BASS_DATA_FFT512 = $80000000 ; 512 sample FFT Const BASS_DATA_FFT1024 = $80000001 ; 1024 FFT Const BASS_DATA_FFT2048 = $80000002 ; 2048 FFT ; BASS_StreamGetTags flags : what's returned Const BASS_TAG_ID3 = 0 ; ID3v1 tags : 128 byte block Const BASS_TAG_ID3V2 = 1 ; ID3v2 tags : variable length block Const BASS_TAG_OGG = 2 ; OGG comments : array of null-terminated strings Const BASS_TAG_HTTP = 3 ; HTTP headers : array of null-terminated strings Const BASS_TAG_ICY = 4 ; ICY headers : array of null-terminated strings ; DX8 effect types, use with BASS_ChannelSetFX() Const BASS_FX_CHORUS = 0 ; GUID_DSFX_STANDARD_CHORUS Const BASS_FX_COMPRESSOR = 1 ; GUID_DSFX_STANDARD_COMPRESSOR Const BASS_FX_DISTORTION = 2 ; GUID_DSFX_STANDARD_DISTORTION Const BASS_FX_ECHO = 3 ; GUID_DSFX_STANDARD_ECHO Const BASS_FX_FLANGER = 4 ; GUID_DSFX_STANDARD_FLANGER Const BASS_FX_GARGLE = 5 ; GUID_DSFX_STANDARD_GARGLE Const BASS_FX_I3DL2REVERB = 6 ; GUID_DSFX_STANDARD_I3DL2REVERB Const BASS_FX_PARAMEQ = 7 ; GUID_DSFX_STANDARD_PARAMEQ Const BASS_FX_REVERB = 8 ; GUID_DSFX_WAVES_REVERB Const BASS_FX_PHASE_NEG_180 = 0 Const BASS_FX_PHASE_NEG_90 = 1 Const BASS_FX_PHASE_ZERO = 2 Const BASS_FX_PHASE_90 = 3 Const BASS_FX_PHASE_180 = 4 Const CDCHANNEL = 0 ; CD channel, for use with BASS_Channel functions ; BASS_CDGetID flags Const BASS_CDID_IDENTITY = 0 Const BASS_CDID_UPC = 1 ;:: NOTE - These are wrapped. Not actually BASS values for these.. Const EAX_PRESET_GENERIC = 0 Const EAX_PRESET_PADDEDCELL = 1 Const EAX_PRESET_ROOM = 2 Const EAX_PRESET_BATHROOM = 3 Const EAX_PRESET_LIVINGROOM = 4 Const EAX_PRESET_STONEROOM = 5 Const EAX_PRESET_AUDITORIUM = 6 Const EAX_PRESET_CONCERTHALL = 7 Const EAX_PRESET_CAVE = 8 Const EAX_PRESET_ARENA = 9 Const EAX_PRESET_HANGAR = 10 Const EAX_PRESET_CARPETEDHALLWAY = 11 Const EAX_PRESET_HALLWAY = 12 Const EAX_PRESET_STONECORRIDOR = 13 Const EAX_PRESET_ALLEY = 14 Const EAX_PRESET_FOREST = 15 Const EAX_PRESET_CITY = 16 Const EAX_PRESET_MOUNTAINS = 17 Const EAX_PRESET_QUARRY = 18 Const EAX_PRESET_PLAIN = 19 Const EAX_PRESET_PARKINGLOT = 20 Const EAX_PRESET_SEWERPIPE = 21 Const EAX_PRESET_UNDERWATER = 22 Const EAX_PRESET_DRUGGED = 23 Const EAX_PRESET_DIZZY = 24 Const EAX_PRESET_PSYCHOTIC = 25 Const EAX_ENVIRONMENT_GENERIC = 0 Const EAX_ENVIRONMENT_PADDEDCELL = 1 Const EAX_ENVIRONMENT_ROOM = 2 Const EAX_ENVIRONMENT_BATHROOM = 3 Const EAX_ENVIRONMENT_LIVINGROOM = 4 Const EAX_ENVIRONMENT_STONEROOM = 5 Const EAX_ENVIRONMENT_AUDITORIUM = 6 Const EAX_ENVIRONMENT_CONCERTHALL = 7 Const EAX_ENVIRONMENT_CAVE = 8 Const EAX_ENVIRONMENT_ARENA = 9 Const EAX_ENVIRONMENT_HANGAR = 10 Const EAX_ENVIRONMENT_CARPETEDHALLWAY = 11 Const EAX_ENVIRONMENT_HALLWAY = 12 Const EAX_ENVIRONMENT_STONECORRIDOR = 13 Const EAX_ENVIRONMENT_ALLEY = 14 Const EAX_ENVIRONMENT_FOREST = 15 Const EAX_ENVIRONMENT_CITY = 16 Const EAX_ENVIRONMENT_MOUNTAINS = 17 Const EAX_ENVIRONMENT_QUARRY = 18 Const EAX_ENVIRONMENT_PLAIN = 19 Const EAX_ENVIRONMENT_PARKINGLOT = 20 Const EAX_ENVIRONMENT_SEWERPIPE = 21 Const EAX_ENVIRONMENT_UNDERWATER = 22 Const EAX_ENVIRONMENT_DRUGGED = 23 Const EAX_ENVIRONMENT_DIZZY = 24 Const EAX_ENVIRONMENT_PSYCHOTIC = 25 ; Originals.. ; EAX presets, usage: BASS_SetEAXParameters(EAX_PRESET_xxx) ;Const EAX_PRESET_GENERIC EAX_ENVIRONMENT_GENERIC,0.5F,1.493F,0.5F ;Const EAX_PRESET_PADDEDCELL EAX_ENVIRONMENT_PADDEDCELL,0.25F,0.1F,0.0F ;Const EAX_PRESET_ROOM EAX_ENVIRONMENT_ROOM,0.417F,0.4F,0.666F ;Const EAX_PRESET_BATHROOM EAX_ENVIRONMENT_BATHROOM,0.653F,1.499F,0.166F ;Const EAX_PRESET_LIVINGROOM EAX_ENVIRONMENT_LIVINGROOM,0.208F,0.478F,0.0F ;Const EAX_PRESET_STONEROOM EAX_ENVIRONMENT_STONEROOM,0.5F,2.309F,0.888F ;Const EAX_PRESET_AUDITORIUM EAX_ENVIRONMENT_AUDITORIUM,0.403F,4.279F,0.5F ;Const EAX_PRESET_CONCERTHALL EAX_ENVIRONMENT_CONCERTHALL,0.5F,3.961F,0.5F ;Const EAX_PRESET_CAVE EAX_ENVIRONMENT_CAVE,0.5F,2.886F,1.304F ;Const EAX_PRESET_ARENA EAX_ENVIRONMENT_ARENA,0.361F,7.284F,0.332F ;Const EAX_PRESET_HANGAR EAX_ENVIRONMENT_HANGAR,0.5F,10.0F,0.3F ;Const EAX_PRESET_CARPETEDHALLWAY EAX_ENVIRONMENT_CARPETEDHALLWAY,0.153F,0.259F,2.0F ;Const EAX_PRESET_HALLWAY EAX_ENVIRONMENT_HALLWAY,0.361F,1.493F,0.0F ;Const EAX_PRESET_STONECORRIDOR EAX_ENVIRONMENT_STONECORRIDOR,0.444F,2.697F,0.638F ;Const EAX_PRESET_ALLEY EAX_ENVIRONMENT_ALLEY,0.25F,1.752F,0.776F ;Const EAX_PRESET_FOREST EAX_ENVIRONMENT_FOREST,0.111F,3.145F,0.472F ;Const EAX_PRESET_CITY EAX_ENVIRONMENT_CITY,0.111F,2.767F,0.224F ;Const EAX_PRESET_MOUNTAINS EAX_ENVIRONMENT_MOUNTAINS,0.194F,7.841F,0.472F ;Const EAX_PRESET_QUARRY EAX_ENVIRONMENT_QUARRY,1.0F,1.499F,0.5F ;Const EAX_PRESET_PLAIN EAX_ENVIRONMENT_PLAIN,0.097F,2.767F,0.224F ;Const EAX_PRESET_PARKINGLOT EAX_ENVIRONMENT_PARKINGLOT,0.208F,1.652F,1.5F ;Const EAX_PRESET_SEWERPIPE EAX_ENVIRONMENT_SEWERPIPE,0.652F,2.886F,0.25F ;Const EAX_PRESET_UNDERWATER EAX_ENVIRONMENT_UNDERWATER,1.0F,1.499F,0.0F ;Const EAX_PRESET_DRUGGED EAX_ENVIRONMENT_DRUGGED,0.875F,8.392F,1.388F ;Const EAX_PRESET_DIZZY EAX_ENVIRONMENT_DIZZY,0.139F,17.234F,0.666F ;Const EAX_PRESET_PSYCHOTIC EAX_ENVIRONMENT_PSYCHOTIC,0.486F,7.563F,0.806F ; Makes a long from 2 words. Usful for the version info and a few of the channel commands... ; See bass C++ examples. Print BASS_GetDeviceAvailable(1) WaitKey Function MAKELONG(word1,word2) Return (word2 Shl 16) Or (word1 And $0000FFFF) End Function ; Added wrapper... Gets whether or not a device is there (available).. Function BASS_GetDeviceAvailable(iCount) Local mBankIn,iResult mBankIn = CreateBank(4) PokeInt mBankIn,0,iCount iResult = BASS_GetDeviceDescription( mBankIn ) FreeBank mBankIn Return iResult End Function The full archive is here... http://www.nigelibrown.pwp.blueyonder.co.uk/blitz/userlibs/download/bass.zip |
| ||
Bass.bb isn't a sample, but an include file with a bunch of constants ... furthermore it seems the decls is uncompleted, since most functions don't have parameters. I can send you my experimental Bass21.decls |
| ||
LAB[au] great. If I could just get one function to work using the decls approach then I would be happy to work on all the other functions... |
| ||
*** SOLVED IT *** Can get at the sample data from ANY input (internet radio, audio in, mic etc etc). I am so happy! If you want something done, do it yourself :-) |
| ||
Boiled, since development seems to have stopped on bass, if you could take your work to the point where you can produce the definitive decls (and point at the version of Bass that it works with) and maybe a few examples for the Toolbox, then I for one would be very grateful. I'm still hoping to get back to this at some point in the future and produce a jaw-bone-movement function which reads a playing wav file in realtime and makes the character's mouth move as it speaks, all totally automatically. |
| ||
Hi, the last update was in May 2006 so I wouldn't say development has halted. I'm still 'playing' around it and will work on getting a complete decls working. Out of interest I also have the WinAmp Visualisation plugin library working too, can even get it to draw in the Blitz window but it's not 100% yet. I don't think that I'll really be persuing this plugin as I cannot then sell my app. |
| ||
Good you solved it, soory I had not more time to help you. |
| ||
Lab[au] soory I had not more time to help you Are you kidding? Your help was invaluable!!! I couldn't have done it without you! Anyhow I still have a niggling problem. It's to do with the FFT info. If the user has the volume down low then the FFT stuff is tiny and the bars drawn are tiny. If the volume is high then the bars are huge. I need a clever way of comparing the master volume to say the FFT info so that my 'meters' look correct. |
| ||
I suggest retrieving the master volume and use it as a multiplier for FFT values. Use BASS_GetGlobalVolumes or GetVolume. |
| ||
Hi any idea what the opposites of these are?Function LoWord(Value) Return (Value And $0000FFFF) End Function Function HiWord(Value) Return ((Value And $FFFF0000) Shr 16) End Function For example when setting the record volume I need to do... Adjusts the settings of a recording input source. BOOL BASS_RecordSetInput( int input, DWORD setting ); Parameters input The input to adjust the settings of... 0 = first, -1 = master. setting The new setting... a combination of these flags. BASS_INPUT_OFF Disable the input. This flag can't be used when the device supports only one input at a time. BASS_INPUT_ON Enable the input. If the device only allows one input at a time, then any previously enabled input will be disabled by this. BASS_INPUT_LEVEL Set the volume level of the input. The volume ranges 0 - 100 and is given in the LOWORD. |
| ||
Woah... this can add the words together... Function MAKELONG(word1,word2) Return (word2 Shl 16) Or (word1 And $0000FFFF) End Function ... but it needs Const BASS_INPUT_ON = $20000 Const BASS_INPUT_LEVEL = $40000 and this... 50 passed in. Any ideas? |
| ||
Lab[au], I suggest retrieving the master volume and use it as a multiplier for FFT values. Use BASS_GetGlobalVolumes or GetVolume. GetVolume returns -1 : error code 8! And there is no GetGlobalVolume in BASS 2.3! Hmm. This is proving to be tricky |