Max Kellermann
57f69a2915
doc/protocol.xml: "addid" with negative position is deprecated
2009-10-09 10:18:02 +02:00
Max Kellermann
448aefaace
player_thread: get "elapsed" from audio outputs
...
Tracking the "elapsed" time from the chunks which we have sent to the
output pipe is very imprecise: since we have implemented the music
pipe, we're sending large number of chunks at once, giving the
"elapsed" time stamp a resolution of usually more than a second.
This patch changes the source of this information to the outputs. If
a chunk has been played by all outputs, the "elapsed" time stamp is
updated.
The new command PLAYER_COMMAND_REFRESH makes the player thread update
its status information: it tells the outputs to update the chunk time
stamp. After that, player_control.elapsed_time is current.
2009-10-08 22:09:25 +02:00
Max Kellermann
47b5e73a15
player_thread: always clear player_control.next_song on return
...
pc.next_song might be non-NULL even if player.queued==true: when the
decoder has started decoding the next song, but the result hasn't been
read yet.
2009-10-08 22:09:25 +02:00
Max Kellermann
d6a6f428b3
player_control: eliminate PLAYER_COMMAND_PLAY
...
Sending PLAYER_COMMAND_STOP followed by PLAYER_COMMAND_QUEUE does the
same. PLAYER_COMMAND_PLAY is redundant.
2009-10-08 21:22:31 +02:00
Max Kellermann
fd3934b849
player_control: added several assertions on pc.next_song==NULL
...
After some of the commands, the player thread must have reset the
pc.next_song attribute.
2009-10-08 21:17:00 +02:00
Max Kellermann
e5857cb722
player_control: no CamelCase
2009-10-08 21:12:57 +02:00
Max Kellermann
2ec89c6304
player_control: clear errored_song in clearPlayerError()
...
Without the player error code, it errored_song variable is not used,
and should be cleared, to avoid invalid access in pc_song_deleted().
2009-10-08 21:00:16 +02:00
Max Kellermann
76953a9748
player_control: bundle "get" functions in pc_get_status()
...
The new player_status struct replaces a bunch of playerGetX()
functions. When we add proper locking to the player_control struct,
we will only need to lock once for the "status" command.
2009-10-08 20:48:07 +02:00
Max Kellermann
128a5fa4a5
player_control: allocate getPlayerErrorStr() result
...
This lets us eliminate the static fixed-size buffer.
2009-10-08 20:45:38 +02:00
Max Kellermann
a5960c20cc
playlist_control: "previous" really plays the previous song
...
No more CD player emulation. The current behaviour of "previous" is
difficult for a client to predict, because it does not definitely know
the current position within the song. If a client wants to restart
the current song, it can always send "playid".
2009-10-08 20:33:50 +02:00
Max Kellermann
aa71ce4cd5
input_stream: include config.h for AC_SYS_LARGEFILE macros
...
AC_SYS_LARGEFILE defines macros for config.h. If we don't include
config.h, we don't get large file support.
2009-10-08 16:57:55 +02:00
Max Kellermann
16c981d425
decoder_api: document all function parameters
2009-10-08 15:39:45 +02:00
Alam Arias
81e56705ad
configure.ac: build with large file support by default
...
This fixes mpg123 support.
2009-10-08 15:24:59 +02:00
Max Kellermann
ecb118f1ed
state_file: save only if something has changed
...
If nothing has changed since the last save, don't save the state
file. Saving will spin up the hard drive, which is undesirable on
hosts where MPD is idling in background.
2009-10-08 15:22:39 +02:00
Max Kellermann
1e663b1869
output_state: no CamelCase
2009-10-06 10:30:10 +02:00
Max Kellermann
7013f9fc31
Merged release 0.15.4 from branch 'v0.15.x'
...
Conflicts:
NEWS
configure.ac
2009-10-03 16:17:02 +02:00
Avuton Olrich
325e380b8e
mpd version 0.15.4
2009-10-03 05:44:26 -07:00
Max Kellermann
31cabc751d
command: range support for "delete"
2009-09-30 23:13:13 +02:00
Max Kellermann
0478a8e288
playlist_edit: moved code to playlist_delete_internal()
2009-09-30 23:10:15 +02:00
Max Kellermann
65693d057b
decoder/ffmpeg: use the "artist" tag if "author" is not present
...
Usually, we read our "artist" tag from ffmpeg's "author" tag. In some
cases however (e.g. APE), this tag is named "artist". This patch
implements a fallback: if no "author" is found, MPD tries to use
"artist".
2009-09-30 15:41:43 +02:00
Max Kellermann
b0f9a1454a
decoder/faad: skip assertion failure on large ID3 tags
...
When the ID3 tag in an AAC file is larger than the current buffer, the
function decoder_buffer_consume() aborts. By using the new function
decoder_buffer_skip() instead, we can safely skip the ID3 tag.
2009-09-30 15:22:47 +02:00
Max Kellermann
efb290073b
decoder_buffer: added function decoder_buffer_skip()
2009-09-30 15:22:36 +02:00
Tony
1039d57251
Add the sidplay filter param to doc/mpdconf.example.
2009-09-28 11:59:55 +02:00
Tony
934a38f976
Make the sidplay decoder filter configurable.
2009-09-28 11:59:55 +02:00
Max Kellermann
8f261af5c1
automatically update the database with Linux inotify
...
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-25 18:32:00 +02:00
Max Kellermann
3e8bdb9384
update: added missing stdbool.h include
2009-09-25 16:43:33 +02:00
Max Kellermann
7542ec4f20
command: relax requirements for unquoted words
...
Allow most printable characters in unquoted words. The tokenizer
patch introduced very strict requirements for command parameters -
those were undocumented, and we're reverting the strictness now.
2009-09-25 00:53:15 +02:00
Max Kellermann
89ba540e6d
command: added command "rescan"
...
"rescan" is the same as "update", but it discards existing songs in
the database.
2009-09-24 21:55:40 +02:00
Max Kellermann
47ab2ad6f3
configure.ac: rename HAVE_CURL to ENABLE_CURL
2009-09-24 21:40:07 +02:00
Max Kellermann
06d5d4b03e
conf: handle fatal errors with GError
...
Don't call g_error(), which will abort the process and dump core.
This patch does not affect all the config_get_X() functions. These
need some more refactoring.
2009-09-24 21:40:07 +02:00
Max Kellermann
f3739a73af
conf: splitted function config_param_free()
2009-09-24 21:40:05 +02:00
Max Kellermann
1b227e0145
cmdline: handle fatal errors with GError
...
Don't call g_error(), which will abort the process and dump core.
2009-09-24 21:40:05 +02:00
Max Kellermann
308b3f2337
listen: handle fatal errors with GError
...
Don't call g_error(), which will abort the process and dump core.
2009-09-24 21:40:04 +02:00
Max Kellermann
1e56107967
update: splitted update.c into several sources
2009-09-24 21:39:46 +02:00
Max Kellermann
b0e1a3d34c
update: pass const string to update_enqueue()
...
Duplicate the path string within update.c, do not expect an allocated
string as parameter.
2009-09-24 21:39:43 +02:00
Max Kellermann
1cc4914b24
update: renamed directory_update_init() to update_enqueue()
2009-09-24 17:57:39 +02:00
Max Kellermann
aec18c74ec
decoder/sidplay: free songlength data blob in error handler
...
When parsing the songlength database fails, the code forgot to free
the memory allocated by the raw file data.
2009-09-24 10:17:58 +02:00
Max Kellermann
4729d10bb2
decoder/sidplay: moved code to sidplay_load_songlength_db()
2009-09-24 10:14:05 +02:00
Max Kellermann
a8af3ce0dd
decoder/sidplay: free GError objects
...
The caller is responsible fro freeing GError objects. That
g_error_free() call was missing in two places.
2009-09-24 10:05:21 +02:00
Max Kellermann
d657be33ba
decoder/sidplay: pass GError** to g_file_get_contents()
...
The error handler dereferences GError*, but did not retrieve that
object from g_file_get_contents().
2009-09-24 10:04:24 +02:00
Max Kellermann
a86f9b8035
cmdline: removed options --create-db and --no-create-db
...
Both options are deprecated, and should not be used anymore. Many
users get confused by their presence.
2009-09-20 23:31:35 +02:00
Patrik Weiskircher
32f212cb86
output/osx: fix the OS X 10.6 build
...
Include CoreServices/CoreServices.h.
2009-09-20 23:30:37 +02:00
Serge Ziryukin
82c6c13780
input/mms: fix G_LOG_DOMAIN value
2009-09-20 23:28:29 +02:00
Patrik Weiskircher
803a698f98
output/osx: fix the OS X 10.6 build
...
Include CoreServices/CoreServices.h.
2009-09-20 23:28:07 +02:00
Max Kellermann
fdc479676f
Merge branch 'v0.15.x'
...
Conflicts:
NEWS
configure.ac
doc/mpdconf.example
2009-09-10 23:18:43 +02:00
Max Kellermann
985b8b2d71
doc/protocol: clarify "update"
...
The update job id is positive. When used in a command list, MPD
prints one job id for each "update" command.
2009-09-10 23:12:38 +02:00
Max Kellermann
c97bccad01
doc/mpdconf.example: additional comment signs for some parameters
...
Add a second column of comment signs on some parameters which users
shouldn't usually set, unless they know what they're doing.
2009-09-10 23:10:23 +02:00
Max Kellermann
a99202a8a4
decoder/vorbis: revert "faster tag scanning with ov_test_callback()"
...
This patch made ov_time_total() unusable, and MPD did not know the
duration of songs.
2009-09-10 23:04:01 +02:00
Max Kellermann
4cdf62000c
INSTALL: mention libwavpack and OpenAL
2009-09-09 10:44:12 +02:00
Serge Ziryukin
761771ad24
output/openal: support OpenAL plugin on Mac OS X
2009-09-07 15:52:32 +02:00