summaryrefslogtreecommitdiff
path: root/gnu/packages/music.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/music.scm')
-rw-r--r--gnu/packages/music.scm388
1 files changed, 361 insertions, 27 deletions
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 463f7fd9ef..241ede58d8 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -24,6 +24,7 @@
;;; Copyright © 2019 Jakob L. Kreuze <zerodaysfordays@sdf.lonestar.org>
;;; Copyright © 2019 raingloom <raingloom@protonmail.com>
;;; Copyright © 2019 David Wilson <david@daviwil.com>
+;;; Copyright © 2019 Alexandros Theodotou <alex@zrythm.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1283,6 +1284,14 @@ add_library( rapidjson INTERFACE IMPORTED )"))
(("#include <QWidget>" m)
(string-append m "\n#include <QButtonGroup>\n#include <QAction>")))
#t))
+ ;; FIXME: Finding RtMidi was fixed upstream so we should be able to
+ ;; remove this hack when a release is made.
+ ;; See https://github.com/powertab/powertabeditor/issues/255
+ (add-after 'unpack 'fix-rtmidi-header
+ (lambda _
+ (substitute* "source/audio/midioutputdevice.cpp"
+ (("#include <RtMidi.h>") "#include <rtmidi/RtMidi.h>"))
+ #t))
(add-before 'configure 'remove-third-party-libs
(lambda* (#:key inputs #:allow-other-keys)
;; Link with required static libraries, because we're not
@@ -1371,7 +1380,7 @@ users to select LV2 plugins and run them with jalv.")
(define-public synthv1
(package
(name "synthv1")
- (version "0.9.8")
+ (version "0.9.11")
(source (origin
(method url-fetch)
(uri
@@ -1379,7 +1388,7 @@ users to select LV2 plugins and run them with jalv.")
"/synthv1-" version ".tar.gz"))
(sha256
(base32
- "15kabmxp38wqvavs5hr1dqasjjf1j977kzqggxfmzyi3y5fan3hj"))))
+ "116k2vca9dygvsd684wvxm61p0l1xrrgdph4qrrprlsr6vj0llgm"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f)) ; there are no tests
@@ -1403,7 +1412,7 @@ oscillators and stereo effects.")
(define-public drumkv1
(package
(name "drumkv1")
- (version "0.9.8")
+ (version "0.9.11")
(source (origin
(method url-fetch)
(uri
@@ -1411,7 +1420,7 @@ oscillators and stereo effects.")
"/drumkv1-" version ".tar.gz"))
(sha256
(base32
- "010p8nwnmqgj5mw324psig3hxi1g2gylxrigd6sj6sgcpy3kdm23"))))
+ "1wnjn175l0mz51k9pjf3pdzv54c4jlh63saavld9lm6zfgfs13d7"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f)) ; there are no tests
@@ -1436,7 +1445,7 @@ effects.")
(define-public samplv1
(package
(name "samplv1")
- (version "0.9.8")
+ (version "0.9.11")
(source (origin
(method url-fetch)
(uri
@@ -1444,7 +1453,7 @@ effects.")
"/samplv1-" version ".tar.gz"))
(sha256
(base32
- "138kd9szgn3b97s7crhsyj8pgwb0bn4l9knd4zliqjgj2f1bs9x0"))))
+ "17zs8kvvwqv00bm4lxpn09a5hxjlbz7k5mkl3k7jspw7rqn3djf2"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f)) ; there are no tests
@@ -1469,7 +1478,7 @@ effects.")
(define-public padthv1
(package
(name "padthv1")
- (version "0.9.8")
+ (version "0.9.11")
(source (origin
(method url-fetch)
(uri
@@ -1477,7 +1486,7 @@ effects.")
"/padthv1-" version ".tar.gz"))
(sha256
(base32
- "1k4p2ir12qjcs62knvw2s6qyvb46203yx22fnwp341cjk171cxji"))))
+ "02yfwyirjqxa075yqdnci9b9k57kdmkjvn9gnpdbnjp887pds76g"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f)) ; there are no tests
@@ -2142,7 +2151,7 @@ capabilities, custom envelopes, effects, etc.")
(define-public yoshimi
(package
(name "yoshimi")
- (version "1.6.0.1")
+ (version "1.6.0.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/yoshimi/"
@@ -2150,7 +2159,7 @@ capabilities, custom envelopes, effects, etc.")
"/yoshimi-" version ".tar.bz2"))
(sha256
(base32
- "140f2k4akj39pny8c7i794q125415gyvmy4rday0il5ncp3glik4"))))
+ "1z2mnmm299ng6jcwa61dzr1ilwa5fjgsggxl2wa5smji6b4npmx7"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; there are no tests
@@ -2344,14 +2353,14 @@ from the command line.")
(define-public qtractor
(package
(name "qtractor")
- (version "0.9.6")
+ (version "0.9.11")
(source (origin
(method url-fetch)
(uri (string-append "http://downloads.sourceforge.net/qtractor/"
"qtractor-" version ".tar.gz"))
(sha256
(base32
- "06sa4wl8zr0k8dnjiil0gjwnhrkq95h50xv56ih1y8jgyzxchaxp"))))
+ "1482da0lr77i57jby80cnn4bb9ws3v1i1j6m2hbwdnvqab9csvnx"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f)) ; no "check" target
@@ -3707,7 +3716,7 @@ are a C compiler and glib. Full API documentation and examples are included.")
(define-public lmms
(package
(name "lmms")
- (version "1.1.3")
+ (version "1.2.1")
(source
(origin
(method git-fetch)
@@ -3717,12 +3726,23 @@ are a C compiler and glib. Full API documentation and examples are included.")
(file-name (git-file-name name version))
(sha256
(base32
- "03hhymc6d73fa3wbcqb7rm1l03zkw605k5i9kvkvjmv488bqh3pd"))))
+ "1gx730z361xx30iqbsm99aam1k2c8yf561gcay6sryyjksb4w1wy"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; no tests
+ ;; Qt 5 support must be explicitly enabled in the 1.2 stable versions of
+ ;; LMMS, so try removing "-DWANT_QT5=ON" in later versions.
+ ;; Also, explicitly disabling VST support gets rid of the in-tree
+ ;; dependency on qt5-x11embed.
+ #:configure-flags '("-DWANT_QT5=ON"
+ "-DWANT_VST=OFF")
#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'unpack-rpmalloc
+ (lambda* (#:key inputs #:allow-other-keys)
+ (copy-recursively (assoc-ref inputs "rpmalloc")
+ "src/3rdparty/rpmalloc/rpmalloc")
+ #t))
(add-before 'configure 'set-ldflags
(lambda* (#:key outputs #:allow-other-keys)
(setenv "LDFLAGS"
@@ -3733,12 +3753,6 @@ are a C compiler and glib. Full API documentation and examples are included.")
(assoc-ref outputs "out") "/lib/lmms/ladspa"
"\""))
#t))
- (add-before 'configure 'remove-Werror
- (lambda _
- (substitute* "CMakeLists.txt"
- (("SET\\(WERROR_FLAGS \"\\$\\{WERROR_FLAGS\\} -Werror")
- "SET(WERROR_FLAGS \"${WERROR_FLAGS}"))
- #t))
(add-before 'reset-gzip-timestamps 'make-manpages-writable
(lambda* (#:key outputs #:allow-other-keys)
(map (lambda (file)
@@ -3748,14 +3762,30 @@ are a C compiler and glib. Full API documentation and examples are included.")
".*\\.gz$"))
#t)))))
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ `(("pkg-config" ,pkg-config)
+ ("qttools" ,qttools)
+ ;; rpmalloc is a public domain memory allocator. This version specified
+ ;; below is the version required by LMMS.
+ ;; To get the new commit of rpmalloc to use here, run
+ ;; `git submodule--helper list | grep rpmalloc | cut -f2 -d' '`
+ ;; in the cloned LMMS repository.
+ ("rpmalloc"
+ ,(origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mjansson/rpmalloc.git")
+ (commit "b5bdc18051bb74a22f0bde4bcc90b01cf590b496")))
+ (sha256
+ (base32
+ "0g9pls46iggg7rdm65vzfj8nyr3v2n5xkp54c4qbh9hhalpsw4ay"))))))
(inputs
`(("sdl" ,sdl)
- ("qt" ,qt-4)
+ ("qtbase" ,qtbase)
+ ("qtx11extras" ,qtx11extras)
("fltk" ,fltk)
("libogg" ,libogg)
("libsamplerate" ,libsamplerate)
- ("fluidsynth" ,fluidsynth-1) ;XXX: try using 2.x when updating
+ ("fluidsynth" ,fluidsynth)
("libvorbis" ,libvorbis)
("alsa-lib" ,alsa-lib)
("portaudio" ,portaudio)
@@ -3774,7 +3804,7 @@ audio samples and various soft sythesizers. It can receive input from a MIDI ke
(define-public musescore
(package
(name "musescore")
- (version "3.2.3")
+ (version "3.3")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -3783,7 +3813,7 @@ audio samples and various soft sythesizers. It can receive input from a MIDI ke
(file-name (git-file-name name version))
(sha256
(base32
- "17wx1wl8ns2k31qvrr888dxnrsa13vazg04zh2sn2q4vzd869a7v"))
+ "15ckjwvp3xigjkzmp1ddzvlm4d0vlk9i1axyfxg3hr2sia84yxvi"))
(modules '((guix build utils)))
(snippet
;; Un-bundle OpenSSL and remove unused libraries.
@@ -3801,8 +3831,7 @@ audio samples and various soft sythesizers. It can receive input from a MIDI ke
(build-system cmake-build-system)
(arguments
`(#:configure-flags
- `("-DBUILD_CRASH_REPORTER=OFF"
- "-DBUILD_WEBENGINE=OFF"
+ `("-DBUILD_WEBENGINE=OFF"
"-DDOWNLOAD_SOUNDFONT=OFF"
"-DUSE_SYSTEM_FREETYPE=ON")
;; There are tests, but no simple target to run. The command used to
@@ -4679,3 +4708,308 @@ You can also get metadata about the playing track such as the artist and title
for integration into status line generators or other command-line tools.")
(home-page "https://github.com/altdesktop/playerctl")
(license license:lgpl3+)))
+
+(define-public artyfx
+ (package
+ (name "artyfx")
+ (version "1.3")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url
+ "https://github.com/openAVproductions/openAV-ArtyFX.git")
+ (commit (string-append "release-" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "012hcy1mxl7gs2lipfcqp5x0xv1azb9hjrwf0h59yyxnzx96h7c9"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f ; no tests included
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'remove-architecture-specific-flags
+ (lambda _
+ (substitute* "CMakeLists.txt"
+ (("-msse2 -mfpmath=sse") ""))
+ #t)))))
+ (inputs
+ `(("cairo" ,cairo)
+ ("libsndfile" ,libsndfile)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("lv2" ,lv2)))
+ (home-page "http://openavproductions.com/artyfx/")
+ (synopsis "Audio effect LV2 plugin bundle")
+ (description "ArtyFX is an LV2 plugin bundle of artistic real-time audio
+effects. It contains a bitcrusher, delay, distortion, equalizer, compressor,
+and reverb.")
+ (license license:gpl2+)))
+
+(define-public sherlock-lv2
+ (package
+ (name "sherlock-lv2")
+ (version "0.20.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://git.open-music-kontrollers.ch/lv2/"
+ "sherlock.lv2/snapshot/sherlock.lv2-"
+ version ".tar.xz"))
+ (sha256
+ (base32
+ "1c5xajpss9h8lbyx160bbzg8va50n2d74qwnxig9sf468rzmha1y"))))
+ (build-system meson-build-system)
+ (inputs
+ `(("libx11" ,libx11)
+ ("mesa" ,mesa)
+ ("sratom" ,sratom)))
+ (native-inputs
+ `(("flex" ,flex)
+ ("pkg-config" ,pkg-config)))
+ (synopsis "Investigative LV2 plugin bundle")
+ (description "The Sherlock plugin bundle contains LV2 plugins for
+visualizing LV2 atom, MIDI and OSC events. They can be used for monitoring
+and debugging of event signal flows inside plugin graphs.")
+ (home-page "https://open-music-kontrollers.ch/lv2/sherlock/")
+ (license license:artistic2.0)))
+
+(define-public x42-plugins
+ (package
+ (name "x42-plugins")
+ (version "20191013")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "http://gareus.org/misc/x42-plugins/x42-plugins-"
+ version ".tar.xz"))
+ (sha256
+ (base32
+ "18kn1bmc0s6dp834kc51ibifzzn3bxwya4p8s8yq9f4mpmkghi24"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; no "check" target
+ #:make-flags
+ (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
+ "LIBZITACONVOLVER=-lzita-convolver"
+ (string-append "FONTFILE="
+ (assoc-ref %build-inputs "font-dejavu")
+ "/share/fonts/truetype/DejaVuSans-Bold.ttf"))
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'set-CC-variable
+ (lambda _
+ (setenv "CC" "gcc")
+ #t))
+ (delete 'configure))))
+ (inputs
+ `(("cairo" ,cairo)
+ ("fftwf" ,fftwf)
+ ("ftgl" ,ftgl)
+ ("glib" ,glib)
+ ("glu" ,glu)
+ ("hicolor-icon-theme" ,hicolor-icon-theme)
+ ("jack" ,jack-1)
+ ("libltc" ,libltc)
+ ("libsamplerate" ,libsamplerate)
+ ("libx11" ,libx11)
+ ("pango" ,pango)
+ ("zita-convolver" ,zita-convolver)))
+ (native-inputs
+ `(("help2man" ,help2man)
+ ("liblo" ,liblo)
+ ("lv2" ,lv2)
+ ("font-dejavu" ,font-dejavu)
+ ("pkg-config" ,pkg-config)))
+ (synopsis "Collection of LV2/JACK audio/MIDI processing plugins")
+ (description "x42-plugins is a collection of over 80 cross-platform LV2
+audio and MIDI plugins that can also run as standalone JACK applications.")
+ (home-page "https://x42-plugins.com/x42/")
+ (license license:gpl2+)))
+
+(define-public zam-plugins
+ (package
+ (name "zam-plugins")
+ (version "3.11")
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/zamaudio/zam-plugins.git")
+ (commit version)
+ ;; Recursive to fetch the DISTRHO plugin framework. This
+ ;; framework is intended to be included in the sources
+ ;; and not to be used as a library.
+ (recursive? #t)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0jlbxm0g93plgd3g4r9rsr0c7868ms49bs0ljpqb6kw6132hsapp"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ;no "check" target
+ #:make-flags
+ (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
+ "HAVE_ZITA_CONVOLVER=true")
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'set-CC-variable
+ (lambda _
+ (setenv "CC" "gcc") #t))
+ (delete 'configure))))
+ (inputs
+ `(("fftwf" ,fftwf)
+ ("jack" ,jack-1) ;for the standalone JACK application
+ ("liblo" ,liblo)
+ ("libsamplerate" ,libsamplerate)
+ ("mesa" ,mesa)
+ ("zita-convolver" ,zita-convolver)))
+ (native-inputs
+ `(("ladspa" ,ladspa)
+ ("lv2" ,lv2)
+ ("pkg-config" ,pkg-config)))
+ (synopsis "Collection of audio processing plugins")
+ (description
+ "Zam plugins is a collection of audio processing plugins in the LADSPA,
+LV2 and VST2 formats, as well as standalone JACK versions. The collection
+includes ZaMaximX2, ZamAutoSat, ZamComp, ZamCompX2, ZamEQ2, ZamGEQ31,
+ZamHeadX2, ZamPhono, ZamGate, ZamGateX2, ZamTube, ZamDelay, ZamDynamicEQ,
+ZaMultiComp, ZaMultiCompX2 and ZamSynth.")
+ (home-page "http://www.zamaudio.com/?p=976")
+ (license license:gpl2+)))
+
+(define-public geonkick
+ (package
+ (name "geonkick")
+ (version "1.9.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/geontime/geonkick.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "17mwxnmxszdm2wjbigciwh8qx0487q9qhf4sl92y6nqdb0dlghnl"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f ;no tests included
+ #:configure-flags
+ (list (string-append "-DGKICK_REDKITE_SDK_PATH="
+ (assoc-ref %build-inputs "redkite"))
+ (string-append "-DCMAKE_INSTALL_PREFIX="
+ (assoc-ref %outputs "out")))))
+ (inputs
+ `(("cairo" ,cairo)
+ ("hicolor-icon-theme" ,hicolor-icon-theme)
+ ("jack" ,jack-1) ;for the standalone JACK application
+ ("libsndfile" ,libsndfile)
+ ("libx11" ,libx11)
+ ("redkite" ,redkite)
+ ("rapidjson" ,rapidjson)))
+ (native-inputs
+ `(("lv2" ,lv2)
+ ("pkg-config" ,pkg-config)
+ ("sord" ,sord)))
+ (synopsis "Percussion synthesizer")
+ (description "Geonkick is a synthesizer that can synthesize elements
+of percussion such as kicks, snares, hit-hats, shakers, claps and sticks.
+It can also play and mix samples.")
+ (home-page "https://gitlab.com/geontime/geonkick")
+ (license license:gpl3+)))
+
+(define-public dpf-plugins
+ (package
+ (name "dpf-plugins")
+ (version "1.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/DISTRHO/DPF-Plugins.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1hsfmpv3kvpiwk8nfw9xpaipzy0n27i83y2v1yr93lznwm5rqrbs"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; no "check" target
+ #:make-flags
+ (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'set-CC-variable
+ (lambda _ (setenv "CC" "gcc") #t))
+ (delete 'configure))))
+ (inputs
+ `(("cairo" ,cairo)
+ ("liblo" ,liblo) ; for dssi plugins
+ ("jack" ,jack-1) ; for standalone applications
+ ("mesa" ,mesa)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("dssi" ,dssi)
+ ("lv2" ,lv2)))
+ (home-page "https://github.com/DISTRHO/DPF-Plugins")
+ (synopsis "Audio plugin collection")
+ (description "Collection of audio plugins built with the DISTRHO Plugin
+Framework (DPF) available in LADSPA, DSSI, LV2 and VST2 formats. This
+package includes the following plugins: glBars, Kars, Max-Gen examples
+(MaBitcrush, MaFreeverb, MaGigaverb, MaPitchshift), Mini-Series (3BandEQ,
+3BandSplitter, PingPongPan), ndc-Plugs (Amplitude Imposer, Cycle Shifter,
+Soul Force), MVerb, Nekobi, and ProM.")
+ ;; This package consists of several plugins refactored to use the
+ ;; DISTHRO Plugin Framework (DPF). Different copyrights and licenses
+ ;; apply to different plugins. The root LICENSE file has a table with
+ ;; license information for each plugin and paths to each license
+ (license (list license:isc license:gpl3 license:lgpl3 license:expat license:gpl2))))
+
+(define-public avldrums-lv2
+ (package
+ (name "avldrums-lv2")
+ (version "0.4.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/x42/avldrums.lv2.git")
+ (commit (string-append "v" version))
+ ;; This plugin expects the robtk submodule's source files to be
+ ;; there in order to build.
+ (recursive? #t)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1z70rcq6z3gkb4fm8dm9hs31bslwr97zdh2n012fzki9b9rdj5qv"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; no "check" target
+ #:make-flags
+ (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'set-CC-variable
+ (lambda _
+ (setenv "CC" "gcc") #t))
+ (delete 'configure))))
+ (inputs
+ `(("cairo" ,cairo)
+ ("dssi" ,dssi)
+ ("glu" ,glu)
+ ("mesa" ,mesa)
+ ("pango" ,pango)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("lv2" ,lv2)))
+ (home-page "https://x42-plugins.com/x42/x42-avldrums")
+ (synopsis "Drum sample player LV2 plugin dedicated to the AVLinux Drumkits")
+ (description "AVLdrums is a drum sample player LV2 plugin dedicated to Glen
+MacArthur's AVLdrums. This plugin provides a convenient way to sequence and mix
+MIDI drums and comes as two separate drumkits: Black Pearl and Red Zeppelin.")
+ (license license:gpl2+)))