8 months later

Hey 🙂

Just bought a second hand Bela and look forward for it to arrive in a near future.

So now I am doing some research.

One thing I use a lot in pd is list-abs. But yeah not really externals, as they are all abstractions.

List-abs work fine for Bela, right, since it's abstractions?

Thanks!

as long as none of those abstractions use any non-vanilla objects, i guess you should be fine 🙂

never heard of that collection, looks interesting.
externals work as well, i just found it a bit more involved compiling libraries - abstractions are easier to use.
just load them into the same folder that _main.pd is in, if i recall correctly.

    yes, you can put them in the project folder, or create a dummy project pd-externals and put them all there so that they are accessible from all projects without having to duplicate them.

      Remork

      List abs are very good for list and table manipulation.

      I often use "array get" to get table data and make a list out of it and then use list-abs to do some manipulation, like reverse, invert, replace, add elements and then "array set" to put it back in the table. So many options with that library 🙂

      I did find a couple of already compiled externals, like sexy, cyclone ans else. Sexy I used to use a lot.

      But these days, I try to make everything vanilla, for ease of use.

      For reverb I really like Freeverb. I found this, but it seems like it's not compiled specifically for Bela, but "just" for Linux:
      https://github.com/noizhardware/bela-projects

      Maybe I'll try to follow the compile instructions for Bela and see if I can compile it sometime 🙂

      Thanks!

      giuliomoro

      Nice, so it works pretty much like Organelle. I think I like the common folder idea the most, which I use in both Organelle and my rpi/Pisound box.

      Thanks 🙂

      4 months later

      Hey guys 🙂

      I am using the phasorshot~ from TOF external library a lot in my patches on my Macbook. From this library:
      https://github.com/electrickery/pd-tof

      I would love to be able to use that external for Bela too. I did try to make a Vanilla version, but it just doesn't work as great as the hardcoded version from TOF library.

      I was wondering if anyone compiled it already? Or is it possible to use a Linux version? I got it for Organelle.

      If not, I guess I need to try compiling it myself, which I do not have a lot of experience with, to be honest, so if anyone already compiled I would be pretty grateful 🙂

      Thanks in advance!

      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 🙂

        3 months later

        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.

        a month later

        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 :

        • I compiled and installed with

        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

        alt text

        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:

        • timbreIDLib.pd_linux has to be in ~/Bela/projects/pd-externals/timbreID/timbreIDLib and NOT in ~/Bela/projects/pd-externals/timbreIDLib
        • I used the following [declare] objects: [declare -path ~/Bela/projects/pd-externals/timbreID/timbreIDLib] and [declare -lib ~/Bela/projects/pd-externals/timbreID/timbreIDLib]
        • Using these [declare] objects the objects can be called directly without prefix e.g. [zeroCrossing~]

        this is the capture of the patch:

        alt text

        great that you got that working!
        looks like a weird lib 🙂 what are you using it for?

          oh wow! looks great!

          a year later

          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/