LV2 abGate

20 replies [Last post]
eikakot
eikakot's picture
User offline. Last seen 20 weeks 5 days ago. Offline
Joined: 2010-01-29
Posts:

Hi,

I've tried making a LV2 Noise Gate plugin, so if anyone is interested, you can get it from here: http://hippie.lt/lv2/gate/
Peace!

Antanas

lucianodato
User offline. Last seen 1 day 1 hour ago. Offline
Joined: 2011-01-25
Posts:

Hi I get error 1 while compiling

g++ -O3 -shared -fPIC -DPIC gate.cpp `pkg-config --cflags --libs lv2-plugin` -o gate.so
Package lv2-plugin was not found in the pkg-config search path.
Perhaps you should add the directory containing `lv2-plugin.pc'
to the PKG_CONFIG_PATH environment variable
No package 'lv2-plugin' found
gate.cpp:21: fatal error: lv2plugin.hpp: No existe el fichero o el directorio
compilation terminated.
make: *** [gate.so] Error 1

I think I have all the dependencies installed, so is there anything I'm doing wrong?. By the way thanks for the plugin!

eikakot
eikakot's picture
User offline. Last seen 20 weeks 5 days ago. Offline
Joined: 2010-01-29
Posts:

it looks like you dont have lv2-c++-tools

youki
User offline. Last seen 5 weeks 3 days ago. Offline
Joined: 2008-07-03
Posts:

I had the same problem compiling EQ10Q :

http://ardour.org/node/3264?page=2

The solution was to compile lv2-c++-tools, maybe you could try it.

nowhiskey
User offline. Last seen 4 weeks 3 days ago. Offline
Joined: 2006-09-30
Posts:

i do not think so.
i get the same error here but the lv2-c++-tools package is installed.

i get the exactlly same error here:

http://ardour.org/node/3264

but i am able to build several other lv2's like calf, ir etc.

cheers,
doc

lucianodato
User offline. Last seen 1 day 1 hour ago. Offline
Joined: 2011-01-25
Posts:

yes i have that package installed, but no luck. could be some path in the make file?

eikakot
eikakot's picture
User offline. Last seen 20 weeks 5 days ago. Offline
Joined: 2010-01-29
Posts:

What version of lv2-c++-tools do you have?

you can install abGate from AutoStatic's PPA if you are using Ubuntu: https://launchpad.net/~autostatic/+archive/ppa/

peder
User offline. Last seen 49 weeks 5 hours ago. Offline
Joined: 2007-05-08
Posts:

Stupidly enough atleast openSUSE and Ubuntu stuffs the lv2-c++-tools development files in a package called libpaq. So you need to install that to get lv2plugin.hpp and friends.
On openSUSE its called libpaq-devel and on Ubuntu/Debian it's libpaq-dev

youki
User offline. Last seen 5 weeks 3 days ago. Offline
Joined: 2008-07-03
Posts:

After reinstalling lv2-c++-tools and libpaq-dev from the Debian repos i have this :

$ make
g++ -O3 -shared -fPIC -DPIC gate.cpp `pkg-config --cflags --libs lv2-plugin` -o gate.so
Package lv2-plugin was not found in the pkg-config search path.
Perhaps you should add the directory containing `lv2-plugin.pc'
to the PKG_CONFIG_PATH environment variable
No package 'lv2-plugin' found
gate.cpp:21:25: error: lv2plugin.hpp: Aucun fichier ou dossier de ce type
gate.cpp:31: error: ‘LV2’ is not a namespace-name
gate.cpp:31: error: expected namespace-name before ‘;’ token
gate.cpp:33: error: expected template-name before ‘<’ token
gate.cpp:33: error: expected ‘{’ before ‘<’ token
gate.cpp:33: error: expected unqualified-id before ‘<’ token
make: *** [gate.so] Erreur 1

But the compilation works with lv2-c++-tools built from sources. The same for EQ10Q.

My 2 cents.

peder
User offline. Last seen 49 weeks 5 hours ago. Offline
Joined: 2007-05-08
Posts:

What does 'dpkg -L libpaq-dev | grep lv2-plugin.pc' say then?

If it's installed to, say, /usr/lib64/pkgconfig you might have to run 'export PKG_CONFIG_PATH=/usr/lib64/pkgconfig' prior to ./configure.
If so, that's a bug in pkg-config.

Edit: And you may have to do a 'make clean ; ./configure' if you haven't done that first.

lucianodato
User offline. Last seen 1 day 1 hour ago. Offline
Joined: 2011-01-25
Posts:

Ok thank you all, I will try that.

youki
User offline. Last seen 5 weeks 3 days ago. Offline
Joined: 2008-07-03
Posts:

dpkg -L libpaq-dev | grep lv2-plugin.pc doesn't give anything, dpkg -L libpaq-dev gives :

$ dpkg -L libpaq-dev
/.
/usr
/usr/share
/usr/share/doc
/usr/share/doc/libpaq-dev
/usr/share/doc/libpaq-dev/copyright
/usr/share/doc/libpaq-dev/changelog.Debian.gz
/usr/share/doc/libpaq-dev/changelog.gz
/usr/include
/usr/include/lv2-c++-tools
/usr/include/lv2-c++-tools/lv2_ui.h
/usr/include/lv2-c++-tools/lv2_osc.h
/usr/include/lv2-c++-tools/lv2synth.hpp
/usr/include/lv2-c++-tools/rdf.hpp
/usr/include/lv2-c++-tools/turtleparser.hpp
/usr/include/lv2-c++-tools/lv2types.hpp
/usr/include/lv2-c++-tools/namespaces.hpp
/usr/include/lv2-c++-tools/lv2_uri_map.h
/usr/include/lv2-c++-tools/lv2_ui_presets.h
/usr/include/lv2-c++-tools/lv2_saverestore.h
/usr/include/lv2-c++-tools/lv2_event_helpers.h
/usr/include/lv2-c++-tools/lv2_event.h
/usr/include/lv2-c++-tools/unicode.hpp
/usr/include/lv2-c++-tools/lv2_contexts.h
/usr/include/lv2-c++-tools/lv2gui.hpp
/usr/include/lv2-c++-tools/query.hpp
/usr/include/lv2-c++-tools/lv2plugin.hpp
/usr/include/lv2-c++-tools/lv2.h
/usr/lib
/usr/lib/pkgconfig
/usr/lib/pkgconfig/paq.pc
/usr/lib/libpaq.so

According to the readme, make and make install are enough. The proof? I compiles it without any problem with make, checkinstall make install, BUT with the lv2-c++-tools package built from the sources.
No need to do make clean and ./configure before.

peder
User offline. Last seen 49 weeks 5 hours ago. Offline
Joined: 2007-05-08
Posts:

OK, so Debians libpaq-dev is broken OR they have yet another package where they've hidden lv2-plugin.pc (and lv2-gui.pc).

This is libpaq-devel from my openSUSE-11.3 :

/usr/include/lv2-c++-tools
/usr/include/lv2-c++-tools/lv2.h
/usr/include/lv2-c++-tools/lv2_contexts.h
/usr/include/lv2-c++-tools/lv2_event.h
/usr/include/lv2-c++-tools/lv2_event_helpers.h
/usr/include/lv2-c++-tools/lv2_osc.h
/usr/include/lv2-c++-tools/lv2_saverestore.h
/usr/include/lv2-c++-tools/lv2_ui.h
/usr/include/lv2-c++-tools/lv2_ui_presets.h
/usr/include/lv2-c++-tools/lv2_uri_map.h
/usr/include/lv2-c++-tools/lv2gui.hpp
/usr/include/lv2-c++-tools/lv2plugin.hpp
/usr/include/lv2-c++-tools/lv2synth.hpp
/usr/include/lv2-c++-tools/lv2types.hpp
/usr/include/lv2-c++-tools/namespaces.hpp
/usr/include/lv2-c++-tools/query.hpp
/usr/include/lv2-c++-tools/rdf.hpp
/usr/include/lv2-c++-tools/turtleparser.hpp
/usr/include/lv2-c++-tools/unicode.hpp
/usr/lib/liblv2-gui.a
/usr/lib/liblv2-plugin.a
/usr/lib/libpaq.a
/usr/lib/libpaq.so
/usr/lib/pkgconfig/lv2-gui.pc
/usr/lib/pkgconfig/lv2-plugin.pc
/usr/lib/pkgconfig/paq.pc

lucianodato
User offline. Last seen 1 day 1 hour ago. Offline
Joined: 2011-01-25
Posts:

Up and running, but I downloaded from Autostatic ppa, It seems to be a pkg-config bug, but I'm not completely sure

eikakot
eikakot's picture
User offline. Last seen 20 weeks 5 days ago. Offline
Joined: 2010-01-29
Posts:

I updated the plugin so it doesn't need lv2-c++-tools anymore

DonF
DonF's picture
User offline. Last seen 2 weeks 4 days ago. Offline
Joined: 2006-09-12
Posts:

UI does not display here. I see this error message in Ardour's output:

Unable to open UI library /usr/lib/lv2/abGate.lv2/gate_gui.so (libpng12.so.0: cannot open shared object file: No such file or directory)

I have libpng14.so.

Would it be possible for you to link gate_gui.so against libpng.so, rather than a specific version of libpng?

Thanks,
Don

gastric_bass
User offline. Last seen 2 weeks 6 days ago. Offline
Joined: 2007-11-16
Posts:

Maybe I am not seeing the obvious thing - but I can't find the source code. It seems I have got the same problem like DonF. The GUI never shows up - so I'd try to build it myself.

nowhiskey
User offline. Last seen 4 weeks 3 days ago. Offline
Joined: 2006-09-30
Posts:

hallo,
here both a2 and a3 are crashing when i try to open the plugins gui:

http://tracker.ardour.org/view.php?id=3745

i buid the plugin from source.

cheers,
doc

olinuxx
User offline. Last seen 3 years 11 weeks ago. Offline
Joined: 2011-01-30
Posts:

Hi,
For this error :
Perhaps you should add the directory containing `lv2-plugin.pc'
to the PKG_CONFIG_PATH environment variable
No package 'lv2-plugin' found

you have to change/patch the makefile like this :

- g++ -O3 -shared -fPIC -DPIC gate.cpp `pkg-config --cflags --libs lv2-plugin` -o gate.so
+ g++ -O3 -shared -fPIC -DPIC gate.cpp `pkg-config --cflags --libs paq` -o gate.so

the debian packaging provide only paq.pc and not lv2-plugin.pc or lv2-gui.pc (look them if you want, they are pretty the same)

Bye,
Olivier

peder
User offline. Last seen 49 weeks 5 hours ago. Offline
Joined: 2007-05-08
Posts:

Well, they're pretty much the same in the way Tolstoys War And Peace and the latest Harry Potter novel are; a shiny front cover and inside lots of pages with letters split up in sentences, paraghaphs and chapters. And yet for some strange reason kids tend to prefer the latter...

One has to wonder if the Debian maintainer really had so few bytes left on his harddrive or were so close to his bandwidth limit that he felt it was worth it to remove the 363 bytes worth of .pc-files. Or did he just run a diff on them and conclude that "Nahh, they're pretty much the same anyways. I'm hungry; what's for dinner?"

eikakot
eikakot's picture
User offline. Last seen 20 weeks 5 days ago. Offline
Joined: 2010-01-29
Posts:

I have uploaded the source code v1.1.1 and now its on sourceforge