I got it for Organelle.
this one should work.
Otherwise, building it from source is straightforward. I added build instructions and a binary download here
I got it for Organelle.
this one should work.
Otherwise, building it from source is straightforward. I added build instructions and a binary download here
Thanks, I think I will start with the Organelle version for simplicity and go on from there
giuliomoro Sorry for jumping on this old thread, I've been trying to get the helmholtz~ external on Bela but am having some issues with removing the -Wl option. What's the best way to access the Makefile? I'm opening it from the terminal, removing the -Wl option in my text editor, saving it, but still am getting the error.
Hi! Thanks giuliomoro for the detailed instructions about compiling externals. I have compiled and successfully used externals like zexy and cyclone in Bela. It was easy and I had no issues following the instructions.
Yesterday I compiled the Pure Data external timbreID (source is here: https://github.com/wbrent/timbreID) in a Bela Mini which some other people (@lokki ) found interesting. I followed the same instructions. Compilation and installation took a couple of minutes maximum.
However I am having a bad time: Pd does not create the objects. I thought it should be similar to zexy, but it doesnt work for me.
This is what I did and how I am testing it :
make PDINCLUDEDIR=/usr/local/include/libpd/
(some .h files like g_canvas.h were needed so I copied them to /usr/local/include/libpd/ from https://github.com/giuliomoro/pure-data)
make PDINCLUDEDIR=/usr/local/include/libpd/ PDLIBDIR=/root/Bela/projects/pd-externals/ install
timbreIDLib.pd_linux is in ~/Bela/projects/pd-externals/timbreIDLib with all the other .pd objects it generates.
(A compiled version for rPi can also be downloaded from http://williambrent.conflations.com/pd/timbreID/rpi/timbreIDLib.pd_linux)
For testing it I created a simple patch with the object [zeroCrossing~] which can be downloaded from the following link: https://tamcloud.ufg.at/s/zgYXE9GmKctFTSi (see image attached).
These are the first three lines of this _main.pd:
#N canvas 381 151 391 472 10;
#X declare -path ~/Bela/projects/pd-externals/timbreIDLib;
#X obj 35 37 declare -path ~/Bela/projects/pd-externals/timbreIDLib
;
When I try it, I only get in the infamous "error: ... couldn't create":
- I tested it with the rPi binary: same result.
- I copied timbreIDLib.pd_linux to ~/Bela/projects/pd-externals.
- I tried with [zeroCrossing~] and [timbreIDLib/zeroCrossing~] as well as with various versions of the [declare]
Is there anything I am not considering here?
Thanks in advance!!
are you 100% sure the path is [timbreIDLib/zeroCrossing~] and not something like [timbreID/zeroCrossing~]?
just thinking out loud
in the install.txt file included with the library, there's this line:
C:/Users/Your Name/Documents/Pd/externals/timbreID/timbreIDLib
and also:
assuming timbreID is installed to the default Externals Install Directory, you can simply use the [declare] object like this:
[declare -lib timbreID/timbreIDLib]
which would imply that the lib object is created within a new timbreID folder.
so you might be directing pd to a place that simply does not exist.
maybe try [declare -lib ~/Bela/projects/pd-externals/timbreID/timbreIDLib]
, adding this extra folder level to the search path?
Thanks @Remork !!
it is weird how this had to be referenced but yes, as you suggested I had to add the /timbreID/ level in "~/Bela/projects/pd-externals" -> it worked!!
For future people interested in timbreIDLib, this worked for me:
this is the capture of the patch:
great that you got that working!
looks like a weird lib what are you using it for?
Remork I am implementing a Bela version of my Tangible Scores project (mostly concatenative synthesis): https://tamlab.ufg.at/projects/tangible-scores/ Thanks again for the tip!
oh wow! looks great!
giuliomoro git clone https://github.com/giuliomoro/pure-data &&\
cd pure-data &&\
scp src/*h root@192.168.7.2:/usr/local/include/libpd/
Hi and thanks so much for your help !
Sorry abut this issue, but it seems that this first command line doesn't work.
Link mentionne in it seems to fail.
Also, I have this error message in my terminal (mac 10.14.6)
xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun
I try to compile and install "ggee"
All the detailed procedure fail.
Also need to install "iemlib" and "moonlib"
Help needed please ?
All the best,
Damien
heliopolarthing Sorry abut this issue, but it seems that this first command line doesn't work.
Link mentionne in it seems to fail.
git clone https://github.com/giuliomoro/pure-data
should definitely work, the link is still active.
heliopolarthing Also, I have this error message in my terminal (mac 10.14.6)
xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun
What line do you execute that triggers this error? If you are trying to build an external on Bela, this error means that you ran some commands on your computer instead of Bela.
I follow this procedure >
Now I found some time to do it (Friday night, 2am, of course).
Preparation:
- get extra header files needed to compile Cyclone (and ggee, and others) on Bela:
- on your computer open a terminal and:
git clone https://github.com/giuliomoro/pure-data &&\
cd pure-data &&\
scp src/*h root@192.168.7.2:/usr/local/include/libpd/
I tried your simpler line >
git clone https://github.com/giuliomoro/pure-data
And it still don't work.
Follow your advices, I type these command lines from my Mac Os terminal
right you may have an issue with your xcode tools installation, which apparently Apple is really good at screwing up (this is unrelated to Bela). You may want to google for that and see if you find a way to fix it helps fixes it.
Alternatively, you can avoid the first line and instead download this zip archive and uncompress it.
I had a further look: many libraries are already built for ARM (Bela's architecture, more precisely armv7) and are available via Deken. A possible Deken workflow to obtain pre-built libraries this way from Deken:
...
button. create a new folder in a convenient location (e.g.: Desktop), called pd-externals-for-bela
, select this and close the file picker; make sure this stays selected in the radio button selectionLinux-armv7-32
Now, you can install these libraries on Bela with a single command:
ssh root@bela.local mkdir -p Bela/projects/pd-externals # creates the pd-externals dummy project if needed
scp -r root@bela.local ~/Desktop/pd-externals-for-bela/* root@bela.local:Bela/projects/pd-externals/
(amend the path to the ~/Desktop/pd-externals-for-bela
folder if you used a different one ).
Note that you will need to use [declare -lib]
and/or [declare -path]
for the libraries and externals to become available on Bela. I recommend you do the same on the host (i.e.: remove any non-standard paths from Preferences->Paths and any libraries from Preferences->Startup).
In particular, iemlib
ships with a combination of abstractions and a single-file library, so you will need two declares, a -lib
for externals and a -path
for abstractions. If this is confusing, the official documentation tries to explain it.
In your case:
[declare -lib iemlib]
[declare -path iemlib]
[sparse_FIR~] // "external" verify it creates
[unsig~] // "abstraction" verify it creates
while moonlib
is a multi-file library so you should just need
[declare -path moonlib]
[char2f] // verify it creates
giuliomoro
hello, and thank you very much for your quick and precious help!
So I followed your advice by downloading the file directly. Then I used my terminal with this line:
cd /Users/MYUSERNAME/Desktop/pure-data-Bela-master
then
scp src/*h root@192.168.7.2:/usr/local/include/libpd/
install seems ok
Then, I compiled as indicated the external library ggee.
I attach here a part of the terminal return (impossible to attach a .txt or .pdf file including all of this terminal return) which contains a lot of "warning".
However, I continued until the end.
Do you think that these multiple "warnings" hinder the proper functioning of the operation? Or is this normal?
(sorry for my ignorance)
The test with the patch including the ggee/moog~ object seems ok insofar as the object appears well on the IDE and is well connected!
Thanks again,
Waiting for your confirmation concerning my doubt ("warnings")
I will now try to install the other two libraries (iemlib and moonlib)
heliopolarthing Do you think that these multiple "warnings" hinder the proper functioning of the operation? Or is this normal?
there's nothing of concern there.
heliopolarthing The test with the patch including the ggee/moog~ object seems ok insofar as the object appears well on the IDE and is well connected!
the fact that the object shows up in the IDE and has connections unfortunately does not mean it is recognised. Check the IDE's console for any "couldn't create" errors. If there are none, then you can assume it's all good.
Btw, also ggee seems to be available for Linux-armv7-32 from deken.
giuliomoro
Sorry, I didn't refresh my web page before to answer you this morning.
Thanks again more
It's just perfect to download directly compiled armv7 versions from deken !
Download successful !
The installation seemed ok, but when I checked that the new objects were installed, the BELA IDE gave me the error
"couldn't create"
So I checked the contents of the >pd-externals folder by reconnecting to Bela via the terminal and via the line
ls ~/Bela/projects/pd-externals
The result is this
ggee pd-externals-for-bela
So I reinstalled with the correct addresses for each new isolated library
scp -r root@bela.local /Users/MYUSERNAME/Desktop/pd-externals-for-bela/iemlib root@bela.local:Bela/projects/pd -externals/
And so on.
I then checked for the presence of the files in pd-externals, then checked inside the folders. Everything is OK !
On the other hand, Impossible to create these new objects!
Only the ggee library works (the one I compiled myself following your first instructions)
giuliomoro
This is what the IDE shows when I run the attached test patch
Running Pd 0.48-2
Audio channels in use: 2
Analog channels in use: 8
Digital channels in use: 16
No MIDI device enabled
bonk version 1.5
fiddle version 1.1 TEST4
pique 0.1 for PD version 23
sigmund~ version 0.07
error: ../pd-externals/iemlib/iemlib.l_arm: /lib/arm-linux-gnueabihf/libm.so.6: version `GLIBC_2.29' not found (required by ../pd-externals/iemlib/iemlib.l_arm)
sparse_FIR~
error: ... couldn't create
verbose(4): ... you might be able to track this down from the Find menu.
unsig~
error: ... couldn't create
char2f
error: ... couldn't create