aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile.am (unfollow)
Commit message (Collapse)AuthorFilesLines
2009-11-07set the close-on-exec flag on all file descriptorsMax Kellermann1-0/+8
Added the "fd_util" library, which attempts to use the new thread-safe Linux system calls pipe2(), accept4() and the options O_CLOEXEC, SOCK_CLOEXEC. Without these, it falls back to FD_CLOEXEC, which is not thread safe. This is particularly important for the "pipe" output plugin (and others, such as JACK/PulseAudio), because we were heavily leaking file descriptors to child processes.
2009-11-07command: added command "decoders"Max Kellermann1-0/+2
This command prints a list of decoder plugins and their suffixes / MIME types.
2009-11-07decoder_list: moved suffix/mime_type checks to decoder_plugin.cMax Kellermann1-0/+1
2009-11-06playlist: added extm3u pluginMax Kellermann1-0/+2
This new plugin parses extm3u files. Files without the "#EXTM3U" header are still parsed by the plain old "m3u" plugin.
2009-11-01text_file: allocate line buffers dynamicallyMax Kellermann1-0/+2
Use a single GString buffer object in all functions loading the database. Enlarge it automatically for long lines. This eliminates the maximum line length for tag values. There is still an upper limit of 512 kB to prevent denial of service, but that's reasonable I guess.
2009-10-26encoder: renaming none_encoder to null_encoderViliam Mateicka1-1/+1
2009-10-24encoder: new encoder plugin which just pass data throughViliam Mateicka1-0/+1
2009-10-24add --disable-inotify for configure to disable inotify when autodetectedViliam Mateicka1-1/+1
2009-10-23output/pulse: call mixer on state changesMax Kellermann1-0/+1
Don't let the mixer plugin "override" the libpulse callbacks. Instead, add a "mixer" attribute to the pulse_output struct, and call the mixer on all interesting events.
2009-10-22output/fifo: renamed source to fifo_output_plugin.cMax Kellermann1-1/+1
2009-10-22Makefile.am: enable the "subdir-objects" optionMax Kellermann1-1/+1
Don't clutter the top directory with *.o files.
2009-10-21playlist: new ASX playlist pluginMax Kellermann1-0/+2
Based on the XSPF playlist plugin.
2009-10-21output/jack: renamed source to jack_output_plugin.cMax Kellermann1-1/+1
2009-10-21pulse: code rewrite using the asynchronous libpulse APIMax Kellermann1-0/+1
This is a complete rewrite of the PulseAudio output plugin. It uses the asynchronous API, which gives us more control over everything. Additionally, it connects to the PulseAudio server on startup, and keeps this connection up while MPD runs. During pause, instead of closing the stream, it enables "cork".
2009-10-20mixer/{oss,alsa}: renamed the mixer source filesMax Kellermann1-2/+2
2009-10-20pulse: renamed source filesMax Kellermann1-2/+2
2009-10-16update: obey .mpdignore filesMax Kellermann1-0/+2
2009-10-15Add PLS ParserQball Cow1-0/+2
2009-10-13input/lastfm: removed obsolete last.fm input pluginMax Kellermann1-5/+0
This has been replaced by the last.fm playlist plugin. The input plugin has never worked well, and was just a playground to experiment with the last.fm radio protocol.
2009-10-13command: "load" supports remote playlists (m3u, xspf, lastfm://)Max Kellermann1-0/+2
This patch integrates the playlist plugin API to the MPD core. We'll be able to do much more in the future with that API, that's just the beginning.
2009-10-13playlist: added plugin for last.fm radioMax Kellermann1-0/+5
This plugin will replace the last.fm input plugin, once the playlist API is integrated into MPD.
2009-10-13playlist: added XSPF pluginMax Kellermann1-0/+2
2009-10-12playlist_plugin: new plugin API for playlist parsersMax Kellermann1-0/+30
Based on this API, we will add parsers for EXTM3U, PLS, ASX, last.fm radio and others. There is no integration into the MPD core yet. Right now, we have a command line test program. This is work in progress.
2009-10-12text_input_stream: input_stream wrapper for reading text filesMax Kellermann1-0/+2
2009-10-12song: moved code to song_update.cMax Kellermann1-0/+1
Moved all the code which depends on the decoder plugins to a separate source. That allows leaner test programs.
2009-09-25automatically update the database with Linux inotifyMax Kellermann1-0/+10
This patch implements a light-weight inotify library, and watches all directories below the music directory. It updates all directories where files changed after a delay of 5 seconds.
2009-09-24configure.ac: rename HAVE_CURL to ENABLE_CURLMax Kellermann1-1/+1
2009-09-24update: splitted update.c into several sourcesMax Kellermann1-0/+4
2009-09-06openal output pluginSerge Ziryukin1-0/+4
2009-08-26decoder/mpg123: new decoder plugin based on libmpg123Max Kellermann1-0/+6
Still missing: - seeking - tags - streaming - encodings other than MPG123_ENC_SIGNED_16
2009-08-24output/recorder: new output plugin for recording radio streamsMax Kellermann1-0/+4
The recorder plugin writes audio played by MPD to a file. This may be useful for recording radio streams. This implementation is incomplete, because support for tags is missing, and MPD should be able to record each track to a different file.
2009-07-28client: splitted client.c into several piecesMax Kellermann1-0/+9
The soure file client.c has nearly 1000 lines, time for splitting it into smaller pieces to improve readability.
2009-07-28client: moved struct client to client_internal.hMax Kellermann1-0/+1
Prepare splitting client.c into several sources.
2009-07-28cmdline: obey $(sysconfdir) for default mpd.conf locationMax Kellermann1-0/+2
Instead of hard-coding the path "/etc/mpd.conf", use the configured $(sysconfdir) path. This can be set with: ./configure --sysconfdir=/etc Note that this changes the default path to "/usr/local/etc/mpd.conf", given the default prefix "/usr/local". This is actually more correct than the old default.
2009-07-19Add reverse_endian field to struct audio_format and handle conversionDavid Woodhouse1-1/+3
2009-07-19removed buffer2array.cMax Kellermann1-2/+0
2009-07-19conf: use the tokenizer libraryMax Kellermann1-8/+8
2009-07-19tokenizer: new library replacing buffer2array()Max Kellermann1-0/+2
The new code is more robust and more flexible. It provides detailed error information in GError objects.
2009-07-15Makefile.am: disable test/run_encoder without pluginsMax Kellermann1-1/+3
If the encoder plugin API is disabled at compile time, don't compile test/run_encoder.c.
2009-07-14encoder/twolame: new encoder plugin based on libtwolameMax Kellermann1-0/+6
This encoder plugin is a replacement for the LAME encoder plugin for those who prefer a "free" (non-patent encumbered) encoder library. Most of the plugin source code is copied from the LAME encoder plugin, since the LAME and TwoLAME APIs are nearly the same.
2009-07-14Makefile.am: use WAVPACK_CFLAGS and WAVPACK_LIBSMax Kellermann1-0/+2
Don't append these to MPD_CFLAGS and MPD_LIBS.
2009-07-07decoder/sndfile: new decoder plugin based on libsndfileMax Kellermann1-0/+6
2009-07-06Makefile.am: disable test/run_encoder without pluginsMax Kellermann1-1/+3
If the encoder plugin API is disabled at compile time, don't compile test/run_encoder.c.
2009-07-06output: use the software mixer pluginMax Kellermann1-0/+1
Do all the software volume stuff inside each output thread, not in the player thread. This allows one software mixer per output device, and also allows the user to configure the mixer type (hardware or software) for each audio output. This moves the global "mixer_type" setting into the "audio_output" section, deprecating the "mixer_enabled" flag.
2009-07-06mixer/software: new mixer which controls filter/volumeMax Kellermann1-1/+7
This mixer plugin may be used instead of the traditional global software mixer. It integrates with the "volume" filter plugin, and can control the software volume of an audio output which has no hardware mixer.
2009-07-06output: attach a filter chain to each audio_outputMax Kellermann1-0/+2
This patch adds initial filter support for audio outputs. Each audio output gets a "filter" attribute, which is used by ao_play_chunk(). The PCM conversion is now performed by convert_filter_plugin. audio_output.convert_state has been removed.
2009-07-06filter/convert: new filter which calls pcm_convert() on demandMax Kellermann1-1/+10
2009-07-06filter/chain: new library for creating a chain of filtersMax Kellermann1-0/+2
2009-07-06mixer_type: moved volume_mixer_type from volume.cMax Kellermann1-0/+2
2009-07-05filter/volume: don't use volume_level_get()Max Kellermann1-0/+1
Added public methods to get and set the current volume.