64 Commits

Author SHA1 Message Date
Donovan Watteau
4578c4a6fc MACOSX: Simplify detection conditions for the older CoreAudio API
The current code checked for the CPU type to determine if we were
building for the older macOS releases requiring this older API, but
we can just check MAC_OS_X_VERSION_MAX_ALLOWED which is clearer and
more accurate.

Apart from simplification, this also lets one build ScummVM for x86
again on Tiger. I haven't checked this case, though :)

Note that the ComponentDescription -> AudioComponentDescription change
was done in macOS 10.6 and not macOS 10.5, so this also fixes this
case.

Tested on macOS 10.4, 10.5, 10.5 with the 10.4 SDK, and on 12.6.
2022-11-09 12:27:51 +01:00
Donovan Watteau
0f5dd7cd99 MACOS: Drop macOS 10.2-10.3 CoreAudio support
There's still code for macOS 10.4 in the codebase, but everything before
that has probably been KO for years.  And no C++11 toolchain exists for
macOS < 10.4 either.
2022-06-02 19:17:19 +01:00
Thunderforge
fd129ebc0c JANITORIAL: "Mac OS X" and "OS X" to "macOS" in comments
Apple's desktop operating system was formerly called "Mac OS X" and "OS X", but since 2016 it has been called "macOS" (starting with version 10.12).

Changing across all comments and documentation to use this current terminology, except in cases where the historical versions are explicitly referenced. No code changes are made; we should consider changing those in future PRs.
2022-01-29 14:15:05 +01:00
Eugene Sandulenko
abea37c9bb
ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Thierry Crozat
f3cfe11ee6 I18N: Consistency fix for SoundFont in messages 2020-08-31 16:35:56 +01:00
Eugene Sandulenko
4da444f238 AUDIO: Added override keywords 2020-03-09 16:08:19 +01:00
Zvika Haramaty
3b4810aab4 AUDIO: Added dump-midi mechanism
This mechanism is enabled by '--dump-midi' command line parameter.
The midi events are printed to screen, and dumped to 'dump.mid' file.
2020-02-28 08:27:12 +02:00
Thierry Crozat
6f8f27ecb2 MACOSX: Change name for CoreAudio MIDI device
Also remove a couple of TODOs. I think we can limit the CoreAudio
plugin to the Apple DLS softsynth since with have the CoreMidi
plugin to access other MIDI devices.
2017-10-06 00:03:37 +01:00
Johannes Schickel
121687d2ed BACKENDS: Make GPL headers consistent in themselves. 2014-02-18 02:39:32 +01:00
Matthew Hoops
31252e1095 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.
2013-02-01 16:48:38 -05:00
Matthew Hoops
412ac740aa MACOSX: Load soundfonts using FSRef instead of FSSpec on 10.5
Fixes bug #3602452
2013-02-01 14:15:10 -05:00
Matthew Hoops
065b996d15 MACOSX: Make failing to load a soundfont in CoreAudio fatal
If we don't bail out, CoreAudio will explode.
2012-09-17 20:38:33 -04:00
Matthew Hoops
486f04b761 MACOSX: Fix soundfont loading with CoreAudio on newer versions of Mac OS X 2012-09-14 09:50:45 -04:00
Oystein Eftevaag
78baa27e0e MACOSX: Moved an include a bit to make sure that some defines are there before they are actually used. 2012-01-17 15:19:54 -05:00
Oystein Eftevaag
ba1396954d MACOSX: Changed CoreAudio deprecation check slightly to allow building with older SDKs 2012-01-14 12:12:10 -05:00
Max Horn
ad1c2a45f1 MACOSX: Default to new CoreAudio API on x86, and to old on PowerPC
The new API has been present since Mac OS X 10.5 (released four years ago,
in October 2007), and also since iOS 2.0 (thus, the iOS port may be able to
use it, too). Moreover, 10.5 was the last system to support PowerPC.
2012-01-14 19:36:24 +01:00
Max Horn
9095de4674 MACOSX: Optionally allow building against "new" (10.5+) CoreAudio API
This silences a bunch of deprecation warnings when compiling on any current
system. Moreover, the new API is available on the iPhone, so perhaps this
is interesting for the iPhone port, too.

On the long run, ScummVM will have to switch to the new API, as Apple
will eventually drop the old one.
2011-12-12 16:46:50 +01:00
strangerke
69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Max Horn
a0fc266c82 MACOSX: Fix compilation 2011-04-28 15:55:41 +02:00
Max Horn
8982fff1b7 AUDIO: Add pure virtual MidiDriver::isOpen() method
This in turn enables modifying MidiDriver_MPU401::close() to allow
it to be called on a midi driver that has not yet been opened.

The specific issue that triggered me to make these changes was a
crash-upon-quit in HUGO, caused by it instantiating a midi driver,
then encountering an error (missing hugo.dat) *before* having
opened the new midi driver; the general cleanup code then tries
to close the (not yet opened) midi driver -> kaboom

Also fixed some engines which were leaking MidiDriver instances.
2011-03-22 23:51:47 +01:00
Max Horn
42ab839dd6 AUDIO: Rename sound/ dir to audio/
svn-id: r55850
2011-02-09 01:09:01 +00:00
Max Horn
df05ed1a46 BACKENDS: Include scummsys.h at top of all .cpp files, *before* any #ifdefs
svn-id: r54573
2010-11-29 16:18:43 +00:00
Max Horn
44393b2dc8 ALL: Add code to help stop people from accidentally using "bad" APIs
A new header file common/forbidden.h is included by scummsys.h and it
re-#defines numerous symbols like fopen(), fread(), system(), etc. with
garbage, in order to provoke compile errors in any code using them.

If a .cpp file really *must* use any of these (e.g. because it is a
backend file), then these redefinitions can be disabled by #defining
FORBIDDEN_SYMBOL_ALLOW_ALL as the first thing in the .cpp file. Whenever
this is done, an explanatory comment should be added.

Note that this system cannot catch all "bad" usages (notably the Lua
code in the sword25 engine), as it can only work if scummsys.h is
included.

svn-id: r53961
2010-10-30 21:27:42 +00:00
Max Horn
bbad3f333a Patch #1956501: "GUI/LAUNCHER: Midi device selection"
svn-id: r50128
2010-06-21 21:36:36 +00:00
Max Horn
0e0e11e641 Fix warnings
svn-id: r48277
2010-03-18 15:04:57 +00:00
Max Horn
84f3c98fad Remove the Audio::Mixer parameter from the midi/music plugins
svn-id: r46315
2009-12-09 18:05:20 +00:00
Max Horn
6ec05c48f9 Fix CoreAudio MIDI backend on Mac OS X 10.6
svn-id: r44427
2009-09-27 22:42:51 +00:00
Johannes Schickel
2ebe04ac3e - Extended MidiDriver::sysEx to allow 264 byte sysEx messages
- Updated all drivers to allow 264+2 byte sysEx messages
- Implemented sysEx processing for MT-32 for Kyra1 and HoF. MT-32 should now be working properly.

svn-id: r35180
2008-11-30 04:42:30 +00:00
Max Horn
f32be87633 Turned enum PluginError into Common::Error, which in the future is to be used in more places. Help with this is highly welcome
svn-id: r34906
2008-11-05 17:24:56 +00:00
Jordi Vilalta Prat
8eac356946 Added initial interface to list music devices and their types
svn-id: r32695
2008-06-13 16:04:43 +00:00
Jordi Vilalta Prat
177993b145 Renamed MIDI plugins to Music plugins
svn-id: r32693
2008-06-13 14:30:47 +00:00
Max Horn
8d0766f4f7 Hack to disable 'depracted' warnings on OS X 10.5
svn-id: r32173
2008-05-18 17:20:59 +00:00
Jordi Vilalta Prat
eb6c809d2b - Added more information (ID and capabilities) to the MIDI drivers
- Added the MidiPlugin interface to the remaining MIDI drivers
- Added an initial MidiManager to handle the MIDI plugins (just static plugins by now)

svn-id: r32117
2008-05-14 14:56:29 +00:00
Jordi Vilalta Prat
d942fd42bb Moved midiplugin.h to sound/ since it will be used for more than just the native MIDI drivers.
svn-id: r32097
2008-05-14 05:47:29 +00:00
Jordi Vilalta Prat
d696ed6ea2 Added the MidiPlugin interface (first step towards the MIDI plugins)
svn-id: r31993
2008-05-11 02:10:05 +00:00
Max Horn
b434f189bc Switched CoreAudio MIDI driver to use AudioUnit v2 API (results in better Leopard support/performance, it seems, at least in Exult)
svn-id: r31113
2008-03-12 18:38:03 +00:00
Nicola Mettifogo
258901bab9 Merged common/stdafx.h into common/scummsys.h. All referencing files have been updated.
svn-id: r28966
2007-09-19 08:40:12 +00:00
Max Horn
218e132e37 Updated legal headers in source files, based on what Pidgin (the IM client formerly knowns as Gaim) does; added new (incomplete) COPYRIGHT file; updated copyright dates in a few spots
svn-id: r27024
2007-05-30 21:56:52 +00:00
Max Horn
4db72c8762 Unified how we deal with (and how we generate) MIDI sysex messages -- in particular, we now always do so w/o framing the message (documented this with a Doxygen comment in the MidiDriver class)
svn-id: r25630
2007-02-16 13:30:41 +00:00
Max Horn
04709491f7 Avoid using exceptions
svn-id: r21894
2006-04-14 23:21:59 +00:00
Jamieson Christian
2469e00248 SysEx data now passed around with const pointers. Permits simplification of some SysEx client code.
Testing on Windows. Developers on other platforms, please verify integrity of music handling in your respective MidiDrivers.

svn-id: r20952
2006-02-27 01:59:07 +00:00
Max Horn
cbb2ca005c Change CVS keywords to SVN keywords
svn-id: r20535
2006-02-11 12:47:47 +00:00
Eugene Sandulenko
ea42bad781 Update copyright notice
svn-id: r20088
2006-01-18 17:39:49 +00:00
Max Horn
93bef2e0be Switched the CoreAudio driver to use an AUGraph; this simplifies things a lot and should also cope with the user switching the default output device while ScummVM is running
svn-id: r19835
2005-12-26 20:54:24 +00:00
Max Horn
fcf1af2ffc New CoreMIDI midi backend for OS X
svn-id: r19832
2005-12-26 11:18:25 +00:00
Eugene Sandulenko
b36677af71 Update FSF address. Eek. Actually that took place on May 1, 2005
svn-id: r19142
2005-10-18 01:30:26 +00:00
Eugene Sandulenko
6b4484472b Remove trailing whitespaces.
svn-id: r18604
2005-07-30 21:11:48 +00:00
Max Horn
bf507bfa11 cleanup
svn-id: r18484
2005-07-02 13:01:59 +00:00
Max Horn
9d00744954 Small fixes
svn-id: r18483
2005-07-02 12:54:53 +00:00
Max Horn
7970562356 Hackish native MIDI HW support for Mac OS X (incomplete)
svn-id: r18481
2005-07-02 12:52:30 +00:00