Commit Graph
67 Commits
Author SHA1 Message Date
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
Kari Salminen 985ac6ceaa Made calcTrueSampleSize seek back to stream's start when ending the function.
svn-id: r28595
2007-08-13 15:18:44 +00:00
Kari Salminen 8801cf9b3c Moved read- and finalize-functions into corresponding structs and fixed calls to them where needed.
svn-id: r28594
2007-08-13 15:13:58 +00:00
Kari Salminen c0cde76df9 Added more functions to help with determining the Apple IIGS samples' real lengths.
svn-id: r28592
2007-08-13 14:06:30 +00:00
Max Horn 3f22960a65 Fix warning() format string
svn-id: r28518
2007-08-11 08:16:18 +00:00
Kari Salminen 6ea171189b Added Apple IIGS sample's true size calculation (A zero byte can end the sample prematurely).
svn-id: r28514
2007-08-10 15:33:07 +00:00
Kari Salminen 9df29f1123 Parsing Apple IIGS wave info into more easily accessible variables in the memory.
svn-id: r28513
2007-08-10 13:04:59 +00:00
Kari Salminen f200150590 Added Apple IIGS instruments and wave file loading.\n(Apple IIGS music playing is broken at the moment).
svn-id: r28508
2007-08-09 17:44:07 +00:00
Kari Salminen ae1f66994e Brought back and changed some variables from inside a #if 0 ... #endif
svn-id: r28507
2007-08-09 17:26:41 +00:00
Kari Salminen 89c30c871f Removed old loadInstruments().
svn-id: r28506
2007-08-09 17:11:38 +00:00
Kari Salminen 03d5bbf253 Added a couple of new constants and modified an existing one.
svn-id: r28505
2007-08-09 17:07:36 +00:00