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.scm188
1 files changed, 164 insertions, 24 deletions
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 5b8728e591..b7dc7d9aaa 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -1,6 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
-;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
 ;;; Copyright © 2016 Al McElrath <hello@yrns.org>
 ;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
@@ -13,7 +13,8 @@
 ;;; Copyright © 2017 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 ;;; Copyright © 2017 Pierre Langlois <pierre.langlois@gmx.com>
 ;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
-;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018 nee <nee.git@hidamari.blue>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -113,6 +114,7 @@
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages tex)
   #:use-module (gnu packages tls)
+  #:use-module (gnu packages version-control)
   #:use-module (gnu packages video)
   #:use-module (gnu packages web)
   #:use-module (gnu packages wxwidgets)
@@ -1266,7 +1268,7 @@ users to select LV2 plugins and run them with jalv.")
 (define-public synthv1
   (package
     (name "synthv1")
-    (version "0.8.5")
+    (version "0.8.6")
     (source (origin
               (method url-fetch)
               (uri
@@ -1274,7 +1276,7 @@ users to select LV2 plugins and run them with jalv.")
                               "/synthv1-" version ".tar.gz"))
               (sha256
                (base32
-                "0mvrqk6jy7h2wg442ixwm49w7x15rs4066c2ljrz4kvxlzp5z69i"))))
+                "141ah1gnv5r2k846v5ay15q9q90h01p74240a56vlxqh20z43g92"))))
     (build-system gnu-build-system)
     (arguments
      `(#:tests? #f ; There are no tests.
@@ -1300,7 +1302,7 @@ oscillators and stereo effects.")
 (define-public drumkv1
   (package
     (name "drumkv1")
-    (version "0.8.5")
+    (version "0.8.6")
     (source (origin
               (method url-fetch)
               (uri
@@ -1308,7 +1310,7 @@ oscillators and stereo effects.")
                               "/drumkv1-" version ".tar.gz"))
               (sha256
                (base32
-                "06xqqm1ylmpp2s7xk7xav325gc50kxlvh9vf1343b0n3i8xkgjfg"))))
+                "0fwxrfyp15a4m77mzz4mwj36mhdrj646whlrkvcys33p2w75f8cq"))))
     (build-system gnu-build-system)
     (arguments
      `(#:tests? #f ; There are no tests.
@@ -1335,7 +1337,7 @@ effects.")
 (define-public samplv1
   (package
     (name "samplv1")
-    (version "0.8.5")
+    (version "0.8.6")
     (source (origin
               (method url-fetch)
               (uri
@@ -1343,7 +1345,7 @@ effects.")
                               "/samplv1-" version ".tar.gz"))
               (sha256
                (base32
-                "1gscwybsbaqbnylmgf2baf71cm2g7a0pd11rqmk3cz9hi3lyjric"))))
+                "035bq7yfg1yirsqk63zwkzjw9dxl52lrzq9y0w7nga0vb11xdfij"))))
     (build-system gnu-build-system)
     (arguments
      `(#:tests? #f ; There are no tests.
@@ -1367,6 +1369,42 @@ effects.")
 effects.")
     (license license:gpl2+)))
 
+(define-public padthv1
+  (package
+    (name "padthv1")
+    (version "0.8.6")
+    (source (origin
+              (method url-fetch)
+              (uri
+               (string-append "mirror://sourceforge/padthv1/padthv1/" version
+                              "/padthv1-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1mikab2f9n5q1sfgnp3sbm1rf3v57k4085lsgh0a5gzga2h4hwxq"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f ; There are no tests.
+       #:configure-flags
+       '("CXXFLAGS=-std=gnu++11")))
+    (inputs
+     `(("jack" ,jack-1)
+       ("lv2" ,lv2)
+       ("alsa-lib" ,alsa-lib)
+       ("non-session-manager" ,non-session-manager)
+       ("liblo" ,liblo)
+       ("fftw" ,fftw)
+       ("qtbase" ,qtbase)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("qttools" ,qttools)))
+    (home-page "http://padthv1.sourceforge.net")
+    (synopsis "Polyphonic additive synthesizer")
+    (description
+     "Padthv1 is an old-school polyphonic additive synthesizer with stereo
+effects.  Padthv1 is based on the PADsynth algorithm by Paul Nasca, as a
+special variant of additive synthesis.")
+    (license license:gpl2+)))
+
 (define-public amsynth
   (package
     (name "amsynth")
@@ -1928,7 +1966,7 @@ capabilities, custom envelopes, effects, etc.")
 (define-public yoshimi
   (package
     (name "yoshimi")
-    (version "1.5.5")
+    (version "1.5.6")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://sourceforge/yoshimi/"
@@ -1936,7 +1974,7 @@ capabilities, custom envelopes, effects, etc.")
                                   "/yoshimi-" version ".tar.bz2"))
               (sha256
                (base32
-                "0h71x9742bswifwll7bma1fz648fd5xd0yfp7byvsczy6zhjz5pf"))))
+                "0bjfhfslpa2hjrc9h38m7dlr62953w9n4cvkgvfy495cbym12dak"))))
     (build-system cmake-build-system)
     (arguments
      `(#:tests? #f ; there are no tests
@@ -1956,17 +1994,7 @@ capabilities, custom envelopes, effects, etc.")
               (("-msse -msse2 -mfpmath=sse") "")
               (("-march=(athlon64|core2)" flag)
                (string-append flag " -msse -msse2 -mfpmath=sse")))
-            #t))
-         ;; Yoshimi tries to find ncurses with pkg-config, but our ncurses
-         ;; package does not install .pc files.
-         (add-after 'unpack 'find-ncurses
-           (lambda _
-             (substitute* "src/CMakeLists.txt"
-               (("LIBNCURSES REQUIRED") "LIBNCURSES")
-               (("NCURSES REQUIRED") "NCURSES")
-               (("FATAL_ERROR \"libncurses") "STATUS \"libncurses")
-               (("\\$\\{NCURSES_LIBRARIES\\}") "ncurses"))
-             #t)))))
+            #t)))))
     (inputs
      `(("boost" ,boost)
        ("fftwf" ,fftwf)
@@ -1986,7 +2014,7 @@ capabilities, custom envelopes, effects, etc.")
     (home-page "http://yoshimi.sourceforge.net/")
     (synopsis "Multi-paradigm software synthesizer")
     (description
-     "Yoshimi is a fork of ZynAddSubFX, a feature heavy realtime software
+     "Yoshimi is a fork of ZynAddSubFX, a feature-heavy real-time software
 synthesizer.  It offers three synthesizer engines, multitimbral and polyphonic
 synths, microtonal capabilities, custom envelopes, effects, etc.  Yoshimi
 improves on support for JACK features, such as JACK MIDI.")
@@ -3460,6 +3488,62 @@ sample library.")
     (home-page "https://musescore.org")
     (license license:gpl2)))
 
+(define-public muse-sequencer
+  (package
+    (name "muse-sequencer")
+    (version "3.0.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/muse-sequencer/muse.git")
+                    (commit (string-append "muse_"
+                                           (string-map (lambda (c)
+                                                         (if (char=? c #\.)
+                                                             #\_ c)) version)))))
+              (file-name (string-append name "-" version "-checkout"))
+              (sha256
+               (base32
+                "1nninz8qyqlxxjdnrm79y3gr3056pga9l2fsqh674jd3cjvafya3"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:tests? #f ; there is no test target
+       #:configure-flags
+       (list "-DENABLE_LV2_SUPPLIED=OFF"
+             "-DENABLE_RTAUDIO=OFF"    ; FIXME: not packaged
+             "-DENABLE_INSTPATCH=OFF"  ; FIXME: not packaged
+             "-DENABLE_VST_NATIVE=OFF")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'chdir
+           (lambda _ (chdir "muse3"))))))
+    (inputs
+     `(("alsa-lib" ,alsa-lib)
+       ("lash" ,lash)
+       ("jack" ,jack-1)
+       ("liblo" ,liblo)
+       ("dssi" ,dssi)
+       ("ladspa" ,ladspa)
+       ("lv2" ,lv2)
+       ("lilv" ,lilv)
+       ("sord" ,sord)
+       ("libsndfile" ,libsndfile)
+       ("libsamplerate" ,libsamplerate)
+       ("fluidsynth" ,fluidsynth)
+       ("pcre" ,pcre)
+       ("qtbase" ,qtbase)
+       ("qtsvg" ,qtsvg)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("qttools" ,qttools)))
+    (home-page "http://muse-sequencer.org")
+    (synopsis "MIDI/Audio sequencer")
+    (description "MusE is a MIDI/Audio sequencer with recording and editing
+capabilities.  Its audio sequencer supports the LADSPA, DSSI, and LV2 audio
+plugin formats; the MIDI sequencer provides a piano roll, a drum editor, a
+list view, and a score editor.  MusE aims to be a complete multitrack virtual
+studio.")
+    (license license:gpl2+)))
+
 (define-public dssi
   (package
     (name "dssi")
@@ -3475,7 +3559,7 @@ sample library.")
     (build-system gnu-build-system)
     (inputs
      `(("alsa-lib" ,alsa-lib)
-       ("jack-2" ,jack-2)
+       ("jack" ,jack-1)
        ("ladspa" ,ladspa)
        ("libsamplerate" ,libsamplerate)
        ("libsndfile" ,libsndfile)
@@ -3566,7 +3650,7 @@ specification and header.")
        ("dssi" ,dssi)
        ("flac" ,flac)
        ("fftwf" ,fftwf)
-       ("jack-2" ,jack-2)
+       ("jack" ,jack-1)
        ("ladspa" ,ladspa)
        ("liblo" ,liblo)
        ("libsamplerate" ,libsamplerate)
@@ -3752,3 +3836,59 @@ for the DSSI Soft Synth Interface.  A brief list of features:
 @end enumerate
 ")
     (license license:gpl2+)))
+
+(define-public libdiscid
+  (package
+    (name "libdiscid")
+    (version "0.6.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "http://ftp.musicbrainz.org/pub/musicbrainz/libdiscid/libdiscid-"
+             version ".tar.gz"))
+       (sha256
+        (base32
+         "1f9irlj3dpb5gyfdnb1m4skbjvx4d4hwiz2152f83m0d9jn47r7r"))))
+    (arguments `(#:test-target "check"))
+    (build-system cmake-build-system)
+    (home-page "https://musicbrainz.org/doc/libdiscid")
+    (synopsis "Disc id reader library")
+    (description "libdiscid is a C library for creating MusicBrainz and freedb
+disc IDs from audio CDs.  It reads a CD's table of contents (TOC) and generates
+an identifier which can be used to lookup the CD at MusicBrainz.  Additionally,
+it provides a submission URL for adding the disc ID to the database and gathers
+ISRCs and the MCN (=UPC/EAN) from disc.")
+    (license license:lgpl2.1+)))
+
+(define-public libmusicbrainz
+  (package
+    (name "libmusicbrainz")
+    (version "5.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://github.com/metabrainz/libmusicbrainz/releases/download/release-"
+             version "/libmusicbrainz-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0ikb9igyyk28jm34raxfzkw2qyn4nzzwsymdyprp7cmvi6g2ajb7"))     ))
+    (build-system cmake-build-system)
+    (arguments `(#:phases
+                 (modify-phases %standard-phases
+                   (replace 'check
+                     (lambda _
+                       (and
+                        ;; requires network connections
+                        ;; (zero? (system* "tests/mbtest"))
+                        (zero? (system* "tests/ctest"))))))))
+    (inputs `(("neon" ,neon)
+              ("libxml2" ,libxml2)))
+    (native-inputs `(("pkg-config" ,pkg-config)))
+    (home-page "https://musicbrainz.org/doc/libmusicbrainz")
+    (synopsis "MusicBrainz client library")
+    (description "The MusicBrainz Client Library (libmusicbrainz), also known as
+mb_client, is a development library geared towards developers who wish to add
+MusicBrainz lookup capabilities to their applications.")
+    (license license:lgpl2.1+)))