* [bug#39784] [PATCH] Add zlfo.
@ 2020-02-25 15:06 Alexandros Theodotou
2020-02-26 22:03 ` Jakub Kądziołka
2020-02-26 22:08 ` Jakub Kądziołka
0 siblings, 2 replies; 6+ messages in thread
From: Alexandros Theodotou @ 2020-02-25 15:06 UTC (permalink / raw)
To: 39784
[-- Attachment #1.1: Type: text/plain, Size: 317 bytes --]
Hi,
This is a new LV2 plugin. It uses Ztoolkit for its UI so I packaged
that separately.
I made a separate package for ztoolkit-rsvg because adding librsvg
brings in the whole glib stack, while ztoolkit by itself is very
minimal. Feel free to let me know if you have any other suggestions.
Thanks,
Alex
[-- Attachment #1.2: 0002-gnu-Add-zlfo.patch --]
[-- Type: text/x-patch, Size: 1604 bytes --]
From 0ba05eed84867e0e7bd17fbbf8916c53f6cf7abd Mon Sep 17 00:00:00 2001
From: Alexandros Theodotou <alex@zrythm.org>
Date: Tue, 25 Feb 2020 15:03:08 +0000
Subject: [PATCH 2/2] gnu: Add zlfo.
* gnu/packages/music.scm (zlfo): New variable.
---
gnu/packages/music.scm | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 16e69840df..8d07a23127 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -5189,3 +5189,30 @@ featureful and easy to use. It offers unlimited automation options, LV2
plugin support, JACK support and chord assistance.")
(home-page "https://www.zrythm.org")
(license license:agpl3+)))
+
+(define-public zlfo
+ (package
+ (name "zlfo")
+ (version "0.1.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.zrythm.org/git/ZLFO")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0bm466ci5xyvxvq7l9p6xyh789lvk6i31b4zja1igqh13akbjnjz"))))
+ (build-system meson-build-system)
+ (inputs
+ `(("ztoolkit-rsvg" ,ztoolkit-rsvg)))
+ (native-inputs
+ `(("git" ,git)
+ ("lv2" ,lv2)
+ ("pkg-config" ,pkg-config)))
+ (synopsis "LFO plugin")
+ (description "ZLFO is a fully featured LFO for CV-based automation
+that comes as a cross-platform LV2 plugin bundle with a custom UI.")
+ (home-page "https://git.zrythm.org/cgit/ZLFO/")
+ (license license:agpl3+)))
--
2.25.1
[-- Attachment #1.3: 0001-gnu-Add-ztoolkit.patch --]
[-- Type: text/x-patch, Size: 2204 bytes --]
From c8b1c930846eb6cc0f8b2aed47e430e62466577a Mon Sep 17 00:00:00 2001
From: Alexandros Theodotou <alex@zrythm.org>
Date: Tue, 25 Feb 2020 15:00:50 +0000
Subject: [PATCH 1/2] gnu: Add ztoolkit.
* gnu/packages/audio.scm (ztoolkit): New variable.
---
gnu/packages/audio.scm | 43 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 43 insertions(+)
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 5b8c610882..dece9c03fe 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -4036,3 +4036,46 @@ libsamplerate for reading and resampling audio files, based on Robin Gareus'
@code{audio_decoder} code.")
(home-page "https://git.zrythm.org/cgit/libaudec")
(license license:agpl3+)))
+
+(define-public ztoolkit
+ (package
+ (name "ztoolkit")
+ (version "0.1.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.zrythm.org/git/ztoolkit")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "07xl3cmdaf7k9mm58m93cn8i1jvgimmiifdw1w7v2jl88nx60pm1"))))
+ (build-system meson-build-system)
+ (propagated-inputs
+ `(("cairo" ,cairo)
+ ("libx11" ,libx11)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("git" ,git)))
+ (synopsis "GUI toolkit for LV2 plugins")
+ (description "ZToolkit (Ztk) is a cross-platform GUI toolkit heavily
+inspired by GTK. It handles events and low level drawing on behalf of
+the user and provides a high-level API for managing the UI and custom
+widgets. ZToolkit is written in C and was created to be used for building
+audio plugin UIs, where the dependencies often need to be kept to a
+minimum.")
+ (home-page "https://git.zrythm.org/cgit/ztoolkit/")
+ (license license:agpl3+)))
+
+(define-public ztoolkit-rsvg
+ (package
+ (inherit ztoolkit)
+ (name "ztoolkit-rsvg")
+ (arguments
+ `(#:configure-flags `("-Denable_rsvg=true")))
+ (propagated-inputs
+ `(("cairo" ,cairo)
+ ("librsvg" ,librsvg)
+ ("libx11" ,libx11)))
+ (synopsis "ZToolkit with SVG support")))
--
2.25.1
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [bug#39784] [PATCH] Add zlfo.
2020-02-25 15:06 [bug#39784] [PATCH] Add zlfo Alexandros Theodotou
@ 2020-02-26 22:03 ` Jakub Kądziołka
2020-02-27 8:11 ` Ricardo Wurmus
2020-02-26 22:08 ` Jakub Kądziołka
1 sibling, 1 reply; 6+ messages in thread
From: Jakub Kądziołka @ 2020-02-26 22:03 UTC (permalink / raw)
To: Alexandros Theodotou; +Cc: 39784
[-- Attachment #1: Type: text/plain, Size: 3470 bytes --]
On Tue, Feb 25, 2020 at 03:06:38PM +0000, Alexandros Theodotou wrote:
> Hi,
>
> This is a new LV2 plugin. It uses Ztoolkit for its UI so I packaged
> that separately.
Hi,
could you send your patches inline, instead of as an attachment? It
makes reviews easier. The workflow on your side is easier too, since you
only need to `git send-email` (available as git:send-email in guix).
It's fine if you prefer not to do this, though.
> * gnu/packages/audio.scm (ztoolkit): New variable.
> ---
> gnu/packages/audio.scm | 43 ++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 43 insertions(+)
I'm not sure if audio.scm is the best place for a GUI toolkit. It might
be fine since audio plugins are the primary usecase, but I'm not sure.
> +(define-public ztoolkit
> + (package
> + (name "ztoolkit")
> + (version "0.1.1")
> + (source
> + (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://git.zrythm.org/git/ztoolkit")
> + (commit (string-append "v" version))))
> + (file-name (git-file-name name version))
> + (sha256
> + (base32
> + "07xl3cmdaf7k9mm58m93cn8i1jvgimmiifdw1w7v2jl88nx60pm1"))))
Please run etc/indent-code.el on your packages.
> + (build-system meson-build-system)
> + (propagated-inputs
> + `(("cairo" ,cairo)
> + ("libx11" ,libx11)))
Why are these propagated-inputs? I would've thought that these
dependencies get linked into the binary, so they don't need to propagate
to the user's profile.
> + (native-inputs
> + `(("pkg-config" ,pkg-config)
> + ("git" ,git)))
Why the dependency on git? The package seems to build fine without it.
> + (synopsis "GUI toolkit for LV2 plugins")
> + (description "ZToolkit (Ztk) is a cross-platform GUI toolkit heavily
> +inspired by GTK. It handles events and low level drawing on behalf of
> +the user and provides a high-level API for managing the UI and custom
> +widgets. ZToolkit is written in C and was created to be used for building
> +audio plugin UIs, where the dependencies often need to be kept to a
> +minimum.")
> + (home-page "https://git.zrythm.org/cgit/ztoolkit/")
> + (license license:agpl3+)))
> +(define-public zlfo
> + (package
> + (name "zlfo")
> + (version "0.1.3")
> + (source
> + (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://git.zrythm.org/git/ZLFO")
> + (commit (string-append "v" version))))
> + (file-name (git-file-name name version))
> + (sha256
> + (base32
> + "0bm466ci5xyvxvq7l9p6xyh789lvk6i31b4zja1igqh13akbjnjz"))))
> + (build-system meson-build-system)
> + (inputs
> + `(("ztoolkit-rsvg" ,ztoolkit-rsvg)))
> + (native-inputs
> + `(("git" ,git)
Same question as above.
> + ("lv2" ,lv2)
> + ("pkg-config" ,pkg-config)))
> + (synopsis "LFO plugin")
That's quite blunt, and impenetrable for non-domain-experts. Is there
really nothing more you could say about the package? Perhaps expand the
acronym?
> + (description "ZLFO is a fully featured LFO for CV-based automation
> +that comes as a cross-platform LV2 plugin bundle with a custom UI.")
Consider using Texinfo's @acronym.
> + (home-page "https://git.zrythm.org/cgit/ZLFO/")
> + (license license:agpl3+)))
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* [bug#39784] [PATCH] Add zlfo.
2020-02-26 22:03 ` Jakub Kądziołka
@ 2020-02-27 8:11 ` Ricardo Wurmus
2020-03-21 18:50 ` Alexandros Theodotou
0 siblings, 1 reply; 6+ messages in thread
From: Ricardo Wurmus @ 2020-02-27 8:11 UTC (permalink / raw)
To: Jakub Kądziołka; +Cc: Alexandros Theodotou, 39784
Jakub Kądziołka <kuba@kadziolka.net> writes:
> On Tue, Feb 25, 2020 at 03:06:38PM +0000, Alexandros Theodotou wrote:
>> Hi,
>>
>> This is a new LV2 plugin. It uses Ztoolkit for its UI so I packaged
>> that separately.
>
> Hi,
>
> could you send your patches inline, instead of as an attachment? It
> makes reviews easier. The workflow on your side is easier too, since you
> only need to `git send-email` (available as git:send-email in guix).
> It's fine if you prefer not to do this, though.
>
>> * gnu/packages/audio.scm (ztoolkit): New variable.
>> ---
>> gnu/packages/audio.scm | 43 ++++++++++++++++++++++++++++++++++++++++++
>> 1 file changed, 43 insertions(+)
> I'm not sure if audio.scm is the best place for a GUI toolkit. It might
> be fine since audio plugins are the primary usecase, but I'm not sure.
>
>> +(define-public ztoolkit
>> + (package
>> + (name "ztoolkit")
>> + (version "0.1.1")
>> + (source
>> + (origin
>> + (method git-fetch)
>> + (uri (git-reference
>> + (url "https://git.zrythm.org/git/ztoolkit")
>> + (commit (string-append "v" version))))
>> + (file-name (git-file-name name version))
>> + (sha256
>> + (base32
>> + "07xl3cmdaf7k9mm58m93cn8i1jvgimmiifdw1w7v2jl88nx60pm1"))))
> Please run etc/indent-code.el on your packages.
>
>> + (build-system meson-build-system)
>> + (propagated-inputs
>> + `(("cairo" ,cairo)
>> + ("libx11" ,libx11)))
> Why are these propagated-inputs? I would've thought that these
> dependencies get linked into the binary, so they don't need to propagate
> to the user's profile.
>
>> + (native-inputs
>> + `(("pkg-config" ,pkg-config)
>> + ("git" ,git)))
> Why the dependency on git? The package seems to build fine without it.
>
>> + (synopsis "GUI toolkit for LV2 plugins")
>> + (description "ZToolkit (Ztk) is a cross-platform GUI toolkit heavily
>> +inspired by GTK. It handles events and low level drawing on behalf of
>> +the user and provides a high-level API for managing the UI and custom
>> +widgets. ZToolkit is written in C and was created to be used for building
>> +audio plugin UIs, where the dependencies often need to be kept to a
>> +minimum.")
>> + (home-page "https://git.zrythm.org/cgit/ztoolkit/")
>> + (license license:agpl3+)))
>
>> +(define-public zlfo
>> + (package
>> + (name "zlfo")
>> + (version "0.1.3")
>> + (source
>> + (origin
>> + (method git-fetch)
>> + (uri (git-reference
>> + (url "https://git.zrythm.org/git/ZLFO")
>> + (commit (string-append "v" version))))
>> + (file-name (git-file-name name version))
>> + (sha256
>> + (base32
>> + "0bm466ci5xyvxvq7l9p6xyh789lvk6i31b4zja1igqh13akbjnjz"))))
>> + (build-system meson-build-system)
>> + (inputs
>> + `(("ztoolkit-rsvg" ,ztoolkit-rsvg)))
>> + (native-inputs
>> + `(("git" ,git)
> Same question as above.
>
>> + ("lv2" ,lv2)
>> + ("pkg-config" ,pkg-config)))
>> + (synopsis "LFO plugin")
> That's quite blunt, and impenetrable for non-domain-experts. Is there
> really nothing more you could say about the package? Perhaps expand the
> acronym?
>
>> + (description "ZLFO is a fully featured LFO for CV-based automation
>> +that comes as a cross-platform LV2 plugin bundle with a custom UI.")
CV is “control voltage” and LFO is “low frequency oscillator”. While CV
is sometimes expanded, LFO rarely is, but it wouldn’t hurt to use
“@dfn{low frequency oscillator} (LFO)” here.
What it means is that the plugin outputs a slow waveform (much slower
than audio waveform signals) that can be used to modulate other
parameters in a synthesizer / LV2 plugin network automatically, much
like control voltages are used in (hardware) modular synthesizers to
control parameters of other modules. A common use case is to modulate
the pitch of an audio oscillator with an LFO so as to produce vibrato
(i.e. the pitch rises and falls periodically, a couple of times per
second, centered around a certain pitch).
I would remove the “cross-platform” because as far as Guix is concerned
packages are available for all platforms that Guix supports.
--
Ricardo
^ permalink raw reply [flat|nested] 6+ messages in thread
* [bug#39784] [PATCH] Add zlfo.
2020-02-27 8:11 ` Ricardo Wurmus
@ 2020-03-21 18:50 ` Alexandros Theodotou
2020-03-23 14:45 ` Jakub Kądziołka
0 siblings, 1 reply; 6+ messages in thread
From: Alexandros Theodotou @ 2020-03-21 18:50 UTC (permalink / raw)
To: 39784; +Cc: Ricardo Wurmus, Jakub K
[-- Attachment #1.1: Type: text/plain, Size: 96 bytes --]
Hi,
Thanks for the feedback.
Just updated the patches (see attachment).
Thanks,
Alex
[-- Attachment #1.2: 0003-gnu-Add-zlfo.patch --]
[-- Type: text/x-patch, Size: 1678 bytes --]
From fc6c3eccadb6cccab9a8e2f0e3f6a74f02f56e6f Mon Sep 17 00:00:00 2001
From: Alexandros Theodotou <alex@zrythm.org>
Date: Sat, 21 Mar 2020 18:49:06 +0000
Subject: [PATCH 3/3] gnu: Add zlfo.
* gnu/packages/music.scm (zlfo): New variable.
---
gnu/packages/music.scm | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 468be9937f..aba6dda87e 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -5213,3 +5213,31 @@ featureful and easy to use. It offers unlimited automation options, LV2
plugin support, JACK support and chord assistance.")
(home-page "https://www.zrythm.org")
(license license:agpl3+)))
+
+(define-public zlfo
+ (package
+ (name "zlfo")
+ (version "0.1.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.zrythm.org/git/ZLFO")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0bm466ci5xyvxvq7l9p6xyh789lvk6i31b4zja1igqh13akbjnjz"))))
+ (build-system meson-build-system)
+ (inputs
+ `(("librsvg" ,librsvg)
+ ("lv2" ,lv2)
+ ("ztoolkit-rsvg" ,ztoolkit-rsvg)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (synopsis "Low frequency oscillator plugin")
+ (description "ZLFO is a fully featured
+@dfn{low frequency oscillator} (LFO) for @dfn{control voltage} (CV)-based
+automation that comes as an LV2 plugin bundle with a custom UI.")
+ (home-page "https://git.zrythm.org/cgit/ZLFO/")
+ (license license:agpl3+)))
--
2.25.1
[-- Attachment #1.3: 0002-gnu-Add-ztoolkit-rsvg.patch --]
[-- Type: text/x-patch, Size: 1002 bytes --]
From fbaa53144f4ec96bb725d03aa305e039116e8ca1 Mon Sep 17 00:00:00 2001
From: Alexandros Theodotou <alex@zrythm.org>
Date: Sat, 21 Mar 2020 18:45:51 +0000
Subject: [PATCH 2/3] gnu: Add ztoolkit-rsvg.
* gnu/packages/audio.scm (ztoolkit-rsvg): New variable.
---
gnu/packages/audio.scm | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index fe951b5153..cb9d830a41 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -4111,3 +4111,15 @@ audio plugin UIs, where the dependencies often need to be kept to a
minimum.")
(home-page "https://git.zrythm.org/cgit/ztoolkit/")
(license license:agpl3+)))
+
+(define-public ztoolkit-rsvg
+ (package
+ (inherit ztoolkit)
+ (name "ztoolkit-rsvg")
+ (arguments
+ `(#:configure-flags `("-Denable_rsvg=true")))
+ (inputs
+ `(("cairo" ,cairo)
+ ("librsvg" ,librsvg)
+ ("libx11" ,libx11)))
+ (synopsis "ZToolkit with SVG support")))
--
2.25.1
[-- Attachment #1.4: 0001-gnu-Add-ztoolkit.patch --]
[-- Type: text/x-patch, Size: 1860 bytes --]
From f9398e031b8f88fb0cd7be7f9aa63cfd3bc1e825 Mon Sep 17 00:00:00 2001
From: Alexandros Theodotou <alex@zrythm.org>
Date: Sat, 21 Mar 2020 18:44:13 +0000
Subject: [PATCH 1/3] gnu: Add ztoolkit.
* gnu/packages/audio.scm (ztoolkit): New variable.
---
gnu/packages/audio.scm | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index f3edd21c69..fe951b5153 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -4081,3 +4081,33 @@ given plugin and its UI(s) match up with the provided metadata and adhere
to well-known best practices.")
(home-page "https://open-music-kontrollers.ch/lv2/lv2lint/")
(license license:artistic2.0)))
+
+(define-public ztoolkit
+ (package
+ (name "ztoolkit")
+ (version "0.1.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.zrythm.org/git/ztoolkit")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "07xl3cmdaf7k9mm58m93cn8i1jvgimmiifdw1w7v2jl88nx60pm1"))))
+ (build-system meson-build-system)
+ (inputs
+ `(("cairo" ,cairo)
+ ("libx11" ,libx11)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (synopsis "GUI toolkit for LV2 plugins")
+ (description "ZToolkit (Ztk) is a cross-platform GUI toolkit heavily
+inspired by GTK. It handles events and low level drawing on behalf of
+the user and provides a high-level API for managing the UI and custom
+widgets. ZToolkit is written in C and was created to be used for building
+audio plugin UIs, where the dependencies often need to be kept to a
+minimum.")
+ (home-page "https://git.zrythm.org/cgit/ztoolkit/")
+ (license license:agpl3+)))
--
2.25.1
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [bug#39784] [PATCH] Add zlfo.
2020-03-21 18:50 ` Alexandros Theodotou
@ 2020-03-23 14:45 ` Jakub Kądziołka
0 siblings, 0 replies; 6+ messages in thread
From: Jakub Kądziołka @ 2020-03-23 14:45 UTC (permalink / raw)
To: Alexandros Theodotou; +Cc: Ricardo Wurmus, 39784
[-- Attachment #1: Type: text/plain, Size: 646 bytes --]
Thanks for your updated patches! You still haven't ran indent-code.el on
them, but I fixed that on my side. I also took the liberty to define the
inputs of ztoolkit-rsvg in terms of the ztoolkit package, like this:
@@ -4119,7 +4119,6 @@ minimum.")
(arguments
`(#:configure-flags `("-Denable_rsvg=true")))
(inputs
- `(("cairo" ,cairo)
- ("librsvg" ,librsvg)
- ("libx11" ,libx11)))
+ `(("librsvg" ,librsvg)
+ ,@(package-inputs ztoolkit)))
(synopsis "ZToolkit with SVG support")))
Your patches have been applied on master, with the last commit being
d3e7282ec35d87842e8143f0230e27fd5ec5e74d
Cheers!
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* [bug#39784] [PATCH] Add zlfo.
2020-02-25 15:06 [bug#39784] [PATCH] Add zlfo Alexandros Theodotou
2020-02-26 22:03 ` Jakub Kądziołka
@ 2020-02-26 22:08 ` Jakub Kądziołka
1 sibling, 0 replies; 6+ messages in thread
From: Jakub Kądziołka @ 2020-02-26 22:08 UTC (permalink / raw)
To: Alexandros Theodotou; +Cc: 39784
[-- Attachment #1: Type: text/plain, Size: 227 bytes --]
One more thing: zlfo has a reference to lv2 (see guix size). This
usually means that either it shouldn't be a native input, or the build
process stores the path in the output unnecessarily, increasing the
package closure size.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2020-03-23 14:46 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-02-25 15:06 [bug#39784] [PATCH] Add zlfo Alexandros Theodotou
2020-02-26 22:03 ` Jakub Kądziołka
2020-02-27 8:11 ` Ricardo Wurmus
2020-03-21 18:50 ` Alexandros Theodotou
2020-03-23 14:45 ` Jakub Kądziołka
2020-02-26 22:08 ` Jakub Kądziołka
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).