milkytracker / MilkyTracker

An FT2 compatible music tracker
http://milkytracker.github.io/
Other
1.7k stars 162 forks source link

ASIO audio not working in released build (Windows 8 64-bit) #4

Closed aardvarkk closed 9 years ago

aardvarkk commented 10 years ago

If I try to set up ASIO output in the current release (v0.90.86), I can't get it to work. I get the error message:

"Sound driver initialization failed. Try different settings or driver."

However, if I build the latest code myself in Visual Studio, I don't have the same problem. I haven't changed anything in the code... so I have no idea what could be wrong in the released version downloadable on the website?

For now, I will continue to use the version I build myself.

Deltafire commented 10 years ago

The Windows build was compiled using GCC, not Visual Studio. I don't know why this should affect ASIO output though, perhaps I was missing some development libraries?

aardvarkk commented 10 years ago

Yeah, I've got no idea on that one... Unfortunately I don't know of a way of debugging it, because it works fine when I run the build myself in Visual Studio and there's no real error log/output other than the message that pops up (that I know of). I'm happy because it's working for me now that I'm building it, but I wasn't able to get ASIO working out of the box.

Deltafire commented 10 years ago

I wonder if it's because the release build is 32-bit, and presumably you've built a 64-bit executable?

aardvarkk commented 10 years ago

Hmm, that's an interesting though. Could be it? Would it be possible to make a 64-bit build available and I could try that one?

On Wed, Mar 19, 2014 at 7:10 PM, Deltafire notifications@github.com wrote:

I wonder if it's because the release build is 32-bit, and presumably you've built a 64-bit executable?

Reply to this email directly or view it on GitHubhttps://github.com/Deltafire/MilkyTracker/issues/4#issuecomment-38118846 .

Deltafire commented 10 years ago

I don't have the facility to build a 64-bit version; perhaps you could try building a 32-bit version from Visual Studio and see if that works?

Would you mind uploading/sending me a copy of your 64-bit build so I can add it to the website download section?

sagamusix commented 10 years ago

It is very likely that this is due to GCC being used for compiling MilkyTracker. The ASIO SDK uses the "thiscall" calling convention, which is not standardized and differs between MSVC and GCC. To make ASIO work on non-MSVC compilers, you will have to use the IASIOThiscallResolver wrapper: http://www.rossbencina.com/code/iasio-thiscall-resolver (I was able to use ASIO with my own MSVC build but not with Deltafire's official GCC build)

Deltafire commented 9 years ago

IASIOThiscallResolver is already included in MilkyTracker as part of the rtaudio4 library.

I no longer have a Windows environment to debug this.

Deltafire commented 9 years ago

Closing this since it's most likely won't affect the next release.