Skip to content

Add Plug-in Support: Proposal for CLAP Support #3405

Open
@pljones

Description

@pljones

What is the current behaviour and why should it be changed?

Currently there is no ability for the Jamulus user to add audio processing, other than the built-in Reverb in the client and Jam Recorder in the server. There are several other proposals to extend audio processing, including additional effects and Jam Streaming.

So there is a choice of whether each of these feature should be added and maintained inside Jamulus, duplicating functionality available elsewhere or whether to adopt a means of adding these features to Jamulus on a plug-in basis.

Describe possible approaches

A number of plug-in APIs are available. However, many are either platform-specific or have restrictive licences.

The proposal here is to adopt CLAP both on the Client and the Server so that features can be added:

  • In the Client
    • To audio input prior to sending to the server
    • To audio received from the server before output
  • In the Server
    • To receive a pre-mixer stream from each connected client during a session (opening the server's configured max clients stereo pairs)
    • To receive a post-mixer single stereo pair (potentially increasing the number of stereo pairs by one)

https://cleveraudio.org/developers-getting-started/
https://github.com/free-audio/clap-host?tab=readme-ov-file#minimal-clap-host

Has this feature been discussed and generally agreed?

See https://github.com/orgs/jamulussoftware/discussions/3382#discussioncomment-10743921

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    Status

    Triage

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions