Commit Graph

56 Commits

Author SHA1 Message Date
strangerke
69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Max Horn
42ab839dd6 AUDIO: Rename sound/ dir to audio/
svn-id: r55850
2011-02-09 01:09:01 +00:00
Eugene Sandulenko
ceb2909e0a AGI: Split all sound generators into separate modules.
Now the sound subsystem of the engine finally is possible to grasp.
Also now it is obvious why CoCo3 sounds are not functioning.

svn-id: r49757
2010-06-15 10:36:54 +00:00
Eugene Sandulenko
6903fc7a07 AGI: Implement FR #2813133.
FR #2813133: "AGI: Proper Tandy 3-Voice/IBM PCjr Sound Support".
Add proper Tandy music. Heavily based on NAGI source, thus attached
its X11 license.

To run it now use -e pcjr. Old one is still default for adlib but
most likely will be changed in the future.

Also lied ground for further separation of different sound generators.

svn-id: r49755
2010-06-15 10:36:10 +00:00
Eugene Sandulenko
c7e9b620ee AGI: properly setup Sound var.
svn-id: r49752
2010-06-15 10:35:10 +00:00
Eugene Sandulenko
0a1a919406 AGI: Implement FR #1913900.
FR #1913900: "AGI: MIDI support".
Currently it gets selected when Adlib is chosen. Finding a better
way to do it is a todo.

Also default instrument mapping is plain.

Based on original code by Jens. Christian Restemeier.

svn-id: r49751
2010-06-15 10:34:45 +00:00
Eugene Sandulenko
38ef876d5b AGI: Split out IIgs sound emulator into separate files.
svn-id: r49749
2010-06-15 10:33:57 +00:00
Eugene Sandulenko
8ad5694cb1 Reduce header dependencies for AGI engine.
svn-id: r46942
2010-01-03 20:15:44 +00:00
Max Horn
66fae7bc8a AGI: Change g_useChorus to SoundMgr::_useChorus, and add FIXME comment about it always being true (so maybe it can be removed?)
svn-id: r45266
2009-10-20 12:22:30 +00:00
Max Horn
b846fd6aca cleanup
svn-id: r44810
2009-10-09 09:41:53 +00:00
Eugene Sandulenko
c96ec85dbb Preliminary support for CoCo3 music.
svn-id: r41618
2009-06-17 23:16:21 +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
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
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