summaryrefslogtreecommitdiff
path: root/gnu/packages/music.scm
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2019-10-06 21:59:30 +0200
committerRicardo Wurmus <rekado@elephly.net>2019-10-06 22:01:01 +0200
commitf58702465d0b2daab1775d29439b73b4486a108a (patch)
treea6d2a204001cb48e8945050f9e7d61c6739b9bdc /gnu/packages/music.scm
parent4b94e63db6a53d74dbe7932d18aa591162aaa9fe (diff)
downloadguix-patches-f58702465d0b2daab1775d29439b73b4486a108a.tar
guix-patches-f58702465d0b2daab1775d29439b73b4486a108a.tar.gz
gnu: Add mloop.
* gnu/packages/music.scm (mloop): New variable.
Diffstat (limited to 'gnu/packages/music.scm')
-rw-r--r--gnu/packages/music.scm40
1 files changed, 40 insertions, 0 deletions
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 508f2ea3bf..ce333e8240 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -4585,3 +4585,43 @@ with error and volume history, and advanced features.")
;; Most of the code is under GPL2+, but some abstract or helper classes
;; are under LGPL2.1.
(license (list license:gpl2+ license:lgpl2.1))))
+
+(define-public mloop
+ (let ((commit "adebff98b0b4dc5872a03acb82e89c77cb29c127")
+ (revision "0"))
+ (package
+ (name "mloop")
+ (version (git-version "0.0.1" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "http://git.fuzzle.org/mloop")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "175gxvg5slq0bllcx1c381rjlq3xpxww8c3kpiw5i2kfr4m52myz"))))
+ (build-system waf-build-system)
+ (arguments
+ `(#:python ,python-2
+ #:tests? #f)) ; no "check" target
+ (inputs
+ `(("jack" ,jack-1)
+ ("ncurses" ,ncurses)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (home-page "https://fuzzle.org/~petern/mloop.html")
+ (synopsis "Live MIDI looper")
+ (description "mloop is a live MIDI looping system, using jack-midi.
+Loops are recorded, optionally with beat quantization, and can then be played
+back, either once or looping. A 'note cache' system is implemented to
+remember which notes are pressed and their velocities. This allows for a loop
+to start off with the currently pressed notes, making seamless loops much
+easier to perform. Features include:
+
+@itemize
+@item Quantisation; end a loop on a beat exactly.
+@item Delayed recording; wait for a MIDI event before starting a loop record.
+@item Adjust tempo; Playback speed of loops can be adjusted on the fly.
+@end itemize\n")
+ (license license:gpl2))))