Hello,

After some further thought and discussion, I have arrived at the following:

Project name: qtcleveraudioplugin
Description: "Qt Integration with the CLever Audio Plugin standard"
Namespace: QtClap
Responsible persons: Dennis Oberst

I will not import existing history.

If there are any opinions or questions, please speak up.

best,

Dennis

________________________
Dennis Oberst
Software Engineer

The Qt Company GmbH
Erich-Thilo-Str. 10
12489 Berlin, Germany
dennis.obe...@qt.io
https://www.qt.io

Geschäftsführer: Mika Pälsi,
Juha Varelius, Jouni Lintunen
Sitz der Gesellschaft: Berlin,
Registergericht: Amtsgericht
Charlottenburg, HRB 144331 B

________________________________
From: Development <development-boun...@qt-project.org> on behalf of Dennis 
Oberst via Development <development@qt-project.org>
Sent: Tuesday, March 19, 2024 12:12 PM
To: Jean-Michaël Celerier <jeanmichael.celer...@gmail.com>; Volker Hilsheimer 
<volker.hilshei...@qt.io>
Cc: development@qt-project.org <development@qt-project.org>
Subject: Re: [Development] Playground Request: ClapInterface

Hey,

Indeed, there is some ambiguity involved with "CLAP". There is also the Rust 
crate "clap", which is a CLI parsing tool (https://github.com/clap-rs/clap). 
However, I would expect that any interested soul would read the README or docs 
where we would resolve the whole ambiguity. Also the word wouldn't be there on 
it's own as it would be a part of the namespace that we apply to the contained 
classes, e.g.: QClapNote, QClapParameter.

I agree with you, Volker, that 'Interface' is not accurate. What would be more 
fitting is the name 'Client,' since it's the client-side implementation of the 
gRPC API provided by clap-rci. Note that 'rci' stands for 'Remote Control 
Interface'. I'm not a fan of spelling it out since it will become too lengthy 
in code: QCleverAudioPluginClient or QCleverAudioPluginInterface. What about:

    Project name: qtclapclient
    Description: "Qt Integration with the CLever Audio Plugin standard"
    Namespace: QClap

In its current (naive) form, it consists of:

- ClapControls: specialized and new controls (Dials, NoteKeys) that are 
typically required for building audio plugins.
- ClapInterface: communication with the server-side through QtGrpc.

So we would have the QClapControls (or perhaps later QClapQuick) and 
QClapClient.

As pointed out by Jean-Michaël:

> (It's) a recurrent topic in audio conferences and circles.

It's establishing itself in the audio-industry and is currently a hot topic 
running under the name 'clap'. Any deviation would generate confusion. We could 
think about a more general name like "qtaudioplugin", since CLAP also provides 
wrappers to many other audio plugin formats (VST3, AU ...) but I'm not sure I 
like that. Given that it's part of a prefix here it appears to be fine for me.

Best,

Dennis

________________________
Dennis Oberst
Software Engineer

The Qt Company GmbH
Erich-Thilo-Str. 10
12489 Berlin, Germany
dennis.obe...@qt.io
https://www.qt.io

Geschäftsführer: Mika Pälsi,
Juha Varelius, Jouni Lintunen
Sitz der Gesellschaft: Berlin,
Registergericht: Amtsgericht
Charlottenburg, HRB 144331 B

________________________________
From: Jean-Michaël Celerier <jeanmichael.celer...@gmail.com>
Sent: Monday, March 18, 2024 9:44 PM
To: Volker Hilsheimer <volker.hilshei...@qt.io>
Cc: Dennis Oberst <dennis.obe...@qt.io>; development@qt-project.org 
<development@qt-project.org>
Subject: Re: [Development] Playground Request: ClapInterface

You don't often get email from jeanmichael.celer...@gmail.com. Learn why this 
is important<https://aka.ms/LearnAboutSenderIdentification>
As someone involved in the audio ecosystem, the Clap plug-in API is quickly 
becoming an industry standard,
is now supported by multiple digital audio workstation software (Reaper, 
Bitwig, qtractor) and a recurrent topic in audio conferences and circles.
It has its own wikipedia page: 
https://en.wikipedia.org/wiki/CLever_Audio_Plug-in

- 12 pages of products using CLAP on KVR: 
https://www.kvraudio.com/plugins/the-newest-plugins/clap-plugins
- https://github.com/free-audio/clap
- https://u-he.com/community/clap/
- https://lwn.net/Articles/893048/
- https://www.sweetwater.com/insync/clap-the-new-clever-audio-plug-in-format/
- https://www.martinic.com/en/blog/clap-audio-plugin-format
- https://bedroomproducersblog.com/2022/08/29/clap-plugin-format/


Never heard of the other one.

On Mon, Mar 18, 2024 at 12:11 PM Volker Hilsheimer via Development 
<development@qt-project.org<mailto:development@qt-project.org>> wrote:
> On 18 Mar 2024, at 12:27, Dennis Oberst via Development 
> <development@qt-project.org<mailto:development@qt-project.org>> wrote:
>
> Hello all,
>
> I'd like to request a new playground repository to continue the development 
> of the "Clap Interface," a client-side library that uses QtGrpc to provide 
> integration with the CLAP audio plugin standard, ultimately allowing to build 
> audio plugins with Qt user interfaces.
>
> Description: Qt interface for the CLAP audio-plugin standard
> Project name: qtclapinterface
>
> The Clap Interface emerged from the research concluded in my thesis, which 
> you can find and read here. As its counterpart, there is the 'clap-rci' 
> library, which provides the server-side integration. I won't go into too much 
> detail, but it works through headless audio processing and remote GUIs to 
> achieve integration with Qt. You can find it here.
>
> Given the time constraint of 6 months for writing 2 libraries and a thesis, 
> they have some rough edges. Nevertheless, they proved my point: Qt 
> integration with audio plugins is possible! I'm currently in the process of 
> rewriting those libraries in my free time, but I would still like to have 
> this version openly available.
>
> Suggestions/Opinions/Ideas, I take them all.
>
> best,
>
> Dennis

Hey Dennis,

Nice, seems like a cool use case of gRPC for building out-of-process plugins!

My knee-jerk reaction is that it might be a good idea to spell this out as 
QCleverAudioInterface, because

https://github.com/LAION-AI/CLAP

which, while also “something audio”, is completely not related, so perhaps 
better to be verbose.

And I’m not entirely sure that “Interface” is the right word... since it seems 
to be more an integration or bridge, perhaps?

Volker

--
Development mailing list
Development@qt-project.org<mailto:Development@qt-project.org>
https://lists.qt-project.org/listinfo/development
-- 
Development mailing list
Development@qt-project.org
https://lists.qt-project.org/listinfo/development

Reply via email to