Code Monkey home page Code Monkey logo

Comments (3)

ferdnyc avatar ferdnyc commented on July 23, 2024

I think it's fair to say that LV2 is the "primary" audio plugin format on the Linux platform.

True, though that's more by default than anything else. It's not hard to be the best in that field, the "competition" is scoring Own Goals.

Enabling the processing of audio tracks by LV2 plugins from within OpenShot would allow for a great variety of creative opportunities.

In an ideal world it'd be lovely, sure, but in this world there are a few issues I'm afraid:

  1. libopenshot-audio is cross-platform, LV2 is not. We'd have a rough time justifying LV2 plugin support on Linux without also including VST and AudioUnit support for those platforms, which then becomes triple the maintenance burden.
  2. JUCE has no LV2 support, and no plans to add it. There is a fork started back in 2011 that adds LV2, but that's not kept up with the original project. (We're currently using JUCE 5.4.3, the fork is still at version 5.1.2.)
  3. Like VST and AudioUnit plugins, LV2 plugins include a GUI. The primary consumer for libopenshot-audio is OpenShot, a Python application with a Qt interface written in PyQt5, interfacing with libopenshot using SWIG-generated Python bindings, and interfacing with libopenshot-audio not at all (directly). I'm not sure how an external plugin GUI even gets integrated into that stack, honestly. At the very least it would probably require incorporating a lot of the JUCE GUI modules, all of which we actually stripped out last update to streamline the code.
  4. In its current form OpenShot's realtime (preview) playback performance is already so poor, under pretty much any conditions (including ideal ones), I can't imagine the additional latency and resource consumption caused by integrating plugin-based audio processing would result in anything that even qualifies as usable.

from libopenshot-audio.

mxmilkiib avatar mxmilkiib commented on July 23, 2024
  1. I wasn't saying LV2 was Linux specific, more implying that LV2 is 'the' libre plugin format. There are Windows builds of various LV2 plugins available, collections from DISTRHO, Zam, x42 and Harrison, and with Carla, Ardour and Audacity, and Windows hosts. I've not checked regarding Mac yet, though Carla and Ardour work on that.
  2. Yeah, that's a sticky issue :/ Aside; I just saw this thread on LM. But maybe there is a way to host LV2 plugins using other methods.
  3. The format allows metadata on port properties for hosts to generate their own UI for settings. Carla does this for both rack and dialog window (excuse the font bug) formats. Mixxx also now allows LV2 plugins parameters to be exposed in the UI as dials (no screenshot atm).
  4. Hardware will catch up (or is currently expensive). Also, maybe offline processing of longer segments, with snippet previews when choosing the plugin to insert?

from libopenshot-audio.

stale avatar stale commented on July 23, 2024

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

from libopenshot-audio.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.