>> Hello, >> >> I have been coding the porting of the AMS internal modules to LV2 >> plugins using the Lv2-C++-Tools. >> >> The more I'm progressing, the more I am wondering if there are any >> limitations involved in using this library, especially these days >> where a lot of new features are being added to the Lv2 Extensions. > > Maybe this isn't really a technical argument, but I really don't like > these libraries as they are because the pkg-config names are really > generic and impossible to find, and make them seem like some kind of > official "LV2 plugin library" or something. > > They really need a proper, somewhat unique, name. > >> For example, I am coding a plugin that output the position of the >> mouse cursor as two control ports (handy to develop a kind of theremin >> synth). >> Getting the cursor position from the X Library is an expensive >> operation, and the new Worker Extension seems perfect for the job, but >> I can't figure out if somehow it is compatible or not with the >> Lv2-C++-Tools. > > Whoah now! The worker extension is a plugin-side thing, not UI, and > there is an EXTREMELY small chance that you actually want to be doing > multi-threaded things in your UI code. Trust me.
Although it involves the mouse, what I'm trying to achieve is not exactly UI related. The plugin I have has two output called X and Y. When the mouse is at the bottom left corner of the screen, X and Y are equal to 0. When it's at the top right corner, X and Y are equal to 1. The design I had in mind was to have a thread on the side that would query the mouse position every 25ms, especially to avoid having it in the method processing the sound itself (this create a lot of XRuns when I do that). (when it's used with a touchpad, it can be used a lot like the Korg Kaossilator, by controlling the cutoff point of a filter for example) @Fons: I phrased it wrong the first time :) by expensive, I meant that my poor design was creating a lot of xruns :) >> The most obvious pros of using Lv2-C++-Tools is its simplicity. >> Porting an AMS module takes only 20 to 30 minutes with it, while doing >> it without the help of the library takes much more time and is way >> more tedious. >> (I am much more confortable coding in C++ than C, but the question >> deserves to be asked, am I doing something wrong here that I find it >> way more difficult to code without the help of Lv2-C++-Tools?) > > Personally I think a good C++ wrapper header(s) would be a good thing to > have, but I don't really get the point of the rest of it. > > Also not sure the kinda crazy template hackery is worth it... The lv2peg tool makes the development a lot faster. >From my own experience, there is duplication of work by setting up the input/output/controls in the ttl files, then having to set them up again in the code of the plugin itself. lv2peg creates the headers automatically. But that's my 2 cents! (I became a software developer because I'm extremely lazy, and I like computers to do the monkey work for me!) > Cheers, > > -dr > Aurélien _______________________________________________ Linux-audio-dev mailing list [email protected] http://lists.linuxaudio.org/listinfo/linux-audio-dev
