LV2 components I'd like to see

A 50Hz & as a truck to our friends across the sea who are slightly out of tune, a 60Hz

Notch filter.

1 Like

Cool, an AC/DC converter in plugin format.

1 Like

Watch me squirm….

First make attempt failed with couldn’t find

wyleu@raspberrypi:~/Code/lv2/DPF/SimpleGainPlugin $ make
mkdir: cannot create directory ‘/build’: Permission denied
make: [../../DPF/Makefile.plugins.mk:487: /build/SimpleGain/DistrhoPluginMain_LV2.cpp.o] Error 1 (ignored)
Compiling DistrhoPluginMain.cpp (LV2)
Assembler messages:
Fatal error: can’t create /build/SimpleGain/DistrhoPluginMain_LV2.cpp.o: No such file or directory
make: *** [../../DPF/Makefile.plugins.mk:489: /build/SimpleGain/DistrhoPluginMain_LV2.cpp.o] Error 2

And sudo doesn’t help….

wyleu@raspberrypi:~/Code/lv2/DPF/SimpleGainPlugin $ sudo make

Compiling DistrhoPluginMain.cpp (LV2)
Creating LV2 plugin for SimpleGain
/usr/bin/ld: /build/SimpleGain/DistrhoPluginMain_LV2.cpp.o: in function DISTRHO::PluginExporter::PluginExporter(void*, bool (*)(void*, DISTRHO::MidiEvent const&), bool (*)(void*, unsigned int, float), bool (*)(void*, char const*, char const*))': DistrhoPluginMain.cpp:(.text._ZN7DISTRHO14PluginExporterC2EPvPFbS1_RKNS_9MidiEventEEPFbS1_jfEPFbS1_PKcSA_E[_ZN7DISTRHO14PluginExporterC5EPvPFbS1_RKNS_9MidiEventEEPFbS1_jfEPFbS1_PKcSA_E]+0x20): undefined reference to DISTRHO::createPlugin()’
collect2: error: ld returned 1 exit status
make: *** [../../DPF/Makefile.plugins.mk:564: /bin/SimpleGain.lv2/SimpleGain.so] Error 1

I’ve no clue, but the makefile seems to expect itself 2 levels below the makefile.plugins.mk file on top level (hence the ../../). DPF example plugins seem to be under DPF/examples/[ExamplePlugin]?

In othee words, your makefile might want to explicitly

include ../../Makefile.plugins.mk

Yeah I played around with that a bit. This is my C experience all over . . .
Moan, moan, whinge, whinge, Chiz Chiz. . .

Maybe try to move your SimpleGainPlugin folder to another subfolder of any name and “make” it from down there. Just guessing.

Moved it around a fair bit, got other messages when it was on the same level as the DPF directory.

This is as far as I’ve got it.

wyleu@raspberrypi:~/Code/lv2 $ mkdir /build/SimpleGain
mkdir: cannot create directory ‘/build/SimpleGain’: No such file or directory
wyleu@raspberrypi:~/Code/lv2 $ mkdir /build
mkdir: cannot create directory ‘/build’: Permission denied
wyleu@raspberrypi:~/Code/lv2 $ pwd
/home/wyleu/Code/lv2
wyleu@raspberrypi:~/Code/lv2 $

Presumably it shouldn’t be trying to build the build directory directly off the root. It should be within the current directory range.

what does ls -l say? Some mod with chmod 777?

wyleu@raspberrypi:~/Code/lv2 $ tree -dL 2
.
└── DPF
├── cmake
├── dgl
├── distrho
├── examples
├── lac
├── SimpleGainPlugin
├── tests
└── utils

10 directories
wyleu@raspberrypi:~/Code/lv2 $ cd DPF/SimpleGainPlugin/
wyleu@raspberrypi:~/Code/lv2/DPF/SimpleGainPlugin $ ls -las
total 20
4 drwxr-xr-x 2 wyleu wyleu 4096 Aug 13 14:57 .
4 drwxr-xr-x 12 wyleu wyleu 4096 Aug 13 13:26 ..
4 -rw-r–r-- 1 wyleu wyleu 564 Aug 13 13:29 DistrhoPluginInfo.h
4 -rw-r–r-- 1 wyleu wyleu 1859 Aug 13 13:29 DistrhoPluginMain.cpp
4 -rw-r–r-- 1 wyleu wyleu 163 Aug 13 14:57 makefile
wyleu@raspberrypi:~/Code/lv2/DPF/SimpleGainPlugin $

My basic understanding is, that the owner of the files (wyleu) has no execution rights. Don’t know if that is the problem. Chmod could help?

Otherwise this tutorial here suggests to have your plugins in a parallel folder to DPF:

I’ll play again later.

somebody did this…

1 Like

I would really encourage that, maybe I’ll read into that matter later a bit.

I have tried these kinds of things in the past.

If you figure out things and get that GainPlugin working, I’d try to make an automatic downleveler plugin (For to loud patches, just like: if signal exceeds RMS/Peak threshold, smoothly level down volume to match threshold).

Oh I’ll get to it, I tend to circle round four or five projects at the same time, doing a little on each.

For instance I’ve just spent the morning performing one ot the most tedious and damaging jobs one can attempt in our world.

TAKING A 40 PIN EDGE CONNECTOR OFF A PI AUDIO INJECTOR ZERO CARD ….

Sorry, I’ll settle down soon. It’s an emotional experience, and I don’t know if the card has survived it.

Was this an unsoldering job or a jigsaw job?

Unsoldering. Had to destroy the edge connector first leaving the pins, which I unsoldered one by one with the board solidly mounted on a crocodile clip stand clamped to the desk, then a session of unsoldering tool with all the associated cursing and swearing that is mandatory for such tasks . . .

The board, is at present, whimpering under the main monitor being gently talked down by two 2.5mm strereo jack plugs that lived a similar experience some time ago….

Or it’s dead.

I’ll try to get into that. Just cloned my old repo to my zynthians home and added the DPF submodule, set up VSCode for ssh and this alone took ages.

Can you please tell me where you got your SimpleGain plugin example from?

By the way, I hope you recovered from your emotional experience.

EDIT:

I put together a simple gain plugin from a tutorial, but I also struggle with the makefile structure. From CLI it seems to compile fine.

(venv) root@hannes-zynthian:/home/Dev/SRPlugins/lv2-components/AutoLeveler# make
Compiling AutoLeveler.cpp
Compiling DistrhoPluginMain.cpp (LV2)
Creating LV2 plugin library for AutoLeveler

But it does’t create a ttl.

`DPF/utils/lv2_ttl_generator`` builds the ttl. You can look at my plugins file / directory structure and Makefiles.

Yes, but lv2-ttl-generator is a folder, and then theres the corresponding c file, which probably should compile itself, but doesn’t.

Wouldn’t it be nice if the existing features worked without quirks, before venturing into adding some more features and leaving the others in an unfinished manner?