Skip to content

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

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    • Status
      Triage

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions