mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-24 05:18:07 -05:00
services: Split ladspa-service-type from pulseaudio-service-type.
* gnu/services/sound.scm (ladspa-configuration): New record. (ladspa-environment): New procedure. (ladspa-service-type): New service type. (pulseaudio-environment): Remove LADSPA_PATH. * doc/guix.texi: Adjust documentation. Signed-off-by: Marius Bakke <mbakke@fastmail.com>
This commit is contained in:
parent
f6f9181130
commit
f1022fbf2f
2 changed files with 44 additions and 14 deletions
|
@ -15951,19 +15951,21 @@ pcm.!default @{
|
|||
See @uref{https://www.alsa-project.org/main/index.php/Asoundrc} for the
|
||||
details.
|
||||
|
||||
@deffn {Scheme Variable} pulseaudio-service-type
|
||||
This is the type for the @uref{http://www.pulseaudio.org/, PulseAudio
|
||||
sound server}, which sets the @var{LADSPA_PATH} environment variable to
|
||||
allow PulseAudio load modules from @code{swh-plugins} package.
|
||||
@deffn {Scheme Variable} ladspa-service-type
|
||||
This service sets the @var{LADSPA_PATH} variable, so that programs, which
|
||||
respect it, e.g. PulseAudio, can load LADSPA plugins.
|
||||
|
||||
The following example will setup the service to enable modules from the
|
||||
@code{swh-plugins} package:
|
||||
|
||||
@lisp
|
||||
(service ladspa-service-type
|
||||
(ladspa-configuration (plugins (list swh-plugins))))
|
||||
@end lisp
|
||||
|
||||
See @uref{http://plugin.org.uk/ladspa-swh/docs/ladspa-swh.html} for the
|
||||
details.
|
||||
|
||||
The following example will setup the service:
|
||||
|
||||
@lisp
|
||||
(service pulseaudio-service-type)
|
||||
@end lisp
|
||||
@end deffn
|
||||
|
||||
@node Database Services
|
||||
|
|
|
@ -36,7 +36,10 @@ (define-module (gnu services sound)
|
|||
alsa-service-type
|
||||
|
||||
pulseaudio-configuration
|
||||
pulseaudio-service-type))
|
||||
pulseaudio-service-type
|
||||
|
||||
ladspa-configuration
|
||||
ladspa-service-type))
|
||||
|
||||
;;; Commentary:
|
||||
;;;
|
||||
|
@ -125,10 +128,7 @@ (define-record-type* <pulseaudio-configuration>
|
|||
(file-append pulseaudio "/etc/pulse/system.pa"))))
|
||||
|
||||
(define (pulseaudio-environment config)
|
||||
;; Define this variable in the global environment such that
|
||||
;; pulseaudio swh-plugins works.
|
||||
`(("LADSPA_PATH" . ,(file-append swh-plugins "/lib/ladspa"))
|
||||
;; Define these variables, so that pulseaudio honors /etc.
|
||||
`(;; Define these variables, so that pulseaudio honors /etc.
|
||||
("PULSE_CONFIG" . "/etc/pulse/daemon.conf")
|
||||
("PULSE_CLIENTCONFIG" . "/etc/pulse/client.conf")))
|
||||
|
||||
|
@ -166,4 +166,32 @@ (define pulseaudio-service-type
|
|||
(default-value (pulseaudio-configuration))
|
||||
(description "Configure PulseAudio sound support.")))
|
||||
|
||||
|
||||
;;;
|
||||
;;; LADSPA
|
||||
;;;
|
||||
|
||||
(define-record-type* <ladspa-configuration>
|
||||
ladspa-configuration make-ladspa-configuration
|
||||
ladspa-configuration?
|
||||
(plugins ladspa-plugins (default '())))
|
||||
|
||||
(define (ladspa-environment config)
|
||||
;; Define this variable in the global environment such that
|
||||
;; pulseaudio swh-plugins (and similar LADSPA plugins) work.
|
||||
`(("LADSPA_PATH" .
|
||||
(string-join
|
||||
',(map (lambda (package) (file-append package "/lib/ladspa"))
|
||||
(ladspa-plugins config))
|
||||
":"))))
|
||||
|
||||
(define ladspa-service-type
|
||||
(service-type
|
||||
(name 'ladspa)
|
||||
(extensions
|
||||
(list (service-extension session-environment-service-type
|
||||
ladspa-environment)))
|
||||
(default-value (ladspa-configuration))
|
||||
(description "Configure LADSPA plugins.")))
|
||||
|
||||
;;; sound.scm ends here
|
||||
|
|
Loading…
Reference in a new issue