• Welcome to Jose's Read Only Forum 2023.
 

Bass 2.4.1 Headers

Started by José Roca, July 03, 2008, 05:27:29 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

José Roca

 
BASS is an audio library for use in Windows and Mac OSX software. Its purpose is to provide developers with powerful and efficient sample, stream (MP3, MP2, MP1, OGG, WAV, AIFF, custom generated, and more via add-ons), MOD music (XM, IT, S3M, MOD, MTM, UMX), MO3 music (MP3/OGG compressed MODs), and recording functions. All in a tiny DLL, under 100KB* in size.

On Windows, BASS requires DirectX 3 or above for output, and takes advantage of DirectSound and DirectSound3D hardware accelerated drivers, when available. On OSX, BASS uses CoreAudio for output, and OSX 10.3 or above is recommended. Both PowerPC and Intel Macs are supported.

Web Site: http://www.un4seen.com/

BassVis 2.4.0.4

An extension allowing the use of Sonique, Winamp, and Windows Media Player visual plugins with BASS.

BassWma 2.4

An extension enabling the playback of WMA files and streams, and also WMA encoding and broadcasting. Requires the Windows Media Format modules, which come installed with Windows Media Player or can be installed separately (wmfdist.exe).

BassCD 2.4

An extension enabling digital streaming and ripping of audio CDs. Also includes analog playback support.

Bass FX 2.4

An extension providing several effects, including tempo & pitch control.

The attached file contains the translation of the C headers of all the above libraries to PowerBASIC.

Patrice Terrier

QuoteAs BassVis seems to be alive one day and gone the next I decided to create a new opensource add-on to replace it. I chose to go opensource so that developers can learn and/or contribute to project to make it better (which has worked out great so far!). The source code also gives you insurance that you can use BASS_SFX in your project without having to worry about whether or not it will be supported in the future.
-- Greg Ellis

http://www.un4seen.com/forum/?topic=9488.msg66121#msg66121



' BassSFX 2.4.1.3
' An extension allowing the use of Sonique, Winamp, Windows Media Player and BassBox visual plugins with BASS.
' Copyright © 2009 Cube Software Solutions Inc. Greg Ellis, All Rights Reserved

#IF NOT %DEF(%BASS_SFX_INC)
    %BASS_SFX_INC = 1

%BASS_SFX_SONIQUE = 0
%BASS_SFX_WINAMP  = 1
%BASS_SFX_WMP     = 2
%BASS_SFX_BBP     = 3

DECLARE FUNCTION BASS_SFX_GetVersion LIB "bass_sfx.dll" ALIAS "BASS_SFX_GetVersion" () AS LONG
DECLARE FUNCTION BASS_SFX_Init LIB "bass_sfx.dll" ALIAS "BASS_SFX_Init" (BYVAL hInstance AS DWORD, BYVAL hWnd AS DWORD) AS LONG
DECLARE FUNCTION BASS_SFX_PluginCreate LIB "bass_sfx.dll" ALIAS "BASS_SFX_PluginCreate" (BYREF ASCIIZ, BYVAL DWORD, BYVAL LONG, BYVAL LONG) AS DWORD
DECLARE FUNCTION BASS_SFX_PluginCreateW LIB "bass_sfx.dll" ALIAS "BASS_SFX_PluginCreateW" (BYVAL ASCIIZ PTR, BYVAL LONG, BYVAL LONG, BYVAL LONG) AS DWORD
DECLARE FUNCTION BASS_SFX_PluginGetType LIB "bass_sfx.dll" ALIAS "BASS_SFX_PluginGetType" (BYVAL DWORD) AS LONG
DECLARE FUNCTION BASS_SFX_PluginSetStream LIB "bass_sfx.dll" ALIAS "BASS_SFX_PluginSetStream" (BYVAL DWORD, BYVAL DWORD) AS LONG
DECLARE FUNCTION BASS_SFX_PluginStart LIB "bass_sfx.dll" ALIAS "BASS_SFX_PluginStart" (BYVAL DWORD) AS LONG
DECLARE FUNCTION BASS_SFX_PluginStop LIB "bass_sfx.dll" ALIAS "BASS_SFX_PluginStop" (BYVAL DWORD) AS LONG
DECLARE FUNCTION BASS_SFX_PluginGetName LIB "bass_sfx.dll" ALIAS "BASS_SFX_PluginGetName" (BYVAL DWORD) AS STRING
DECLARE FUNCTION BASS_SFX_PluginConfig LIB "bass_sfx.dll" ALIAS "BASS_SFX_PluginConfig" (BYVAL DWORD) AS LONG
DECLARE FUNCTION BASS_SFX_PluginModuleGetCount LIB "bass_sfx.dll" ALIAS "BASS_SFX_PluginModuleGetCount" (BYVAL DWORD) AS LONG
DECLARE FUNCTION BASS_SFX_PluginModuleGetName LIB "bass_sfx.dll" ALIAS "BASS_SFX_PluginModuleGetName" (BYVAL DWORD, BYVAL LONG) AS STRING
DECLARE FUNCTION BASS_SFX_PluginModuleSetActive LIB "bass_sfx.dll" ALIAS "BASS_SFX_PluginModuleSetActive" (BYVAL DWORD, BYVAL LONG) AS LONG
DECLARE FUNCTION BASS_SFX_PluginModuleGetActive LIB "bass_sfx.dll" ALIAS "BASS_SFX_PluginModuleGetActive" (BYVAL DWORD) AS LONG
DECLARE FUNCTION BASS_SFX_PluginRender LIB "bass_sfx.dll" ALIAS "BASS_SFX_PluginRender" (BYVAL DWORD, BYVAL DWORD, BYVAL DWORD) AS LONG
DECLARE FUNCTION BASS_SFX_PluginClicked LIB "bass_sfx.dll" ALIAS "BASS_SFX_PluginClicked" (BYVAL DWORD, BYVAL LONG, BYVAL LONG) AS LONG
DECLARE FUNCTION BASS_SFX_PluginResize LIB "bass_sfx.dll" ALIAS "BASS_SFX_PluginResize" (BYVAL DWORD, BYVAL LONG, BYVAL LONG) AS LONG
DECLARE FUNCTION BASS_SFX_PluginFree LIB "bass_sfx.dll" ALIAS "BASS_SFX_PluginFree" (BYVAL DWORD) AS LONG
DECLARE FUNCTION BASS_SFX_Free LIB "bass_sfx.dll" ALIAS "BASS_SFX_Free" () AS LONG

#ENDIF   ' %BASS_SFX_INC


Note: BASS_SFX is compatible with the BassBox plugins.

...
Patrice Terrier
GDImage (advanced graphic addon)
http://www.zapsolution.com

José Roca

 
Note: Although the latest version of BASS is 2.4.3.1, the headers haven't changed. Therefore, the PB headers posted in this thread can be used with it.

José Roca

 
New version uploaded. The function BASS_ChannelGetLength had one parameter missing. Thanks to Barry Erick for reporting it.

Patrice Terrier


'/////////////////////////////////////////////////////////////////////////////////////////
'// AAC support
' Additional BASS_SetConfig options
%BASS_CONFIG_MP4_VIDEO = &H10700  ' play the audio from MP4 videos
' Additional tags available from BASS_StreamGetTags
%BASS_TAG_MP4          = 7        ' MP4/iTunes metadata
%BASS_AAC_DOWNMATRIX   = &H400000 ' downmatrix to stereo
' BASS_CHANNELINFO type
%BASS_CTYPE_STREAM_AAC = &H10B00
%BASS_CTYPE_STREAM_MP4 = &H10B01

DECLARE FUNCTION BASS_AAC_StreamCreateFile LIB "Bass_AAC.dll" ALIAS "BASS_AAC_StreamCreateFile" ( _
   BYVAL LONG _                               ' BOOL mem
, BYREF ANY _                                ' const void *file
, BYVAL QUAD _                               ' QWORD offset
, BYVAL QUAD _                               ' QWORD length
, BYVAL DWORD _                              ' DWORD flags
) AS DWORD                                   ' HSTREAM

DECLARE FUNCTION BASS_AAC_StreamCreateURL LIB "Bass_AAC.dll" ALIAS "BASS_AAC_StreamCreateURL" ( _
   BYREF ASCIIZ _                             ' const char *url
, BYVAL DWORD _                              ' DWORD offset
, BYVAL DWORD _                              ' DWORD flags
, BYVAL DWORD _                              ' DOWNLOADPROC *proc
, BYREF ANY _                                ' void *user
) AS DWORD                                   ' HSTREAM

DECLARE FUNCTION BASS_AAC_StreamCreateFileUser LIB "Bass_AAC.dll" ALIAS "BASS_AAC_StreamCreateFileUser" ( _
   BYVAL DWORD _                              ' DWORD system
, BYVAL DWORD _                              ' DWORD flags
, BYVAL DWORD _                              ' const BASS_FILEPROCS *proc
, BYREF ANY _                                ' void *user
) AS DWORD                                   ' HSTREAM

DECLARE FUNCTION BASS_MP4_StreamCreateFile LIB "Bass_AAC.dll" ALIAS "BASS_MP4_StreamCreateFile" ( _
   BYVAL LONG _                               ' BOOL mem
, BYREF ANY _                                ' const void *file
, BYVAL QUAD _                               ' QWORD offset
, BYVAL QUAD _                               ' QWORD length
, BYVAL DWORD _                              ' DWORD flags
) AS DWORD                                   ' HSTREAM

DECLARE FUNCTION BASS_MP4_StreamCreateFileUser LIB "Bass_AAC.dll" ALIAS "BASS_MP4_StreamCreateFileUser" ( _
   BYVAL DWORD _                              ' DWORD system
, BYVAL DWORD _                              ' DWORD flags
, BYVAL DWORD _                              ' const BASS_FILEPROCS *proc
, BYREF ANY _                                ' void *user
) AS DWORD                                   ' HSTREAM
Patrice Terrier
GDImage (advanced graphic addon)
http://www.zapsolution.com