role-ducking: Apply a ducking effect based on streams roles

This module works pretty similar to the module-role-cork.
It should be used as an alternative to that module. Basically
it decreases the volume of the streams specified in ducking_roles
in the presence of at least one stream specified in trigger_roles.
Also, it's possible to choice the volume that will be used in the
ducking streams and if it should operates in all devices or not.

For basic reference: http://en.wikipedia.org/wiki/Ducking
This commit is contained in:
Flavio Ceolin 2012-12-13 17:00:55 -02:00 committed by Tanu Kaskinen
parent b9f6bfcadc
commit 4d65c9582d
2 changed files with 332 additions and 1 deletions

View file

@ -1072,7 +1072,8 @@ modlibexec_LTLIBRARIES += \
module-switch-on-connect.la \
module-switch-on-port-available.la \
module-filter-apply.la \
module-filter-heuristics.la
module-filter-heuristics.la \
module-role-ducking.la
if HAVE_ESOUND
modlibexec_LTLIBRARIES += \
@ -1380,6 +1381,7 @@ SYMDEF_FILES = \
module-raop-discover-symdef.h \
module-gconf-symdef.h \
module-position-event-sounds-symdef.h \
module-role-ducking-symdef.h \
module-augment-properties-symdef.h \
module-role-cork-symdef.h \
module-console-kit-symdef.h \
@ -1777,6 +1779,12 @@ module_position_event_sounds_la_LDFLAGS = $(MODULE_LDFLAGS)
module_position_event_sounds_la_LIBADD = $(MODULE_LIBADD)
module_position_event_sounds_la_CFLAGS = $(AM_CFLAGS)
# Ducking effect based on stream roles
module_role_ducking_la_SOURCES = modules/module-role-ducking.c
module_role_ducking_la_LDFLAGS = $(MODULE_LDFLAGS)
module_role_ducking_la_LIBADD = $(MODULE_LIBADD)
module_role_ducking_la_CFLAGS = $(AM_CFLAGS)
# Augment properties from XDG .desktop files
module_augment_properties_la_SOURCES = modules/module-augment-properties.c
module_augment_properties_la_LDFLAGS = $(MODULE_LDFLAGS)