Author Topic: BASS for Win64 (x64)  (Read 203110 times)

BORODA

  • Posts: 8
Re: BASS for Win64 (x64)
« Reply #125 on: 1 Aug '12 - 16:32 »
See first post - it is included in the main package.
Oops. I missed that. Thank you.  ;)

kode54

  • Posts: 100
Re: BASS for Win64 (x64)
« Reply #126 on: 13 Dec '12 - 02:46 »
Will the bass24-x64 package be updated to include the latest BASSMIDI, 2.4.7.10?

Ian @ un4seen

  • Administrator
  • Posts: 20400
Re: BASS for Win64 (x64)
« Reply #127 on: 13 Dec '12 - 15:39 »
Yep. The Win64 stuff tends to get updated in batches, and now is probably a good time for another batch, so... the BASS/BASSenc/BASSMIDI/BASSmix/BASSWV libraries (in the 1st post) have now been updated to the latest stuff.

Ian @ un4seen

  • Administrator
  • Posts: 20400
Re: BASS for Win64 (x64)
« Reply #128 on: 8 Jan '13 - 16:08 »
The Win64 versions of the BASSCD/BASSMIDI/BASS_SPX add-ons have been updated to the latest stuff (in the 1st post).

Ian @ un4seen

  • Administrator
  • Posts: 20400
Re: BASS for Win64 (x64)
« Reply #129 on: 31 Jan '13 - 17:19 »
The latest version (2.4.3) of the BASS_ALAC add-on is now up in the 1st post.

Ian @ un4seen

  • Administrator
  • Posts: 20400
Re: BASS for Win64 (x64)
« Reply #130 on: 19 Feb '13 - 17:50 »
The latest BASS version (2.4.10) is now up in the first post.

Ian @ un4seen

  • Administrator
  • Posts: 20400
Re: BASS for Win64 (x64)
« Reply #131 on: 3 May '13 - 17:20 »
The Win64 version of BASSMIDI 2.4.8 is now up in the 1st post.

DavidStang

  • Posts: 3
Bass for XE4
« Reply #132 on: 3 Jun '13 - 12:58 »
I can get Tags17 Delphi Project1 to compile with XE4, but when the application launches, I get the error "The application was unable to start correctly (0xc000007b)."  Any advice?  Will the sample projects work with XE4?

Ian @ un4seen

  • Administrator
  • Posts: 20400
Re: BASS for Win64 (x64)
« Reply #133 on: 3 Jun '13 - 16:41 »
That sounds like you may be mixing 32-bit and 64-bit EXE/DLLs. If your EXE is 64-bit, then all of the DLLs should be too. A 64-bit version of TAGS.DLL is available from the 1st post in this thread.

Ian @ un4seen

  • Administrator
  • Posts: 20400
Re: BASS for Win64 (x64)
« Reply #134 on: 28 Jun '13 - 16:37 »
An updated version of the BASSmix add-on is up in the 1st post, to fix a bug that would result in crashing when using splitter streams. The bug only applied to the Win64 version, so no need for an update on other platforms.

fwsGonzo

  • Posts: 1
Re: BASS for Win64 (x64)
« Reply #135 on: 30 Jun '13 - 16:55 »
I'm having the weirdest issue in my huge project, where any BASS_* function crashes.
I built a new program that consisted of 1 line only: BASS_init(-1, 44100, 0, 0, 0);, and it still crashes. Same with BASS_GetVersion()

I'm linking -lbass -lwinmm

It has worked flawlessly before with mingw32, im also using it right now with ubuntu/g++ 64bit:
ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=0xfdc96f8778dd19ec61695fa3a408949698bbc1c5, not stripped
But then again, on linux you have libbass.so

On mingw64 the program is linking just fine, it even starts, and runs through to completion as long as i don't use any, and i mean ANY, BASS_ functions
I tried to get version and bass error, which also crashed

Example:
Code: [Select]
int main(void)
{
logger << Log::INFO << BASS_GetVersion() << Log::ENDL;
return 0;
}

Yields:
Code: [Select]
Program received signal SIGSEGV, Segmentation fault.
0x0000000000000000 in ?? ()
(gdb) up
#1  0x000000000040d4fb in main () at source/main.cpp:32
32              logger << Log::INFO << BASS_GetVersion() << Log::ENDL;

What I've tried: (from bass24-x64.zip)
regular bass.dll + bass.lib + bass.h from 32-bit package
mp3free bass.dll + same as above

It works just fine without x64, but this is the age of 64-bit (I had 64bit computer in 2004), so I'm not going back :)

More tests:
Code: [Select]
BOOL  WINAPI (*BASS_Init)(int device, DWORD freq, DWORD flags, void *win, void *dsguid);
DWORD WINAPI (*BASS_GetVersion)();

int main(void)
{
HINSTANCE__* bassdll = LoadLibrary("bass.dll");
BASS_Init = (int(*)(int, DWORD, DWORD, void*, void*)) GetProcAddress(bassdll, "BASS_Init");
BASS_GetVersion = (DWORD(*)()) GetProcAddress(bassdll, "BASS_GetVersion");

logger << Log::INFO << "BASS_Init: " << (void*)BASS_Init << Log::ENDL;
intptr_t addr = BASS_GetVersion();
logger << Log::INFO << "Version:   " << (void*)addr << Log::ENDL;

BASS_Init (-1, 44100, 0, 0, nullptr);
return 0;
}

Works fine, and results in correct entry points, and version field:
Code: [Select]
[21:14:58] INFO: BASS_Init: 0x180026f08
[21:14:58] INFO: Version:   0x2040a00

mingw64:
GNU g++ (rev1, Built by MinGW-builds project) 4.8.1
GNU ld (GNU Binutils) 2.23.2

EDIT: After alot of testing, i just dlltool'ed my way to libbass.a, which then worked smoothly
Send back the dogs, and halt the alarms, for all is well :)

For those of you who has this problem do this:
Code: [Select]
gendef bass.dll
dlltool -l libbass.a -d bass.def
« Last Edit: 30 Jun '13 - 23:23 by fwsGonzo »

Ian @ un4seen

  • Administrator
  • Posts: 20400
Re: BASS for Win64 (x64)
« Reply #136 on: 1 Jul '13 - 16:53 »
Good to see you found a solution, and thanks for posting it :)

Ian @ un4seen

  • Administrator
  • Posts: 20400
Re: BASS for Win64 (x64)
« Reply #137 on: 5 Aug '13 - 17:38 »
The latest version (2.4.1.1) of the BASSOPUS add-on is now up in the first post.

GoodBoyAlex

  • Posts: 1
Re: BASS for Win64 (x64)
« Reply #138 on: 27 Aug '13 - 14:58 »
Hello! Sorry of my english... But i am trying to use tags.dll. The program generates an error about the absence of msvcp80.dll. And, if the 32-bit version this is easily solved, how to be a 64-bit?

Ian @ un4seen

  • Administrator
  • Posts: 20400
Re: BASS for Win64 (x64)
« Reply #139 on: 27 Aug '13 - 17:59 »
msvcp80.dll is required by the TAGS add-on because it uses the Standard C++ Library. An updated TAGS.DLL build is now up in the 1st post, which is statically linked with the runtime libraries to remove the DLL dependency, but that has inevitably increased the size of the TAGS.DLL.

Oryaaaaa

  • Posts: 40
Re: BASS for Win64 (x64)
« Reply #140 on: 14 Oct '13 - 10:36 »
Thank you, Ian.

Not works??? BASS_WASAPI_GetDeviceInfo
di\flags , always zero (64-bit)

32-bit is fine work.

My test binary 32/64 zip
http://oryaaaaa.world.coocan.jp/_userdata/bughead_emperor_beta.zip

Code: [Select]
  di.BASS_WASAPI_DEVICEINFO
  If BASS_WASAPI_GetDeviceInfo(loop, @di)
    While BASS_WASAPI_GetDeviceInfo(loop, @di)
      If di\flags = #BASS_DEVICE_ENABLED|#BASS_DEVICE_DEFAULT Or di\flags = #BASS_DEVICE_ENABLED
        If px>9
          dev_no=-3
        Else
          dev_no=px
        EndIf
       
        Debug PeekS(di\Name)
        Debug BASS_WASAPI_Checkformat(loop, 88200, 2, #BASS_WASAPI_EXCLUSIVE)
        TextGadget(200+px, 5, 35+ 20+40*px, 90, 25, "WASAPI-"+Chr(49+dev_no), #PB_Text_Center)
        ButtonGadget(300+px, 160,35+ 20+40*px, 530, 25, PeekS(di\Name))
        check_freq = 0 : wasapi_No + 1
        CreateImage(200+px, 53, 25)
        StartDrawing(ImageOutput(200+px))
          w_depth = BASS_WASAPI_Checkformat(loop, 44100, 2, #BASS_WASAPI_EXCLUSIVE)
          If w_depth=2
            Box(0, 0, 7, 10, $008000)
            Box(0, 10, 7, 20, $6A0000)
          ElseIf w_depth=0 Or w_depth=3 Or w_depth=4
            Box(0, 0, 7, 10, $404080)
            Box(0, 10, 7, 20, $6A0000) : check_freq + 1
          EndIf
          w_depth = BASS_WASAPI_Checkformat(loop, 48000, 2, #BASS_WASAPI_EXCLUSIVE)
          If w_depth=2
            Box(9, 0, 7, 10, $008000)
            Box(9, 10, 7, 20, $6A006A)
          ElseIf w_depth=0 Or w_depth=3 Or w_depth=4
            Box(9, 0, 7, 10, $404080)
            Box(9, 10, 7, 20, $6A006A) : check_freq + 1
          EndIf
          w_depth = BASS_WASAPI_Checkformat(loop, 88200, 2, #BASS_WASAPI_EXCLUSIVE)
          If w_depth=2
            Box(18, 0, 7, 10, $008000)
            Box(18, 10, 7, 20, $006A00)
          ElseIf w_depth=0 Or w_depth=3 Or w_depth=4
            Box(18, 0, 7, 10, $404080)
            Box(18, 10, 7, 20, $006A00) : check_freq + 1
          EndIf
          w_depth = BASS_WASAPI_Checkformat(loop, 96000, 2, #BASS_WASAPI_EXCLUSIVE)
          If w_depth=2
            Box(27, 0, 7, 10, $008000)
            Box(27, 10, 7, 20, $00006A)
          ElseIf w_depth=0 Or w_depth=3 Or w_depth=4
            Box(27, 0, 7, 10, $404080)
            Box(27, 10, 7, 20, $00006A) : check_freq + 1
          EndIf
          w_depth = BASS_WASAPI_Checkformat(loop, 176400, 2, #BASS_WASAPI_EXCLUSIVE)
          If w_depth=2
            Box(36, 0, 7, 10, $008000)
            Box(36, 10, 7, 20, $006A6A)
          ElseIf w_depth=0 Or w_depth=3 Or w_depth=4
            Box(36, 0, 7, 10, $404080)
            Box(36, 10, 7, 20, $006A6A) : check_freq + 1
          EndIf
          w_depth = BASS_WASAPI_Checkformat(loop, 192000, 2, #BASS_WASAPI_EXCLUSIVE)
          If w_depth=2
            Box(45, 0, 7, 10, $008000)
            Box(45, 10, 7, 20, $6A0035)
          ElseIf w_depth=0 Or w_depth=3 Or w_depth=4
            Box(45, 0, 7, 10, $404080)
            Box(45, 10, 7, 20, $6A0035) : check_freq + 1
          EndIf
        StopDrawing()
        ImageGadget(400+px, 100, 35+20+40*px, 53, 25, ImageID(200+px))
        SetGadgetColor(200+px, #PB_Gadget_FrontColor, $FFFFFF)
        If check_freq=6
          SetGadgetColor(200+px, #PB_Gadget_BackColor, $A00000)
        Else
          SetGadgetColor(200+px, #PB_Gadget_BackColor, $000080)
        EndIf
        px+1
      EndIf
      loop+1
    Wend
  EndIf

Ian @ un4seen

  • Administrator
  • Posts: 20400
Re: BASS for Win64 (x64)
« Reply #141 on: 14 Oct '13 - 15:48 »
It looks like you are using a programming language that isn't supported as standard by BASS/BASSWASAPI, so I guess you have created your own "header" for it? Please show how you have defined the BASS_WASAPI_DEVICEINFO structure, and if the programming language has something like a "sizeof" operator, confirm the size of the structure in a 64-bit build.

Oryaaaaa

  • Posts: 40
Re: BASS for Win64 (x64)
« Reply #142 on: 14 Oct '13 - 19:10 »
Thank you... solved.

PureBasic 5.20 LTS
Code: [Select]
Structure BASS_WASAPI_DEVICEINFO
  Name.l
  Id.l
  Type.l
  flags.l
  minperiod.f
  defperiod.f
  mixfreq.l
  mixchans.l
EndStructure

Debug SizeOf(BASS_WASAPI_DEVICEINFO) ; 32 byte

Structure BASS_WASAPI_DEVICEINFO
  *Name
  *Id
  Type.l
  flags.l
  minperiod.f
  defperiod.f
  mixfreq.l
  mixchans.l
EndStructure

Debug SizeOf(BASS_WASAPI_DEVICEINFO) ; 40 byte

.l long 4byte
.f float 4byte
.q quad 8byte = .i integer (64)
« Last Edit: 14 Oct '13 - 19:16 by Oryaaaaa »

Ian @ un4seen

  • Administrator
  • Posts: 20400
Re: BASS for Win64 (x64)
« Reply #143 on: 1 Nov '13 - 16:58 »
The latest BASSenc add-on version (2.4.11) is now up in the first post.

Ian @ un4seen

  • Administrator
  • Posts: 20400
Re: BASS for Win64 (x64)
« Reply #144 on: 13 Nov '13 - 15:05 »
The 64-bit Windows versions of BASS and the add-ons have now been united with the 32-bit versions in the Win32 packages on the BASS webpage.

grokoder

  • Posts: 29
Re: BASS for Win64 (x64)
« Reply #145 on: 9 Oct '15 - 16:01 »
Where can I get a x64 BASS DLL for Windows?

Ian @ un4seen

  • Administrator
  • Posts: 20400
Re: BASS for Win64 (x64)
« Reply #146 on: 9 Oct '15 - 16:46 »
It's included in the "x64" folder of the Win32 BASS package, which you can get from the top of the BASS webpage.

grokoder

  • Posts: 29
Re: BASS for Win64 (x64)
« Reply #147 on: 10 Oct '15 - 04:00 »
It's included in the "x64" folder of the Win32 BASS package, which you can get from the top of the BASS webpage.
I only see bass24.zip there, and I can't find any x64 folder inside it.

Ian @ un4seen

  • Administrator
  • Posts: 20400
Re: BASS for Win64 (x64)
« Reply #148 on: 12 Oct '15 - 12:53 »
That's the correct ZIP file, so it's strange that you don't see an "x64" folder in it. Perhaps you're receiving an old version from some cache? What is the date/version of the BASS.DLL file in it?

grokoder

  • Posts: 29
Re: BASS for Win64 (x64)
« Reply #149 on: 12 Oct '15 - 14:26 »
Indeed, it was an old ZIP file. I've re-downloaded it forcibly.