Updates to the platforms code and VMMaker are needed to make SoundPlugin work on 64-bit platforms. This is a coordinated change affecting all platforms.
I'm not sure of folks' schedules right now, so Ian, John, Andreas - are you available to do the updates over say the next two weeks or so?
The following steps are required:
Dave: - Update SoundPlugin in VMMaker with patches from Mantis 7103.
Ian: - Update platforms/Cross and platforms/unix. The diffs on Mantis 7103 are slightly out of date, so I am attaching a fresh copy of the affected files (M7103-platforms.tgz). These are: platforms/Cross/plugins/SoundPlugin/SoundPlugin.h platforms/unix/plugins/SoundPlugin/sqUnixSound.c platforms/unix/vm/SqSound.h platforms/unix/vm-sound-ALSA/sqUnixSoundALSA.c platforms/unix/vm-sound-NAS/sqUnixSoundNAS.c platforms/unix/vm-sound-Sun/sqUnixSoundSun.c platforms/unix/vm-sound-MacOSX/sqUnixSoundMacOSX.c platforms/unix/vm-sound-null/sqUnixSoundNull.c platforms/unix/vm-sound-OSS/sqUnixSoundOSS.c
Andreas: - Update platforms/win32/plugins/SoundPlugin/sqWin32Sound.c to match the new declarations in SoundPlugin.h. I believe this will involve only changing various int declarations to the appropriate sqInt or (void *) declarations, then testing to make sure sound still works. However, I have not tried a windows build to verify this.
John: - Update the files in platforms/Mac OS/plugins/SoundPlugin/ with declarations to match SoundPlugin.h in Cross. I'm not sure what needs to be done here, although I think that current OS X support is based on the unix SoundPlugin, so you may be able to use the update in platforms/unix. - I'm not sure of the implications (if any) for your new VM work or for iPhone.
Dave
--- background ---
For reference this was the suggested "to-do" list that I posted a while back. These updates will complete step #2 on the list. Note, with John's recent 64-bit work and new VM development, we will no doubt have a few new items to add to the list :)
1) Closure support (COMPLETE) - Priority: High, should be done as soon as possible - All major VM distributions should support images with closure bytecodes.
2) Changes to support Etoys and teaching for kids. - Priority: High, supports large educational programs. - Mantis 7266: SerialPlugin doesn't handle arbitrary nodes names (COMPLETE) - Mantis 7103: Playing sounds in linux 64 bits causes a vm segmentation fault (subject of this note - NEXT UP on the list)
3) Some simple updates for 23/64 bit platforms. - Priority: Low - Mantis 7236: Make AsynchFilePlugin work on 32/64 bit images and 32/64 bit unix VMs - Mantis 6828: make FileCopyPlugin work on 32/64 bit images and 32/64 bit unix VMs - Current status: These are minor updates, low priority but easy to do. Patches are available but must be coordinated for all platforms.
4) 64-bit FFI (Interpreter updates as well as FFI) - Priority: Medium - Mantis 7237: Make FFI work on 64 bit platforms - Current status: Patches are available, but additional work and testing may be required on some platforms. I consider this update important because it effects the interpreter as well as FFI itself, e.g. these changes are a prerequisite to closing out the issues in Mantis 6987: "signed32BitValueOf:, signed64BitValueOf: etc. broken".