Commit Graph

289 Commits

Author SHA1 Message Date
Max Kellermann
000b2d4f3a music_pipe: added music_pipe_push()
Added music_pipe_allocate(), music_pipe_push() and
music_pipe_cancel().  Those functions allow the caller (decoder thread
in this case) to do its own chunk management.  The functions
music_pipe_flush() and music_pipe_tag() can now be removed.
2009-03-06 00:42:01 +01:00
Max Kellermann
c655f804a9 music_pipe: moved struct music_chunk to chunk.h 2009-03-03 22:23:25 +01:00
Max Kellermann
4220e6b0ad input_lastfm: new input plugin for last.fm radio
The lastfm input plugin enables MPD to play lastfm:// URLs.  This
plugin is not complete yet: it plays only the first song in the
last.fm playlist, and the playlist parser isn't even implemented
properly.
2009-03-02 23:11:31 +01:00
Max Kellermann
36d24fb7ea input: moved plugins to ./src/input/
Create a sub directory for input plugins.
2009-03-02 20:40:31 +01:00
Max Kellermann
2e51365ea4 input_stream: moved struct input_plugin to input_plugin.h
Start to separate private from public input_stream API.
2009-03-02 20:13:08 +01:00
Max Kellermann
2f438e5d23 tag_id3: parse ID3 tags in AIFF files
Added a small AIFF parser library, code copied from the RIFF parser
(big-endian integers).  Look for an "ID3" chunk, and let libid3tag
parse it.
2009-03-02 18:12:44 +01:00
Max Kellermann
336f624277 tag_id3: parse ID3 tags in RIFF/WAV files
Added a small RIFF parser library.  Look for an "id3" chunk, and let
libid3tag parse it.
2009-03-02 18:00:46 +01:00
Max Kellermann
b4f84fab34 configure.ac: make "xmlto" optional
Even when --enable-documentation is passed, don't abort if "xmlto" was
not found.
2009-03-01 01:26:04 +01:00
Max Kellermann
c4626143c9 Makefile.am: fixed xmlto output path
The output path must be ./doc/protocol/, not ./protocol/
2009-03-01 01:15:09 +01:00
Max Kellermann
362cc22558 test: added test program which reads tags from a file 2009-02-28 17:04:37 +01:00
Max Kellermann
4a2b315ab6 tag: moved APE code to tag_ape.c 2009-02-28 16:44:41 +01:00
Michal Nazarewicz
cabbf7ab4a pipe: new audio output plugin which runs a command
[mk: adapted to new output plugin API]
2009-02-28 16:11:59 +01:00
Max Kellermann
b55d9fcdb8 socket_util: added function sockaddr_to_string()
Create the socket_util.c library, the first function is
sockaddr_to_string(): it converts a sockaddr struct to a string
containing the IP address in a human-readable form.
2009-02-28 15:12:24 +01:00
Max Kellermann
0cf4f09e4f output_api: removed audio_output_get_name()
Use config_get_block_string("name") instead of audio_output_get_name().
2009-02-25 17:32:58 +01:00
Max Kellermann
4726c7f709 test: added encoder test program
Added a command line program which runs an encoder plugin.
2009-02-25 17:12:14 +01:00
Max Kellermann
e0e92e050e test: added decoder test program
Added a command line program which runs a decoder plugin.
2009-02-25 17:09:09 +01:00
Max Kellermann
bdb3129f18 configure.ac: declare AM_CFLAGS
Moved generic compiler options to AM_CFLAGS.  MPD_CFLAGS/MPD_LIBS will
hopefully fade away one day, in favor of more fine-grained variables.
2009-02-25 16:46:07 +01:00
Max Kellermann
6fdaa49668 Makefile.am: use AM_CPPFLAGS, AM_LDFLAGS
Renamed the old AM_CFLAGS to AM_CPPFLAGS, because it contained only
preprocessor options.  Append it to src_mpd_CPPFLAGS.  Removed
GLIB_LIBS from src_mpd_CPPFLAGS, because it is already part of
AM_LDFLAGS.
2009-02-25 16:45:23 +01:00
Max Kellermann
02c9c3e0d8 Makefile.am: added per-subsystem variables
Added "make" variables for the sources and dependencies of each
subsystem (archive, input, output, decoder, encoder, mixer).
2009-02-25 16:44:11 +01:00
Max Kellermann
6823217697 ls: moved generic URI utilities to uri.c
"ls" is a bad name for a library which parses URIs.  We'll move the
rest of the "ls" library later.
2009-02-25 16:44:06 +01:00
Max Kellermann
3b1a9aeca0 Makefile.am: no recursive makefiles
Recursive Makefiles are inefficient and error prone (no proper way to
declare dependencies).  Since there's no disadvantage in having one
single Makefile, let's do it.
2009-02-23 10:04:51 +01:00
Max Kellermann
76dc9ac5f9 test: added command line test program for pcm_volume.c
This program is a simple utility for debugging and benchmarking the
software volume code.
2009-02-18 22:27:55 +01:00
Max Kellermann
54387d1451 configure.ac: added switch for test programs
The switch syntax is "--enable-test".  There are no test programs yet.
2009-02-18 19:27:05 +01:00
Max Kellermann
d66dddb47e Makefile.am: distribute only real scripts
Don't distribute the whole scripts/ directory, because this may
include editor backup files and other temporary files.
2008-12-24 11:01:14 +01:00
Max Kellermann
51fd7cdfb7 Makefile.am: removed m4/* from EXTRA_DIST
The m4 files are automatically included in the distribution.
2008-12-24 10:56:53 +01:00
Max Kellermann
6260e0c8a0 Makefile.am: don't add directory into EXTRA_DIST
Add separate files.  This fixes "make distcheck".
2008-12-24 10:50:23 +01:00
Max Kellermann
20ec1a4810 Makefile.am: install documentation 2008-10-25 21:32:10 +02:00
Max Kellermann
90fdf07aa9 Makefile.am: require automake 1.9
With heavy use of conditionals, I broke Makefile.am for the ancient
automake version 1.6.  Instead of supporting this automake version
forever, I'm removing support for it now.  Since automake isn't
required on the build machine, nobody should have a serious problem
with that.
2008-10-18 07:21:04 +02:00
Max Kellermann
b2839540d6 Makefile.am: fix automake 1.6 errors
When building with the ancient automake 1.6 version, the following
errors occur:

 Makefile.am:5: invalid variable `doc_DATA'
 doc/Makefile.am:2: invalid variable `doc_DATA'

This patches renames some internal variables.
2008-10-16 15:00:02 +02:00
Max Kellermann
c0a9ef980f removed the "bs" build scripts
autotools are somewhat ugly, but that doesn't justify duplicating its
effort with another complex build system.
2008-10-16 15:00:00 +02:00
Richard Brown
50e038d1ef Makefile.am: don't override $(docdir)
Makefile.am sets docdir = $(prefix)/share/doc/$(PACKAGE). This
overrides the setting specified in ./configure --docdir.
2008-10-14 18:32:46 +02:00
Eric Wong
016af692d9 autotools: tidy up make dist
* Add missing headers in Makefile.am
* remove mp4ff.dsp (Win32 crap)
* Add scripts, m4, bs, autogen.sh to allow for hotfixes by the
  SCM-challenged.  (downloading the source via git is NOT a
  lightweight operation for everybody).
2008-10-06 18:54:12 +02:00
Max Kellermann
9899ab5ac2 properly configure the M4 macro directory
Add information about the M4 macro dir ./m4/ to both configure.ac and
Makefile.am.
2008-09-23 22:38:46 +02:00
Eric Wong
b79f6b882a Merge branches/ew r7104
thread-safety work in preparation for rewrite to use pthreads

Expect no regressions against trunk (r7078), possibly minor
performance improvements in update (due to fewer heap
allocations), but increased stack usage.

Applied the following patches:

* maxpath_str for reentrancy (temporary fix, reverted)
* path: start working on thread-safe variants of these methods
* Re-entrancy work on path/character-set conversions
* directory.c: exploreDirectory() use reentrant functions here
* directory/update: more use of reentrant functions + cleanups
* string_toupper: a strdup-less version of strDupToUpper
* get_song_url: a static-variable-free version of getSongUrl()
* Use reentrant/thread-safe get_song_url everywhere
* replace rmp2amp with the reentrant version, rmp2amp_r
* Get rid of the non-reentrant/non-thread-safe rpp2app, too.
* buffer2array: assert strdup() returns a usable value in unit tests
* replace utf8ToFsCharset and fsCharsetToUtf8 with thread-safe variants
* fix storing playlists w/o absolute paths
* parent_path(), a reentrant version of parentPath()
* parentPath => parent_path for reentrancy and thread-safety
* allow "make test" to automatically run embedded unit tests
* remove convStrDup() and maxpath_str()
* use MPD_PATH_MAX everywhere instead of MAXPATHLEN
* path: get rid of appendSlash, pfx_path and just use pfx_dir
* get_song_url: fix the ability to play songs in the top-level music_directory

git-svn-id: https://svn.musicpd.org/mpd/trunk@7106 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-12-28 02:56:25 +00:00
Eric Wong
0c24fc0cb3 add sparse-check target to makefiles
sparse is a semantic parser developed for the Linux kernel,
but works for any project written (ANSI) C.

You can get sparse via git here:
git clone git://www.kernel.org/pub/scm/devel/sparse/sparse.git

git-svn-id: https://svn.musicpd.org/mpd/trunk@4377 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-17 00:15:31 +00:00
Warren Dukes
7c861b334b don't generate .bz2 for make dist
git-svn-id: https://svn.musicpd.org/mpd/trunk@493 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-03-26 05:13:21 +00:00
Warren Dukes
b2abb5778b make dist generate a bzip2
git-svn-id: https://svn.musicpd.org/mpd/trunk@256 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-03-12 15:29:37 +00:00
Warren Dukes
a3fded301e autogen.sh updates
git-svn-id: https://svn.musicpd.org/mpd/trunk@255 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-03-12 15:26:41 +00:00
Warren Dukes
d35747a40c import from SF CVS
git-svn-id: https://svn.musicpd.org/mpd/trunk@1 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-02-23 23:41:20 +00:00