Max Kellermann
0955f33a86
decoder/mp4ff: support more variations of "album artist"
...
According to the mantis bug report 2847, there are several possible
variations of the "album artist" tag:
- "album artist"
- "album_artist"
- "albumartist"
This patch adds support for the latter two.
2010-09-23 21:19:41 +02:00
Max Kellermann
a016fb4048
listen: fix "unused parameter" warning on WIN32
2010-09-23 20:51:23 +02:00
Denis Krjuchkov
e8ebb1af91
main: Add Windows Service support
...
I've added PIPE_EVENT_SHUTDOWN because calling g_main_loop_quit() do not work when called from another thread.
Main thread was sleeping in g_poll() so I needed some way to wake it up.
By some strange reason call close(event_pipe[0]) in event_pipe_deinit() hangs.
In current implementation that code never reached so that was not a problem :-)
I've added a conditional to leave event_pipe[0] open on Win32.
2010-09-23 20:42:33 +02:00
Thomas Jansen
9fa3d7c4fa
playlist_state: Fix the "state" line in the output
...
An '\n' was erroneously inserted in the line containing the state, e.g.
"state: \nplay" instead of "state: play".
Fix for bug #2992 .
2010-09-23 20:41:23 +02:00
Thomas Jansen
54294366d5
rewind_input_plugin: Update MIME not only once
...
The assumption that MIME type is set only once is not valid with CURL,
as URL redirections may update the MIME type.
This fixes bug #3044 .
2010-09-23 20:39:13 +02:00
Max Kellermann
9423b456a1
zeroconf-bonjour: use g_htons() instead of htons()
...
htons() is not available if netinet/in.h is not included.
2010-09-23 09:01:37 +02:00
Max Kellermann
64209749fb
directory: cast DEVICE_INARCHIVE, DEVICE_CONTAINER to dev_t
...
Fix gcc warning.
2010-09-23 09:01:25 +02:00
Max Kellermann
586b7601c6
playlist_database: initialize pm.mtime
2010-09-23 09:01:23 +02:00
Max Kellermann
4425989898
fd_util: work around aliasing warning in recvmsg_cloexec()
2010-09-23 09:01:20 +02:00
Max Kellermann
5b996ab880
output/httpd: access sockaddr_storage object directly
...
Work around aliasing warning.
2010-09-23 09:01:17 +02:00
Max Kellermann
635cfbae13
decoder_control: use g_free() to manage mixramp allocations
...
Be consistent with the rest of MPD, and don't use the non-portable
header "malloc.h".
2010-09-23 08:49:21 +02:00
Max Kellermann
922e51e8a9
autogen.sh: enable automake 1.11
2010-09-23 08:37:26 +02:00
Avuton Olrich
6d9f1ad61f
configure.ac: Add enable_tremor to post decoder plugin tests.
2010-09-11 20:08:35 -07:00
Avuton Olrich
841b9b3d63
configure.ac: Move use_tremor to enable_tremor.
2010-09-11 20:07:55 -07:00
Avuton Olrich
a3745ae7f3
configure.ac: Correct and clean up tremor check in oggvorbis test.
2010-09-11 20:06:05 -07:00
Avuton Olrich
27d7013ff8
configure.ac: Only enable libogg if OggTremor path/opt has not been specified.
2010-09-11 19:57:44 -07:00
Avuton Olrich
27d3340af2
configure.ac: Fix OggFLAC/tremor test.
2010-09-11 19:28:30 -07:00
Qball Cow
4a7abc9d44
Correctly terminate stream_title.
...
This caused random data to be send via icy-server if the played
song had no tags.
2010-09-08 13:19:59 +02:00
Max Kellermann
589bb54111
input/curl: fix version check for curl_multi_timeout()
...
According to the CURL web site, curl_multi_timeout() was added in
version 7.15.4:
http://curl.haxx.se/libcurl/c/curl_multi_timeout.html
2010-09-07 21:40:56 +02:00
Max Kellermann
d953225531
update_walk: update existing playlist entry
...
Fixes duplicate playlist entries.
2010-09-07 20:22:05 +02:00
Max Kellermann
663815ead8
playlist_vector: update_or_add() returns bool
...
False if the vector was not modified.
2010-09-07 20:21:19 +02:00
Anton Khirnov
bc87ec0059
doc/protocol: update descriptions of the searching commands
2010-08-31 06:56:54 +02:00
Max Kellermann
917434269c
output/httpd: implement "pause"
...
Send silence to all connected clients while paused, to avoid
connection interruption.
2010-08-31 06:50:14 +02:00
Max Kellermann
a77506ae21
output/httpd: forced flush after 32 kB of input data
...
Avoid buffer underruns on the streaming client, if the encoder is "too
efficient" (e.g. when encoding silence while paused).
2010-08-31 06:49:06 +02:00
Johan Kiviniemi
ed5d297301
ReplayGain filter: allow gain > 100 %
...
The ReplayGain filter clamped the gain to max. 100 % even if the
algorithm determined the signal needed a boost. That would result in any
such tracks being played with too low volume, effectively defeating the
purpose of the filter.
2010-08-23 16:34:11 +03:00
Max Kellermann
64dacd175a
output_thread: fix race condition after CANCEL command
...
Clear the notification before finishing the CANCEL command, so the
notify_wait() after that will always wait for the right notification,
sent by audio_output_all_cancel().
2010-08-19 11:05:24 +02:00
Max Kellermann
625e4755d1
notify: add function notify_clear()
2010-08-19 11:03:53 +02:00
Anton Khirnov
92b6ba9eff
doc/protocol: mention that 'status' command also returns 'random'
2010-08-15 11:35:21 +02:00
Max Kellermann
68c02fc95a
fd_util: add function dup_cloexec()
...
Unfortunately, there's no "optimized" implementation here. We can't
use Linux's proprietary system call dup3(), because it would require
us to specify the new descriptor.
2010-08-03 18:03:55 +02:00
Max Kellermann
d18c1b1a0a
fd_util: add function recvmsg_cloexec()
2010-08-03 17:51:35 +02:00
Max Kellermann
c980fc653d
fd_util: add function socketpair_cloexec()
2010-08-03 17:51:35 +02:00
Avuton Olrich
36782a977a
Modify version string to post-release version 0.16~git
2010-07-25 07:44:45 -07:00
Avuton Olrich
653c4792b5
mpd version 0.16~alpha2
2010-07-25 07:44:44 -07:00
Serge Ziryukin
5cb061ebdf
Makefile.am: simplify (de)installation of doxygen-generated documentation
...
This also fixes installation when no *.gif files found in 'doc/api/html' folder.
2010-07-25 14:04:24 +02:00
Max Kellermann
12f4225d6b
Makefile.am: fix out-of-tree doxygen call
...
This hack creates a copy of doc/doxygen.conf with the INPUT setting
replaced.
2010-07-25 14:02:10 +02:00
Max Kellermann
50862a1dd1
valgrind.suppressions: update g_get_language_names()
2010-07-25 13:38:08 +02:00
Max Kellermann
013ebb638a
playlist_song: fix memory leak
...
Free the temporary path string in apply_song_metadata().
2010-07-25 13:35:59 +02:00
Max Kellermann
bedb82bf4d
directory: free playlist vector in directory_free()
2010-07-25 13:31:39 +02:00
Max Kellermann
cbb1ab58cd
queue_save: save tags and range of non-database songs
...
Use the functions song_save() and song_load() to use the same format
as in the database file for those songs which need the tags.
2010-07-25 13:28:54 +02:00
Max Kellermann
b01235e330
song_save: save start_ms and end_ms
...
While this is not useful for the database, it may become useful for
reusing this code for the state file.
2010-07-25 13:28:52 +02:00
Max Kellermann
8341a9f7b2
queue_save: simplify get_song()
...
Don't try db_get_song() if the URI has a scheme.
2010-07-25 13:28:48 +02:00
Max Kellermann
b233c145fa
{queue,song}_print: print relative paths if possible
...
If a song with an absolute path points inside the music directory,
print only the relative part. This happens when partial songs from a
playlist file were loaded.
2010-07-25 13:28:39 +02:00
Max Kellermann
9de5bb9e23
queue_print: hide HTTP password in the "playlist" command
...
I've already changed the "playlistinfo" command to hide HTTP
passwords, but forgot to do the same for the simpler "playlist"
command. This patch changes queue_print_uris() to use the code from
song_print_uri().
2010-07-25 13:24:19 +02:00
Max Kellermann
0c5305c51f
queue_save: move code to queue_save_song()
2010-07-25 12:43:54 +02:00
Max Kellermann
63c9a20f96
queue_save: queue_load_song() returns void
...
The only caller doesn't use its return value, and the value isn't
useful anyway.
2010-07-25 12:43:18 +02:00
Max Kellermann
b40c0811f4
song_save: song_load() returns NULL instead of false
2010-07-25 12:23:52 +02:00
Max Kellermann
838790fc2d
state_file: use the text_file library
...
Don't use a large stack buffer.
2010-07-25 12:01:59 +02:00
Max Kellermann
1ff2d5b689
playlist_state: simplify printf() calls
...
Let the C compiler concatenate string constants.
2010-07-25 12:01:59 +02:00
Max Kellermann
e4b7a113fd
database, ...: remove EINTR checks after stdio calls
...
MPD doesn't have child processes anymore, and thus we're not expecting
to receive SIGCHLD very often. Since hard disk access isn't
interrupted by signals anyway, we don't need those excessive checks.
2010-07-25 12:01:59 +02:00
Max Kellermann
7820ebb82e
directory_save: duplicate the playlist name
...
The function playlist_metadata_load() will overwrite the input buffer
before using the "name" parameter; since "name" points to the same
buffer, we'll get a corrupted string.
2010-07-25 12:01:59 +02:00