56 Commits

Author SHA1 Message Date
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
Max Horn
8b1d7b9166 When including files from common/, explicitly use the common/ prefix
svn-id: r18444
2005-06-24 15:23:51 +00:00
Max Horn
28e40b33a7 Add a comment regarding use of CoreAudio/AudioUnits v1 API
svn-id: r17916
2005-05-05 11:57:52 +00:00
Max Horn
3ea96a13a0 If we don't want to use reverb, then at least disable it properly, not via a bad hack
svn-id: r17671
2005-04-18 18:02:07 +00:00
Max Horn
5c48717dd2 Remove some more header dependencies
svn-id: r16530
2005-01-10 22:35:43 +00:00
Max Horn
47280d9433 Updated copyright
svn-id: r16398
2005-01-01 16:09:25 +00:00
Max Horn
033ff78ae9 updated copyright notice
svn-id: r12176
2004-01-06 12:45:34 +00:00
Max Horn
c07a290d8c disable the reverb hack for now; at hacked in sound font support (specify 'soundfont' config option with path to a .SF2 file); simplify code a bit by using OpenDefaultComponent; allow usage of any music device, not just the DLSSynth (this may or may not help people with real MIDI devices)
svn-id: r11918
2003-12-25 17:23:49 +00:00
Max Horn
6598673ac3 cleanup
svn-id: r8718
2003-07-02 23:24:05 +00:00