aboutsummaryrefslogtreecommitdiffstats
path: root/src/decoder/ModplugDecoderPlugin.cxx (unfollow)
Commit message (Collapse)AuthorFilesLines
2014-01-24decoder/*: move to decoder/plugins/Max Kellermann1-215/+0
2014-01-13copyright year 2014Max Kellermann1-1/+1
2013-10-23input_stream: rename struct to InputStreamMax Kellermann1-8/+8
2013-10-21decoder: rename the struct to "Decoder"Max Kellermann1-4/+5
2013-10-21decoder_plugin: rename struct to DecoderPluginMax Kellermann1-1/+1
2013-10-21decoder/modplug: use WritableBuffer instead of GByteArrayMax Kellermann1-31/+30
Eliminate the temporary buffer, do I/O right into the WritableBuffer.
2013-10-21decoder/modplug: move code to LoadModPlugFile()Max Kellermann1-21/+17
2013-10-19decoder/modplug: Add "loop_count" parameterSebastian Thorarensen1-1/+16
The "loop_count" configuration parameter allows the user to set how many times a module with backward loops shall loop. "0" (the default) means a module is not allowed to use backward loops at all. "-1" enables inifinite looping.
2013-10-17InputStream: use int64_t instead of goffsetMax Kellermann1-3/+3
Decouple some more from GLib.
2013-10-02Log: new logging library APIMax Kellermann1-7/+8
Prepare to migrate away from GLib. Currently, we're still using GLib as a backend.
2013-09-27DecoderCommand: convert to strictly-typed enumMax Kellermann1-3/+3
2013-09-26decoder/modplug: fix include directoryMax Kellermann1-1/+3
Since Debian package 1:0.8.8.4-4, the pkg-config file does not contain -I/usr/include/libmodplug anymore, and we need to add the "libmodplug/" prefix to the #include line.
2013-09-05Tag, ...: move to libtag.aMax Kellermann1-1/+1
2013-09-05InputLegacy: move functions to the input_stream classMax Kellermann1-3/+4
2013-08-03audio_format: convert to C++Max Kellermann1-4/+3
2013-07-29tag_handler: convert to C++Max Kellermann1-1/+1
2013-07-28decoder_api: convert to C++Max Kellermann1-1/+1
2013-07-28decoder/modplug: convert to C++Max Kellermann1-28/+32
2013-01-26input_stream: forward-declare the structMax Kellermann1-5/+8
Hide the definition from C code, to prepare the transition to C++.
2012-02-11decoder_plugin: scan tags with callback tableMax Kellermann1-14/+14
Pass a callback table to scan_file() and scan_stream(), instead of returning a tag object.
2011-09-16input_stream: non-blocking I/OMax Kellermann1-1/+1
Add GMutex, GCond attributes which will be used by callers to conditionally wait on the stream. Remove the (now-useless) plugin method buffer(), wait on GCond instead. Lock the input_stream before each method call. Do the same with the playlist plugins.
2011-01-29copyright year 2011Max Kellermann1-1/+1
2010-01-04renamed decoder plugin sourcesMax Kellermann1-0/+0
Make it X_decoder_plugin.c.
2010-01-04decoder_api: added function decoder_replay_gain()Max Kellermann1-1/+1
This function replaces the replay_gain_info parameter for decoder_data(). This allows the decoder to announce replay gain changes, instead of having to pass the same object over and over.
2009-12-31Update copyright notices.Avuton Olrich1-1/+1
2009-12-31decoder: switch a bunch of plugins to stream_tag()Max Kellermann1-17/+7
This patch changes the following decoder plugins to implement stream_tag() instead of tag_dup(): faad, ffmpeg, mad, modplug, mp4ff, mpcdec, oggflac This simplifies their code, because they do not need to take care of opening/closing the stream.
2009-12-26decoder_api: added function decoder_timestamp()Max Kellermann1-6/+0
Remove the data_time parameter from decoder_data(). This patch eliminates the timestamp counting in most decoder plugins, because the MPD core will do it automatically by default.
2009-12-15input_stream: return errors with GErrorMax Kellermann1-1/+1
2009-12-02audio_format: changed "bits" to "enum sample_format"Max Kellermann1-1/+1
This patch prepares support for floating point samples (and probably other formats). It changes the meaning of the "bits" attribute from a bit count to a symbolic value.
2009-11-14decoder/modplug: count frame positionMax Kellermann1-13/+11
Don't maintain the current time stamp in a floating point variable, because this is subject to rounding errors.
2009-11-14decoder/modplug: floating point division for song durationMax Kellermann1-3/+1
More exact total time.
2009-11-14decoder/modplug: check ModPlug_Read() < 0Max Kellermann1-3/+1
Negative return values are not documented here, but since the function prototype is signed, let's be sure.
2009-11-14decoder: use audio_format_init_checked()Max Kellermann1-0/+2
Let the audio_check library verify the audio format in all (relevant, i.e. non-hardcoded) plugins.
2009-11-12include config.h in all sourcesMax Kellermann1-1/+2
After we've been hit by Large File Support problems several times in the past week (which only occur on 32 bit platforms, which I don't have), this is yet another attempt to fix the issue.
2009-10-13tag: removed the "_ITEM_" suffix from the enum namesMax Kellermann1-1/+1
2009-07-19Add audio_format_init() functionDavid Woodhouse1-3/+1
It makes no difference right now, but we're about to add an endianness flag and will want to make sure it's correctly initialised every time.
2009-07-15modplug: get track lengthSerge Ziryukin1-1/+1
2009-04-02decoder: Rename all main decoder plugins functions to *decoder_plugin.Avuton Olrich1-1/+1
2009-03-13all: Update copyright header.Avuton Olrich1-6/+7
This updates the copyright header to all be the same, which is pretty much an update of where to mail request for a copy of the GPL and the years of the MPD project. This also puts all committers under 'The Music Player Project' umbrella. These entries should go individually in the AUTHORS file, for consistancy.
2009-01-24modplug: removed EOF check from the while loopMax Kellermann1-2/+4
EOF is checked by input_stream_read() (decoder_read() here). Don't do it twice. The check was wrong anyway, it was reversed.
2009-01-24modplug: check for input_stream errorsMax Kellermann1-2/+8
When input_stream_read() returns 0, and input_stream_eof() returns false, an I/O error has occured. Skip this song.
2009-01-24modplug: use size_t instead of int for buffer sizesMax Kellermann1-1/+1
2009-01-24modplug: check size limit before appending new bufferMax Kellermann1-4/+4
Don't enlarge the GByteArray when the size limit may overflow in this operation; check the size limit first.
2009-01-24modplug: use GByteArray.len, remove total_lenMax Kellermann1-4/+2
The local variable "total_len" is superfluous because GByteArray always knows its size.
2009-01-24modplug: unknown size is -1; check for empty fileMax Kellermann1-5/+12
The input_stream API sets size to -1 when the size of the resource is not known. The modplug decoder checked for size==0, which would be an empty file.
2009-01-24modplug: header cleanupMax Kellermann1-2/+0
Don't include utils.h and log.h, they are relics from the past.
2009-01-24modplug: define G_LOG_DOMAINMax Kellermann1-0/+3
Make sure that log messages are decorated correctly.
2009-01-24modplug: declare constants as enumMax Kellermann1-4/+6
Don't write CPP if you can write C.
2009-01-24modplug: use only decoder_read(), not input_stream_read()Max Kellermann1-5/+1
You are allowed to call decoder_read() with decoder==NULL. It is a convenience function provided by the decoder API. Don't manually fall back to input_stream_read().
2009-01-24modplug: change settings before loading a fileAndrzej Rybczak1-6/+8
alternative settings must be set before the file is loaded, otherwise they won't be respected.