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
49d580b9ae
"a" -> ) in ChangeLog
...
git-svn-id: https://svn.musicpd.org/mpd/trunk@4479 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-27 21:37:22 +00:00
J. Alexander Treuman
a741ee8638
Document which parameters may be specified multiple times in mpd.conf.5
...
git-svn-id: https://svn.musicpd.org/mpd/trunk@4478 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-27 19:23:37 +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
0116c27a6b
Update author of AudioCompress in AUTHORS
...
git-svn-id: https://svn.musicpd.org/mpd/trunk@4475 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-27 02:28:51 +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
bf5336cebd
Remove libid3tag/libmad copyright from AUTHORS, since it's no longer bundled
...
git-svn-id: https://svn.musicpd.org/mpd/trunk@4473 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-27 00:12:14 +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
907fe56029
Remove the mp4ff directory from the root dir
...
git-svn-id: https://svn.musicpd.org/mpd/trunk@4471 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-26 20:46:20 +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
Avuton Olrich
95293aadcd
Now commit the actual dir
...
git-svn-id: https://svn.musicpd.org/mpd/trunk@4463 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-26 03:13:23 +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
fe76580ce4
configure.ac: don't always try to add local lib/include paths
...
Only add them if --prefix= wasn't specified, and only allow
one path of each to be added. This way Fink and Darwinports
users won't have libs from *both* (which would conflict).
Testing from OSX (Fink and/or Darwinports) users would be greatly
appreciated, as would testers from other non-GNU/Linux systems.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4432 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-22 23:28:30 +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
Avuton Olrich
0532c9ab4c
Do a better job of trying to be able to run these
...
scripts from 'anywhere'
git-svn-id: https://svn.musicpd.org/mpd/trunk@4430 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-22 22:27:48 +00:00
Avuton Olrich
c454122a02
- Add a 'scripts' directory, remove scripts from
...
docs/ & base directory
- Add a spec file (my first try, please report
problems)
git-svn-id: https://svn.musicpd.org/mpd/trunk@4429 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-22 22:01:05 +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
8a938bc8d3
Nicer formatting for ./configure --help
...
git-svn-id: https://svn.musicpd.org/mpd/trunk@4426 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-22 01:48:36 +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