Jump to content

BASS Function Library (Sound and Music Functions)


BrettF
 Share

Recommended Posts

You can set one or more Filters on a playing stream

#AutoIt3Wrapper_UseX64=n
#include "Bass.au3"
#include "BassFX.au3"

$sFile = FileOpenDialog("Open...", "..\audiofiles", "playable formats (*.MP3;*.MP2;*.MP1;*.OGG;*.WAV;*.AIFF;*.AIF)")
If @error Or Not FileExists($sFile) Then Exit

_BASS_STARTUP()
_BASS_FX_Startup()

_BASS_Init(0, -1, 44100, 0, "")
$hStream = _BASS_StreamCreateFile(False, $sFile, 0, 0, 0)
_BASS_ChannelPlay($hStream, 1)

Sleep(2000)

$hFX_HiPass = _BASS_ChannelSetFX($hStream, $BASS_FX_BFX_BQF, 1)
_BASS_FXSetParameters($hFX_HiPass, $BASS_BFX_BQF_HIGHPASS & "|" & 1000 & "|0|1|0|0|" & $BASS_BFX_CHANALL)

Sleep(2000)

$hFX_LoPass = _BASS_ChannelSetFX($hStream, $BASS_FX_BFX_BQF, 1)
_BASS_FXSetParameters($hFX_LoPass, $BASS_BFX_BQF_LOWPASS & "|" & 5000 & "|0|1|0|0|" & $BASS_BFX_CHANALL)

Sleep(5000)

_BASS_ChannelRemoveFX($hStream, $hFX_HiPass)
_BASS_ChannelRemoveFX($hStream, $hFX_LoPass)
_BASS_StreamFree($hStream)
_BASS_Free()

you only have to use the right combination of different filters :)

E

Link to comment
Share on other sites

Yeah, that's a nice method, I like it. Now I just need to understand the parameters. I will play a little with different combinations to see what I get. Thanks again. :)

Edited by Andreik

When the words fail... music speaks.

Link to comment
Share on other sites

  • 2 weeks later...

example to get C2 errors while ripping to wav (or mp3/ogg...):

#AutoIt3Wrapper_UseX64=n
#include "BASSCD.au3"
#include "BassEnc.au3"

HotKeySet("{ESC}", "_Exit")

Global $sC2_Error = ""

Global $tBuffer = DllStructCreate("byte[235200]")
Global $pBuffer = DllStructGetPtr($tBuffer)
Global $iBuffer = DllStructGetSize($tBuffer)

_BASS_Startup()
_BASS_CD_Startup()
_BASS_Encode_Startup()

_BASS_Init(0, 0, 44100)

Global $hProc = DllCallbackRegister("_Callback", "none", "dword;int;dword;ptr;dword;ptr")

Global $hStream = _BASS_CD_StreamCreateEx(0, 0, BitOR($BASS_STREAM_DECODE, $BASS_CD_C2ERRORS), DllCallbackGetPtr($hProc))
Global $hEncoder = _BASS_Encode_Start($hStream, "Test3.wav", $BASS_ENCODE_PCM)

Global $iLength = _BASS_ChannelGetLength($hStream, $BASS_POS_BYTE)
Global $iRead = 0

While _BASS_ChannelIsActive($hStream)
    $iRead += _BASS_ChannelGetData($hStream, $pBuffer, $iBuffer)
    If @error Then ExitLoop
    ConsoleWrite("> " & Floor($iRead * 100 / $iLength) & "% done" & @CRLF)
WEnd

_Exit()

Func _Callback($hHandle, $iPos, $iType, $pBuffer, $iLength, $pUser)
    If $iType <> $BASS_CD_DATA_C2 Then Return
    Local $iC2_Count = $iLength / 296 ; <- a C2-error block is 296 bytes long (2352 bytes audiodata / 8 bit)
    ;ConsoleWrite($iC2_Count & " C2_error_infos in buffer" & @CRLF)
    Local $tC2, $iOR_Byte, $iPos_Bytes
    For $i = 0 To $iC2_Count - 1
        $tC2 = DllStructCreate("byte[296];", $pBuffer + $i * 296) ; <- create struct to read from the buffer
        $iOR_Byte = DllStructGetData($tC2, 1, 295) ; <- if OR-Byte is set then there was an error in the last 2352 bytes of audiodata
        If $iOR_Byte Then
            For $j = 1 To 294 ; <- check every byte
                $iByte = DllStructGetData($tC2, 1, $j)
                If $iByte Then
                    For $k = 0 To 7 ; <- check every bit in the byte
                        If BitAND($iByte, 2^$k) Then
                            $iPos_Bytes = $iPos + $i * 2352 + ($j - 1) * 8 + $k ; <- calc position of error
                            $sC2_Error &= "C2 error at byte: " & $iPos_Bytes & " / " & _Sec2Time(_BASS_ChannelBytes2Seconds($hHandle, $iPos_Bytes)) & @CRLF
                        EndIf
                    Next
                EndIf
            Next
        EndIf
    Next
EndFunc   ;==>_Callback


Func _Sec2Time($fSec)
    Local $iSec, $iH, $iM, $iS, $iC
    $iSec = Floor($fSec)
    $iC = Floor(($fSec * 100) - ($iSec * 100))
    $iH = Int($iSec / 3600)
    $iSec = Mod($iSec, 3600)
    $iM = Int($iSec / 60)
    $iS = Mod($iSec, 60)
    Return StringFormat("%02s:%02s:%02s,%02s", $iH, $iM, $iS, $iC)
EndFunc   ;==>_Sec2Time


Func _Exit()
    _BASS_Encode_Stop($hEncoder)
    _BASS_StreamFree($hStream)
    DllCallbackFree($hProc)
    _BASS_Free()

    Local $hFile = FileOpen(@ScriptDir & "\C2_Error.txt", 2)
    FileWrite($hFile, $sC2_Error)
    FileClose($hFile)
    ShellExecute(@ScriptDir & "\C2_Error.txt")

    Exit
EndFunc   ;==>_Exit

E

Eukalyptus, I have ran through this example with various test cds now, here are the results:

Finding a good test cd was not simple.

I had to find a CD, that is slightly scratched, but can be read correctly, every single time, with ripping programs that take the C2 error info into account.

After I did find such a CD, I tested your function:

(The ripping programs did manage to get the same Wav File every time.)

-The C2 errors are being reported, this works great.

-If the Drive managed to read the Track, with no errors, The resulting Wav File is OK.

-However, if there were any C2 errors, they will be present in the resulting file.

-even when configuring $BASS_CONFIG_CD_RETRY to a higher value like 100, the result is the same, (!?)

-The help file says something about being able to use _BASS_ChannelSetSync, but I cannot figure out how that works.

which leads me to ask the following:

-Is there a way to force a reread on the error position, until it does not error ?

Edited by Zip
Link to comment
Share on other sites

@Zip: you should post your question here: http://www.un4seen.com/

and thx for your message - I will update soon :mellow:

@monoscout999: run this script (same folder as bass.au3/dll)

#include "Bass.au3"

_BASS_STARTUP()

_ListDevices()
_ListRecDevices()

Func _ListDevices()
    Local $aInfo
    For $i = 0 To 5
        $aInfo = _BASS_GetDeviceInfo($i)
        If @error Then ExitLoop
        If IsArray($aInfo) Then
            If BitAND($aInfo[2], $BASS_DEVICE_INIT) Then
                ConsoleWrite("+Output " & $i & ": <" & $aInfo[0] & "> <" & $aInfo[1] & "> <" & $aInfo[2] & ">" & @LF)
            Else
                ConsoleWrite("-Output " & $i & ": <" & $aInfo[0] & "> <" & $aInfo[1] & "> <" & $aInfo[2] & ">" & @LF)
            EndIf
        EndIf
    Next
    ConsoleWrite(@LF)
EndFunc   ;==>_ListDevices

Func _ListRecDevices()
    Local $aInfo, $aInfo2
    For $i = 0 To 5
        $aInfo = _BASS_RecordGetDeviceInfo($i)
        If @error Then ExitLoop
        If IsArray($aInfo) Then
            If BitAND($aInfo[2], $BASS_DEVICE_INIT) Then
                ConsoleWrite("+Input " & $i & ": <" & $aInfo[0] & "> <" & $aInfo[1] & "> <" & $aInfo[2] & ">" & @LF)
                $aInfo = _BASS_RecordGetInfo()
                For $j = 0 To $aInfo[2]
                    $sName = _BASS_RecordGetInputName($j)
                    If @error Then ExitLoop
                    $aInfo2 = _BASS_RecordGetInput($j)
                    If BitAND($aInfo2[0], $BASS_INPUT_OFF) Then
                        ConsoleWrite("!" & @TAB & $sName & @LF)
                    Else
                        ConsoleWrite("+" & @TAB & $sName & @LF)
                    EndIf
                Next
            Else
                ConsoleWrite("-Input " & $i & ": <" & $aInfo[0] & "> <" & $aInfo[1] & "> <" & $aInfo[2] & ">" & @LF)
            EndIf
        EndIf
    Next
    ConsoleWrite(@LF)
EndFunc   ;==>_ListRecDevices

writes a list of all available audiodevices to the console

the second param of _BASS_Init is the number of the device to use

(-1 initializes the default windows audiodevice)

Link to comment
Share on other sites

@eukalyptus i get this output. i also have to add this directive on the top of the script to make it work.

#AutoIt3Wrapper_UseX64 = no

anyway the others examples still dont work.

>"C:\Program Files (x86)\AutoIt3\SciTE\AutoIt3Wrapper\AutoIt3Wrapper.exe" /run /prod /ErrorStdOut /in "G:\Agustin\autoit\BASS.au3\BASS\Prueba1.au3" /autoit3dir "C:\Program Files (x86)\AutoIt3" /UserParams    
+>15:36:28 Starting AutoIt3Wrapper v.2.0.3.0    Environment(Language:0C0A  Keyboard:0000040A  OS:WIN_7/  CPU:X64 OS:X64)
>Running AU3Check (1.54.19.0)  from:C:\Program Files (x86)\AutoIt3
+>15:36:28 AU3Check ended.rc:0
>Running:(3.3.6.1):C:\Program Files (x86)\AutoIt3\autoit3.exe "G:\Agustin\autoit\BASS.au3\BASS\Prueba1.au3"    
-Output 0: <No sound> <> <1>
-Output 1: <Altavoces (Realtek High Definition Audio)> <{0.0.0.00000000}.{37b74382-da58-45f3-a4ef-9a9166d867b9}> <3>
-Output 2: <Realtek Digital Output (Realtek High Definition Audio)> <{0.0.0.00000000}.{a38b509c-e734-4111-a669-93de1ed896e3}> <1>


+>15:36:28 AutoIT3.exe ended.rc:0
>Exit code: 0    Time: 2.063
Link to comment
Share on other sites

please test this script:

#include "Bass.au3"

$sFile = FileOpenDialog("Open...", "", "playable formats (*.MP3;*.MP2;*.MP1;*.OGG;*.WAV;*.AIFF;*.AIF)")
If @error Or Not FileExists($sFile) Then Exit

_BASS_STARTUP()
$iDevice = -1
While 1
    ConsoleWrite(@CRLF & @CRLF)
    $iDevice += 1
    $aInfo = _BASS_GetDeviceInfo($iDevice)
    If @error Or Not IsArray($aInfo) Then ExitLoop
    ConsoleWrite(">Output " & $iDevice & ": " & $aInfo[0] & @CRLF)
    _BASS_Init(0, $iDevice)
    If @error Then
        ConsoleWrite("!" & @TAB & "error init output device " & $iDevice & @CRLF)
        ContinueLoop
    Else
        ConsoleWrite("+" & @TAB & "init output device " & $iDevice & " OK" & @CRLF)
    EndIf
    $hStream = _BASS_StreamCreateFile(False, $sFile, 0, 0, 0)
    If @error Then
        ConsoleWrite("!" & @TAB & @TAB & "error creating stream " & @CRLF)
        ContinueLoop
    Else
        ConsoleWrite("+" & @TAB & @TAB & "stream OK - playing for 5 sec..." & @CRLF)
    EndIf
    _BASS_ChannelPlay($hStream, True)
    Sleep(5000)
    _BASS_ChannelStop($hStream)
    _BASS_StreamFree($hStream)
    _BASS_Free()
WEnd
ConsoleWrite(@CRLF & @CRLF)
Link to comment
Share on other sites

please test this script:

#include "Bass.au3"

$sFile = FileOpenDialog("Open...", "", "playable formats (*.MP3;*.MP2;*.MP1;*.OGG;*.WAV;*.AIFF;*.AIF)")
If @error Or Not FileExists($sFile) Then Exit

_BASS_STARTUP()
$iDevice = -1
While 1
    ConsoleWrite(@CRLF & @CRLF)
    $iDevice += 1
    $aInfo = _BASS_GetDeviceInfo($iDevice)
    If @error Or Not IsArray($aInfo) Then ExitLoop
    ConsoleWrite(">Output " & $iDevice & ": " & $aInfo[0] & @CRLF)
    _BASS_Init(0, $iDevice)
    If @error Then
        ConsoleWrite("!" & @TAB & "error init output device " & $iDevice & @CRLF)
        ContinueLoop
    Else
        ConsoleWrite("+" & @TAB & "init output device " & $iDevice & " OK" & @CRLF)
    EndIf
    $hStream = _BASS_StreamCreateFile(False, $sFile, 0, 0, 0)
    If @error Then
        ConsoleWrite("!" & @TAB & @TAB & "error creating stream " & @CRLF)
        ContinueLoop
    Else
        ConsoleWrite("+" & @TAB & @TAB & "stream OK - playing for 5 sec..." & @CRLF)
    EndIf
    _BASS_ChannelPlay($hStream, True)
    Sleep(5000)
    _BASS_ChannelStop($hStream)
    _BASS_StreamFree($hStream)
    _BASS_Free()
WEnd
ConsoleWrite(@CRLF & @CRLF)

:mellow: I still i dont have any idea why this. let me explain

I run This edited test from the one you give me.

#AutoIt3Wrapper_UseX64 = no
#include "Bass.au3"

$sFile = FileOpenDialog("Open...", "", "playable formats (*.MP3;*.MP2;*.MP1;*.OGG;*.WAV;*.AIFF;*.AIF)")
If @error Or Not FileExists($sFile) Then Exit

_BASS_STARTUP()
ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : _BASS_STARTUP() = ' & _BASS_STARTUP() & @crlf & '>Error code: ' & @error & @crlf) ;### Debug Console
$iDevice = -1
While 1
    ConsoleWrite(@CRLF & @CRLF)
    $iDevice += 1
    $aInfo = _BASS_GetDeviceInfo($iDevice)
    If @error Or Not IsArray($aInfo) Then ExitLoop
    ConsoleWrite(">Output " & $iDevice & ": " & $aInfo[0] & @CRLF)
    _BASS_Init(0, $iDevice)
    If @error Then
        ConsoleWrite("!" & @TAB & "error init output device " & $iDevice & @CRLF)
        ContinueLoop
    Else
        ConsoleWrite("+" & @TAB & "init output device " & $iDevice & " OK" & @CRLF)
    EndIf
    $hStream = _BASS_StreamCreateFile(False, $sFile, 0, 0, 0)
    If @error Then
        ConsoleWrite("!" & @TAB & @TAB & "error creating stream " & @CRLF)
        ContinueLoop
    Else
        ConsoleWrite("+" & @TAB & @TAB & "stream OK - playing for 5 sec..." & @CRLF)
    EndIf
    _BASS_ChannelPlay($hStream, True)
    Sleep(5000)
    _BASS_ChannelStop($hStream)
    _BASS_StreamFree($hStream)
    _BASS_Free()
WEnd
ConsoleWrite(@CRLF & @CRLF)

Without the first line the Bass.dll didn`t work at all.

Well after i run it i get the error from the _BASS_STARTUP() funtion. so i checked in the UDF and i noticed that the line 126...

Global $_ghBassDll = -1

so i change it to.

Global $_ghBassDll = dllopen("bass.dll")

And now it is working. :) i still don`t get why this happend to me.

Another thing to ask. Can i use this library to play many audio files simultaneously?

EDITED: I guess that all the errors become from the working script where the UDF is, because i have to edit all the examples and copy to the UDF and DLL folder. How can i solve this definitely?

And a suggestion fix all the paths issues and add this line #AutoIt3Wrapper_UseX64 = no to all the examples to avoid this kind of errors.

Thanks eukalyptus

Edited by monoscout999
Link to comment
Share on other sites

And a suggestion fix all the paths issues and add this line #AutoIt3Wrapper_UseX64 = no to all the examples to avoid this kind of errors.

An alternative is to include the x64-dlls, too and switch according to @AutoItX64

http://www.un4seen.com/forum/?topic=9038

*GERMAN* [note: you are not allowed to remove author / modified info from my UDFs]My UDFs:[_SetImageBinaryToCtrl] [_TaskDialog] [AutoItObject] [Animated GIF (GDI+)] [ClipPut for Image] [FreeImage] [GDI32 UDFs] [GDIPlus Progressbar] [Hotkey-Selector] [Multiline Inputbox] [MySQL without ODBC] [RichEdit UDFs] [SpeechAPI Example] [WinHTTP]UDFs included in AutoIt: FTP_Ex (as FTPEx), _WinAPI_SetLayeredWindowAttributes

Link to comment
Share on other sites

...so i checked in the UDF and i noticed that the line 126...

Global $_ghBassDll = -1

so i change it to.

Global $_ghBassDll = dllopen("bass.dll")

And now it is working. :mellow: i still don`t get why this happend to me.

seems you aren´t using the latest version, because "Global $_ghBassDll = -1" is in line 132

please download from the link in my signature and try again

E

Link to comment
Share on other sites

seems you aren´t using the latest version, because "Global $_ghBassDll = -1" is in line 132

please download from the link in my signature and try again

E

Mi error: I downloaded the bass UDF from the first post.

I solve it downloading from the @eukalyptus link. Now is working. Thanks.

Edited by monoscout999
Link to comment
Share on other sites

Hi i have a problem when i try to open 4 audio file, 3 are allowed but the forth gives me an error.

Also i will apreciate if you correct me the way that i am using the library.

And also i want to thank you for share this, i`m playing a lot with this :mellow:

See the attachements if you want the audio files that i am using, these are from http://www.freesound.org and i don`t read it all about but they have a CreativeCommos licence. I don`t know much what it really means, i think that i can use it while i keep the credits for the author.

My code is this:

#AutoIt3Wrapper_UseX64 = n
#include "bass.au3"
Global $file1 = @ScriptDir & "\426__TicTacShutUp__prac_hat.wav"
Global $file2 = @ScriptDir & "\808__bdu__KickAC.aif"
Global $file3 = @ScriptDir & "\43377__freakrush__snare1.wav"
Global $file4 = @ScriptDir & "\16790__Tristan__SD2.wav"
_BASS_Startup()
_BASS_Init(0, -1, 44100, 0, "")
$h1 = _BASS_StreamCreateFile(False, $file1, 0, 0, $BASS_SAMPLE_MONO)
_BASS_ChannelPlay($h1, 1)
sleep(500)
$h2 = _BASS_StreamCreateFile(False, $file2, 0, 0, $BASS_SAMPLE_MONO)
_BASS_ChannelPlay($h2, 1)
sleep(500)
$h3 = _BASS_StreamCreateFile(False, $file3, 0, 0, $BASS_SAMPLE_MONO)
_BASS_ChannelPlay($h3, 1)
sleep(500)
$h4 = _BASS_StreamCreateFile(False, $file4, 0, 0, $BASS_SAMPLE_MONO)
_BASS_ChannelPlay($h4, 1)
_BASS_Free()

If you run this, the forth sound will not reproduce.. the problem is not the audio file, because if a change the order of the files it works, but always the forth will not be reproduced.

#AutoIt3Wrapper_UseX64 = n
#include "bass.au3"
Global $file1 = @ScriptDir & "\426__TicTacShutUp__prac_hat.wav"
Global $file2 = @ScriptDir & "\808__bdu__KickAC.aif"
Global $file3 = @ScriptDir & "\43377__freakrush__snare1.wav"
Global $file4 = @ScriptDir & "\16790__Tristan__SD2.wav"
_BASS_Startup()
_BASS_Init(0, -1, 44100, 0, "")
$h1 = _BASS_StreamCreateFile(False, $file1, 0, 0, $BASS_SAMPLE_MONO)
_BASS_ChannelPlay($h1, 1)
sleep(500)
$h2 = _BASS_StreamCreateFile(False, $file4, 0, 0, $BASS_SAMPLE_MONO)
_BASS_ChannelPlay($h2, 1)
sleep(500)
$h3 = _BASS_StreamCreateFile(False, $file3, 0, 0, $BASS_SAMPLE_MONO)
_BASS_ChannelPlay($h3, 1)
sleep(500)
$h4 = _BASS_StreamCreateFile(False, $file2, 0, 0, $BASS_SAMPLE_MONO)
_BASS_ChannelPlay($h4, 1)
_BASS_Free()

EDITED Some misspelled

RitmhLoop.rar

Edited by monoscout999
Link to comment
Share on other sites

  • 2 weeks later...
  • 4 weeks later...

Small bug/issue with this set of UDFs, the BassFXConstants.au3 file doesn't have an #include-once directive in it. Which can cause issues if multiple includes call it.

If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

Link to comment
Share on other sites

What's different in your version of this from the one in the first post? Do you have a list of changes/bug fixes/deletions?

Has BrettF stopped supporting the BASS UDF?

If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

Link to comment
Share on other sites

What's different in your version of this from the one in the first post? Do you have a list of changes/bug fixes/deletions?

these are the changes done so far:

; =======================================================================================================
; 10 July 2011
; -------------------------------------------------------------------------------------------------------
; Bass.au3: add functions:
;                 _BASS_Hi4Bits
;                 _BASS_Lo4Bits
;
; BassCD.au3: add functions & examples:
;                 _BASS_CD_GetTOC
;                 _BASS_CD_SetOffset
;                 _BASS_CD_StreamCreateEx
;                 _BASS_CD_StreamCreateFileEx
;
; BassCDConstants.au3: add: CD_TOC structures & constants
;
; =======================================================================================================

; =======================================================================================================
; 03 July 2011
; -------------------------------------------------------------------------------------------------------
; Bass.au3: new function: _BASS_SampleGetChannels
;          bugfix in _BASS_SampleGetInfo
;
; example update: _BASS_SampleGetInfo.au3
;                _BASS_SampleFree.au3
;                _BASS_SampleSetInfo.au3
;                _BASS_SampleGetChannel.au3
;                _BASS_SampleLoad.au3
;
; BassExt.au3: changed: _BASS_EXT_Note2Freq
;             new:   _BASS_EXT_Freq2Note
;                      _BASS_EXT_Note2Name
;                      _BASS_EXT_Name2Note
;                      (updated examples)
;
; Dll update: BassCD.dll
;            BassMidi.dll
;            Bass_FX.dll
;
; =======================================================================================================

; =======================================================================================================
; 16 April 2011
; -------------------------------------------------------------------------------------------------------
; Bass.au3: new functions:
;                  _BASS_ChannelSetSync
;                  _BASS_ChannelRemoveSync
;                  _BASS_LoByte
;                  _BASS_HiByte
;                  _BASS_MakeWord
;
; =======================================================================================================

; =======================================================================================================
; 15 April 2011
; -------------------------------------------------------------------------------------------------------
; changed directory structure
;
; BassFX: update to new dll version
;
; BassMidi: update to new dll version
;          add new functions & examples:
;                  _BASS_MIDI_InFree
;                  _BASS_MIDI_InGetDeviceInfo
;                  _BASS_MIDI_InInit
;                  _BASS_MIDI_InStart
;                  _BASS_MIDI_InStop
;                  _BASS_MIDI_StreamEvents
;          add $returntype parameter to _BASS_MIDI_StreamGetEvents
;          update BassMidiConstants.au3
;
; BassExt: new callback functions:
;                $BASS_EXT_MidiInProc
;
; BassInc: update to new dll versions
;
; =======================================================================================================

; =======================================================================================================
; 9 April 2011
; -------------------------------------------------------------------------------------------------------
; BassAsio: _BASS_ASIO_PtrStringRead removed and now uses _BASS_PtrStringRead from Bass.au3
;
; BassExt: new functions:
;                _BASS_EXT_MakeWave
;                _BASS_EXT_LoadWave
;                _BASS_EXT_SaveWave
;                _BASS_EXT_Generator
;                _BASS_EXT_Note2Freq
;
; BassInc: update to new BassExt.dll
;
; =======================================================================================================

; #######################################################################################################
; changelog since Bass UDF version 9 patch 2
; #######################################################################################################
;
; NEW UDFs:
;            BassEXT.au3
;            BassINC.au3
;            BassMIDI.au3
;            BassMIX.au3
;
; Bass.au3:
;            Update dll v2.4.5.0 => v2.4.7.1
;            Tidy source code
;            add 64bitCheck
;            add UDF/DLL VersionCheck
;            add _BASS_StreamCreateFileUser
;            add _BASS_ChannelSetDSP()
;            add _BASS_ChannelRemoveDSP()
;            fix $BASS_DWORD_ERR
;            fix _BASS_StreamCreate
;            fix _BASS_GetDevice
;            fix _BASS_RecordGetDevice
;            fix _BASS_RecordGetInputName
;            fix _BASS_RecordStart
;            fix _BASS_ChannelGetInfo
;            workaround for X64 _BASS_ChannelSeconds2Bytes
;            Renamed _LoWord => _BASS_LoWord
;            Renamed _HiWord => _BASS_HiWord
;            add _BASS_MakeLong (removed _MakeLong from BassEnc.au3)
;
; BassASIO.au3:
;            Removed asiocb.dll => BassEXT
;            Removed _BASS_ASIO_CB_ChannelGetLevel
;            Removed _BASS_ASIO_CB_ChannelEnable
;            Removed _BASS_ASIO_CB_LinkInOut
;            Tidy source code
;            add 64bitCheck
;            add UDF/DLL VersionCheck
;            add Functionheaders
;            add _BASS_ASIO_ChannelEnable
;
; BassCD.au3:
;            Update dll v2.4.3.0 => v2.4.4.0
;            Tidy source code
;            add 64bitCheck
;            add UDF/DLL VersionCheck
;
; BassEnc.au3:
;            Update dll v2.4.6.0 => v2.4.8.1
;            Removed BassCD.dll => BassEXT
;            Moved Function _Makelong => Bass.au3 & renamed to _BASS_MakeLong
;            Tidy source code
;            add 64bitCheck
;            add UDF/DLL VersionCheck
;            Fix _BASS_Encode_Start
;            Fix Errorhandling
;            Fix _BASS_Encode_Write
;            Fix _BASS_Encode_SetNotify
;
; BassFX.au3:
;            Update dll v2.4.5.0 => v2.4.7.0
;            Tidy source code
;            add 64bitCheck
;            add UDF/DLL VersionCheck
;            Fix _BASS_FX_BPM_DecodeGet
;            Fix _BASS_FX_BPM_CallbackSet
;            Fix _BASS_FX_BPM_Free
;            Fix _BASS_FX_BPM_BeatCallbackSet
;            Fix _BASS_FX_BPM_BeatDecodeGet
;
; BassFXConstants.au3:
;            Add BiQuad filters
;            Tidy source code
;
; BassSFX.au3:
;            Tidy source code
;            add 64bitCheck
;            add UDF/DLL VersionCheck
;            changed functionheaders to work with helpgenerator
;
; BassTAGS.au3:
;            Tidy source code
;            add 64bitCheck
;            add UDF/DLL VersionCheck
;
; BassVST.au3:
;            Tidy source code
;            add 64bitCheck
;            add UDF/DLL VersionCheck
;
; #######################################################################################################

Has BrettF stopped supporting the BASS UDF?

He has currently no time for nothing, so it´s up to me to continue the work.

And I hope he will update the first post, some day :graduated:

But here you will always find the lates version: http://www.autoit.de/index.php?page=Thread&amp;postID=215291#post215291

Edited by eukalyptus
Link to comment
Share on other sites

Link is broken :graduated: Try this instead: http://www.autoit.de/index.php?page=Thread&threadID=26550

Br,

UEZ

Please don't send me any personal message and ask for support! I will not reply!

Selection of finest graphical examples at Codepen.io

The own fart smells best!
Her 'sikim hıyar' diyene bir avuç tuz alıp koşma!
¯\_(ツ)_/¯  ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...