[PD] Percolate for Pd

Mitchell Turner mmturner at mindspring.com
Fri Dec 12 00:15:37 CET 2008


John,
I was able to get Percolate working on a MacBookPro running OS 10.5.5  
and Pd-Extended 0.40.3. The way I was able to do this involved  
compiling from source.  The required a few steps outlined below.

I'm not absolutely sure my changes are the best way to do things.  But  
it worked so I guess its an ok way to do it.

1) I got the latest version of the Developers Tools (the ones for  
OS10.5).  Then I downloaded the source version of PeRColate discussed  
here (I had to login in order to see the attachments):
http://puredata.hurleur.com/sujet-619-port-percolate

Now I had to edit the Makefile that came in the PeRColate_source  
folder.  (I've pasted in the Makefile below.)
2) I made changes to the "current" line, so that it read "current:  
pd_darwin".

3) I removed all of the lines dealing with Windows (might be an  
unnecessary step).

4) Down in the MAC OS X section, I  changed the "PD=" line to point to  
my version of pd.
PD = /Applications/Pd-extended.app/Contents/Resources/bin/pd

5) I also changed "MACOSXINCLUDE" line to point to the include folder  
inside my version of Pd-Extended.
MACOSXINCLUDE =  -I _headers -I /Applications/Pd-extended.app/Contents/ 
Resources/include/

6) Now in Terminal, I "cd"ed over to the "PeRColate_source" directory  
and ran the "make" command.  It compiled just fine (after multiple  
attempts and much editing of the Makefile).

7) Now I opened the Pd-Extended application (CTRL-Click and select  
"open package contents").

8) I placed the entire PeRColate folder inside the "extras" and copied  
the percolate.pd_darwin file to:
Pd-extended/Contents/Resources/extra/
copied the PeRColate_help into:
Pd-extended/Contents/Resources/doc/5.reference/

I opened Pd-Extended application and set the library to load on start  
up.  Pd-extended>Preferences>Startup

I re-started Pd and all was well.  Hope this helps out,
Mitch





Here is the Makefile I ended up with:

#Begin_Makefile---------

NAME=percolate
CSYM=percolate

current: pd_darwin

# ----------------------- LINUX i386 -----------------------

pd_linux: $(NAME).pd_linux

.SUFFIXES: .pd_linux

PATH1=1.\ Physical\ Models
PATH2=2.\ Modal\ Synthesis
PATH3=3.\ PhISM
PATH4=4.\ MaxGens
PATH5=5.\ SID
PATH6=6.\ Random\ DSP

LINUX_SOURCES = percolate.c				\
		 _source/stk.c				\
		$(PATH1)/blotar/blotar~.c		\
		$(PATH1)/bowed/bowed~.c			\
		$(PATH1)/bowed\ bar/bowedbar~.c		\
		$(PATH1)/brass/brass~.c			\
		$(PATH1)/clarinet/clar~.c		\
		$(PATH1)/flute/flute~.c			\
		$(PATH1)/mandolin/mandolin~.c		\
		$(PATH1)/plucked/plucked~.c		\
		$(PATH2)/agogo/agogo~.c			\
		$(PATH2)/marimba/marimba~.c		\
		$(PATH2)/vibraphone/vibraphone~.c	\
		$(PATH3)/bamboo/bamboo~.c		\
		$(PATH3)/cabasa/cabasa~.c		\
		$(PATH3)/meta-shaker/metashake~.c	\
		$(PATH3)/sekere/sekere~.c		\
		$(PATH3)/sleigh\ bells/sleigh~.c	\
		$(PATH3)/shaker/shaker~.c		\
		$(PATH3)/guiro/guiro~.c			\
		$(PATH3)/tamb/tamb~.c			\
		$(PATH3)/wuter/wuter~.c			\
		$(PATH4)/gen10/gen10.c			\
		$(PATH4)/gen17/gen17.c			\
		$(PATH4)/gen20/gen20.c			\
		$(PATH4)/gen24/gen24.c			\
		$(PATH4)/gen25/gen25.c			\
		$(PATH4)/gen5/gen5.c			\
		$(PATH4)/gen7/gen7.c			\
		$(PATH4)/gen9/gen9.c			\
		$(PATH5)/absmax~/absmax~.c		\
		$(PATH5)/absmin~/absmin~.c		\
		$(PATH5)/chase~/chase~.c		\
		$(PATH5)/escal~/escalator~.c		\
		$(PATH5)/flip~/flip~.c			\
		$(PATH5)/jitter~/jitter~.c		\
		$(PATH5)/klutz~/klutz~.c		\
		$(PATH5)/random~/random~.c		\
		$(PATH5)/terrain~/terrain~.c		\
		$(PATH5)/waffle~/waffle~.c		\
		$(PATH5)/weave~/weave~.c		\
		$(PATH6)/dcblock/dcblock~.c		\
		$(PATH6)/gQ/gQ~.c			\
		$(PATH6)/munger/munger~.c		\
		$(PATH6)/scrubber/scrub~.c

LINUX_OBJECTS = $(LINUX_SOURCES:.c=.o)

LINUX_OBJECTS2 = percolate.o				\
		_source/stk.o				\
		$(PATH1)/blotar/blotar~.o		\
		$(PATH1)/bowed/bowed~.o		\
		$(PATH1)/bowed\ bar/bowedbar~.o	\
		$(PATH1)/brass/brass~.o		\
		$(PATH1)/clarinet/clar~.o		\
		$(PATH1)/flute/flute~.o		\
		$(PATH1)/mandolin/mandolin~.o		\
		$(PATH1)/plucked/plucked~.o		\
		$(PATH2)/agogo/agogo~.o		\
		$(PATH2)/marimba/marimba~.o		\
		$(PATH2)/vibraphone/vibraphone~.o	\
		$(PATH3)/bamboo/bamboo~.o		\
		$(PATH3)/cabasa/cabasa~.o		\
		$(PATH3)/meta-shaker/metashake~.o	\
		$(PATH3)/sekere/sekere~.o		\
		$(PATH3)/shaker/shaker~.o		\
		$(PATH3)/guiro/guiro~.o		\
		$(PATH3)/sleigh\ bells/sleigh~.o	\
		$(PATH3)/tamb/tamb~.o			\
		$(PATH3)/wuter/wuter~.o		\
		$(PATH4)/gen10/gen10.o		\
		$(PATH4)/gen17/gen17.o		\
		$(PATH4)/gen20/gen20.o		\
		$(PATH4)/gen24/gen24.o		\
		$(PATH4)/gen25/gen25.o		\
		$(PATH4)/gen5/gen5.o			\
		$(PATH4)/gen7/gen7.o			\
		$(PATH4)/gen9/gen9.o			\
		$(PATH5)/absmax~/absmax~.o		\
		$(PATH5)/absmin~/absmin~.o		\
		$(PATH5)/chase~/chase~.o		\
		$(PATH5)/escal~/escalator~.o		\
		$(PATH5)/flip~/flip~.o			\
		$(PATH5)/jitter~/jitter~.o		\
		$(PATH5)/klutz~/klutz~.o		\
		$(PATH5)/random~/random~.o		\
		$(PATH5)/terrain~/terrain~.o		\
		$(PATH5)/waffle~/waffle~.o		\
		$(PATH5)/weave~/weave~.o		\
		$(PATH6)/dcblock/dcblock~.o		\
		$(PATH6)/gQ/gQ~.o			\
		$(PATH6)/munger/munger~.o		\
		$(PATH6)/scrubber/scrub~.o


LINUXCFLAGS = -DPD -DUNIX -DICECAST -O2 -funroll-loops -fomit-frame- 
pointer \
     -Wall -W -Wshadow -Wstrict-prototypes -Werror \
     -Wno-unused -Wno-parentheses -Wno-switch

LINUXINCLUDE =  -I _headers -I ../../pd/pd-0.36-test5/src/

.c.o:
	cc $(LINUXCFLAGS) $(LINUXINCLUDE) -o "$*.o" -c "$*.c"

$(NAME).pd_linux: $(LINUX_OBJECTS)
	ld -export_dynamic  -shared -o $*.pd_linux $(LINUX_OBJECTS2) -lc -lm
	strip --strip-unneeded $*.pd_linux
	rm -f $*.o ../$*.pd_linux
	ln -s $*/$*.pd_linux ..

clean_linux:
	find -name "*.o" -exec rm \{\} \;
	rm *.pd_*



# ----------------------- MAC OS X -----------------------

pd_darwin: $(NAME).pd_darwin

.SUFFIXES: .pd_darwin .pd_darwin_o


MACOSXCFLAGS = -DPD -DUNIX -DMACOSX -O3 \
     -Wall -W -Wstrict-prototypes \
     -Wno-unused -Wno-parentheses -Wno-switch

PD = /Applications/Pd-extended.app/Contents/Resources/bin/pd

MACOSXLDFLAGS = -bundle -bundle_loader $(PD) -flat_namespace

MACOSXINCLUDE =  -I _headers -I /Applications/Pd-extended.app/Contents/ 
Resources/include/

MACOSX_OBJECTS = $(LINUX_SOURCES:.c=.pd_darwin_o)
MACOSX_OBJECTS2 = $(LINUX_OBJECTS2:.o=.pd_darwin_o)

.c.pd_darwin_o:
	cc $(MACOSXCFLAGS) $(MACOSXINCLUDE) -o "$*.pd_darwin_o" -c "$*.c"

$(NAME).pd_darwin: $(MACOSX_OBJECTS)
	cc $(MACOSXLDFLAGS) -o $*.pd_darwin $(MACOSX_OBJECTS2) -lc -lm
	rm -f $*.o ../$*.pd_darwin
	ln -s $*/$*.pd_darwin ..

clean_darwin:
	find . -name "*.pd_darwin_o" -exec rm \{\} \;
	rm *.pd_*

#------------End_Makefile










On Dec 11, 2008, at 5:40 PM, John Harrison wrote:

> cool! Could you send your changes to the Makefile to the list so we  
> have it for reference the next time this comes up?
>
> Mitchell Turner wrote:
>>
>> Yeah, I tried that binary, but I think it was for PPC.  When I  
>> tried to use it, I'd get a complaint about the wrong architecture.
>>
>> So, I got the source, modified the Makefile, and compiled it  
>> myself.  Couple of missteps later it works.
>> Mitch
>>
>>
>> On Dec 11, 2008, at 4:53 PM, John Harrison wrote:
>>
>>> cool. I don't know if you saw on the list somebody provided a link  
>>> to an OSX binary as well.
>>>
>>> Good luck!
>>>
>>> -John
>>>
>>> Mitchell Turner wrote:
>>>>
>>>> I've gotten it to compile and it is now working.  Thanks for your  
>>>> help.
>>>> Mitch
>>>>
>>>>
>>>> On Dec 11, 2008, at 10:05 AM, John Harrison wrote:
>>>>
>>>>> sorry I never compiled it at all. I know it's SUPPOSED to  
>>>>> compile in OS X, as of 5 years ago or something...
>>>>>
>>>>> On Thu, Dec 11, 2008 at 8:48 AM, Mitchell Turner <mmturner at mindspring.com 
>>>>> > wrote:
>>>>> John,
>>>>> Thanks so much for the link.  You say you don't use it but have  
>>>>> you compiled it for OSX?  It appears the makefile will work for  
>>>>> OSX.
>>>>> Mitch
>>>>>
>>>>>
>>>>>
>>>>> On Dec 11, 2008, at 9:02 AM, John Harrison wrote:
>>>>>
>>>>> you can find source here:
>>>>>
>>>>> https://www.cs.tcd.ie/~wardn1/PD_workshop/07.installation_files/01.sources/
>>>>>
>>>>> there's legal issues and apparently personal ones too, so it has  
>>>>> been officially removed. If you succeed in getting it, it will  
>>>>> have to be "under the table."
>>>>>
>>>>> That's all I know. I've never used Percolate myself.
>>>>>
>>>>> -John
>>>>>
>>>>>
>>>>> Mitchell Turner wrote:
>>>>> Dear all,
>>>>> Sorry if this has been discussed ad nauseam, but I've googled   
>>>>> everything I can think of and have not been able to find  
>>>>> Percolate for  Pd.
>>>>>
>>>>> Does anyone know if there is a working version of the Percolate   
>>>>> objects for Pd?  I'm using Pd-Extended (0.40.3) on OSX (10.5.5).
>>>>>
>>>>> Thanks in advance,
>>>>> Mitch
>>>>>
>>>>> http://home.lagrange.edu/mturner/
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Pd-list at iem.at mailing list
>>>>> UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
>>>>>
>>>>>
>>>>>
>>>>> -- 
>>>>> John Harrison
>>>>> http://alumni.media.mit.edu/~harrison
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>
>>> -- 
>>> John Harrison
>>> http://alumni.media.mit.edu/~harrison
>>>
>>>
>>
>
> -- 
> John Harrison
> http://alumni.media.mit.edu/~harrison
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20081211/f1e77169/attachment.htm>


More information about the Pd-list mailing list