Jump to content


Photo
- - - - -

LV2 support


  • Please log in to reply
31 replies to this topic

#26 drobilla

drobilla

    New Member

  • Normal Members
  • Pip
  • 2 posts

Posted 28 January 2014 - 17:25

And not speaking about the bloat: take for example sending midi to plugins. First there were the "event" extension (some plugins use it) but it was limited and got changed to the "midi" extension (other plugs use this), but hey the developers started to think communicating via an abstract "midi" protocol from the host to the plugin was not sufficiently generalized so the "atom" extension was born. All this means in the midi handler code i need to convert the events for the plugins in 3 different ways, thus bloating the code and maintainability by the size of 3.


This is completely wrong. The MIDI extension defines a type for a MIDI event, i.e. "this bunch of bytes is in MIDI format". It dates from the time of the original event extension, was used as the MIDI type then, and is still used for the MIDI type with atoms. It is not the same kind of thing as the event and atom extensions at all. The second paragraph of the documentation (http://lv2plug.in/ns/ext/midi/) that apparently doesn't exist explicitly says this.

That said, there are indeed two extensions for sending events to/from plugins, atom and event. Oops. Yes, this is mildly annoying for hosts to implement. Mildly annoying as in, a competent developer can implement support for both in less than 300 lines of C, like http://svn.drobilla....src/lv2_evbuf.h and http://svn.drobilla....rc/lv2_evbuf.c.

If even that's too much work and you don't want to support the old one... then don't.

Instead of abstracting and keeping things simple


... writing a fully featured portable toolkit for plugin GUIs is, obviously, dramatically more complicated than just letting developers expose whatever types of widget they want. The UI extension is extremely simple. While it would certainly be nice if a more unified solution was there, it's not the place of the LV2 project to be ramming toolkits down people's throats. The suil library makes it easy to embed any of the popular choices in (Gtk or Qt, so far) hosts, so it's not really much of a problem anyway.

If you want some dictatorial company to tell you what you're allowed to do, by all means, stick to VST or whatever. Those of us actually working on pushing the envelope of what is possible with plugins quite like the extensibility, thanks. Nobody says you have to support everything.
  • artfwo likes this

#27 radian

radian

    Chief Above Chief Member

  • Normal Members
  • PipPipPipPipPipPip
  • 334 posts
  • Gender:Male
  • Location:Brighton, UK

Posted 28 January 2014 - 17:48

Then you just use the previous version of that plugin which worked. Again, I don't see the problem.

The DSSI version then? ;)

#28 drobilla

drobilla

    New Member

  • Normal Members
  • Pip
  • 2 posts

Posted 28 January 2014 - 20:00

I see...and there is no guideline, or suggestion of what a modern host is supposed to support?


Yes: don't implement deprecated extensions in new code. The event extension has had big orange all-caps DEPRECATED warnings on it for almost two years now, almost all plugins have moved on, and it will not be long before even hosts that already support both start dropping support for the deprecated event extension and forcing plugins to catch up.

I don't recommend wasting your time on the (unofficial) external UI extension, either. External UIs suck.

Renoise has more than enough clout as a host to put pressure on plugins (most of which have much more agile release cycles) to shape up.

As always, the folks on the lv2-dev mailing list would have been happy to clarify any of this, had anyone bothered to ask.
  • artfwo likes this

#29 vV

vV

    God's or Borg's Chief and Ruler of All Species

  • Moderator
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 16855 posts
  • Gender:Male
  • Location:Netherlands

Posted 28 January 2014 - 21:28

While it would certainly be nice if a more unified solution was there, it's not the place of the LV2 project to be ramming toolkits down people's throats.


Which is the place where any particular "uniform standard" in any type of architecture is actually designed and set (aside from the Linux kernel development) on a more global scale?

If you want some dictatorial company to tell you what you're allowed to do

At least they know how to set a standard and update to new standards that remain backward compatible so we don't remain stuck with ruins of deprecated architectures of which it is also quite usual to abandon them and let them decline before the end of the year.

Avoiding design of global standards (if that is the generic spirit in the open source world) just to rebel against multinational institutes because they are considered the root of all evil seems just foolish to me imho.
The generic idea of ever evolving software technology is nice for a world where you don't need warranties that todays tools will still work the same tomorrow because you also don't have to pay a dime for it. But it has no use to put up such remarks towards developers that deliver their product on a payroll. These are simply just too different worlds apart from each other to assume attitudes by comparison because you still can't compare an open source world with a closed one. Developers bringing a payed product to an open source world by choice i consider a brave but painful endeavor.
People need to eat. One is better in plumbing and another is better in developing software, both deserve the credit for their living.
  • radian likes this
Vv....


cpu Intel Core i7-4820K @3.70GHz
chipset Intel X79 chipset
mem 32 Gb 2400Mhz
os Win 7 64-bit SP1, DirectX 11
audio ESI ESP1010e - > Driver rev:2.0.6.0
video nVidia Geforce GTX780 - > Driver rev:335.23


Renoise Official Manual

#30 kRAkEn/gORe

kRAkEn/gORe

    Renoise Developer

  • Renoise Team
  • PipPipPipPipPipPipPipPipPipPipPipPip
  • 805 posts
  • Gender:Male
  • Location:minefield

Posted 29 January 2014 - 08:52

The suil library makes it easy to embed any of the popular choices in (Gtk or Qt, so far) hosts, so it's not really much of a problem anyway.


a good standard doesn't need to have external helper libraries to ease it's integration: so for me lv2,suil,serd,sord,sard,sick,sratom all togheter form a "standard". without your helper libraries (which are not part of lv2 itself) hosting lv2 plugins is a tedious process.

If you want some dictatorial company to tell you what you're allowed to do, by all means, stick to VST or whatever. Those of us actually working on pushing the envelope of what is possible with plugins quite like the extensibility, thanks. Nobody says you have to support everything.


i don't want dictatorial company nor i want few dictatorial developers to tell me which kind of extensions are "officially" supported or not, and which directions the "standard" will follow. why the external ui cannot be part of the lv2 ? who choose, the community ? interesting discussion following at http://www.drumgizmo...o.log.25Aug2013

Yes: don't implement deprecated extensions in new code. The event extension has had big orange all-caps DEPRECATED warnings on it for almost two years now, almost all plugins have moved on, and it will not be long before even hosts that already support both start dropping support for the deprecated event extension and forcing plugins to catch up.


sure will do. probably a good open standard with directions should at least define deprecation policies and timelines.


I don't recommend wasting your time on the (unofficial) external UI extension, either. External UIs suck.




so you say we should drop support to Calf, linuxDSP, Pianoteq, the DISTRHO ports and Rui Capela's synthesizers. ok, so go on and speak to our customers we *wont* support those plugins. this is were pushing the envelope of what is possible with plugins has arrived, thanks for making it possible...

warning, another interesting interview follows http://libregraphics...pers-standpoint
  • artfwo and zeograd like this
Posted Image

#31 gimmeapill

gimmeapill

    Super Advanced Member

  • Normal Members
  • PipPipPipPip
  • 169 posts
  • Gender:Male

Posted 02 April 2015 - 12:38

Bumping up this thread: one year has passed, a new release of the Calf suite, and Redux is stealing all the thunder.

Any hope to get LV2 in Renoise at some point or will Redux in Ardour/Qtractor/whatever be the way to go?


  • artfwo likes this

#32 Meef Chaloin

Meef Chaloin

    Big Masta Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPip
  • 527 posts
  • Gender:Male

Posted 02 April 2015 - 14:03

Yes, please please please. I really hope it is in the up coming version bump but somehow I doubt it.