aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/music.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/music.scm')
-rw-r--r--gnu/packages/music.scm205
1 files changed, 172 insertions, 33 deletions
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 5dfa320d2c..ac4333168c 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -17,11 +17,12 @@
;;; Copyright © 2018 nee <nee.git@hidamari.blue>
;;; Copyright © 2018 Stefan Reichör <stefan@xsteve.at>
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
-;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
;;; Copyright © 2019 Gabriel Hondet <gabrielhondet@gmail.com>
;;; Copyright © 2019 Timotej Lazar <timotej.lazar@araneo.si>
;;; Copyright © 2019 Jakob L. Kreuze <zerodaysfordays@sdf.lonestar.org>
+;;; Copyright © 2019 raingloom <raingloom@protonmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -776,6 +777,11 @@ audio and video).")
#:tests? #f ; no "check" target
#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'be-permissive
+ (lambda _
+ (substitute* "SConstruct"
+ (("'-Wall'") "'-Wall', '-fpermissive'"))
+ #t))
(add-after 'unpack 'replace-removed-scons-syntax
(lambda _
(substitute* "SConstruct"
@@ -1023,14 +1029,6 @@ Guile.")
(%current-system))))
'("--disable-sse")
'()))
- #:phases
- (modify-phases %standard-phases
- (add-before
- 'configure 'set-flags
- (lambda _
- ;; Compile with C++11, required by libsigc++.
- (setenv "CXXFLAGS" "-std=c++11")
- #t)))
#:python ,python-2))
(inputs
`(("jack" ,jack-1)
@@ -1543,7 +1541,7 @@ reverb effects.")
(define-public setbfree
(package
(name "setbfree")
- (version "0.8.8")
+ (version "0.8.9")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1552,7 +1550,7 @@ reverb effects.")
(file-name (git-file-name name version))
(sha256
(base32
- "15dr1nyj69wc9jnjq5z8ril90a3c0mcrii4zjyz0z3h7dhia3382"))))
+ "1lpsa64xvwa9xbbp8zcwxy5w0daffc7fziny2pizabqh7m9xqjl2"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no "check" target
@@ -1790,7 +1788,7 @@ export.")
(define-public pd
(package
(name "pd")
- (version "0.49-0")
+ (version "0.50-0")
(source (origin
(method url-fetch)
(uri
@@ -1798,10 +1796,10 @@ export.")
version ".src.tar.gz"))
(sha256
(base32
- "18rzqbpgnnvyslap7k0ly87aw1bbxkb0rk5agpr423ibs9slxq6j"))))
+ "0hg4n5b55f650qsc0mjx559072dp7vfza7w0pvk6rk2l831cvsps"))))
(build-system gnu-build-system)
(arguments
- `(#:tests? #f ; no "check" target
+ `(#:tests? #f ; no "check" target
#:configure-flags
(list
"--enable-jack"
@@ -2007,14 +2005,14 @@ browser.")
(define-public drumstick
(package
(name "drumstick")
- (version "1.1.2")
+ (version "1.1.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/drumstick/"
version "/drumstick-" version ".tar.bz2"))
(sha256
(base32
- "0kljqyqj7s1i2z52i24x7ail1bywn6dcxxfbad5c59drm8wv94bp"))))
+ "1n9wvg79yvkygrkc8xd8pgrd3d7hqmr7gh24dccf0px23lla9b3m"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; no test target
@@ -2050,6 +2048,52 @@ multiplatform realtime MIDI I/O library is also provided with various output
backends, including ALSA, OSS, Network and FluidSynth.")
(license license:gpl2+)))
+(define-public vmpk
+ (package
+ (name "vmpk")
+ (version "0.7.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/vmpk/vmpk/"
+ version "/vmpk-" version ".tar.bz2"))
+ (sha256
+ (base32
+ "1i3hnvdgz46n4k5v0q4jhgh7nkh0s390ix4nqr69z0q3026yp0p6"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f ; no test target
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'fix-docbook
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "cmake_admin/CreateManpages.cmake"
+ (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
+ (string-append (assoc-ref inputs "docbook-xsl")
+ "/xml/xsl/docbook-xsl-"
+ ,(package-version docbook-xsl)
+ "/manpages/docbook.xsl")))
+ #t)))))
+ (inputs
+ `(("drumstick" ,drumstick)
+ ("qtbase" ,qtbase)
+ ("qtsvg" ,qtsvg)
+ ("qttools" ,qttools)
+ ("qtx11extras" ,qtx11extras)))
+ (native-inputs
+ `(("libxslt" ,libxslt) ;for xsltproc
+ ("docbook-xsl" ,docbook-xsl)
+ ("pkg-config" ,pkg-config)))
+ (home-page "http://vmpk.sourceforge.net")
+ (synopsis "Virtual MIDI piano keyboard")
+ (description
+ "Virtual MIDI Piano Keyboard is a MIDI events generator and receiver. It
+doesn't produce any sound by itself, but can be used to drive a MIDI
+synthesizer (either hardware or software, internal or external). You can use
+the computer's keyboard to play MIDI notes, and also the mouse. You can use
+the Virtual MIDI Piano Keyboard to display the played MIDI notes from another
+instrument or MIDI file player.")
+ (license license:gpl3+)))
+
(define-public zynaddsubfx
(package
(name "zynaddsubfx")
@@ -2099,7 +2143,7 @@ capabilities, custom envelopes, effects, etc.")
(define-public yoshimi
(package
(name "yoshimi")
- (version "1.5.10.2")
+ (version "1.6.0.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/yoshimi/"
@@ -2107,10 +2151,10 @@ capabilities, custom envelopes, effects, etc.")
"/yoshimi-" version ".tar.bz2"))
(sha256
(base32
- "1rr99qkq80s8l2iv3x4ccxan07m15dvmd5s9b10386bfjbwbya01"))))
+ "140f2k4akj39pny8c7i794q125415gyvmy4rday0il5ncp3glik4"))))
(build-system cmake-build-system)
(arguments
- `(#:tests? #f ; there are no tests
+ `(#:tests? #f ; there are no tests
#:configure-flags
(list (string-append "-DCMAKE_INSTALL_DATAROOTDIR="
(assoc-ref %outputs "out") "/share"))
@@ -2750,7 +2794,7 @@ websites such as Libre.fm.")
(add-before 'build 'change-directory
(lambda _
(chdir "instantmusic-0.1") #t))
- (add-before 'check 'fix-file-permissions
+ (add-before 'install 'fix-file-permissions
(lambda _
;; Fix some read-only files that would cause a build failure
(for-each (cut chmod <> #o644)
@@ -2766,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
@@ -2782,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"))))))
@@ -2811,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
@@ -2951,8 +2988,7 @@ with a number of bugfixes and changes to improve IT playback.")
(patches (search-patches "sooperlooper-build-with-wx-30.patch"))))
(build-system gnu-build-system)
(arguments
- `(#:make-flags (list "CXXFLAGS=-std=gnu++11")
- #:phases
+ `(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'add-sigc++-includes
(lambda* (#:key inputs #:allow-other-keys)
@@ -2964,7 +3000,8 @@ with a number of bugfixes and changes to improve IT playback.")
sig "/lib/sigc++-2.0/include:"
xml "/include/libxml2/:"
cwd "/libs/pbd:"
- cwd "/libs/midi++")))
+ cwd "/libs/midi++:"
+ (or (getenv "CPATH") ""))))
(substitute* '("src/control_osc.hpp"
"src/gui/app_frame.hpp"
"src/gui/config_panel.hpp"
@@ -4483,3 +4520,105 @@ discard bad quality ones.
controller.")
(home-page "https://github.com/charlesfleche/lpd8editor")
(license license:expat)))
+
+(define-public fmit
+ (package
+ (name "fmit")
+ (version "1.2.13")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/gillesdegottex/fmit/")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1qyskam053pvlap1av80rgp12pzhr92rs88vqs6s0ia3ypnixcc6"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (add-before 'build 'qmake
+ (lambda _
+ (let ((out (assoc-ref %outputs "out")))
+ (invoke "qmake"
+ "fmit.pro"
+ (string-append "PREFIX=" out)
+ (string-append "PREFIXSHORTCUT=" out)
+ "CONFIG+=acs_qt acs_alsa acs_jack acs_portaudio"))))
+ (add-after 'install 'wrap-executable
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (wrap-program (string-append out "/bin/fmit")
+ `("QT_PLUGIN_PATH" ":" prefix
+ ,(map (lambda (label)
+ (string-append (assoc-ref inputs label)
+ "/lib/qt5/plugins"))
+ '("qtbase" "qtmultimedia" "qtsvg")))
+ `("QML2_IMPORT_PATH" ":" prefix
+ ,(map (lambda (label)
+ (string-append (assoc-ref inputs label)
+ "/lib/qt5/qml"))
+ '("qtmultimedia"))))
+ #t))))))
+ (inputs
+ `(("alsa-lib" ,alsa-lib)
+ ("fftw" ,fftw)
+ ("jack" ,jack-1)
+ ("portaudio" ,portaudio)
+ ("qtbase" ,qtbase)
+ ("qtmultimedia" ,qtmultimedia)
+ ("qtsvg" ,qtsvg)))
+ (native-inputs
+ `(("gettext" ,gnu-gettext)
+ ("hicolor-icon-theme" ,hicolor-icon-theme)
+ ("itstool" ,itstool)
+ ("qttools" ,qttools)))
+ (synopsis "Musical instrument tuner")
+ (description "FMIT is a graphical utility for tuning musical instruments,
+with error and volume history, and advanced features.")
+ (home-page "https://gillesdegottex.github.io/fmit/")
+ ;; 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))))