aboutsummaryrefslogtreecommitdiffstats
path: root/src/mixer (unfollow)
Commit message (Collapse)AuthorFilesLines
2013-04-16mixer/software: use gcc_unused instead of G_GNUC_UNUSEDMax Kellermann1-5/+5
2013-04-16MixerInternal: convert to classMax Kellermann7-59/+51
2013-04-16mixer/winmm: convert to a classMax Kellermann1-10/+12
2013-04-16mixer/Software: convert to a classMax Kellermann1-20/+22
2013-04-16mixer/Pulse: convert to a classMax Kellermann2-25/+22
2013-04-16mixer/Oss: convert to a classMax Kellermann1-51/+92
2013-04-16mixer/Alsa: convert to a classMax Kellermann1-67/+103
2013-04-16output/Pulse: convert to C++Max Kellermann2-6/+6
2013-04-09pcm_*: move to src/pcm/Max Kellermann1-1/+1
2013-02-22mixer_plugin: convert to C++Max Kellermann6-6/+6
2013-02-22{output,mixer}/winmm: convert to C++Max Kellermann1-9/+12
2013-02-02FilterInternal: convert struct filter to a OO interfaceMax Kellermann2-4/+4
2013-02-01filter: convert to C++Max Kellermann1-2/+2
2013-01-31pcm_*: convert to C++Max Kellermann1-1/+1
2013-01-31mixer/software, filter/volume: convert to C++Max Kellermann2-11/+13
2013-01-29output/{alsa,oss}: convert to C++Max Kellermann1-8/+8
2013-01-16output/roar: convert to C++Max Kellermann1-52/+24
2013-01-15mixer/Alsa: use MultiSocketMonitorMax Kellermann1-134/+37
2013-01-11configure.ac: enable WIN32_LEAN_AND_MEAN on WindowsMax Kellermann1-0/+2
2013-01-09EventPipe: rename to GlobalEventsMax Kellermann2-5/+5
2013-01-09event_pipe.h: convert to C++Max Kellermann2-2/+2
2013-01-09mixer/{alsa,pulse}: convert to C++Max Kellermann3-28/+40
2012-05-29output/raop: delete the RAOP pluginMax Kellermann1-67/+0
This plugin is horrible code, I mean it. Last year, I tried hard to fix it, but I figured would take less time to do a full rewrite. Given that I don't even have any device that supports RAOP, I can't do that properly. After 16 months, nobody volunteered for fixing it. Hereby, I delete it, because having no RAOP plugin is better than having this mess. Sorry.
2012-01-05mixer/alsa: listen for external volume changesMax Kellermann1-1/+180
Use libasound's polling functions, implement a bridge to GSource / GPollFD and send idle events to clients when an external program changes the ALSA mixer volume.
2012-01-05mixer/alsa: move code to alsa_mixer_setup()Max Kellermann1-25/+34
Better error handling.
2012-01-05mixer/alsa: move code to alsa_mixer_lookup_elem()Max Kellermann1-24/+27
2011-09-17output/pulse: don't expose internal struct in public headerMax Kellermann1-5/+7
Provide _lock() and _unlock() to wrap all accesses from the mixer plugin.
2011-09-17output/roar: export volume methodsMax Kellermann1-32/+3
Use these instead of exposing the internal roar_t struct.
2011-08-31mixer/raop: include cleanupMax Kellermann1-12/+2
2011-08-24output/raop: remove excessive debug messagesMax Kellermann1-1/+0
2011-08-24output/raop: consistently use GErrorMax Kellermann1-2/+2
2011-03-23Remove unused headers in Roar plugin.Hans-Kristian Arntzen1-4/+0
Should fix build errors for Win32.
2011-03-16RoarAudio output pluginHans-Kristian Arntzen1-0/+137
2011-02-09general: whitespace cleanupThomas Jansen1-5/+5
Remove trailing whitespace found by this command: find -name '*.[ch]' | xargs grep "[[:space:]]$"
2011-01-29copyright year 2011Max Kellermann7-7/+7
2011-01-28output/raop: new output pluginDustin Puckett1-0/+78
Remote Audio Output Protocol (RAOP), for Apple devices.
2010-10-09mixer: winmm_mixer implementedDenis Krjuchkov1-0/+114
2009-12-31Update copyright notices.Avuton Olrich6-6/+6
2009-11-12include config.h in all sourcesMax Kellermann4-0/+4
After we've been hit by Large File Support problems several times in the past week (which only occur on 32 bit platforms, which I don't have), this is yet another attempt to fix the issue.
2009-11-10fd_util: removed creat_cloexec()Max Kellermann1-1/+1
Add a "mode" argument to open_cloexec() instead.
2009-11-07set the close-on-exec flag on all file descriptorsMax Kellermann1-1/+2
Added the "fd_util" library, which attempts to use the new thread-safe Linux system calls pipe2(), accept4() and the options O_CLOEXEC, SOCK_CLOEXEC. Without these, it falls back to FD_CLOEXEC, which is not thread safe. This is particularly important for the "pipe" output plugin (and others, such as JACK/PulseAudio), because we were heavily leaking file descriptors to child processes.
2009-10-23output/pulse: call mixer on state changesMax Kellermann2-127/+79
Don't let the mixer plugin "override" the libpulse callbacks. Instead, add a "mixer" attribute to the pulse_output struct, and call the mixer on all interesting events.
2009-10-23mixer_control: allow methods "open" and "close" to be NULLMax Kellermann1-19/+0
It's possible to have a mixer implementation which does not explicitly need the methods open() and close().
2009-10-22mixer/pulse: don't get volume if stream is not yet readyMax Kellermann1-3/+3
Moved the check from pulse_mixer_open() to pulse_mixer_update().
2009-10-21pulse: code rewrite using the asynchronous libpulse APIMax Kellermann1-209/+126
This is a complete rewrite of the PulseAudio output plugin. It uses the asynchronous API, which gives us more control over everything. Additionally, it connects to the PulseAudio server on startup, and keeps this connection up while MPD runs. During pause, instead of closing the stream, it enables "cork".
2009-10-21mixer_plugin: pass audio_output pointer to mixer_plugin.init()Max Kellermann4-4/+6
This allows the mixer object to access its associated audio output object.
2009-10-20mixer_plugin: use GError for error handlingMax Kellermann4-48/+106
2009-10-20mixer/{oss,alsa}: renamed the mixer source filesMax Kellermann2-8/+8
2009-10-20pulse: renamed source filesMax Kellermann1-2/+2
2009-07-06mixer/software: new mixer which controls filter/volumeMax Kellermann2-0/+157
This mixer plugin may be used instead of the traditional global software mixer. It integrates with the "volume" filter plugin, and can control the software volume of an audio output which has no hardware mixer.