Re: [Factor-talk] interfacing to FMOD.DLL

2007-03-21 Thread Anton Rolls
Ah that makes sense. I guess I was a bit too keen. I should have just waited for the next stable release, but at least now I know how to compile Factor. So, in the meantime, to continue with my experiments I'll just keep using alien-invoke. Regards to all, Anton. > On 3/22/07, Anton Rolls <[EMA

Re: [Factor-talk] interfacing to FMOD.DLL

2007-03-21 Thread Chris Double
On 3/22/07, Anton Rolls <[EMAIL PROTECTED]> wrote: > Oh no..! more trouble. That's the joy of running of the darcs version. It's not always in a runnable state. You might like to try checking on irc occasionally before pulling darcs to see if it is stable. Chris. -- http://www.bluishcoder.co.nz

Re: [Factor-talk] interfacing to FMOD.DLL

2007-03-21 Thread Anton Rolls
Oh no..! more trouble. The Factor I've compiled, while it opens the Workspace ui, when I click anywhere in the ui, on any buttons, text-areas or scrollers, it pops a window saying "Error: the wait operation timed out. [Traceback][Help][Edit]" and if I click in that window it just pops another one

Re: [Factor-talk] interfacing to FMOD.DLL

2007-03-21 Thread Anton Rolls
Berlin, > It looks like you are trying to get the zlib and freetype dlls > that come with > mingw. I would get the ones of the factor site or doug's site. > Those worked > fine for the compile that I was doing. Also, all of doug's instructions > seemed to work. Actually, I just copied t

Re: [Factor-talk] interfacing to FMOD.DLL

2007-03-21 Thread Anton Rolls
I've just now pulled the latest changes from the repository, recompiled repos/Factor/, and attempted bootstrapping with f -i=factor.image where factor.image is copied from http://factorcode.org/images/latest/boot.image.x86 ... and... f -shell=tty compile save

Re: [Factor-talk] interfacing to FMOD.DLL

2007-03-21 Thread Doug Coleman
Can you confirm you bootstrapped again today? The errors in compile-all are not causing the problem. They are known errors. It looks like you should be able to save after the compile-all and run the ui since FT_Init_FreeType did not show up in the errors list. Problem solved? Doug On Mar

Re: [Factor-talk] interfacing to FMOD.DLL

2007-03-21 Thread Anton Rolls
Cool, this looks like the way forward. More info: f -shell=tty scratchpad> recompile Compiling 14 words... Compile finished. scratchpad> save scratchpad> bye f Words calling ``alien-invoke'' cannot run in the interpreter. Compile th

Re: [Factor-talk] interfacing to FMOD.DLL

2007-03-21 Thread Doug Coleman
Anton, Your previous message says you copied the files and recompiled only, with no mention of bootstrap. Every time I have had this problem a bootstrap has fixed it. What about doing f -shell=tty and trying 'recompile' or 'compile-all'? Then 'save' your image, of course. Also, try thi

Re: [Factor-talk] interfacing to FMOD.DLL

2007-03-21 Thread bbrown
On Thu, 22 Mar 2007 02:06:09 +1100, Anton Rolls wrote > Doug, > > No no! I still get the error, even after copying these DLLs. > (see my prior message.) > > Must sleep now, until tomorrow. > > Anton. > > > Anton, > > > > You recompiled, but you should have bootstrapped again since it's all >

Re: [Factor-talk] interfacing to FMOD.DLL

2007-03-21 Thread Anton Rolls
Doug, No no! I still get the error, even after copying these DLLs. (see my prior message.) Must sleep now, until tomorrow. Anton. > Anton, > > You recompiled, but you should have bootstrapped again since it's all > on the Factor side. Bootstrap again with the two dlls in the > * Addition

Re: [Factor-talk] interfacing to FMOD.DLL

2007-03-21 Thread Doug Coleman
Anton, You recompiled, but you should have bootstrapped again since it's all on the Factor side. Bootstrap again with the two dlls in the directory with your f.exe and it should work. From the blog, the step is listed in the "ingredients" section at the top and as a bullet: * Additionall

Re: [Factor-talk] interfacing to FMOD.DLL

2007-03-21 Thread bbrown
On Wed, 21 Mar 2007 18:39:29 +1100, Anton Rolls wrote > Here's a status update: > > Today, roughly following instructions from: > http://code-factor.blogspot.com/2006/11/compiling-factor-on-windows.html > > I have: > - installed MinGW and MSYS > - compiled Factor successfully > - started Factor w

Re: [Factor-talk] interfacing to FMOD.DLL

2007-03-21 Thread Anton Rolls
Hi Slava, A hexeditor view of freetype6.dll and zlib1.dll reveals that their symbols are plain - these particular libraries do not have mangled function names. Anton. - Take Surveys. Earn Cash. Influence the Future of IT

Re: [Factor-talk] interfacing to FMOD.DLL

2007-03-21 Thread Anton Rolls
Hi Slava, Well, actually I had immediately thought of that and copyied freetype6.dll and zlib1.dll to repos/Factor/ but it gives the same errors. I've even tried again make clean make windows to rebuild Factor. I'm afraid I've done something wrong somewhere. Any ideas ? I'm still

Re: [Factor-talk] interfacing to FMOD.DLL

2007-03-20 Thread Slava Pestov
On 21-Mar-07, at 3:39 AM, Anton Rolls wrote: > Here's a status update: > > Today, roughly following instructions from: > http://code-factor.blogspot.com/2006/11/compiling-factor-on- > windows.html > > I have: > - installed MinGW and MSYS > - compiled Factor successfully > - started Factor with h

Re: [Factor-talk] interfacing to FMOD.DLL

2007-03-20 Thread Anton Rolls
Here's a status update: Today, roughly following instructions from: http://code-factor.blogspot.com/2006/11/compiling-factor-on-windows.html I have: - installed MinGW and MSYS - compiled Factor successfully - started Factor with http://factorcode.org/images/latest/boot.image.x86 Factor booted u

Re: [Factor-talk] interfacing to FMOD.DLL

2007-03-20 Thread Anton Rolls
Well that was quick! I now have downloaded the latest darcs repository and I'll try recompiling Factor tomorrow. The library now looks like having a high chance of success :) Thanks for your help. Anton. > Hi Anton, > > I implemented automatic stdcall name mangling in the darcs > repository.

Re: [Factor-talk] interfacing to FMOD.DLL

2007-03-20 Thread Slava Pestov
Hi Anton, I implemented automatic stdcall name mangling in the darcs repository. You can remove the '@...' stuff from the symbol names, and use FUNCTION: again. Everything should just work. Unmangled stdcall DLLs will continue to work too. Good luck with your library. We can add it to the r

Re: [Factor-talk] interfacing to FMOD.DLL

2007-03-19 Thread Anton Rolls
The FMOD interface module is working, and I have placed it in libs/fmod, which looks to me like the right location for it. Thanks to you both it's coming along nicely. Anton. - Take Surveys. Earn Cash. Influence the Future

Re: [Factor-talk] interfacing to FMOD.DLL

2007-03-19 Thread Anton Rolls
Hi Slava, > > USE: compiler > > \ FSOUND_GetVersion compile > If you put this stuff in a source file, the words will be compiled > for you, you don't have to call 'compile' yourself. Yes, I noticed this behaviour. Thanks for verifying, I will try it. > > but when I move everything into a subd

Re: [Factor-talk] interfacing to FMOD.DLL

2007-03-19 Thread Slava Pestov
On 19-Mar-07, at 6:47 AM, Anton Rolls wrote: > USE: compiler > \ FSOUND_GetVersion compile > \ FSOUND_Init compile > \ FSOUND_Close compile > \ FSOUND_GetError compile > \ FMUSIC_LoadSong compile > \ FMUSIC_FreeSong compile > \ FMUSIC_PlaySong compile > \ FMUSIC_StopSong compile If you put this

Re: [Factor-talk] interfacing to FMOD.DLL

2007-03-19 Thread Anton Rolls
Here is a working demo, which plays a ScreamTracker3 module. Hooray ! ! Date: 19-Mar-2007 ! Author: "Anton Rolls" ! Status: "working" ! Purpose: "Play a song using the FMOD library." ! ToDo: ! - check return codes for errors and act accordingly ! Notes: { ! } USING: kernel alien prettyprint io n

Re: [Factor-talk] interfacing to FMOD.DLL

2007-03-19 Thread Anton Rolls
This indeed works! > FSOUND_Init should probably be: > > : FSOUND_Init "char" "fmod" "[EMAIL PROTECTED]" { "int" "int" "uint" } > alien-invoke ; > > Chris. Thankyou once again. Now to get it to do something... Regards, Anton.

Re: [Factor-talk] interfacing to FMOD.DLL

2007-03-19 Thread Anton Rolls
Whoops!! Let me try that... Anton. > On 3/19/07, Anton Rolls <[EMAIL PROTECTED]> wrote: > > : FSOUND_Init "char" "fmod" "[EMAIL PROTECTED]" { } alien-invoke ; > FSOUND_Init should probably be: > > : FSOUND_Init "char" "fmod" "[EMAIL PROTECTED]" { "int" "int" "uint" } > alien-invoke ; > > Chris

Re: [Factor-talk] interfacing to FMOD.DLL

2007-03-19 Thread Chris Double
On 3/19/07, Anton Rolls <[EMAIL PROTECTED]> wrote: > : FSOUND_Init "char" "fmod" "[EMAIL PROTECTED]" { } alien-invoke ; This says FSOUND_Init takes no arguments. But the following you pass it three: > 32000 64 0 FSOUND_Init . ! Problem here with "Operating system signal 11" FSOUND_Init should

Re: [Factor-talk] interfacing to FMOD.DLL

2007-03-18 Thread Anton Rolls
Ok, the latest attempt looks as below. All is ok until the second last line (call to FSOUND_Init). I'm wondering if the order I've put the arguments on the stack is wrong or if they need to be cast to int, int, uint or something like that. ! Date: 19-Mar-2007 ! Author: "Anton Rolls" ! Status: "no

Re: [Factor-talk] interfacing to FMOD.DLL

2007-03-18 Thread Anton Rolls
OMG! That's it! It's always so simple, isn't it ? That works for me. Thanks a lot ! Anton. > On 3/19/07, Anton Rolls <[EMAIL PROTECTED]> wrote: > > "Anton/fmod-version.factor" run-file > > Error > > Assertion failed > > assert-got3 > > assert-expect 2 > > This error means the code in the

Re: [Factor-talk] interfacing to FMOD.DLL

2007-03-18 Thread Chris Double
On 3/19/07, Anton Rolls <[EMAIL PROTECTED]> wrote: > "Anton/fmod-version.factor" run-file > Error > Assertion failed > assert-got3 > assert-expect 2 This error means the code in the file left a value on the stack. Code inside something that is run-filed should have an overall stack effect

Re: [Factor-talk] interfacing to FMOD.DLL

2007-03-18 Thread Anton Rolls
Aha! I should have known - I wrote an external library interface creator for the Rebol language and I extracted mangled function names from the DLL there. I am just using a hex editor to examine the end of the DLL file manually. I found that this works when I type it in the listener: USING: kern

Re: [Factor-talk] interfacing to FMOD.DLL

2007-03-18 Thread Slava Pestov
Hi, I only recently discovered that on Windows, some stdcall libraries do funny name mangling; symbols are not named as one would expect. So a function 'Foo' is actually '[EMAIL PROTECTED]' in the DLL, where x is the amount of stack space, in bytes, its parameters take up. For Factor 0.89,

[Factor-talk] interfacing to FMOD.DLL

2007-03-18 Thread Anton Rolls
Hi, I'm new to Factor and I'm trying to interface to FMOD.DLL. Here is what I have so far, in a file named: Anton/test-fmod.factor -- USING: kernel alien ; IN: fmod "fmod" "Anton/fmod.dll" "stdcall" add-library ! "stdcall" or "cdecl" LIBRARY: fmod ! DLL_API float F_API F