New LV2 mini host

Hermann Meyer <brummer--S0/[email protected]> Sat, 7 Mar 2026 18:14:14 +0100
Newsgroups gmane.linux.audio.devel,gmane.linux.audio.users
Message-ID <[email protected]>
This is a multi-part message in MIME format.
--------------t3gq01yajPem9zBrg06SDfkt
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: quoted-printable

Hi

I wrote a new LV2 mini host,

*Why?*

The LV2 ecosystem has many excellent hosts =E2=80=94 from full DAWs to mod=
ular=20
environments.
However, in most of them the LV2 hosting logic is deeply embedded inside=
=20
large and complex code-bases.

Luma keeps the core hosting logic simple and visible, making it easy to=20
read and understand how LV2 hosting actually works, strongly separated=20
from any widget toolkit or audio/midi engine in use.

*What it supports*

  * Multi-instance LV2 plugin hosting
  * LV2 plugins with X11 / GTK2 UIs
  * Preset load and save
  * LV2 state store and restore
  * Shared worker thread
  * Shared UI thread
  * Terminal NO-GUI mode
  * Debug build with DummyEngine

*Typical uses*

  * learning how LV2 hosting works
  * debugging LV2 plugins
  * testing LV2 extensions
  * running plugins headless
  * building your own experimental LV2 hosts

here you go: https://github.com/brummer10/Luma

regards

hermann


--------------t3gq01yajPem9zBrg06SDfkt
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html>
<html>
  <head>

    <meta http-equiv=3D"content-type" content=3D"text/html; charset=3DUTF-=
8">
  </head>
  <body>
    <p>Hi</p>
    <p>I wrote a new LV2 mini host, <br>
    </p>
    <p><b>Why?</b></p>
    <p>The LV2 ecosystem has many excellent hosts =E2=80=94 from full DAWs=
 to
      modular environments.<br>
      However, in most of them the LV2 hosting logic is deeply embedded
      inside large and complex code-bases.</p>
    <p>
      Luma keeps the core hosting logic simple and visible, making it
      easy to read and understand how LV2 hosting actually works,
      strongly separated from any widget toolkit or audio/midi engine in
      use.<br>
    </p>
    <p dir=3D"auto"><strong>What it supports</strong></p>
    <ul dir=3D"auto">
      <li>Multi-instance LV2 plugin hosting</li>
      <li>LV2 plugins with X11 / GTK2 UIs</li>
      <li>Preset load and save</li>
      <li>LV2 state store and restore</li>
      <li>Shared worker thread</li>
      <li>Shared UI thread</li>
      <li>Terminal NO-GUI mode</li>
      <li>Debug build with DummyEngine</li>
    </ul>
    <p dir=3D"auto"><strong>Typical uses</strong></p>
    <ul dir=3D"auto">
      <li>learning how LV2 hosting works</li>
      <li>debugging LV2 plugins</li>
      <li>testing LV2 extensions</li>
      <li>running plugins headless</li>
      <li>building your own experimental LV2 hosts</li>
    </ul>
    <p>here you go:=C2=A0 <a class=3D"moz-txt-link-freetext" href=3D"https=
://github.com/brummer10/Luma">https://github.com/brummer10/Luma</a></p>
    <p>regards</p>
    <p>hermann</p>
    <p><br>
    </p>
    <p></p>
  </body>
</html>

--------------t3gq01yajPem9zBrg06SDfkt--