[Scummvm-cvs-logs] scummvm master -> 31252e10950ee5ab6f2f812ddc64c9c59697be75
clone2727
clone2727 at gmail.com
Fri Feb 1 22:53:26 CET 2013
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
31252e1095 MACOSX: Fix compilation with the 10.2.8 SDK
Commit: 31252e10950ee5ab6f2f812ddc64c9c59697be75
https://github.com/scummvm/scummvm/commit/31252e10950ee5ab6f2f812ddc64c9c59697be75
Author: Matthew Hoops (clone2727 at gmail.com)
Date: 2013-02-01T13:48:38-08:00
Commit Message:
MACOSX: Fix compilation with the 10.2.8 SDK
This is a pretty bad hack of not using the kMusicDeviceProperty_SoundBankFSRef symbol and using its value instead. It felt wrong breaking 10.2.8 support just because of Soundfonts.
Changed paths:
backends/midi/coreaudio.cpp
diff --git a/backends/midi/coreaudio.cpp b/backends/midi/coreaudio.cpp
index 317268a..e42b8ca 100644
--- a/backends/midi/coreaudio.cpp
+++ b/backends/midi/coreaudio.cpp
@@ -209,35 +209,41 @@ void MidiDriver_CORE::loadSoundFont(const char *soundfont) {
FSRef fsref;
err = FSPathMakeRef((const byte *)soundfont, &fsref, NULL);
-#ifdef MAC_OS_X_VERSION_10_5
- // Use kMusicDeviceProperty_SoundBankFSRef if we know it's available
- // (This became available in 10.3, but the 10.2 SDK has 10.3/10.4 defines)
+ SInt32 version;
+ err = Gestalt(gestaltSystemVersion, &version);
if (err == noErr) {
- err = AudioUnitSetProperty(
- _synth,
- kMusicDeviceProperty_SoundBankFSRef, kAudioUnitScope_Global,
- 0,
- &fsref, sizeof(fsref)
- );
- }
-#else
- // Otherwise, we know kMusicDeviceProperty_SoundBankFSSpec is available
- FSSpec fsSpec;
-
- if (err == noErr)
- err = FSGetCatalogInfo(&fsref, kFSCatInfoNone, NULL, NULL, &fsSpec, NULL);
-
- if (err == noErr) {
- err = AudioUnitSetProperty(
- _synth,
- kMusicDeviceProperty_SoundBankFSSpec, kAudioUnitScope_Global,
- 0,
- &fsSpec, sizeof(fsSpec)
- );
+ if (version >= 0x1030) {
+ // Use kMusicDeviceProperty_SoundBankFSRef in >= 10.3
+
+ // HACK HACK HACK HACK SUPER HACK: Using the value of 1012 instead of
+ // kMusicDeviceProperty_SoundBankFSRef so this compiles with the 10.2
+ // SDK (which does not have that symbol).
+ if (err == noErr) {
+ err = AudioUnitSetProperty(
+ _synth,
+ /*kMusicDeviceProperty_SoundBankFSRef*/ 1012, kAudioUnitScope_Global,
+ 0,
+ &fsref, sizeof(fsref)
+ );
+ }
+ } else {
+ // In 10.2, only kMusicDeviceProperty_SoundBankFSSpec is available
+ FSSpec fsSpec;
+
+ if (err == noErr)
+ err = FSGetCatalogInfo(&fsref, kFSCatInfoNone, NULL, NULL, &fsSpec, NULL);
+
+ if (err == noErr) {
+ err = AudioUnitSetProperty(
+ _synth,
+ kMusicDeviceProperty_SoundBankFSSpec, kAudioUnitScope_Global,
+ 0,
+ &fsSpec, sizeof(fsSpec)
+ );
+ }
+ }
}
-#endif // MAC_OS_X_VERSION_10_5
-
#else
// kMusicDeviceProperty_SoundBankURL was added in 10.5 as a replacement
// In addition, the File Manager API became deprecated starting in 10.8
More information about the Scummvm-git-logs
mailing list