take initial stab at macsound interface
Use macOS AppKit framework routines for a first cut at a macsound soundlib interface. Requires WANT_MACSOUND=1 on build. Nothing has been done to move the stock sounds into the resources of a bundle, so after building, if you want to try the stock sounds out: cp sound/wav/*.wav ~/Library/Sounds Because the NSSound macOS routines always do the search, supposedly the following locations are searched in this order: 1. the application’s main bundle 2. ~/Library/Sounds 3. /Library/Sounds 4. /Network/Library/Sounds 5. /System/Library/Sounds Although not specifically implemented as of yet, it may be pretty close to being able to put soundeffects wav files (by se_ name) into ~/Library/Sounds working for the SND_SOUNDEFFECTS_AUTOMAP feature. Feedback is welcome. Contributions for improving it are even more welcome. The new soundlib supporting file is named sound/macsound/macsound.m since it's got objective C in it. Known bugs and glitches: The Hero_playnotes on a set of 5 notes goes too fast, so there needs to be a slight delay added between the note of a multi-note play.
This commit is contained in:
@@ -102,6 +102,18 @@ main(int argc, char *argv[])
|
||||
|
||||
choose_windows(DEFAULT_WINDOW_SYS);
|
||||
|
||||
#ifdef SND_LIB_INTEGRATED
|
||||
/* One of the soundlib interfaces was integrated on build.
|
||||
* We can leave a hint here for activate_chosen_soundlib later.
|
||||
* assign_soundlib() just sets an indicator, it doesn't initialize
|
||||
* any soundlib, and the indicator could be overturned before
|
||||
* activate_chosen_soundlib() gets called.
|
||||
*/
|
||||
#if defined(SND_LIB_MACSOUND) && !defined(SND_LIB_QTSOUND)
|
||||
assign_soundlib(soundlib_macsound);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef CHDIR /* otherwise no chdir() */
|
||||
/*
|
||||
* See if we must change directory to the playground.
|
||||
|
||||
Reference in New Issue
Block a user