2012-12-13 17:00:55 -02:00
/***
This file is part of PulseAudio .
Copyright 2012 Flavio Ceolin < flavio . ceolin @ profusion . mobi >
PulseAudio is free software ; you can redistribute it and / or modify
it under the terms of the GNU Lesser General Public License as published
by the Free Software Foundation ; either version 2.1 of the License ,
or ( at your option ) any later version .
PulseAudio is distributed in the hope that it will be useful , but
WITHOUT ANY WARRANTY ; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the GNU
General Public License for more details .
You should have received a copy of the GNU Lesser General Public License
2014-11-26 14:14:51 +01:00
along with PulseAudio ; if not , see < http : //www.gnu.org/licenses/>.
2012-12-13 17:00:55 -02:00
* * */
# ifdef HAVE_CONFIG_H
# include <config.h>
# endif
# include <pulsecore/macro.h>
# include <pulsecore/core.h>
build-sys: First pass at a meson-ified build system
This is a working implementation of a build with meson. The server,
utils, and most modules build with this, and it is possible to run from
a build tree and play/capture audio on ALSA devices.
There are a number of FIXMEs, of course, and a number of features that
need to be enabled (modules, dependencies, installation, etc.), but this
should provide everything we need to get there relatively quickly.
To use this, install meson (distro package, or mesonbuild.com) and run:
$ cd <pulseaudio src dir>
$ meson <builddir>
$ ninja -C <builddir>
2017-07-31 12:37:36 +01:00
# include "stream-interaction.h"
2012-12-13 17:00:55 -02:00
PA_MODULE_AUTHOR ( " Flavio Ceolin <flavio.ceolin@profusion.mobi> " ) ;
PA_MODULE_DESCRIPTION ( " Apply a ducking effect based on streams roles " ) ;
PA_MODULE_VERSION ( PACKAGE_VERSION ) ;
PA_MODULE_LOAD_ONCE ( true ) ;
PA_MODULE_USAGE (
2016-04-13 10:48:44 +09:00
" trigger_roles=<Comma(and slash) separated list of roles which will trigger a ducking. Slash can divide the roles into groups> "
" ducking_roles=<Comma(and slash) separated list of roles which will be ducked. Slash can divide the roles into groups> "
2012-12-13 17:00:55 -02:00
" global=<Should we operate globally or only inside the same device?> "
2016-04-13 10:48:44 +09:00
" volume=<Volume for the attenuated streams. Default: -20dB. If trigger_roles and ducking_roles are separated by slash, use slash for dividing volume group> "
2012-12-13 17:00:55 -02:00
) ;
static const char * const valid_modargs [ ] = {
" trigger_roles " ,
" ducking_roles " ,
" global " ,
" volume " ,
NULL
} ;
int pa__init ( pa_module * m ) {
pa_assert ( m ) ;
2016-03-17 22:35:07 +01:00
return pa_stream_interaction_init ( m , valid_modargs ) ;
2012-12-13 17:00:55 -02:00
}
void pa__done ( pa_module * m ) {
pa_assert ( m ) ;
2016-03-17 22:35:07 +01:00
pa_stream_interaction_done ( m ) ;
2012-12-13 17:00:55 -02:00
}