[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-----


?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 46210@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 46210
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch