- Reestructuración de ficheros y directorios general
- merge v0.01 --> Añadido fileselector - Añadidas fuentes de Gem y Pure Data - pix2jpg incluído en Gem. Archivos de construcción de Gem modificados. - Añadido fichero ompiling.txt con instrucciones de compilación
This commit is contained in:
		
							parent
							
								
									c9adfd020b
								
							
						
					
					
						commit
						e85d191b46
					
				
					 3100 changed files with 775434 additions and 3073 deletions
				
			
		
							
								
								
									
										677
									
								
								pd-0.44-2/doc/1.manual/x3.htm
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										677
									
								
								pd-0.44-2/doc/1.manual/x3.htm
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,677 @@ | |||
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> | ||||
| 
 | ||||
| <HTML> | ||||
|   <HEAD> | ||||
| 	 <TITLE>Pd Documentation 3</TITLE> | ||||
|     <meta http-equiv="Content-Type" content="text/html"> | ||||
| 	 <link rel="stylesheet" type="text/css" href="pdmanual.css" media="screen"> | ||||
|   </HEAD> | ||||
| 
 | ||||
| 
 | ||||
| <BODY> | ||||
| 
 | ||||
| <H2>Pd Documentation chapter 3: Getting Pd to run</H2> | ||||
| 
 | ||||
| <P> | ||||
| <A href="index.htm#s3"> back to table of contents </A> | ||||
| <BR><BR> | ||||
| </P> | ||||
| 
 | ||||
| <P> The following are basic instructions on how to get Pd installed and running | ||||
| on your machine.  More details are maintined online on the | ||||
| <A href=http://www.pure-data.info/>pure-data.info</A> site. | ||||
| 
 | ||||
| <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 three | ||||
| sections | ||||
| will describe what to do for various operating systems you might have. | ||||
| In case of trouble also consult the Pd mailing list archive on | ||||
|     <A href="http://iem.at/mailinglists/pd-list/"> | ||||
|     http://iem.at/mailinglists/pd-list/</A> | ||||
| , which often has late-breaking news about configuration problems and solutions. | ||||
| The rest of this section describes how to get audio and MIDI to work. | ||||
| 
 | ||||
| <H3> <A name=s1.0> 3.1. Audio and MIDI </A> </H3> | ||||
| 
 | ||||
| <P> | ||||
| To test audio and MIDI, start Pd and select "test Audio and MIDI" from the | ||||
| "Media" menu.  You should see a window like this: | ||||
| 
 | ||||
| <CENTER><P> | ||||
|     <IMG src="fig11.1.png" ALT="test tone patch"> | ||||
| </P></CENTER> | ||||
| 
 | ||||
| <P> First, try to get Pd to play a sine wave over your speakers.  The "TEST | ||||
| TONE" control at top left turns this on and off.  Normally, all the output | ||||
| channels are turned on so that when you turn the tone on (to a soft -40 dB or a | ||||
| louder -20 dB) you should get output on the first eight of your output channels. | ||||
| (If you have fewer than 8 output channnels open, the extra | ||||
| channels aren't played; and if you have more, this particular patch won't | ||||
| use them.) | ||||
| 
 | ||||
| <P> If there's anything wrong, the most likely outcome is that you will hear | ||||
| nothing at all.  This could be for any of at least three reasons:  Pd might | ||||
| have failed to open the audio device; the audio card's output volume might | ||||
| be set to zero; or your audio system might not be set to amplify the computer | ||||
| output. | ||||
| 
 | ||||
| <P> The number boxes labeled "AUDIO INPUT" show the levels of incoming | ||||
| audio, in dB, with 100 being maximum.  (Incoming signals may clip at | ||||
| RMS levels below 100; for instance, a sinusoid clips at about 97 dB.) | ||||
| Any DC present in the input (such as you get with cheap audio hardware) | ||||
| will show up as level unless you turn on the "input hipass" toggle | ||||
| at right; then the DC component is filtered out before metering. | ||||
| 
 | ||||
| <P>  To test the quality of audio input and output, turn on "monitor"  | ||||
| (also at right) which causes the inputs to be played to the outputs at | ||||
| unit gain.  You should hear a faithful, non-distored copy of whatever is | ||||
| sent through the patch. | ||||
| 
 | ||||
| <P> It is easy to get two copies of Pd running by accident; on most machines | ||||
| only one at a time may be inputting and outputting sound.  (Some copy of Pd | ||||
| might have audio or MIDI devices open and prevent the copy you're trying to use | ||||
| from getting access to them.)  Having extra | ||||
| copies of Pd around will also eat CPU cycles uselessly. | ||||
| 
 | ||||
| <P> | ||||
| You may be interested in getting only audio output or audio input, or | ||||
| you may need both to run simultaneously.  By default, Pd will try to run | ||||
| both, but if you don't need either input or output, you may find that Pd | ||||
| runs more reliably, or at least more efficiently, with the unused direction | ||||
| turned off.  This may be specified in Pd's command line flags or using the | ||||
| "audio settings" dialog panel. | ||||
| 
 | ||||
| <P> | ||||
| Depending on your application you will have a more or less stringent latency | ||||
| requirement.   Ideally, when any input (audio, MIDI, keyboard, network) is | ||||
| available, the outputs (in particular the audio output) should react instantly. | ||||
| In real life, it is necessary to buffer the audio inputs and outputs, trying | ||||
| always to keep some number of milliseconds ahead of real time to prepare for the | ||||
| inevitable occasions where the CPU runs off to service some different task | ||||
| from Pd.  How small this latency can be chosen depends on your OS and your | ||||
| audio driver. | ||||
| 
 | ||||
| <P> TIP: If Pd starts up but you get distortion or glitches in the audio | ||||
| output, this  could be either because the "audio I/O buffer" isn't big enough, | ||||
| or else because the CPU load of the patch you're running is too great for the | ||||
| machine you have, or else because the ADC and DAC are out of sync or even at | ||||
| different sample rates.  To test for the first possibility, try increasing the | ||||
| audio latency in the command line or the "audio settings" dialog (but see also | ||||
| under your OS below.)  For the second, start up your favorite performance | ||||
| monitor program; and for the third, try starting Pd up with ADCs disabled. | ||||
| 
 | ||||
| <P> In addition to the "test audio and MIDI" patch, the "Media" menu  | ||||
| contains items for controlling audio and MIDI settings.  The first two | ||||
| items, "Audio on" and "Audio off", open or close the audio devices and | ||||
| start or stop Pd's audio computation.  | ||||
| 
 | ||||
| <P> If there is a choice of | ||||
| audio API to make, the Media menu will display them.  (On Linux, they are | ||||
| OSS, ALSA, and Portaudio; on Windows, you get MMIO and ASIO).  On Mac the only | ||||
| one is portaudio. More information | ||||
| about the APIs appears in the sections below. | ||||
| 
 | ||||
| <P> Selecting an API (even if it's the one already in use), or, alternatively, | ||||
| selecting "Audio Settings..." from Preferences, opens | ||||
| a dialog panel like this: | ||||
| 
 | ||||
| <CENTER><P> | ||||
|     <IMG src="fig11.2.png" ALT="audio settings dialog"> | ||||
| </P></CENTER> | ||||
| 
 | ||||
| The exact choices you get depend on the operating system and API.  The sample | ||||
| rate controls both audio output and input.  The audio throughput delay is | ||||
| the nominal amount of time, in milliseconds, that a sound coming into the | ||||
| audio input will be delayed if it is copied through Pd straight to the | ||||
| output.  Naturally you would like this to be as small as possible, but, | ||||
| depending on OS, API, and even the specific choice of audio hardware, there | ||||
| will be a limit to how small you can make this.  You can typically get | ||||
| 10 msec on linux (and lower still if you use special tricks), 30 msec on Mac | ||||
| OSX, and 60 msec on Windows (but note that there might be ways that a  | ||||
| patient Windows user can reduce this). | ||||
| 
 | ||||
| <P> Next you get a choice of input and output device.  If you want to open | ||||
| more than one, hit "use multiple devices" and you'll be allowed up to 4 | ||||
| in and 4 out.  Each audio device is 2 channels by default, but you may | ||||
| specify more if your hardware supports it. | ||||
| 
 | ||||
| Other parameters may be tweaked using the command line; see under | ||||
| <A href=#s4> preferences and startup options </A>. | ||||
| 
 | ||||
| <H6> MIDI </H6> | ||||
| 
 | ||||
| <A> The "channel message" midi objects in Pd | ||||
| such as notein or pgmout will take channels 1-16 to mean the first open MIDI | ||||
| 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 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> | ||||
| 
 | ||||
| <P> Pd should work under any version of Windows since 95.  You can download as | ||||
| a self-extracting archive (a ".exe" file). Run this and select a destination | ||||
| directory when prompted, such as "\pd" or "Program Files\pd". | ||||
| 
 | ||||
| <P> If for example you put Pd in "C:Program Files\pd", the executable program | ||||
| will be "C:Program Files\pd\bin\pd".   You can simply adjust your path to | ||||
| include C:\pd\bin and then invoke "pd" in a command prompt window. You can also | ||||
| make a shortcut to the executable program (left-click on it and drag to the | ||||
| desktop, for example.) | ||||
| 
 | ||||
| <P> Pd requires "TCP/IP networking" to be turned on.  This doesn't mean you | ||||
| have to be on a real network, but simply that Pd actually consists of two | ||||
| programs that make a "network link" (locally) to intercommunicate. | ||||
| 
 | ||||
| <H4> Audio in Microsoft Windows </H4> | ||||
| 
 | ||||
| <P> | ||||
| Pd offers both the ASIO and MMIO APIs in Windows.  Which of these works better | ||||
| will depend on your audio hardware. | ||||
| 
 | ||||
| <P> | ||||
| MIDI timing is very poor if you are using simultaneous audio input and output; | ||||
| if you suppress either audio input or output things will improve somewhat under | ||||
| NT; you can apparently get the jitter down to ~40 msec.  On W95 performance is | ||||
| simply terrible.  W98, with either audio input or output suppressed, offers | ||||
| fairly good MIDI timing (~5 msec jitter).  The "first edition" used to crash | ||||
| occasionally; this might be fixed in the "second edition". | ||||
| 
 | ||||
| <H4> ASIO </H4> | ||||
| 
 | ||||
| <P> As of version 0.35 Pd supports ASIO.  Invoke Pd as "pd -asio" and, if | ||||
| needed, specify "-sounddev" (etc.) flags to specify which device (see | ||||
| "the Pd command line" below.)  You can also specify a "-blocksize" different | ||||
| from the default (256 samples) and "-audiobuf" in milliseconds.  Pd will | ||||
| round this down to a power of two buffers, each of "-blocksize" in sample | ||||
| frames. | ||||
| 
 | ||||
| <P> TIP:  Often your machine will allow you to use ASIO with built-in PC | ||||
| audio hardware.  Sometimes it is necessary to set a ridiculously high block size | ||||
| for this to work (on my machine I have to set it to 4096 -- about 1/10 of a | ||||
| second!) | ||||
| 
 | ||||
| <P> Using MMIO I've been able to get very low latencies (6 msec) using M-audio | ||||
| PCI converters (Delta 44). | ||||
| 
 | ||||
| <H3> <A name=s1.2> 3.3. Installing Pd in Linux </A> </H3> | ||||
| 
 | ||||
| <P> What to do depends on which flavor of Linux you are running (e.g., Debian | ||||
| or Red Hat). The instructions here should work for Pd 0.33 and up regardless of | ||||
| 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> 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), TK, and the ALSA "devel" | ||||
| headers.  It should be  | ||||
| enough to load "tcl-devel", "tk-devel", and "alsa-devel" packages using | ||||
| yum or apt-get. | ||||
| 
 | ||||
| <P> There are two parallel compilation setups now available.  The old one is | ||||
| described here; as of 0.43 I still use that but I plan to discontinue this for | ||||
| 0.44 and start using only the new one (by Hans).  The following description | ||||
| applies to the old one.  Look in the INSTALL.txt file to see how to use the | ||||
| new one. | ||||
| 
 | ||||
| <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 file such as "pd-linux-033.tar.gz".  Open a "shell" | ||||
| window, cd to | ||||
| the directory containing the file, and type the command, | ||||
| <PRE> | ||||
|     tar xzf pd-linux-033.tar.gz | ||||
| </PRE> | ||||
| <P>which creates a directory named "pd".  I do this from my home directory. | ||||
| Next, compile it.  "CD" to pd and read the INSTALL.txt, or else just cd | ||||
| to "pd/src" and type | ||||
| 
 | ||||
| <P> | ||||
| <BR> ./configure | ||||
| <BR> make | ||||
| </P> | ||||
| 
 | ||||
| <P> You can pass flags to "configure" to customize your compilation: | ||||
| 
 | ||||
| <PRE> | ||||
|     To enable debugging (and losing code optimization) add "--enable-debug". | ||||
|     To use Portaudio, add "--enable-portaudio". | ||||
|     To put Pd in /usr/bin instead of /usr/local/bin, add "--prefix=/bin". | ||||
| </PRE> | ||||
| 
 | ||||
| Alsa and Jack support should auto-configure, but "--enable-alsa" od | ||||
| "--enable-jack" will force their inclusion. | ||||
| 
 | ||||
| <P> After "make", just type "~/pd/bin/pd" to run pd. | ||||
| 
 | ||||
| <P> Alternatively, as superuser, you can run "make install" after "make depend" | ||||
| and then anyone on your system can just type "pd" to run it. | ||||
| 
 | ||||
| <H4> Testing audio and MIDI. </H4> | ||||
| 
 | ||||
| <P> | ||||
| Next try audio.  We want to know whether audio output works, whether audio | ||||
| input works, and whether they work simultaneously.  First run "aumix" (or | ||||
| any newer audio mixer app) to  | ||||
| check audio input and output gains and learn which input (mic; line; | ||||
| etc.) is "recording". | ||||
| Then test audio output by running | ||||
| <PRE> | ||||
|     pd -noadc | ||||
| </PRE> | ||||
| <P>and selecting "test audio and MIDI" from the "Media" menu.  You should see | ||||
| a patch. Turn on the test tone and listen.  Do the usual where's-the-signal | ||||
| business. | ||||
| 
 | ||||
| <P> | ||||
| Then quit Pd and test audio input via | ||||
| <PRE> | ||||
|     pd -nodac | ||||
| </PRE> | ||||
| <P>Re-open the test patch and hit "meter"; look at the levels.  100 dB is a | ||||
| hard clip; arrange gains so that the input signal tops out around 80 or 90, | ||||
| but no higher. | ||||
| 
 | ||||
| <P> Now see if your audio driver can do full duplex by typing "pd" with no | ||||
| flags.  If you see error messages involving /dev/dsp or /dev/dsp2, you're | ||||
| probably not able to run audio in and out at the same time.  If on the other | ||||
| hand there's no complaint, and if the audio test patch does what you want, you | ||||
| might wish to experiment with the "-audiobuffer" flag to see what values of | ||||
| audio latency your audio system can handle. | ||||
| 
 | ||||
| <H3> Audio hardware in Linux </H3> | ||||
| 
 | ||||
| <P> | ||||
| Installing and testing audio and MIDI drivers in Linux can take | ||||
| days or weeks.  There apears to be no single place where you can get detailed | ||||
| information on Linux audio. | ||||
| 
 | ||||
| <P> | ||||
| There are two widely-used driver sets, called "OSS" and "ALSA".  ALSA is  | ||||
| included in the standard Linux kernel since 2.4 or so.  However, for some | ||||
| audio cards you can find newer versions than are included in the kernel | ||||
| releases.  You can get ALSA from | ||||
| 
 | ||||
|     <a href="http://www.alsa-project.org/"> | ||||
|     http://www.alsa-project.org/</A> . | ||||
| 
 | ||||
| <P> ALSA is able to emulate OSS, so that you can usually run Pd using the | ||||
| "OSS" driver settings even if it's actually ALSA that's running. | ||||
| 
 | ||||
| <P> By default, Pd uses ALSA.  You can ask Pd to use ALSA's OSS emulation by | ||||
| adding the "-oss" flag to the command line or fooling with the "media" menu | ||||
| items. | ||||
| 
 | ||||
| <P> You can add ALSA devices by name on the Pd command line: | ||||
| <PRE> | ||||
|     pd -alsaadd loupgarou | ||||
| </PRE> | ||||
| instructs Pd to offer the 'loupgarou' audio device in the Audio Settings panel. | ||||
| 
 | ||||
| <H4> Experiences with particular soudcards </H4> | ||||
| 
 | ||||
| <P> | ||||
| Here are some of my own experiences with sound cards so far.  See | ||||
| also the Pd mailing list archives. | ||||
| 
 | ||||
| <H6> RME 9652 (Hammerfall) </H6> | ||||
| 
 | ||||
| <P>  This is the best PCI sound card out there; it costs around $500 and has 3 ADAT | ||||
| I/O ports and one SPDIF.  There is a "baby hammerfall" also, which I think is | ||||
| the "9632."  DO NOT CONFUSE THE 9652/9632 WITH OTHER RME BOARDS WHICH  MIGHT | ||||
| NOT WORK WITH PD. | ||||
| 
 | ||||
| <P> The easiest way to use  | ||||
| Hammerfall boards in Pd is via ALSA and jack; but you can use ALSA alone: | ||||
| <PRE> | ||||
|     pd -alsa -channels 26 | ||||
| </PRE> | ||||
| works for me. | ||||
| 
 | ||||
| <H6> MIDIMAN </H6> | ||||
| 
 | ||||
| <P>Midiman sells PCI devices (delta 44, 66, 1010, and 1010LT) | ||||
| with between 4 and 10 channels in and out, for | ||||
| which there are ALSA drivers.  These are also very good, and they are a | ||||
| bit cheaper than Hammerfalls.  The driver name is "ice1712". | ||||
| 
 | ||||
| <H6> USB sound devices</H6> | ||||
| 
 | ||||
| <P> Ed Kelly reports success with the Lexicon series of USB 1.0 devices  (e.g., | ||||
| the Omega Studio; apparently 4 channels in and 4 out).  Also known to work well | ||||
| is the Edirol box (2 channels in and out). | ||||
| 
 | ||||
| <P> As of Sept. 2011, the only multi-channel USB device I've been able to use | ||||
| with Pd is the Native Instruments Traktor Audio series.  (I have the Audio | ||||
| Traktor 10 which does indeed get 10 discrete channels in and out; the box is | ||||
| designed for turntables and the I/O is all RCA.  I haven't yet tested whether | ||||
| the inputs are RIAA equalized or flat.  To run this device you'll need to | ||||
| compile and install an ALSA snapshot from at least September 2011.  This won't | ||||
| start showing up in Linux distros for at least some months. | ||||
| 
 | ||||
| <P> THe Alsa devel list is reporting progress on the M-audio Ultra series, | ||||
| which goes up to 6 in and out (analog) with 2 more as SP/DIF.  Things work | ||||
| OK for input or output separately but "full duplex" (in and out simultaneously) | ||||
| has sync problems. | ||||
| 
 | ||||
| <H3> <A name="s1.3"> 3.4. Installing Pd in Macintosh OSX </A> </H3> | ||||
| 
 | ||||
| <P>Pd version 0.35 and up support Macintosh OSX.  You need the OSX Jaguar | ||||
| distribution (10.2) or later.  Recent versions of Pd require 10.4 or up. | ||||
| 
 | ||||
| <P> To install Pd you can always download  the sources and compile them | ||||
| yourself, or (easier)  just download the Mac binary from the download page: | ||||
| 
 | ||||
| <A href="http://crca.ucsd.edu/~msp/software.html"> | ||||
| http://crca.ucsd.edu/~msp/software.html</A>. | ||||
| 
 | ||||
| This is in the form of a compressed Tar archive; just click on it and the Max | ||||
| will extract the Pd application.  Open this and you should be running. | ||||
| 
 | ||||
| <P> You might get various warnings about Pd trying to open an internet port. | ||||
| This is normal although some system administrators will prevent you from | ||||
| doing this (in which case you can't run Pd on that machine). | ||||
| 
 | ||||
| <P> The package by Hans-Christoph Steiner, on | ||||
| 
 | ||||
| <A href="http://at.or.at/hans/pd/installers.html"> | ||||
| http://at.or.at/hans/pd/installers.html</A>, | ||||
| 
 | ||||
| has many updates and extensions | ||||
| which are not included in the original Pd distribution.  Download this and | ||||
| follow the (simple) instructions found there.  | ||||
| </P> | ||||
| 
 | ||||
| <H4> To install on OSX from source: </H4> | ||||
| 
 | ||||
| <P>  | ||||
| Whether you've downloaded the source or the "package" you can    | ||||
| 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 Tcl/Tk installed in the standard | ||||
| places.  I think this is true for 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" | ||||
| and "make".  Then type ~/pd-0.36-0/bin/pd to a shell and enjoy! | ||||
| 
 | ||||
| <P> If you wish you can put a line such as, | ||||
| 
 | ||||
| <pre> | ||||
|     alias pd ~/pd/bin/pd | ||||
| </pre> | ||||
| 
 | ||||
| <P>in the file, ~/.tcshrc, so that you can later just type "pd" to a shell. | ||||
| (The | ||||
| shell only reads the ~/.tcshrc file on startup, so this won't take effect in | ||||
| any existing shells unless you specially type | ||||
| <pre> | ||||
|     source ~/.tcshrc | ||||
| </pre> | ||||
| <P>to them.) | ||||
| 
 | ||||
| <P> Follow the general directions above for testing audio and/or MIDI | ||||
| as needed. | ||||
| 
 | ||||
| <P> To get MIDI working, you have to do the Mac OSX magic to get a USB | ||||
| 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=s4> 3.6. Preferences and startup options </A> </H3> | ||||
| 
 | ||||
| <P> Pd's behavior may be customized to instruct it where to find files, which | ||||
| audio devices to open, what font size to use, and so on.  Most of | ||||
| these may also be changed using the various dialogs you can open from Pd's | ||||
| menus.  Others take effect only when Pd starts up; some of these appear | ||||
| on the ``startup" dialog and some of them, too cranky to put in a GUI, must | ||||
| be typed as <I> command line arguments </I>. | ||||
| 
 | ||||
| <P> In addition to the Audio and MIDI settings (see  | ||||
| <A href="#s1.0"> Audio and MIDI </A>), you can customize font size (from the | ||||
| ``edit" menu), directories to search for files (see  | ||||
| <A href="#s5"> How Pd searches for files </A>), and additional startup | ||||
| parameters described below. | ||||
| 
 | ||||
| <P> All of these settings may be saved automatically between Pd sessions.  | ||||
| It is also possible to specify settings directly via the <I> command | ||||
| line </I>.  (A third mechanism, using configuration files, is deprecated and | ||||
| isn't described here.)  The Pd command line is described in the next | ||||
| section.  Command line settings, if given, each override the corresponding | ||||
| setting that was saved from Pd. | ||||
| 
 | ||||
| <P>  The startup settings (i.e., those that take effect only when Pd is started) | ||||
| are controlled using the ``startup..." dialog from the File menu.  The | ||||
| dialog appears as follows: | ||||
| 
 | ||||
| <CENTER><P> | ||||
|     <IMG src="fig11.3.png" ALT="startup dialog"> | ||||
| </P></CENTER> | ||||
| 
 | ||||
| The slots at top each specify a binary ``library" for Pd to load on startup. | ||||
| These may be for Gem, pdp, zexy, iemlib, cyclone, and so on.  Typically, a | ||||
| single binary object (an ``extern") is left for Pd to load automatically; | ||||
| startup library loading is appropriate for collections of many objects | ||||
| specified by a single binary library. | ||||
| 
 | ||||
| <P> The ``defeat real-time scheduling" contol, if enabled, makes Pd run without | ||||
| its usual effort to become a real-time process (whatever this means in the | ||||
| operating system you are using.)  In Unix, Pd must usually be setuid to allow | ||||
| real-time scheduling at all. | ||||
| 
 | ||||
| <P> The ``startup flags" allow you to add to Pd's command line on startup. This | ||||
| is specified as described below, except that the initial word, ``pd", is | ||||
| understood.  For example, putting ``-rt" in this field sets real-time | ||||
| scheduling; ``-sleepgrain 1" sets the sleep grain to 1 (see under MIDI below), | ||||
| and typing "-rt -sleepgrain 1" does both. | ||||
| 
 | ||||
| <P> You may save the current settings for future Pd sessions with the | ||||
| ``save all settings" button; this saves not only the path but all other | ||||
| settings as well. | ||||
| 
 | ||||
| <H6> Command line arguments </A> </H3> | ||||
| 
 | ||||
| <P>Pd may be run as a "command line" program from your "terminal emulator," | ||||
| "shell," or "MSDOS prompt."  In Windows, if Pd is started using a "shortcut" | ||||
| it is also run from a command line which you can edit using the ``properties" | ||||
| dialog for the shortcut.  In any operating system, Pd can be called from a | ||||
| script (called a <I> batch file </I> on Windows or a <I> shell script </I> | ||||
| on OSX or unix).  The command line is just a line of text, which should be | ||||
| of the form: | ||||
| 
 | ||||
| <PRE> | ||||
| 
 | ||||
|     pd [options] [patches to open] | ||||
| 
 | ||||
| </PRE> | ||||
| 
 | ||||
| <P>although you may have to specify a path (such as "~/pd/bin/pd" or | ||||
| "C:\program files\pd\bin\pd") so your command interpreter can find | ||||
| Pd.  Possible options include: | ||||
| 
 | ||||
| <PRE> | ||||
| 
 | ||||
| audio configuration flags: | ||||
| -r <n>           -- specify sample rate | ||||
| -audioindev ...  -- sound in device list; e.g., "2,1" for second and first | ||||
| -audiooutdev ... -- sound out device list, same as above  | ||||
| -audiodev ...    -- specify both -audioindev and -audiooutdev together | ||||
| -inchannels ...  -- number of audio in channels (by device, like "2" or "16,8") | ||||
| -outchannels ... -- number of audio out channels (by device) | ||||
| -channels ...    -- specify both input and output channels | ||||
| -audiobuf <n>    -- specify size of audio I/O buffer in msec | ||||
| -blocksize <n>   -- specify audio I/O block size in sample frames | ||||
| -sleepgrain <n>  -- specify number of milliseconds to sleep when idle | ||||
| -nodac           -- suppress audio output | ||||
| -noadc           -- suppress audio input | ||||
| -noaudio         -- suppress audio input and output (-nosound is synonym)  | ||||
| -listdev         -- list audio and MIDI devices | ||||
| 
 | ||||
| (linux specific audio:) | ||||
| -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 | ||||
| -alsaadd <dev>  -- add a device to the ALSA device list | ||||
| 
 | ||||
| (Windows specific audio:) | ||||
| -mmio           -- use MMIO drivers and API | ||||
| -asio           -- use ASIO drivers and API | ||||
| 
 | ||||
| MIDI configuration flags: | ||||
| -midiindev ...   -- midi in device list; e.g., "1,3" for first and third | ||||
| -midioutdev ...  -- midi out device list, same format | ||||
| -mididev ...     -- specify -midioutdev and -midiindev together | ||||
| -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 | ||||
| -nostdpath       -- don't search standard ("extra") directory | ||||
| -stdpath         -- search standard directory (true by default) | ||||
| -helppath <path> -- add to help search path | ||||
| -open <file>     -- open file(s) on startup | ||||
| -lib <file>      -- load object library(s) | ||||
| -font <n>        -- specify default font size in points | ||||
| -verbose         -- extra printout on startup and when searching for files | ||||
| -version         -- don't run Pd; just print out which version it is | ||||
| -d <n>           -- specify debug level | ||||
| -noloadbang      -- suppress all loadbangs | ||||
| -stderr          -- send printout to standard error instead of GUI | ||||
| -nogui           -- suppress starting the GUI | ||||
| -guiport <n>     -- connect to pre-existing GUI over port 'n' | ||||
| -guicmd "cmd..." -- substitute another GUI program (e.g., rsh) | ||||
| -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>  | ||||
| 
 | ||||
| <P>Here are some details on some of the audio, MIDI, and scheduler options (but | ||||
| see also the next section on file management.) | ||||
| 
 | ||||
| <H4> multiple devices.  </H4> | ||||
| 
 | ||||
| <P> You can specify multiple MIDI input and output devices.  For example, | ||||
| "pd -midiindev 3 -midioutdev 4,2" asks for the third MIDI input device and the | ||||
| fourth and second MIDI output device.   | ||||
| 
 | ||||
| <P> Audio device selection is similar, except that you can also specify | ||||
| channels by device: "-audioindev 1,3 -inchannels 2,8" will try to open device 1 | ||||
| (2 channels) and device 3 (8 channels.) | ||||
| 
 | ||||
| <H4> sample rate. </H4> | ||||
| 
 | ||||
| <P>The sample rate controls Pd's logical sample rate which need not be that of | ||||
| the audio input and output devices.  If Pd's sample rate is wrong, time will | ||||
| flow at the wrong rate and synthetic sounds will be transposed.  If the output | ||||
| and input devices are running at different rates, Pd will constantly drop frames | ||||
| to re-sync them, which will sound bad.  You can disable input or output if this | ||||
| is a problem. | ||||
| 
 | ||||
| <H4> audio buffer size and block size </H4> | ||||
| 
 | ||||
| <P>You can specify an audio buffer size in milliseconds, typically between 10 and | ||||
| 300, depending on how responsive your OS and drivers are.  If this is set too | ||||
| low there will be audio I/O errors ("data late").  The higher the value is, | ||||
| on the other hand, the more throughput delay you will hear from the audio | ||||
| and/or control inputs (MIDI, GUI) and the audio coming out. | ||||
| 
 | ||||
| <P> You can also specify the audio block size in sample frames.  This is 64 by | ||||
| default (except for MMIO for which it's 256), and may be 64, 128, or 256.   | ||||
| 
 | ||||
| <H4> MIDI and sleepgrain</H4> | ||||
| 
 | ||||
| <P> In Linux, if you | ||||
| ask for "pd -midioutdev 1" for instance, you get /dev/midi0 or /dev/midi00 | ||||
| (or even /dev/midi).  "-midioutdev 45" would be /dev/midi44.  In NT, device | ||||
| number 0 is the "MIDI mapper", which is the default MIDI device you selected | ||||
| from the control panel; counting from one, the device numbers are card | ||||
| numbers as listed by "pd -listdev." | ||||
| 
 | ||||
| <P> The "sleepgrain" controls how long (in milliseconds) Pd sleeps between | ||||
| periods of computation.  This is normally the audio buffer divided by 4, but | ||||
| no less than 0.1 and no more than 5.  On most OSes, ingoing and outgoing MIDI | ||||
| is quantized to this value, so if you care about MIDI timing, reduce this to 1 | ||||
| or less.  | ||||
| 
 | ||||
| <H3> <A name="s5"> 3.7. How Pd searches for files </A> </H3> | ||||
| 
 | ||||
| <P>Pd has a search path feature; you specify the path on the command line | ||||
| using the "-path" option.  Paths may contain any number of files.  If you | ||||
| specify several files in a single "-path" option they're separated by colons | ||||
| in unix or semicolons in NT.   | ||||
| 
 | ||||
| <P> You can see and edit the path while Pd is running using the "path..." | ||||
| item in the "File" menu: | ||||
| 
 | ||||
| <CENTER><P> | ||||
|     <IMG src="fig11.4.png" ALT="startup dialog"> | ||||
| </P></CENTER> | ||||
| 
 | ||||
| <P>  The path must be correctly set before you load | ||||
| a patch or it may fail to find abstractions, etc., that are needed to | ||||
| construct the patch.  When Pd searches for an abstraction or an | ||||
| "extern" it uses the path to try to find the necessary file.  The "read" | ||||
| messages to qlists and arrays (aka tables) do this too. | ||||
| 
 | ||||
| <P> If ``use standard extensions" is enabled, the usual ``extras" directory | ||||
| is also searched.  This contains standard external objects like ``expr" and | ||||
| ``fiddle", and perhaps much more depending on the distribution of Pd | ||||
| you're using. | ||||
| 
 | ||||
| <P> You may save the current settings for future Pd sessions with the | ||||
| ``save all settings" button; this saves not only the path but all other | ||||
| settings as well. | ||||
| 
 | ||||
| <P> Path entries may be relative to the patch directory; for instance, | ||||
| if your path has an item, "../sound", and your patch is in "my stuff/all mine", | ||||
| then Pd will look in "my stuff/sound".  Spaces should be OK in the path to | ||||
| the patch, but not in the path entry (../sound) itself.  This is useful if | ||||
| you have a patch and supporting files (even a supporting snapshot of pd) | ||||
| that you want to distribute or carry around together. | ||||
| 
 | ||||
| <P> Regardless of path, Pd should look first in the directory containing | ||||
| the patch before searching down the path.  Pd does not automatically look | ||||
| in the <I> current directory </I> however; to enable that, include ``." in | ||||
| the path.  The ``extra" directory, if enabled, is searched last. | ||||
| 
 | ||||
| <P> Filenames in Pd are always separated by (unix-style) forward slashes, even | ||||
| if you're on Windows (which uses backslashes).  This is so that patches can be | ||||
| ported more easily between operating systems.  On the other hand, if you | ||||
| specify a filename on the command line (as in "pd -path c:\pdlib") the file | ||||
| separator should agree with the operating system. <BR> | ||||
| 
 | ||||
| <P> If a filename specified in a patch has any "/" characters in it, the "path" | ||||
| is not used; thus, "../sounds/sample1.wav" causes Pd only to look relative to | ||||
| the directory containing the patch.  You may also invoke externs that way. | ||||
| 
 | ||||
| <P> As of version 0.35, there may be spaces in the path to Pd itself; also, | ||||
| the "openpanel" and "savepanel" objects can handle spaces.  Spaces in the | ||||
| path should work as of version 0.38. | ||||
| 
 | ||||
| </BODY> | ||||
| </HTML> | ||||
| 
 | ||||
| 
 | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue