Kari Salminen
f69cc559b9
Reverted r33815 (But not r33816).
...
svn-id: r33819
2008-08-13 11:36:45 +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
Kari Salminen
14918b05d1
Tiny cleanup: Fix a parameter name discrepancy between IIgsChannelInfo::noteOn-function's declaration and definition introduced in r31550.
...
svn-id: r31553
2008-04-17 21:05:20 +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
Jordi Vilalta Prat
66e9d4f5e8
Removed trailing spaces.
...
svn-id: r30664
2008-01-27 19:47:41 +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
55896e7584
Added note of clarification on enum AgiSoundType's different values.
...
svn-id: r28684
2007-08-21 09:12:00 +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
Max Horn
5b711795d0
Some cleanup / const correctness / OOfication
...
svn-id: r28671
2007-08-19 20:48:11 +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
b99153050a
Moved AgiSound definition around and also changed it from a struct to a class.
...
svn-id: r28629
2007-08-15 18:37:52 +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
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
e888aa1217
Shuffled around AgiGameID's declaration and an include to get stuff hopefully working now with GCC too.
...
svn-id: r28616
2007-08-14 13:36:03 +00:00
Kari Salminen
f55c8407b0
Added forward declaration for enum AgiGameID (Was breaking compilation on GCC).
...
svn-id: r28615
2007-08-14 13:12:06 +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
7460eb55a1
Added a couple of simple AgiSound stop, play, isPlaying-functions.
...
svn-id: r28598
2007-08-13 21:15:27 +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
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
Kostas Nakos
1af4932242
Fix alignment issues in wince port.
...
This patch/bug is closely related to the behavior shown in agos engine (see https://sourceforge.net/tracker/?func=detail&aid=1657436&group_id=37116&atid=418822 ).
Every time structs are used to extract data from a buffer, these structs have to be packed.
It is not OK to assume that the compiler does not pad the struct, or that it doesn't have alignment assumptions voodoo (see cited patch).
svn-id: r25881
2007-02-26 18:34:00 +00:00
Max Horn
227a080e5b
Patch #1663933 (Kill premix channel) with a few tiny additional tweaks by me
...
svn-id: r25752
2007-02-20 18:50:17 +00:00
Paweł Kołodziejski
b47eb95316
Formating names in source code
...
svn-id: r25101
2007-01-16 12:40:51 +00:00
Torbjörn Andersson
efb38a5d60
Fixed compile errors (for me at least). Still plenty of warnings, though.
...
svn-id: r24809
2006-12-06 19:44:27 +00:00
Paweł Kołodziejski
1d3ca2e409
first phase of objectisation of agi engine
...
svn-id: r24808
2006-12-06 19:27:02 +00:00
Torbjörn Andersson
1bec2024a6
From what I understand, the __ prefix is generally reserved for system headers,
...
so I've removed most of them. There's still some in list.h, but that should
probably be replaced by our own list handler some day.
svn-id: r22611
2006-05-24 14:25:42 +00:00
Paweł Kołodziejski
20cf952b68
removed defines USE_PCM_SOUND, AGDS_SUPPORT, USE_HIRES
...
svn-id: r22609
2006-05-24 14:00:08 +00:00
Torbjörn Andersson
f7bacd746f
Seems like the sound is generated at 22050 Hz regardless of output sample rate.
...
Hopefully, that will change in the future.
svn-id: r22595
2006-05-24 05:17:48 +00:00
Paweł Kołodziejski
107073537e
imported AGI engine
...
svn-id: r22588
2006-05-23 23:43:52 +00:00