Commit Graph

1425 Commits

Author SHA1 Message Date
Andre Heider
29bb8a59ee If an error occured on constructing a VorbisInputStream, return 0 from makeVorbisStream, just like makeFlacStream does.
svn-id: r44556
2009-10-03 19:27:10 +00:00
Max Horn
8ba75fc522 Fix code formatting (esp. 'if(' -> 'if (' etc., but also indention and other things)
svn-id: r44495
2009-09-30 16:16:53 +00:00
Max Horn
76132409d6 Removed Mac OS X QuickTime MIDI backend. It breaks on OS X 10.6, and it's not as good as the CoreAudio backend anyway
svn-id: r44428
2009-09-27 22:43:32 +00:00
Andre Heider
3045ecce2f Removed an assert() in favour of error checking.
svn-id: r44278
2009-09-23 21:14:37 +00:00
Johannes Schickel
c50940bbf4 Got rid of Common::File::addDefaultDirectory, instead implemented the solution proposed in "Case agnostic handling for directories (and files)" on -devel.
svn-id: r44266
2009-09-23 00:15:00 +00:00
Johannes Schickel
1b68bf76ac Wording.
svn-id: r44086
2009-09-14 19:30:46 +00:00
Johannes Schickel
160f9e7705 Use struct packing for AdLib instruments like the SCUMM engine does. (And a comment about this change, which might be rather paranoia than having a real effect)
svn-id: r44085
2009-09-14 18:41:21 +00:00
Torbjörn Andersson
e7469479ce Removed unnecessary semi-colons.
svn-id: r44048
2009-09-13 10:32:55 +00:00
Norbert Lange
0b5a32e99a fix SFX not playing before music started
svn-id: r43799
2009-08-29 12:44:51 +00:00
Sven Hesse
a6c7d14ddf This just fix the compile errors on AmigaOS (bug #2845660)
svn-id: r43772
2009-08-27 16:29:56 +00:00
Norbert Lange
917d4b78b3 Merge with trunk
svn-id: r43701
2009-08-24 17:51:47 +00:00
Johannes Schickel
dd7868acc2 - Change shorten.h guard to match the sjis.h guard.
- Also enable shorten code when the build includes support for dynamic engine plugins.

svn-id: r43700
2009-08-24 16:07:46 +00:00
Norbert Lange
5f87d5090c fixed small mistake with the sinetable
moved pow2table into the only function using it

svn-id: r43563
2009-08-20 15:10:32 +00:00
Johannes Schickel
3ade77dfb0 Typos.
svn-id: r43515
2009-08-18 15:41:00 +00:00
Johannes Schickel
5c11ec51bc - Destory AudioCDManager singleton after user quits a game, this saves a few bytes memory
- Added FIXME to audiocd.h, concering why destroying the AudioCDManager can not quit CD playback right now

svn-id: r43513
2009-08-18 15:32:26 +00:00
Norbert Lange
56c23731e7 dont keep some unused parts of the mdatfile in memory
svn-id: r43506
2009-08-18 11:48:38 +00:00
Norbert Lange
5e1e7d0191 added tiebreaking to pickVoice, now the use of channels is better distributed
added a fixedpoint pow2 function (similar to the original) - no floats used anymore at the expense of a 512 byte table
added a sinetable for the modulation effect.

svn-id: r43505
2009-08-18 11:34:55 +00:00
Johannes Schickel
516dd5c9a4 Slight cleanup to makeLinearDiskStream interface.
svn-id: r43481
2009-08-17 13:49:56 +00:00
Filippos Karapetis
76a339ecd0 Added looping support to LinearDiskStream, needed by SAGA and perhaps other engines. Note that the loop end parameter is still not implemented
svn-id: r43479
2009-08-17 13:16:40 +00:00
Norbert Lange
cc3a20c13c merge with trunk
svn-id: r43478
2009-08-17 12:58:53 +00:00
Johannes Schickel
582eb13fa2 Fix for bug #2838568 "AMIGAOS4: Compiler error in audiostream.cpp"
svn-id: r43447
2009-08-16 17:38:09 +00:00
Norbert Lange
c96affd0c1 merge with trunk
svn-id: r43443
2009-08-16 16:39:34 +00:00
Neil Millstone
a135a7f938 Allow VOCs to stream from disk. Disabled by default, use symbol STREAM_AUDIO_FROM_DISK to enable. See patch #2834001.
svn-id: r43357
2009-08-13 21:46:41 +00:00
Norbert Lange
29b145310c (re-)initialise some Variables when sound is stopped
svn-id: r43351
2009-08-13 16:42:36 +00:00
Norbert Lange
13757d5354 sound_amiga: honor _musicEnabled and _sfxEnabled flags
maxtrax: initialise lastvolume

svn-id: r43337
2009-08-13 00:07:37 +00:00
Norbert Lange
0836cf6d9b merged from trunk (Amiga LoK supposedly completeable!)
fixed a bug I introduced in one of the last cleanups

svn-id: r43291
2009-08-11 22:35:56 +00:00
Andre Heider
dc0e908385 Fixed an endian bug in the ADPCM decoder (#2211901).
svn-id: r43287
2009-08-11 19:11:26 +00:00
Norbert Lange
8cb42dd689 fixed bug in tempoeffect
svn-id: r43204
2009-08-10 12:09:31 +00:00
Norbert Lange
d63ddbdbbe fix potential leak in loadscore
added parameters to constructor

svn-id: r43203
2009-08-10 11:47:49 +00:00
Norbert Lange
b4c689a3c1 fixed up some missing newlines
removed MSVC6 disable pragmas, the warnings are already disabled in the project files

svn-id: r43182
2009-08-09 18:59:22 +00:00
Norbert Lange
0350a1598d merge with trunk
svn-id: r43134
2009-08-08 19:09:30 +00:00
Johannes Schickel
c455e135b2 Fix XMIDI looping implementation. Now for example the music in the ferret village of ITE plays fine.
svn-id: r43126
2009-08-08 13:57:21 +00:00
Norbert Lange
4e7b156e10 fix a bug that prevented gcc from compiling
correctly added my palette patch (it showed up in the rev-changes but dint got applied fully to the svn tree?)

svn-id: r43116
2009-08-08 09:49:28 +00:00
Norbert Lange
6dbeddab25 slighty changed how voices get disabled after their sample played
svn-id: r43111
2009-08-08 09:23:09 +00:00
Norbert Lange
baeed11aae added missing stuff for modulation and microtonal effects (several bugs in original player - dont think this was ever used)
added compiletime macros for modulation and microtonal
moved common initialization stuff into a new resetPlayer() method
reworked stopEvents, made them simpler and inlined the noteOff function
added check for allocation and IO-Errors to the load-function.

svn-id: r43110
2009-08-08 09:18:23 +00:00
Norbert Lange
78e06a0e1c refactored noteOn
removed channel.voicesActive variable

svn-id: r43104
2009-08-07 21:00:34 +00:00
Norbert Lange
d51e8be2bf implemented "SPECIAL" commands
addid missing stacklock for a few public functions

svn-id: r43100
2009-08-07 18:02:06 +00:00
Norbert Lange
c4047908aa added stub for setting audio filter in Paula
fixed wrong value for volume in maxtrax

svn-id: r43099
2009-08-07 16:21:30 +00:00
Norbert Lange
648bec1d0c move function definitions from header to the cpp file
moved a few functions to static scope

svn-id: r43077
2009-08-05 19:26:00 +00:00
Norbert Lange
621071ea9e added some error messages to the compile-time checks
svn-id: r43076
2009-08-05 18:57:13 +00:00
Norbert Lange
025846020b moved check if class should be compiled to the header
svn-id: r43075
2009-08-05 18:45:22 +00:00
Norbert Lange
55a24eacd5 fixed wrong indentation
moved notetable to static scope

svn-id: r43074
2009-08-05 18:13:42 +00:00
Norbert Lange
29e4755f2a check if modplayers should be compiled based on engine-macros
svn-id: r43073
2009-08-05 18:00:13 +00:00
Norbert Lange
fc8e269c36 cleaned up sound_amiga.cpp a bit, added checks for missing files
svn-id: r43050
2009-08-04 18:24:39 +00:00
Norbert Lange
4c4eb1394c added warning should the sound files not be available (intro will hang if there is no musictimer)
svn-id: r43049
2009-08-04 17:43:56 +00:00
Norbert Lange
c304c633ce moved helper functions from the header file into the cpp file
svn-id: r43047
2009-08-04 17:12:19 +00:00
Norbert Lange
dbe50abae4 added doxygeb comments
added checks to public functions if resources already got loaded

svn-id: r43046
2009-08-04 17:03:35 +00:00
Norbert Lange
e6f8bfafc7 moved code for initialising patterns into own function
added initialisation of return-addresses for patterns and macros

svn-id: r43045
2009-08-04 15:43:40 +00:00
Norbert Lange
0306695459 Some formatting changes and added comments
fixed parameters for "Play macro" command
fixed copypaste-mistake for pattern-fade

svn-id: r43032
2009-08-04 10:42:42 +00:00
Norbert Lange
2a4c60244b made some unused methods private
svn-id: r42986
2009-08-02 00:39:06 +00:00
Norbert Lange
bb9f1d6a25 fix some more harmless warnings to make gcc shutup
svn-id: r42985
2009-08-02 00:27:15 +00:00
Norbert Lange
2dd5516954 fixed some constness warnings
svn-id: r42984
2009-08-02 00:15:38 +00:00
Norbert Lange
92d292a3f6 made MdatResource struct private and changed the signatures of functions which load the resources.
svn-id: r42982
2009-08-02 00:03:42 +00:00
Norbert Lange
59395eb6b6 stole formatting for constructors from existing code
svn-id: r42981
2009-08-01 23:14:28 +00:00
Norbert Lange
a28281072d engines/scumm/scumm.cpp: terminate method is pretty redundant - removed
tfmx, player_v4a: refactored Tfmx to allow sharing of resources between 2 instances. Needed changes in player_v4a aswell

svn-id: r42980
2009-08-01 23:02:45 +00:00
Norbert Lange
27ee1eb331 refactored and commented player_va4 a bit
fix waitcommand in Tfmx
try making tfmxplayer compile again

svn-id: r42976
2009-08-01 16:10:00 +00:00
Norbert Lange
1becc072f9 Added the last 2 patterncommands just so I dont have to warn about unimplemented ones
svn-id: r42963
2009-07-31 15:20:02 +00:00
Norbert Lange
fd1fed0b6e process all DMA Events before Macros, for the unlikely chance of making a difference
svn-id: r42962
2009-07-31 14:36:37 +00:00
Norbert Lange
a4ebf2cfa6 using accessmodifiers in Tfmx now and removed/disabled functions that now dont work anymore (the commandline utility cant be compiled anymore as result of this)
added arraysize of external signals and check it before accesses
moved 2 debug-functions into Tfmx.cpp, removed depencies to files in the tfmx folder
moved common code for fade-effects in a seperate method

svn-id: r42961
2009-07-31 14:29:04 +00:00
Johannes Schickel
e779747ca4 Fix typo, which made our "floorf" macro use "floorf" instead of "floor" on systems without "floorf".
svn-id: r42904
2009-07-29 20:03:46 +00:00
Johannes Schickel
17fe3ce29e Oops enabled HACK to prevent multiple OPL instances again.
svn-id: r42849
2009-07-27 18:19:16 +00:00
Norbert Lange
f051e7e9ab use own soundhandle as the ones in Kyra::Sound seem to be used for voices (and might get killed)
svn-id: r42620
2009-07-19 16:11:05 +00:00
Norbert Lange
5952977ed0 use ticks for timing fadeout
svn-id: r42618
2009-07-19 15:36:11 +00:00
Norbert Lange
dbe300fc53 fixed retiring of external Notes
fixed/improved counting DMAs in Paula
added flag for looping songs
rearranged maxtrax.h a bit

svn-id: r42613
2009-07-19 14:02:19 +00:00
Norbert Lange
31b6767666 fixed: intro-music started twice because it was hardcoded in the engine
removed verbose debug-output from maxtrax
 

svn-id: r42604
2009-07-19 01:14:51 +00:00
Norbert Lange
396d6c86aa add support for fadeout
svn-id: r42601
2009-07-19 00:58:01 +00:00
Norbert Lange
22ee23cac7 some more tables included, for tempo and volume values
svn-id: r42600
2009-07-19 00:44:54 +00:00
Norbert Lange
bb5207c13b fixed some initialisation issues
svn-id: r42595
2009-07-18 17:27:31 +00:00
Norbert Lange
9e16e3b3e6 first attempt at enabling soundeffects using an table from the executeable. Doesnt quite work as it should
svn-id: r42575
2009-07-18 00:04:28 +00:00
Norbert Lange
bb64bf008d merge with trunk
svn-id: r42574
2009-07-17 21:23:54 +00:00
Norbert Lange
cfe2928d98 added primitive support for Kyrandia`s Intro Music.
svn-id: r42567
2009-07-17 16:07:57 +00:00
Norbert Lange
c0c25d234e precalculating some more from CalcNote
svn-id: r42556
2009-07-17 01:42:58 +00:00
Norbert Lange
1fa1bdc9f6 avoid some calculations from being done every time in CalcNote
svn-id: r42553
2009-07-17 00:58:26 +00:00
Norbert Lange
30cb4772f2 simplified NoteOn calculations
added playNote command for soundeffects

svn-id: r42544
2009-07-17 00:07:36 +00:00
Max Horn
baabc623f6 Got rid of two more ioFailed uses
svn-id: r42501
2009-07-15 10:04:50 +00:00
Max Horn
6b98c4c4e7 Got rid of some more ioFailed uses (also fixed a potential leak in graphics/font.cpp, and handle eos correctly in the FLAC code)
svn-id: r42488
2009-07-14 18:24:20 +00:00
Norbert Lange
799ab9ac45 removed one more useless variable and turned often used flags into bools
big cleanup of the interrupt-function
changed NoteOn function to pass the results directly instead of saving them in member variables

svn-id: r42466
2009-07-14 02:15:31 +00:00
Norbert Lange
d5e1738ef6 cleaned up NoteOn a bit
fixed NoteOff and removed some useless variables - intro sounds fine now

svn-id: r42461
2009-07-13 22:49:34 +00:00
Norbert Lange
162c6a418d added routine pickvoice to dinamically choose a fitting channel
use similar FP-rounding as the original player

svn-id: r42454
2009-07-13 21:27:58 +00:00
Norbert Lange
100d86ee4d made all structures that are only written when loading song/samples const
fixed volume-handling a bit, still not correct

svn-id: r42343
2009-07-10 16:01:40 +00:00
Norbert Lange
3ae850fe9c added initialisation of channels
svn-id: r42339
2009-07-10 15:04:41 +00:00
Norbert Lange
c5a3ab2af2 changed: period in Paula get set immediately instead of queued
svn-id: r42336
2009-07-10 14:30:37 +00:00
Norbert Lange
f63c15acc1 added timebased effects
fixed passing length of samples to Paula
fixed setting tempo at songstart
fixed setting tempo/flags only if loading a score

svn-id: r42334
2009-07-10 13:38:13 +00:00
Norbert Lange
c16d276f99 fixed some mismatched new[]/delete
fixed 2 bugs in the calcnote function

svn-id: r42304
2009-07-09 16:18:35 +00:00
Filippos Karapetis
b1bd180408 Added proper safeguards for shorten.*, thereby fixing commit 42259
svn-id: r42290
2009-07-09 15:17:45 +00:00
Filippos Karapetis
8a783bdd76 Renamed sound/iff.* to sound/iff_sound.* to fix an issue with the upcoming changes to the MSVC project files (sound/iff.* produces iff.obj, which clashes with iff.obj from graphics/iff.*)
svn-id: r42287
2009-07-09 13:17:46 +00:00
Norbert Lange
84e96bc513 fixed up some constants
svn-id: r42276
2009-07-09 00:19:17 +00:00
Norbert Lange
d25f481421 fixed (and inlined) the "Antilog" function
svn-id: r42274
2009-07-09 00:02:12 +00:00
Norbert Lange
a9d9de7db4 implemented setting note-periods, likely still somewhat wrong.
reversed the log functions which does exactly the inverse as the name implies (its refered as "antilog" in the sources *rollseyes*)

svn-id: r42273
2009-07-08 22:59:50 +00:00
Filippos Karapetis
90422f6bd3 Added guards to only include the Shorten audio code when the SAGA2 code in the SAGA engine is enabled
svn-id: r42259
2009-07-08 07:28:13 +00:00
Norbert Lange
a2e46b76f3 fix identation and replaced the "goto-workaround" with something simpler
svn-id: r42189
2009-07-06 18:51:22 +00:00
Torbjörn Andersson
7c155f8747 GCC thinks it's wrong to goto past variables being initialised (even if they
aren't used afterwards). Fixed that, and some warnings.

svn-id: r42187
2009-07-06 18:15:50 +00:00
Norbert Lange
e9a4800629 Implemented a few commands
Partially implemented queued Events and some related commands

svn-id: r42186
2009-07-06 17:37:54 +00:00
Norbert Lange
c0b1d10ba2 Added tons of members to MaxTrax, songs get fully loaded and stored internally
svn-id: r42096
2009-07-04 16:24:15 +00:00
Norbert Lange
9f8d9de11d added a skeleton for maxtrax modules. Not much happening yet, just reading and displaying a bit of information for maxtrax file
svn-id: r42013
2009-07-01 23:11:56 +00:00
Max Horn
a6b57dc3a9 - Added GCC_PRINTF attribute to several funcs where it makes sense
- change some constants from double to float, to avoid "loss of precision due to implicit conversion" warnings
- removed duplicate prototypes for some funcs
- fixed some "increases required alignment of target type" warnings

svn-id: r42009
2009-07-01 20:51:04 +00:00
Norbert Lange
7c7ad0d5f1 some Code-Formatting
svn-id: r41994
2009-07-01 15:15:58 +00:00
Norbert Lange
abef70f4e1 Merging in changes from trunk
svn-id: r41989
2009-07-01 14:45:24 +00:00
Norbert Lange
3b94e2488d Added kyra project
removed 1 potentially troublesome assert

svn-id: r41988
2009-07-01 13:25:48 +00:00
Norbert Lange
e3a5da7b7e engines/scumm/*: enabled choosing of the colorpalette, by setting RenderMode to EGA the "old" palette will be used
tfmx/tfmxplayer.cpp: removed some unused stuff
sound/mods/tfmx.cpp: emulating the way MI initialises new macro-programms. (Difference might not be audible at all)

svn-id: r41976
2009-06-30 17:41:24 +00:00
Norbert Lange
cf351dffe6 Modified macro-,patter-,track-step functions to loop aslong they are supposed to execute. (instead of doing that loop "outside").
Added "addBeginn" Effect, not used by MI but simple to implemt.

svn-id: r41910
2009-06-27 07:07:20 +00:00
Norbert Lange
01c3db4d76 Fixed restarting of song (hopefully thouroughly)
replaced all modulos with masks
swapped Paulas stereo output

svn-id: r41856
2009-06-25 08:57:15 +00:00
Norbert Lange
c6ba5279b1 and 1 fix for a regression - always set sampleperiod before starting output
svn-id: r41717
2009-06-20 21:20:39 +00:00
Norbert Lange
8e00db241f fixed portamento-effect.
Added stopping of sfx, seems like Monkey Island is pretty messy when it comes to handling sfx though.
Those two changes fix the "mansion burglary"

svn-id: r41716
2009-06-20 21:04:57 +00:00
Norbert Lange
c0228cfe70 Some more cleanups,
fixed patterncommand 0xFE not working,
added an option "-hack-patternstop" to the commandline tool

svn-id: r41710
2009-06-20 13:49:02 +00:00
Norbert Lange
7ed1061507 Added fade effect, song 17 uses it.
svn-id: r41694
2009-06-19 23:27:10 +00:00
Norbert Lange
115c276d4c modified doSong so you can start a new Song without killing running macros
svn-id: r41693
2009-06-19 22:13:43 +00:00
Norbert Lange
3ef2279c34 moved common initialisation routines into their own functions. doMacro and doSong are now nore readable
svn-id: r41692
2009-06-19 21:42:14 +00:00
Norbert Lange
f94b8565a9 more cleanups, got rid of pendingTrackstep variable
svn-id: r41686
2009-06-19 20:41:32 +00:00
Norbert Lange
4865863f6c Enabled signals and made ScummVM use them (they specify when a song should be stopped)
Cleanups in player_v4a.

svn-id: r41685
2009-06-19 20:17:53 +00:00
Norbert Lange
c7697fb200 added support for SFX by using a seperate Player for them.
svn-id: r41676
2009-06-19 14:30:09 +00:00
Norbert Lange
c3596c184b Ugly hack for fixing color palette
svn-id: r41672
2009-06-19 11:24:06 +00:00
Norbert Lange
c8d05aca48 My last commit fired an assert on some songs, fixed!
svn-id: r41551
2009-06-15 17:09:59 +00:00
Norbert Lange
6720928cb6 Fixed a bug which caused MI Song 3 to loop forever. Made my hack to automatically stop the player after all Patterns are stopped dependend on a variable.
svn-id: r41549
2009-06-15 17:03:49 +00:00
Norbert Lange
f0b74418bc Removed some debugmessages so Linux manages to build again =/
svn-id: r41527
2009-06-14 21:49:33 +00:00
Norbert Lange
1fcd6bff08 player_v4a:
Made musictimer work a bit better, merged the 2 tables into 1

svn-id: r41526
2009-06-14 19:40:24 +00:00
Norbert Lange
62202a9de5 Removed alot of the debug-output
created a class player_v4a to hook TFMX Playback into Scumm. Monkey Island has sound, but no sfx yet

svn-id: r41480
2009-06-12 20:10:27 +00:00
Norbert Lange
14f1960c8f sdl.cpp, main.cpp:
Made modifications dependend on compiletime-variable TFMX_CMDLINE_TOOL.
scumm.vcproj, scummvm-tfmx.sln, scummvm-tfmx.vcproj:
	enabled Scumm-Engine
tfmx.cpp:
	Some small cleanups and corrections

svn-id: r41478
2009-06-12 14:02:21 +00:00
Nicola Mettifogo
36828287ad * Moved the updated IFF code from Parallaction to common/
* Updated Parallaction and SAGA to use the new decoder infrastructure.

svn-id: r41465
2009-06-12 08:51:05 +00:00
Nicola Mettifogo
df1534ffd0 * Replaced the A8SVXDecoder class with a function to return an AudioStream in trunk/sound/.
* Refactored sound code in Parallaction to use the new Audio::make8SVXStream.

svn-id: r41460
2009-06-12 07:18:01 +00:00
Norbert Lange
ef7840994d Finally fixed weird volume effects by fixing "wait on keyup"
Added commandline option to output to flac

svn-id: r41434
2009-06-10 15:51:08 +00:00
Norbert Lange
6cf0e1b9bb Fix looping of Tracks
svn-id: r41427
2009-06-10 13:45:23 +00:00
Norbert Lange
46c90e08f2 Enabled envelope effect, but it still needs some work.
couple more macros implemented, all effects Monkey Island uses should be supported now

svn-id: r41413
2009-06-10 00:49:26 +00:00
Norbert Lange
fc174162f7 tfmx.c,.h: added portamento and envelope-effect (envelope not active yet)
renamed some variables
	made sure the fixed-point multiplications have the same results, even in cornercases
paula.cpp: changed/reverted stuff in Paula again.

svn-id: r41410
2009-06-09 20:54:55 +00:00
Norbert Lange
fe28f1c73c tfmx.cpp:
added "vibrato-effect"
paula.cpp: 
	fixed bug introduced in last commit

svn-id: r41392
2009-06-08 23:12:35 +00:00
Sven Hesse
c8d0335ea5 Spaces for alignment, not tabs :P
svn-id: r41383
2009-06-08 18:48:43 +00:00
Norbert Lange
d3ad5fc663 Initital commit modifying buildsystem and adding a TFMX Module-Player
Changes in Paula.cpp/Paula.h + soundfx.cpp:
Added (easy) queueing of samples by implementing methods that act similar
like writes to the Amiga-Chipset would.
Added counting of DMA-Interrupts, that is how often a sample finished
playing.
Added a base for the interrupt-interval, in most cases this will be the
Cia-clockrate. Derived classes can then set the interval without scaling to
the samplerate

Changes in common/scummsys.h:
Only disable warnings with pragmas for MS Compilers that cant do so
otherwise. Newer MSVC Versions can and should disable warnings in the
Project-Settings.

Files in tfmx:
Some files for debugging. Wont ever be commited back into trunk so those
will contain some messy and hackish code

Added: tfmx.h/tfmx.cpp
Player for TFMX-Modules.

Rest: main.cpp etc.
Modified buildsystem to include new directory, modified main.cpp so it
calls tfmxmain (tfmxplayer.cpp) instead of starting the GUI.

svn-id: r41382
2009-06-08 18:33:20 +00:00
Eugene Sandulenko
cda17beff5 Patch #1365914: "SCUMM: CMS support." Disabled by default. Still plenty to do.
svn-id: r41282
2009-06-06 18:21:49 +00:00
Torbjörn Andersson
0999534749 The error() and warning() functions add ! and newline automatically. (I didn't
look at debug() and debugC(), since I'm really bored with this now. :-)

svn-id: r41061
2009-05-31 10:02:16 +00:00
Johannes Schickel
0ba9e14ec9 Double volume of DOSBox' OPL emulator, like DOSBox does too.
svn-id: r41014
2009-05-29 17:59:07 +00:00
Max Horn
e23e1ffcb7 Added Audio::Timestamp::addMsecs method
svn-id: r40957
2009-05-28 10:29:25 +00:00
Johannes Schickel
33de8c9a5f Add include guard.
svn-id: r40932
2009-05-27 00:34:31 +00:00
Johannes Schickel
b3c6751b9b Strip trailing whitespaces in the whole code base.
svn-id: r40867
2009-05-24 15:17:42 +00:00
Johannes Schickel
dfb6ca6bae Add support for "getTotalPlayTime" in LinearMemoryStream again.
svn-id: r40840
2009-05-23 23:49:47 +00:00
Sven Hesse
be6fd784b4 Allow for different MOD signatures
svn-id: r40827
2009-05-23 20:38:08 +00:00
Marcus Comstedt
64e75b91b7 Fixed a warning: printf("%f") should take a double, not a float.
svn-id: r40785
2009-05-22 17:15:39 +00:00
Max Horn
65b5d31814 COMMON: Removed Stream::ioFailed() and clearIOFailed(), as they are deprecated; however, retained ioFailed in SeekableReadStream and File for now (so for now this mainly affects WriteStream subclasses)
svn-id: r40725
2009-05-19 11:42:14 +00:00
Johannes Schickel
90b4afd41b Add some simple implementation for type 8 data blocks:
- Fix sound effect in LoL demo

svn-id: r40708
2009-05-18 22:11:56 +00:00
Travis Howell
e59e65aa99 Fix crash when any movie is played in the Macintosh version of The Feebles Files, a regression caused by revision 36085.
svn-id: r40679
2009-05-18 10:40:22 +00:00
Johannes Schickel
297a9c6c5f Fix spelling of AdLib (it's AdLib not Adlib).
svn-id: r40533
2009-05-13 21:02:50 +00:00
Johannes Schickel
a866e90342 Make g++ 4.4 happy (warning about out of bounds access).
svn-id: r40526
2009-05-13 17:29:48 +00:00
Johannes Schickel
72686a5a9e Make 'create' return an OPL2 by default.
svn-id: r40503
2009-05-12 19:24:04 +00:00
Johannes Schickel
4190e256bf Cleanup.
svn-id: r40502
2009-05-12 19:03:54 +00:00
Johannes Schickel
4c156d3c78 Fix OPL emulator IDs.
svn-id: r40498
2009-05-12 18:53:44 +00:00
Johannes Schickel
4f0768b909 - Add support for selecting the OPL emulator being used (config entry: "opl_driver")
- Make MAME FM OPL the default emulator again
- Add GUI support for selecting the active OPL emulator
- Update themes

svn-id: r40496
2009-05-12 18:42:44 +00:00
Johannes Schickel
b33bf76c70 For the time being rename opl.h to opl_inc.h and opl.cpp to opl_impl.h, so MSVC does not try to compile the former opl.cpp. (Needs cleanup in the future anyway...)
svn-id: r40365
2009-05-06 20:19:47 +00:00
Johannes Schickel
262363f2b3 Another attempt at fixing MSVC compiliation. (someone test this please ;-)
svn-id: r40364
2009-05-06 20:05:58 +00:00
Max Horn
5dc234a4e2 Patch #2758080: GSOC09: XMIDI parser switch cases
svn-id: r40361
2009-05-06 14:22:13 +00:00
Johannes Schickel
47e426f271 Don't include headers inside namespace scopes. This should fix compilation on NDS at least.
svn-id: r40360
2009-05-06 13:57:05 +00:00
Paul Gilbert
c02aad90b2 Added a reference to scummsys.h to fix compilation errors
svn-id: r40351
2009-05-06 10:28:07 +00:00
Johannes Schickel
c35d6db60c Fix feedback/algorithm register write bugs in Dual OPL2 mode.
svn-id: r40342
2009-05-06 00:40:37 +00:00
Johannes Schickel
25ca710eae Really fix Dual OPL2 initialization.
svn-id: r40341
2009-05-05 23:40:54 +00:00
Johannes Schickel
6f840550b9 Dual OPL2 initialization bugfix.
svn-id: r40339
2009-05-05 22:34:04 +00:00
Johannes Schickel
625f41c135 Cleanup:
- Rename OPL_DOSBox to OPL, since it's inside a seperate namespace anyway
- Reanme MAME_OPL to OPL, since it's inside a seperate namespace anyway

svn-id: r40338
2009-05-05 22:18:26 +00:00
Johannes Schickel
5cc44292a2 - Remove default parameter from OPL::create
- Add some note that no one should use the legacy API for new code

svn-id: r40337
2009-05-05 22:14:34 +00:00
Johannes Schickel
16bd319684 At request by DrMcCoy enable DOSBox OPL2 by default whenever DISABLE_DOSBOX_OPL isn't defined.
svn-id: r40335
2009-05-05 22:06:54 +00:00
Johannes Schickel
08581ed698 AdLib emulator changes part2:
- Add new OPL emulator API (and legacy access API) in sound/fmopl.h
- Add DOSBox OPL emulator.
- Update MAME OPL emulator for the API changes.

svn-id: r40334
2009-05-05 21:47:12 +00:00
Johannes Schickel
d9e0499a36 AdLib emulator changes part1 (breaks compilation :-/):
- Add new directory sound/softsynth/opl
- Move sound/fmopl to sound/softsynth/opl/mame

svn-id: r40333
2009-05-05 21:40:50 +00:00
Johannes Schickel
e7506eb99e Rename adlib_read to adlib_get_reg_value, since it return the (cached) register value, which can not be achieved by read AdLib read.
svn-id: r40084
2009-04-22 20:51:33 +00:00
Johannes Schickel
0638a8a27a Renamed some variables and parameters to match their real use.
svn-id: r40083
2009-04-22 20:18:12 +00:00
Fabio Battaglia
9c5cf77287 vag: delete stream after use
svn-id: r39767
2009-03-30 21:04:19 +00:00
Fabio Battaglia
0c1bae6b15 Rate selection is now possible for VAG audio decoder, also decoder doesn't die with incomplete/corrupted files
svn-id: r39764
2009-03-30 13:42:28 +00:00
Willem Jan Palenstijn
07d3ae07ac Fix regression from r39702: look up music_driver in config
svn-id: r39707
2009-03-27 13:49:11 +00:00
Max Horn
e5e1615280 MidiDriver cleanup: findMusicDriver now returns a pointer (makes it possible to distinguish 'no match found' from other results); updated parseMusicDriver accordingly; some methods now return MidiDriverType instead of int
svn-id: r39702
2009-03-26 13:52:43 +00:00
Max Horn
fb364ee281 Changed doxygen comments in sound/midiparser.h to match with our usual formatting conventions
svn-id: r39700
2009-03-26 13:11:11 +00:00
Matthew Hoops
1817dd9bc5 Do not use TO_LE_16 for the IMA ADPCM decoder as it breaks sound on BE systems.
svn-id: r39465
2009-03-17 02:35:43 +00:00
Fabio Battaglia
647276b885 Moving sword1/vag.* into sound/, to be used by Broken Sword 2 PSX
svn-id: r39416
2009-03-15 10:25:22 +00:00
Andre Heider
c72cba069b Use pow() instead of powf() when compiling with MinGW32 to work around a libstdc++ cross-compile bug, see #2673362
svn-id: r39309
2009-03-10 19:32:38 +00:00
Max Horn
77b40251ca Added some more Audio::Timestamp unit tests
svn-id: r39262
2009-03-09 16:15:25 +00:00
Max Horn
7cd40da1be Added some comments to Audio::Timestamp
svn-id: r39257
2009-03-09 03:45:40 +00:00
Eugene Sandulenko
ef1e3ebc3c Patch #2658710: "Add comments to specify which engines use which decoders"
svn-id: r39236
2009-03-08 15:57:59 +00:00
Max Horn
673a21b249 Added Audio::Timestamp class, based on SCI's sfx_timestamp_t; also provide a unit test for it, based on the old (and very outdated) timetest.cpp. To be used by Audio::Mixer one day...
svn-id: r39112
2009-03-04 06:58:28 +00:00
Willem Jan Palenstijn
4fbda3b8b0 Fix typo.
svn-id: r38940
2009-02-27 23:38:37 +00:00
Johannes Schickel
5417f6bacb - Replace OSystem::clearScreen with OSystem::fillScreen as discussed on -devel.
- Update BaseBackend and DC port to properly implement OSystem::fillScreen (now only PalmOS has to be updated).
- Update all client code which relied on OSystem::clearScreen so far.

svn-id: r38304
2009-02-15 21:20:21 +00:00
Eugene Sandulenko
0a532dfc30 Add interleave parameter to FMOPL as needed by SCI engine
svn-id: r38211
2009-02-15 10:07:50 +00:00
Travis Howell
4131d3d07f Fix sound noise regression in CD32 version of Simon the Sorcerer 1.
svn-id: r36236
2009-02-07 05:05:14 +00:00
Travis Howell
8c84ec82fc Fix sound noise regression in CD32 version of Simon the Sorcerer 1.
svn-id: r36235
2009-02-07 04:49:10 +00:00
Travis Howell
934a59941d Fix sound noise regression in CD32 version of Simon the Sorcerer 1.
svn-id: r36234
2009-02-07 04:40:39 +00:00
Joost Peters
e8e3397a3c make readBufferTinsel*() output in native endianness, rather than little endian.
svn-id: r36215
2009-02-04 16:40:44 +00:00
Filippos Karapetis
dd39274391 Fixed regression in the ADPCM decoder. DW2 music should be played correctly again
svn-id: r36195
2009-02-01 22:21:57 +00:00
Filippos Karapetis
71b4f84c46 Fixed incorrect usage of a boolean (boolean variables are not supposed to be used as indexes to arrays...)
svn-id: r36194
2009-02-01 22:06:43 +00:00
Max Horn
341bc64aaf do not include common/debug.h from common/util.h
svn-id: r36143
2009-01-30 05:25:17 +00:00
Matthew Hoops
34e76afb16 Remove leftover comments.
svn-id: r36098
2009-01-27 11:49:53 +00:00
Matthew Hoops
13552cce55 Add support for looping ADPCM sounds. I'm also adding decoding of the "standard" IMA ADPCM code (aka Intel DVI ADPCM). This is from Mohawk. ;)
svn-id: r36097
2009-01-27 11:46:54 +00:00
Travis Howell
f9d0d2a44a Add/Update comments.
svn-id: r36094
2009-01-27 03:26:51 +00:00
Travis Howell
f002e06fe0 Add looping support to makeVOCStream().
svn-id: r36093
2009-01-27 03:21:05 +00:00
Travis Howell
82a7414197 Fix regression, the original stream shouldn't be deleted, unless disposeAfterUse is set.
svn-id: r36092
2009-01-27 03:13:13 +00:00
Travis Howell
bce799366f Fix regression, the original stream shouldn't be deleted.
svn-id: r36091
2009-01-27 03:10:56 +00:00
Max Horn
8e447d1ee9 Extended makeWAVStream by a 'disposeAfterUse' param; changed makeWAVStream to directly return the AudioStream created by makeADPCMStream
svn-id: r36085
2009-01-27 00:42:43 +00:00
Willem Jan Palenstijn
a8ae95cc10 fixing #2531282: don't fall back to a real audio CD when playing enhanced midi tracks
svn-id: r36030
2009-01-24 01:29:52 +00:00
Willem Jan Palenstijn
de341291aa remove 'HACK': don't use _cd.playing to indicate emulation
svn-id: r36029
2009-01-24 01:23:04 +00:00
Torbjörn Andersson
9e2f9b338f Removed a (hopefully) obsolete FIXME comment.
svn-id: r35690
2009-01-03 00:08:46 +00:00
Torbjörn Andersson
890808fa4b Rewrote to get rid of "condition is always false" warning.
svn-id: r35639
2008-12-31 15:23:08 +00:00
Filippos Karapetis
c7a2121add Added possible FIXMEs
svn-id: r35637
2008-12-31 15:09:32 +00:00
Filippos Karapetis
a8a4ba3a98 Prevent erroneous access of negative array indices
svn-id: r35633
2008-12-31 14:49:53 +00:00
Max Horn
6a2778cccc Fixed warning
svn-id: r35630
2008-12-31 13:59:00 +00:00
Torbjörn Andersson
6f24756a15 Fixed GCC warning.
svn-id: r35628
2008-12-31 13:05:26 +00:00
Filippos Karapetis
136390a540 Commented out part of the code that corrupts the heap for me
svn-id: r35627
2008-12-31 13:00:09 +00:00
Filippos Karapetis
cae6bdac08 Preliminary Shorten audio support for SAGA 2 games. It's still very wrong and needs further work, but it's a start
svn-id: r35626
2008-12-31 11:46:21 +00:00
Jordi Vilalta Prat
b1999a2a16 Fixed indentation and removed whitespaces at the end of line
svn-id: r35481
2008-12-22 11:22:15 +00:00
Jordi Vilalta Prat
c4f33dfb86 Custom percussion instruments for the AdLib MIDI driver (Slightly modified patch #2357165)
svn-id: r35439
2008-12-19 16:21:27 +00:00
Johannes Schickel
5fa38662e2 Whoops. Fix accidently wrong evaluation statement.
svn-id: r35337
2008-12-13 12:56:53 +00:00
Johannes Schickel
223a57a563 Cleanup.
svn-id: r35336
2008-12-13 12:45:53 +00:00
Johannes Schickel
9555ea8bc9 Fix for bug #2423449 "AGOS: Music Looping broken (regression)".
svn-id: r35335
2008-12-13 12:31:39 +00:00
Sven Hesse
052e83cd24 Okay, removing my implementation of AppandableAudioStream::getTotalPlayTime (I've apparently misunderstood its intent) and using Mixer::getSoundElapsedTime() instead
svn-id: r35317
2008-12-12 17:12:05 +00:00
Max Horn
59dc18d9ef cleanup
svn-id: r35214
2008-12-03 10:59:06 +00:00
Sven Hesse
30b6294d38 Apparently, constraining the number of mixing samples to be divisible by 4 is too strict, so I'm changing readBufferTinsel6() around a bit to allow for any number of samples (at the cost of adding 2 variables and a bit complexity ;))
svn-id: r35209
2008-12-02 21:58:48 +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
Johannes Schickel
893a79b01d Initial version of proper MIDI support for KYRA.
svn-id: r35174
2008-11-30 01:53:32 +00:00
Robin Watts
8f3b2e9b4d Remove warnings from NDS build.
svn-id: r35172
2008-11-29 18:01:16 +00:00
Max Horn
dd14e46698 Fixed a warning on the DS build, added some clarifying comments, reformatted the okiStepSize and imaStepTable tables (the former really is a subtable of the latter)
svn-id: r35106
2008-11-17 11:10:34 +00:00
Max Horn
1067a2ec77 Factoring shared code of template classes into a shared base class saves another 4-7kb code size
svn-id: r35104
2008-11-17 11:09:23 +00:00
Max Horn
be0f709be9 Saving 32kb DATA size
svn-id: r35103
2008-11-17 11:07:04 +00:00
Sven Hesse
b1fa413ed4 Implementing getTotalPlayTime() for AppendableMemoryStream
svn-id: r35098
2008-11-16 20:34:31 +00:00
Sven Hesse
24131d781a Added support for the ADPCM used in Discworld 2
svn-id: r35089
2008-11-15 19:40:01 +00:00
Johannes Schickel
cd5a85036d Fixed compiling of MT32 emulator with -O2 and -Werror.
svn-id: r35040
2008-11-13 11:41:25 +00:00
Max Horn
0c501d303f Verify sanity of LinearMemoryStream params in the factory function instead of the constructor (which is replicated for each instantiation of the LinearMemoryStream template class) -> saves some bytes
svn-id: r35014
2008-11-12 12:25:26 +00:00
Torbjörn Andersson
2bbc958373 Made getSoundElapseTime() work better when the sound has been paused. A new
variable, _pauseTime, keeps track of how long the sound has been paused since the
last mixer time stamp.

svn-id: r34955
2008-11-09 13:28:59 +00:00
Torbjörn Andersson
f71e1077e0 Fixed compile error.
svn-id: r34907
2008-11-05 21:10:12 +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
Max Horn
655ce26b3f Big patch changing the signature of various Stream methods (some ports may need to be slightly tweaked to fix overloading errors/warnings)
svn-id: r34514
2008-09-13 16:51:46 +00:00
Max Horn
0378201ec7 MT32 emu: eof -> eos
svn-id: r34390
2008-09-06 20:36:47 +00:00
Nicola Mettifogo
12106a1599 Removed useless dependencies from common/file.h in common code. When complete removal was not possibile, dependency has been pushed to the cpp files from the headers.
svn-id: r34343
2008-09-05 11:41:39 +00:00
Max Horn
5c72c2fca7 Removed unused readLine code from the MT-32 emu
svn-id: r34314
2008-09-03 17:46:42 +00:00
Max Horn
55a05dc0f4 Some cleanup by peres
svn-id: r34308
2008-09-03 15:22:19 +00:00
Filippos Karapetis
2d36c08d9f Fix for MSVC warning about ambiguous usage of MIN
svn-id: r34299
2008-09-03 10:10:45 +00:00
Max Horn
8032491381 Fix (?) Solaris detection in some workaround code in the MT-32 emulator
svn-id: r34216
2008-08-30 22:26:16 +00:00
Max Horn
31320430de Partial commit of patch #2012839: Atari Patch for adding Native MIDI and Fix Compile
svn-id: r34194
2008-08-27 18:52:21 +00:00
Torbjörn Andersson
d08c3ba66b Committed my patch #2040074 ("XMIDI callback control events"). At the moment, I'm
not aware of any game that actually uses this XMIDI feature, so its primary
function right now is to silence lots of warnings while running the DOS version
of Simon the Sorcerer 2.

svn-id: r33763
2008-08-10 17:59:42 +00:00
Max Horn
fb122a08eb Print a warning if unsupported XMIDI controllers are used
svn-id: r33495
2008-08-01 16:31:40 +00:00
Max Horn
0be985ce83 Changed class File (and derived classes) to only support read-only access; added a new class DumpFile for writing
svn-id: r33412
2008-07-29 16:09:10 +00:00
Max Horn
d24e770605 cleanup / code formatting
svn-id: r32973
2008-07-09 10:42:47 +00:00
Torbjörn Andersson
c2c4963e96 On reading some more about XMIDI, I believe the NEXT and BREAK variants of the
controller are mutually exclusive cases, i.e. a BREAK simply means forget about
the innermost loop, and continue as if nothing had happened.

svn-id: r32966
2008-07-08 16:25:39 +00:00
Torbjörn Andersson
ae026486ef Fixed silly error. The NEXT_BREAK event should, of course, jump to the event
*after* the FOR_LOOP event. Apart from simplifying things, this should allow
limited number of repeats to work.

svn-id: r32931
2008-07-06 19:25:32 +00:00
Torbjörn Andersson
1cc9af6b10 Implemented Good Enough(TM) XMIDI looping. This is used by Kyrandia 2 (the
loop hack is no longer needed, and has been removed), and will be used by
Discworld.

svn-id: r32930
2008-07-06 18:37:52 +00:00
Max Horn
c45d632f3b Patch ##1956946 (Audio::Mixer internal API revision) with some tweaks
svn-id: r32828
2008-06-28 15:28:29 +00:00
Johannes Schickel
d2ce912989 Fixed getTotalPlayTime implementation for MP3InputStream.
svn-id: r32755
2008-06-22 13:26:22 +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
33fd755a0e use kMaxChannelVolume instead of hardcoding 255
svn-id: r32666
2008-06-11 11:29:34 +00:00
Max Horn
63cb8227d3 Avoid some warnings when compiling in non-DEBUG mode (i.e. with assert() disabled)
svn-id: r32435
2008-05-31 19:35:37 +00:00
Johannes Schickel
9d13d90d4f - Cleanup code for FlacInputStream::getTotalPlayTime
- Reset input stream position in MP3InputStream after calculating total play time

svn-id: r32323
2008-05-27 13:28:47 +00:00
Johannes Schickel
e82295daa3 Implemented getTotalPlayTime for MP3InputStream.
svn-id: r32322
2008-05-27 13:15:51 +00:00
Jordi Vilalta Prat
2862a30dac Fixed some code formatting thanks to LordHoto
svn-id: r32275
2008-05-26 00:28:48 +00:00
Johannes Schickel
ff573ec1e2 Instead of simply returning 0 for "infinite" looping in FLAC and OGG/Vorbis streams in getTotalPlayTime return kUnknownPlayTime.
svn-id: r32265
2008-05-24 23:58:22 +00:00
Johannes Schickel
cff8ccccc9 Take numLoops in account for getTotalPlayTime in FLAC and OGG/Vorbis streams.
svn-id: r32264
2008-05-24 23:49:15 +00:00
Johannes Schickel
aba5082d19 Implementation of AudioStream::getTotalPlayTime for FLAC and OGG/Vorbis streams.
svn-id: r32263
2008-05-24 23:39:13 +00:00
Johannes Schickel
af7bc93c46 Made AudioStream::getTotalPlayTime virtual (Ooops :-)
svn-id: r32261
2008-05-24 22:59:20 +00:00
Max Horn
68fd8b74b0 Patch #1970427: AudioStream play length querying
svn-id: r32258
2008-05-24 22:41:15 +00:00
Max Horn
182ae52a98 typo
svn-id: r32245
2008-05-24 14:44:22 +00:00