Commit Graph

59 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
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
Eric Wong
c208b05a0e Don't rely on memcmp() for structs, padding bits are random
git-svn-id: https://svn.musicpd.org/mpd/trunk@4016 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-04-05 09:54:43 +00:00
Eric Wong
a25acbc94f rewrite statefile code for audio devices
In the words of the original author, it was 'crappy'.  I tend to
agree :)

The code has also been broken for at least the past few months,
and nobody bothered fixing it

The previous format it was overly complex: 5 lines to describe
each device.  The new format is one-line per-device:

audio_device_state:%d:%s

%d - 0 for disabled, any integer for enabled
%s - name of the device as specified in the config file,
whitespace and all

Incompatibilities:

* Output names are now _required_ to be unique.

This is required because the new format relies solely on the
name of the audio device.

Relying on the device IDs internal to MPD was a bad idea
anyways since the user usually has none or very little idea
how they're generated, and adding a new device or removing
one from a config would throw things off completely.

This is also just a Good Idea(TM) because it makes things
less confusing to users when they see it in their clients.

* Output states are not preserved from the previous format.

Not a big deal, since the previous code was never officially
released.  Also, it's been broken for months now, so I doubt
anybody would notice :)

git-svn-id: https://svn.musicpd.org/mpd/trunk@3928 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-03-18 03:58:31 +00:00
Qball Cow
2aba0437a6 Saving state of output-device in state-file. (This is a temporary solution, rewrite of state-file is planned for 0.13)
git-svn-id: https://svn.musicpd.org/mpd/trunk@3449 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-08-23 12:01:37 +00:00
Warren Dukes
dee9ab5ecd patch from Oliver Logghe for Hauppage Media MVP support
git-svn-id: https://svn.musicpd.org/mpd/trunk@3432 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-08-11 12:34:38 +00:00
Warren Dukes
8936789631 add OS X configure stuff and added a skeleton audioOutput plugin for OS X
git-svn-id: https://svn.musicpd.org/mpd/trunk@3074 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-03-13 19:23:09 +00:00
Warren Dukes
8583a3bc4e if no audioOutput specified, we no attempt to detect if there exists a usable oss or alsa device
git-svn-id: https://svn.musicpd.org/mpd/trunk@3057 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-03-12 03:10:09 +00:00
Warren Dukes
92653f8474 implemented dropping of current buffered audio, works for oss, but there seems
to be a "blip" for alsa devices, needs more work

git-svn-id: https://svn.musicpd.org/mpd/trunk@3011 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-03-05 14:01:13 +00:00
Warren Dukes
d1a4bb382f implemented alsa audioOutput plugin, now it needs testing
git-svn-id: https://svn.musicpd.org/mpd/trunk@3008 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-03-05 05:22:30 +00:00
Warren Dukes
d5a9925d1f s/device/output/
git-svn-id: https://svn.musicpd.org/mpd/trunk@2678 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-11-15 20:18:21 +00:00
Warren Dukes
fb7de941c3 don't set granulepos, that's pad, mmmkay?
git-svn-id: https://svn.musicpd.org/mpd/trunk@2555 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-11-09 03:10:14 +00:00
Warren Dukes
b7315f8391 add a buffer to audio layer, so we only send data to audio devices 32 times per second
git-svn-id: https://svn.musicpd.org/mpd/trunk@2553 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-11-09 00:13:42 +00:00
Warren Dukes
78c5d884d2 new command "devices", prints devices and their states
git-svn-id: https://svn.musicpd.org/mpd/trunk@2486 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-11-02 23:08:00 +00:00
Warren Dukes
69176148bf enabling and disabling individual audioOutputs is mostly done, just need
to add the command hooks

git-svn-id: https://svn.musicpd.org/mpd/trunk@2484 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-11-02 21:48:53 +00:00
Warren Dukes
8b08ee82b4 begin work on avuton's disabling and enabling of individual audio outputs
git-svn-id: https://svn.musicpd.org/mpd/trunk@2483 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-11-02 21:06:44 +00:00
Warren Dukes
ee5d5d6330 abstract out audioFormat conversion from shout plugin to the audioOutput layer,
now format can be specified for each different audioOutput device

git-svn-id: https://svn.musicpd.org/mpd/trunk@2474 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-11-02 17:05:27 +00:00
Warren Dukes
c269e18813 now np's OSS stuff actually works
git-svn-id: https://svn.musicpd.org/mpd/trunk@2459 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-11-02 02:03:00 +00:00
Warren Dukes
a5e3445697 fix a little bug with audio device being closed on song change, oops
git-svn-id: https://svn.musicpd.org/mpd/trunk@2376 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-10-28 05:22:22 +00:00
Warren Dukes
58dbe4bb5d merge shank-rewrite-config changes
git-svn-id: https://svn.musicpd.org/mpd/trunk@2375 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-10-28 05:14:55 +00:00
Warren Dukes
a494bd73d8 try to fix metadata on initially playing (metadata being sent before device is open)
git-svn-id: https://svn.musicpd.org/mpd/trunk@2344 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-10-26 02:00:17 +00:00
Warren Dukes
ce10ba4b11 fix a big time bug in metadataChunk (off by one in an array assignment)
also, now we have metadata in our streams

git-svn-id: https://svn.musicpd.org/mpd/trunk@2337 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-10-25 20:09:03 +00:00
Warren Dukes
12597322a2 configure shout encoding quality and audio format
git-svn-id: https://svn.musicpd.org/mpd/trunk@2307 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-10-23 01:04:58 +00:00
Warren Dukes
5b7a1419b9 on finishAudioDriver, be sure to set shoutOutput = NULL
git-svn-id: https://svn.musicpd.org/mpd/trunk@2296 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-10-22 17:58:12 +00:00
Warren Dukes
d021f6b042 this really fixes pause
git-svn-id: https://svn.musicpd.org/mpd/trunk@2294 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-10-22 16:16:39 +00:00
Warren Dukes
d171fe9a2f fix segfault when resuming from pause
git-svn-id: https://svn.musicpd.org/mpd/trunk@2293 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-10-22 15:19:35 +00:00
Warren Dukes
72a7740fd5 shout audioOutput will now connect and disconnect from icecast server
git-svn-id: https://svn.musicpd.org/mpd/trunk@2285 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-10-20 20:41:21 +00:00
Warren Dukes
e1701d2991 stub audioOutput plugin for shout
git-svn-id: https://svn.musicpd.org/mpd/trunk@2283 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-10-20 17:49:04 +00:00
Warren Dukes
c2455ec0ca oops, accidently broke crossfading, fixed now
git-svn-id: https://svn.musicpd.org/mpd/trunk@2281 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-10-20 17:25:36 +00:00
Warren Dukes
fd2ae556a2 some small cleanups
git-svn-id: https://svn.musicpd.org/mpd/trunk@2280 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-10-20 17:11:04 +00:00
Warren Dukes
f4d75d7596 ok, now we're using some of the new audioOutput layer stuff, needs some serious testing, and there maybe some serios BREAKAGE
git-svn-id: https://svn.musicpd.org/mpd/trunk@2279 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-10-20 16:48:22 +00:00
Warren Dukes
ce5773848c minor little changes to audio junk
git-svn-id: https://svn.musicpd.org/mpd/trunk@2278 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-10-20 16:16:50 +00:00
Warren Dukes
dbd79a6b47 fix a few bugs in mp3_decode and minimize alsa underruns by playing silence when switch songs
git-svn-id: https://svn.musicpd.org/mpd/trunk@1572 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-06-19 22:27:29 +00:00
Warren Dukes
43b355734c Add WARNING log method. it's the same as ERROR, except that when mpd starts,
warnings are buffered until the error log is opened, and then flushed to the
error log.

git-svn-id: https://svn.musicpd.org/mpd/trunk@1442 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-06-12 02:06:16 +00:00
Warren Dukes
e89c9769f9 allow any sampleRate > 0?
git-svn-id: https://svn.musicpd.org/mpd/trunk@1150 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-05-24 22:29:04 +00:00
Warren Dukes
69a0b86173 trash XMMS resampling, use ESD's instead, don't understand it, but it works
git-svn-id: https://svn.musicpd.org/mpd/trunk@979 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-05-10 22:31:23 +00:00
Warren Dukes
872af20777 resampling code blatantly ripped from xmms, needs testing and need to
right conversion routines for bit conversion and channel conversion

git-svn-id: https://svn.musicpd.org/mpd/trunk@971 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-05-10 15:21:40 +00:00
Warren Dukes
7626d9a547 more little bits of code in prep for resample/audioFormat conversion,
now to just write the actual audioFormat conversion code!

git-svn-id: https://svn.musicpd.org/mpd/trunk@970 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-05-10 14:06:23 +00:00
Warren Dukes
9dd098f09b use memcpy for isCurrentAudioFormat()
git-svn-id: https://svn.musicpd.org/mpd/trunk@969 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-05-10 13:37:48 +00:00
Warren Dukes
cd3180c701 stuff for configuring the audio output format (sampling rate, channels, bits)
git-svn-id: https://svn.musicpd.org/mpd/trunk@967 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-05-10 02:20:15 +00:00