jamulussoftware / jamulussoftware/jamulus

Add Plug-in Support: Proposal for CLAP Support

Offen
#3,405 3 Kommentare 3 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

feature request
Vorherrschende Sprache
C
Sterne
1.1k
Forks
248
Ø Merge
2 T. 3 Std.
Gemergte PRs (30 T.)
9

Beschreibung

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

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Es werden keine Quelldateien oder Tests genannt. Beginne mit der Durchsicht der verlinkten CLAP-Dokumentation zu getting-started und minimal-host und lies anschließend die verlinkte Diskussion, um die vorherige Vereinbarung zu verstehen. Als erledigt gilt die Aufgabe, wenn vor Beginn der Implementierung ein abgestimmter Umfang der Implementierung für die Plug-in-Verarbeitung auf Client- und Serverseite festgelegt wurde.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
c
Bereich
audio-video-rtc
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.