mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-24 21:38: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
|
See @uref{https://www.alsa-project.org/main/index.php/Asoundrc} for the
|
||||||
details.
|
details.
|
||||||
|
|
||||||
@deffn {Scheme Variable} pulseaudio-service-type
|
@deffn {Scheme Variable} ladspa-service-type
|
||||||
This is the type for the @uref{http://www.pulseaudio.org/, PulseAudio
|
This service sets the @var{LADSPA_PATH} variable, so that programs, which
|
||||||
sound server}, which sets the @var{LADSPA_PATH} environment variable to
|
respect it, e.g. PulseAudio, can load LADSPA plugins.
|
||||||
allow PulseAudio load modules from @code{swh-plugins} package.
|
|
||||||
|
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
|
See @uref{http://plugin.org.uk/ladspa-swh/docs/ladspa-swh.html} for the
|
||||||
details.
|
details.
|
||||||
|
|
||||||
The following example will setup the service:
|
|
||||||
|
|
||||||
@lisp
|
|
||||||
(service pulseaudio-service-type)
|
|
||||||
@end lisp
|
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@node Database Services
|
@node Database Services
|
||||||
|
|
|
@ -36,7 +36,10 @@ (define-module (gnu services sound)
|
||||||
alsa-service-type
|
alsa-service-type
|
||||||
|
|
||||||
pulseaudio-configuration
|
pulseaudio-configuration
|
||||||
pulseaudio-service-type))
|
pulseaudio-service-type
|
||||||
|
|
||||||
|
ladspa-configuration
|
||||||
|
ladspa-service-type))
|
||||||
|
|
||||||
;;; Commentary:
|
;;; Commentary:
|
||||||
;;;
|
;;;
|
||||||
|
@ -125,10 +128,7 @@ (define-record-type* <pulseaudio-configuration>
|
||||||
(file-append pulseaudio "/etc/pulse/system.pa"))))
|
(file-append pulseaudio "/etc/pulse/system.pa"))))
|
||||||
|
|
||||||
(define (pulseaudio-environment config)
|
(define (pulseaudio-environment config)
|
||||||
;; Define this variable in the global environment such that
|
`(;; Define these variables, so that pulseaudio honors /etc.
|
||||||
;; pulseaudio swh-plugins works.
|
|
||||||
`(("LADSPA_PATH" . ,(file-append swh-plugins "/lib/ladspa"))
|
|
||||||
;; Define these variables, so that pulseaudio honors /etc.
|
|
||||||
("PULSE_CONFIG" . "/etc/pulse/daemon.conf")
|
("PULSE_CONFIG" . "/etc/pulse/daemon.conf")
|
||||||
("PULSE_CLIENTCONFIG" . "/etc/pulse/client.conf")))
|
("PULSE_CLIENTCONFIG" . "/etc/pulse/client.conf")))
|
||||||
|
|
||||||
|
@ -166,4 +166,32 @@ (define pulseaudio-service-type
|
||||||
(default-value (pulseaudio-configuration))
|
(default-value (pulseaudio-configuration))
|
||||||
(description "Configure PulseAudio sound support.")))
|
(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
|
;;; sound.scm ends here
|
||||||
|
|
Loading…
Reference in a new issue