aboutsummaryrefslogtreecommitdiff
path: root/sound
AgeCommit message (Collapse)Author
2010-01-06- Add some functionallity to query the seconds and number of frames stored ↵Johannes Schickel
in a Timestamp. - Add tests for these svn-id: r47081
2010-01-06- Move openStreamFile from AudioStream to SeekableAudioStream.Johannes Schickel
- Fix documentation of openStreamFile. svn-id: r47080
2010-01-06Add more comparision operators to TimestampMax Horn
svn-id: r47071
2010-01-06Change the way Timestamp stores its data.Max Horn
Instead of storing milliseconds and frames (which causes rounding errors, and causes ambiguity in how a given time is stored), we now do things differently: We store a number of seconds, and frames. To make sure that we can still handle milliseconds accurately, though, we change the framerate to the least common multiple of the original framerate and 1000. So 60 becomes 6000, and 44100 becomes 441000. There are no visible changes for client code, except for the increased accuracy. svn-id: r47070
2010-01-06The current AIFF stream implementations returns a SeekableAudioStream, ↵Johannes Schickel
reflect that in its factory method. svn-id: r47067
2010-01-06Change the AudioStream::openStreamFile API to return SeekableAudioStreams ↵Johannes Schickel
and remove parameter for depreacted loop support. (We could consider moving this to SeekableAudioStream). svn-id: r47065
2010-01-05- Put the new factories for MP3, Vorbis and FLAC in place.Johannes Schickel
- Marked the loop factories with loop related parameters as deprecated. svn-id: r47061
2010-01-05Properly initialize _pos in LoopingChannel.Johannes Schickel
svn-id: r47055
2010-01-05Implement Timestamp::operator== as equality in time.Johannes Schickel
svn-id: r47054
2010-01-05Cleanup.Johannes Schickel
svn-id: r47052
2010-01-05Update ARM version of rate filler code in line with LordHoto's changeRobin Watts
in revision 47014. svn-id: r47051
2010-01-05Cleanup.Johannes Schickel
svn-id: r47046
2010-01-05- Initial implementation of looping of SeekableAudioStreams in Mixer.Johannes Schickel
- Adapted AudioCD code to use this for audio CD emulation. svn-id: r47045
2010-01-05Remove unsafe getTotalPlayTime from AudioStream.Johannes Schickel
svn-id: r47037
2010-01-05Add a "getLength" function to SeekableAudioStream.Johannes Schickel
svn-id: r47036
2010-01-05Add some basic documentation to the new Channel interface.Johannes Schickel
svn-id: r47034
2010-01-05- Do not calculate left/right channel volume every SimpleChannel::mix call ↵Johannes Schickel
anymore, but do it once - Notify a channel, when it's channel volume type changed from inside MixerImpl::setVolumeForSoundType svn-id: r47033
2010-01-05Get rid of public variables in Channel.Johannes Schickel
svn-id: r47032
2010-01-05Create a generic Channel interface for the default Mixer implementation.Johannes Schickel
svn-id: r47031
2010-01-05- Fix a bug in Channel::pause for recursive pausing.Johannes Schickel
- Fix bug in Channel:getElapsedTime, when called while the channel is paused. svn-id: r47029
2010-01-05Oops somehow I must have missed CopyRateConverter::flow, in r47014.Johannes Schickel
svn-id: r47016
2010-01-05Use the return value of RateConverter::flow to calculate the decoded samples ↵Johannes Schickel
and not the upper bound "len". (This should only be a difference when the audio stream has no more samples left) svn-id: r47015
2010-01-05Make RateConverter::flow return the number of sample pairs written, like ↵Johannes Schickel
it's documented in the .cpp file. svn-id: r47014
2010-01-05- Add a new SeekableAudioStream interface. Soon to be used to replace audio ↵Johannes Schickel
stream specific looping code by generic code in Mixer... - Adapted some existing AudioStreams to implement that interface (not tested!) svn-id: r47013
2010-01-04Switch Channel::getElapsedTime() to use a Timestamp for its computationsMax Horn
svn-id: r46995
2010-01-04Make some improvements for Audio::Timestamp.Max Horn
* Add convertToFramerate() method * Add framerate() method * Add operator == and != * Improve frameDiff() to work for two timestamps with distinct framerates * Improve Doxygen comments svn-id: r46994
2010-01-03- Remove unsafe default constructor of Audio::Timestamp.Johannes Schickel
- Add an assert which prevents the _frameRate from being 0 in the Audio::Timestamp constructor. svn-id: r46958
2010-01-03Fixed a bunch of cppcheck warnings. Mostly about checking if a pointer is nullTorbjörn Andersson
before freeing it, which isn't necessary. svn-id: r46941
2010-01-02SCI/new music code: Don't stop notes when looping for a holdWillem Jan Palenstijn
svn-id: r46897
2010-01-01This time properly fix getTotalPlayTime for looped FLAC, MP3 and VORBIS ↵Johannes Schickel
audio streams. svn-id: r46863
2010-01-01Mention in documentation of AudioStream::setNumLoops, that this function ↵Johannes Schickel
also resets the number of loops played counter. svn-id: r46862
2010-01-01Properly reset _numPlayedLoops in setNumLoops in all AudioStream ↵Johannes Schickel
implementations implementing setNumLoops. svn-id: r46861
2010-01-01init _numPlayedLoops inside LinearMemoryStreamMartin Kiewitz
svn-id: r46857
2010-01-01Fix getTotalPlayTime for MP3, FLAC, Vorbis and LinearMemoryStream after the ↵Johannes Schickel
latest loop related changes. svn-id: r46838
2010-01-01Implemented setNumLoops() for common audio streams.Eugene Sandulenko
Implemented getNumPlayedLoops() for common audio streams. Requested by m_kriewitz. svn-id: r46836
2010-01-01Extend doxygen comment for setNumLoops()Eugene Sandulenko
svn-id: r46832
2010-01-01Added setNumLoops() for linear memory streams, enables looping of samples in sciMartin Kiewitz
svn-id: r46821
2010-01-01Adding setNumLoops() to AudioStream classMartin Kiewitz
svn-id: r46819
2009-12-30Add Nintendo 64 port to trunk.Fabio Battaglia
svn-id: r46773
2009-12-30Fix bug #2923380 (AMIGAOS4: Compiler error)Jordi Vilalta Prat
svn-id: r46753
2009-12-29Add Mohawk engine code. Part 2/3: common code changes.Eugene Sandulenko
svn-id: r46728
2009-12-09Typo...Johannes Schickel
svn-id: r46319
2009-12-09This is hopefully fixing compilation of the fluidsynth code.Johannes Schickel
svn-id: r46318
2009-12-09Changed MidiDriver::createMidi to take a MidiDriverType instead of an intMax Horn
svn-id: r46316
2009-12-09Remove the Audio::Mixer parameter from the midi/music pluginsMax Horn
svn-id: r46315
2009-12-07Rename the MT-32 emulator driver name from "MT-32" to "MT-32 Emulation to ↵Johannes Schickel
avoid confusion. svn-id: r46271
2009-11-26Fix warnings.Johannes Schickel
svn-id: r46145
2009-11-26Add patch #2839048 - MM C64 sound/music player, with minor changes.Travis Howell
svn-id: r46143
2009-11-25Extend documentation slightly.Johannes Schickel
svn-id: r46141
2009-11-25Do not fall back to a auto detection of the OPL emulator, when the user ↵Johannes Schickel
selected OPL emulator does not support a mode asked for. We will now output a warning to the user in this case. That should be fine, since SCI is the only engine so far, which uses Dual OPL2 emulation. Albeit this is not supported by our MAME emulator the user will still get sound output, since the SCI engine will do proper recovery and fallback to single OPL2 emulation, which is supported by the MAME emulator. In case a engine would require a specifc mode (like OPL3) and the user selects MAME emulation, this might result in no sound output (or a crash), in case the engine does not take any care of testing whether the OPL creation succeeded. But luckily so far no engine does this, so it should be fine to not worry about that for now. svn-id: r46140