From: Ricardo Wurmus <rekado@elephly.net>
To: "Jakub Kądziołka" <kuba@kadziolka.net>
Cc: Alexandros Theodotou <alex@zrythm.org>, 39784@debbugs.gnu.org
Subject: [bug#39784] [PATCH] Add zlfo.
Date: Thu, 27 Feb 2020 09:11:04 +0100 [thread overview]
Message-ID: <87pne0ih5z.fsf@elephly.net> (raw)
In-Reply-To: <20200226220320.qfog7rmaqsglx2dg@gravity>
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
next prev parent reply other threads:[~2020-02-27 8:12 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
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 [this message]
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87pne0ih5z.fsf@elephly.net \
--to=rekado@elephly.net \
--cc=39784@debbugs.gnu.org \
--cc=alex@zrythm.org \
--cc=kuba@kadziolka.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).