Max Kellermann
ac3e2de28b
pcm_buffer: set size after allocation
...
When I implemented the pcm_buffer library, I forgot to set the new
buffer size. This caused a new allocation in each pcm_buffer_get(),
fortunately no memory was leaked.
2009-02-17 18:27:00 +01:00
Max Kellermann
d8db46edfa
decoders: added and fixed GLib log domains
...
Fixed the log domains of the renamed decoders. Added G_LOG_DOMAIN
macros in decoders which don't have one already.
2009-02-17 08:51:34 +01:00
Max Kellermann
c4d69f0ae1
renamed decoder plugin "mpc" to "mpcdec"
...
This plugin is based on "libmpcdec".
2009-02-17 08:48:20 +01:00
Max Kellermann
70523657bf
renamed decoder plugin "mp4" to "mp4ff"
...
This plugin is based on "libmp4ff".
2009-02-17 08:45:26 +01:00
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