Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
P
purr-data
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Jonathan Wilkes
purr-data
Commits
2f51807d
Commit
2f51807d
authored
17 years ago
by
Miller Puckette
Browse files
Options
Downloads
Patches
Plain Diff
test 12
parent
d12f5895
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
doc/1.manual/x1.htm
+9
-17
9 additions, 17 deletions
doc/1.manual/x1.htm
doc/1.manual/x3.htm
+20
-147
20 additions, 147 deletions
doc/1.manual/x3.htm
doc/1.manual/x5.htm
+2
-2
2 additions, 2 deletions
doc/1.manual/x5.htm
src/m_pd.h
+1
-1
1 addition, 1 deletion
src/m_pd.h
with
32 additions
and
167 deletions
doc/1.manual/x1.htm
+
9
−
17
View file @
2f51807d
...
...
@@ -102,21 +102,19 @@ it from: <A href="http://iem.kug.ac.at/GEM">http://iem.kug.ac.at/GEM</A> .
<P>
At least three video processing packages are available for Pd. The oldest
is Framestein, by Juha Vehvilainen. This runs on Windows only:
<A
href=
"http://framestein.org"
>
http://framestein.org
</A>
.
<P>
The newer
<A>
href="http://zwizwa.fartit.com/pd/pdp/overview.html"> PDP
<A>
library, by Tom Schouten, and its extension
<A
The newer PDP
library, by Tom Schouten, and its extension
<A
href=
"http://ydegoyon.free.fr/pidip.html"
>
PiDiP
</A>
by Yves Degoyon, run well
in linux and has been ported to Windows and MacOS. Video is extremely fast in
PDP, but is currently limited to 240x320 resolution.
<P>
Mathieu Bouchard has written
<A
href=
http://artengine.ca/gridflow/
>
in linux and have been ported to Windows and MacOS.
Mathieu Bouchard has written
<A
href=
http://artengine.ca/gridflow/
>
Gridflow
</A>
, which runs on linux and MacOSX. The mathematical operators are
more powerful than in PDP, and the design makes smarter use of cache behavior
in modern CPUs.
All this and much more is described in detail at the
<A
href=
"http://puredata.info/community/projects/convention04/"
>
first Pd Convention
</A>
.
<P>
the Pd extended package, maintained by Hans-Christof Steiner, can be
downloaded from the
<A
href=
http://sourceforge.net/projects/pure-data/
>
Pd's
sourceforge site
</A>
. All this and much more is described in detail on
<A
href=
"http://puredata.info/"
>
http://puredata.info/
</A>
.
<P>
...
...
@@ -125,14 +123,8 @@ Here are some more Pd links (in the order I found them): <BR>
<a
href=
"http://www.crca.ucsd.edu/~msp"
>
Miller Puckette's home page
</a><br>
<a
href=
"http://gige.epy.co.at/"
>
Guenter Geiger's home page
</a><br>
<a
href=
"http://www.danks.org/mark"
>
Mark Dank's home page
</a><br>
<a
href=
"http://wonk.epy.co.at"
>
Pd page on Wonk (Klaus)
</a><br>
<a
href=
"http://iem.kug.ac.at/~zmoelnig/index.html"
>
Johannes M Zmoelnig
</a><br>
<a
href=
"http://iem.kug.ac.at/~math/pd/"
>
Norbert Math's Pd page
</a>
<br>
<a
href=
"http://iem.kug.ac.at/pdwiki/"
>
Nicolas Lhommet's WikiWikiWeb page for Pd
</a><br>
<a
href=
"http://iem.kug.ac.at/pdb/"
>
Norbert's searchable list of all known
Pd objects
</a><br>
<a
href=
"http://suita.chopin.edu.pl/~czaja/miXed/externs/xeq.html"
>
Krzysztof Czaja's MIDI file support
</a><br>
<a
href=
"http://www.davesabine.com/media/puredata.asp?action=pddp"
>
...
...
@@ -142,7 +134,7 @@ new, highly detailed help windows</a><br>
Fernando Pablo Lopez's augmented Pd RPMs from Planet CCRMA
</a><br>
<a
href=
"http://suita.chopin.edu.pl/~czaja/miXed/externs/cyclone.html"
>
Cyclone - Krzysztof Czaja's Max compatibility library
</a><br>
On-line book
project
:
On-line book:
<A
HREF=
"http://www.crca.ucsd.edu/~msp/techniques.htm"
<
I
>
Theory and Techniques of Electronic Music
</I>
<br>
...
...
This diff is collapsed.
Click to expand it.
doc/1.manual/x3.htm
+
20
−
147
View file @
2f51807d
...
...
@@ -17,12 +17,11 @@
<BR><BR>
</P>
<P>
Pd runs under Irix, Microsoft Windows, Linux, and MacOS 10.2 (Jaguar).
How to get Pd up and running depends on your operating system,
but the overall strategy is the same.
You must first get and install it, and
then untangle whatever problems arise in handling audio and MIDI input
and output, and finally get Pd to meet its real-time obligations reliably.
<P>
Pd runs under Microsoft Windows, Linux, and MacOS (10.2 or later). How to
get Pd up and running depends on your operating system, but the overall strategy
is the same. You must first get and install it, and then untangle whatever
problems arise in handling audio and MIDI input and output, and finally get Pd
to meet its real-time obligations reliably.
<P>
Installation instructions are platform-specfic; the following four
sections
...
...
@@ -145,9 +144,8 @@ port, 17-32 the second one, and so on. The midiin, sysexin, midiout objects
give you a separate inlet to specify which of the open MIDI port numbers
you want.
<P>
System exclusive MIDI message input and output is theoretically supported
in version 0.37 but does not work correctly on windows, even in 0.38.
<P>
System exclusive MIDI message input and output are theoretically supported
but does not work uniformly across all operating systems..
<H3>
<A
name=
s1.1
>
3.2. Installing Pd in Microsoft Windows
</A>
</H3>
...
...
@@ -211,32 +209,17 @@ your situation. (If not, you can read the Pd mailing list archives for
recent problems; if you have found a new problem you're welcome to post it
to the list.)
<P>
If you're running RedHat or Mandrake you might want to use RPM to install
Pd. For other linux distributions, download the "tar.gz" version and compile
Pd.
<H4>
Getting Pd as an RPM
</H4>
<P>
Download Pd, perhaps from
<a
href=
"http://www.crca.ucsd.edu/~msp/software.html"
>
http://www.crca.ucsd.edu/~msp/software.html
</A>
,
to a file such as "pd-0.33-0.i386.rpm".
Open a "shell" window, cd to
the directory containing the file, and type the command,
<PRE>
rpm -i pd-0.33-0.i386.rpm
</PRE>
<P>
(substituting the real file name.) Then you should be able to type "pd"
to a shell and watch the Pd main window appear.
<P>
Pd is available via the package systems for some linux distributions,
but not always in the most recent version possible. It's relatively easy to
compile your own copy of Pd and that is the approach described here.
<H4>
Getting Pd as a .tar.gz
</H4>
<P>
Before you start, you might want to check that you have the resources Pd
needs. The main things you need are the C compiler, X windows (including
the X development package for Pd to link against) and TK. I
f you're running
Redhat or Mandrake 7.x or up, I think these are all present by default.
The RedHat X client developer "RPM" package is called XFree86-devel
.
the X development package for Pd to link against) and TK. I
t's almost
always enough to load "tcl-devel" and "tk-devel" packages using yum or
apt-get
.
<P>
Download Pd, perhaps from
...
...
@@ -254,7 +237,6 @@ to "pd/src" and type
<P>
<BR>
./configure
<BR>
make depend
<BR>
make
</P>
...
...
@@ -410,15 +392,8 @@ always compile Pd for yourself, whether to make your own improvements, or
possibly so that you can get the newest version before it shows up compiled for
Mac OS X.
<P>
To be able to compile Pd, you must have installed Tcl/Tk
specifically in
/Applications/Wish Shell.app
and /Library/Frameworks/Tk.framework and /Library/Frameworks/Tcl.framework.
<P>
First download and install TK for OSX. I get it from:
<A
href=
http://tcltkaqua.sourceforge.net/
>
http://tcltkaqua.sourceforge.net/.
</A>
<P>
To be able to compile Pd, you must have Tcl/Tk installed in the standard
places. I think this is true fro all reasoably recent releases of OSX.
<P>
Then, just as for linux, just unload pd-whatever.tar.gz into a directory
such as ~/pd-0.36-0, cd to pd-0.36-0/src, type "./configure"
...
...
@@ -446,109 +421,6 @@ as needed.
MIDI interface installed. I've seen this done with Midisport devices and
I think you just download the OSX driver and follow directions.
<H3>
<A
name=
s1.4
>
3.5. Installing Pd in IRIX (SGI machines)
</A>
</H3>
<P>
(NOTE: as of release 0.35 I haven't had an IRIX machine to compile
Pd on. Soeren Bovbjerg has kindly compiled 0.35 and 0.36 for IRIX;
you can find these at
<A
href=
"http://www.cvmt.dk/~sb/"
>
http://www.cvmt.dk/~sb/
</A>
.)
<P>
Download Pd, which will be a "tar.Z" file. You can unpack this by
typing "zcat [name].tar.Z | tar xf -" to a shell. This creates a directory
named "pd".
<P>
Starting with release 0.25, Pd should come in "n32" and "o32" versions.
"o32" is the default and will run on IRIX 5.x and up. "n32" runs faster,
but only on 6.x and up. Also, "externs" have to be updated for n32. The
"pd" executable (bin/pd in the distribution) is a symbolic link to either
"pd-o32" or "pd-n32."
<P>
NOTE: "externs" appear to be broken in the N32 version... I'm not sure
how long this has been true. If you want to use external objects, you have
to use the O32 version.
<P>
If for example you put Pd in ~, the executable program
will be ~/pd/bin/pd. The program looks at its command line to
figure out where it is, so it's best to invoke Pd by its full pathname.
You should always invoke Pd from a Unix shell because many important
messages appear on the standard error.
<P>
The simplest way to invoke Pd is to
make an alias in your ".cshrc" file (assuming you use the "c" shell) such as:
</P>
<PRE>
alias pd ~/pd/bin/pd
</PRE>
<P>
(assuming your Pd distribution landed in ~, for example).
<P>
Pd will open the "default" audio input and output devices, without regard
for whether they are in sync or not. This will be bad if they aren't; use
the "-noadc" or "-nodac" flag to disable either the input or output. Pd is
supposed to handle up to 8 channels of audio in and/or out. (But at least
one user had to recompile Pd on his Onyx to get 8 channels working.)
<P>
As to MIDI, Pd simply attempts to open all available MIDI devices for input and
output, which is probably very bad on anything more recent than my Indy. If
any MIDI ports fail to open either for input or output, all MIDI is disabled.
<P>
Pd has not been fixed to request real-time priority from Irix; it will
compete with all other processes on your machine for CPU time.
<H4>
Audio and MIDI in IRIX
</H4>
<P>
Pd takes command line arguments to set the number of input and output channels
and the sample rate. These don't affect the SGI's audio settings, which you
have to set separately using the "audio panel." Pd does detect the audio
sample rate if you don't specify one on the command line.
<P>
On SGI machines, you have to work to get MIDI running. Before you start Pd, verify
that least one MIDI port is configured open. Pd opens the FIRST MIDI port
that's open. You might want to get rid of the "software" MIDI port if you're
running 6.x. On Indys, the usual practice is to open serial port number 2
because some systems configure port 1 as "console" by default. You can use the
GUI if you want, or else just type
<PRE>
startmidi -d /dev/ttyd2
</PRE>
<P>
to get port 2 speaking MIDI, and
<PRE>
stopmidi
</PRE>
<P>
to stop it. You can test whether MIDI is configured by typing,
<PRE>
ps -dafe | grep midi
</PRE>
<P>
and looking for "startmidi" processes.
<P>
It's a good idea to connect your serial port to your MIDI interface before
typing the "startmidi" command, not afterward, at least in 5.x. We use the
Opcode Studio 3 interface but in principle any Mac-compatible one should work.
<P>
The O2 apparently has RS232 ports, not RS422. I think SGI's web site says
something about how to deal with this.
<H3>
<A
name=
s4
>
3.6. Preferences and startup options
</A>
</H3>
<P>
Pd's behavior may be customized to instruct it where to find files, which
...
...
@@ -639,13 +511,12 @@ audio configuration flags:
-listdev -- list audio and MIDI devices
(linux specific audio:)
-frags
<
n
>
-- specify number of audio fragments (defeats audiobuf)
-fragsize
<
n
>
-- specify log of fragment size ('blocksize' is better...)
-oss -- use ALSA audio drivers
-alsa -- use ALSA audio drivers
-pa -- use portaudio (experimental version 19)
-alsadev
<
n
>
----- obsolete: use -audiodev
-32bit ---- (probably obsolete) -- use 32 bit OSS extension
-alsadev
<
n
>
-- obsolete: use -audiodev
-32bit -- (probably obsolete) -- use 32 bit OSS extension
-alsaadd
<
dev
>
-- add a device to the ALSA device list
(Windows specific audio:)
-mmio -- use MMIO drivers and API
...
...
@@ -658,6 +529,7 @@ MIDI configuration flags:
-nomidiin -- suppress MIDI input
-nomidiout -- suppress MIDI output
-nomidi -- suppress MIDI input and output
-alsamidi -- use ALSA midi API
general flags:
-path
<
path
>
-- add to file search path
...
...
@@ -678,6 +550,7 @@ general flags:
-send "msg..." -- send a message at startup (after patches are loaded)
-rt or -realtime -- use real-time priority (needs root privilege)
-nrt -- don't use real-time priority
-nosleep -- never relinquish CPU (only for multiprocessors!)
</PRE>
...
...
This diff is collapsed.
Click to expand it.
doc/1.manual/x5.htm
+
2
−
2
View file @
2f51807d
...
...
@@ -30,8 +30,8 @@ if you compile Pd in a 64-bit version of the OS it's automatically in the
<P>
In linux, a "-nosleep" flag causes Pd to poll instead of sleeping as it
waits for dac and adc; this is useful on multiprocessors when you don't mind
having Pd occupy 100% of one processor and want to get latency as low as
possible. (If you don't use this, latency on multiprocessors
---
Intel Core 2 at
least
---
is much worse for some reason than it is on uniprocessors.) It's
possible. (If you don't use this, latency on multiprocessors
-
Intel Core 2 at
least
-
is much worse for some reason than it is on uniprocessors.) It's
"experimental" but I use it every day.
<P>
added an experimental callback scheduler. This might reduce latency in
...
...
This diff is collapsed.
Click to expand it.
src/m_pd.h
+
1
−
1
View file @
2f51807d
...
...
@@ -11,7 +11,7 @@ extern "C" {
#define PD_MAJOR_VERSION 0
#define PD_MINOR_VERSION 41
#define PD_BUGFIX_VERSION 0
#define PD_TEST_VERSION "test1
1
"
#define PD_TEST_VERSION "test1
2
"
/* old name for "MSW" flag -- we have to take it for the sake of many old
"nmakefiles" for externs, which will define NT and not MSW */
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment