aboutsummaryrefslogtreecommitdiff
path: root/engines/agi/sound.h
AgeCommit message (Collapse)Author
2011-08-14AGI: Make the sound code use AgiBase instead of AgiEngineMatthew Hoops
In preparation of using the sound code with Winnie
2011-08-13AGI: Implement note fetch routine for AGI v2.001 sound resourcesJussi Pitkanen
I suspect this is the format for AGI V1 sound resources as well. It is currently implemented by splitting getNextNote() to getNextNote_v2() and getNextNote_v1(). Since the V1 format consists of simple register values to the sound chip in PCjr, this could probably be made more cleanly by refactoring the code to resemble the chip more closely, so that its state is updated by writing to the registers.
2011-05-12GIT: Clean up: Suppress SVN tags, now uselessstrangerke
2011-02-09AUDIO: Rename sound/ dir to audio/Max Horn
svn-id: r55850
2010-06-15AGI: Split all sound generators into separate modules.Eugene Sandulenko
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-15AGI: Implement FR #2813133.Eugene Sandulenko
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-15AGI: properly setup Sound var.Eugene Sandulenko
svn-id: r49752
2010-06-15AGI: Implement FR #1913900.Eugene Sandulenko
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-15AGI: Split out IIgs sound emulator into separate files.Eugene Sandulenko
svn-id: r49749
2010-01-03Reduce header dependencies for AGI engine.Eugene Sandulenko
svn-id: r46942
2009-10-20AGI: Change g_useChorus to SoundMgr::_useChorus, and add FIXME comment about ↵Max Horn
it always being true (so maybe it can be removed?) svn-id: r45266
2009-10-09cleanupMax Horn
svn-id: r44810
2009-06-17Preliminary support for CoCo3 music.Eugene Sandulenko
svn-id: r41618
2008-10-13Patch #2131406: AGI: Fix Crash with Apple][ Instruments.Kari Salminen
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-02Renamed FilesystemNode -> FSNodeMax Horn
svn-id: r34716
2008-09-30AGI: Another case where it is better to use FSNodes directly, instead of ↵Max Horn
converting them to path strings svn-id: r34708
2008-08-13Fixed initialization of some SoundMgr-class's member variables. Moved ↵Kari Salminen
_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-13Reverted r33815 (But not r33816).Kari Salminen
svn-id: r33819
2008-08-13Changed Agi::SoundMgr's sound buffer to a member array of size BUFFER_SIZE. ↵Kari Salminen
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-04-21Fix timing in Apple IIGS MIDI parsing. Now sounds should get triggered at ↵Kari Salminen
the correct times without the previously observed time jitter effect. svn-id: r31636
2008-04-17Tiny cleanup: Fix a parameter name discrepancy between ↵Kari Salminen
IIgsChannelInfo::noteOn-function's declaration and definition introduced in r31550. svn-id: r31553
2008-04-17Implemented Apple IIGS MIDI playing with software mixing.Kari Salminen
(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-15Make convertWave-function static as it uses no member variables.Kari Salminen
svn-id: r31510
2008-04-15Cleanup (Remove unneeded functions and rename a struct correctly).Kari Salminen
svn-id: r31509
2008-04-15Move MIDI program change mappings to their own structs (Useful for later ↵Kari Salminen
changes). svn-id: r31508
2008-04-08Implement the full range of Apple IIGS MIDI program number to instrument ↵Kari Salminen
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-03Add Apple IIGS MIDI program number to instrument number mappings (Both for ↵Kari Salminen
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-01-27Removed trailing spaces.Jordi Vilalta Prat
svn-id: r30664
2007-09-03Some updates to preagi's sound system and code cleanupFilippos Karapetis
svn-id: r28844
2007-08-28Fix relative pitch handling (It's signed, was interpreted as unsigned before).Kari Salminen
svn-id: r28759
2007-08-21Added note of clarification on enum AgiSoundType's different values.Kari Salminen
svn-id: r28684
2007-08-19Made Apple IIGS MIDI file parsing work (They aren't completely standard MIDI ↵Kari Salminen
files). Enables playing the MIDI files (No sound! Only stepping through). Speed's probably not correct. svn-id: r28674
2007-08-19Some cleanup / const correctness / OOficationMax Horn
svn-id: r28671
2007-08-18Changed Apple IIGS sample playing frequency multiplier from 1076.0 to C6 ↵Kari Salminen
(i.e. about 1046.5). Commented out a warning that comes too often. svn-id: r28657
2007-08-18Added support for playing Apple IIGS samples. The code's not very pretty at ↵Kari Salminen
the moment (Work in progress). Apple IIGS MIDI sound probably broken somehow at the moment. svn-id: r28656
2007-08-17Added a definition for Apple IIGS sound emulation mode, made sound ↵Kari Salminen
initialization set it when appropriate and instruments loading use it. svn-id: r28647
2007-08-16Fixed some warningMax Horn
svn-id: r28638
2007-08-15Added rudimentary classes for different AGI sound resources (IIgsMidi, ↵Kari Salminen
IIgsSample, PCjrSound). Made existing code to at least work with PCjrSound. svn-id: r28630
2007-08-15Moved AgiSound definition around and also changed it from a struct to a class.Kari Salminen
svn-id: r28629
2007-08-15Removed use of decodeSound(int resnum). Not needed at the moment (Probably ↵Kari Salminen
going to be replaced by other functionality later). svn-id: r28627
2007-08-15Removed use of USE_IIGS_SOUND (#define).Kari Salminen
svn-id: r28626
2007-08-15Made AGI's 4-channel PCjr sound not need structure packing pragmas anymore. ↵Kari Salminen
Also added more use of little endian reading macros. svn-id: r28624
2007-08-14Shuffled around AgiGameID's declaration and an include to get stuff ↵Kari Salminen
hopefully working now with GCC too. svn-id: r28616
2007-08-14Added forward declaration for enum AgiGameID (Was breaking compilation on GCC).Kari Salminen
svn-id: r28615
2007-08-14Moved Apple IIGS related structs' read & finalize functions' implementations ↵Kari Salminen
to sound.cpp and left the declarations in sound.h. svn-id: r28614
2007-08-14Defined some functions in Agi::SoundMgr and moved stuff generally around ↵Kari Salminen
between AGI's sound.h and sound.cpp. Assimilated calcTrueSampleSize into another function. svn-id: r28613
2007-08-13Added a couple of simple AgiSound stop, play, isPlaying-functions.Kari Salminen
svn-id: r28598
2007-08-09Added Apple IIGS instruments and wave file loading.\n(Apple IIGS music ↵Kari Salminen
playing is broken at the moment). svn-id: r28508
2007-05-30Updated legal headers in source files, based on what Pidgin (the IM client ↵Max Horn
formerly knowns as Gaim) does; added new (incomplete) COPYRIGHT file; updated copyright dates in a few spots svn-id: r27024
2007-02-26Fix alignment issues in wince port.Kostas Nakos
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