Am 22.04.2013 07:33, schrieb Florian Paul Schmidt:
>
> Hi,
>
> These last few days I found some time to work on ladspa.m.lv2, an LV2
> plugin to load ladspa.m.proto instrument definition files:
>
> https://github.com/fps/ladspa.m.lv2
>
> It is in a somewhat usable state, i.e. used in ardour3 it loads the
> example instrument generated by this python script:
>
> https://github.com/fps/ladspa.m.proto/blob/master/example_instrument.py
>
> which is a very simple polyphonic sawtooth synth with exponential
> envelopes and an echo with differing delay times per voice. There's
> still some things to do (e.g. expose control ports, implement
> All-Notes-Off midi messages, lots of optimizations - right now I care
> more for correctness than for efficiency, etc.) and I also have some
> questions:
>
>
> 1] This one is regarding waf. I'm not used to writing wscript files
> and I adapted the whole thing from the example sampler from the
> LV2-distribution. I wonder how I can make waf to use e.g. -fPIC and
> other compiler flags needed for my 64-bit system. Right now I have put
> a little makefile into the repository which passes the missing options
> along as CXXFLAGS environment variable. This is a dirty hack. So if
> anyone waf guru might want to take a look, I'd be so ever grateful.
>
> https://github.com/fps/ladspa.m.lv2/blob/master/makefile
>
> https://github.com/fps/ladspa.m.lv2/blob/master/wscript
>
Hi
I'm far from being a waf expert, but I will try to help you out here:
You can use
conf.env['cshlib_LINKFLAGS'].append("-fPIC")
or
conf.env['shlib_LINKFLAGS'].append("-fPIC")
or
conf.env['cxxshlib_LINKFLAGS'].append("-fPIC")
somewhere in the def configure(conf): part to set the link flag
and you can use in the obj = bld
cflags = '-Wall -O3 -march=native',
or
cxxflags = '-Wall -O3 -march=native',
depending on your seated
obj = bld(features = 'c cshlib',
or
obj = bld(features = 'cxx cxxshlib',
greets
hermann
>
> 2] I'm a little bit puzzled by how the patch_set messages together
> with the LV2 worker extension works. If you take a look at this run()
> function
>
> https://github.com/fps/ladspa.m.lv2/blob/master/instrument.cc#L702
>
> you'll see that I have an extra LV2_ATOM_SEQUENCE_FOR_EACH at the
> start of the function to process the patch_set messages. I tried to
> integrate that into the loop later on (that iterates over the
> sample_count frames and lets the midi events take effect at their
> respective frame), but once I do that, patch loading stops to work. I
> must be missing something fundamental. So if any LV2 guru might want
> to take a look, I'd be very grateful, too
>
> Thanks and have fun,
>
> Flo
>
_______________________________________________
Linux-audio-dev mailing list
Linux-audio-dev@email-addr-hidden
http://lists.linuxaudio.org/listinfo/linux-audio-dev
Received on Tue Apr 23 16:15:12 2013
This archive was generated by hypermail 2.1.8 : Tue Apr 23 2013 - 16:15:12 EEST