Max Kellermann
f4ff7eab9d
tag: fixed typo in MUSICBRAINZ_TRACKID tag name
2009-02-17 06:48:57 +01:00
Max Kellermann
68314c33e9
faad: no CamelCase
...
Renamed functions and variables.
2009-02-16 19:31:11 +01:00
Max Kellermann
8d2e6bf54c
faad: removed AacBuffer.fileOffset
...
The element fileOffset is only written, but never read. It can be
removed safely.
2009-02-16 19:31:08 +01:00
Max Kellermann
c6205bd461
renamed decoder plugin "oggvorbis" to "vorbis"
...
This plugin uses libvorbis.
2009-02-16 19:31:06 +01:00
Max Kellermann
cafaf33aa8
renamed decoder plugin "aac" to "faad"
...
A decoder plugin should be named after the library which is used.
2009-02-16 19:30:54 +01:00
Max Kellermann
c5edb53797
renamed decoder plugin "mp3" to "mad"
...
A decoder plugin should be named after the library which is used.
2009-02-16 19:30:45 +01:00
Max Kellermann
585f81ece1
output_api: don't include config.h
...
If an output plugin requires config.h, it should include it directly.
2009-02-16 18:41:30 +01:00
Max Kellermann
02c99d7716
mixer: include cleanup
...
Don't include conf.h in mixer_api.h. Use a forward struct declaration
instead.
2009-02-16 18:40:04 +01:00
Max Kellermann
46c15e4ab3
output: include cleanup
...
Don't include output_api.h in output_internal.h. This change requires
adding missing includes in several sources.
2009-02-16 01:51:50 +01:00
Max Kellermann
83ce0e5325
mixer_api: replaced method "control()" with "{get,set}_volume()"
...
The method control() is too complicated, and overengineered. Replace
it with two trivial functions: get_volume() and set_volume().
2009-02-16 01:39:52 +01:00
Max Kellermann
37bc31d161
output_plugin: replaced method "control()" with "mixer()"
...
The output plugin shouldn't know any specifics of the mixer API. Make
it return the mixer object, and let the caller deal with it.
2009-02-16 01:39:00 +01:00
Max Kellermann
79b50b7d9c
output_plugin: added inline wrapper functions
...
Similar to the decoder plugin API: added wrapper functions to increase
code readability.
2009-02-16 01:38:10 +01:00
Max Kellermann
67da4cfe3c
output_plugin: reorder method declarations
...
Initialization and deinitialization first, then tag functions, then
play/cancel/pause.
2009-02-16 01:38:09 +01:00
Max Kellermann
80702fa3a2
output_api: moved "struct audio_output_plugin" to output_plugin.h
...
If we move the plugin struct to a separate header, we don't have to
include the big fat output_api.h everywhere.
2009-02-16 01:37:42 +01:00
Max Kellermann
a5c0394007
output_api: moved "enum output_command" to output_internal.h
...
Now that the output_command enum isn't exposed to output plugins
anymore, we can hide its definition within output_internal.h.
2009-02-16 00:43:12 +01:00
Max Kellermann
3a82283b19
output_control: no CamelCase
...
Renamed variables.
2009-02-16 00:43:06 +01:00
Max Kellermann
ed591f19ef
wildmidi: check if configurationn file exists
...
Don't call WildMidi_Init() if the configuration file does not exist.
Don't let libwildmidi clutter stderr with its warning message.
2009-02-15 18:41:05 +01:00
Max Kellermann
5c68f91dae
wildmidi: obtain timidity.cfg location from mpd.conf
2009-02-15 18:41:03 +01:00
Max Kellermann
1f88cd73d4
decoder_list: added configuration option to disable decoder plugins
2009-02-15 18:40:47 +01:00
Max Kellermann
6cfacc778c
decoder_list: added configuration block "decoder"
...
The "decoder" configuration block may contain the configuration of one
decoder plugin.
2009-02-15 18:35:19 +01:00
Max Kellermann
dec5d48f80
decoder_plugin: pass struct config_param to init() method
...
Preparing for per-plugin configuration sections in mpd.conf.
2009-02-15 18:34:14 +01:00
Max Kellermann
900784bb4e
decoder_api: moved enum decoder_command to decoder_command.h
...
Minimize header dependencies, again.
2009-02-15 18:33:31 +01:00
Max Kellermann
3e3c524264
decoder_plugin: added inline wrapper functions
...
Increase code readability, always use the wrapper functions instead of
calling the plugin method pointers directly.
2009-02-15 18:33:28 +01:00
Max Kellermann
a28287073b
decoder_api: moved struct decoder_plugin to decoder_plugin.h
...
The decoder_plugin struct is used by both the MPD core and the decoder
plugin implementations. Move it to a shared header file, to minimize
header dependencies.
2009-02-15 17:48:37 +01:00
Max Kellermann
92c203d705
daemon: return early from daemonize_set_user()
...
If no "user" is configured, return from daemonize_set_user(). Save
one level of indent.
2009-02-15 16:58:52 +01:00
Max Kellermann
98994c5939
daemon: ignore "user" setting if already running as that user
...
If mpd.conf specifies a user, and MPD is invoked by exactly this user,
ignore the "user" setting. Don't bother to look up its groups and
don't attempt to change uid, it won't work anyway.
2009-02-15 16:47:21 +01:00
Max Kellermann
59e62d95bd
daemon: added comments to daemonize_detach()
2009-02-15 16:28:39 +01:00
Max Kellermann
42415592b4
daemon: print fork error message
...
Print details on why the fork() fails.
2009-02-15 16:27:50 +01:00
Max Kellermann
fd8c63b619
daemon: moved code to daemonize_detach()
...
Moved the code which detaches from the parent process/session to a
separate function.
2009-02-15 16:27:09 +01:00
Avuton Olrich
fd69782a99
mpd version 0.14.2
2009-02-14 19:34:57 +01:00
Romain Bignon
855466df40
playlist_edit: improved range checks in shufflePlaylist()
2009-02-13 11:12:31 +01:00
Romain Bignon
9fe459f625
added the shufflerange command
...
This command shuffles a range of songs.
2009-02-13 10:43:30 +01:00
Max Kellermann
beaf860a17
doc: use $(DESTDIR)
...
Forgot the $(DESTDIR) prefix in the install-data-local target.
2009-02-13 09:50:42 +01:00
Max Kellermann
ef64449cb6
doc: generate API documentation with doxygen
...
When configured with --enable-documentation, use doxygen.
2009-02-13 09:11:22 +01:00
Max Kellermann
df9245c2aa
update: free deleted subdirectories
...
Use delete_directory() for removing sub directories instead of
dirvec_clear(). This ensures that all memory occupied by
subdirectories of deleted directories is freed.
2009-02-12 19:12:32 +01:00
Max Kellermann
16bab6019b
update: recursively purge deleted directories
...
When a directory is deleted, MPD deleted only the directory from the
database; it did not bother to walk the full tree to free all memory
and to remove deleted songs from the playlist. Replace a
dirvec_delete() with delete_directory().
2009-02-12 19:12:25 +01:00
Max Kellermann
a06e281421
aac: fix stream metadata
...
Pass the input_stream object to decoder_data(). Without it, the MPD
core does not see stream tags.
2009-02-12 18:39:19 +01:00
Max Kellermann
d55f6b5304
database: don't load database after charset was reconfigured
...
When you change the filesystem charset, discard the old database file
and create a new one. The old database file will most likely contain
stale or invalid information.
2009-02-12 18:31:00 +01:00
Max Kellermann
a2ce6e5b82
wildmidi: added seeking support
...
Use WildMidi_SampledSeek() for seeking in a MIDI file.
2009-02-12 18:19:13 +01:00
Max Kellermann
f6c8dd4961
configure.ac: always check for C++ compiler
...
Currently, only the sidplay decoder plugin requires C++, and in all
other cases, MPD could build well without a C++ compiler.
Unfortunately, autoconf/automake are confused when we have a
conditional AC_PROG_CXX check. We could add lots of workarounds for
individual problems, but let's just always require a C++ compiler, and
forget about this autotools limitation.
2009-02-12 18:14:14 +01:00
Max Kellermann
321eb1077a
wildmidi: provide and current total song time
...
The _WM_Info struct provides all we need, it is obtained by
WildMidi_GetInfo().
2009-02-12 16:47:48 +01:00
Max Kellermann
1492339463
wildmidi: new decoder plugin for MIDI files
2009-02-12 16:43:18 +01:00
Max Kellermann
e56a90f3b3
fluidsynth: new decoder plugin for MIDI files
...
There are a few problems left in this plugin:
- fluidsynth decodes in real time, while MPD prefers to buffer as
quickly as possible; as a workaround, this plugin uses a timer
object to synchronize with real-time playback
- I don't know yet how fluidsynth tells me when the song has ended
- the "soundfont" configuration setting is not yet documented, and it
will likely change soon (in favor of a per-decoder configuration
block)
2009-02-12 08:43:26 +01:00
Max Kellermann
de2e13cafe
configure.ac: define conditional am__fastdepCXX
...
When the sidplay plugin is disabled, "./configure" does not look for
the C++ compiler. This creates an odd situation: automake requires
the am__fastdepCXX conditional, although configure did not generate
it. Work around this autotools limitation by manually disabling
am__fastdepCXX.
2009-02-11 22:05:46 +01:00
Max Kellermann
1136f6fb7a
sidplay: new decoder plugin for playing C64 SID files
2009-02-11 20:31:17 +01:00
Max Kellermann
82fee1390c
configure.ac: removed misplaced comma
2009-02-11 19:58:53 +01:00
Max Kellermann
b6b181ca87
decoder_thread: re-enable file decoders
...
By accident, I committed a debug flag, which disallowed the decoder
thread to play files locally. Undo this hunk.
2009-02-11 19:58:50 +01:00
Max Kellermann
550b9c3f23
ffmpeg: added TTA support
...
The ffmpeg library supports the "True Audio Codec". The entry in
ffmpeg_suffixes was missing.
2009-02-11 18:27:11 +01:00
Max Kellermann
58a5d30826
playlist: don't preserve "current" song after "random" toggle
...
When MPD is not playing, it may still remember which is the "current"
song. When you switch to "random" mode, MPD will always start playing
exactly this song. This defies the goal of "random" mode a little.
Clear the "current" song when MPD is not playing during the "random"
mode switch.
2009-02-11 18:02:50 +01:00
Max Kellermann
9d447dda1d
audio: moved code to output_command.c
...
The output_command library provides a command interface to the audio
outputs. It assumes the input comes from an untrusted source
(i.e. the client) and verifies all parameters.
2009-02-11 18:02:45 +01:00