Replies: 6 comments
-
for web plugins you probably want to investigate LV2, which is easily extensible and already supported by cardinal. also supports CV. related to this https://forum.mod.audio/t/distrho-cardinal-mini/9262/ |
Beta Was this translation helpful? Give feedback.
-
Thanks for your prompt feedback! However, I was not asking if the WASM build of Cardinal could support any plugin formats. The idea of an LV2 plugin for WASM Cardinal will not work for me, not only because Csound for WASM doesn't support LV2, but also because I do need the Web user interface. I was asking if, in the JavaScript context of a Web page holding Cardinal, a JavaScript API is available for communicating with Cardinal. For audio, I need to be able to connect the Cardinal WebAudio output to my existing WebAudio graph, and inputs would be nice also. For control, I need to be able to send CVs and gates to identified endpoints in Cardinal, and receiving them would be nice also. And, I need to be able to load presets either from data on the Web page, or from files in the JavaScript context's memory filesystem provided by Emscripten. |
Beta Was this translation helpful? Give feedback.
-
all of that can be done over LV2, that defines the spec for calling functions and dealing with UI. that is why I mention it. the alternative is to create a custom new API to load, set parameter values, send audio etc etc. it is basically mimic'ing a new plugin API. |
Beta Was this translation helpful? Give feedback.
-
Thanks for clarifying that. It sounds like what I need to do is not yet
possible in pure HTML5/WebAssembly. I'll poke around a bit more though.
Thanks,
Mike
…-----------------------------------------------------
Michael Gogins
Irreducible Productions
http://michaelgogins.tumblr.com
Michael dot Gogins at gmail dot com
On Fri, Jan 19, 2024 at 11:59 AM Filipe Coelho ***@***.***> wrote:
all of that can be done over LV2, that defines the spec for calling
functions and dealing with UI. that is why I mention it.
the alternative is to create a custom new API to load, set parameter
values, send audio etc etc. it is basically mimic'ing a new plugin API.
—
Reply to this email directly, view it on GitHub
<#607 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABQIGJI56HSDSGIPMK4YFZ3YPKQ6VAVCNFSM6AAAAABCBGEUF6VHI2DSMVQWIX3LMV43SRDJONRXK43TNFXW4Q3PNVWWK3TUHM4DCOBTHA3DS>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
what you ask is possible if you care to use an existing plugin API. it is what they are made for. for an example I have https://ildaeil.kx.studio/ running as plugin host to load plugins built in wasm, can be basic internal plugins, LV2 or JSFX (from reaper) audio input and midi works too, though it needs a permission request through the browser before being able to activate them, thus the buttons on top for them. LV2 is just a way to do it, CLAP or VST2 would work just as fine. VST3 a bit more complex due to its API being C++. |
Beta Was this translation helpful? Give feedback.
-
I will study your example, thanks.
Regards
Mike
…On Fri, Jan 19, 2024, 18:34 Filipe Coelho ***@***.***> wrote:
what you ask is possible if you care to use an existing plugin API. it is
what they are made for.
for an example I have https://ildaeil.kx.studio/ running as plugin host
to load plugins built in wasm, can be basic internal plugins, LV2 or JSFX
(from reaper)
it can also load audio files from the file system, loaded through the
internal audio file plugin (just disable "host sync" afterwards)
audio input and midi works too, though it needs a permission request
through the browser before being able to activate them, thus the buttons on
top for them.
LV2 is just a way to do it, CLAP or VST2 would work just as fine. VST3 a
bit more complex due to its API being C++.
—
Reply to this email directly, view it on GitHub
<#607 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABQIGJO3I3JHYZGYUH3CH2LYPL7HRAVCNFSM6AAAAABCBGEUF6VHI2DSMVQWIX3LMV43SRDJONRXK43TNFXW4Q3PNVWWK3TUHM4DCOBWHAZDI>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
I am the author of cloud-5 and cloud-music. Cloud-5 is a Web-based based environment for computer music composition and performance, and cloud-music is a showcase for my pieces made using cloud-5. cloud-5 embeds a WebAssembly build of Csound with a JavaScript API, a WebAssembly build of my algorithmic composition library CsoundAC, and the Web-based live coding system Strudel. A good example is Cloud Music No. 9.
Currently I am using Cardinal as a VST3 plugin loaded by Csound for non-Web based pieces, and this works very well. However, that doesn't work on the Web. So, I would like to embed the WebAssembly release of Cardinal in cloud-5 as well. For this to work, Cardinal's inputs and outputs have to interface not only with WebMidi and WebAudio, but ideally, it should be possible to send and receive control voltages and gates using JavaScript functions.
Is this possible?
If so, how to do it?
If not, are there any plans for this?
Beta Was this translation helpful? Give feedback.
All reactions