71 Commits

Author SHA1 Message Date
Max Horn
2180b2d6b5 COMMON: Split common/stream.h into several headers
svn-id: r54385
2010-11-19 17:03:07 +00:00
Matthew Hoops
876e38ca92 SOUND: Add DK3 IMA ADPCM decoder for duck videos
svn-id: r54204
2010-11-11 17:04:07 +00:00
Max Horn
82e473bc3b BACKENDS: Partial merge of gsoc2010-opengl: Audio CD changes only
This commit contains the AudioCDManager changes from the gsoc2010-opengl
branch. The other changes in that branch are restricted to the backends
directory only (plus configure).

The Nintendo DS and Dreamcast ports still need to be ported over to
the new Audio CD system, but that should be fairly easy to do.

svn-id: r54147
2010-11-08 22:53:36 +00:00
Max Horn
ebb7ed2b8a SOUND: Convert some (f)printf + fflush to debug
svn-id: r54022
2010-11-01 20:41:03 +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
c975ed11a1 ALL: Fix various typos (patch #3093266)
svn-id: r53762
2010-10-24 13:04:33 +00:00
Eugene Sandulenko
c92d2bc234 SOUND: Add support for LastExpress version of IMA ADPCM sound.
Patch by littleboy.

svn-id: r53578
2010-10-18 19:10:57 +00:00
Johannes Schickel
75e8452b6e OPENGL: Merged from trunk, from rev 52105 to 53396.
This includes an rather hacky attempt to merge all the recent gp2x backend
changes into the branch. I suppose the gp2x backend and probably all new
backends, i.e. gph, dingux etc., might not compile anymore.

Since I have no way of testing those it would be nice if porters could look
into getting those up to speed in this branch.

svn-id: r53399
2010-10-13 03:57:44 +00:00
Torbjörn Andersson
54b2a8c98d JANITORIAL: Cleanup (mostly whitespace)
svn-id: r53161
2010-10-12 04:19:58 +00:00
Jordi Vilalta Prat
8388e0dfea JANITORAL: Clean trailing whitespaces.
svn-id: r53160
2010-10-12 02:18:11 +00:00
Johannes Schickel
5969138eda MP3: Fix seeking.
Formerly we did not read the first chunk of MP3 data after seeking. This
resulted in incorrect sound output in the Freddy Pharkas demo when the
sound was compressed with MP3 for example.

svn-id: r52272
2010-08-22 12:04:44 +00:00
Alejandro Marzini
fb4086cadb Merged from trunk, from Rev 50841 to HEAD
svn-id: r51495
2010-07-30 05:28:09 +00:00
Matthew Hoops
349d3765e3 SOUND: Only dispose the input stream in makeAIFFStream if requested
svn-id: r51373
2010-07-27 14:51:36 +00:00
Matthew Hoops
85f9bb1e0c SOUND: The rate in Mac snd's is fixed, not floating point (fix the comment)
svn-id: r51328
2010-07-26 18:18:25 +00:00
Matthew Hoops
7a86204e5c SOUND: Move the Mac snd decoder from SCI to /sound
For use with Kyra1 Mac instrument samples. T7G Mac and Loom Mac also use this format for their custom instrument samples.

svn-id: r51327
2010-07-26 18:13:35 +00:00
Johannes Schickel
e5e94d4511 Strip trailing whitespaces in our common code base.
svn-id: r51094
2010-07-21 18:17:51 +00:00
Alejandro Marzini
609e08d5db Merged from trunk, from Rev 49499 to HEAD
svn-id: r50840
2010-07-13 04:31:15 +00:00
Angus Lees
830c7611dc Revert Android libtremor header to standard path, since we now ship
our own statically linked version rather than relying on the system
shared lib that happens to be on most Android systems.

svn-id: r50666
2010-07-05 01:03:52 +00:00
Max Horn
d570e10b77 Modify makeAIFFStream to match the other sound decoder factories
svn-id: r49844
2010-06-15 12:33:54 +00:00
Max Horn
651e2760a3 Fix spelling, cleanup
svn-id: r49843
2010-06-15 12:33:20 +00:00
Alejandro Marzini
e991cd8c53 - Revised abstract AudioCDManager.
- Removed AudioCDManager Singleton, and changed code for using AudioCDManager in OSystem.
- Added initialization code for new AudioCDManager in BaseBackend and OSystem_SDL.

svn-id: r49548
2010-06-09 20:09:57 +00:00
Max Horn
46155b2c36 Add Android backend from patch #2603856
svn-id: r49449
2010-06-06 09:34:36 +00:00
Yotam Barnoy
6884ffc291 PSP: added preliminary support for using ME hardware to play MP3 files. If the decoder fails to load, MAD is used instead. Disable with DISABLE_PSP_MP3.
svn-id: r49319
2010-05-30 09:47:00 +00:00
Neil Millstone
5143e7fff4 Fix typo(?) which prevents streaming code from compiling.
svn-id: r49314
2010-05-29 20:32:25 +00:00
Matthew Hoops
f2dda51943 Have makeADPCMStream use the entire stream if the size is 0 (as it says in the doxygen comment).
svn-id: r49236
2010-05-26 12:15:14 +00:00
Matthew Hoops
b3bd797e01 Move the QDM2 code to the graphics module, removing the cyclic dependency.
svn-id: r49171
2010-05-23 21:41:13 +00:00
Matthew Hoops
5e90f66edc Hide the QDM2 implementation and only expose it via a factory method, hopefully fixing compilation on most systems at the same time.
svn-id: r49170
2010-05-23 19:54:17 +00:00
Matthew Hoops
2f31b05651 Move Mohawk's QuickTime code to graphics/ (and QDM2 to sound, disabled when Mohawk is not enabled) so SCI can use the code.
svn-id: r49165
2010-05-23 18:33:55 +00:00
Ori Avtalion
0ae4fcd055 Fix comment to removed function
svn-id: r48965
2010-05-07 12:59:46 +00:00
Johannes Schickel
c5436aebdd Cleanup.
svn-id: r48921
2010-05-03 18:32:26 +00:00
Johannes Schickel
e7f29db498 Check for read/seek errors of the underlying SeekableReadStream in RawStream.
svn-id: r48920
2010-05-03 18:28:05 +00:00
Johannes Schickel
df318c0ec3 Fix for bug #2961787 "HE SAM1: Music in kitchen slightly off (regression)".
Unlike in the branch-1-1-x I did not restore the old RawMemoryStream
code in the trunk. Instead I stripped out the pre-buffering of the
RawStream code. I still decided to add some in-place buffering
in RawStream::readBuffer to at least not rely on super-fast disk I/O.

This is currently an experimental change. There might be need to
reconsider the buffering (even though backends with slow disk I/O
should actually do buffering for file I/O on their own).

svn-id: r48919
2010-05-03 18:27:45 +00:00
Johannes Schickel
f2ee496c0e Paranoia change: Prevent possible assertion caused by MP3Stream.
Currently we have an assert checking that the framerate of an
Audio::Timestamp is always > 0. Since MAD might return "0"
(and maybe even other illegal values) in case the MP3 stream is
invalid we need to check that before we setup the _length
Timestamp of MP3Stream.

svn-id: r48904
2010-05-03 13:03:44 +00:00
Johannes Schickel
e4f588ae4c Do not use a template parameter for stereo setting for RawStream but instead pass the constructor a boolean, this should save some binary size.
svn-id: r48496
2010-04-03 15:57:04 +00:00
Johannes Schickel
5412dac46f Cleanup.
svn-id: r48495
2010-04-03 15:56:40 +00:00
Travis Howell
615378ca11 Fix bug #2976353 - NIPPON: Sound looping fails (regression). By reverting 47469, since the IFF sound code is only used by the Parallaction game engine.
svn-id: r48467
2010-04-02 13:12:23 +00:00
Johannes Schickel
86653687d7 Fix for bug #2969211 "NIPPON: Crash in Intro".
It is not a good idea to supply an SubLoopingAudioStream with the start
and end time to be exactly the same time. Clarify that in the
SubLoopingAudioStream documentation, add an assert in the
SubLoopingAudioStream constructor for that case and also prevent
make8SVXStream from doing so.

svn-id: r48356
2010-03-22 15:54:56 +00:00
Max Horn
79662919c6 Fix bug #2969282: DW2: Weird "PC SPEAKER-like" sound distortion.
svn-id: r48246
2010-03-12 22:34:54 +00:00
Max Horn
f24cc1c8be Tweak makeVOCDiskStream
* now takes a SeekableReadStream *pointer* like (almost) all other
  audiostream factories
* fix potential memory leak in it
* rename takeOwnershipOfStream to disposeAfterUse for consistency

svn-id: r48184
2010-03-08 10:27:42 +00:00
Johannes Schickel
2ddfdd960c Hopefully fixing bug #2948858 "MP3 (CD Audio) Broken under SVN".
svn-id: r48032
2010-02-10 16:34:32 +00:00
Johannes Schickel
18f6ac4776 Fix RawStream::seek implementation.
svn-id: r48007
2010-02-08 21:24:47 +00:00
Sven Hesse
51d0365818 Loosening the 2 samples per channel requirement of Apple_ADPCMStream to 1 sample per channel
svn-id: r47864
2010-02-03 19:55:14 +00:00
Johannes Schickel
6312b690de Fix bug in RawStream::getLength for 16bit streams. (Uncovered by our new unit tests yay!)
svn-id: r47859
2010-02-03 15:45:54 +00:00
Johannes Schickel
d32dfa3bb3 Make makeMP3Stream return 0 on failure too.
svn-id: r47848
2010-02-03 09:47:29 +00:00
Johannes Schickel
8ae24a27b3 Yet more Flac -> FLAC changes for consistency.
svn-id: r47847
2010-02-03 09:42:40 +00:00
Johannes Schickel
fe35d372da - Rename FlacStream to FLACStream.
- Rename makeFlacStream to makeFLACStream.

svn-id: r47846
2010-02-03 09:42:11 +00:00
Johannes Schickel
e7d5849ac8 Rename RawAudioStream to RawStream for consistency.
svn-id: r47844
2010-02-03 09:19:16 +00:00
Johannes Schickel
9c1a42f9f5 Rename:
- FlacInputStream -> FlacStream
 - VorbisInputStream -> VorbisStream
 - MP3InputStream -> MP3Stream

svn-id: r47842
2010-02-03 08:59:10 +00:00
Johannes Schickel
c040eeca44 - Return 0 in makeVorbisStream and makeFlacStream, in case creating the stream failed.
- Add a TODO in the MP3 code for the same behavior.

svn-id: r47841
2010-02-03 08:58:52 +00:00
Max Horn
20f8503c23 Further OOify the ADPCM code
svn-id: r47740
2010-01-31 02:14:11 +00:00