aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2020-03-08 23:13:11 +0100
committerRicardo Wurmus <rekado@elephly.net>2020-03-08 23:13:11 +0100
commit3f68f76eafadb496e11adf7c971acf5450fbb4c4 (patch)
tree47b8ddf0f32f0dade7c13822b16f1861aa757e84
parent46a864e7c108ab88e7e8543b37c14c77d2339c89 (diff)
downloadguix-3f68f76eafadb496e11adf7c971acf5450fbb4c4.tar
guix-3f68f76eafadb496e11adf7c971acf5450fbb4c4.tar.gz
gnu: Add jack-select.
* gnu/packages/music.scm (jack-select): New variable.
-rw-r--r--gnu/packages/music.scm58
1 files changed, 58 insertions, 0 deletions
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 5ddd6ad863..8914db3b0e 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -2353,6 +2353,64 @@ allows you to send JACK MIDI events (i.e. play) using your PC keyboard.")
can connect to any JACK port and record the output into a stereo WAV file.")
(license license:gpl2+)))
+(define-public jack-select
+ (package
+ (name "jack-select")
+ (version "1.5.0")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "jack-select" version))
+ (sha256
+ (base32
+ "1zijk9ly2fczxsnnrqr8s0ajmlyx1j1vd8gk0rm5dj5zyhhmia7f"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:modules ((guix build gnu-build-system)
+ ((guix build python-build-system) #:prefix python:)
+ (guix build utils))
+ #:imported-modules (,@%gnu-build-system-modules
+ (guix build python-build-system))
+ #:make-flags
+ (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
+ #:tests? #f ; there are none
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'configure
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; python-dbus cannot be found but it's really there. See
+ ;; https://github.com/SpotlightKid/jack-select/issues/2
+ (substitute* "setup.py"
+ (("'dbus-python',") ""))
+ ;; Fix reference to dlopened libraries.
+ (substitute* "jackselect/alsainfo.py"
+ (("libasound.so.2")
+ (string-append (assoc-ref inputs "alsa-lib")
+ "/lib/libasound.so.2")))
+ #t))
+ (replace 'build
+ (assoc-ref python:%standard-phases 'build))
+ (add-after 'install 'wrap
+ (assoc-ref python:%standard-phases 'wrap)))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("alsa-lib" ,alsa-lib)
+ ("python" ,python-wrapper)
+ ("python-pyudev" ,python-pyudev)
+ ("python-pyxdg" ,python-pyxdg)
+ ("python-dbus" ,python-dbus)
+ ("python-pygobject" ,python-pygobject)))
+ (home-page "https://github.com/SpotlightKid/jack-select")
+ (synopsis "Systray application to quickly change the JACK-DBus configuration")
+ (description "This application displays an icon in the system tray (also
+known as notification area) of your desktop, which shows the status of the
+JACK audio server and when you click on it, a menu pops up, which lets you
+quickly select from the JACK configuration presets you created with QjackCtl.
+When you select a preset, its JACK engine and driver configuration settings
+are loaded via DBus into JACK and then the server is restarted. This allows
+you to switch between different audio setups with just two mouse clicks.")
+ (license license:expat)))
+
(define-public cursynth
(package
(name "cursynth")