unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
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

  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).