summary refs log tree commit diff
path: root/gnu/packages/music.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/music.scm')
-rw-r--r--gnu/packages/music.scm57
1 files changed, 45 insertions, 12 deletions
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 1f6835f66c..ac4333168c 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -2810,14 +2810,13 @@ Songs can be searched by artist, name or even by a part of the song text.")
 (define-public beets
   (package
     (name "beets")
-    (version "1.4.7")
+    (version "1.4.9")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "beets" version))
-              (patches (search-patches "beets-python-3.7-fix.patch"))
               (sha256
                (base32
-                "0w3gz69s9gf5ih69d4sddgh7ndj7658m621bp742zldvjakdncrs"))))
+                "0m40rjimvfgy1dv04p8f8d5dvi2855v4ix99a9xr900cmcn476yj"))))
     (build-system python-build-system)
     (arguments
      `(#:phases
@@ -2826,12 +2825,6 @@ Songs can be searched by artist, name or even by a part of the song text.")
            (lambda _
              (setenv "HOME" (string-append (getcwd) "/tmp"))
              #t))
-         (add-after 'unpack 'make-python3.7-compatible
-           (lambda _
-             ;; See <https://github.com/beetbox/beets/issues/2978>.
-             (substitute* "beets/autotag/hooks.py"
-              (("re\\._pattern_type") "re.Pattern"))
-             #t))
          (replace 'check
            (lambda _
              (invoke "nosetests" "-v"))))))
@@ -2855,7 +2848,7 @@ Songs can be searched by artist, name or even by a part of the song text.")
        ("python-mutagen" ,python-mutagen)
        ("python-pyyaml" ,python-pyyaml)
        ("python-unidecode" ,python-unidecode)))
-    (home-page "http://beets.io")
+    (home-page "https://beets.io")
     (synopsis "Music organizer")
     (description "The purpose of beets is to get your music collection right
 once and for all.  It catalogs your collection, automatically improving its
@@ -4531,7 +4524,7 @@ controller.")
 (define-public fmit
   (package
     (name "fmit")
-    (version "1.2.6")
+    (version "1.2.13")
     (source (origin
 	      (method git-fetch)
 	      (uri (git-reference
@@ -4540,7 +4533,7 @@ controller.")
               (file-name (git-file-name name version))
 	      (sha256
                (base32
-                "03nzkig5mw2rqwhwmg0qvc5cnk9bwh2wp13jh0mdrr935w0587mz"))))
+                "1qyskam053pvlap1av80rgp12pzhr92rs88vqs6s0ia3ypnixcc6"))))
     (build-system gnu-build-system)
     (arguments
      '(#:phases
@@ -4589,3 +4582,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))))