aboutsummaryrefslogtreecommitdiffstats
path: root/src/mixer (unfollow)
Commit message (Collapse)AuthorFilesLines
2009-03-07pulse_mixer: allow mpd to reconnect to the pulse mixerDavid Guibert1-29/+24
This patch follows the commit 21bb10f4b. >From Max Kellermann: > I removed the daemonization changes in main.c. Please explain why you > changed that. If you need it for some reason, make that a separate > patch with a good description of your rationale. > That's the biggest flaw of your code: it opens the mixer device in the > init() method, while the open() method is empty. When the pulse > daemon is not available (either during MPD startup or when it dies > while MPD runs), the plugin will not even attempt to reconnect to > pulse. Please move the code to the open() method, to make that work. I changed the daemonize call as the fork losts the connection to the pulse server. According to your remark, the init() method should be moved to the open() ones. With the modification, mpd is able to reconnect the pulse mixer after restarting the pulseaudio daemon. Signed-off-by: David Guibert <david.guibert@gmail.com> Signed-off-by: Max Kellermann <max@duempel.org>
2009-03-07pulse_mixer: added missing copyright headerMax Kellermann1-0/+18
2009-03-07pulse_mixer: added GLib log domainMax Kellermann1-14/+16
Shorten some log messages, let GLib add the "pulse_mixer" prefix.
2009-03-07pulse: clean up includesMax Kellermann1-2/+4
Don't include output_api.h - this is not an output plugin. Added missing explicit conf.h and string.h includes.
2009-03-07pulse mixerDavid Guibert1-0/+277
This patch introduces the mixer for the pulse output. Technically speaking, the pulse index is needed to get or set the volume. You must define callback fonctions to get this index since the pulse output in mpd is done using the simpe api. The pulse simple api does not provide the index of the newly defined output. So callback fonctions are associated to the pulse context. The list of all the sink input is then retreived. Then we select the name of the mpd pulse output and control its volume by its associated index number. Signed-off-by: Patrice Linel <patnathanael@gmail.com> Signed-off-by: David Guibert <david.guibert@gmail.com> [mk: fixed whitespace errors and broke long lines; removed daemonization changes from main.c]
2009-02-16mixer_api: replaced method "control()" with "{get,set}_volume()"Max Kellermann2-124/+116
The method control() is too complicated, and overengineered. Replace it with two trivial functions: get_volume() and set_volume().
2009-01-25mixer_api: removed struct mixer_dataMax Kellermann2-14/+24
The mixer plugins should re-use the mixer struct and incorporate it in their object class.
2009-01-25mixer: merged methods "init" and "configure"Max Kellermann2-46/+12
Both methods are always called together. There is no point in having them separate. This simplifies the code, because the old configure() method could be called more than once, and had to free old allocations.
2009-01-25mixer: removed mixer_configure_legacy(), AC_MIXER_CONFIGUREMax Kellermann2-11/+0
Those have been superseded by the new legacy configuration code.
2009-01-25mixer: make all mixer_plugin pointers constMax Kellermann2-2/+2
The plugin structures must never be modified.
2009-01-25mixer: added missing copyright headersMax Kellermann2-0/+34
2009-01-25conf: allow param==NULLMax Kellermann2-6/+0
Return the default value in the conf_get_block_*() functions when param==NULL was passed. This simplifies a lot of code, because all initialization can be done in one code path, regardless whether configuration is present.
2009-01-25conf: const pointers in block get functionsMax Kellermann2-4/+4
All config_get_block_*() functions should accept constant config_param pointers.
2009-01-18conf: added config_get_block_string()Max Kellermann2-12/+15
This replaces lots of getBlockParam() invocations.
2009-01-18mixer: don't check for NULL before g_free()Max Kellermann2-16/+11
The g_free() function includes a NULL check. We don't have to do it twice.
2009-01-17conf: no CamelCase, part IMax Kellermann2-6/+6
Renamed functions, types, variables.
2009-01-16mixer: check param==NULL in the alsa and oss mixer codeMax Kellermann2-0/+7
When MPD starts without audio output configuration, the "param" variable is NULL. This triggers a segmentation fault in both mixer plugins.
2009-01-11removing mixer_reconfigure memmory leak, fixing configure of alsa and oss ↵Viliam Mateicka2-8/+26
mixer (passing parameters)
2009-01-10Introducing mixer apiViliam Mateicka2-52/+73
This patch tryes to introduce pluggable mixer (struct mixer_plugin) along with some basic infrastructure (mixer_* functions). Instance of mixer (struct mixer) is used in alsa and oss output plugin
2009-01-04renaming mixer.h to mixer_api.hViliam Mateicka2-4/+4
2009-01-01mixer: renamed mix_* options to mixer_*Max Kellermann2-4/+4
There is no reason to use the shortcut "mix" instead of "mixer".
2008-12-31Moving mixers to audio outputsViliam Mateicka2-0/+403