Commit Graph
127 Commits
Author SHA1 Message Date
Max Horn 63e7836dec AGI: fsnodeNameEqualsIgnoreCase and FSNode usage should be replaced by SearchMan
svn-id: r35130
2008-11-20 13:50:26 +00:00
Kari Salminen c949eb2dac Patch #2131406: AGI: Fix Crash with Apple][ Instruments.
Applied the patch as it is, thanks clone2727.
Now Apple IIGS AGI games don't crash anymore if the
instruments (They're in *.SYS16) or the instrument
samples (They're in SIERRASTANDARD) aren't found.

svn-id: r34798
2008-10-13 19:17:51 +00:00
Max Horn c7fde102e3 Renamed FilesystemNode -> FSNode
svn-id: r34716
2008-10-02 16:58:59 +00:00
Max Horn 1d7de023d9 AGI: Another case where it is better to use FSNodes directly, instead of converting them to path strings
svn-id: r34708
2008-09-30 16:23:35 +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 531bcf847c Moved FilesystemNode / FSList to namespace Common; also got rid of some 'typedef Common::String String;' name aliases
svn-id: r34302
2008-09-03 11:22:51 +00:00
Kari Salminen 09762ac7a6 Fixed initialization of some SoundMgr-class's member variables. Moved _sndBuffer's allocation to SoundMgr's constructor and its deallocation to the destructor. Made fillAudio SoundMgr's method and removed a superfluous global static variable 'int16 *buffer'. Should help with the occasional crashes when starting the first sound in an AGI game.
svn-id: r33822
2008-08-13 11:57:48 +00:00
Kari Salminen f69cc559b9 Reverted r33815 (But not r33816).
svn-id: r33819
2008-08-13 11:36:45 +00:00
Kari Salminen be9192687b Shutting up Valgrind about using uninitialised values from array _chn in function stopNote.
svn-id: r33816
2008-08-13 01:10:03 +00:00
Kari Salminen eeba630cbf Changed Agi::SoundMgr's sound buffer to a member array of size BUFFER_SIZE. Also added initialization of _playing to false in SoundMgr's constructor. Hopefully helps with the occasional crashes in the sound code when starting the first sound in an AGI game.
svn-id: r33815
2008-08-13 01:02:00 +00:00
Kari Salminen 38b2fb1322 Fix timing in Apple IIGS MIDI parsing. Now sounds should get triggered at the correct times without the previously observed time jitter effect.
svn-id: r31636
2008-04-21 04:04:24 +00:00
Johannes Schickel b03ec8ac75 Fixed gcc warnings.
svn-id: r31550
2008-04-17 18:28:28 +00:00
John Willis 7828d50384 Fix building with GCC (a few extra ;'s got in there somehow).
svn-id: r31545
2008-04-17 17:40:28 +00:00
Kari Salminen 29e2b19c92 Implemented Apple IIGS MIDI playing with software mixing.
(NOTE: As you can hear this is a work in progress ;-))
- Added IIgsSoundMgr class for handling Apple IIGS sounds and moved functionality inside it
- Added IIgsMidiChannel class for handling Apple IIGS MIDI channels
- Made sound effects playing use the IIgsSoundMgr class too
- Modified software mixing routine to mix multiple sounds

svn-id: r31544
2008-04-17 17:18:43 +00:00
Kari Salminen 719c85f0ca Make convertWave-function static as it uses no member variables.
svn-id: r31510
2008-04-15 23:00:34 +00:00
Kari Salminen 875ee5c913 Cleanup (Remove unneeded functions and rename a struct correctly).
svn-id: r31509
2008-04-15 22:35:30 +00:00
Kari Salminen ade3c38dc1 Move MIDI program change mappings to their own structs (Useful for later changes).
svn-id: r31508
2008-04-15 22:31:08 +00:00
Kari Salminen 4cc4bd0f41 Implement the full range of Apple IIGS MIDI program number to instrument mapping. Switch to using 8-bit signed sample data with Apple IIGS (In preparation for mixing multiple channels). Make Apple IIGS wavefile handling use SharedPtr and Array.
svn-id: r31451
2008-04-08 14:45:42 +00:00
Kari Salminen 510a81bbd8 Add Apple IIGS MIDI program number to instrument number mappings (Both for the older instrument set used by SQ1 only and for the newer instrument set used by all the other tested Apple IIGS games).
svn-id: r31371
2008-04-03 22:15:59 +00:00
Kari Salminen 25ff174193 After further testing it seems Apple IIGS midi playing speed is actually 60 ticks per second. Hurrah!
svn-id: r31367
2008-04-03 18:31:30 +00:00
Kari Salminen 84105227f2 Fix naming of the Apple IIGS midi speed variable and its value (Was erronously named bpm although was really ticks per second rather than ticks per minute).
svn-id: r31366
2008-04-03 18:12:09 +00:00
Kari Salminen 4836c1109c Fix Apple IIGS midi playing speed (Based on tests with Apple IIGS KQ1 and SQ1 under MESS 0.124a)
svn-id: r31365
2008-04-03 14:33:53 +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 c3d3aebe87 Patch #1768757: Merge fsnode-gsoc into trunk (MAJOR change, will break compilation on some ports)
svn-id: r28944
2007-09-18 20:02:04 +00:00
Max Horn 4cc9d17c34 Adding various FIXME comments to bogus (non-self-explanatory) existing FIXME comments; and some other related cleanup
svn-id: r28890
2007-09-11 09:20:39 +00:00
Max Horn 750ad32030 Fix warning about unused static function
svn-id: r28847
2007-09-03 12:23:50 +00:00
Filippos Karapetis 51554b6f20 Some updates to preagi's sound system and code cleanup
svn-id: r28844
2007-09-03 09:39:15 +00:00
Kari Salminen a4780a8f82 Fix relative pitch handling (It's signed, was interpreted as unsigned before).
svn-id: r28759
2007-08-28 10:41:25 +00:00
Kari Salminen c2c9ab9a22 An encountered zero in an Apple IIGS sample stream turns off looping for that stream. Implemented this.
svn-id: r28688
2007-08-21 15:51:28 +00:00
Kari Salminen ef0bd468a2 Made Apple IIGS MIDI file parsing work (They aren't completely standard MIDI files). Enables playing the MIDI files (No sound! Only stepping through). Speed's probably not correct.
svn-id: r28674
2007-08-19 23:57:12 +00:00
Kari Salminen 42e257b08d Removed superfluous variable checkings. Made it so that Apple IIGS mixing code doesn't try to mix MIDI sounds yet as mixing them isn't yet supported.
svn-id: r28673
2007-08-19 23:33:22 +00:00
Kari Salminen 72fd923cf5 Fixes previously crashing sound. Crash happened because of PCjr 4-channel mixing code trying to use uninitialized values (phase, ins etc) when mixSound was called before anything was playing.
svn-id: r28672
2007-08-19 23:28:38 +00:00
Max Horn 5b711795d0 Some cleanup / const correctness / OOfication
svn-id: r28671
2007-08-19 20:48:11 +00:00
Max Horn df9414c9a1 Fixed warning about global symbol 'chn' being shadowed by local declaration 'chn' (note: naming a global var 'chn' is probably a bad idea. And using a class would be far better anyway ;)
svn-id: r28669
2007-08-19 20:31:15 +00:00
Kari Salminen a777b3e64f Changed Apple IIGS sample playing frequency multiplier from 1076.0 to C6 (i.e. about 1046.5). Commented out a warning that comes too often.
svn-id: r28657
2007-08-18 15:54:29 +00:00
Kari Salminen d862dc430d Added support for playing Apple IIGS samples. The code's not very pretty at the moment (Work in progress). Apple IIGS MIDI sound probably broken somehow at the moment.
svn-id: r28656
2007-08-18 12:41:24 +00:00
Kari Salminen aa8db3f74f Added a definition for Apple IIGS sound emulation mode, made sound initialization set it when appropriate and instruments loading use it.
svn-id: r28647
2007-08-17 13:10:57 +00:00
Max Horn 47b2f533f0 Fixed some warning
svn-id: r28638
2007-08-16 18:42:28 +00:00
Kari Salminen c987d6aaf0 Added rudimentary classes for different AGI sound resources (IIgsMidi, IIgsSample, PCjrSound). Made existing code to at least work with PCjrSound.
svn-id: r28630
2007-08-15 22:00:31 +00:00
Kari Salminen ec3f37956d Removed unneeded code from inside #if 0 ... #endif -clauses.
svn-id: r28628
2007-08-15 16:46:37 +00:00
Kari Salminen fa9a6cef84 Removed use of decodeSound(int resnum). Not needed at the moment (Probably going to be replaced by other functionality later).
svn-id: r28627
2007-08-15 16:44:13 +00:00
Kari Salminen fe9bb43622 Removed use of USE_IIGS_SOUND (#define).
svn-id: r28626
2007-08-15 16:40:45 +00:00
Kari Salminen d4998087aa Changed use of USE_CHORUS (#define) to g_useChorus (static boolean).
svn-id: r28625
2007-08-15 16:31:15 +00:00
Kari Salminen 4d83eef351 Made AGI's 4-channel PCjr sound not need structure packing pragmas anymore. Also added more use of little endian reading macros.
svn-id: r28624
2007-08-15 15:55:38 +00:00
Kari Salminen 8a8b97c230 Moved Apple IIGS related structs' read & finalize functions' implementations to sound.cpp and left the declarations in sound.h.
svn-id: r28614
2007-08-14 12:54:57 +00:00
Kari Salminen af85709cfd Defined some functions in Agi::SoundMgr and moved stuff generally around between AGI's sound.h and sound.cpp. Assimilated calcTrueSampleSize into another function.
svn-id: r28613
2007-08-14 12:44:44 +00:00
Kari Salminen 27ea9d581b Unified intendation, purely visual changes.
svn-id: r28611
2007-08-14 08:49:20 +00:00
Kari Salminen cbba39d0bb Not saving Apple IIGS instrument header's unneeded info anymore (Priority increment and spare byte).
svn-id: r28610
2007-08-14 08:47:49 +00:00
Kari Salminen 7460eb55a1 Added a couple of simple AgiSound stop, play, isPlaying-functions.
svn-id: r28598
2007-08-13 21:15:27 +00:00
Kari Salminen eb7dd9970f Grouped wave lists together into oscillators (Oscillators always consists of two waves).
svn-id: r28597
2007-08-13 16:05:46 +00:00