interesting… (not just from organelle point of view) - so does a pd patch launch sc? How’s this handled? Do you have any communication possibilities between the two (I only know of OSC). Can you connect to pd-launched sc from emacs or whatever? Can you present sc-defined pd objects (with idiomatic inlets, outlets, signal/control handling etc) by writing sc code?

I’m really into the idea (mooted, discussed & developed here a few months back) of using pd to handle setup/teardown & internal routing of complex setups potentially encompassing:

  • C-language grid apps
  • ‘traditional’ pd patch logic
  • scripting language (e.g lua, picolisp)
  • softsynth/DSP (e.g sc, faust)

though I’ve barely touched sc, it’s ecosystem has piqued my interest lately!

2 Likes

No, I’ve updated the organelle ‘launcher’ to launch supercollider , or Pd depending on file extension.
(and also a shell scripts) , main change was to track pids to ensure I could ‘kill’ relevant sub processes.

on something like organelle/rPI you don’t want extra processes like Pd running unless absolutely neccessay - wastes scares resources - the organelle ‘mother host , is a lightweight c++ app

Yes, communication with hardware is via OSC with the organelle.

3 Likes

Found via @reaktorplayer on Twitter.
http://paresys.pagesperso-orange.fr/ARGOPd/

ARGOPd is made of real-time sound and visual synthesis modules.

Web page seems to indicate that it includes 200 modules, and 300 example patches!

2 Likes

A bit like Automationism but seems slighly more “low level” and based on Pd extended.
looks pretty interesting, nice find @jasonw22

1 Like

Had a bit of a breakthrough in my Pd’ing during a hotel stay at a conference with lots of drinkin’ and minglin’, I don’t drink and I’m terrible at minglin’, so I spent a solid couple of hours in my room pushing through some mental barriers I’ve had with Pd. Built my first FM synth, built a OP-1 knob controller object, got some cool graphs of the wave forms going, added some filtering…noise! glorious noise!

Screenshots!

First one is the guts of the FM synth, second one is an phasor~ controlling settings on the synth. The leap into graph on parent was big for me, seems super simple now, but…it was revelatory. My arrangement of objects looks like Peter Blasser circuit board designs (hope that isn’t an insult, I know he thinks his out, I’d like to start doing the same…if I’m going to use a graphical language instead of a typed one, I plan on my graphs being based on interesting geometry rather than something that looks organized)

I understand that these are super novice patches, but…feels like a good first step in the right direction!

11 Likes

Based on a comment in Using grid as patching cables?

Anyone ever host a VST / AU plugin inside of pd? That would really open up some ideas for me…I’d love to be able to control Aalto / Kaivo inside of pd…I know it’s possible in Max, but I’m trying to keep my mind focused on pd. Open source!

https://puredata.info/community/pdwiki/Vst

You forgot to say, “let me Google that for you.” :slight_smile:

I did find that on my own, just got wary based on the 11 years since the last edit and broken links to binaries.

I found some other folks mentioning random stuff on the pd forum, just trust the recommendations I get here more than in the wilds of the internet. :bowing_man:

I believe I’ve heard positive reports of its use before. I haven’t tried it myself. If it is broken, someone should fix it, because that is indeed the way it is done.

1 Like

It’s a bum link above…used the pd search and found this, https://puredata.info/Members/thomas/vst

Which has working links. Looks like Google is messed up. /shakes fist.

Thanks sir

Yeah, sorry about my lunchtime googling. Glad you found what you needed.

ah, come’on…no need to apologize. I was just kidding. All is well. :hugs:

I don’t know…I’ve been pulled away by work several times…but I’m not sure that second vst~ link is any better. I’m having a heck of a time finding a OSX compatible download of anything. I’m sure it’s a couple more searches away…but…it’s not immediately findable. There’s also no vst-anythings in deken. :frowning:

Turns out computer musicians doing R&D is a small community. Who knew!

The source code to Thomas Grill’s [vst~] external is 11 years old. In those 11 years, the VST interface has gone through a major point release upgrade. The [vst~] codebase on Github needs an upgrade since Steinberg does not distribute the 2.3 version of their SDK today. Though the README mentions “AAX, AU and VST 2 wrappers” whatever that means.

The good news is Flext built first try on my computer so it’s literally only a VST interface issue.

3 Likes

Dang, I would be very interested in a concerted effort to make [vst~] work again. I haven’t worked with any of the steinberg apis before but it seems like something that would be fun to try and fix.

2 Likes

I (belatedly) realised late last night faust & pd make for a killer combo… I’d somehow never fired up the faust2puredata script (despite venturing pretty deep down the rabbit hole with both pd externals & faust).

In stark contrast to first exposure to faust over a year ago (courtesy of @test2 via the aleph), working back through the faust API & examples yesterday was more ‘kid in sweetshop’ than ‘drowning in horrifying music DSP nonsense’. Currently fiddling with a polyphonic karplus-strong thing - fun, fun, fun!

3 Likes

hey, does anyone have a Makefile for compiling a standalone external handy?

had success with pd-lib-builder on linux x86-64. Started all my pd externals from this skeleton pilfered from some tutorial pd_external.tar (5.1 KB) (requires pd-lib-builder repo installed in …/pd-lib-builder)

1 Like

[ed] actually not sure if this is what you want, but for a PD audio external (not “standalone”?),

simple template for linux:

let’s see, for mac/win need some different link flags, here’s something i used once, ymmv

#--- linux
LINUXCFLAGS = -g -msse -DPD -O3 -funroll-loops -fomit-frame-pointer -fcheck-new \
    -Wall -W -Wshadow \
    -Wno-unused -Wno-parentheses -Wno-switch \
	-fvisibility=hidden -fPIC \
	-ffunction-sections -fdata-sections

LINUXLDFLAGS = -fPIC -shared -static \
	-Wl,-export-dynamic \
	-nostartfiles -nodefaultlibs -nostdlib \
	-Wl,--gc-sections

LINUXINCLUDE =  -I$(SRC_DIR)


#--- mac
DARWINCFLAGS = -DPD -O3 -Wall -W -Wshadow \
	-Wno-unused -Wno-parentheses -Wno-switch \
	-fcheck-new -fvisibility=hidden

DARWINLDFLAGS = -bundle -undefined suppress -flat_namespace

DARWININCLUDE = -I./include  -I../src	

#--- windows
WINCFLAGS = -msse -DPD -DMSW -Werror -Wno-unused -mms-bitfields\
	-Wno-parentheses -Wno-switch -O6 -funroll-loops -fomit-frame-pointer\
	-fno-strict-aliasing -fcheck-new

WINLDFLAGS = -static-libgcc -static-libstdc++ --export-dynamic -shared

WININCLUDE =  -I ./include

ifeq ($(EXTENSION),pd_linux)
    INCLUDE = $(LINUXINCLUDE)
    CFLAGS = $(LINUXCFLAGS)
    LDFLAGS = $(LINUXLDFLAGS)
else
    ifeq ($(EXTENSION),pd_darwin)
	INCLUDE = $(DARWININCLUDE)
        CFLAGS = $(DARWINCFLAGS)
        LDFLAGS = $(DARWINLDFLAGS)
    endif
endif
1 Like

Rabbit holes? Here’s another one for you: The Pure Programming Language.

Pure integrates well with Pd: https://github.com/agraef/pure-lang/tree/master/pd-pure.

It’s really cool, create control objects such as [pure (+5)] (currying!), or audio objects ie. [pure~ map (*2)]. See docs.

It even has a dynamic Faust DSP environment that, in some way, dynamically compiles faust dsps in Pd: https://github.com/agraef/pure-lang/tree/master/pd-faust

I have toyed around (wasted many hours) with pd-pure but never checked out pd-faust.

3 Likes