21 May '13 - 14:58 *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
 
   Home   Help Search Login Register  
Pages: 1 ... 3 4 [5] 6 7
  Reply  |  Print  
Author Topic: BASS for Win64 (x64)  (Read 110538 times)
berthold
Posts: 2


« Reply #80 on: 7 Jun '10 - 20:45 »
Reply with quoteQuote

Hi,

I'm new to BASS and BASSASIO and just trying to do a small app which gets me information about my ASIO gear. I have a MOTU 828mk2 which is running with a Windows 7 x64 Pro. Normally the MOTU driver shows a warning message if the MOTU is not physically connected. When I try to initialize the MOTU driver (without connected hardware (hw)). The problem is that my code runs until the

BassAsio.BASS_ASIO_Init(deviceNumber);  //see code snippet below

statement and then it get stuck. I guess the MOTU driver is trying to show its usual message ("No MOTU device connected") but it can't get it through or something like that. I tried it as well with a Cakewalk UA-25ex ASIO driver which worked fine, but it shows no message if the hw is missing anyway...

Has anybody faced a similar problem or any guesses? Thanks a lot for your help!
berthold

// Code snippet
private void RefreshAsioDeviceData(int deviceNumber)
{
            // Initialize BASS ASIO device for retrieving additional data
            BassAsio.BASS_ASIO_Init(deviceNumber);
}
Logged
Ian @ un4seen
Administrator
Posts: 15253


« Reply #81 on: 8 Jun '10 - 17:33 »
Reply with quoteQuote

Just to confirm, is it getting stuck in the BASS_ASIO_Init call, ie. never returning? If so, I think I will have to send you a debug version to find out why that is happening.
Logged
berthold
Posts: 2


« Reply #82 on: 10 Jun '10 - 20:24 »
Reply with quoteQuote

Yes that's it. It never returns from the BASS_ASIO_Init call and I'm not able to dig any deeper. A debug version might help. Thank you!
Logged
Romd
Posts: 12


« Reply #83 on: 9 Feb '11 - 03:53 »
Reply with quoteQuote

Is there going to be a 64 bit version of Bass Vst?
Logged
Igor
Posts: 12


« Reply #84 on: 12 May '11 - 22:37 »
Reply with quoteQuote

Could you please provide RSS feed for 64bit BASS updates?
Logged
Ian @ un4seen
Administrator
Posts: 15253


« Reply #85 on: 13 May '11 - 14:20 »
Reply with quoteQuote

What I'll start to do is add a post to the thread to announce an update (not only update the 1st post), so that people can subscribe to the thread to receive notification of updates.

On that note, the latest BASSCD and BASSMIDI versions are up (in the 1st post) now.
Logged
Ian @ un4seen
Administrator
Posts: 15253


« Reply #86 on: 25 May '11 - 16:38 »
Reply with quoteQuote

A Win64 version of the TAGS add-on has been added (see the 1st post). The latest BASSenc (Shoutcast v2 support) and BASSMIDI (BASS_MIDI_InGetDeviceInfo fix), as well as BASS_AAC/BASS_ALAC/BASS_SPX updates are also up.
Logged
Ian @ un4seen
Administrator
Posts: 15253


« Reply #87 on: 3 Aug '11 - 17:59 »
Reply with quoteQuote

The BASS_APE add-on has been updated (see the 1st post) to the latest version (2.4.1), which uses the latest Monkey's Audio library.
Logged
nadia
Posts: 272


« Reply #88 on: 19 Sep '11 - 14:30 »
Reply with quoteQuote

Hello Ian,  Grin

it seems that the 64 bits version of Bass is still not aligned to the latest version 2.4.8

Kind Regards  Grin

Nadia
Logged
Ian @ un4seen
Administrator
Posts: 15253


« Reply #89 on: 19 Sep '11 - 16:45 »
Reply with quoteQuote

A BASSmix update was due shortly after the BASS 2.4.8 release, so I was planning to put updated Win64 builds of both up at the same time, but that was delayed a little. I will put it up tomorrow Smiley
Logged
Ian @ un4seen
Administrator
Posts: 15253


« Reply #90 on: 20 Sep '11 - 16:38 »
Reply with quoteQuote

The BASS 2.4.8 update is up now (in the 1st post).
Logged
3delite
Posts: 623


« Reply #91 on: 6 Oct '11 - 07:20 »
Reply with quoteQuote

A quick test here shows that the x64 BASS.dll version works fine with Delphi XE2 and the default header unit built in x64 mode.

Are there any differences (any 64bit data types) in the function parameters for BASS x64 (HSTREAM, HCHANNEL, etc values)?
Logged
Ian @ un4seen
Administrator
Posts: 15253


« Reply #92 on: 6 Oct '11 - 14:35 »
Reply with quoteQuote

The only parameter (and structure) differences between the 32-bit and 64-bit BASS versions are the size of the pointers, eg. things like the "user" parameters. The HSTREAM/etc handles are defined as DWORDs, which are 32-bit in both cases. I think the Delphi unit (BASS.PAS) is using pointers where needed, so it should indeed be fine for both 32-bit and 64-bit use.
Logged
3delite
Posts: 623


« Reply #93 on: 11 Oct '11 - 15:59 »
Reply with quoteQuote

Ok, thanx!

I try to make my BASS components x64 compatible in a couple of days, I report the progress.
It's interesting that channel handles are not 64bit values. I normally use pointers to classes as handles in my programs, so it's quite efficient to look up object with these handles. May I ask how BASS handles channel handles internally?
Logged
Ian @ un4seen
Administrator
Posts: 15253


« Reply #94 on: 11 Oct '11 - 18:35 »
Reply with quoteQuote

BASS uses sequentially numbered handles, which are stored in the associated internal stream/dsp/etc structures and then looked-up in the function calls.
Logged
3delite
Posts: 623


« Reply #95 on: 15 Oct '11 - 14:01 »
Reply with quoteQuote

Ok! Thanx for the info!

I attached a Delphi BASS unit that supports all new Delphi XE2 target platforms (x86, x64, OSX), a slightly modified version from Iván Juárez (Cross Platform Libraries with Firemonkey), which works with all the 3 platforms.

Please test it, and it would be cool to have this unit in the official BASS package and make modifications to this one, so not to have the need to update it on every new BASS update. Theoretically it works instantly with all the existing Delphi example apps too (though this is not tested).

There is a BASSMix Delphi unit in the .zip also.

If it is needed I can make these modifications to all the BASS Delphi units (BASSCD, BASSEnc, etc.).

* BASS Delphi XE2 units.zip (14.74 KB - downloaded 8 times.)
Logged
Ian @ un4seen
Administrator
Posts: 15253


« Reply #96 on: 17 Oct '11 - 17:20 »
Reply with quoteQuote

That appears to be based on the "dynamic" Delphi API. Do you happen to have a non-dynamic version too? Smiley

It looks like the required changes are to the "uses" section, the "bassdll" constant, and the calling-convention?
Logged
3delite
Posts: 623


« Reply #97 on: 19 Oct '11 - 19:35 »
Reply with quoteQuote

Smiley I prefer dynamic loading.
The app. can still remain at least functional, if some functions will not work but some may still. I mean the app. can at least start.
Also if you want, you can show a nice message that a particular .dll could not be loaded, with installation, download instructions, etc.
And I personally many times need to support using a .dll but not require it, and every time I then need to make a custom (BASS) unit for it.
For the developer who needs a non-dynamic Delphi unit, I think it really doesn't matter if the Delphi unit is in fact loading the .dll dynamically, becouse there's no difference to him.

And the units, that I posted, automatically load the .dlls on program start so there's no need to modify anything in the existing demo apps.!

Anyway... I see if I can make a non-dynamic version too. I am still experimenting with Delphi XE2 on OSX.

Till then here's an attached updated dynamic version that will work on Delphi 7 too (the previous was only working with at least Delphi 2009).

It looks like the required changes are to the "uses" section, the "bassdll" constant, and the calling-convention?

Yes, that's right!

* BASS Dynamic units.zip (14.8 KB - downloaded 10 times.)
« Last Edit: 19 Oct '11 - 21:28 by 3delite » Logged
ykot
Posts: 3


« Reply #98 on: 17 Nov '11 - 21:00 »
Reply with quoteQuote

Did anyone manage to use BASS in Delphi XE 2 on x64 platform? When using 3delite's headers I'm always getting zero value from BASS_SampleLoad and BASS_ErrorGetCode returns -1 (BASS_ERROR_UNKNOWN):
Result:= BASS_SampleLoad(True, Stream.Memory, 0, Stream.Size, 1, BASS_SAMPLE_SOFTWARE or 
BASS_SAMPLE_OVER_VOL);
// In the code above, Stream.Memory is a valid pointer to sample data, Stream.Size = 3192.

The same code above works fine on x86 platform.

On x64 the initialization succeeds using this code:
Result:= BASS_Init(-1, 44100, 0, Application.MainFormHandle, nil);
Logged
ykot
Posts: 3


« Reply #99 on: 18 Nov '11 - 15:26 »
Reply with quoteQuote

Has BASS been tested on x64 platform for loading samples in memory?

Because the issue I'm having does not seem to be related to header translation since I've tested Delphi headers from BASS package porting them myself to x64 and still am getting the same zero result and -1 from BASS_ErrorGetCode. This is really a show stopper for me as I can't load any samples. The same code works perfectly with 32-bit DLL on x86.
Logged
Pages: 1 ... 3 4 [5] 6 7
  Reply  |  Print  
 
Jump to:  

Powered by SMF 1.1.18 | SMF © 2013, Simple Machines