[PATCH] Add drumgizmo

  • Open
  • quality assurance status badge
Details
2 participants
  • Nicolò Balzarotti
  • Maxime Devos
Owner
unassigned
Submitted by
Nicolò Balzarotti
Severity
normal
N
N
Nicolò Balzarotti wrote on 31 Jan 2021 14:15
(address . guix-patches@gnu.org)
877dntfdsk.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me
Hi guix!

For folks into music production, this patch set adds drumgizmo, an high
quality MIDI drum. It comes with a standalone application and an LV2
plugin (VST should also be there, but I could not build it). I tested
both the cli and the lv2 plugin (inside carla) and they work fine.

Along with it, I added dgedit, a drumkit kit editor.

I also added three drumkits. Those are big (2 to 5Gb), and the build is
just extract+copy, so I don't know if I should add #:substitutable? #f.
There's no standard path for those, so I'm placing them under
share/drumkits/DRUMKIT_NAME.

guix lint does not complain and they all build fine

Thanks!
From b8ee651d49184a6f06581feb04fa44dd6a3c68cc Mon Sep 17 00:00:00 2001
From: nixo <nicolo@nixo.xyz>
Date: Sun, 31 Jan 2021 01:20:07 +0100
Subject: [PATCH 1/6] gnu: Add dgedit.

* gnu/packages/audio.scm (dgedit): New variable.
---
gnu/packages/audio.scm | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)

Toggle diff (50 lines)
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 2e46dc3a26..e6ad7d8428 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -34,6 +34,7 @@
;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org>
;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
+;;; Copyright © 2021 Nicolò Balzarotti <nicolo@nixo.xyz>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -4887,6 +4888,35 @@ edited, converted, compressed and saved.")
,@(package-inputs ztoolkit)))
(synopsis "ZToolkit with SVG support")))
+(define-public dgedit
+ (package
+ (name "dgedit")
+ (version "0.10.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "https://drumgizmo.org/releases/dgedit-" version
+ "/dgedit-" version ".tar.gz"))
+ (sha256
+ (base32 "1r43maac0ymc6zp9n6zi5hnh78658y2x34w8cvjzgvqjb86mhvw4"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ;; requires lrelease from qtlinguist
+ ("qttools" ,qttools)))
+ (inputs
+ `(("ao" ,ao)
+ ("libsndfile" ,libsndfile)
+ ("qtbase" ,qtbase)))
+ (home-page "https://drumgizmo.org/wiki/doku.php?id=getting_dgedit")
+ (synopsis "DrumGizmo drumkit editor")
+ (description "DGEdit lets you edit DrumGizmo drumkit files. It allows
+importing, editing and exporting the raw drumkit recordings.")
+ ;; The file copying says GPLv3, but all files under src have a GPLv2+
+ ;; header.
+ (license license:gpl2+)))
+
(define-public lsp-dsp-lib
(package
(name "lsp-dsp-lib")
--
2.30.0
From 3563b19cca63a38806b07b6efcfd81b25260b725 Mon Sep 17 00:00:00 2001
From: nixo <nicolo@nixo.xyz>
Date: Sun, 31 Jan 2021 01:54:09 +0100
Subject: [PATCH 2/6] gnu: Add drumgizmo.

* gnu/packages/audio.scm (drumgizmo): New variable.
---
gnu/packages/audio.scm | 45 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 45 insertions(+)

Toggle diff (58 lines)
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index e6ad7d8428..812297a369 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -4917,6 +4917,51 @@ importing, editing and exporting the raw drumkit recordings.")
;; header.
(license license:gpl2+)))
+(define-public drumgizmo
+ (package
+ (name "drumgizmo")
+ (version "0.9.19")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://drumgizmo.org/releases/drumgizmo-" version
+ "/drumgizmo-" version ".tar.gz"))
+ (sha256
+ (base32 "18x28vhif0c97xz02k22xwqxxig6fi6j0356mlz2vf7vb25z69kl"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:configure-flags
+ (list
+ "--enable-gui=x11"
+ ;; Requires VST SDK
+ ;; "--enable-vst"
+ "--enable-cli"
+ "--enable-lv2")))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("gettext" ,gettext-minimal)))
+ (inputs
+ `(("libsndfile" ,libsndfile)
+ ("alsa-lib" ,alsa-lib)
+ ("glib" ,glib)
+ ("jack" ,jack-1)
+ ("libsmf" ,libsmf)
+ ("libx11" ,libx11)
+ ("libxext" ,libxext)
+ ("lv2" ,lv2)))
+ (native-search-paths
+ (list (search-path-specification
+ (variable "LV2_PATH")
+ (files '("lib/lv2")))))
+ (home-page "https://drumgizmo.org/wiki/doku.php?id=about")
+ (synopsis "Multichannel MIDI drum LV2 plugin and standalone application")
+ (description "DrumGizmo is a multichannel, multilayered drum LV2 and VST
+plugin and stand-alone application. It enables you to compose drums in MIDI
+and mix them with a multichannel approach. It is comparable to that of mixing
+a real drumkit that has been recorded with a multimic setup.")
+ (license license:lgpl3+)))
+
(define-public lsp-dsp-lib
(package
(name "lsp-dsp-lib")
--
2.30.0
From 04f6d7c02385553719174298ec6180fa600295f6 Mon Sep 17 00:00:00 2001
From: nixo <nicolo@nixo.xyz>
Date: Sun, 31 Jan 2021 11:23:37 +0100
Subject: [PATCH 3/6] gnu: Add drumgizmo-crocellkit.

* gnu/packages/audio.scm (drumgizmo-crocellkit): New variable.
---
gnu/packages/audio.scm | 38 ++++++++++++++++++++++++++++++++++++++
1 file changed, 38 insertions(+)

Toggle diff (51 lines)
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 812297a369..e6f7e6a79b 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -4962,6 +4962,44 @@ and mix them with a multichannel approach. It is comparable to that of mixing
a real drumkit that has been recorded with a multimic setup.")
(license license:lgpl3+)))
+(define-public drumgizmo-crocellkit
+ (package
+ (name "drumgizmo-crocellkit")
+ (version "1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "https://drumgizmo.org/kits/CrocellKit/CrocellKit"
+ (string-replace-substring version "." "_") ".zip"))
+ (sha256
+ (base32 "1inmc60sxnkkxjlrnlaggiyvn1gqs963xkxvcpadjzw6wliiy79l"))))
+ (build-system copy-build-system)
+ (arguments
+ `(#:install-plan
+ '(("." "share/drumkits/CrocellKit/"))))
+ (native-inputs
+ `(("unzip" ,unzip)))
+ (home-page "https://drumgizmo.org/wiki/doku.php?id=kits:crocellkit")
+ (synopsis "Rock and Metal drumkit for drumgizmo")
+ (description "The CrocellKit is the kit used by Danish metal band Crocell.
+
+It's a metal or rock kit, consisting of the following drums and cymbals:
+
+@enumerate
+@item 1 kickdrum (with double pedal)
+@item 2 hanging toms
+@item 2 floor toms
+@item 1 snare
+@item 1 hihat
+@item 3 crash cymbals
+@item 1 ride cymbals
+@item 2 china cymbal
+@item 2 splash cymbals
+@end enumerate")
+ (license license:cc-by4.0)))
+
(define-public lsp-dsp-lib
(package
(name "lsp-dsp-lib")
--
2.30.0
From f7fad501b59a32849b81e9d824deff01ecc2b025 Mon Sep 17 00:00:00 2001
From: nixo <nicolo@nixo.xyz>
Date: Sun, 31 Jan 2021 11:27:54 +0100
Subject: [PATCH 4/6] gnu: Add drumgizmo-dsrkit.

* gnu/packages/audio.scm (drumgizmo-dsrkit): New variable.
---
gnu/packages/audio.scm | 40 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)

Toggle diff (53 lines)
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index e6f7e6a79b..43b57ba811 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -5000,6 +5000,46 @@ It's a metal or rock kit, consisting of the following drums and cymbals:
@end enumerate")
(license license:cc-by4.0)))
+(define-public drumgizmo-dsrkit
+ (package
+ (name "drumgizmo-dsrkit")
+ (version "2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "https://drumgizmo.org/kits/DRSKit/DRSKit"
+ (string-replace-substring version "." "_") ".zip"))
+ (sha256
+ (base32 "147hcxk8dqq53rlglj4p35qwv4gm4pqiicnas1kk2n9nv352v7sj"))))
+ (build-system copy-build-system)
+ (arguments
+ `(#:install-plan
+ '(("." "share/drumkits/DSRKit/"))))
+ (native-inputs
+ `(("unzip" ,unzip)))
+ (home-page "https://drumgizmo.org/wiki/doku.php?id=kits:drskit")
+ (synopsis "Jazz and Rock drumkit for drumgizmo")
+ (description "DRSKit came to be as a collaboration between the DrumGizmo
+team and Jes Eiler of DRSDrums.
+
+The kit should be usable for everything from jazz to rock, and contains the
+following components (Left / right placements as seen by the drummer):
+
+@enumerate
+@item 1 kickdrum
+@item 1 hanging tom
+@item 2 floor toms
+@item 1 snare
+@item 1 hihat: Paiste Formula 602 Medium hi-hat
+@item 2 crash cymbals
+Left: Paiste Giant Beat
+Right: Paiste Formula 602 (Lend to us by Erik)
+@item 1 ride cymbal: Paiste Formula 602 thin crash
+@end enumerate")
+ (license license:cc-by4.0)))
+
(define-public lsp-dsp-lib
(package
(name "lsp-dsp-lib")
--
2.30.0
From 3d0d9fa0844eaf16590c748930300a4b4a32c585 Mon Sep 17 00:00:00 2001
From: nixo <nicolo@nixo.xyz>
Date: Sun, 31 Jan 2021 11:28:09 +0100
Subject: [PATCH 5/6] gnu: Add drumgizmo-muldjordkit.

* gnu/packages/audio.scm (drumgizmo-muldjordkit): New variable.
---
gnu/packages/audio.scm | 38 ++++++++++++++++++++++++++++++++++++++
1 file changed, 38 insertions(+)

Toggle diff (51 lines)
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 43b57ba811..95fa59ae29 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -5040,6 +5040,44 @@ Right: Paiste Formula 602 (Lend to us by Erik)
@end enumerate")
(license license:cc-by4.0)))
+(define-public drumgizmo-muldjordkit
+ (package
+ (name "drumgizmo-muldjordkit")
+ (version "3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "https://drumgizmo.org/kits/MuldjordKit/MuldjordKit" version ".zip"))
+ (sha256
+ (base32 "15jca4289mkyvkmwrc4xjzp6sir7b8l7vdxbqlbyx19ij48gk56v"))))
+ (build-system copy-build-system)
+ (arguments
+ `(#:install-plan
+ '(("." "share/drumkits/MuldjordKit/"))))
+ (native-inputs
+ `(("unzip" ,unzip)))
+ (home-page "https://drumgizmo.org/wiki/doku.php?id=kits:muldjordkit")
+ (synopsis "Metal and Rock drumkit for drumgizmo")
+ (description "The MuldjordKit is a Tama Superstar drumkit with all the
+bells and whistles. It's the drumkit used by Lars Muldjord to record
+Sepulchrum debut album. This should be considered a metal or rock kit.
+
+The kit consist of the following drums and cymbals:
+
+@enumerate
+@item 2 kickdrums
+@item 3 hanging toms
+@item 1 floor tom
+@item 1 snare
+@item 1 hihat
+@item 2 crash cymbals
+@item 2 ride cymbals
+@item 1 china cymbal
+@end enumerate")
+ (license license:cc-by4.0)))
+
(define-public lsp-dsp-lib
(package
(name "lsp-dsp-lib")
--
2.30.0
From 9a607ff9694987aef1bd48cd4aa90631aca736e0 Mon Sep 17 00:00:00 2001
From: nixo <nicolo@nixo.xyz>
Date: Sun, 31 Jan 2021 11:39:41 +0100
Subject: [PATCH 6/6] gnu: Add drumgizmo-aasimonster.

* gnu/packages/audio.scm (drumgizmo-aasimonster): New variable.
---
gnu/packages/audio.scm | 38 ++++++++++++++++++++++++++++++++++++++
1 file changed, 38 insertions(+)

Toggle diff (51 lines)
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 95fa59ae29..c2d7572883 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -4962,6 +4962,44 @@ and mix them with a multichannel approach. It is comparable to that of mixing
a real drumkit that has been recorded with a multimic setup.")
(license license:lgpl3+)))
+(define-public drumgizmo-aasimonster
+ (package
+ (name "drumgizmo-aasimonster")
+ (version "2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "https://drumgizmo.org/kits/Aasimonster/aasimonster"
+ (string-replace-substring version "." "_") ".zip"))
+ (sha256
+ (base32 "1pq7a9r2vsqpanpwyhljj3jf2dfg8m96npkk9y52qq73v8vn7sz0"))))
+ (build-system copy-build-system)
+ (arguments
+ `(#:install-plan
+ '(("." "share/drumkits/Aasimonster/"))))
+ (native-inputs
+ `(("unzip" ,unzip)))
+ (home-page "https://drumgizmo.org/wiki/doku.php?id=kits:the_aasimonster")
+ (synopsis "Large Deathmetal drumkit for drumgizmo")
+ (description "The Aasimonster is a large deathmetal drumkit used to track
+the “Rise of the Rotten” record by the Danish deathmetal band DIE.
+
+It contains the following components:
+
+@enumerate
+@item 2 kickdrums
+@item 3 hanging toms
+@item 1 floor tom
+@item 2 16“ crash cymbals
+@item 1 18” china cymbal
+@item 2 small china cymbals (Stagg 8“ and 10”)
+@item 1 Zilbel
+@item 1 Ride cymbal
+@end enumerate")
+ (license license:cc-by4.0)))
+
(define-public drumgizmo-crocellkit
(package
(name "drumgizmo-crocellkit")
--
2.30.0
M
M
Maxime Devos wrote on 23 Apr 2022 14:45
Re: bug#55069: Add some means to find LV2 plugins
12b95f88fd08ad5d5ca4ab8ce07eac9a8015501e.camel@telenet.be
Toggle quote (2 lines)
> [PATCH] gnu: mda-lv2: Remove unnecessary search-path-specification.

Isn't it currently necessary? Because lv2 doesn't have a LV2_PATH
search path yet.

Nathan Dehnel schreef op vr 22-04-2022 om 17:13 [-0500]:
Toggle quote (4 lines)
> It seems DAWs and plugins can't find each other because there is no
> way to find the plugins outside of the store because there is no
> directory where the plugins are aggregated, and $LV2_PATH isn't set.

I think this would be resolved by adding the search path to the 'lv2'
package (and removing it from lv2-mda-piano, mda-lv2 and calf).

Toggle quote (5 lines)
> [PATCH] gnu: Add invada-studio-plugins-lv2.
> [PATCH] gnu: Add distrho-ports-lv2.
> [PATCH] gnu: Add omins-lv2.
> [PATCH] Add drumgizmo

The convention is to add the search paths to the users of the plugins,
not the plugins theirselves. Cf. GUILE_LOAD_PATH, LIBRARY_PATH,
MINETEST_MOD_PATH, EMACSLOADPATH, INFOPATH ... See

The benefit is that this avoids forgetting LV2_PATH for some plugins,
as it only needs to be added to relatively few places (lv2 itself,
maybe guitarix, maybe ir, arour ...).

Greetings,
Maxime
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYmP1AhccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7h+eAP49mWmaho4w9vOh+7fFYDXFvQD1
KG3WRZSoOgbk/eEjFQD/Z2mBpR/uc2eFo+5y/S+/+wh/TVNHXtWJffrmesex7AQ=
=rtun
-----END PGP SIGNATURE-----


?