PD Vanilla or PD Extended

Will it be based on PD Vanilla or PD Extended?

Currently it is running vanilla Pd with a few externals from the extended set included.

Ah yes, I’ve been interested in the same thing, good to know that.

Which externals are included? And, by saying “currently”, do you mean that there are plans to run Pd-extended on Organelle in some near future?

We haven’t completely decided what the device will ship with, but are leaning towards vanilla Pd. We were just playing around with Pd-extended this week, but have not been able to get the same level of reliability compared to vanilla. Pd-extended requires so many more dependencies that have to be sorted out and this is more challenging on an embedded device compared to a larger desktop OS environment. Things like OpenGL for GEM.

In terms of offering solid reliability during both editing and playing, we will probably keep the current strategy of Pd vanilla and cherry picking some externals… right now we use some of the OSC objects and network objects…

But down the line, yes there might be an update for Pd-extended, and I’d like to keep the discussion open. How important do you think this is? do you imagine most Pd users are using extended? what are the most popular externals (perhaps we can include some more of them in the initial vanilla release) ?

I always used extended until I started messing around with the now defunct app RJDJ
I found vanilla just fine
some of the rjdj objects from the rj library would be great in there I would imagine
I have just started playing with PD again after getting away from computers to a hardware based setup (ciat-lonbarde)
I am getting to know it again so I will be ready for this instrument
organelle and the shbobo shnth will become great friends I suspect

Thanks for pointing out RjDj stuff. Just checked out the rj library here https://github.com/rjdj/rjlib and there is a bunch of cool stuff in there!

The shbobo shnth looks really cool. Always wanted to try… should be a good companion to the Organelle!

I also use mostly Pd-extended, I just started with this version since it promised a “complete package"as opposed to “raw” Vanilla version. An I got used to some useful little things like [moog~] filter, [spigot~] with”~", [threshold} without “~”, all of which vanilla misses, but also stuff like [udpsend] for osc communication and [comport] for serial. The last one is useful especially with Arduino, but whether it would be possible to install Arduino driver and connect it to the usb port on Organelle is probably another story - that would be too much to ask, I guess.

Good to know! Those are many of the objects we’ve been using too: moog~, udpsend / udpreceive, comport… I’ll take a look at the other ones too.

The Organelle has the serial-USB driver installed and it already works with Arduino! We use comport and OSC to talk to Arduino (using this library https://github.com/CNMAT/OSC)

That’s great! It’s gonna be a great product :smile:

Now that the Organelle is finally shipping :smiley: , can you please tell us what are version of PD Vanilla is running now?
And what externals?

Yes! The Organelle is running Pd 0.46 vanilla. It has a small number of extra externals that are only used in the mother patch (the patch that communicates with the hardware):

for Open Sound Control communications:
udpsend
udpreceive
packOSC
routeOSC
unpackOSC
slipenc
slipdec

for audio output:
pvu~
tb_peakcomp~

We decided to keep the included externals to a minimum, and if a patch needs something, it can include it on a case by case basis. For example the Analog Style patch uses the moog~ filter object which is just included in the folder with the patch. The Organelle does include a compiler (gcc) so you can compile externals directly on the device, which is how we compiled all the ones above.

1 Like

That rjdj library is such a useful resource. I’ve been using it ever since I got started with libPd on iOS.

There are some nice effects (filters, delays), but the control objects are what I use the most (ADSR, message LFOs, multi-periodic metronome for easy swing feel and so on).

I just gave this a shot and it works quite well. In case anyone needs it, I’m sharing the required magical incantations below:

$ gcc -c myexternal.c -o myexternal.o -fPIC
$ ld -export-dynamic -shared -o myexternal.pd_linux myexternal.o -lc -lm

You’ll need the c source code and the file m_pd.h from the pure data source code.

3 Likes

I would love to add some of the externals I tend to use a lot (for things like convolution)

Is the Organelle able to handle such high CPU usage? Or is vanilla PD advisable for such reasons…

1 Like

What are the externals? are they part of Pd extended? We have all of those compiled already for the Organelle:

Generally the Organelle is not as powerful as a laptop or desktop, but can handle quite a lot. there is some more info here:

1 Like

oh perfect! I didn’t see that :cry:

There are a few externals made during peoples’ PhD research that I’d like to add, but I will get acquainted with Organelle design first before trying to compile.