User interaction and operation

During operation, each lv2 plugin instance is wrapped with Pipewire client and connected with Pipewire daemon. Pipewire is a low-latency multimedia handling framework in Linux that is aimed to replace JACK and pulse-audio for audio routing.

The user controls the software with web-ui (for now) over websockets and controls

  • Routing(a.k.a Linking)
  • Addition/Deletion
  • Update parameters

In operation, the graph might look something like this

Note that,

  • “pw client + fx ‘x’” Implies lv2 effect wrapped inside pipewire-client
  • Each effect need not be strictly connected to the previous effect as shown in the diagram, since I follow a graph based routing, node linking is up-to the user’s configuration