Commit Graph

1587 Commits

Author SHA1 Message Date
J. Alexander Treuman
c734c13b5c Adding parsePath and making parseConfigFilePath use it.
git-svn-id: https://svn.musicpd.org/mpd/trunk@6622 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-06-13 15:27:09 +00:00
J. Alexander Treuman
b496239e76 Adding FIFO audio output. This is pretty much identical to the old one,
except that it now uses a timer for throttling.

git-svn-id: https://svn.musicpd.org/mpd/trunk@6621 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-06-13 14:15:30 +00:00
J. Alexander Treuman
8de17dbed0 Use <= when comparing (current time - start time) to a timeout. This way
if the clock ticks right after we get the start time and the timeout is
only one second, we'll still wait a full second instead of returning
immediately.

git-svn-id: https://svn.musicpd.org/mpd/trunk@6557 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-06-12 18:33:26 +00:00
J. Alexander Treuman
6f2be47270 Make the shout timeout configurable. The default is still 2 seconds.
git-svn-id: https://svn.musicpd.org/mpd/trunk@6556 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-06-12 18:28:57 +00:00
J. Alexander Treuman
3c5cecb828 Redoing remiss's shout patch. This time, just block on open() instead of
pretending to play while we wait for the connection to timeout.  This
removes the need for timers, and thus removes the now unnecessary
timer_get_runtime_* function(s) from the timer code.

The changes made compared to the pre-patch shout plugin are:
* Block while connecting, timing out after 2 seconds.
* Close the device, and not just the connection, if play returns -1.
* Remove sd->last_err (it's always assigned before use).
* Some minor cleanups.

git-svn-id: https://svn.musicpd.org/mpd/trunk@6555 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-06-12 17:58:17 +00:00
J. Alexander Treuman
bd0620ff72 Load shout first instead of last. This makes it more likely to block other
outputs, which is actually desired behaviour.  This way if the shout server
takes a while to respond, the shout output can block until connected
without messing up other audio outputs.

git-svn-id: https://svn.musicpd.org/mpd/trunk@6554 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-06-12 17:49:31 +00:00
J. Alexander Treuman
2d8f36cefb Load the shout plugin last. This will make sure it's played to last,
reducing the likelyhood of it blocking other outputs.

git-svn-id: https://svn.musicpd.org/mpd/trunk@6543 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-06-10 22:58:56 +00:00
J. Alexander Treuman
4e5cffaa7b If an audio output is in state DEVICE_ENABLE, and openAudioOutput fails,
leave it in that state.  Likewise, if an audio output is in state
DEVICE_ON, and reopening the device due to a format change fails, change it
to state DEVICE_ENABLE.  This will prevent flushAudioBuffer from even
attempting to play audio on a closed device (even though it would fail
anyway).

git-svn-id: https://svn.musicpd.org/mpd/trunk@6529 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-06-09 21:40:56 +00:00
J. Alexander Treuman
8feaf84b24 Tidying up some code.
git-svn-id: https://svn.musicpd.org/mpd/trunk@6527 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-06-09 19:19:33 +00:00
J. Alexander Treuman
0bfe6cabce Remove a useless if (quit) block. It's enclosed in two while loops: the
top depending on !quit, which doesn't set it anywhere before the if (quit)
block is reached, and the inner one which doesn't set quit at all.  Since
it's a local variable and can't be modified externally, it'll never be hit.

git-svn-id: https://svn.musicpd.org/mpd/trunk@6524 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-06-09 16:04:00 +00:00
Roger Bystrøm
d50fc3849a This should resolve some of the timing issues experienced after switching from blocking to non-blocking shout api
* Wait ten seconds before declearing the shout server unreachable
* Fix a state where it would never attempt to connect if it had previously failed

It isn't perfect yet, but I'd like some testing on it from other setups


git-svn-id: https://svn.musicpd.org/mpd/trunk@6523 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-06-09 15:51:20 +00:00
Roger Bystrøm
50fbab086a switching to us instead of ms on runtime
git-svn-id: https://svn.musicpd.org/mpd/trunk@6522 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-06-09 15:45:36 +00:00
Roger Bystrøm
a886600474 Added timer_get_runtime_ms to know how long the timer has been running
git-svn-id: https://svn.musicpd.org/mpd/trunk@6521 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-06-09 14:03:09 +00:00
J. Alexander Treuman
9ccf0d8a25 Use string concatenation instead of snprintf for the User-Agent HTTP
header.

git-svn-id: https://svn.musicpd.org/mpd/trunk@6520 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-06-09 13:43:40 +00:00
J. Alexander Treuman
9980d233c4 Tidying up some code.
git-svn-id: https://svn.musicpd.org/mpd/trunk@6519 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-06-09 13:34:53 +00:00
Warren Dukes
52a06531fc dmix fix, don't call snd_pcm_drain unless we're already in the RUNNING
state (when users press stop, previous snd_pcm_drop(), then
snd_pcm_drain() was called.  this would lockup dmix)


git-svn-id: https://svn.musicpd.org/mpd/trunk@6517 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-06-08 12:44:38 +00:00
J. Alexander Treuman
df95a80fa1 Send SIGCONT to the decode process before sending it SIGTERM.
git-svn-id: https://svn.musicpd.org/mpd/trunk@6503 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-06-07 20:02:27 +00:00
J. Alexander Treuman
01faa6f4e3 Set a flag if we've sent the player process SIGSTOP so that we know not to
wait for it to complete an action which it never will.

git-svn-id: https://svn.musicpd.org/mpd/trunk@6488 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-06-04 23:14:38 +00:00
J. Alexander Treuman
0e4f418c29 Don't send the main process SIGUSR1 until we've sent the decode process
SIGSTOP.

git-svn-id: https://svn.musicpd.org/mpd/trunk@6486 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-06-04 22:36:39 +00:00
J. Alexander Treuman
89eca9eebc Don't kill the player process (and effectively the decode process) when
completely stopped.  Instead, send them SIGSTOP to pause the process until
they're needed again.  Then send them SIGCONT instead of re-spawning them.

git-svn-id: https://svn.musicpd.org/mpd/trunk@6485 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-06-04 22:29:55 +00:00
J. Alexander Treuman
4734a2e2b4 Adding very experimental streaming support for mp4.
git-svn-id: https://svn.musicpd.org/mpd/trunk@6483 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-06-04 19:24:19 +00:00
J. Alexander Treuman
cbdc0b1534 Use strncasecmp instead of strncmp when comparing HTTP headers. It seems
some versions of shoutcast send "content-type" in all lowercase, and I
don't trust other servers to get the case right for the rest of the headers
we look for.

git-svn-id: https://svn.musicpd.org/mpd/trunk@6482 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-06-04 19:02:23 +00:00
J. Alexander Treuman
caa17db85e Add MIME types for the aac and mp4 input plugins. Note that these won't
have any effect until the aac and mp4 input plugins actually support a
stream decoding API.

git-svn-id: https://svn.musicpd.org/mpd/trunk@6481 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-06-04 18:57:34 +00:00
J. Alexander Treuman
71094905e3 Cleanup some formatting in decode.c.
git-svn-id: https://svn.musicpd.org/mpd/trunk@6480 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-06-04 18:55:46 +00:00
J. Alexander Treuman
4685c782c4 Actually load the aac input plugin.
git-svn-id: https://svn.musicpd.org/mpd/trunk@6479 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-06-04 18:54:46 +00:00
J. Alexander Treuman
1b68d00b3b Don't initialize zeroconf until after we've daemonized and log output has
been redirected.  This prevents zeroconf from blocking daemonization, and
makes sure any errors get sent to the logs and not stdout.

git-svn-id: https://svn.musicpd.org/mpd/trunk@6477 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-06-04 17:41:18 +00:00
J. Alexander Treuman
7e2cbdee05 Removing that space that was recently added to the "Icy-Metadata: 1" HTTP
header.  While this is odd for an HTTP header, it's actually quite common
for streaming clients to send it without a space.  Some clients do send
with a space as well, but without one has always worked fine and may in
fact be more compatible.

git-svn-id: https://svn.musicpd.org/mpd/trunk@6472 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-06-03 19:46:03 +00:00
J. Alexander Treuman
d5596a1cf0 Define HAVE_ZEROCONF if Avahi or Bonjour support is enabled, so that we can
silence a warning about an unused variable without using stupid checks for
HAVE_AVAHI || HAVE_BONJOUR.

git-svn-id: https://svn.musicpd.org/mpd/trunk@6471 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-06-03 19:44:19 +00:00
J. Alexander Treuman
ab14f8a3c7 Oops, forgot to test that last bool commit. Fixing an error and warning.
git-svn-id: https://svn.musicpd.org/mpd/trunk@6470 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-06-03 19:30:37 +00:00
J. Alexander Treuman
a6fecd6c05 Making some bool options more consistent.
git-svn-id: https://svn.musicpd.org/mpd/trunk@6468 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-06-03 19:25:25 +00:00
Patrik Weiskircher
d67737bc64 allow zeroconf to be disabled.
git-svn-id: https://svn.musicpd.org/mpd/trunk@6467 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-06-03 18:08:51 +00:00
J. Alexander Treuman
f3be4e8c91 Adding a missing include.
git-svn-id: https://svn.musicpd.org/mpd/trunk@6462 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-06-02 22:52:53 +00:00
J. Alexander Treuman
5f8d6d6900 Removing some commented code that wrote HTTP streams to stdout.
git-svn-id: https://svn.musicpd.org/mpd/trunk@6461 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-06-02 21:32:59 +00:00
Patrik Weiskircher
b91af54d2a Added Bonjour zeroconf support. This works now natively on MacOS X.
I couldn't test mDNSResponder support on Linux, as Debian doesn't include it - but should work as well.

git-svn-id: https://svn.musicpd.org/mpd/trunk@6453 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-06-02 17:06:08 +00:00
J. Alexander Treuman
7b07a45dc4 Someone forgot a space in the "Icy-Metadata: 1" HTTP header.
git-svn-id: https://svn.musicpd.org/mpd/trunk@6452 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-06-02 16:48:54 +00:00
J. Alexander Treuman
6d7e0eb166 Tell the player process (and thus also the decode process) to quit when
playback is stopped completely.  This means the player process will no
longer have to wake up 100 times per second to see if it's been told to
start playing (the main process will just spawn a new player process when
it needs to).  On the downside, this means an extra pair of forks() and the
re-initializing of the player and decode processes each time playback is
restarted.

git-svn-id: https://svn.musicpd.org/mpd/trunk@6446 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-06-01 18:10:13 +00:00
J. Alexander Treuman
88638f4821 Removing the getBoundPort() function and just making boundPort an extern.
git-svn-id: https://svn.musicpd.org/mpd/trunk@6445 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-06-01 17:44:03 +00:00
J. Alexander Treuman
485d1f68dd Minor formatting cleanups.
git-svn-id: https://svn.musicpd.org/mpd/trunk@6444 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-06-01 12:53:13 +00:00
J. Alexander Treuman
bc95aa0e12 Only call finishDriverFunc if there is one. The null plugin doesn't have
one now, and trying to call NULL was causing a segfault at exit.

git-svn-id: https://svn.musicpd.org/mpd/trunk@6398 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-30 18:31:38 +00:00
J. Alexander Treuman
693dc37851 Move the timing code from the null plugin to timer.c, so it can be easily
used in other plugins (fifo, shout, etc.).

git-svn-id: https://svn.musicpd.org/mpd/trunk@6397 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-30 18:16:35 +00:00
J. Alexander Treuman
0f8ab01c3e Adding a null output plugin.
git-svn-id: https://svn.musicpd.org/mpd/trunk@6393 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-30 16:52:56 +00:00
J. Alexander Treuman
1945c7c948 Adding ioops.h to mpd_headers so that it gets included in the tarball.
git-svn-id: https://svn.musicpd.org/mpd/trunk@6323 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-28 12:42:44 +00:00
J. Alexander Treuman
b9b39849d8 Increasing default buffer_before_play from 0% to 10%.
git-svn-id: https://svn.musicpd.org/mpd/trunk@6290 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-27 13:12:02 +00:00
Avuton Olrich
5339f63a2b Fix compilation error (missing ,)
git-svn-id: https://svn.musicpd.org/mpd/trunk@6289 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-27 00:16:17 +00:00
J. Alexander Treuman
d306019f5c "unable open" -> "unable to open"
git-svn-id: https://svn.musicpd.org/mpd/trunk@6278 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-26 18:21:51 +00:00
J. Alexander Treuman
93e68adc79 After changing ERROR();exit() to FATAL(), gcc incorrectly detects some
uninitialized variables and non-returning functions that return.  Let's
tell it to stfu.

git-svn-id: https://svn.musicpd.org/mpd/trunk@6277 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-26 18:20:53 +00:00
J. Alexander Treuman
bba444524e Changing all calls to ERROR() followed by exit(EXIT_FAILURE) with a single
call to FATAL().

git-svn-id: https://svn.musicpd.org/mpd/trunk@6276 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-26 18:15:54 +00:00
J. Alexander Treuman
dba45a5992 Cleaning up pcm_getSampleRateConverter.
git-svn-id: https://svn.musicpd.org/mpd/trunk@6275 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-26 17:33:59 +00:00
J. Alexander Treuman
665ab83761 Exit with an error if channel count isn't 1 or 2.
git-svn-id: https://svn.musicpd.org/mpd/trunk@6274 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-26 17:04:54 +00:00
J. Alexander Treuman
355d18a593 Make pcm_convertAudioFormat return the buffer size. This is necessary
because lsr may return less than the input buffer size, and the rest of the
audio code needs to know the new size.  This fixes the clicking that was
introduced with recent changes to the lsr code.  A huge thanks to remiss
for figuring this out.

git-svn-id: https://svn.musicpd.org/mpd/trunk@6273 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-26 16:39:55 +00:00
J. Alexander Treuman
29819576eb weather -> whether
git-svn-id: https://svn.musicpd.org/mpd/trunk@6271 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-26 15:05:06 +00:00
J. Alexander Treuman
425c6e9502 Changing calls to strdup to xstrdup.
git-svn-id: https://svn.musicpd.org/mpd/trunk@6270 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-26 15:04:54 +00:00
J. Alexander Treuman
d14a655901 Cleaning up addToStoredPlaylist. Now we call freeJustSong if adding a URL.
git-svn-id: https://svn.musicpd.org/mpd/trunk@6269 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-26 15:00:38 +00:00
J. Alexander Treuman
f16e372871 Make sure StoredPlaylists always contain UTF-8 paths that are either
relative paths in the DB or URLs.  The main functional difference is that
playlistmove and playlistdelete will rewrite playlists in the correct
encoding and remove invalid lines instead of potentially modifying them.
The specific changes are:

appendSongToStoredPlaylist:
* Don't convert to FS charset
* Don't prepend music_directory if saving absolute paths

writeStoredPlaylistToPath:
* Convert to FS charset
* Prepend music_directory if saving absolute paths

loadStoredPlaylist:
* Make sure each line is either in the DB or a URL

loadPlaylist:
* Don't bother checking paths, since it's done in loadStoredPlaylist now

git-svn-id: https://svn.musicpd.org/mpd/trunk@6266 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-26 14:09:09 +00:00
J. Alexander Treuman
f4d959a07b More formatting/error message cleanups in storedPlaylist.c.
git-svn-id: https://svn.musicpd.org/mpd/trunk@6265 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-26 00:48:53 +00:00
J. Alexander Treuman
fd645486a1 Don't call freeStoredPlaylist(sp) inside an if (!sp) block. It causes
segfaults.

git-svn-id: https://svn.musicpd.org/mpd/trunk@6264 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-26 00:28:07 +00:00
J. Alexander Treuman
fc094c08d3 Cleaning up formatting and error messages in storedPlaylist.c.
git-svn-id: https://svn.musicpd.org/mpd/trunk@6263 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-25 20:25:11 +00:00
J. Alexander Treuman
2814b7cfc6 Reverting to the full lsr API. Turns out the simple API needs all of the
audio at once, so it won't work for us.  The old full API code was still
heavily broken, as each call to pcm_convertSampleRate() used the same
state, even if it was processing two streams of audio.  The new code keeps
a separate state for each audio stream that's being converted.

git-svn-id: https://svn.musicpd.org/mpd/trunk@6255 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-24 21:15:37 +00:00
J. Alexander Treuman
7ba357a04e Adding rename command, for renaming stored playlists.
git-svn-id: https://svn.musicpd.org/mpd/trunk@6246 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-24 18:07:19 +00:00
J. Alexander Treuman
0d7d2ebf80 Cleaning up error messages in storedPlaylist.c.
git-svn-id: https://svn.musicpd.org/mpd/trunk@6245 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-24 17:25:21 +00:00
J. Alexander Treuman
c408bd5e90 Don't list playlists in lsinfo if the path isn't the root directory (they
can't be loaded anyway).

git-svn-id: https://svn.musicpd.org/mpd/trunk@6244 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-24 17:06:59 +00:00
J. Alexander Treuman
cee4ba72e1 Changing some DEBUG/ERROR/FATAL messages in the JACK plugin.
git-svn-id: https://svn.musicpd.org/mpd/trunk@6232 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-23 12:24:12 +00:00
J. Alexander Treuman
495e1b6cf9 Tidying up pcm_utils.c a bit more.
git-svn-id: https://svn.musicpd.org/mpd/trunk@6230 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-23 11:04:04 +00:00
J. Alexander Treuman
fbb3a94f17 Switching to the lsr simple API. The problem with the full API is that the
number of channels is specified when the converter state is created.
Previously this was only done once, thus breaking horribly when the input
audio suddenly had a different channel count.  A new state could be created
every time the number of channels changes, but this could happen many times
a second if resampling to two different formats at once.  The simple API
doesn't have this problem, as channel count is an argument to the
conversion function itself.

git-svn-id: https://svn.musicpd.org/mpd/trunk@6229 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-23 10:31:07 +00:00
J. Alexander Treuman
a70ecdc00c Just specify mimeType as NULL in mpc's InputPlugin struct.
git-svn-id: https://svn.musicpd.org/mpd/trunk@6225 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-22 23:34:26 +00:00
J. Alexander Treuman
407497c40a Split pcm_convertAudioFormat into separate functions for bitrate, channel,
and samplerate conversion.  This makes the code much easier to read, and
fixes a few bugs that were previously there.

git-svn-id: https://svn.musicpd.org/mpd/trunk@6224 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-22 23:11:36 +00:00
J. Alexander Treuman
e6d7663b10 Cleaning up/correcting some comments.
git-svn-id: https://svn.musicpd.org/mpd/trunk@6200 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-22 15:21:56 +00:00
J. Alexander Treuman
f2850a66f0 Reindenting
git-svn-id: https://svn.musicpd.org/mpd/trunk@6199 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-22 15:02:25 +00:00
J. Alexander Treuman
92ff09881a Fail loading the playlist on errors mid-file. The same code is used for
playlistadd, playlistdelete, etc. and would've caused the playlist to be
rewritten only up to the line with the error.

git-svn-id: https://svn.musicpd.org/mpd/trunk@6133 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-16 20:35:13 +00:00
J. Alexander Treuman
6cfe421cd6 Committing pat's rewrite of the stored playlist code. This also adds two
new commands: playlistmove and playlistdelete.

git-svn-id: https://svn.musicpd.org/mpd/trunk@6116 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-16 12:02:10 +00:00
J. Alexander Treuman
6f68587ad5 Changing "//" comments to "/* */" comments.
git-svn-id: https://svn.musicpd.org/mpd/trunk@6112 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-15 23:23:09 +00:00
J. Alexander Treuman
f63c6ca86d Fixing some code that was rendered unreadable by indent.
git-svn-id: https://svn.musicpd.org/mpd/trunk@5955 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-04-26 00:48:37 +00:00
J. Alexander Treuman
472e70e74e Forgot to change the associated fdprintf format to %li.
git-svn-id: https://svn.musicpd.org/mpd/trunk@5952 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-04-26 00:13:14 +00:00
J. Alexander Treuman
dc4e2a3f5e Changing SearchStats.playTime from int to unsigned long.
git-svn-id: https://svn.musicpd.org/mpd/trunk@5951 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-04-26 00:11:30 +00:00
J. Alexander Treuman
7a8a9c10e1 Adding count command. It's usage is identical to find, but instead of
returning a list of matching songs, the number of results and total play
time of the results are returned.

git-svn-id: https://svn.musicpd.org/mpd/trunk@5950 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-04-25 23:46:11 +00:00
J. Alexander Treuman
ebaa3f4338 Set directory_dbModTime when writing the db, so that it will be set after
initial db creation.

git-svn-id: https://svn.musicpd.org/mpd/trunk@5948 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-04-25 20:34:30 +00:00
J. Alexander Treuman
179ab7efe8 fials -> fails
git-svn-id: https://svn.musicpd.org/mpd/trunk@5947 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-04-25 20:18:47 +00:00
J. Alexander Treuman
18e20b8d2c Remove the now unused struct stat from initMp3Directory().
git-svn-id: https://svn.musicpd.org/mpd/trunk@5946 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-04-25 20:08:05 +00:00
J. Alexander Treuman
bf6da4f399 initMp3Directory() is only called when (re)creating the db, but before the
db file is written.  So don't try to set directory_dbModTime to the mtime
of the db file, since it will be incorrect.

git-svn-id: https://svn.musicpd.org/mpd/trunk@5945 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-04-25 20:06:47 +00:00
J. Alexander Treuman
f67b6b896f Removing references to options.updateDB in main.c.
git-svn-id: https://svn.musicpd.org/mpd/trunk@5944 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-04-25 18:47:34 +00:00
José Anarch
51ec5b1542 Only a few changes in jack_playAudio.
git-svn-id: https://svn.musicpd.org/mpd/trunk@5909 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-04-11 17:41:10 +00:00
José Anarch
de5667b288 Now process and playAudio use mutexes.
git-svn-id: https://svn.musicpd.org/mpd/trunk@5897 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-04-09 20:18:11 +00:00
J. Alexander Treuman
95c411224a Don't allow "true" as a value for use_mmap for consistency with other "yes
or no" parameters.

git-svn-id: https://svn.musicpd.org/mpd/trunk@5896 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-04-09 13:05:50 +00:00
J. Alexander Treuman
b8341e6902 Cleaning up some comments.
git-svn-id: https://svn.musicpd.org/mpd/trunk@5894 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-04-09 12:24:48 +00:00
J. Alexander Treuman
7dadabca8a When calling commandError(STDERR_FILENO, ...), don't set current_command to
NULL.  Doing so would mean future calls to commandError with a socket as an
argument will still write the error message to the error log, and not the
socket.

git-svn-id: https://svn.musicpd.org/mpd/trunk@5891 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-04-08 15:41:38 +00:00
J. Alexander Treuman
74e75378ae If current_command is NULL when calling commandError, print the error
message and trailing new line to STDERR_FILENO along with the ACK, instead
of sending them over the socket.

git-svn-id: https://svn.musicpd.org/mpd/trunk@5890 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-04-08 15:26:48 +00:00
J. Alexander Treuman
c825401760 Typo.
git-svn-id: https://svn.musicpd.org/mpd/trunk@5889 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-04-08 15:25:18 +00:00
Avuton Olrich
a061da8fb5 The massive copyright update
git-svn-id: https://svn.musicpd.org/mpd/trunk@5834 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-04-05 03:22:33 +00:00
J. Alexander Treuman
059494e8e4 Don't stop decoding when unpausing fails because no audio device can be
opened.  Instead just remain in paused state.

git-svn-id: https://svn.musicpd.org/mpd/trunk@5820 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-04-03 20:22:10 +00:00
J. Alexander Treuman
2caf18ad43 Reformatting some code.
git-svn-id: https://svn.musicpd.org/mpd/trunk@5819 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-04-03 20:10:22 +00:00
J. Alexander Treuman
e3e4964f59 Adding tagtypes command to list available tag types (takes metadata_to_use
into account).

git-svn-id: https://svn.musicpd.org/mpd/trunk@5792 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-03-31 18:43:16 +00:00
J. Alexander Treuman
2215c1796d Set totalTime to 0 for MODs. If this isn't done, the totalTime of the
previous song played will be reused.

git-svn-id: https://svn.musicpd.org/mpd/trunk@5791 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-03-31 18:07:27 +00:00
J. Alexander Treuman
5a734c0172 Disable looping MOD files played with libmikmod. Many MODs will loop
forever without this.

git-svn-id: https://svn.musicpd.org/mpd/trunk@5790 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-03-31 17:50:59 +00:00
Avuton Olrich
ef0397bf5b Another patch from Jose
git-svn-id: https://svn.musicpd.org/mpd/trunk@5733 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-03-23 21:23:41 +00:00
Avuton Olrich
8553a98c84 Add new update from Jose for JACK
git-svn-id: https://svn.musicpd.org/mpd/trunk@5729 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-03-23 11:07:04 +00:00
J. Alexander Treuman
c2c4852620 Doing those previous SONG_* commits properly. Thanks to normalperson for
pointing it out.

git-svn-id: https://svn.musicpd.org/mpd/trunk@5673 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-03-20 21:05:42 +00:00
J. Alexander Treuman
28c2a1e433 Use "file" instead of SONG_INFO (literally "file: ") for
LOCATE_TAG_KEY_FILE.  Specifying "file: " as an argument to
search/find/list wasn't the point of that patch...

git-svn-id: https://svn.musicpd.org/mpd/trunk@5670 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-03-20 20:22:23 +00:00
J. Alexander Treuman
2630b5a30f Use SONG_FILE instead of literal "file: " for consistency with db code.
git-svn-id: https://svn.musicpd.org/mpd/trunk@5669 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-03-20 20:16:25 +00:00
J. Alexander Treuman
80dea15184 Use SONG_TIME instead of literal "Time: " for consistency with db code.
git-svn-id: https://svn.musicpd.org/mpd/trunk@5668 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-03-20 20:12:53 +00:00
J. Alexander Treuman
ce2efb48d5 This fixes a bug where a client sending just the right data could cause mpd
to segfault.  This could be exploited by malicious users to crash other
users' mpd.  But more importantly, I believe clients are doing this
unintentionally, and that this is what is causing mpd to segfault for many
people after running for long periods of time.

git-svn-id: https://svn.musicpd.org/mpd/trunk@5649 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-03-18 01:19:08 +00:00
Warren Dukes
b1d50567c6 fix bug #1458
git-svn-id: https://svn.musicpd.org/mpd/trunk@5589 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-03-09 14:44:09 +00:00
J. Alexander Treuman
d93e939557 Support for libmikmod 3.2.0 betas.
git-svn-id: https://svn.musicpd.org/mpd/trunk@5492 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-03-02 12:14:18 +00:00
J. Alexander Treuman
befd2776bc Removing a useless block.
git-svn-id: https://svn.musicpd.org/mpd/trunk@5460 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-02-28 12:34:36 +00:00
J. Alexander Treuman
7ca84d3166 Adding copyright headers to locate.[ch].
git-svn-id: https://svn.musicpd.org/mpd/trunk@5422 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-02-24 03:14:00 +00:00
J. Alexander Treuman
6e64bac7b6 Adding playlistfind and playlistsearch commands for searching the current
playlist.

git-svn-id: https://svn.musicpd.org/mpd/trunk@5420 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-02-24 02:00:03 +00:00
J. Alexander Treuman
1ae3bdb7e6 Moving a bunch of the LocateTagItem code to locate.[ch] so that it can
later be used for playlist searching.

git-svn-id: https://svn.musicpd.org/mpd/trunk@5419 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-02-24 00:54:54 +00:00
Qball Cow
d7e20861d4 Make mpd fetch the Original artist/performer tag from mp3's
git-svn-id: https://svn.musicpd.org/mpd/trunk@5418 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-02-23 20:39:39 +00:00
Eric Wong
08a7a86be2 pcm_utils: fix libsamplerate compilation with non-C99 compilers
Mixing code and declarations is ugly, anyways.

We could probably get away with using alloca(), but I'm not sure
how good compiler support is for that, either.  It's probably
more supported than mixed declarations and code.  Nevertheless;
we'll trigger memory checkers on exit because we don't free
the buffers; but we won't actually leak because we reuse those
buffers (just like the non-SRC code path).

git-svn-id: https://svn.musicpd.org/mpd/trunk@5397 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-02-19 07:58:08 +00:00
Eric Wong
658b8f53df More (v)snprintf-related buffer over-allocations removed
Also took out an unnecessary memset in getPlayerErrorStr

git-svn-id: https://svn.musicpd.org/mpd/trunk@5396 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-02-19 07:58:05 +00:00
Eric Wong
772dc6bc66 inputStream_http: cleanup GET request code (finishHTTPInit)
Avoid unnecessary memset to zero, snprintf always puts a
trailing '\0'.  We also have no need to subtract one from the
buffer we're snprintf-ing it to.

We also check the return value of snprintf to ensure it's not
too long.  I have a feeling we might as well avoid snprintf
altogether so we don't have to worry about buffer sizing/stack
overflow and just do a bunch of write(2)s, letting Nagle sort it
out...

Also, centralize some of the exit error handling in with
goto.  This makes the code a bit more consistent and
maintainable as well as reducing code and binary size.

git-svn-id: https://svn.musicpd.org/mpd/trunk@5395 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-02-19 07:58:03 +00:00
Eric Wong
9372692127 inputStream_http: fix HTTP seeking
We need to identify ourselves as HTTP/1.1 so Range: works;
and so the server can return HTTP/1.1 instead of HTTP/1.0.

Tested against lighttpd 1.4.13

git-svn-id: https://svn.musicpd.org/mpd/trunk@5394 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-02-19 06:49:01 +00:00
J. Alexander Treuman
8b8d6ddbbd Removing a global initialization to 0.
git-svn-id: https://svn.musicpd.org/mpd/trunk@5378 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-02-18 01:59:33 +00:00
J. Alexander Treuman
7a4e0162ae Closing some parenthesis around shank's email address in copyright headers.
git-svn-id: https://svn.musicpd.org/mpd/trunk@5376 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-02-18 01:20:21 +00:00
J. Alexander Treuman
f8e78bf995 Re-adding a fix to log.c that got pulled with the localization reversion.
git-svn-id: https://svn.musicpd.org/mpd/trunk@5374 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-02-18 01:00:54 +00:00
J. Alexander Treuman
7b1e14b8e8 Reverting all of my localization changes. It was a horrible
implementation, and fixing it is a big enough job that I don't know when
I'll get around to it.  Probably best just starting from scratch anyhow.

git-svn-id: https://svn.musicpd.org/mpd/trunk@5373 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-02-18 00:42:22 +00:00
Warren Dukes
d7e8507eaf fix for bug #1447
git-svn-id: https://svn.musicpd.org/mpd/trunk@5369 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-02-18 00:06:20 +00:00
J. Alexander Treuman
81fd135651 Fixing some weird floating point comparison issue. Not exactly sure why
this fixes it though.

git-svn-id: https://svn.musicpd.org/mpd/trunk@5338 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-02-13 23:47:41 +00:00
Warren Dukes
b54c7c64c0 #1) fix a few potential deadlock conditons in decode.c when crossfading is enabled
#2) fix a deadlock condition when attempting to seek if the decoder quit and returned to playerInit()

git-svn-id: https://svn.musicpd.org/mpd/trunk@5325 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-02-11 20:36:26 +00:00
J. Alexander Treuman
c5933a164a Fix a bug where mpd would complain about a proxy password being specified
and not a proxy user even when both are specified.

git-svn-id: https://svn.musicpd.org/mpd/trunk@5324 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-02-06 03:25:29 +00:00
Avuton Olrich
79ef8ba248 Add libsamplerate support, old resampling is still an option, but this sounds much better for those who need it and don't want to use pulseaudio. Reviewed by shank/avuton.
git-svn-id: https://svn.musicpd.org/mpd/trunk@5316 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-02-02 03:51:07 +00:00
Warren Dukes
96c5976ccc on second thought, comment out the debug statement so that users aren't potentially flooded
git-svn-id: https://svn.musicpd.org/mpd/trunk@5270 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-01-24 02:56:45 +00:00
Warren Dukes
2a92239cf1 add debug statement for bug #1380
git-svn-id: https://svn.musicpd.org/mpd/trunk@5269 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-01-24 02:53:16 +00:00
Qball Cow
b2488e469a Fix some error messages concerning _ao output driver
git-svn-id: https://svn.musicpd.org/mpd/trunk@5268 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-01-21 21:41:54 +00:00
Avuton Olrich
d7e3b80f62 José Anarch: JACK updates
git-svn-id: https://svn.musicpd.org/mpd/trunk@5267 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-01-20 21:04:32 +00:00
Avuton Olrich
51d7ab021c Committing posix_fadvise(); normalperson/jat reviewed. Appears fine. Fixes bug #1428.
git-svn-id: https://svn.musicpd.org/mpd/trunk@5265 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-01-19 01:40:02 +00:00
J. Alexander Treuman
9a222cab6c Call initLocalization() earlier so that errors, --version, etc. output
correctly.

git-svn-id: https://svn.musicpd.org/mpd/trunk@5264 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-01-17 16:06:21 +00:00
Eric Wong
298d5ce059 avahi: malloc => xmalloc
git-svn-id: https://svn.musicpd.org/mpd/trunk@5262 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-01-14 04:49:26 +00:00
Eric Wong
53427fb3d4 sparse: move extern declarations for plugins into header files
git-svn-id: https://svn.musicpd.org/mpd/trunk@5261 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-01-14 04:33:13 +00:00
Eric Wong
0a6d48c28e More sparse fixes now that we've re-enabled -Wmissing-prototypes
git-svn-id: https://svn.musicpd.org/mpd/trunk@5260 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-01-14 04:33:11 +00:00
Eric Wong
5220c2c991 avahi: use #ifdef instead of #if because AVAHI may not be defined at all
git-svn-id: https://svn.musicpd.org/mpd/trunk@5259 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-01-14 04:25:27 +00:00
Eric Wong
2c01b285c1 flac: workaround for type inconsistency between new/old read callback
size_t (1.1.3) makes a lot more sense, but older flac used unsigned
here...

git-svn-id: https://svn.musicpd.org/mpd/trunk@5258 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-01-14 04:25:24 +00:00
Eric Wong
d41de57bfe jack: fix type warning in error message
just casting to int because it's the simplest (%z is not
well-supported)

Noticed-by: avuton on a 64-bit machine

git-svn-id: https://svn.musicpd.org/mpd/trunk@5257 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-01-14 04:25:22 +00:00
Eric Wong
b443363aa6 Don't initialize globals to zero (or NULL)
Some compilers and linkers aren't smart enough to optimize this,
as global variables are implictly initialized to zero.  As a
result, binaries are a bit smaller as more goes in the .bss and
less in the text section.

git-svn-id: https://svn.musicpd.org/mpd/trunk@5254 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-01-14 03:07:53 +00:00
Eric Wong
45716f877b flac/ogg/oggflac: keep old mime-types in addition to the new ones
We'll be dealing with legacy server configurations for a long
time to come.

git-svn-id: https://svn.musicpd.org/mpd/trunk@5253 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-01-14 03:07:50 +00:00
Eric Wong
3c2d123ab9 jack: fix double-free in finish routine
git-svn-id: https://svn.musicpd.org/mpd/trunk@5252 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-01-14 02:08:29 +00:00
Eric Wong
f894e98950 jack: fix potential segfaults in parsing bad configs for 'ports'
git-svn-id: https://svn.musicpd.org/mpd/trunk@5251 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-01-14 02:08:27 +00:00
Eric Wong
e1ee4505de jack: fix multiple segfaults when jackd hasn't been started
git-svn-id: https://svn.musicpd.org/mpd/trunk@5250 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-01-14 02:08:24 +00:00
Eric Wong
eb2a02dc2b jack: strdup => xstrdup for error checking
git-svn-id: https://svn.musicpd.org/mpd/trunk@5249 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-01-14 02:08:22 +00:00
Eric Wong
8a1b85c1a5 avahi: more sparse fixes (-Wshadow, non-ANSI declarations)
git-svn-id: https://svn.musicpd.org/mpd/trunk@5248 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-01-14 02:08:20 +00:00
Eric Wong
6b9fc56839 jack: declare global variables as static
There's no reason they shouldn't be static.  Additionally,
output_ports doesn't need to be initialized to NULLs; that is
(and has always been) implicit (for all global variables)

git-svn-id: https://svn.musicpd.org/mpd/trunk@5247 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-01-14 02:08:18 +00:00
Eric Wong
71bcc16588 mp3: sparse: fix warnings reported with -Wshadow
sendDataToOutputBuffer returns an int (and always has), and
using the existing 'ret' is fine in mp3Read().

git-svn-id: https://svn.musicpd.org/mpd/trunk@5246 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-01-14 02:08:16 +00:00
Eric Wong
5ae84b7d0f localization: fix implicit declaration warnings (WARNING and strcmp)
just added the missing includes.

git-svn-id: https://svn.musicpd.org/mpd/trunk@5245 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-01-14 02:08:14 +00:00
Eric Wong
598be943ac flac: sparse: mismatched enum type for seek
git-svn-id: https://svn.musicpd.org/mpd/trunk@5244 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-01-14 02:08:11 +00:00
Eric Wong
931c980558 zeroconf: avoid mixing declarations and code
git-svn-id: https://svn.musicpd.org/mpd/trunk@5243 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-01-14 02:08:09 +00:00
Eric Wong
8a38b28e86 inputStream_http: stop mixing declarations with code
git-svn-id: https://svn.musicpd.org/mpd/trunk@5242 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-01-14 02:08:07 +00:00
Eric Wong
1d9b6076cb flac: fix a stupid mistake newer preprocessors don't complain about
FLAC__{seekable_,}_stream_decoder_new() takes no arguments

git-svn-id: https://svn.musicpd.org/mpd/trunk@5241 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-01-14 02:08:05 +00:00
Jim Ramsay
5d79aced8c Added zeroconf service publishing using avahi
git-svn-id: https://svn.musicpd.org/mpd/trunk@5238 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-01-11 20:41:17 +00:00
Qball Cow
2d985b01c2 Remove a line of dead code
git-svn-id: https://svn.musicpd.org/mpd/trunk@5235 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-01-11 14:47:12 +00:00
J. Alexander Treuman
44c5549b46 Output warning messages in the current locale's charset.
git-svn-id: https://svn.musicpd.org/mpd/trunk@5229 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-01-08 05:04:08 +00:00
J. Alexander Treuman
4989672ac0 Fixed some silly logic that caused an extra \n to be printed when flushing
warning messages.

git-svn-id: https://svn.musicpd.org/mpd/trunk@5228 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-01-08 05:01:28 +00:00
J. Alexander Treuman
438c1add9d Convert log messages sent to stdout to the current locale's charset.
git-svn-id: https://svn.musicpd.org/mpd/trunk@5227 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-01-08 04:31:44 +00:00
J. Alexander Treuman
90b4af0341 Moving pathConvCharset to charConv.c so it can be reused for localization.
git-svn-id: https://svn.musicpd.org/mpd/trunk@5226 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-01-08 03:28:36 +00:00
J. Alexander Treuman
bcb493cfd3 Moving localization stuff from path.c to localization.c so we can reuse it
for log messages when outputting to console.

git-svn-id: https://svn.musicpd.org/mpd/trunk@5225 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-01-08 03:15:33 +00:00
Avuton Olrich
4730666b26 Fix the mime types for flac & oggflac, see mantis bug #1423 for more information
git-svn-id: https://svn.musicpd.org/mpd/trunk@5222 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-01-06 04:59:05 +00:00
Avuton Olrich
70a23d61cc And a fix for the warnings in the last patch for JACK
git-svn-id: https://svn.musicpd.org/mpd/trunk@5192 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-12-30 00:41:05 +00:00
Avuton Olrich
43e2981f20 A JACK patch to fix some old issues, from author.
git-svn-id: https://svn.musicpd.org/mpd/trunk@5191 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-12-30 00:14:45 +00:00
Qball Cow
878fc33ce9 Accept application/x-ogg as valid mime type
git-svn-id: https://svn.musicpd.org/mpd/trunk@5165 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-12-27 14:12:11 +00:00
J. Alexander Treuman
ab789982d3 Do not set metadataState to PLAYER_METADATA_STATE_READ when decoding stops.
This fixes a bug where streams that won't play somehow appear with the
metadata of a previously played stream.  As far as I can tell, the only
reason this is done is to sync any buffered metadata with the displayed
metadata when decoding stops, so there should be no other adverse effects.

git-svn-id: https://svn.musicpd.org/mpd/trunk@5161 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-12-24 04:24:32 +00:00
J. Alexander Treuman
9bdb0b0df2 Adding support for seeking HTTP streams.
git-svn-id: https://svn.musicpd.org/mpd/trunk@5159 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-12-23 19:57:28 +00:00
J. Alexander Treuman
f30f93cb8b Added gapless_mp3_playback option. Setting to "no" will disable gapless
MP3 playback, thus allowing songs that run longer than the Xing frame
claims (f.e., an MP3 created by catting two MP3s together) to continue
playing past the end.

git-svn-id: https://svn.musicpd.org/mpd/trunk@5157 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-12-23 18:00:15 +00:00
J. Alexander Treuman
d4be2276a0 Use the existing define for the default value of save_absolute_playlists
instead of a hardcoded value.

git-svn-id: https://svn.musicpd.org/mpd/trunk@5151 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-12-23 16:37:36 +00:00
J. Alexander Treuman
df3222095c Only parse gapless info if the input stream is seekable, under the
assumption that non-seekable streams are live and any gapless info is
incorrect.

git-svn-id: https://svn.musicpd.org/mpd/trunk@5150 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-12-23 15:58:06 +00:00
J. Alexander Treuman
57b0a42940 Don't stop decoding if we're at maxFrames just because there's a Xing tag.
Instead, stop decoding as soon as we've found the frames/samples at the
"end" that we want drop.

git-svn-id: https://svn.musicpd.org/mpd/trunk@5149 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-12-23 15:22:35 +00:00
J. Alexander Treuman
f158016d0e Cleaning up some damn near unreadable wrapping caused by indent.
git-svn-id: https://svn.musicpd.org/mpd/trunk@5148 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-12-23 15:13:19 +00:00
J. Alexander Treuman
5da19e5f78 Properly calculate the number of remaining samples in the MP3 frame, even
though in practice it should never matter.

git-svn-id: https://svn.musicpd.org/mpd/trunk@5147 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-12-23 15:10:21 +00:00
J. Alexander Treuman
4479ece74d Making "list any" fail with an error instead of OK with no results.
git-svn-id: https://svn.musicpd.org/mpd/trunk@5139 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-12-11 20:18:04 +00:00
J. Alexander Treuman
ba4b4d8ad9 Moving LOCATE_TAG_{FILE,ANY}_TYPE defines to dbUtils.h, so that we can
compare the return value of getLocateTagItemType() to them.

git-svn-id: https://svn.musicpd.org/mpd/trunk@5138 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-12-11 20:14:33 +00:00
J. Alexander Treuman
a26582e991 Fixing "find any" and "list * any" to actually find matches.
git-svn-id: https://svn.musicpd.org/mpd/trunk@5137 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-12-11 19:52:05 +00:00
J. Alexander Treuman
ec45950b36 Oops, forgot to add an interface to stored playlist editing. Here it is.
git-svn-id: https://svn.musicpd.org/mpd/trunk@5128 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-12-07 14:41:40 +00:00
Eric Wong
63dd4b4598 Add OggFLAC support when using the new 1.1.3 FLAC library
This means that when using libFLAC as a shared object,
OggFLAC support is dependent on the compile-time options of
the libFLAC library loaded.

git-svn-id: https://svn.musicpd.org/mpd/trunk@5112 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-12-04 04:45:50 +00:00
Eric Wong
b152086ae4 Introduce backwards compatibility with pre-1.1.3 FLAC
git-svn-id: https://svn.musicpd.org/mpd/trunk@5111 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-12-04 04:45:47 +00:00
Eric Wong
ccf971a320 inputPlugins/flac_plugin: switch to the new (1.1.3) API
We will restore compatibility with the old API in the
next few commits; along with OggFLAC support.

git-svn-id: https://svn.musicpd.org/mpd/trunk@5110 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-12-04 04:45:44 +00:00
Eric Wong
5048388251 inputPlugins/flac_plugin: cleanup static declarations
move flac_decode to the bottom, so we don't have to declare
all of our static functions.

git-svn-id: https://svn.musicpd.org/mpd/trunk@5109 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-12-04 04:45:41 +00:00
J. Alexander Treuman
fc4868a040 Check that the APE tag length is valid before allocating a buffer for it.
git-svn-id: https://svn.musicpd.org/mpd/trunk@5098 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-11-26 03:51:46 +00:00
J. Alexander Treuman
08003904d7 Adding functions for clearing/adding to stored playlists. Commands to make
use of these functions are still being worked on.

git-svn-id: https://svn.musicpd.org/mpd/trunk@5075 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-11-20 15:37:58 +00:00
Eric Wong
6d6155d766 audioOutput_alsa: print out the bitrate we wanted to set
..and not the enum value that corresponds to that bitrate

git-svn-id: https://svn.musicpd.org/mpd/trunk@5030 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-11-07 04:10:02 +00:00
Warren Dukes
f6b982eb07 add support for: list file
This behaves the same as: list filename

git-svn-id: https://svn.musicpd.org/mpd/trunk@4952 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-10-27 23:07:34 +00:00
Warren Dukes
a8a932a215 remove some unneccesary includes from the audioOutput's
git-svn-id: https://svn.musicpd.org/mpd/trunk@4913 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-10-18 03:03:28 +00:00
Warren Dukes
29c7681ca4 jack patch from anarch (and some type fixes for mp4 and acc plugins)
git-svn-id: https://svn.musicpd.org/mpd/trunk@4912 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-10-18 02:49:13 +00:00
Warren Dukes
e9f51778ef an attempted fix for bug 1368
- don't close and reopen an audioOutput when it has a fixed output format, and closing and reopening the device is unneccessary when the input audio format changes

git-svn-id: https://svn.musicpd.org/mpd/trunk@4908 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-10-17 03:16:11 +00:00
Eric Wong
e1d1a703f1 path.c: speling fix (I coulda sworn I fixed this before... in -ke)
git-svn-id: https://svn.musicpd.org/mpd/trunk@4904 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-10-14 08:50:23 +00:00
Eric Wong
5a3f501fc8 audioOutput_shout: use shout_set_nonblocking
This patch should continue to allow mpd to play as well as
possible to icecast servers while avoiding stalls on local
devices.  This has eliminated ALSA underrun errors
for me while streaming to a remote host while the network
connection was bad.

Of course, this makes opening a connection non-blocking, too,
so myShout_openShoutConn is a bit more complex.

git-svn-id: https://svn.musicpd.org/mpd/trunk@4898 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-10-11 00:18:43 +00:00
J. Alexander Treuman
f6e96edcc9 Allow an ogg quality of -1 to be specified.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4893 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-10-10 20:00:33 +00:00
Eric Wong
4c80121bba buffer2array: extra unit tests (for PHP magic quote escapes)
Make the unit tests compile correctly without using xstrdup.

Also, use "static inline" instead of "inline static": certain
compilers or cflags are likely to complain about the latter.

git-svn-id: https://svn.musicpd.org/mpd/trunk@4892 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-10-10 19:37:32 +00:00
Eric Wong
e0a8c17957 mp3_plugin.c: fix compilation with -pedantic and/or gcc 2.95
git-svn-id: https://svn.musicpd.org/mpd/trunk@4876 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-10-06 18:01:12 +00:00
Warren Dukes
e198826606 put back np's supperrior buffer2array, and fix my bug fix from change 4872
git-svn-id: https://svn.musicpd.org/mpd/trunk@4875 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-10-06 10:33:27 +00:00
Eric Wong
e3222d807a Revert buffer2array() behavior back to tried and true 0.11.x version
Warren's fix in r4872 made phpMp work again, but also broke
the unit tests completely (they work in this version).

The version in 0.12.0 is far too buggy (it was from mpd-ke, what
do you expect?).  This one passes all the unit tests that the
mpd-ke one passed, and should also work with phpMp when used
with PHP magic quotes.

This also means we can search on 100 (or more) tags at once, so
no more arbitrary limits other than system memory.

To run the unit tests, just do this:
gcc -o t -DUNIT_TEST=1 src/buffer2array.c && ./t && echo OK

git-svn-id: https://svn.musicpd.org/mpd/trunk@4874 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-10-06 08:54:43 +00:00
Warren Dukes
1a51bfb84a fix escaping in quotes. (Now phpMp works again!)
git-svn-id: https://svn.musicpd.org/mpd/trunk@4872 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-10-06 02:25:58 +00:00
Warren Dukes
00719544eb add a sanity check assert
git-svn-id: https://svn.musicpd.org/mpd/trunk@4869 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-10-03 03:06:30 +00:00
Warren Dukes
d3040d1eb5 fix the segfault for when no audio_output is found and none is detected (bug found by normalperson!!!)
git-svn-id: https://svn.musicpd.org/mpd/trunk@4868 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-10-03 02:57:01 +00:00
Warren Dukes
347a33b009 cleanup flushWarningBuffer() and make some for() loops in audio.c look and do something sane.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4867 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-10-03 02:22:37 +00:00
Warren Dukes
648f48ce3b handle invalid xing tags better.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4866 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-10-03 00:58:20 +00:00
Eric Wong
5ece12982a outputBuffer: avoid out-of-bounds-error in clearOutputBuffer()
I'm still not entirely certain why we index cb->metaChunkSet[]
with currentChunk (and not currentMetaChunk), but shank told me
that currentChunk is correct...

git-svn-id: https://svn.musicpd.org/mpd/trunk@4814 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-09-21 08:27:24 +00:00
Eric Wong
64e8332fe5 signal_check: [trivial] make __caught_signals array static
git-svn-id: https://svn.musicpd.org/mpd/trunk@4780 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-09-15 08:56:05 +00:00
Eric Wong
ca84702d8d tag.c: remove unnecessary #includes
git-svn-id: https://svn.musicpd.org/mpd/trunk@4762 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-09-11 23:45:25 +00:00
Qball Cow
f3aa34badb Hopefully fix endian problem mac x86/ppc
git-svn-id: https://svn.musicpd.org/mpd/trunk@4750 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-09-09 10:01:25 +00:00
Eric Wong
f5c7f3da31 utils.c: fix xrealloc
(based on suggested patch by Jan-Benedict Glaw):
> While hacking mpd, I noticed that an assert()ion in xrealloc is wrong.
> A null size is perfectly legal, so we shouldn't assert on that.

Since some C libraries return NULL when size == 0, we'll make
sure we get a free()-able pointer since some of those C
libraries also barf on free(NULL).

git-svn-id: https://svn.musicpd.org/mpd/trunk@4740 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-09-07 19:26:51 +00:00
Eric Wong
7b6d45f50f gcc.h: make sure __GNUC__ is defined before checking it's value
git-svn-id: https://svn.musicpd.org/mpd/trunk@4724 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-30 07:56:22 +00:00
J. Alexander Treuman
806acdd4f4 Rearrange mpd.conf.5 and conf.[ch] to use the more logical ordering of config parameters that the new (yet to be committed) mpdconf.example will use.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4715 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-28 20:47:50 +00:00
Eric Wong
90847fc881 Replace strdup and {c,re,m}alloc with x* variants to check for OOM errors
I'm checking for zero-size allocations and assert()-ing them,
so we can more easily get backtraces and debug problems, but we'll
also allow -DNDEBUG people to live on the edge if they wish.

We do not rely on errno when checking for OOM errors because
some implementations of malloc do not set it, and malloc
is commonly overridden by userspace wrappers.

I've spent some time looking through the source and didn't find any
obvious places where we would explicitly allocate 0 bytes, so we
shouldn't trip any of those assertions.

We also avoid allocating zero bytes because C libraries don't
handle this consistently (some return NULL, some not); and it's
dangerous either way.

git-svn-id: https://svn.musicpd.org/mpd/trunk@4690 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-26 06:25:57 +00:00
Eric Wong
be554c2596 audioOutputs_oss: [trivial] make loop interation consistent with others
git-svn-id: https://svn.musicpd.org/mpd/trunk@4689 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-26 06:25:52 +00:00
Eric Wong
f3981eab58 audio.c: [trivial] remove unnecessary include
git-svn-id: https://svn.musicpd.org/mpd/trunk@4688 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-26 06:25:49 +00:00
Eric Wong
45f28394c0 command.c: rerun mpd-indent.sh, no code changes
leave out initCommands to keep jat happy, and keep labels
at the left hand side

git-svn-id: https://svn.musicpd.org/mpd/trunk@4687 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-26 06:25:44 +00:00
J. Alexander Treuman
5b7c3c8707 Fix an esoteric gcc warning
git-svn-id: https://svn.musicpd.org/mpd/trunk@4684 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-25 00:29:41 +00:00
Eric Wong
64a4c635de audiofile_plugin: use afSetVirtualSampleFormat, too
This finally fixes a bug from over two years ago playing a wave file
(oprah.wav) with the following characteristics (from sfinfo):

File Format    Microsoft RIFF WAVE Format (wave)
Data Format    8-bit integer (unsigned, little endian)
Audio Data     986827 bytes begins at offset 58 (3a hex)
1 channel, 986827 frames
Sampling Rate  22050.00 Hz
Duration       44.754 seconds

Of course, this has been regression tested with all the files
that the previous commit got working.  Thanks to Michael Pruett
(audiofile author) for the hint and shame on me for forgetting
about it for over two years :x

git-svn-id: https://svn.musicpd.org/mpd/trunk@4682 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-24 21:59:19 +00:00
Eric Wong
b8fe818ae7 audiofile_plugin: fix for playing mono .au files with 8000Hz sample rate
Use the 'Virtual' variants of afGetSampleFormat, afGetChannels,
afGetVirtualFrameSize in the audiofile library, since it already does
the necessary abstraction for us.

Of course, I've regression tested these changes against my
standard 44100Hz/2ch/16bit wave files and they continue to play
fine.

Files tested:
english.au (Linus Torvalds pronouncing 'Linux' in English)
B01.Red_Bright_Heart.au (Chinese opera, sounds correct to me even though
I don't actually understand the words)

git-svn-id: https://svn.musicpd.org/mpd/trunk@4681 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-24 20:54:40 +00:00
J. Alexander Treuman
25555cd1b0 Use strcasecmp to check for replaygain id3v2 tags, since apparently some apps write them in all caps.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4672 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-23 19:10:47 +00:00
J. Alexander Treuman
87327cb931 Instead of ignoring mp2/mp3 files that start with a layer 1 frame, just skip the layer 1 frames looking for a layer 2 or 3 frame.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4671 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-23 14:06:16 +00:00
J. Alexander Treuman
30bf8f89f4 If a frame header decode loses sync, just try again instead of trying to decode a frame (which will automatically decode the next header without allowing us to do some checks on it).
git-svn-id: https://svn.musicpd.org/mpd/trunk@4670 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-23 13:43:23 +00:00
J. Alexander Treuman
103dd654f0 Skip layer 2 frames in mp3s and vice versa. Also drop support for layer 1, since it hasn't been tested.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4669 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-23 13:20:24 +00:00
Eric Wong
67de7ea116 fix Replay Gain reading for FLAC and OggFLAC
This bug was NOT introduced in my OggFLAC additions, honest!

As far as I can see, it was introduced way back in r2482, but
nobody ever noticed until the post here:
http://www.musicpd.org/forum/index.php?topic=1152.0

While we're at it, clean up some of the variable typing.

git-svn-id: https://svn.musicpd.org/mpd/trunk@4664 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-22 06:36:56 +00:00
Eric Wong
504d3425f2 get rid of the pointless xopen wrapper, open(2) does not throw errno = EINTR
git-svn-id: https://svn.musicpd.org/mpd/trunk@4663 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-22 06:36:51 +00:00
Eric Wong
72c12ff768 oggvorbis_plugin.c: update message to match changed function name
I'm not using __FUNCTION__ or __func__ because compiler support
for these is still a bit iffy as far as I know...

git-svn-id: https://svn.musicpd.org/mpd/trunk@4662 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-20 10:13:59 +00:00
Eric Wong
ee223bf02b trivial: labels should be on the left-most column, no tabbing
Unfortunately there doesn't seem to be an indent switch for this,
but we have find + perl:

find src -name '*.[ch]' | xargs perl -i -p -e \
's/^\s+(\w+):/$1:/g unless /^\s+default:/'

This is a followup to r4605, and there are no actual code
changes in this.

git-svn-id: https://svn.musicpd.org/mpd/trunk@4661 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-20 10:13:54 +00:00
Eric Wong
f8b07de3d4 inputPlugins/_ogg_common.c: check for read errors correctly
git-svn-id: https://svn.musicpd.org/mpd/trunk@4660 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-20 10:13:50 +00:00
Avuton Olrich
aa487e6c75 This fixes 5 potential bugs where the conditional would always be true.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4659 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-20 03:11:12 +00:00
Avuton Olrich
54a1a9f2b6 Fix missing initializer in DISABLED_AUDIO_OUTPUT_PLUGIN();
git-svn-id: https://svn.musicpd.org/mpd/trunk@4658 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-20 01:06:27 +00:00
Avuton Olrich
f79a70d1b9 Fix warnings for -Wmissing-prototypes
Add -Wmissing-prototypes if compiling with gcc
Static where possible

git-svn-id: https://svn.musicpd.org/mpd/trunk@4657 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-20 00:50:44 +00:00
Eric Wong
9caade4eb1 fix a few warnings on 64-bit machines
size_t is bigger than int on most 64-bit machines, so cast
size_t to long when passing them to printf-like functions.

Ideally we'd use %z, but many compilers don't support it.

git-svn-id: https://svn.musicpd.org/mpd/trunk@4656 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-18 07:02:54 +00:00
J. Alexander Treuman
a6297f81f3 Cast isostr to char * to fix yet another warning
git-svn-id: https://svn.musicpd.org/mpd/trunk@4655 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-18 04:10:41 +00:00
J. Alexander Treuman
7c3a5596fd Change type of isostr to fix warning
git-svn-id: https://svn.musicpd.org/mpd/trunk@4654 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-18 04:08:44 +00:00
J. Alexander Treuman
8f86c41d97 Avoid an unnecessary encoding conversion when converting id3v1 tags. Also make getID3Info static.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4642 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-15 00:47:19 +00:00
Eric Wong
c2e1ccd968 tag.c: fix segfault on failed id3v1 character conversion
convStrDup() returns NULL if character conversion fails,
so make sure we check the return values and drop the
tag if we can't get a conversion.

This should close bug 1313:
http://musicpd.org/mantis/view.php?id=1313

git-svn-id: https://svn.musicpd.org/mpd/trunk@4641 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-15 00:04:34 +00:00
Eric Wong
e5df85db15 Several bugfixes during exit found by valgrind
First, make sure we call finishPlaylist() before
closeMp3Directory() since the latter will free non-SONG_TYPE_URL
songs in playlist, which causes an invalid read when we try to
look for SONG_TYPE_URL songs to free in finishPlaylist.

Secondly, make sure our children have all exited before freeing
the playerData.  If we do not, slowly-delivered signals can
trigger a race condition in the signal handlers of the decode
and player processes which rely on getPlayerData.  To avoid
waitpid-ing too long (or at all), move the freePlayerData() call
farther down in main() (this won't affect anything else)
to give the OS a better chance to deliver signals and finish running
sig handlers for terminated children.

git-svn-id: https://svn.musicpd.org/mpd/trunk@4640 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-14 23:31:08 +00:00
Eric Wong
6459b3ee29 Revert leaks from r4311, and also the leak fixes as a result of that
utf8ToFsCharset() and fsCharsetToUtf8() got very broken in r4311, and
resulted in several commits to fix those leaks.  Unfortunately, not all
of those newly introduced leaks were fixed, nor was the result pretty.

Also, fixed a double-free in lsPlaylists().  This is very hard
to trigger (and therefore exploit) at the moment because we
check printDirectoryInfo() beforehand.

Intended behavior for utf8ToFsCharset() and fsCharsetToUtf8() as
God^H^H^Hshank originally intended is now documented in path.h
to prevent future errors like this.

mpd could still use some good valgrind testing before the 0.12.0
release.

<plug>In addition to reducing heap fragmentation, malloc
reductions from mpd-ke greatly reduces the chance of leaks from
happening due to programming errors.</plug>

git-svn-id: https://svn.musicpd.org/mpd/trunk@4639 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-14 13:46:51 +00:00
J. Alexander Treuman
4fe965c304 Stop decoding once we've dropped samples at the end (it messes up the audio if there's more mp3 to decode)
git-svn-id: https://svn.musicpd.org/mpd/trunk@4619 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-13 02:56:23 +00:00
J. Alexander Treuman
66512edb6c Presume that the Xing frame count is accurate, and stop decoding when we hit the last frame
git-svn-id: https://svn.musicpd.org/mpd/trunk@4618 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-13 02:53:20 +00:00
Eric Wong
0511e14db0 audioOutput_alsa.c: avoid changing our internal period and buffer time values
Passing a ref to snd_pcm_hw_params_set_{buffer,period}_time_near
can modify our internal {period,buffer}_time members inside the
AlsaData structure, making re-initializing the device across
sample/bit rate and channel changes non-idempotent.

git-svn-id: https://svn.musicpd.org/mpd/trunk@4616 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-12 18:20:55 +00:00
Warren Dukes
b5361f7789 always support DEBUG() logging, even if -DNDEBUG
git-svn-id: https://svn.musicpd.org/mpd/trunk@4613 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-12 04:50:18 +00:00
Avuton Olrich
ca7fdaa929 Spelling & Grammar
git-svn-id: https://svn.musicpd.org/mpd/trunk@4612 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-11 21:50:56 +00:00
Eric Wong
b46b2c9f69 Separate PROTOCOL_VERSION from VERSION
So we can have VERSION=0.12.0rc1 and keep the
clients seeing 0.12.0

git-svn-id: https://svn.musicpd.org/mpd/trunk@4608 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-10 21:15:06 +00:00
Warren Dukes
25346cb38c labels should be on the left most column, no tabbing
git-svn-id: https://svn.musicpd.org/mpd/trunk@4605 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-09 22:18:06 +00:00
Warren Dukes
d7d7f0089a we have the parentPos, so use it when incrementing the tree iterator.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4604 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-09 02:13:46 +00:00
Eric Wong
4924bf4391 audioOutput_pulse: ansi-fy function declarations (sparse)
git-svn-id: https://svn.musicpd.org/mpd/trunk@4599 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-08 02:32:58 +00:00
Eric Wong
f7d150a360 more sparse cleanups
* less-commonly compiled things like ao/mvp outputs
* Adding -Wno-transparent-union to SPARSE_FLAGS makes it check
inside decode.c, directory.c, player.c, and sig_handlers.c
* remove unused variables leftover from the master process
in sig_handlers.c

git-svn-id: https://svn.musicpd.org/mpd/trunk@4598 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-08 02:23:21 +00:00
Eric Wong
6395edab69 mpc_plugin: fix seeking bug
remember to reset our chunk pointer when seeking

git-svn-id: https://svn.musicpd.org/mpd/trunk@4597 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-08 00:56:05 +00:00
Eric Wong
354d9aed79 mpc_plugin.c: fix compilation error with MPC_FIXED_POINT
(It sounds like crap though)

git-svn-id: https://svn.musicpd.org/mpd/trunk@4596 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-07 21:23:03 +00:00
Eric Wong
ae97bcdfa2 sparse / gcc-2.95 / -pedantic fixes
Not everybody has access to the latest and greatest compilers.

git-svn-id: https://svn.musicpd.org/mpd/trunk@4595 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-07 20:49:20 +00:00
J. Alexander Treuman
d54df97b06 rewrite getId3Tag so we can get rid of this silly ID3_TAG_BUFLEN crap
git-svn-id: https://svn.musicpd.org/mpd/trunk@4594 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-07 20:34:59 +00:00
Eric Wong
5f1e53e887 command: static-fication since commandError is no longer a macro
git-svn-id: https://svn.musicpd.org/mpd/trunk@4593 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-07 20:06:46 +00:00
J. Alexander Treuman
831ee7c63e Indent some #defines in tag.c for better readability
git-svn-id: https://svn.musicpd.org/mpd/trunk@4592 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-07 20:04:16 +00:00
J. Alexander Treuman
5f827ac126 Ok, don't use memcmp for comparing audio formats!
git-svn-id: https://svn.musicpd.org/mpd/trunk@4591 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-07 20:00:00 +00:00
J. Alexander Treuman
7cf28560e1 Eliminate unnecessary use of a variable
git-svn-id: https://svn.musicpd.org/mpd/trunk@4586 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-07 17:55:15 +00:00
J. Alexander Treuman
8e8fd7f1d7 Use memcmp to compare audio formats
git-svn-id: https://svn.musicpd.org/mpd/trunk@4585 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-07 17:53:53 +00:00
J. Alexander Treuman
ff0a2543a6 Reopen the audio device if the audio format has changed
git-svn-id: https://svn.musicpd.org/mpd/trunk@4584 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-07 17:51:15 +00:00
J. Alexander Treuman
7f4f3010a5 Add PERMISSION_NONE define, for commands that require no permission
git-svn-id: https://svn.musicpd.org/mpd/trunk@4583 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-07 15:48:16 +00:00
J. Alexander Treuman
7c9d3c4186 Reformatting initCommands and fillBuffer
git-svn-id: https://svn.musicpd.org/mpd/trunk@4582 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-07 15:46:35 +00:00
Warren Dukes
b9f13d568a remove overzealous asserts (wait for np to clean up his COMMAND_MAX_ARGS stuff)
git-svn-id: https://svn.musicpd.org/mpd/trunk@4575 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-06 14:41:11 +00:00
Warren Dukes
8e53406774 renamce cstrtok to buffer2array. please don't rename functions; especially to names that look extremely std-lib-ish. also, don't use isspace, apparently it's local dependent and potentially consideres ' ' or '\t' not to be a space, or considers other characters to be a space.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4574 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-06 13:53:53 +00:00
Warren Dukes
31de97a42b merge changes from mpd-tree:
-use tree for tagTracker
-eliminate the master process

git-svn-id: https://svn.musicpd.org/mpd/trunk@4571 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-06 06:40:11 +00:00
Eric Wong
a8393d3937 buffer2array: more unit tests
git-svn-id: https://svn.musicpd.org/mpd/trunk@4570 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-05 22:13:54 +00:00
Eric Wong
dd4c6d45f2 buffer2array: fix for trailing sub-quoted text inside a quoted context
Also added a unit test to check for errors/bugs to make sure we
don't have regressions.

Bug found by Qball.

git-svn-id: https://svn.musicpd.org/mpd/trunk@4569 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-05 22:06:12 +00:00
J. Alexander Treuman
c0036bcb45 Our id3 tag buffer should be an array of bytes, not an array of pointers to bytes. Now I know where those warnings came from...
git-svn-id: https://svn.musicpd.org/mpd/trunk@4540 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-03 04:34:51 +00:00
Eric Wong
055e166619 buffer2array: oops, we forgot to take into account that \ is escaped, too
Any escaped instances of \ must already be inside an already
quoted string, though.

git-svn-id: https://svn.musicpd.org/mpd/trunk@4539 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-03 04:20:25 +00:00
Eric Wong
31a81e2bcf log: oops, brain fart caused a segfault
git-svn-id: https://svn.musicpd.org/mpd/trunk@4538 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-03 03:38:39 +00:00
Eric Wong
057a483710 log: switch to using FILE * for logging, since fdprintf isn't reentrant
(and fdprintf was never meant to be reentrant, either)

A huge thanks to welshbyte for reporting the bug and being very
helpful in helping me fix it.

git-svn-id: https://svn.musicpd.org/mpd/trunk@4537 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-03 03:29:02 +00:00
J. Alexander Treuman
15c2aa765a Undoing more indent silliness
git-svn-id: https://svn.musicpd.org/mpd/trunk@4536 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-03 02:45:23 +00:00
Warren Dukes
7ad533cca5 remove tree.[ch] from trunk, it will be added back once the mpd-tree branch is
merged back into trunk

git-svn-id: https://svn.musicpd.org/mpd/trunk@4535 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-03 02:42:27 +00:00
Eric Wong
980c717749 main.c: initialize the verbose flag correctly
git-svn-id: https://svn.musicpd.org/mpd/trunk@4533 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-03 01:57:52 +00:00
Warren Dukes
954dcec273 tree optimization: reduce the number of compares required for insertion and deletion by storing the position in the parent node of each child
git-svn-id: https://svn.musicpd.org/mpd/trunk@4532 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-02 02:06:00 +00:00
Eric Wong
682fe8cee6 audioOutput_oss: cleanups (stolen from -ke)
git-svn-id: https://svn.musicpd.org/mpd/trunk@4518 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-01 12:39:10 +00:00
Eric Wong
83b619e997 charConv: optimize away a boatload of strdups during update (try #2)
This was originally introduced in r3718, but reverted r3859 since the
original r3718 commit was incorrect (and I was too excited about
the speedup and also lacking in UTF-8 files to notice :x)

git-svn-id: https://svn.musicpd.org/mpd/trunk@4517 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-01 12:02:47 +00:00
Eric Wong
468c9900ca audio: pause/resume-from-statefile bugfixes,
Oops, I broke pause/resuming from a statefile r4514
Everything should be fixed out.

Also we now avoid opening the audio device until we have a
playable audio_format set.  This is a long-standing bug that got
exposed more blatantly with the single array.

Thanks to MattD in #mpd for reporting my breakage.

git-svn-id: https://svn.musicpd.org/mpd/trunk@4516 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-01 12:00:17 +00:00
Eric Wong
eb537f84f1 audio: malloc reductions
Just malloc all of the audioOutput array in one shot
to avoid fragmentation and to improve cache locality
when iterating through the array.

We also know name and type members of the AudioOutput
struct won't change in the config, so there's no
need to strdup them.

newAudioOutput => initAudioOutput

git-svn-id: https://svn.musicpd.org/mpd/trunk@4515 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-01 10:07:16 +00:00
Eric Wong
b0965c317b audio: get rid of the myAudioDevicesEnabled array
It just made things more confusing.  We'll just store
the states in playerData_pd->audioDevicesStates and be
done with it (it's a unsigned byte now).

git-svn-id: https://svn.musicpd.org/mpd/trunk@4514 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-01 10:07:12 +00:00
Eric Wong
c22a53d373 audio: remove AUDIO_MAX_DEVICES limit
Some people have more than 8 devices (the old limit).  It's
pretty easy to support as many as our hardware and OS allows
so we might as well.

git-svn-id: https://svn.musicpd.org/mpd/trunk@4513 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-01 10:07:07 +00:00
Eric Wong
89073cfbba logging cleanups
* Moved all logging-related stuff into log.c
(and not myfprintf.c)

* ISO C90-compliant strftime usage:
%e and %R replaced with %d and %H:%M respectively

* Got rid of variadic macros since some old-school compilers
don't like them

* compiling with -DNDEBUG disables the DEBUG() macro

git-svn-id: https://svn.musicpd.org/mpd/trunk@4512 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-01 04:18:53 +00:00
Eric Wong
2532bc36d2 playerData: move player_pid into the main playerData structure
No point in doing all that extra work for one variable...

git-svn-id: https://svn.musicpd.org/mpd/trunk@4511 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-01 04:18:48 +00:00
Eric Wong
5aca21a502 Several fixes uncovered with -pedantic
playerData.c:
proper error checking

directory.c:
properly check myFgets() for errors
(it returns NULL on error)

inputPlugins/mp3_plugin.c
get rid of commas at the end of enums

interface.c:
we weren't using long long, so strtoll isn't needed
get rid of void-pointer arithmetic

sllist.c:
get rid of void-pointer arithmetic

compress.c:
get rid of C++ comments, some compilers don't accept them

Note that I personally like void pointer arithmetic, but some
ancient compilers don't support them :(

git-svn-id: https://svn.musicpd.org/mpd/trunk@4510 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-01 04:18:41 +00:00
Eric Wong
9ccf40b242 src/listen.c: replace bcopy with memcpy
bcopy is old-school, yo

git-svn-id: https://svn.musicpd.org/mpd/trunk@4509 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-01 04:18:37 +00:00
Warren Dukes
4ff98a9a94 fix a bug when deleting node and CHILDREN_PER_NODE is even
git-svn-id: https://svn.musicpd.org/mpd/trunk@4508 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-01 03:34:56 +00:00
Warren Dukes
42390c5e3b fix a bug when deleting songs and CHILDREN_PER_NODE > 3
git-svn-id: https://svn.musicpd.org/mpd/trunk@4507 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-01 03:29:13 +00:00
Warren Dukes
6f695b8d74 a couple of small cleanups
git-svn-id: https://svn.musicpd.org/mpd/trunk@4506 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-01 01:12:21 +00:00
Warren Dukes
c5cab16509 deletion of tree nodes now works.
next is to clean up the code and make obvious optimizations

git-svn-id: https://svn.musicpd.org/mpd/trunk@4502 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-01 00:31:09 +00:00
Warren Dukes
03fdf503f4 some tree bugfixes
git-svn-id: https://svn.musicpd.org/mpd/trunk@4498 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-31 06:54:49 +00:00
Avuton Olrich
60a7abc1f3 No code change, just add headers
git-svn-id: https://svn.musicpd.org/mpd/trunk@4497 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-31 03:37:34 +00:00
Warren Dukes
43fbf992e2 tree updates:
*) add copyright notice
*) implemented node deletion, but not yet tested

git-svn-id: https://svn.musicpd.org/mpd/trunk@4496 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-31 02:20:44 +00:00
Eric Wong
44f9e16922 software volume can now be saved and read from the state file
git-svn-id: https://svn.musicpd.org/mpd/trunk@4495 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-30 23:32:54 +00:00
Eric Wong
12aec5738b Standardize state_file handling routines.
This way it's easier to manage and extend.

git-svn-id: https://svn.musicpd.org/mpd/trunk@4494 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-30 23:32:47 +00:00
Eric Wong
381d7232a0 remove deprecated myfprintf wrapper
This shaves another 5-6k because we've removed the paranoid
fflush() calls after every fprintf.  Now we only fflush()
when we need to

git-svn-id: https://svn.musicpd.org/mpd/trunk@4493 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-30 23:32:39 +00:00
Warren Dukes
71fe871908 tree updates:
*) when CHILDREN_PER_NODE is large, use binary search
*) add a iterator implementation
*) some code cleanup

git-svn-id: https://svn.musicpd.org/mpd/trunk@4492 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-30 18:43:13 +00:00
Eric Wong
263a9d583a remove clumsy strncpy use
strncpy isn't really safe because it doesn't guarantee null termination,
and we have had to work around it in several places.
strlcpy (from OpenBSD) isn't great, either because it often leaves
errors going unchecked (by truncating strings).

So we'll add the pathcpy_trunc() function with is basically strlcpy
with a hardcoded MAXPATHLEN as the limit, and we'll acknowledge
truncation since we only work on paths and MAXPATHLEN should be
set correctly by the system headers[1].

file-specific notes:

inputStream_http:
eyeballing the changes here, it seems to look alright but I
haven't actually tested it myself.

ls:
don't even bother printing a file if the filename is too long
(and when is it ever?) since we won't be able to read it anyways.

metadataChunk:
it's only metadata, and it's only for showin the user, so truncating
it here souldn't be a big issue.
memset to zero in init is unecessary, so lets not waste cycles

[1] - If the system headers are screwed up, then we're majorly
screwed regardless of what we do :x

git-svn-id: https://svn.musicpd.org/mpd/trunk@4491 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-30 10:31:41 +00:00
Avuton Olrich
4144afe551 Now fix the mp4 plugin warnings to what they were before the dynamic linking
git-svn-id: https://svn.musicpd.org/mpd/trunk@4490 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-30 09:13:01 +00:00
Eric Wong
a80168a15b gcc signedness and sparse fixes
git-svn-id: https://svn.musicpd.org/mpd/trunk@4489 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-30 08:56:55 +00:00
Eric Wong
e86fd65c81 commandError() cleanups, fixup gcc checks
stripped binary size reduced by 9k on my machine from making
commandError a function.  We'll print out error messages slightly
slower before, but the smaller binary is more than worth it.

git-svn-id: https://svn.musicpd.org/mpd/trunk@4488 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-30 08:47:50 +00:00
Warren Dukes
a0c8e3656b beginnings of a B-tree, currently insertion has been implemented and test
git-svn-id: https://svn.musicpd.org/mpd/trunk@4487 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-30 07:58:56 +00:00
Eric Wong
b38c3fa1bb command: fix find/search commands from the malloc reduction patch
The most we ever use is for search/find, and that limits it to the
number of tags we can have.  Add one for the command, and one extra
to catch errors clients may send us.

Thanks to Qball for reporting this bug

git-svn-id: https://svn.musicpd.org/mpd/trunk@4486 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-30 05:00:56 +00:00
Eric Wong
da2d7e0c41 myfprintf: parse paths so we can reopen log files correctly
git-svn-id: https://svn.musicpd.org/mpd/trunk@4485 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-30 04:38:36 +00:00
Eric Wong
a331939d65 fix some warnings introduced in the big malloc-reduction patch
The myfprintf bugs that are fixed here were NOT introduced in the
last patch, it's just that the stricter warning checks from moving
to fprintf caused string format bugs to actually be checked by gcc

git-svn-id: https://svn.musicpd.org/mpd/trunk@4484 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-30 03:57:29 +00:00
Eric Wong
4cf5d04ca1 interface/connection malloc reductions from mpd-ke
This patch massively reduces the amount of heap allocations at
the interface/command layer.  Most commands with minimal output
should not allocate memory from the heap at all.  Things like
repeatedly polling status, currentsong, and volume changes
should be faster as a result, and more importantly, not a source
of memory fragmentation.

These changes should be safe in that there's no way for a
remote-client to corrupt memory or otherwise do bad stuff to
MPD, but an extra set of eyes to review would be good.  Of
course there's never any warranty :)

No longer do we use FILE * structures in the interface, which means
we don't have to allocate any new memory for most connections.

Now, before you go on about losing the buffering that FILE *
+implies+, remember that myfprintf() never took advantage of
any of the stdio buffering features.

To reduce the diff and make bugs easier to spot in the diff,
I've kept myfprintf in places where we write to files (and not
network interfaces).  Expect myfprintf to go away entirely soon
(we'll use fprintf for writing regular files).

git-svn-id: https://svn.musicpd.org/mpd/trunk@4483 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-30 03:43:38 +00:00
Eric Wong
4d5b8509eb conf.c: bugfix: print out the number, not the address
git-svn-id: https://svn.musicpd.org/mpd/trunk@4482 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-30 03:43:34 +00:00
Eric Wong
f08342c11f replace buffer2array() with cstrtok() from mpd-ke
This modifies the string in place, and does not allocate any memory from
the heap.  This is considerably smaller than the function it replaces,
and will be instrumental in getting the commands/conf malloc reductions
done.

git-svn-id: https://svn.musicpd.org/mpd/trunk@4481 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-29 18:55:00 +00:00
Eric Wong
f05166a6a0 command.c: shorten common variable names to argc and argv
Any C programmer with half a clue knows they mean argArrayLength
and argArray, and I find the code much easier to read and work with.

git-svn-id: https://svn.musicpd.org/mpd/trunk@4480 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-29 18:54:56 +00:00
J. Alexander Treuman
ce2fa2e846 conf.[ch] whitespace cleanup
git-svn-id: https://svn.musicpd.org/mpd/trunk@4477 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-27 19:10:08 +00:00
J. Alexander Treuman
a48061bacf Updating compress.[ch] from AudioCompress
git-svn-id: https://svn.musicpd.org/mpd/trunk@4476 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-27 03:42:42 +00:00
J. Alexander Treuman
22b16884a2 Use AudioCompress for volume normalization
git-svn-id: https://svn.musicpd.org/mpd/trunk@4474 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-27 00:50:59 +00:00
J. Alexander Treuman
8dcc3d31ac Remove the fifo plugin. It's currently useless for the average user, and making it more presentable isn't something I'm willing to do before 0.12. It will likely be added back after 0.12, along with some very experimental stuff to make it more usable.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4472 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-26 20:51:50 +00:00
Avuton Olrich
0f78a76fea Typo fix
git-svn-id: https://svn.musicpd.org/mpd/trunk@4470 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-26 17:41:03 +00:00
J. Alexander Treuman
2fa3e8ab26 Silence a gcc warning... Properly.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4469 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-26 03:31:21 +00:00
J. Alexander Treuman
faa3debe8e Silence a gcc warning
git-svn-id: https://svn.musicpd.org/mpd/trunk@4468 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-26 03:28:43 +00:00
J. Alexander Treuman
f2088bf869 jat's second tip of the day: when you change a ternary operator to an if, don't forget to take out everything after the :. And don't forget my first tip either.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4467 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-26 03:25:29 +00:00
Avuton Olrich
1bddcb6f92 Try to add the directory, again
git-svn-id: https://svn.musicpd.org/mpd/trunk@4466 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-26 03:19:14 +00:00
J. Alexander Treuman
a570f8d9a9 Screw this found_* stuff, just wrap parse_*() in an if
git-svn-id: https://svn.musicpd.org/mpd/trunk@4465 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-26 03:17:30 +00:00
J. Alexander Treuman
13cca01c7b Don't decode the first frame if it has a xing tag, not only if it has a xing tag with a frame count
git-svn-id: https://svn.musicpd.org/mpd/trunk@4464 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-26 03:14:19 +00:00
J. Alexander Treuman
b926dd100b Use the lame tag's encoder delay/padding to implement gapless mp3 playback
git-svn-id: https://svn.musicpd.org/mpd/trunk@4462 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-26 03:10:19 +00:00
Avuton Olrich
bf3848ef94 Put mp4ff back into the tree
git-svn-id: https://svn.musicpd.org/mpd/trunk@4461 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-26 03:05:50 +00:00
J. Alexander Treuman
1523e8a842 Parse lame tag for encoder delay/padding so we can later implement gapless
git-svn-id: https://svn.musicpd.org/mpd/trunk@4460 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-25 22:49:10 +00:00
J. Alexander Treuman
a686436c77 jat's tip of the day: remember to remove your silly debug messages before committing
git-svn-id: https://svn.musicpd.org/mpd/trunk@4459 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-25 22:22:48 +00:00
J. Alexander Treuman
356f16a877 Add support for mp1/2. Thanks to Stephan Beyer for the patch.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4458 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-25 22:08:55 +00:00
J. Alexander Treuman
073970ec4a Removing my stupid debug messages for testing xing
git-svn-id: https://svn.musicpd.org/mpd/trunk@4457 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-25 20:09:24 +00:00
J. Alexander Treuman
e65fb6e14f Reworking xing parsing so lame tags will fit in better
git-svn-id: https://svn.musicpd.org/mpd/trunk@4456 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-25 20:08:22 +00:00
J. Alexander Treuman
0979b0f75e Thanks for making my code totally unreadable indent!
git-svn-id: https://svn.musicpd.org/mpd/trunk@4455 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-25 19:08:46 +00:00
J. Alexander Treuman
e880a878bc Open the db file before daemonizing/creating the master process, so we can handle failures gracefully
git-svn-id: https://svn.musicpd.org/mpd/trunk@4454 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-24 19:21:27 +00:00
J. Alexander Treuman
48240740e7 Do normalization if there's replaygain data but replaygain is off
git-svn-id: https://svn.musicpd.org/mpd/trunk@4445 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-24 16:32:50 +00:00
Eric Wong
24c1f46353 audioOutput_alsa: better period_size auto-configuration
We'll try setting an initial value of 50ms, and halve it each
time snd_pcm_hw_params fails with -EPIPE.

This way we'll can use a larger (50ms) period_size whenever a device
supports it, and automatically pick smaller ones if we can't set
larger ones.

This removes the calculation borrowed from libao (svn) as well.

Other minor things:
"Alsa" => "ALSA" in error messages
_US appended to *_TIME constants so we won't get confused
(shank's request)

git-svn-id: https://svn.musicpd.org/mpd/trunk@4438 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-24 01:38:51 +00:00
J. Alexander Treuman
76528555dc If we're going to create the db file, make sure the parent path is a directory
git-svn-id: https://svn.musicpd.org/mpd/trunk@4437 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-23 23:42:16 +00:00
J. Alexander Treuman
c3bc1e5b3c Make checkDirectoryDB check that the db file is a regular file
git-svn-id: https://svn.musicpd.org/mpd/trunk@4436 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-23 23:35:35 +00:00
J. Alexander Treuman
bb9a5aaf2b Renaming stat struct to st, for consistency with the rest of mpd
git-svn-id: https://svn.musicpd.org/mpd/trunk@4435 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-23 23:12:44 +00:00
J. Alexander Treuman
af153d343b Tidying up code in checkDirectoryDB
git-svn-id: https://svn.musicpd.org/mpd/trunk@4434 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-23 23:10:31 +00:00
Warren Dukes
14eea124f6 chang the default period_time to 50ms. On my setup, setting the period_time to 0ms sounds like complete crap. 50ms is the default that xmms has used for years, so lets just stick with that.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4433 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-23 04:00:52 +00:00
Eric Wong
7f363eb9c1 Cleanup some now unnecessary variables from the id3/mad removal
git-svn-id: https://svn.musicpd.org/mpd/trunk@4431 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-22 23:28:26 +00:00
J. Alexander Treuman
6dfaa33f37 Fix the ipv6 bind issue in a nicer way
git-svn-id: https://svn.musicpd.org/mpd/trunk@4428 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-22 17:19:59 +00:00
J. Alexander Treuman
f22479e4d4 Fix bug when binding to both ipv6 and ipv4 on Linux
git-svn-id: https://svn.musicpd.org/mpd/trunk@4427 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-22 13:15:20 +00:00
J. Alexander Treuman
db76c2a444 Maybe we should actually commit the normalization code
git-svn-id: https://svn.musicpd.org/mpd/trunk@4425 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-22 01:14:29 +00:00
J. Alexander Treuman
cf90f8194f Adding on the fly volume normalization support. Code originally from mplayer, ported by syscrash, cleaned up by avuton, and further cleaned up by me (jat).
git-svn-id: https://svn.musicpd.org/mpd/trunk@4424 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-22 00:53:37 +00:00
J. Alexander Treuman
c4d1344f8c Adding fifo output plugin
git-svn-id: https://svn.musicpd.org/mpd/trunk@4423 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-22 00:25:46 +00:00
J. Alexander Treuman
c379533ba9 Fix a memory leak when removing a playlist
git-svn-id: https://svn.musicpd.org/mpd/trunk@4422 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-21 17:53:36 +00:00
J. Alexander Treuman
95af15ce8f Initialize more stuff before daemonizing so we exit properly on fatal errors
git-svn-id: https://svn.musicpd.org/mpd/trunk@4421 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-21 17:48:54 +00:00
J. Alexander Treuman
688166295a Remember kids: always test your code before committing
git-svn-id: https://svn.musicpd.org/mpd/trunk@4420 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-21 17:34:50 +00:00
J. Alexander Treuman
6dbacc71c7 Make getBoolConfigParam and save_absolute_paths_in_playlist less stupid
git-svn-id: https://svn.musicpd.org/mpd/trunk@4419 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-21 17:20:38 +00:00
J. Alexander Treuman
ac7ef037b5 Use getBoolConfigParam for save_absolute_paths_in_playlist
git-svn-id: https://svn.musicpd.org/mpd/trunk@4418 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-21 17:11:45 +00:00
J. Alexander Treuman
b892028b96 Add a getBoolConfigParam function
git-svn-id: https://svn.musicpd.org/mpd/trunk@4417 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-21 17:06:20 +00:00
Eric Wong
74c4f5364d audioOutput_alsa: oops, I broke autodetection in r4363, fixed
git-svn-id: https://svn.musicpd.org/mpd/trunk@4416 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-21 07:04:28 +00:00
J. Alexander Treuman
160dbe080c Rolling back change to when we redirect to logs. Turns out it silenced fatal audio_output errors.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4415 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-20 22:47:34 +00:00
J. Alexander Treuman
0623d6bee0 #include <string.h> in PulseAudio output for correctness
git-svn-id: https://svn.musicpd.org/mpd/trunk@4412 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-20 19:39:46 +00:00
Avuton Olrich
00e67be7c9 Add mpd-indent.sh
Add a few new options for indent to try to make
things a bit cleaner

git-svn-id: https://svn.musicpd.org/mpd/trunk@4411 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-20 18:53:56 +00:00
Avuton Olrich
29a25b9933 Add mpd-indent.sh
Indent the entire tree, hopefully we can keep
it indented.

git-svn-id: https://svn.musicpd.org/mpd/trunk@4410 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-20 16:02:40 +00:00
Avuton Olrich
099f0e103f Warnings fixes, since MPD uses different mp4ff they
obviously changed some stuff around

git-svn-id: https://svn.musicpd.org/mpd/trunk@4409 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-19 20:11:14 +00:00
Avuton Olrich
a150663e71 Remove useless buffer signedness warnings, use
void * rather than "x char *"

git-svn-id: https://svn.musicpd.org/mpd/trunk@4408 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-19 19:41:59 +00:00
Warren Dukes
c7c8bd43db bind to ipv4 and ipv6 addresses for "any"
git-svn-id: https://svn.musicpd.org/mpd/trunk@4407 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-19 18:56:54 +00:00
J. Alexander Treuman
adcc266250 Redirect to log files earlier to prevent some debug spam on console
git-svn-id: https://svn.musicpd.org/mpd/trunk@4406 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-19 18:22:06 +00:00
Avuton Olrich
0905630073 Fix whitespace->tabs in main.c, it was afu
git-svn-id: https://svn.musicpd.org/mpd/trunk@4405 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-19 18:04:15 +00:00
J. Alexander Treuman
3187eb300b s/ad/pd/ in the PluseAudio plugin (I forgot to rename when copying from alsa)
git-svn-id: https://svn.musicpd.org/mpd/trunk@4404 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-19 16:50:03 +00:00
J. Alexander Treuman
2728853ec1 Throttle PuleAudio connection attempts so we don't spam the error log
git-svn-id: https://svn.musicpd.org/mpd/trunk@4403 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-19 16:48:24 +00:00
J. Alexander Treuman
649a037e8d Use ERROR only once for our ogg vorbis errors, so we don't get a timestamp mid line
git-svn-id: https://svn.musicpd.org/mpd/trunk@4402 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-19 15:58:11 +00:00
Avuton Olrich
9f6364af45 Remove the internal mp4ff dependency
git-svn-id: https://svn.musicpd.org/mpd/trunk@4401 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-19 15:54:53 +00:00
J. Alexander Treuman
9774768b97 Initialize sigaction.sa_mask to an empty set in a few places we forgot to
git-svn-id: https://svn.musicpd.org/mpd/trunk@4400 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-18 23:38:21 +00:00
J. Alexander Treuman
ec19a53f23 Fix VBR mp3 seek accuracy bug
git-svn-id: https://svn.musicpd.org/mpd/trunk@4399 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-18 23:28:25 +00:00
J. Alexander Treuman
6ea0ba392a Cleaned up parse_xing, added support for Info magic, and added a parse_extension_headers function for when LAME tag support is added
git-svn-id: https://svn.musicpd.org/mpd/trunk@4398 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-18 18:18:02 +00:00
J. Alexander Treuman
e7566b9643 Reindenting parse_xing, since I need to work on it and it's a mess
git-svn-id: https://svn.musicpd.org/mpd/trunk@4397 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-18 16:28:58 +00:00
J. Alexander Treuman
e6b0d82c2e Don't bother freeing a bunch of stuff at exit, since it takes far too long and accomplishes nothing.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4396 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-18 15:50:10 +00:00
Eric Wong
16c72e9742 inputPlugins/oggflac_plugin.c: remove unused var
git-svn-id: https://svn.musicpd.org/mpd/trunk@4389 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-18 09:55:06 +00:00
Warren Dukes
0bf396d610 some quick hacks to avoid signedness warnings with gcc4
git-svn-id: https://svn.musicpd.org/mpd/trunk@4387 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-17 21:46:32 +00:00
Eric Wong
c919ffd1bf audioOutput_mvp: remove unused variable
git-svn-id: https://svn.musicpd.org/mpd/trunk@4383 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-17 01:49:56 +00:00
Eric Wong
6f013cd9c4 inputPlugins/*_plugin.c: static-fication
Nothing here is ever exported for linkage besides the
InputPlugin structure, so mark them static to save a few bytes.

git-svn-id: https://svn.musicpd.org/mpd/trunk@4382 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-17 01:47:32 +00:00
Eric Wong
5f50870222 alsa: fix memory leaks from snd_*_open*()
ALSA uses a global config structure that's overwritten (and not
free'd) every time one of those functions is called, so we have
to manually call snd_config_update_free_global() to release it.

Hint taken from MEMORY-LEAK in the ALSA source code

git-svn-id: https://svn.musicpd.org/mpd/trunk@4381 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-17 01:28:38 +00:00
Eric Wong
368034e199 sparse: replace 0 (integer) usage with NULL where appropriate
Probably pedantic, but yes, might as well in case we run into
strange platforms where NULL is something strange.

git-svn-id: https://svn.musicpd.org/mpd/trunk@4380 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-17 00:15:52 +00:00
Eric Wong
232dcf4b94 sparse: fix a enum type mismatch in flac_plugin
Both values are compiled to zero, but this is more correct
since we're using the correct enum (in the unlikely case that
the FLAC library breaks compatibility).

git-svn-id: https://svn.musicpd.org/mpd/trunk@4379 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-17 00:15:49 +00:00
Eric Wong
a234780aab sparse: ANSI-fy function declarations
These are just warnings from sparse, but it makes the output
easier to read.  I ran this through a quick perl script, but
of course verified the output by looking at the diff and making
sure the thing still compiles.

here's the quick perl script I wrote to generate this patch:
----------- 8< -----------
use Tie::File;
defined(my $pid = open my $fh, '-|') or die $!;
if (!$pid) {
open STDERR, '>&STDOUT' or die $!;
exec 'sparse', @ARGV or die $!;
}
my $na = 'warning: non-ANSI function declaration of function';
while (<$fh>) {
print STDERR $_;
if (/^(.+?\.[ch]):(\d+):(\d+): $na '(\w+)'/o) {
my ($f, $l, $pos, $func) = ($1, $2, $3, $4);
$l--;
tie my @x, 'Tie::File', $f or die "$!: $f";
print '-', $x[$l], "\n";
$x[$l] =~ s/\b($func\s*)\(\s*\)/$1(void)/;
print '+', $x[$l], "\n";
untie @x;
}
}

git-svn-id: https://svn.musicpd.org/mpd/trunk@4378 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-17 00:15:34 +00:00
Eric Wong
0c24fc0cb3 add sparse-check target to makefiles
sparse is a semantic parser developed for the Linux kernel,
but works for any project written (ANSI) C.

You can get sparse via git here:
git clone git://www.kernel.org/pub/scm/devel/sparse/sparse.git

git-svn-id: https://svn.musicpd.org/mpd/trunk@4377 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-17 00:15:31 +00:00
J. Alexander Treuman
39615044e3 Will the leaks never end?!
git-svn-id: https://svn.musicpd.org/mpd/trunk@4375 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-16 19:55:01 +00:00
J. Alexander Treuman
25c37e9276 Sigh, another memory leak
git-svn-id: https://svn.musicpd.org/mpd/trunk@4374 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-16 19:40:09 +00:00
J. Alexander Treuman
fefd214b8e One more leak
git-svn-id: https://svn.musicpd.org/mpd/trunk@4373 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-16 19:20:40 +00:00
J. Alexander Treuman
93c8aa8b71 Fixing what looks like a *huge* memory leak
git-svn-id: https://svn.musicpd.org/mpd/trunk@4372 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-16 19:00:52 +00:00
J. Alexander Treuman
5d1df8e25c Fixing a whopping 4 memory leaks
git-svn-id: https://svn.musicpd.org/mpd/trunk@4371 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-16 18:22:03 +00:00
Avuton Olrich
8d630f30e8 Now really remove libmad and libid3tag directories
git-svn-id: https://svn.musicpd.org/mpd/trunk@4370 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-16 17:51:07 +00:00
Avuton Olrich
2001db8c18 Remove hosted libid3tag & libmad
git-svn-id: https://svn.musicpd.org/mpd/trunk@4369 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-16 17:49:15 +00:00
Eric Wong
b8a0f1ae6d OSS: handle device disconnects and reconnects (w/o needing a mpd restart)
Like the ALSA patches, this allows OSS devices to be disconnected
during playback and MPD will be able to reopen and reuse them without
restarting.

git-svn-id: https://svn.musicpd.org/mpd/trunk@4366 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-16 16:53:04 +00:00
Eric Wong
ea6dc826a1 volume: gracefully handle disconnected ALSA mixers
This should help with the previous set of patches against the ALSA
audio output.  We should have fully disconnectable/reconnectable ALSA devices
now.

git-svn-id: https://svn.musicpd.org/mpd/trunk@4365 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-16 16:52:49 +00:00
Eric Wong
6b2167a444 audio: attempt to gracefully handle disconnected/reconnected devices
Currently only ALSA is supported/tested, and only if the mixer
device is not on the audio device being disconnected (software
mixer).

This patch allows me to disconnect my Headroom Total Airhead USB
sound card, and resume playback (skips to the next song, which
should be fixed) when the device is plugged back in.

git-svn-id: https://svn.musicpd.org/mpd/trunk@4364 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-16 16:52:29 +00:00
Eric Wong
8224e837ef audioOutput_alsa: add use_mmap, period_time, buffer_time options
ALSA support in libao supports configuring of these variables,
and some hardware setups may benefit from having these things
as tweakable.

git-svn-id: https://svn.musicpd.org/mpd/trunk@4363 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-16 16:52:19 +00:00
Eric Wong
3c8e88b053 audioOutput_alsa: calculate period size from sample rate
... instead of hard-coding it to a ridiculously high value that
makes bandwidth-starved devices unhappy.

libao (in SVN) does the same thing, and this calculation was indeed
taken from it.

Low-bandwidth USB (1.1) sound devices seem to need this to prevent
underrun / broken pipe errors (during hw setup, no less) from being
triggered.

git-svn-id: https://svn.musicpd.org/mpd/trunk@4362 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-16 16:52:06 +00:00
Eric Wong
b59aa75720 remove the glib library dependency
We never used many features from it, so there's no point in
keeping it and forcing people to install a non-standard library.
It may be standard on many GNU/Linux distributions, but there
are many other UNIXes out there.  This makes life much easier
for people cross-compiling (like me :)

git-svn-id: https://svn.musicpd.org/mpd/trunk@4361 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-16 16:50:54 +00:00
J. Alexander Treuman
b38157fc76 Committing qball's patch to list supported audio outputs in --version
git-svn-id: https://svn.musicpd.org/mpd/trunk@4357 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-16 14:57:26 +00:00
Eric Wong
5070f8bc78 command.c: fix a format-string error (go sparse!)
git-svn-id: https://svn.musicpd.org/mpd/trunk@4356 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-15 13:58:02 +00:00
Eric Wong
b4df8b8f88 De-inline non-trivial, non-performance-critical functions
Functions that should stay inlined should have an explanation
attached to them.

git-svn-id: https://svn.musicpd.org/mpd/trunk@4355 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-15 13:42:57 +00:00
Eric Wong
563e4c95fd main: static-fication, ANSI fixes
git-svn-id: https://svn.musicpd.org/mpd/trunk@4354 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-15 13:16:52 +00:00
Eric Wong
37bdf3f3d2 Avoid spewing messages to the console
Just setupLogOutput and redirect things to the logs before
spawning the main process.  We've already daemonized at this
point, so we've already proven that we can fork, but we haven't
done it yet.

git-svn-id: https://svn.musicpd.org/mpd/trunk@4353 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-15 12:41:18 +00:00
Avuton Olrich
32fd264ffc [CLEANUP] Fix indentation to be like the rest of
the repository

git-svn-id: https://svn.musicpd.org/mpd/trunk@4348 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-15 05:16:53 +00:00
Avuton Olrich
3ad41fdda6 [CLEANUP] Remove unused code
Cleanup whitespace->tabs

git-svn-id: https://svn.musicpd.org/mpd/trunk@4347 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-15 05:04:16 +00:00
Avuton Olrich
be006b86ed [CLEANUP] Remove unused code
Fix whitespace->tabs
Use static where possible

git-svn-id: https://svn.musicpd.org/mpd/trunk@4346 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-15 04:51:31 +00:00
Avuton Olrich
6b4fea8d5c [CLEANUP] Cleanup whitespace->tabs
Remove dead code
Static where possible

git-svn-id: https://svn.musicpd.org/mpd/trunk@4345 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-15 03:34:48 +00:00
Avuton Olrich
d0c08c5218 [CLEANUP] cleanup whitespace -> tabs
static where it makes sense

git-svn-id: https://svn.musicpd.org/mpd/trunk@4344 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-14 21:01:19 +00:00
Avuton Olrich
fd2f9b8e86 Fix the undefined reference to `playerInitReal'
git-svn-id: https://svn.musicpd.org/mpd/trunk@4343 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-14 20:40:25 +00:00
J. Alexander Treuman
fdf1afc8b3 Use audio_output { name } for the stream name in PulseAudio, but do it The Right Way
git-svn-id: https://svn.musicpd.org/mpd/trunk@4342 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-14 20:39:18 +00:00
Avuton Olrich
b4945959ab [CLEANUP] Remove unused function
Remove unused functions from the header,
static where possible
Cleanup whitespace->tabs


git-svn-id: https://svn.musicpd.org/mpd/trunk@4341 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-14 20:34:46 +00:00
J. Alexander Treuman
e4b0fcf8e0 Use audio_output { name } for the stream name in PulseAudio
git-svn-id: https://svn.musicpd.org/mpd/trunk@4340 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-14 20:30:33 +00:00
Avuton Olrich
06a0085700 [CLEANUP] Cleanup whitespace->tabs
Static where it makes sense

git-svn-id: https://svn.musicpd.org/mpd/trunk@4339 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-14 20:14:06 +00:00
Avuton Olrich
a8938c91ba [CLEANUP] Remove unused function
Cleanup whitespace->tabs

git-svn-id: https://svn.musicpd.org/mpd/trunk@4338 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-14 20:08:35 +00:00
Avuton Olrich
2a4a75d9c7 [CLEANUP] Make static what makes sense.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4337 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-14 20:00:32 +00:00
Avuton Olrich
4066629494 [CLEANUP] Remove function that doesn't need export
from the header, static the function

git-svn-id: https://svn.musicpd.org/mpd/trunk@4336 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-14 19:55:11 +00:00
Avuton Olrich
77b6aee2e5 [CLEANUP] Cleanup spaces->tabs
Make functions static where it makes sense

git-svn-id: https://svn.musicpd.org/mpd/trunk@4335 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-14 19:52:29 +00:00
J. Alexander Treuman
ecb26ef1b0 Update copyright in --version
git-svn-id: https://svn.musicpd.org/mpd/trunk@4334 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-14 19:45:13 +00:00
J. Alexander Treuman
2fa7125cce Change shank's email address
git-svn-id: https://svn.musicpd.org/mpd/trunk@4333 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-14 19:37:45 +00:00
Avuton Olrich
2a65e8667d [CLEANUP] Remove function from header, static
it in the source

git-svn-id: https://svn.musicpd.org/mpd/trunk@4332 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-14 19:33:52 +00:00
Avuton Olrich
89464628c2 [CLEANUP] remove unused function
git-svn-id: https://svn.musicpd.org/mpd/trunk@4331 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-14 19:30:47 +00:00
Avuton Olrich
18f59c9c16 [CLEANUP] Remove closeCharSetConversion from the
header, there's no need to export it.
Static it.

git-svn-id: https://svn.musicpd.org/mpd/trunk@4330 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-14 19:27:32 +00:00
Avuton Olrich
7154c510e5 [CLEANUP] Remove unused code
Static what makes sense

git-svn-id: https://svn.musicpd.org/mpd/trunk@4329 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-14 19:13:51 +00:00
Avuton Olrich
75789d1490 [CLEANUP] Remove unused functions from the header
Convert some spaces to tabs
Static what makes sense
Remove unused includes

git-svn-id: https://svn.musicpd.org/mpd/trunk@4328 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-14 19:11:11 +00:00
Avuton Olrich
21d8065b20 [CLEANUP] Remove unused code
Static what makes sense

git-svn-id: https://svn.musicpd.org/mpd/trunk@4327 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-14 19:06:25 +00:00
Avuton Olrich
d9f31b1c47 [CLEANUP] Remove 'extern int errno;'
Remove unexported functions from the header
Static what makes sense

git-svn-id: https://svn.musicpd.org/mpd/trunk@4326 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-14 19:02:48 +00:00
Avuton Olrich
e39289a987 [CLEANUP] Remove unnecessary includes, static
functions that don't need to be exported, rename
misspelled function

git-svn-id: https://svn.musicpd.org/mpd/trunk@4325 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-14 18:47:55 +00:00
J. Alexander Treuman
f965b403ea Remove test on a local variable that won't have been modified yet
git-svn-id: https://svn.musicpd.org/mpd/trunk@4324 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-14 18:03:26 +00:00
J. Alexander Treuman
5d551d9e4d Remove unused playSilenceOrSleep macro
git-svn-id: https://svn.musicpd.org/mpd/trunk@4323 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-14 18:02:23 +00:00
J. Alexander Treuman
b4b1879cc0 Remove some misleading comments, fix shanks terrible spelling
git-svn-id: https://svn.musicpd.org/mpd/trunk@4322 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-14 18:01:32 +00:00
J. Alexander Treuman
ba9a2c349f Use a macro to declare disabled audio output plugins
git-svn-id: https://svn.musicpd.org/mpd/trunk@4321 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-14 17:39:14 +00:00
Avuton Olrich
26447de0ce whoops, I don't know how that snuck into the last
diff

git-svn-id: https://svn.musicpd.org/mpd/trunk@4319 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-13 19:40:14 +00:00
Avuton Olrich
a37348a74f Huge header update, update the copyright and add
the GPL header where necessary

git-svn-id: https://svn.musicpd.org/mpd/trunk@4317 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-13 19:20:34 +00:00
J. Alexander Treuman
09698f917c Add PulseAudio support
git-svn-id: https://svn.musicpd.org/mpd/trunk@4316 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-13 19:03:49 +00:00
Avuton Olrich
93681d914e Remove a couple more unused functions
git-svn-id: https://svn.musicpd.org/mpd/trunk@4315 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-13 19:01:42 +00:00
Avuton Olrich
8f37161c34 Declare functions not used outside dbUtils.c static.
Remove a disabled function from dbUtils.c out of main.c

git-svn-id: https://svn.musicpd.org/mpd/trunk@4314 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-13 18:46:58 +00:00
Avuton Olrich
82d0d4f51f Remove forceGetConfigParamValue, it's unused and even
if it wasn't it'd probably be better to add a argument to
getConfigParamValue()

git-svn-id: https://svn.musicpd.org/mpd/trunk@4313 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-13 18:27:02 +00:00
Avuton Olrich
b0fb096311 Remove (now) unused code. Hasn't been used since revision 3026.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4312 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-13 18:13:42 +00:00
Avuton Olrich
fca9a92ba6 path.*: cleanups
utf8.c: add some static's

git-svn-id: https://svn.musicpd.org/mpd/trunk@4311 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-13 18:09:25 +00:00
Eric Wong
db2f843995 OSS: correctly check for the device in oss_testDefault()
open(2) returns -1 on error (if the device does not exist),
and -1 is true.

Also, put shank's name in the copyright header since half
the code is his (including this bug :P).

git-svn-id: https://svn.musicpd.org/mpd/trunk@4310 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-12 02:34:23 +00:00
Avuton Olrich
d8d6b949c6 Remove unnecessary include, has always been pulled
in by vorbisenc.h

git-svn-id: https://svn.musicpd.org/mpd/trunk@4298 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-05 20:07:35 +00:00
J. Alexander Treuman
18306dfbd3 Add back the id3v1_encoding option. Now it really will convert id3v1 only.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4282 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-06-21 20:52:51 +00:00
J. Alexander Treuman
9e393393e0 Cleanup getId3Info.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4281 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-06-21 20:24:43 +00:00
J. Alexander Treuman
e2a14f5b9e Cleanup id3 ReplayGain parsing code.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4280 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-06-21 16:38:18 +00:00
J. Alexander Treuman
fd6696e46a Silly jat, don't use newMpdTag as a variable name!
git-svn-id: https://svn.musicpd.org/mpd/trunk@4279 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-06-21 16:22:46 +00:00
J. Alexander Treuman
c6dbba6c5d Cleanup mp3_parseId3Tag to only modify the MpdTag if we have something new to replace it with.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4278 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-06-21 16:11:07 +00:00
J. Alexander Treuman
bdf4107117 Rewrote id3Dup to search for tags manually. Now libid3tag will actually tell us the version of the tag we got. As an added benefit we also do fewer reads/mallocs when scanning mp3s during database update/creation.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4277 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-06-21 15:12:41 +00:00
J. Alexander Treuman
30df7d49c5 Reverting patch to "fix" the alsa plugin when used with dmix. It ended up breaking the alsa rate plugin, and dmix seems to work fine without it. Thanks to Skee from #mpd for testing.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4269 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-06-11 23:59:18 +00:00
J. Alexander Treuman
7716a6c234 Check that db_file exists before checking if we can write to it. Committed on behalf of qball.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4255 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-06-07 21:00:36 +00:00
Eric Wong
10cf5add40 main.c: fix gcc-2.95 compilation problem
git-svn-id: https://svn.musicpd.org/mpd/trunk@4251 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-06-05 22:26:04 +00:00
J. Alexander Treuman
9b06d2cd4a Made pid_file an optional config parameter.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4250 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-06-05 20:05:24 +00:00
J. Alexander Treuman
2eb5ebc4ed Return -1 on error, not on success.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4247 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-06-04 17:27:12 +00:00
Eric Wong
5cbfdf3517 correctly check for setenv() function
git-svn-id: https://svn.musicpd.org/mpd/trunk@4245 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-06-04 11:36:06 +00:00
Eric Wong
ab069b7e59 gcc 2.95 compatibility fixes
git-svn-id: https://svn.musicpd.org/mpd/trunk@4244 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-06-04 11:36:02 +00:00
Eric Wong
d11e19548c inputStream_http: avoid printf, use our handy macros in log.h
git-svn-id: https://svn.musicpd.org/mpd/trunk@4210 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-05-21 01:36:49 +00:00
J. Alexander Treuman
7b35cfe2ac Remove superfluous \n from addid's commandError call.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4208 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-05-20 20:07:15 +00:00
J. Alexander Treuman
acc620bbda Save audio output state in correct order.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4207 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-05-20 19:56:29 +00:00
J. Alexander Treuman
cabc91b6c6 Fix log message when removing subdirectories.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4185 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-05-15 15:10:11 +00:00
J. Alexander Treuman
c9b3498a2d Work around a stupid bug in libmad so VBR MP3s with CRC protection have the correct length.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4184 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-05-15 13:48:47 +00:00
Qball Cow
1ca85d5ec7 Applied a modified patch for bug 344, needs testing with ipv6
git-svn-id: https://svn.musicpd.org/mpd/trunk@4171 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-05-14 11:40:34 +00:00
J. Alexander Treuman
6a2cf38465 My first commit! :D Make sure the same interface isn't closed twice when max_command_list_size is exceeded, and don't abort mpd should the same interface be closed twice somewhere else.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4151 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-05-10 02:17:47 +00:00
Qball Cow
66e4379d69 Jat/Q patch for checking permission on database before creating it
git-svn-id: https://svn.musicpd.org/mpd/trunk@4140 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-05-08 21:03:47 +00:00
Qball Cow
1071524ae7 Fix for bug 483
git-svn-id: https://svn.musicpd.org/mpd/trunk@4138 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-05-08 08:34:14 +00:00
Qball Cow
151d9706e9 Commit Jat's patch for bug 1282
git-svn-id: https://svn.musicpd.org/mpd/trunk@4137 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-05-08 08:15:24 +00:00
Qball Cow
37c9265357 Commit Jat's patch for bug 1281
git-svn-id: https://svn.musicpd.org/mpd/trunk@4136 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-05-08 08:14:37 +00:00
Avuton Olrich
9cd0882cd1 Add 'aif' as an extension with libaudiofile.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4132 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-05-03 18:35:17 +00:00
Qball Cow
4324150b42 Added Disc # metadata item based on bug 571 (added id3v2 support)
git-svn-id: https://svn.musicpd.org/mpd/trunk@4131 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-04-30 19:55:56 +00:00
Qball Cow
8aca530b86 Remove unused config value
git-svn-id: https://svn.musicpd.org/mpd/trunk@4130 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-04-30 18:29:02 +00:00
Qball Cow
e1a15f74fd update help text
git-svn-id: https://svn.musicpd.org/mpd/trunk@4128 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-04-30 14:52:58 +00:00
Qball Cow
751368f257 outputs now only needs read permission
git-svn-id: https://svn.musicpd.org/mpd/trunk@4127 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-04-27 22:28:26 +00:00
Qball Cow
5416d00bcd Adding of plchangesposid command, this is a stripped down version of the plchanges command, it only sends the pos and id of the changed command. Libmpd allready has support for it, and libmpdclient in libmpd too
git-svn-id: https://svn.musicpd.org/mpd/trunk@4101 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-04-23 11:10:41 +00:00
Avuton Olrich
8220d3deac Fix for the macro, use gitsetenv, thanks to normalperson, eleusis, jat
git-svn-id: https://svn.musicpd.org/mpd/trunk@4098 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-04-22 22:18:15 +00:00
Avuton Olrich
3accf44add Solaris is reported to not have a setenv() thus
breaking compilation. This fixes that problem with
a macro that emulates setenv() with putenv().

git-svn-id: https://svn.musicpd.org/mpd/trunk@4097 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-04-22 21:30:48 +00:00
Avuton Olrich
d6d2ca7be8 Fix typo, fixes bug in mantis, will sign off later
git-svn-id: https://svn.musicpd.org/mpd/trunk@4096 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-04-22 01:36:52 +00:00
Eric Wong
327d4861cf oggvorbis_plugin.c: eek, I'm a moron..
git-svn-id: https://svn.musicpd.org/mpd/trunk@4081 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-04-18 06:28:12 +00:00