Max Kellermann
9328558fc7
tag_ape: support album artist
...
I took this tag name from a MusePack sample file I got from a user.
It is not documented in the APE specification:
http://wiki.hydrogenaudio.org/index.php?title=APE_key
People seem to be using undocumented extensions to the specification
anyway, and the best we can do is attempt to support them.
2010-06-30 21:16:28 +02:00
Max Kellermann
026bd15872
tag_ape: simplified the apeItems array
...
Make "enum tag_type" the array index, and convert apeItems to a sparse
array.
2010-06-30 21:15:52 +02:00
Max Kellermann
7cca55549b
tag_ape: moved code to tag_ape_import_item()
...
Improve code readability.
2010-06-30 21:15:39 +02:00
Max Kellermann
c7e89ea3a3
tag_ape: converted apeItems and tagItems to global vars
...
Don't initialize those arrays each time tag_ape_load() is called.
2010-06-30 21:15:14 +02:00
Max Kellermann
002b283433
configure.ac: check ffmpeg version number with pkg-config
...
Replace the check for avcodec_decode_audio2(), assume it's present in
libavcodec version 51.
2010-06-30 10:51:07 +02:00
Max Kellermann
5a2820ca3d
pcm_buffer: make the buffer pointer "void"
2010-06-30 08:21:48 +02:00
Max Kellermann
9eb292c1e5
decoder/mp4ff: support tag "album artist"
...
We already supported "albumartist", but it seems some folks also use
"album artist" (with a space).
2010-06-25 22:54:18 +02:00
Max Kellermann
5216cfb3c8
playlist_print: use playlist_open_any()
...
Allow printing remote playlists with the commands "listplaylist" and
"listplaylistinfo".
2010-06-25 22:43:52 +02:00
Max Kellermann
373d1843a8
playlist_queue: use playlist_open_any()
2010-06-25 22:43:52 +02:00
Max Kellermann
82ee278f53
playlist_any: new library to simplify opening playlist files
...
The new function playlist_open_any() combines playlist_mapper_open(),
playlist_list_open_uri() and playlist_list_open_stream(), providing an
easy API for all of them.
2010-06-25 22:43:52 +02:00
Max Kellermann
c27fc26ecd
playlist_list: probe plugin without MIME attributes
...
If the MIME type of a stream contains a semicolon, remove it and the
text after it to probe for a playlist plugin.
2010-06-25 22:43:52 +02:00
Max Kellermann
fba13bd5d2
playlist_queue: simplify error handler
...
Return early on error, save one level of indent.
2010-06-25 22:37:34 +02:00
Max Kellermann
68f75955d8
playlist_list: moved input_stream.ready loop to calling function
...
Merged both loops into playlist_list_open_stream(). This is needed
because playlist_list_open_stream() needs to know the MIME type, which
is only known after the stream has become "ready".
2010-06-25 22:37:34 +02:00
Max Kellermann
cd21cfc115
uri: really count dots in verify_uri_segment()
...
This buggy implementation failed to allow "..." sequences, because the
dot count was always zero. The usefulness of allowing "..." (or more
dots) is debatable, but since it's a valid file name, we allow it.
2010-06-25 21:56:12 +02:00
Max Kellermann
05703cf73b
update .gitignore
2010-06-25 21:46:16 +02:00
Max Kellermann
1ea10db953
playlist/cue: last track ends at end of file
...
libcue's track_get_length() returns 0 for the last track, because that
information is not available in the CUE sheet. This makes MPD quit
playing the last track immediately. If we set "song.end_ms=0", MPD
will play the track until the end of the song file, which is what we
want.
2010-06-25 20:02:55 +02:00
Max Kellermann
eb6188f8c0
test/dump_playlist: print open-ended range
2010-06-25 20:02:55 +02:00
Max Kellermann
6bb7a7439d
song_print: simplified start_ms/end_ms check
2010-06-25 20:02:55 +02:00
Aaron Griffith
ca6110d92f
playlist_list: wait for input stream to become ready
...
Fixes an assertion failure in the input_stream_seek() call.
2010-06-25 19:20:20 +02:00
Avuton Olrich
a219d488d0
Modify version string to post-release version 0.16~git
2010-06-22 04:45:24 -07:00
Avuton Olrich
1746257492
mpd version 0.16~alpha1
2010-06-22 04:45:24 -07:00
Max Kellermann
07423c300e
Makefile.am: append LIBWRAP_LDFLAGS to OUTPUT_LIBS
...
This fixes test/run_output.
2010-06-21 09:45:35 +02:00
Andreas Vögele
69fcdc6a07
autogen.sh: don't use "+" in sed expression
...
Replaces the expression [0-9]\+ by [0-9][0-9]* in autogen.sh. The
special character \+ is not POSIX compatible and thus not supported by
all sed implementations.
2010-06-19 13:49:20 +02:00
Andreas Vögele
dda5415def
Make get_remote_uid() work on BSD
...
I've attached a patch that will make file URIs work on operating systems
that provide the getpeereid() function call to check the user ID of the
peer connected to a UNIX domain socket.
2010-06-19 13:47:10 +02:00
Andrzej Rybczak
4347114455
client: increase send_buf from 4kB to 16kB
...
this greatly improves performance of commands that return a lot
of data, e.g. search results or recursive content of a directory,
while being connected to local mpd via tcp/ip socket.
2010-06-19 13:45:54 +02:00
Max Kellermann
9fb26b5617
playlist: check "queued" before calling playlist_update_queued_song()
...
Workaround for an assertion failure.
2010-06-19 13:45:15 +02:00
Max Kellermann
442b327582
playlist: protect acess to player state in playlist_sync()
2010-06-19 13:33:39 +02:00
Max Kellermann
cff727644d
playlist: move checks out of playlist_sync_with_queue()
...
Rename the function to playlist_song_started(), which gets only called
if the song has actually started.
2010-06-19 13:33:32 +02:00
Max Kellermann
7f80349494
player_control: hold mutex in pc_play(), pc_pause()
...
Race condition fix.
2010-06-19 13:19:30 +02:00
Avuton Olrich
a6ef696132
Makefile.am: distribute refcount.h
2010-06-13 19:49:38 -07:00
Max Kellermann
53f08a95eb
Makefile.am: distribute open.h
2010-06-08 21:40:51 +02:00
Max Kellermann
d0d2d6ed1b
filter/route: fixed unsigned/signed comparison
...
Fixes a clang warning.
2010-06-06 21:56:30 +02:00
Tim Phipps
4e83b79d2b
output/httpd: add libwrap support
...
libwrap support is in MPD but only for the control port. This patch
adds support for the http port. The code is copied from
src/client_new.c
2010-06-06 21:53:24 +02:00
Max Kellermann
37e69a89b9
directory_print: print a list of playlist files in "lsinfo"
...
Print those files which can be handled by a playlist plugin.
2010-06-01 10:00:01 +02:00
Max Kellermann
6f28eb4c0a
playlist_list: export playlist_suffix_supported()
2010-06-01 09:59:56 +02:00
Max Kellermann
caf93d9a2c
playlist_list: playlist_list_open_path() returns input_stream
...
Memory leak fix. The input_stream object passed to
playlist_list_open_stream_suffix() must be closed by the caller - this
however never happens in playlist_list_open_path(), because it does
not return it to the caller.
2010-06-01 09:59:54 +02:00
Max Kellermann
747e945d29
playlist_list: move fallback g_uri_parse_scheme() to glib_compat.h
2010-06-01 09:59:52 +02:00
Max Kellermann
067d7212bf
playlist: emit IDLE_OPTIONS when resetting single mode
2010-06-01 09:59:46 +02:00
Romain Bignon
867b93a5b2
single mode: at the end of the song, pause on the next song instead of stop
2010-05-31 23:36:16 +02:00
Max Kellermann
53647c8ba1
directory_print: return void
...
There is no useful return value here.
2010-05-31 22:16:03 +02:00
Romain Bignon
b571ba27a4
fix crash when decoder is NULL
2010-05-31 22:11:59 +02:00
Max Kellermann
de8f2739c2
decoder/mikmod: fix memory leak
...
The return value of Player_LoadTitle() is allocated with malloc(), and
must be freed by the caller.
2010-05-31 10:24:08 +02:00
Max Kellermann
2c1c588868
decoder/mikmod: duplicate the path only once
2010-05-31 10:22:08 +02:00
Max Kellermann
e271f69a34
decoder/mikdmod: moved local variable declarations in tag_dup()
2010-05-31 10:16:09 +02:00
Max Kellermann
39105f2119
decoder/wildmidi: moved local variable declarations in tag_dup()
2010-05-31 10:14:48 +02:00
Max Kellermann
4e080a9b06
decoder/gme: replace macro GME_BUF_SIZE
...
Added macros with better names: GME_BUFFER_FRAMES, GME_BUFFER_SAMPLES
(the former only used to calculate the latter).
2010-05-31 10:03:43 +02:00
Max Kellermann
d55740808d
decoder/gme: added constants for sample rate and channels
...
Move into enums.
2010-05-31 10:02:43 +02:00
Max Kellermann
6566038df9
decoder/gme: pass the whole buffer to decoder_data()
...
Pass sizeof(buf) to decoder_data(), not the number of samples (which
is half the size). At the same time, pass GME_BUF_SIZE to gme_play()
- libgme really wants to get the number of samples, not the number of
stereo frames. Previously, this plugin had been using only the first
half of the buffer.
2010-05-31 09:57:15 +02:00
Max Kellermann
f0faf00320
decoder/gme: allocate tag later, fixes memory leak
...
Allocate the "tag" object after the file has been opened successfully.
2010-05-31 09:43:25 +02:00
Max Kellermann
51c7577c8f
decoder/mp4ff: rename and move local variable
...
Allocate the "tag" object after the file has been checked. That
removes one tag_free() call in an error handler.
2010-05-31 09:35:49 +02:00