how does [list drip] actually work?
@rjp9 yup, basically you put items into a stack and take them out of the stack the reverse order, so it is used to remember what needs to be done next.
an example, the "call stack" is the term used for an area of RAM that stores which function a program is in, so if you have a "main" function:
main(int argc, char ** argv) {
somefunction()
someotherfunction()
}
and the functions look like:
somefunction() {
int cat
cat = somethirdfunction()
}
someotherfunction() {
float dog
somefunction()
}
somethirdfunction() {
char lettera
-- do nothing
}
then when the program runs the call stack will look like this at various times:
when it starts main:
main -- has space for function info and argc, argv
when somefunction is called:
main (bottom of stack)
somefunction - top of stack - has space for function info and an integer (cat)
then somethirdfunction is called and cat's value is set, while in somethirdfunction the stack looks like this:
main (bottom of stack)
somefunction - middle of stack
somethirdfunction - top of stack, has space for lettera
since somethirdfunction doesn't do anything, it returns:
main (bottom of stack)
somefunction - middle of stack
some function exits:
main (bottom of stack)
and someotherfunction is called:
main (bottom of stack)
someotherfunction - middle of stack
since someotherfunction calls somefunction which calls somethirdfunction, the call stack will eventually look like this when in somethirdfunction here:
main (bottom of stack)
someotherfunction - second member of stack
somefunction - third member
somethirdfunction -top of stack
and this whole time the "automatic variables" and their values are remembered in the function info. This includes arguments to the function (like in trigger_anything) and other variables declared at the top of each function. and you can have a function call itself too, and have itself in it's own call stack eventually, as in recursive cases like this.
in this case, the stack would be more like, if you have 8 elements:
trigger_anything
split off first 4 elements
trigger_anything
split off first 2 elements
trigger_anything
split off first element
output first element
split off second element
output second element
split off 3rd and 4th elements together (in 2nd trigger_anything)
trigger anything
split off 3rd argument
output 3rd argument
split off 4th
output 4th
split off last 4 elements (from 1st trigger_anything)
and repeat the exact same thing with the last 4
wikipedia has a good page on it https://en.wikipedia.org/wiki/Stack_(abstract_data_type)
Traktor (will work with others)Coge Midi clock Sync with OSC
This is a cross platform alternative for synchronizing two(or more) different computers to one Midi Clock.
Since one will have coge this will be between a Mac OSX and windows running traktor that produces midi clock.
For windows Midi Yoke (tested in XP) to wrap Midi clock to Pure Data extended (tested with v 0.41.4) from there the clock will be sent has an OSC message to one or all network computer(s). On the listening side there will be one other Pure Data patch converting a specific OSC message to Midi clock. Then coge can catch this midi clock just by clicking "Midi clk".
This is nothing special but it took me almost 3 weeks to accomplish it. Given that i knew nothing about pure data at the time, this site was very helpful. All examples were gathered from here.
Also note that this is not the best way.
There are Midi cables for this.
There are usb to midi converters, for those who don't have midi ports. Also external sound boards quite good with several inputs and outputs.
I have experienced a +/- 3 Beats float of BPM count on coge but always around the correct number, over time this seems to float less.
This still lacks testing.
Anyway.
You'll need Pure data extended on every machine.
You'll need Midi Yoke on Windows.
You can use Yac Driver on Mac OSX for midi wrap.
Don't know for linux, sorry. (read somewhere something about jack)
On pure data you'll need to define the midi device input or output which ever is the case.
On windows it's easy on any pure data windows you can set midi devices, choose midi Yoke (the channel number should be the same in the receiver input and sender output).
On OSX it's on the main window, under preferences.
If using this with quartz composer one can skip the pure data on the OSC server side (which is the one that listens). If adding more functions to this keep in mind that quartz composer does not understands 0 arguments messages. (I think this should be a bug)
You are advised to change the IP on the pure data patch to which ever is your destination. You can use 0.0.0.0 to broadcast. Don't use wireless, it's a 0 security communication protocol.
Hope to save someone's time. GL
Compiling pdvjtools on Mac OS X 10.5.8
dear all,
is there a way to get the pdvjtools working on Mac OS X10.5.8?
I would be especially interested in the videogrid object (as I hope if I am able to compile this all the other pdvjtools can also be built).
What I did by now (besides having Xcode on the system):
1. install pd-extended binary from:
http://downloads.sourceforge.net/pure-data/Pd-0.41.4-extended-macosx104-i386.dmg
2. install ffmpeg via macports (a "ffmpeg -version" results in ffmpeg version 0.5)
3. get ffmpeg sources from: http://ffmpeg.org/releases/ffmpeg-0.5.tar.bz2
4. get the PD sources from:
http://downloads.sourceforge.net/pure-data/Pd-0.41.4-extended.tar.bz2
5. get the pdvjtools from:
http://pure-data.svn.sourceforge.net/viewvc/pure-data/trunk/externals/pdvjtools/
6. modified the first line of the videogrid-makefile to fit my pd sources:
PD_SRC=/Daten/pdsrc/Pd-0.41.4-extended/pd/src
7. tried to modify the second line of the makefile to:
FFMPEG_HEADERS=-I/Daten/pdsrc/ffmpeg-0.5
This is the folder with the ffmpeg sources.
After make clean I start make - it fires up gcc with some correct path to the pd-sources - but the ffmpeg sources are the problem:
g++ -I/Daten/pdsrc/ffmpeg-0.5 -I/Daten/pdsrc/Pd-0.41.4-extended/pd/src -fPIC -c -O -o videogrid.o videogrid.cc
videogrid.cc:47:32: error: ffmpeg/avcodec.h: No such file or directory
...
Question 1: why this path? I never said "ffmpeg" is the path but "ffmpeg-0.5"?
Question 2: Ok - avcodec.h is really not in ffmpeg but in:
/Daten/pdsrc/ffmpeg-0.5/libavcodec/avcodec.h
(I also "opened up" the rights to not be trapped in a permission thingy)
make still does not work - same error;
So I tried:
FFMPEG_HEADERS=-I/ffmpeg-0.5
in the makefile - the result was the same.
So I changed the ffmpeg headers to:
FFMPEG_HEADERS=-I/Daten/pdsrc/ffmpeg-0.5/libavcodec/
Result:
g++ -I/Daten/pdsrc/ffmpeg-0.5/libavcodec/ -I/Daten/pdsrc/Pd-0.41.4-extended/pd/src -fPIC -c -O -o videogrid.o videogrid.cc
videogrid.cc:47:32: error: ffmpeg/avcodec.h: No such file or directory
So I started to mess around even more - i renamed the "libavcodec" dir to "ffmpeg" and restored the headers to FFMPEG_HEADERS=-I/Daten/pdsrc/ffmpeg-0.5
This results (as avcodec.h is now found) in:
g++ -I/Daten/pdsrc/ffmpeg-0.5 -I/Daten/pdsrc/Pd-0.41.4-extended/pd/src -fPIC -c -O -o videogrid.o videogrid.cc
videogrid.cc:48:33: error: ffmpeg/avformat.h: No such file or directory
This for me looks like a never-ending pain - hence the last question:
Does somebody have a working makefile for the pdvjtools for Mac OS X or at least some hint on how to get them working?
cheers
clouds11
How to Enjoy Your Favorite Videos on Portable Devices at Will For Mac
Are you a Mac user?
Do you still feel frustrated that you can't enjoy your favorite videos on portable devices at will?
Now, a professional software---Aiseesoft Video Converter for Mac(http://www.aiseesoft.com/video-converter-for-mac.html)
can help you to solve all the problems. With it, you can convert between all popular video and audio formats with super fast conversion speed and high output quality, such as AVI, MP4, MOV, MKV, WMV, DivX, XviD, MPEG-1/2, 3GP, 3G2, VOB Video, MP3, AAC, and AC3 Audio etc. In addition, the best video converter for Mac can also extract audio from video file and convert video to MP3, AC3, and AAC...as you want.
OK, let's move to how to use the amazing software.
Step 0: Download and install Aiseesoft Video Converter for Mac.
After a while, you can use the following interface:
http://www.aiseesoft.com/images/guide/dvd-converter-suite-mac/video.jpg
Step 2. Load Video
You can load your video by clicking "Add File" button or clicking "File" button, you can choose "add file" on a drop-down list.
Step 3. Output format and Settings
From the "Profile" drop-down list you can find one format that meets your requirement.
After doing the 3 steps above, you can click "start" button to start conversion.
Wait a minute, the conversion will be soon finished.
Tips:
1. Trim
"Trim" function is for you to select the clips you want to convert.
There are 3 ways that you can trim your video.
a. You can drag the buttons(1) to set the start and end time
b. You can preview the video first and when you want to start trim click the left one of the pair buttons(2) when you want to end click the right one.
c. You can set the exact start and end time on the right side of the pop-up window.
It is for you to select the clips you want to convert.
http://www.aiseesoft.com/images/guide/dvd-ripper-for-mac/trim.jpg
2. Crop
Cut off the black edges of the original movie video and watch in full screen using the "Crop" function.
There are 3 ways that you can crop your video.
a. We provide 7 modes on our "Crop Mode"(1)
b. You can set your own mode on the right side of the pop-up window(2)
c. You can drag frame to set your own crop mode(3)
You can cut off the black edges of the original movie video and watch in full screen using the "Crop" function.
http://www.aiseesoft.com/images/guide/dvd-ripper-for-mac/crop.jpg
3. Snapshot and merge into one file
If you like the current image of the video you can use the "Snapshot" option. Just click the "Snapshot" button the image will be saved and you can click the "Open" button next to "Snapshot" button to open your picture.
If you want to make several files output as one you can choose "Merge into one file".
If you are windows users, you can go to Aiseesoft Total Video Converter(http://www.aiseesoft.com/total-video-converter.html) to get more information.
Open DMX external?
hi there
i followed the different forum post on getting the enttec open dmx usb to work in ubuntu and pd.
so far i downloaded the dmx4linux-2.6 package
extracting it ok
patching it ok
./configure ok
make gives me this result:
make -C libs all
make[1]: Betrete Verzeichnis '/home/maik/externals/dmx4linux-2.6.1/libs'
cc -c -o open.o open.c
cc -c -o sleep.o sleep.c
ar rcs libdmx4l.a open.o sleep.o
cc -fPIC -c -o open.lo open.c
cc -fPIC -c -o sleep.lo sleep.c
cc -shared -Wl,-soname,libdmx4l.so.2 -o libdmx4l.so.2.5 open.lo sleep.lo -lc
ln -sf libdmx4l.so.2.5 libdmx4l.so.2
ln -sf libdmx4l.so.2 libdmx4l.so
make[1]: Verlasse Verzeichnis '/home/maik/externals/dmx4linux-2.6.1/libs'
make -C tools all
make[1]: Betrete Verzeichnis '/home/maik/externals/dmx4linux-2.6.1/tools'
cc -Ipointer -Wall -O2 -I/home/maik/externals/dmx4linux-2.6.1/include -c -o dmxtest.o dmxtest.c
dmxtest.c: In Funktion »Reader«:
dmxtest.c:65: Warnung: Der Rückgabewert von »fgets«, der mit dem Attribut warn_unused_result deklariert wurde, wird ignoriert
dmxtest.c: In Funktion »Writer«:
dmxtest.c:143: Warnung: Der Rückgabewert von »fgets«, der mit dem Attribut warn_unused_result deklariert wurde, wird ignoriert
cc -L/home/maik/externals/dmx4linux-2.6.1/libs -o dmxtest dmxtest.o -ldmx4l
cc -Ipointer -Wall -O2 -I/home/maik/externals/dmx4linux-2.6.1/include -c -o midi2dmx.o midi2dmx.c
midi2dmx.c: In Funktion »DMXput«:
midi2dmx.c:246: Warnung: Der Rückgabewert von »write«, der mit dem Attribut warn_unused_result deklariert wurde, wird ignoriert
midi2dmx.c:254: Warnung: Der Rückgabewert von »write«, der mit dem Attribut warn_unused_result deklariert wurde, wird ignoriert
midi2dmx.c: In Funktion »reset«:
midi2dmx.c:297: Warnung: Der Rückgabewert von »write«, der mit dem Attribut warn_unused_result deklariert wurde, wird ignoriert
cc -L/home/maik/externals/dmx4linux-2.6.1/libs -o midi2dmx midi2dmx.o -ldmx4l
cc -Ipointer -Wall -O2 -I/home/maik/externals/dmx4linux-2.6.1/include -c -o uart_dmxd.o uart_dmxd.c
cc -L/home/maik/externals/dmx4linux-2.6.1/libs -o uart_dmxd uart_dmxd.o -ldmx4l
cc -Ipointer -Wall -O2 -I/home/maik/externals/dmx4linux-2.6.1/include -c -o dmxconsole.o dmxconsole.c
dmxconsole.c:19:20: Fehler: curses.h: No such file or directory
dmxconsole.c: In Funktion »mask«:
dmxconsole.c:138: Warnung: Implizite Deklaration der Funktion »erase«
dmxconsole.c:141: Warnung: Implizite Deklaration der Funktion »attrset«
dmxconsole.c:142: Warnung: Implizite Deklaration der Funktion »move«
dmxconsole.c:143: Fehler: »COLS« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:143: Fehler: (Jeder nicht deklarierte Bezeichner wird nur einmal aufgeführt
dmxconsole.c:143: Fehler: für jede Funktion in der er auftritt.)
dmxconsole.c:144: Warnung: Implizite Deklaration der Funktion »addch«
dmxconsole.c:148: Fehler: »LINES« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:161: Warnung: Implizite Deklaration der Funktion »printw«
dmxconsole.c: In Funktion »values«:
dmxconsole.c:199: Fehler: »COLS« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:207: Warnung: Implizite Deklaration der Funktion »mvprintw«
dmxconsole.c:249: Fehler: »LINES« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:263: Warnung: Implizite Deklaration der Funktion »attron«
dmxconsole.c:263: Fehler: »A_REVERSE« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:268: Warnung: Implizite Deklaration der Funktion »addstr«
dmxconsole.c: In Funktion »crossfade«:
dmxconsole.c:362: Warnung: Implizite Deklaration der Funktion »refresh«
dmxconsole.c: In Funktion »load«:
dmxconsole.c:404: Warnung: Der Rückgabewert von »fread«, der mit dem Attribut warn_unused_result deklariert wurde, wird ignoriert
dmxconsole.c: In Funktion »changepalette«:
dmxconsole.c:470: Warnung: Implizite Deklaration der Funktion »init_pair«
dmxconsole.c:470: Fehler: »COLOR_BLACK« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:470: Fehler: »COLOR_CYAN« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:471: Fehler: »COLOR_GREEN« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:472: Fehler: »COLOR_WHITE« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:473: Fehler: »COLOR_BLUE« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:474: Fehler: »COLOR_RED« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:476: Fehler: »COLOR_YELLOW« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:492: Warnung: Implizite Deklaration der Funktion »COLOR_PAIR«
dmxconsole.c:503: Fehler: »A_REVERSE« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:504: Fehler: »A_BOLD« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:505: Fehler: »A_NORMAL« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c: In Funktion »calcscreengeometry«:
dmxconsole.c:536: Fehler: »COLS« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:543: Fehler: »LINES« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c: Auf höchster Ebene:
dmxconsole.c:566: Fehler: expected »=«, »,«, »;«, »asm« or »__attribute__« before »*« token
dmxconsole.c: In Funktion »pointerevent«:
dmxconsole.c:613: Fehler: »KEY_UP« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:616: Fehler: »KEY_DOWN« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:620: Fehler: »KEY_LEFT« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:623: Fehler: »KEY_RIGHT« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:627: Fehler: »KEY_PPAGE« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:630: Fehler: »KEY_NPAGE« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c: Auf höchster Ebene:
dmxconsole.c:636: Fehler: expected »)« before »a«
dmxconsole.c: In Funktion »cleanup«:
dmxconsole.c:648: Fehler: »w« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:650: Warnung: Implizite Deklaration der Funktion »resetty«
dmxconsole.c:651: Warnung: Implizite Deklaration der Funktion »endwin«
dmxconsole.c: In Funktion »main«:
dmxconsole.c:793: Fehler: »w« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:793: Warnung: Implizite Deklaration der Funktion »initscr«
dmxconsole.c:800: Warnung: Implizite Deklaration der Funktion »savetty«
dmxconsole.c:801: Warnung: Implizite Deklaration der Funktion »start_color«
dmxconsole.c:802: Warnung: Implizite Deklaration der Funktion »noecho«
dmxconsole.c:803: Warnung: Implizite Deklaration der Funktion »raw«
dmxconsole.c:804: Warnung: Implizite Deklaration der Funktion »keypad«
dmxconsole.c:804: Fehler: »TRUE« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:811: Fehler: »mmask_t« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:811: Fehler: expected »;« before »m«
dmxconsole.c:812: Warnung: Implizite Deklaration der Funktion »mousemask«
dmxconsole.c:812: Fehler: »BUTTON1_PRESSED« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:812: Fehler: »BUTTON2_PRESSED« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:812: Fehler: »BUTTON3_PRESSED« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:812: Fehler: »BUTTON4_PRESSED« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:812: Fehler: »REPORT_MOUSE_POSITION« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:812: Fehler: »m« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:813: Warnung: Implizite Deklaration der Funktion »mouseinterval«
dmxconsole.c:855: Warnung: Implizite Deklaration der Funktion »wgetch«
dmxconsole.c:961: Fehler: »KEY_PPAGE« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:979: Fehler: »KEY_NPAGE« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:1012: Fehler: »KEY_HOME« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:1018: Fehler: »KEY_END« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:1026: Fehler: »KEY_RIGHT« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:1031: Fehler: »KEY_LEFT« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:1036: Fehler: »KEY_DOWN« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:1047: Fehler: »KEY_UP« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:1059: Fehler: »KEY_IC« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:1066: Fehler: »KEY_DC« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:1129: Warnung: Implizite Deklaration der Funktion »KEY_F«
dmxconsole.c:1129: Fehler: case-Marke reduziert nicht auf Ganzzahlkonstante
dmxconsole.c:1133: Fehler: case-Marke reduziert nicht auf Ganzzahlkonstante
dmxconsole.c:1137: Fehler: »KEY_MOUSE« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:1139: Fehler: expected »=«, »,«, »;«, »asm« or »__attribute__« before »oldevent«
dmxconsole.c:1139: Fehler: »oldevent« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:1140: Fehler: »MEVENT« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:1140: Fehler: expected »;« before »event«
dmxconsole.c:1141: Warnung: Implizite Deklaration der Funktion »getmouse«
dmxconsole.c:1141: Fehler: »event« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:1141: Fehler: »OK« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:1141: Warnung: Implizite Deklaration der Funktion »meventcmp«
dmxconsole.c:1184: Warnung: Implizite Deklaration der Funktion »resizeterm«
make[1]: *** [dmxconsole.o] Fehler 1
make[1]: Verlasse Verzeichnis '/home/maik/externals/dmx4linux-2.6.1/tools'
make: *** [all] Fehler 2
any suggestions? something with dmxconsole?
i'm really not into all the programming stuff so i basically need everything step by step.
hope someone can help
greets uisel
Pure:dyne GNU/Linux leek&potato
sorry for x, please `cat /dev/mem > /dev/dsp`
--
the new pure:dyne GNU/Linux leek&potato released!
--
*
,--. *
,---. --.,--.--.--.,---. --.,-' |--. ,--.--,--, ,---. *
| .-. | || | .--' .-. :--' .-. |\ ' / \ .-. : *
| '-' ' '' ' | --.--. `-' | \ ' | || | --. .
| -' `----' --' `----'--'`---' -' / `--''--'`----'
`--' http://puredyne.goto10.org `---' *
.
pure:dyne is an operating system developed to provide media artists with
a complete set of tools for realtime audio and video processing.
pure:dyne is a live distribution, you don't need to install anything.
Simply boot your computer using the liveCD/DVD or liveUSB and you're
ready to start using software such as Pure Data, Supercollider, Icecast,
Csound, Fluxus, Processing, Arduino and much much more.
pure:dyne will work on any x86 PC laptop, desktop, and single-board
computers, including the intel-based Mac, Asus' Eee PC, and any x86
netbooks
--
Get pure:dyne now!!!
(CD/DVD ISO, liveUSB, Debian packages, etc)
https://code.goto10.org/projects/puredyne/wiki/GetPureDyne
--
/usr/share/soup
Each pure:dyne release come with a Free/Libre and Open Source Soup
(FLOSS). This time we hope you will enjoy our leek and potato flavor
Depends: Leek, Potato, Milk, Salt, Oil, Pumpkin oil
Suggests: Thyme, Sage, Pepper, Parsley, Crème fraiche
Build-Depends: Cookpot, BlenderkMasher, Frypan, Bowl
make: default: serving
tender potato: potato cookpot salt water 20min
tasty leek: leek oil frypan 5min
puree: tender potato tasty leek blender
soup: puree milk herbs cookpot 5min
herbs: thyme sage pepper serving: soup bowl
parsely pumpkin oil crème fraiche
for more details:
echo "deb http://debian.goto10.org/debian/ lenny main" >> \
/etc/apt/sources.list && apt-get install souprecipe
--
pure:dyne is a GOTO10 project, developed by Rob Canning, Heather
Corcoran, Antonios Galanopoulos, Karsten Gebbert, Claude Heiland-Allen,
Chun Lee, Aymeric Mansoux, Marloes de Valk and with the contribution of
Robert Atwood (Openlab) and Jof Thibaut (Labomedia).
pure:dyne is supported by Arts Council England and powered by GNU/Linux
Debian, debian-multimedia.org and the great Debian Live project.
We would like to thank bob the pbuilder and all the pure:dyne users for
their ongoing feedback, suggestions and testing!
--
:*
Complete noob alert! (installation)
Okay, hello guys. Excited to be here... I've recently become hooked on Pd.
I can do a fair bit with it already but I'm just getting really fed up now that practically every patch I download from someone else contains at least one object or some kind of abstraction I either don't understand or don't have some how.
On Mac OS X PPC 10.4, I've downloaded Pd Extended, but I'm pretty sure I don't have all of these libraries that many of you talk about. (isn't that what Extended is supposed to be all about?) I really want to start working with GEM.
at start up, I always get this in the console. This is bad, no?
libdir loader $Revision: 1.8 $
written by Hans-Christoph Steiner <hans@at.or.at>
compiled on Jul 29 2008 at 04:03:05
compiled against Pd version 0.40.3.extended
/Applications/Pure Data/Pd-extended.app/Contents/Resources/extra/Gem/Gem.pd_darwin: dlopen(/Applications/Pure Data/Pd-extended.app/Contents/Resources/extra/Gem/Gem.pd_darwin, 10): Library not loaded: /usr/X11R6/lib/libfreetype.6.dylib
Referenced from: /Applications/Pure Data/Pd-extended.app/Contents/Resources/extra/Gem/Gem.pd_darwin
Reason: image not found
Gem: can't load library
libdir_loader: added 'cyclone' to the global objectclass path
libdir_loader: added 'zexy' to the global objectclass path
libdir_loader: added 'creb' to the global objectclass path
libdir_loader: added 'cxc' to the global objectclass path
libdir_loader: added 'iemlib' to the global objectclass path
libdir_loader: added 'list-abs' to the global objectclass path
libdir_loader: added 'mapping' to the global objectclass path
libdir_loader: added 'markex' to the global objectclass path
libdir_loader: added 'maxlib' to the global objectclass path
libdir_loader: added 'memento' to the global objectclass path
libdir_loader: added 'mjlib' to the global objectclass path
libdir_loader: added 'motex' to the global objectclass path
libdir_loader: added 'oscx' to the global objectclass path
libdir_loader: added 'pddp' to the global objectclass path
libdir_loader: added 'pdogg' to the global objectclass path
libdir_loader: added 'pixeltango' to the global objectclass path
libdir_loader: added 'pmpd' to the global objectclass path
libdir_loader: added 'rradical' to the global objectclass path
libdir_loader: added 'sigpack' to the global objectclass path
libdir_loader: added 'smlib' to the global objectclass path
libdir_loader: added 'toxy' to the global objectclass path
libdir_loader: added 'unauthorized' to the global objectclass path
libdir_loader: added 'pan' to the global objectclass path
libdir_loader: added 'freeverb' to the global objectclass path
libdir_loader: added 'hcs' to the global objectclass path
libdir_loader: added 'jmmmp' to the global objectclass path
libdir_loader: added 'ext13' to the global objectclass path
libdir_loader: added 'ggee' to the global objectclass path
libdir_loader: added 'flib' to the global objectclass path
libdir_loader: added 'ekext' to the global objectclass path
libdir_loader: added 'flatspace' to the global objectclass path
/Applications/Pure Data/Pd-extended.app/Contents/Resources/extra/pdp.pd_darwin: dlopen(/Applications/Pure Data/Pd-extended.app/Contents/Resources/extra/pdp.pd_darwin, 10): Library not loaded: /usr/X11R6/lib/libX11.6.dylib
Referenced from: /Applications/Pure Data/Pd-extended.app/Contents/Resources/extra/pdp.pd_darwin
Reason: image not found
pdp: can't load library
/Applications/Pure Data/Pd-extended.app/Contents/Resources/extra/pidip.pd_darwin: dlopen(/Applications/Pure Data/Pd-extended.app/Contents/Resources/extra/pidip.pd_darwin, 10): Library not loaded: /usr/X11R6/lib/libX11.6.dylib
Referenced from: /Applications/Pure Data/Pd-extended.app/Contents/Resources/extra/pidip.pd_darwin
Reason: image not found
pidip: can't load library
PD+Logic Pro / Intel mac
Hello everyone,
No idea what to do, maybe anybody had the same kind of trouble :
I ported a work based on PD (version 38), controlling in real time Logic pro to play music with sensors on stage, on Intel mac 2.16 gHz. Things worked fine (with rosetta), although I pushed the processor to its limit.
I've installed recently the extended package (version 40 of june 2008) that works on Intel processors, without emulation software, and all binaries and libraries I need (maybe more than I really need though). Everything else remains the same : same (big) patch, same logic pro files, same machine and so on. The only change is PD (version 38 - > version 40)
What's happening now is that I get clicks in sound computed by logic pro, as if the processor was on it's knees (which is probably not the case).
Where do the cliks come from ? Real time issue between PD (without emulation) and Logic Pro ? Start flag options matter in PD ? To many (unsed) binaries loaded at start up ? Anyone has a hint ?
sincerely
jean-marie
Problem compiling external on Windows
Alberto,
I figured it out. I made a few changes to your makefile, though:
1. added a path to m_pd.h
2. changed "rm -f $*.o ../$*.dll" to "rm -f $*.o $*.dll"
(the .dll file wasn't being removed from the working directory)
3. forced DEST to the pd/extra directory
4. removed CSYM since it's not being used
5. removed "current: pd_win"; changed "pd_win: $(NAME).dll" to "all: $(NAME).dll"
6. removed non-win stuff
7. removed the clean and install targets for right now
Hopefully these changes make it easier for the complete newbie. Anyway, with enormous thanks to AlbertoZ, here's a mini-tutorial for using my makefile.
1. if you're using pd-extended, save this as "m_pd.h" (into the same directory with
helloworld.c). If you're using pd-vanilla, you can skip this step.
2. save this code as "mk.mk" (into the same directory with helloworld.c):
# mk.mk -- invoke with "make -f mk.mk"
NAME = helloworld
PDPATH = "c:/Progra~1/pd"
LDFLAGS = --export-dynamic -shared
WININCLUDE = -I $(PDPATH)/src
WINCFLAGS = -DPD -DNT -W3 -WX -Werror -Wno-unused \
-mms-bitfields -Wno-parentheses -Wno-switch \
-O6 -funroll-loops -fomit-frame-pointer
all: $(NAME).dll
.SUFFIXES: .dll
.c.dll:
gcc $(WINCFLAGS) $(WININCLUDE) -c -o $*.o $*.c
gcc $(LDFLAGS) -o $*.dll $*.o $(PDPATH)/bin/pd.dll
strip --strip-unneeded $*.dll
cp $*.dll $(PDPATH)/extra
rm -f $*.o $*.dll
2. modify the PDPATH variable if needed to reflect the actual location of pd on your
system (MSYS will interpret c:/Program Files/pd as C:/Program, so use
c:/Progra~1/pd instead)
3. if you're using pd-extended, remove line 6 (WININCLUDE = -I $(PDPATH)/src) and
remove $(WININCLUDE) from line 14.
4. close all pd windows if any are open
5. in MSYS, navigate to the directory with helloworld.c and type: make -f mk.mk
(type make -s -f mk.mk if you want to hide the lengthy shell response)
6. the shell should respond with something like:
gcc -DPD -DNT -W3 -WX -Werror -Wno-unused -mms-bitfields -Wno-parentheses
-Wno-switch -O6 -funroll-loops -fomit-frame-pointer -I "c:/Progra~1/pd"/src -c -o
helloworld.o helloworld.c
gcc --export-dynamic -shared -o helloworld.dll helloworld.o
"c:/Progra~1/pd"/bin/pd.dll
strip --strip-unneeded helloworld.dll
cp helloworld.dll "c:/Progra~1/pd"/extra
rm -f helloworld.o helloworld.dll
7. a new helloworld.dll file should be saved into the pd/extra folder, and you should be
able to create the "helloworld" object in a new pd window.
Good luck!
middlepedal