- 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
1811 lines
69 KiB
HTML
1811 lines
69 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
|
|
|
|
<HTML>
|
|
<HEAD>
|
|
<TITLE>Pd Documentation 5</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 5. current status</H2>
|
|
|
|
<P>
|
|
<A href="index.htm#s5"> back to table of contents </A>
|
|
<BR><BR>
|
|
</P>
|
|
|
|
<P>This section tracks changes in Pd's current implementation.</P>
|
|
|
|
<H3> <A name="s2"> 5.1. release notes </A> </H3>
|
|
|
|
<P> ------------------ 0.44-1 ---------------------------
|
|
|
|
<P> Fixed default API settings to prefer MMIO over ASIO for MS Windows and
|
|
anything over jack (so that first-time users are most likely to get audio
|
|
out).
|
|
|
|
<P> ------------------ 0.44 ---------------------------
|
|
|
|
<P> many, many changes (hopefully improvements) in audio and MIDI I/O
|
|
and in scheduling.
|
|
|
|
<P> got rid of the "old" (cd src; ./configure etc) build system. src now
|
|
contains fallback makefiles for gnu/linux and mac as well as windows. But
|
|
the "official" way to build Pd is now to invoke automake.
|
|
|
|
<P> better handling of reading and writing files with non-ASCII filenames in
|
|
Micrsoft Windows.
|
|
|
|
<P> fixed a bug in hip~ (incorrect gain; noticeably different when the cutoff
|
|
frequency is set about 5K or higher.) To get the old behavior you can set
|
|
Pd to be 0.43 compatible; see the hip~ help window for details.
|
|
|
|
<P> inlet~ and outlet~, if configured to do upsampling, now use sample/hold
|
|
instead of zero padding by default; arguably this is a bug fix as the DC gain
|
|
isn't one for zero padding. Also undoable by setting compatibility to 0.43.
|
|
|
|
<P> ------------------ 0.43.2-3 ---------------------------
|
|
|
|
<P> bug fixes, notably allowing an increase in incoming MIDI bandwidth.
|
|
|
|
<P> added an "f" message to canvases which might in the future be used
|
|
to specify formatting info (width; font size) box by box.
|
|
|
|
<P> ------------------ 0.43.1 ---------------------------
|
|
|
|
<P> bug fix: in "perf mode" (having sent pd the "perf" message to prevent
|
|
undesired patch closure) Pd crashed (oops!) when one asked for the patch to
|
|
close after all.
|
|
|
|
<P> Improvements to Mac version of bonk~ -- "learn" parameter handled correctly and
|
|
compilation fixes.
|
|
|
|
<P> Default font size is the same on all platforms.
|
|
|
|
<P> Bug fixes reading and writing AIFF files, particulatly 24 bit ones
|
|
|
|
<P> "edit mode" menu checkbox should work now.
|
|
|
|
<P> X Pasting text into boxes now works in linux.
|
|
|
|
<P> fixed bug that hung Pd when closing more than one pd~ subpatch out of order.
|
|
|
|
<P> fixed segfault if DSP loop found and main patch had signal inlets/outlets
|
|
|
|
<P> miscellaneous cleanups.
|
|
|
|
<P> STILL BUGGY: when you change the contents of a graph-on-parent subpatch the
|
|
old stuff often doesn't get erased correctly.
|
|
<P> ------------------ 0.43 ---------------------------
|
|
|
|
<P> Completely new TCL front end, thanks to Hans-Christophe Steiner,
|
|
Iohannes Zmoelnig, and others.
|
|
|
|
<P> ------------------ 0.42-5 ---------------------------
|
|
|
|
<P> broken abs~ and log~ fixed
|
|
|
|
<P> pd~ -ninsig 0 hang fixed
|
|
|
|
<P> testtone updated and 16ch version added
|
|
|
|
<P> lrshift~ bug fix
|
|
|
|
<P> 32 channel limit removed for portaudio (ASIO/Windows and Mac)
|
|
|
|
<P> ------------------ 0.42-4 ---------------------------
|
|
|
|
<P> added -noautopatch startup argument to defeat auto-connecting to
|
|
new objects (some folks like it and others hate it)
|
|
|
|
<P> gfxstub bug fix
|
|
|
|
<P> fixed crash on deleting "s" objects with no args
|
|
|
|
<P> re-fixed seteuid(0 problem
|
|
|
|
<P> fixed crash on "find $1" (still not useful though)
|
|
|
|
<P> ------------------ 0.42.1-3 ---------------------------
|
|
|
|
<P> Bug fix on Windows(cancelling window close deactivated window).
|
|
|
|
<P> Bug fix running Pd from command line in MacOS.
|
|
|
|
<P> "Select all" fixed to select none if everything already slected.
|
|
|
|
<P> ------------------ 0.42 ---------------------------
|
|
|
|
<P> The 'struct' object can now be used to catch a small but growing variety of
|
|
events (mouse clicks on data, selection/deselection).
|
|
|
|
<P> The 'tabread4~' object was fixed to allow message-time onset into the table.
|
|
This makes it possible (at last) to use tabread4~ effectively with large (> 1
|
|
second) samples. New help files 3.audio.examples/B15 and B16 show how to
|
|
use it. It's not pretty but it's at least possible.
|
|
|
|
<P> Took patches from Iohannes Zmoelnig to make Pd work when compiled to use
|
|
64-bit floating-point audio. I didn't test this; doubtless there will still be
|
|
some problems. (This isn't the same thing as running in '64 bit mode' which
|
|
already works fine and is the default when compiled on a 64-bit linux machine.)
|
|
|
|
<P> New objects in extra, 'pd~', and 'stdout', allow running a separate Pd
|
|
instance in a sub-process. Theoretically this should make it possible to use
|
|
multiprocessors efficiently in {d. It's still somewhat experimental; it might
|
|
not work well to pass large numbers of messages and/or signals back and forth.
|
|
|
|
<P> A -batch flag allows Pd to be run efficiently from scripts. You should
|
|
probably also specify -nosound. With these flags Pd runs as quickly as it
|
|
can without waiting for real time. It's up to the patch to arrange to exit
|
|
at the appropriate time via a 'pd quit' message.
|
|
|
|
<P> Large and sweeping improvements have been made to bonk~ and sigmund~. The
|
|
new bonk~ features are documented in its help window; sigmund~ works better but
|
|
has the same old features.
|
|
|
|
<P> Closing and quiting Pd now act more politely, querying the user only if
|
|
there are edited windows. There's also a query if the user types into a box
|
|
holding an edited abstraction to prevent the changes from getting lost
|
|
accidentally. A new 'pd perf' message re-enables the old "really close this
|
|
window" behavior, which is appropriate for performances where you don't want the
|
|
wrong keyclick to stop Pd brusquely.
|
|
|
|
<P> The process of reloading multiple copies of a modified abstraction was
|
|
sped up.
|
|
|
|
<P> The 'find' dialog permits searching for substrings. This is useful for
|
|
strings containing "$" arguments, where it's unclear what 'find' does or should
|
|
do.
|
|
|
|
<P> New pow~, log~, exp~, abs~, and 'wrap' objects.
|
|
|
|
<P> The 'print' object takes "-n" flag to supperss "print:" in output
|
|
|
|
<P> "clear" button in Pd output window
|
|
|
|
<P> ".pdrc" loading suppressed if pd is started with "-noprefs".
|
|
|
|
<P> Bug fix in pipe object: if sending a list to pipe, it didn't update the
|
|
delay time when asked to.
|
|
|
|
<P> Binbufs fixed to handle arbitrary length messages. (This fixed a problem
|
|
reloading data structures with huge arrays).
|
|
|
|
<P> various fixes to
|
|
<P> ------------------ 0.41-3,4 ---------------------------
|
|
|
|
<P> 2 fixes for PC: no bonk~, and the audio device selection
|
|
dialogs didn't show all the devices.
|
|
|
|
<P> ------------------ 0.41-2 ----------------------------
|
|
|
|
<P> More bug fixes: large netsends dropping messages, and crash bug when turning
|
|
DSP on and off repeatedly in MS windows
|
|
|
|
<P> ------------------ 0.41-1 ----------------------------
|
|
|
|
<P> Fixed a startup problem for Mac OSX 10.5.1 (other platforms should not be affected)
|
|
|
|
<P> ------------------ 0.41 ----------------------------
|
|
|
|
<P> Pd may be compiled in 64 bit address spaces; this is well tested on
|
|
linux and at least seems to work on Microsoft and MacOS. On linux, in fact,
|
|
if you compile Pd in a 64-bit version of the OS it's automatically in the
|
|
64 bit address space.
|
|
|
|
<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
|
|
"experimental" but I use it every day.
|
|
|
|
<P> added an experimental callback scheduler. This might reduce latency in
|
|
MacOS and/or Microsoft, although I haven't seen that actually happen yet.
|
|
|
|
<P> removed limitation on huge messages from text files; this prevented long
|
|
"data" arrays from reloading from disk correctly.
|
|
|
|
<P> fixed crash bug closing patches with open GOPs.
|
|
|
|
<P> changed selection strategy so that, right after duplicating a collection
|
|
of objects, clicking tends to select an already-selected object.
|
|
|
|
<P> the cursor changes slightly more apprpriately when switching between edit
|
|
to run modes.
|
|
|
|
<P> got really confused about the proper role of "declare 'path" in abstractions;
|
|
for the moment they are ignored. I the future, it may be worthwhile to allow
|
|
them but to have them act only locally to the abstraction; but this might mean
|
|
a lot more computation overhead when opening files.
|
|
|
|
<P> limited window sizes to that of the screen (otherwise, on Mac OS, it's
|
|
impossible to resize them.)
|
|
|
|
<P> fixed "startup" dialogs to allow unlimited "path" and "lib" entries
|
|
|
|
<P> started, but didn't finish, the process of getting Pd to compile with
|
|
t_float as 64 bits. This would slow Pd down but improve tabread4~'s accuracy.
|
|
|
|
<P> made IEM Guis respect "-font" flag and friends. New startup flags:
|
|
"-font-face" (badly named); "-font-size" sysnonym of "-font". (Large patch from
|
|
HC).
|
|
|
|
<P> String overflow protection here and there.
|
|
|
|
<P> migrated to ".net" compiler ("VC 2005", a free download).
|
|
|
|
|
|
<P> ------------------ 0.40-1 --------------------------
|
|
|
|
<P> Fixed "declare" which wasn't working properly yet in 0.40-0, and
|
|
made more objects (notably "soundfiler") respect "declared" paths. Path
|
|
entries are relative to the parent patch. Declares inside abstractions are
|
|
ignored.
|
|
|
|
<P> "drawnumbers" are draggable now, even if they're in arrays.
|
|
|
|
<P> Bug fix opening "html" help from windows.
|
|
|
|
<P> Changed MACOSX to __APPLE__ in 4 places.
|
|
|
|
<P> ------------------ 0.40 -----------------------------
|
|
|
|
<P> A new object, "declare", allows patches to control where Pd looks
|
|
for resources such as abstractions and libraries.
|
|
|
|
<P> Sybmols can now be built using multiple dollar sign variables, as in
|
|
"$1-$2.$3". Meanwhile, naming subpatches as in "pd $1-foo" now seems to
|
|
work correctly.
|
|
|
|
<P> The switch~ object takes a "bang" message to compute one block of DSP on
|
|
demand. Also, block sizes are no longer required to be powers of two
|
|
(although reblocking only works between powers of two.)
|
|
|
|
<P> Externs may have characters in their names that aren't part of valid
|
|
C variable names (i.e., outsize the range a-z,A-Z,0-9, _).
|
|
|
|
<P> Openpanel and savepanel take an argument to set the initial directory to
|
|
search.
|
|
|
|
<P> Support for large (>2G) soundfiles, in operating systems that offer it.
|
|
|
|
<P> Text copy/paste fixed (I hope) for Macintosh
|
|
|
|
<P> Intel Mac binaries. New naming scheme for externs to allow disambiguation
|
|
(although Pd falls back to the old names for compatibility.)
|
|
|
|
<P> Templates can get notified when data are selected/deselected. I want
|
|
to provide this for mouse actions on locked canvases too, but haven't yet.
|
|
|
|
<P> Characters like "\", "[", etc., typed into dialogs for labelling
|
|
number boxes or other GUI objects, get filtered out so that they at
|
|
least don't hang Pd up.
|
|
|
|
<P> Drawcurve (and the others, filledcurve, drawpolygon, filledpolygon)
|
|
have a new "-x" flag that inhibits a scalar getting
|
|
selected when the curve is clicked on. This is useful for drawing stuff in
|
|
the background (grids, clefs, etc).
|
|
|
|
<P> 6 or so patches adopted from sourceforge.
|
|
|
|
<P> A "list length" object
|
|
|
|
<P> IEM Gui labels (except for the VU meter) default to 10 point fonts
|
|
(typically 8 before).
|
|
|
|
<P> "send" without an argument gets an inlet to set the destination
|
|
|
|
<P> A -noprefs flag defeats loading startup preferences. This gives you a
|
|
way to rescue things if Pd's settings somehow crash Pd on startup.
|
|
|
|
<P> tabwrite~ takes a "start" message to allow writing into the middle
|
|
of the table.
|
|
|
|
<P> ------------------ 0.39.2 --------------------------
|
|
|
|
<P> Bug fixes: memory leak in OSX version; problem printing numbers as symbols.
|
|
|
|
<P> ------------------ 0.39.1 --------------------------
|
|
|
|
<P> Bug fixes: compatibility problems with older version of TK
|
|
|
|
<P> ------------------ 0.39.0 --------------------------
|
|
|
|
<P> At the source level, "regular" arrays and arrays within data structures are
|
|
now the same thing. This will mean that, in the future, features introduced to
|
|
one array type will become available on the other one too. Array elements are
|
|
"scalars" (i.e., data structures) and if they have drawing instructions, each
|
|
point of the array is drawn according to them; they can be clicked on, etc.,
|
|
just like any other scalars. "Regular" arrays have points which are of a
|
|
special, built-in template, "float".
|
|
|
|
<P> Drawing instructions now can use variable ranges for screen coordinates;
|
|
for instance, specifying an offset of "a(0:10)(100:200)(0.2)" specifies that
|
|
the member "a", which shoudl range from 0 to 10, should be graphed at locations
|
|
ranging from 100 to 200 (relative to the scalar's base location) and should
|
|
have a "grain" of 0.2, i.e., steps of 2 pixels each.
|
|
|
|
<P> Drawing instructions can be turned on and off, either globally
|
|
(for all data of the given structure) or by a data field.
|
|
|
|
<P> The "struct" object has an outlet to notify you when a datum is selected or
|
|
deselected.
|
|
|
|
<P> Graph-on-parent subpatches and abstractions no longer scale the GUI objects
|
|
to fit the parent rectangle; instead you get a sub-rectangle in the subpatch,
|
|
of the same size as the parent object, to place GUI objects in. GUI objects
|
|
that don't fit inside aren't shown on the parent, and the parent objects no
|
|
longer stretches itself to show things that wouldn't otherwise fit. Older
|
|
patches work as before until you try to edit them - at which point you have
|
|
no choice but to use the new functionality.
|
|
|
|
<P> The font size of a Graph-on-parent abstraction is that of the abstraction
|
|
itself, not the calling patch.
|
|
|
|
<P> Message boxes now take "addcomma" and similar messages.
|
|
|
|
<P> A "list" object is provided for joining and splitting lists, and converting
|
|
between lists and non-list messages.
|
|
|
|
<P> Pd extension is now added automatically to files on Macintish when you
|
|
do a "save as". The tcl/tk version is updated to 8.4.5. This should run on
|
|
OSX version 10.2 and later. Also on Mac, drag-and-drop startups read
|
|
"libraries" (specified in "startup" dialog) before opening the file.
|
|
|
|
<P> The "pointer" object has a method to rewind to the beginning of a list.
|
|
A "sendwindow" message forwards any message to the window contining the
|
|
scalar currently pointed to.
|
|
|
|
<P> Abstractions don't produce visible windows, even if subwindows of the
|
|
abstraction were visible when the abstraction was saved.
|
|
|
|
<P> MIDI sysex messages should now work on all platforms.
|
|
|
|
<P> Bug fixes:
|
|
|
|
<P> sending lists to arrays now correctly interprets the first number of the
|
|
list as the starting index (following values are then stored seuentially in the
|
|
array.)
|
|
|
|
<P> The rfft~ object's imaginary part had the wrong sign. Also, the Nyquist
|
|
bin is now supplied correctly.
|
|
|
|
<P> Fixed problems writing aiff files using the writesf~ and soundfiler objects.
|
|
Writesf, if sent an "open" while a file was previously being written, closes the
|
|
previous file first.
|
|
|
|
<P> Bug fix in number2 which sometimes crashed Pd.
|
|
|
|
<P> Stale-pointer protection made more robust.
|
|
|
|
<P> Some of Pd's tcl/tk error messages have been tracked down, but probably
|
|
not all of them yet.
|
|
|
|
<P> "Find" crashed Pd when the found object was in a GOP.
|
|
|
|
<P> Mouse motion over arrays no longer is quite so CPU-consuming (but is
|
|
still somewhat so.)
|
|
|
|
<P> samplerate~ now reflects up/downsampling.
|
|
|
|
<P> Tilde objects in blocked, overlapped subpatches no longer adjust their
|
|
internal sample rate to reflect the overlap.
|
|
|
|
<P> Fixed a thread-safety problem in sys_microsleep().
|
|
|
|
|
|
<P> ------------------ 0.38.1 --------------------------
|
|
|
|
Fixed two bugs that crashed Pd when deleting number boxes in certain
|
|
situations.
|
|
|
|
<P> ------------------ 0.38.0 --------------------------
|
|
|
|
<P> The big change is queued graphics updates, which apply (so far)
|
|
to tables and number/symbol boxes. The IEM GUIS aren't enqueued yet.
|
|
This along with a better graphics update buffering scheme makes Pd's
|
|
graphics run much better.
|
|
|
|
<P> Support for cutting/copying/pasting text between boxes and between Pd and
|
|
other applications.
|
|
|
|
<P> Dialogs for setting and saving path, libs-to-load-on-startup, and some
|
|
other things. This and the audio settings can be saved automatically to
|
|
the appropriate repository (.pdsettings on linux; registry on MS windows;
|
|
"Preferences" on Mac.)
|
|
|
|
<P> "Print" printout goes to the Pd window by default. You can revert to
|
|
the old (standard error) behavior with the "-stderr" startup flag.
|
|
|
|
<P> The "gui" TK script can now start Pd up (previously Pd had to be
|
|
started first.) This is needed for Pd to work as an "App" on Mac.
|
|
|
|
<P> new filter objects: cpole~, fpole~, etc... these will get used in the
|
|
upcoming Techniques chapter 8.
|
|
|
|
<P> Objects whose creation failed get a distinctive outline; if they are
|
|
already inside a patch they sprout inlets and outlets as necessary to
|
|
preserve connections.
|
|
|
|
<P> Filenames in the "search path", etc., now may contain spaces, commas,
|
|
and semicolons.
|
|
|
|
<P> bug fix: click on minaturized subpatch failed to "vis" it
|
|
|
|
<P> bug fix: font size change crash reported by CK
|
|
|
|
<P> Key bindings like control-Q now work even from within most dialogs.
|
|
|
|
<P> The audio settings dialog now permits turning audio input and/or output
|
|
off without forgetting how many channels it should be when on.
|
|
|
|
<P> RME Hammerfall ALSA support from Winfried -- but specify the number of
|
|
channels correctly or else Pd crashes.
|
|
|
|
<P> portaudio (e.g., Mac) audio support fixed for inchans != outchans,
|
|
so the emi emagic can now be used 2-in. 6-out, for example.
|
|
|
|
<P> (linux) The configure script can set the setuid flag on "make install".
|
|
The "-enable" flags to ./configure should now work correctly too.
|
|
|
|
<P> atan2 had its inlets switched to conform to standard usage
|
|
|
|
<P> ------------------ 0.37.3 --------------------------
|
|
|
|
<P> Oops- added __i386__ macro to windows makefile so it would test for
|
|
underflows correctly. This affects only Microsoft Windows; the other
|
|
two platformas are fine as 0.37.2. Thanks to Thomas Musil...
|
|
|
|
<P> ------------------ 0.37.2 --------------------------
|
|
|
|
<P> fixed a bug in soundfile reading (soundfiles now default to wav better.)
|
|
|
|
<P> fixed gfx update problem in hradio and vradio
|
|
|
|
<P> minor changes to built-in Max import feature (but you should
|
|
still use cyclone's instead.)
|
|
|
|
<P> colors for scalars fixed (probably never worked before!)
|
|
|
|
<P> added a "set" message to the line object
|
|
|
|
<P> aliased spaces to underscores in GUI labels so that at least they won't
|
|
destroy the object.
|
|
|
|
<P> ------------------ 0.37.1 --------------------------
|
|
|
|
<P> fixed the apple key on OSX so it does key accelerators
|
|
|
|
<P> fixed bug in -inchannels/-outchannels arg parsing
|
|
|
|
<P> major editions to the IEM GUIs to fix bugs in how "$" variables are handled.
|
|
The code still isn't pretty but hopefully at least works now.
|
|
|
|
<P> bug fix in vd~ for very small delays
|
|
|
|
<P> fixed MSW version not to make windows grow by 2 pixels on save/restore
|
|
|
|
<P> added an "nrt" flag for OSX to defeat real-time priritization
|
|
(useful when runnig Gem.)
|
|
|
|
<P> on some platforms, audio open failures are handled more gracefully.
|
|
|
|
<P> added a "changelog" file in the source directory to document source-level
|
|
changes.
|
|
|
|
<P> ------------------ 0.37 --------------------------
|
|
|
|
<P> Pd is finally fixed so that it can open and close audio and MIDI devices
|
|
on-the-fly (previously it opened them once at startup and hogged them until
|
|
Pd quit). Starting DSP causes audio devices to be opened, and
|
|
stopping it closes them.
|
|
There are dialog panels in the "Media" menu (which used to be called
|
|
"Audio") for choosing audio and MIDI settings. The "path" also can be changed
|
|
on the fly via a dialog in the "File" menu.
|
|
|
|
<P> A "vline" object acts like "line" but to sub-sample accuracy. See
|
|
the audio example, C04.control.to.signal.pd (and/or chapter 3 of
|
|
<A HREF="http://www.crca.ucsd.edu/~msp/techniques.htm"
|
|
<I> Theory and Techniques of Electronic Music </I> ).
|
|
|
|
<P> The block~/switch~ object now takes a "set" message to dynamically change
|
|
block size, etc.
|
|
|
|
<P> The makefilename object takes a "set" message to set the "pattern". You
|
|
can use this to kludge multiple substitutions (as shown in the help file).
|
|
|
|
<P> The writesf~ object got an update and a better help window. It now should
|
|
be able to write 32bit floating-point WAV soundfiles. The file's sample rate
|
|
is now set "correctly".
|
|
|
|
<P> Various improvements were made in audio I/O to improve stability and
|
|
reduce latency.
|
|
|
|
<P> Jack support should work for Mac OSX (it appears as a separate API).
|
|
Linux is offering experimental portaudio V19 support (but Mac and Window/ASIO
|
|
are still based on PA V18.)
|
|
|
|
<P> The fiddle~ object (in extra) has an "npoints" method to set the analysis
|
|
window size dynamically.
|
|
|
|
<P> (windows) Pd is now distributed as a self-extracting archive.
|
|
|
|
<P> (windows) url files in the help directories are opened correctly.
|
|
|
|
<P> (Mac) the arrow keys should now be fixed.
|
|
|
|
<P> (linux) The "configure" script should be better at finding TK in various
|
|
distributions (debian users previously had to use a special configure script.)
|
|
|
|
<P> (developers) Pd now exits cleanly from its main loop instead of bailing
|
|
out. A mutex protects Pd's data so it can be accessed from other threads.
|
|
(Thomas Grill's improvements.)
|
|
|
|
<P> (developers) The "savefunction" and "dialog" widget behaviors
|
|
were replaced by a better mechanism (class_setsavefn() and
|
|
class_setpropertiesfn()). THey're declared in m_pd.h so you don't have to
|
|
include the (unstable) g_canvas.h to get them.
|
|
|
|
<P> (developers) Better flag handling in the IEM GUIs (g_toggle.c, etc) should
|
|
compile with fewer warnings and be more portable.
|
|
|
|
|
|
<P> ------------------ 0.37-test 1 --------------------------
|
|
|
|
<P> The MacOSX version now prioritizes itself effectively (thanks to
|
|
gert@test.at (v93r)) via Adam Lindsay). Adam has made a proper MacOSX
|
|
"package" for Pd; see <A href="http://homepage.mac.com/atl/sw">
|
|
http://homepage.mac.com/atl/sw</A>.
|
|
|
|
<P> A bug was fixed in readsf~/writesf~ (things were coming out in the wrong
|
|
number of channels.)
|
|
|
|
<P> A problem compiling Pd with TK8.4 (the latest version) was fixed.
|
|
|
|
<P> Large numbers of GUI improvements by Adam Lindsay, especially relevant
|
|
to Mac OSX.
|
|
|
|
<P> For externs, the binary may now be included in a subdirectory of the
|
|
same name (e.g., "choice/choice.pd_linux" and "choice\choice.dll"). So
|
|
now you can pack multiple binaries for the same extern, along with the
|
|
source, in one convenient place. (Note that
|
|
"expr~" is an exception, since it goes by three different names, so this
|
|
trick fails for that example.)
|
|
|
|
<P> "Help" files renamed "help-xxx.pd", so that help files are now possible
|
|
for abstractions. The "help path" feature from CVS (I forgot who contributed
|
|
that) is also included but should now not be needed: Pd remembers where it got
|
|
externs and abstractions and looks back in the same directory for a help file.
|
|
See the way "extras" is organized.
|
|
|
|
<P> Pd refuses to connect signal outlets to non-signal inlets.
|
|
|
|
<P> When you save any patch, Pd looks for all invocations of that patch
|
|
as an abstraction and reloads them. This unfortunately has the side effect of
|
|
making all the containing windows visible, but it's better than nothing.
|
|
|
|
<P> ------------------ 0.36-1 -------------------------------
|
|
|
|
<P> "print" now queries you for a file to save the postscript to.
|
|
|
|
<P> "expr" brought up to date (0.4) -- a bug was fixed involving expresions
|
|
like "max($f1, 100)" which had erroneously output an integer.
|
|
|
|
<P> a bug fix in the 4-point interpolation formula, which affects tabosc4~,
|
|
tabread4~, tabread4, and vd~. These should have significantly lower
|
|
distortion than before.
|
|
|
|
<P> bug fix: vradio, hradio "send symbol" feature didn't work
|
|
|
|
<P> ------------------ 0.36 -------------------------------
|
|
|
|
<P> There's now an "undo" for most editing operations. Undoing is only
|
|
available in the window that was most recently edited. (One gotcha remains,
|
|
that "stretching" (in the font menu) affects all windows and you can't undo any
|
|
but the last one it touched.) Also, there's no "undo" for run-time operations,
|
|
only editing ones. That might be worth thinking about.
|
|
|
|
<P> Some bugs were fixed that affected "flipped" canvases (ones whose
|
|
"properties show a positive "y" increment per pixel.) Also, the coordinates
|
|
are now saved and restored correctly. "text" objects (comments) now stick to
|
|
the bottom of the window for flipped canvases.
|
|
|
|
<P> Signal lines now show up fatter than control lines. (Now I have to go
|
|
through the figures in the HTML doc again... drat)
|
|
|
|
<P> "Classic" number boxes now can have labels and send/receive signals, which
|
|
work in the same way as the IEMGUI controls do. I think "$1" style
|
|
label/send/receive names work too. I fixed a related bug
|
|
in the IEM code (typing at boxes sometimes crashed Pd).
|
|
|
|
<P> "vdial" and "hdial" were renamed "vradio" and "hradio", and fixed to
|
|
output numbers, not lists, like the other GUIs. The old ones are still around
|
|
for compatibility with old patches.
|
|
|
|
<P> "Make install" should now actually make Pd before trying to install it.
|
|
|
|
<P> "expr" is updated to Shahrokh's 0.4test3 version (which I modified somewhat
|
|
to get it to compile.)
|
|
|
|
<P> The problem of CPU usage skyrocketing on underflows in P4s should
|
|
be fixed.
|
|
|
|
<P> Compiled "pdsend" and "pdreceive" for Windows.
|
|
|
|
<P> "PD_VERSION" macro added to m_pd.h
|
|
|
|
<P> ------------------ 0.35 -------------------------------
|
|
|
|
<P> An experimental new feature called graph-on-parent allows subpatches and abstractions to show
|
|
GUI features; so, for instance, you can make an oscillator with a number box to
|
|
control the frequency. This is described in section 2.7.2 of the HTML
|
|
documentation and an example is shown in 7.stuff/synth1/.
|
|
|
|
<P> Spaces are allowed in pathnames to Pd and to patches; however, the "path"
|
|
variable still can't have spaces. (You can address path directories using
|
|
relative pathnames as in "../sound" (or ..\sound on Windows), even if there
|
|
are spaces further "up" the path to the patch. See 3.7, "dealing with files."
|
|
|
|
<P> The soundfile reading routine (used in readsf~ and soundfiler) is much
|
|
better at opening wav files with different header sizes and odd chunks.
|
|
You can now read floating-point "wav" files -- although you can't write them
|
|
yet.
|
|
|
|
<P> Templates and data structures are extensively reworked. A "struct"
|
|
object replaces "template", so that you specify the name of the structure as
|
|
the first argument to "struct" (previously it was derived from the
|
|
window name.) You can now have multiple "structs" of the same name; the
|
|
oldest one is the "real" one, but if you delete that, the structures are
|
|
all conformed to the next-oldest one, and so on. You can alter the contents of
|
|
a "struct" and all the associated data will be modified to fit the new
|
|
structure definition. Data are persistent, i.e., saved with the containing
|
|
patch. You can copy and paste data between patches. If you save data to a file
|
|
explicitly, you can read it into another patch and the data are conformed
|
|
automatically to the new data structures.
|
|
|
|
<P> A new version of Thomas Musil's GUI objects was merged in.
|
|
|
|
<P> The testtone patch works for up to 6 channels of audio input and output.
|
|
|
|
<P> Lots of improvements got made to audio I/O in general. In NT you may
|
|
specify "-asio" to use ASIO drivers; see HTML documentation section 3.2.
|
|
You may specify lists of audio input and output devices. In Linux, Pd
|
|
will now attempt to open each /dev/dsp* only once, even if it's requested
|
|
for reading and writing.
|
|
|
|
<P> The "extra" directory is now searched after the directories in the
|
|
search path, not before (so now you can override objects like "fiddle~").
|
|
|
|
<P> A bug in paf~ is fixed.
|
|
|
|
<P> In Linux, the ".pdrc" is now read before the command line arguments, so
|
|
that command line arguments override the .pdrc (it was backwards before.)
|
|
|
|
<P> In Linux, "help" now can invoke either mozilla or netscape to start
|
|
up the HTML documentation. This doesn't work in Windows or Mac land yet.
|
|
|
|
<P> In Linux, the "-32bit" flag was added, which you must now use if
|
|
running Guenter's OSS RME Hammerfall driver. (This was necessary because
|
|
OSS went and used the same "bit" for a different purpose, so that Pd tried
|
|
to open some other cards in 32bit mode inappropriately.)
|
|
|
|
<P> In Linux, MIDI is now opened "-NODELAY" ... this makes the OSS Creative
|
|
driver take MIDI input correctly which it didn't before.
|
|
|
|
<P> In MS windows, you can now use "readsf~/writesf~" for spooling sounds to
|
|
and from disk.
|
|
|
|
<P> MS Windows bug fixes: -nosound was ignored, and now works. Also, clicking
|
|
to open abstractions, when they were already open anyway, used to lose the
|
|
keyboard; this should be fixed now. Finally, "netreceive" didn't work when
|
|
running "-nogui". This is fixed, and moreover, you should definitely include
|
|
a netreceive object in any -nogui patch in MSW, otherwise it eats up all
|
|
available CPU time gratuitously.
|
|
|
|
<P> The outlet is removed from the "table" object.
|
|
|
|
<P> In MS Windows, Pd now has "-resync" and "-noresync" flags so that you
|
|
can specify how to deal with audio input and output blocksize nonsense in
|
|
MMIO. If "resync" is on, whenever the audio input and output seem out
|
|
of whack the audio driver resynchronizes all input and output devices;
|
|
otherwise the situation is simply ignored. "Noresync" is probably best for
|
|
consumer stereo cards (and is the default if you're running only 2 channels in
|
|
and out). If you're running more than 2 channels in either direction, the
|
|
default is "resync".
|
|
|
|
<P> In soundfiler's read method, if you specify "-maxsize", that implies
|
|
"-resize" (as it ought to.)
|
|
|
|
<P> You can use $1-style names for arrays and tables.
|
|
|
|
<P> Pd will now refuse to make duplicate connections between objects.
|
|
|
|
<P> Pd is (somewhat shakily) running on Macintosh OS/X. See section 3.4 of
|
|
the HTML doc. For Macs with one-button mice, you can double-click in edit
|
|
mode to simulate a right click. Unfortunately, the "alt" key doesn't work
|
|
yet.
|
|
|
|
<P> In Linux, ALSA audio is now fixed to clip, not wrap around, on output
|
|
overflows.
|
|
|
|
<P> Various problems were fixed with objects changing size. Number boxes never
|
|
wrap to two lines (as they used to), and lines are reconnected appropriately
|
|
when objects are resized.
|
|
|
|
<P> A function call is added to retrieve a unique event-dependent number,
|
|
so that objects like "buddy" can be written.
|
|
|
|
<P> All the "sound" command-line flags now have "audio" equivalents.
|
|
|
|
<P> The "-listdev" flag now works on Mac and MSW/ASIO.
|
|
|
|
<P> Help file updates for env~, route, and pointer
|
|
|
|
<P> ------------------ 0.34.3 -------------------------------
|
|
|
|
<P> fixed a bug in "udp" netreceive that crashed pd
|
|
|
|
<P> fixed a bug in tabosc4~ that caused gritty sound
|
|
|
|
<P> changed "specfile" for RPM releases (thanks Fernando)
|
|
|
|
<P> adopted Krzysztof's glob_setfilename bug fix
|
|
|
|
<P> bug fixes from "the joy of global variables" thread in Pd list
|
|
|
|
<P> made a help window for "table".
|
|
|
|
<P> ------------------ 0.34.2 -------------------------------
|
|
|
|
<P> fixed ".pdrc" bug
|
|
|
|
<P> added an experimental "pd restart-audio" feature for (new) Alsa
|
|
|
|
<P> ------------------ 0.34.1 -------------------------------
|
|
|
|
<P> Bug fixes:
|
|
|
|
<P> 1. Closing a window with objects selected crashed Pd.
|
|
|
|
<P> 2. "find" when it opened a window to show the found object crashed Pd.
|
|
|
|
<P> 3. (Linux only) Oversized .pdrc files crashed pd...
|
|
|
|
<P> Also, I updated Thomas Musil's IEM GUI objects and their help files.
|
|
|
|
|
|
<P> ------------------ 0.34 -------------------------------
|
|
|
|
<P> NEW FEATURES:
|
|
|
|
<P> I incorporated Thomas Musil's GUI objects (slider, button, etc.) into
|
|
the Pd release so Thomas won't have to publish patches to Pd anymore. I
|
|
didn't take the graphical inlets and outlets for reasons explained elsewhere,
|
|
but Thomas might decide to continue supplying them on a patch basis.
|
|
|
|
<P> Many new examples were added to the "2.control" and especially
|
|
"3.audio" example patches. A list of differences between Max/MSP and Pd
|
|
now appears at the end of this section.
|
|
|
|
<P> Finally, I fixed Pd to notice window iconification and suspend graphical
|
|
updates for iconified windows.
|
|
|
|
<P> Numbering of versions of Pd will now be as in "0.34.2" instead of
|
|
"0.34PATCH2" which was confusing.
|
|
|
|
<P> BUGS FIXED:
|
|
|
|
<P> I incorporated Krzysztof Czaja's menuclose bug fix in g_canvas.c.
|
|
|
|
<P> (Linux) the configure script is more rational.
|
|
|
|
<P> the qlist and pack objects were fixed to handle reentrancy correctly.
|
|
|
|
<P> Pd now complains about running out of memory (before it dies.) I intend
|
|
to provide advance warning and automatically back out of loading patches that
|
|
would run out of memory, but that's not in place yet.
|
|
|
|
<P> Typing into a message box sometimes left you with lines from the output
|
|
pointing to the wrong location. Fixed.
|
|
|
|
<P> Reading of "wav" and nextstep soundfiles now handles the headers better.
|
|
|
|
<P> ------------------ 0.33 -------------------------------
|
|
|
|
<P> AUDIO AND MIDI:
|
|
|
|
<P> MIDI time jitter is reduced. Theoretically, it could now be
|
|
as low as the audio blocksize (and so if you care about MIDI timing, keep your
|
|
audio blocksize low.) If you run Pd with audio in stream mode or without
|
|
audio at all, and perhaps in some cases in block more too (?),
|
|
the controlling parameter for MIDI jitter is "-sleepgrain", which specifies
|
|
the interval of time Pd sleeps when it believes it's idle.
|
|
|
|
<P> You can now 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. 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> (Linux only) By default, Pd now reads and write audio in "block mode."
|
|
Previously you have to specify "-frags" and/or "-fragsize" to get this.
|
|
As of this version you have to specify "-streammode" to get the opposite,
|
|
streaming mode. This mode seems only to work with a small number of sound
|
|
cards, notably Ensoniq ens1370 and ens1371.
|
|
|
|
<P> (Linux only) Also, "-fragsize" is replaced with a more convenient
|
|
"-blocksize" which you specify in sample frames. It defaults to 64 which is
|
|
Pd's audio computation block size but may be larger or smaller. Typically you
|
|
would specify "-audiobuf" and "-blocksize" and Pd will compute "-frags" for
|
|
you; but you can also specify "-frags" explicitly.
|
|
|
|
<P> (Linux only) OSS and ALSA audio support are improved. You can now talk to
|
|
RME9652 using Guenter's OSS driver; this is different from the "-RME" support
|
|
which uses Winfried's older driver. Other multichannel OSS drivers might now
|
|
work as well. Pd also seems to work with ALSA 0.9 Beta 4; I've tested this
|
|
with Midiman Delta 66 and Soundblaster live. I plan to update the linux audio
|
|
setup documentation accordingly.
|
|
|
|
<P> NEW FEATURES:
|
|
|
|
<P> I've put in Shahrokh's new expr, expr~, and fexpr~ objects. The latter
|
|
allows you to make expressions referring to prior input and output samples in
|
|
case you're interested in writing your own recursive filters, oscillators,
|
|
or chaotic sound generators...
|
|
|
|
<P> In support of expr, you can now use commas in "object" boxes; they just
|
|
become symbols.
|
|
|
|
<P> sqrt~ is fixed so that it apparently has 24-bit accurate mantissas.
|
|
It turned out to be easier to just make it accurate than to confront the
|
|
question of how a reduced-accuracy version should be named.
|
|
|
|
<P> The bizarre framp~ object which does phase vocoder analysis got a help
|
|
window. The phase vocoder example doesn't use framp~ and I had forgotten
|
|
what it did until Guenter dug it back up.
|
|
|
|
<P> (Linux only) I finally got around to incorporating Guenter's autoconf
|
|
stuff, and learned about RPM. Major new Linux releases will probably be
|
|
in .tar.gz and .rpm formats; "test" releases will probably just be in .tar.gz.
|
|
I also fixed it so that the installation prefix is overridden if you invoke
|
|
pd by its full pathname, so that you can still use compilations with
|
|
installation prefixes before you actually install them.
|
|
|
|
<P> (NT only) I added support for directX using the portaudio package
|
|
by Ross Bencina and Phil Burk. I couldn't discover any way this would ever
|
|
outperform the old "multimedia" API Pd uses. So the release contains the sources,
|
|
but you have to recompile Pd to use directX. Use "makefile.nt.portaudio". Only
|
|
1 or 2 channels of audio are supported. The interesting thing is that the same
|
|
code will run on Macintosh. There are a couple of other obstacles to a
|
|
MacOS port of Pd though; it's hard to predict when this will be feasible.
|
|
|
|
<P> BUG FIXES:
|
|
|
|
<P> "drawnumber" was broken in 0.32 -- fixed.
|
|
|
|
<P> new arrays in 0.32p6 got ill-fitting graphs -- fixed.
|
|
|
|
<P> ------------------ 0.32 PATCH 6 -------------------
|
|
|
|
<P> Got array and graph dialogs to behave better when there are more
|
|
than one.
|
|
|
|
<P> put in mtof~, etc.
|
|
|
|
<P> made Pd search the "extra" directory without having to specify it in "path."
|
|
|
|
<P> bug fix in exporting patches to Max
|
|
|
|
<P> ------------------ 0.32 PATCH 5 -------------------
|
|
|
|
<P> Reversed the order of these release notes so that the newest appear first.
|
|
|
|
<P> Arrays can save their content with containing patch; the properties
|
|
dialog selects this. The dialog shows up when you create a new array from
|
|
the menu, and allows you to set the name and size. Only floating point arrays
|
|
can be created and edited this way.
|
|
|
|
<P> Bug fix: the figures in the NT web doc were garbage.
|
|
|
|
<P> Bug fix: large tables (> 800 pixels and points) no longer crash the GUI.
|
|
A related problem remains; large arrays are truncated to either 1000 points
|
|
or 1000 pixels.
|
|
|
|
<P> Bug fix: doing "save as" on an instantiated abstraction no longer sets
|
|
the window title.
|
|
|
|
<P> in linux, a couple of status messages on opening /dev/dsp only appear now
|
|
if Pd is run "-verbose".
|
|
|
|
|
|
<BR> <BR>
|
|
<P> ------------------ 0.32 PATCH 2, 3, 4 -------------------
|
|
|
|
<P> Hassled more with font size differences between NT and Linux, and updated
|
|
many help files. Minor bug fixes here and there.
|
|
|
|
<P> the table object now takes a second argument to set size in points.
|
|
|
|
<P> Improved underflow protection in some DSP objects.
|
|
|
|
<P> pointer now has a "vnext" traversal method which goes forward to the
|
|
next SELECTED object.
|
|
|
|
<P> improvements to throw~ (it now sums) and receive~ fixed to be settable.
|
|
|
|
<P> bug fix in which RME driver always thought sample rate was 44100.
|
|
|
|
<BR> <BR>
|
|
<P> ------------------ 0.32 PATCH 1 -------------------
|
|
|
|
<P> bug fixes (bugs flagged by mik): vcf~ help window crashed; writesf~
|
|
only wrote 1 channel soundfiles; "table" object didn't open when clicked
|
|
on;
|
|
|
|
<P> new object: tabosc4~ -- finally, a real wavetable oscillator for Pd.
|
|
|
|
<P> much work on "data" editing; go to 7.stuff/data-structures, open patches
|
|
5 and 7, and try clicking on things. Alt clicks delete or add points; regular
|
|
clicks drag values around. The cursor changes to show you what will happen
|
|
if you click.
|
|
|
|
<BR> <BR>
|
|
------------------- 0.32 -----------------
|
|
|
|
<P> <strong> New objects: </strong>
|
|
|
|
<P> midiin, sysexin, midiout. (I don't think MIDI sysex is working
|
|
in Windows yet though.)
|
|
|
|
<P> threshold~ as in Jmax, triggers from audio level.
|
|
|
|
<P> value as in Max and Jmax.
|
|
|
|
<P> writesf as in Jmax.
|
|
|
|
<P> <strong> New startup flags: </strong>
|
|
|
|
<P> -sleepgrain: if you aren't using audio I/O, this can reduce time jitter in
|
|
MIDI I/O. Otherwise, MIDI I/O jitter is limited by the audio buffer size.
|
|
|
|
<P> -noloadbang: cancels loadbangs.
|
|
|
|
<P> -nogui: suppress starting the GUI. You can then still talk to Pd using,
|
|
perhaps among other possibilities, the new network connection programs now
|
|
included in the release.
|
|
|
|
<P> -guicmd: lets you specify the command string Pd calls to start the GUI,
|
|
in case you've written your own GUI to replace the TK one Pd comes with.
|
|
|
|
<P> -send: after loading all the patches specified in the command line,
|
|
you can specify "startup" messages to send. For example, if you want to use
|
|
Pd just to play 50-channel soundfiles from a shell, this is how you can specify
|
|
the soundfile name on the command line.
|
|
|
|
<P> <strong> bug fixes. </strong>
|
|
|
|
<P> A readsf~ problem got fixed.
|
|
|
|
<P> hitting the tab key used to cause Pd windows to relinquish the keyboard.
|
|
|
|
<P> The $0 feature apperas now to work.
|
|
|
|
<P> Inlets and outlets of subpatches sometimes got out of left-to-right order.
|
|
|
|
<P> Scrollbars are less out of whack than they were before.
|
|
|
|
<P> Pd now knows to de-iconify windows if you "vis" them from the parent.
|
|
|
|
<P> <strong> in general: </strong>
|
|
|
|
<P> In Linux the treatment of MIDI input is now much more efficient. Also,
|
|
bugs were fixed in notein and (for SGI) bendin.
|
|
|
|
<P> You can "select all" from the Edit menu.
|
|
|
|
<P> standalone programs "pd-send" and "pd-receive" are provided that can send
|
|
mesages to Pd or receive messages from Pd via the netsend~ and netreceive~
|
|
objects. This should allow you to interface a wide variety of other programs
|
|
with Pd either on the same machine or over the network. Also you should be
|
|
able to hack the code into your own programs to make them interoperate with
|
|
Pd and/or each other. The underlying protocol is called FUDI.
|
|
|
|
<P> "Properties" for scalars, graphs, and number boxes: left click on them.
|
|
In particular, number boxes can have fixed widths and finite ranges; if you
|
|
make them one character wide they act as toggles. Later you'll be able to
|
|
configure them as sliders.
|
|
|
|
<P> As to scalars, the properties dialog lets you edit the data in the raw.
|
|
Don't try to edit the template though; you can't.
|
|
|
|
<P> You can now type into a "pd" object to change its name without losing the
|
|
contents.
|
|
|
|
<P> An experimental "scalar" _text_ object now allows abstractions to draw
|
|
primitive control panels on their parents when you invoke them, as if they were
|
|
Moog or Buchla modules. See the "7.stuff/data" examples.
|
|
|
|
<P> New help windows for the "data" classes (pointer, append, template, etc.)
|
|
and for send/receive which somehow I had neglected.
|
|
|
|
<P> When you hit "copy" with nothing selected, the copy buffer used to be
|
|
cleared. This is fixed to do nothing.
|
|
|
|
<BR> <BR>
|
|
------------------- 0.31 -----------------
|
|
|
|
<P> ALSA support in Linux has been completely overhauled. It now works with
|
|
Midiman (up to 10 in/12 out!) and es1370. There are problems with SBLive under
|
|
ALSA but it works in OSS emulation with a "-frags" setting. See the "getting
|
|
started" documentation.
|
|
|
|
<P> In NT, the default is now "noresync" if you're running stereo. You can
|
|
override this with the "-resync" flag. If you're running more than 2 channels
|
|
it's the opposite (as it was before.)
|
|
|
|
<P> "symbol" boxes now display symbols and let you type them in.
|
|
|
|
<P> There was a bug when you renamed a patch from outside Pd; the old filename
|
|
still showed in the title bar (and there were other bad side effects.) FIxed.
|
|
|
|
<P> Protection was added against patches opening themselves as abstractions.
|
|
|
|
<P> The "route" object's handling of leading symbols was improved. I'm not
|
|
sure whether it's Max compatible or not.
|
|
|
|
<P> You can draw into arrays with the mouse, at least in the case where there's
|
|
at least one pixel per point. (I'm not sure if the other case even makes
|
|
sense.)
|
|
|
|
<P> Abstractions display their "$1", etc., arguments in the window title bar.
|
|
|
|
<P> A "sort" method was added for lists to make them easier to use as
|
|
sequencers.
|
|
|
|
<P> The "save as" dialog makes a more reasonable choice of start-up directory.
|
|
|
|
<P> "Trigger i" is now disallowed (it used to crash Pd.)
|
|
|
|
<P> Getbytes and resizebytes now zero out new memory.
|
|
|
|
<P> A memory leak reported by Hannes has been partly, hopefully mostly, fixed.
|
|
|
|
<P> The "signal_free 2" bug reported by Fogar is fixed.
|
|
|
|
<P> New graphs now reliably avoid using already-taken "graph%d" names.
|
|
|
|
<P> The old bug which showed up as ".xxxxxxxxx: no such object" is fixed.
|
|
|
|
<P> The FFT examples have been reworked and the "pique" and "shift" objects
|
|
are moved to "extra".
|
|
|
|
<BR> <BR>
|
|
------------------- 0.30 -----------------
|
|
<P> in Linux, you can get Pd to promote itself to "real time" priority.
|
|
A "watchdog" process protects you from having Pd lock your machine up. You
|
|
must request real time by running "pd -rt" or "pd -realtime". You must either
|
|
be superuser or make Pd a root-owned SETUID program (chown root .../pd/bin/pd;
|
|
chmod 4755 .../pd/bin/pd). For security reasons, Pd relinquishes root
|
|
privelige immediately after setting its priority, before loading
|
|
any patches or externs.
|
|
|
|
<P> Protection was added against message loops.
|
|
|
|
<P> loadbang was fixed so that loadbangs in abstractions go off before loadbangs
|
|
in the owner patch. Within each patch, loadbangs go off forst in subpatches.
|
|
|
|
<P> new object: tabplay~, a non-imterpolating sample reader.
|
|
|
|
<P> new objects (in "extra" library): loop~; rev1~.
|
|
|
|
<P> The "toys" library was renamed "extra" and incorporated in the Pd release.
|
|
|
|
<P> In Linux, timeouts were added to the driver opening and closing code
|
|
(which used to hang under some conditions.)
|
|
|
|
<P> the "field" object was replaced by "template"; see "data.structures"
|
|
examples in 7.stuff. Data lists can be read from and written to files now.
|
|
|
|
<P> You can invoke an external object by pathname, as in "../../extra/loop~".
|
|
|
|
<P> hip~, etc. should no longer get stuck when they get a NAN on input.
|
|
|
|
<P> a bug was fixed in expanding symbols such as "$1-foo".
|
|
|
|
<BR> <BR>
|
|
------------------- 0.29 -----------------
|
|
|
|
<P> readsf~ - a MAX/FTS style soundfile player, which reads multichannel
|
|
soundfiles in wave, aiff, or next formats. The files must be 16 or 24 bit
|
|
fixed point or 32 bit floating point (only nextstep headers understand the
|
|
latter.) You can also override the header. A "skip" flag lets you read
|
|
starting anywhere in the file. (Sorry: linux only for now; I can't find
|
|
Posix threads packages for the other platforms.)
|
|
|
|
<P> soundfiler - support for reading and writing soundfiles (wave, aiff,
|
|
nextstep) to and from arrays. Multichannel soundfiles can be read into or
|
|
written from several arrays at once. When reading you can ask that the tables
|
|
be automatically resized; in any event the object obligingly outputs the number
|
|
of samples actually read. When writing you can specify a sub-segment of the
|
|
arrays, and/or request that the soundfile's maximum amplitude be normalized to
|
|
one.
|
|
|
|
<P> tabplay~ - a non-interpolating sample player
|
|
|
|
<P> Garry Kling reports having compiled Pd for "yellowdog" linux on Macintosh
|
|
computers. One "fix" has been made to s_linux.c to facilitate this. I don't
|
|
have access to a Mac running linux at the moment so I can't verify whether
|
|
any particular repease of mine actually works there.
|
|
|
|
<P> Signal objects now automatically convert scalars to vectors, so that you
|
|
can just run a number box into a signal input. One caveat is that the binops
|
|
"+~", "-~", "*~", "/~", "max~", "min~" run slightly faster if you give them
|
|
an argument to tell them that their right inlet will be scalar; so the
|
|
construction "+~ 0" is still meaningful. This will get fixed at some later
|
|
date...
|
|
|
|
<P> Font sizes work in what I hope will be a more machine-portable way. On
|
|
any machine, the point sizes 8, 10, 12, 14, 16, 24 are DEFINED to be the
|
|
largest fonts Pd can find that don't exceed their size on my linux machine.
|
|
This way I can write patches that everyone else can read, and others will
|
|
at least have fewer portability problems than before. The downside is that
|
|
your old patches may appear with a different type size than you want; use the
|
|
"font" menu item to fix them.
|
|
|
|
<P> The OSS support no longer asks the audio driver whether full duplex
|
|
is needed; it just tries to open it. Apparently some drivers (such as
|
|
ALSA's OSS emulation) might do full duplex but not implement the call Pd
|
|
used to query for it.
|
|
|
|
<P> You can give "-nomidi" as a flag (previously you had to type "-nomidiin
|
|
-nomidiout".)
|
|
|
|
<P> A GUI bug reported by Iain Mott was fixed.
|
|
|
|
<P> You can now type symbols such as "$3-poodle" and the "$3" portion gets
|
|
expanded properly. Someone was also asking about the FTS-style #0 feature,
|
|
but I couldn't figure out how to reconcile it with Pd's usage of "$" for "#"
|
|
in abstractions. So I'm still searching for a good way to provide local
|
|
symbols.
|
|
|
|
<P> the GUI now protects itself from "\", "{" and "}" characters by dropping
|
|
them. I wonder how many NT users have crashed Pd trying to type in filenames
|
|
with backslashes...
|
|
|
|
<P> samphold_set and tabwrite_stop methods added. There turned out to be
|
|
no help window for samphold~ so one was supplied.
|
|
|
|
<BR> <BR>
|
|
------------------- 0.28 -----------------
|
|
|
|
<P> Version 0.28 has a primitive in-box text editor... about time!
|
|
|
|
<P> the "front panel" now gives you information on audio levels and
|
|
sync errors.
|
|
|
|
<P> Message boxes flash, sort of, when you click them.
|
|
|
|
<P>
|
|
Support has been added for RME 9652 soundcards; see the Linux soundcard section of
|
|
the documentation. Support files for RME and PCI128 (Ensoniq es1370) cards
|
|
are released separately from Pd.
|
|
|
|
<P> The delete and backspace keys clear the current selection. There is
|
|
unfortunately no "undo" though; I'm not sure this is a good thing to have
|
|
put in.
|
|
|
|
<P> The "until" object has a "float" method which limits the number of bangs
|
|
it will output.
|
|
|
|
<P> The audio setup is better documented for NT and Linux.
|
|
|
|
<P> The externs in 4.fft and 6.externs got recompiled and tested.
|
|
|
|
<P> BUG FIX: the "read16" message to tables was broken on NT and is now fixed.
|
|
|
|
<P> BUG FIX: In Linux, starting Pd up sometimes changed the audio mixer
|
|
setting.
|
|
|
|
<P> BUG FIX: sending "floats" to inlets expecting lists now works correctly.
|
|
|
|
<P> BUG FIX: "route" on symbols now deals better with symbols, floats and lists.
|
|
|
|
<BR> <BR>
|
|
------------------- 0.27 -----------------
|
|
<P>
|
|
The main new feature is the "find" menu stuff. You can search for boxes
|
|
containing specified atoms, including semicolons or commas. Most errors are
|
|
now trackable, allowing you to "find last error". Look in the "Find" menu.
|
|
|
|
<P>
|
|
New objects written: change, max, max~, min, min~, and swap.
|
|
|
|
<P>
|
|
I looked in 0.INTRO.txt in 5.reference, and found that the objects
|
|
bag, cputime, realtime, pipe, symbol, poly, and bang were missing.
|
|
|
|
<P>
|
|
Five or six bug fixes.
|
|
|
|
<P>
|
|
Some audio problems in 0.25 were addresses. In Linux, audio drivers that
|
|
don't support the GETISPACE/GETOSPACE ioctl calls can be called using the
|
|
(inferior) "-frags/-fragsize" mechanism. If you specify either a "-frags"
|
|
or a "-fragsize" option, the GETIOSPACE calls are cancelled.
|
|
|
|
<P>
|
|
Under NT, for some audio drivers the 0.26 release gave a constant stream of
|
|
"resync" events. I don't know what causes this but I added a "-noresync"
|
|
option which simply never resyncs at all.
|
|
|
|
<BR> <BR>
|
|
------------------- 0.26 -----------------
|
|
<P>
|
|
phasor~ and osc~ can be configured to take floating point messages to set
|
|
their frequencies, as an alternative to having an input signal to do the
|
|
same. Also, +~, etc, can take floating point arguments (and messages) to
|
|
add or multiply scalars. THe +~, etc, loops were unrolled to make them
|
|
run faster.
|
|
|
|
<P>
|
|
A switch~ object is provided to let you switch sub-patches on and off. The
|
|
inlet~ and outlet~ objects were re-written to avoid adding any overhead when
|
|
moving signals in or out of sub patches.
|
|
|
|
<P>
|
|
In Linux at least, the audio latency is much reduced. It's possible to poll
|
|
for audio I/O lateness errors by sending "pd audiostatus".
|
|
|
|
<P>
|
|
When reading a sample using tabread4~, you can switch between sample tables
|
|
using the "set" message.
|
|
|
|
<P>
|
|
A new "textfile" object is like qlist but more flexible.
|
|
|
|
<P>
|
|
Many help windows got updated (but at least a dozen more need work urgently).
|
|
|
|
<P>
|
|
A dsp_addv function was added to allow variable-length DSP calls (for writers
|
|
of tilde externs.)
|
|
|
|
<P>
|
|
It's possible for a tilde extern to have a name ending in "tilde" now. Name
|
|
the setup routine "foo_tilde" for "foo~", etc.
|
|
|
|
<P>
|
|
The dac~ object was fixed to clip its output when out of range (before it
|
|
wrapped around.)
|
|
|
|
<P>
|
|
A first line of protection was added against getting numerical underflow
|
|
in delay feedback loops. Before, when a reverberator taled out there was
|
|
a sudden jump in CPU usage because the numerical underflows would trap to the
|
|
kernel. Now, if any delwrite~ is given a value less than 1e-20 or so, it
|
|
records a true zero to avoid this.
|
|
|
|
<P>
|
|
Signal division checks for divide by zero.
|
|
|
|
<P>
|
|
A "Font bomb" feature is provided for resizing fonts and stretching and
|
|
contracting patches to fit.
|
|
|
|
<P>
|
|
Pds now bind themselves to the symbol pd-<window-name).
|
|
|
|
<P>
|
|
IN Linux, if Pd is called as root it tries to promote its run-time
|
|
priority. You can make pd a setuid root owned program if you want this
|
|
behavior for non-root users who start pd.
|
|
(Don't make pd-gui setuid though. That would make a security
|
|
hole in your system.)
|
|
|
|
<P>
|
|
The Pd commend line can take multiple "open" arguments.
|
|
|
|
<P>
|
|
The file search path feature was fixed amd generalized.
|
|
|
|
<P>
|
|
Alt-clicking a table gives you a dialog to set its x and y range and pixel
|
|
size.
|
|
|
|
<BR> <BR>
|
|
------------------- 0.25 -----------------
|
|
<P>
|
|
Lots of minor, under-the-hood improvements and bug fixes...
|
|
<P>
|
|
The Netsend/netreceive objects were improved; you can now choose between UDP
|
|
and TCP and there's an outlet to tell you whether they're connected.
|
|
<P>
|
|
You can now alt click on an object to get its help window (and the help
|
|
windows got a fair amount of work.)
|
|
<P>
|
|
multichannel audio I/O -- you can get up to 8 audio cnahhelsin and out.
|
|
On SGI this is sdone correctly; on NT it's done using sequential "stereo"
|
|
devices. I'm not sure of the status of multichannel in linux...
|
|
<P>
|
|
The "text" window got new accelerators and a bigger font size
|
|
<P>
|
|
there are 3 "tool" patches in 7.stuff: filtering, pvoc, ring mod.
|
|
<P>
|
|
In NT, command-line backslashes are converted to forward slashes.
|
|
<P>
|
|
There's a load measurement tool in the "help" menu.
|
|
<P>
|
|
The SGI version contains an n32 binary (look at the "bin" directory).
|
|
|
|
<BR> <BR>
|
|
------------------- 0.24 ---------------
|
|
<P>
|
|
new objects:
|
|
<BR> - bang - convert any message to a "bang"
|
|
<BR> - qlist - message sequencer
|
|
<BR> - textfile - file to message converter
|
|
<BR> - makefilename - format a name with a variable field
|
|
<BR> - openpanel - "Open" dialog
|
|
<BR> - savepanel - "Save as" dialog
|
|
<P>
|
|
Bug fixes:
|
|
<BR> - Fixed a bug in "const" message to arrays
|
|
<BR> - "exp" was broken on NT, now fixed
|
|
<BR> - phase vocoder example improved
|
|
<BR> - "read" message to arrays now zero out unread samples
|
|
<BR> - bug fix in "key" object
|
|
<BR> - bug fix in ifft~ (thanks to Peter Lunden)
|
|
<BR> - "print" object fixed to distinguish between lists starting with symbols and
|
|
other messages
|
|
<BR> - polygon, curve, fpolygon, fcurve renamed to fix name clash with Gem
|
|
<BR> - improved "new object" placement on screen
|
|
<BR> - fixed help dialog to remember previous directory (thanks to Harry Castle)
|
|
<BR> - heterogeneous lists
|
|
<P>
|
|
|
|
Arrays can be written to and read from text files or from 16-bit
|
|
binary files. See ../2.starter/2G for an overview.
|
|
<P>
|
|
|
|
Guenter Geiger has contributed a Max-style "table" object which
|
|
creates an "array" object in a subwindow.
|
|
<P>
|
|
|
|
Guenter has also put in a "search path" feature for externs, abstractions,
|
|
etc.
|
|
<P>
|
|
|
|
The Help menu got reworked.
|
|
<P>
|
|
|
|
Select and Route were extended to work Zack-style with symbols.
|
|
<P>
|
|
|
|
"random" takes seeds now (see the "help" window)
|
|
<P>
|
|
|
|
Some more work on graphical lists; you can see the current state in
|
|
../7.stuff/data-structures. It's still nascent.
|
|
|
|
------------------- 0.23 -------------------
|
|
<P>
|
|
A first cut at the "pure data" feature is now included. See section 6
|
|
of the documentation for a quick introduction to it; see also patches 12 and
|
|
14 in the FFT examples.
|
|
<P>
|
|
The documentation has been reorganized. The most interesting new features are:
|
|
<BR> - some new "tutorial" patches
|
|
<BR> - 15 "fft" examples
|
|
<BR> - improved help navigation
|
|
<P>
|
|
more bug fixes:
|
|
<BR> - titles on abstractions no longer saved inside file
|
|
<BR> - left-to-right sorting of inlets/outlets now seems to work
|
|
<BR> - nt audio setup got confused when driver couldn't do full duplex
|
|
<BR> - opening window with audio on is now fixed
|
|
<BR> - deleting inlets/outlets deletes connections first (used to crash)
|
|
<BR> - 1e20 parsed correctly now
|
|
<BR> - osc1~ fixed and optimized
|
|
<BR> - resizing arrays with DSP on used to crash; now fixed
|
|
<BR> - pasting now adds to the end of the list (used to add to beginning)
|
|
<BR> - clicking now selects the most recent object when two or more overlap
|
|
<BR> - Pd's "open" and "help" dialogs now maintain separate paths
|
|
<P>
|
|
The phasor~ object's "float" method has been REMOVED -- use the right-hand
|
|
inlet to set the internal phase. This is so that I can later fix all tilde
|
|
objects to convert messages to signals automatically at all signal inputs.
|
|
|
|
<BR> <BR>
|
|
------------------- 0.22 -------------------
|
|
<BR>
|
|
bug fixes
|
|
<BR> - parsing 1e+006 gave symbol (now float)
|
|
<BR> - "." parsed as number, should be symbol
|
|
<BR> - change GUI polling loop to TK event dispatch (unix only)
|
|
<BR> - improved "tidy up" feature
|
|
<BR> - size check added to text boxes (used to crash; still not correct.)
|
|
<BR> - occasional bug sending text with CRs to tk
|
|
<BR> - binop startup bug
|
|
<BR> - key accelerators for creators wrong
|
|
<BR> - ftom range to 1500
|
|
<BR> - bug in pack, unpack
|
|
<BR> - windows restore bigger than saved
|
|
<BR>
|
|
<BR>
|
|
|
|
Nt-specific bug fixes:
|
|
<BR> - getsockopt for netreceive fails. Just omitted it for NT.
|
|
<BR> - put tcl dlls in tcl bin, not pd bin
|
|
<BR> --- archive tcl subsystem for easier version updates
|
|
<BR> --- fix README accordingly
|
|
<BR> - deal with bell sound
|
|
<BR> - turn on optimization
|
|
<BR> - looked for audio timeout bug but couldn't find it.
|
|
<BR> <BR>
|
|
|
|
------------------- 0.21 -------------------
|
|
|
|
<P>
|
|
bug fixes:
|
|
|
|
<P>
|
|
table size change with DSP on: It used to crash Pd to resize an array
|
|
when DSP was turned on. This is now fixed.
|
|
|
|
<P>
|
|
deselect all when locking. When you lock a patch the selection is cleared.
|
|
|
|
<P>
|
|
unlock when pasting. .. and if you paste into a petch, it's unlocked.
|
|
|
|
<P>
|
|
|
|
lost keyboard events. Version 0.20 lost keyboard events and
|
|
forgot window size changes. This should now be fixed.
|
|
|
|
<BR> subpatches came up in wrong font size
|
|
<BR> dirty flag on window title bar fixed
|
|
<BR> improvement to netreceive suggested by Mark Danks
|
|
<BR> style notes fleshed out as suggested by Larry Troxler
|
|
<BR> fixed Bill Kleinsasser's bug (short and long array in same graph)
|
|
|
|
<P>
|
|
new features:
|
|
|
|
<BR> phase setting for phasor~
|
|
<BR> fft objects. Also, block~, for specifying block sizes and overlaps for FFTs.
|
|
<BR> canvas_makefilename() (used, e.g., by array_read and write)
|
|
<BR> "stuff" directory with examples of real Pd applications.
|
|
|
|
<BR> <BR>
|
|
------------------- 0.20 -------------------
|
|
|
|
<P>
|
|
In NT, the 0.19 release turned out not to contain all the files needed to make
|
|
TCL run. This problem should now be fixed.
|
|
|
|
<P>
|
|
Also, the array_write routine was fixed.
|
|
|
|
<BR> <BR>
|
|
------------------- 0.19 -------------------
|
|
|
|
<BR>
|
|
notable new objects:
|
|
|
|
<BR>
|
|
- vcf~, a bandpass filter with a signal input for center frequency.
|
|
<BR>
|
|
- delread, delwrite, vd, as in ISPW Max.
|
|
<BR>
|
|
- various math and midi stuff
|
|
<BR>
|
|
- catch~, throw~, send~, receive~ for nonlocal signal connections
|
|
<P>
|
|
- an experimental facility for array of floats is included. You can make a new
|
|
array (from the "put" menu) which will be given a name such as "array1". You
|
|
can then send it "read <file>", "write <file>", "resize <N>", and "print"
|
|
messages. File reading and writing is in ascii. "resize" changes the size of
|
|
the array, and "print" prints its vital signs. You can then use "tabread4~"
|
|
to do a 4-point interpolating table lookup, and tabwrite~ to write audio
|
|
samples into the table.
|
|
<P>
|
|
Numbers now default to floating point, although certain objects like "spigot"
|
|
and "metro" still convert their boolean inputs to integers so that 0.5 is
|
|
"false." This behavior will probably change later. The "div" and "mod"
|
|
objects are introduced for explicit integer division and remainder.
|
|
<P>
|
|
Number boxes drag in integer increments, or in hundredths if you hold the
|
|
"shift" key down when you click.
|
|
<P>
|
|
Pd documents now save their font sizes. The font size is global to an entire
|
|
document. New documents come up in the font size Pd was started in (using
|
|
the "-font" flag.) If you want to change the font size of an existing
|
|
document, use a text editor; the font size is the last argument on the first
|
|
line. 8, 10, 12, 14, 16, 18, and 24 are supported.
|
|
<P>
|
|
The abbreviations "t," "f," and "i" stand for "trigger,", "float", and "int."
|
|
<P>
|
|
Inlets and outlets of subpatches are now sorted correctly; although there is
|
|
still a problem deleting inlets/outlets which have connections.
|
|
<P>
|
|
The size and screen location of Pd documents is saved correctly.
|
|
<P>
|
|
Tilde objects now work in "subpages" although there is no way to send
|
|
signals through their inlets and outlets; use throw~/catch~ or send~/receive~.
|
|
<P>
|
|
On NT, the default is to open both audio output and input (this used not
|
|
to work.) The situation is still shaky; audio seems to hang up sporadically
|
|
on my machine; but I seem to have installed my audio driver wrong anyway.
|
|
I had to set a huge output FIFO (1/3 sec or so!) to get it to work at all.
|
|
You can type "pd -dac", "pd -adc", or "pd -nosound" to get output only,
|
|
input only, or no audio at all.
|
|
NT's MIDI input and output are supported, but on my machine MIDI output is
|
|
flaky. I'm curious how all this will work on other machines...
|
|
<P>
|
|
The list of classes is now:
|
|
<P>
|
|
|
|
GENERAL:
|
|
field inlet outlet print int float send receive select route pack unpack
|
|
trigger spigot moses delay metro line timer makenote stripnote random loadbang
|
|
serial get netsend netreceive
|
|
<P>
|
|
|
|
MATH:
|
|
+ - * / == != > < >= <= & && | || %
|
|
mod div sin cos tan atan atan2 sqrt log exp abs
|
|
mtof ftom powtodb rmstodb dbtopow dbtorms
|
|
<P>
|
|
|
|
MIDI:
|
|
notein ctlin pgmin bendin touchin polytouchin noteout ctlout pgmout bendout
|
|
touchout polytouchout
|
|
<P>
|
|
|
|
SIGNAL:
|
|
dac~ adc~ sig~ line~ snapshot~ +~ -~ *~ /~ phasor~ cos~ vcf~ noise~ env~ hip~
|
|
lop~ bp~ biquad~ samphold~ clip~ rsqrt~ sqrt~ wrap~ print~ scope~ tabwrite~
|
|
tabread4~ send~ receive~ catch~ throw~ delwrite~ delread~ vd~
|
|
|
|
<BR> <BR>
|
|
------------------- 0.18 -------------------
|
|
|
|
<BR>
|
|
Release notes now descrie the three platforms Pd runs on: IRIX and
|
|
NT (maintained at UCSD) and LINUX, maintained by Guenter Geiger.
|
|
|
|
<P>
|
|
menu "close" on a dirty document now checks if you really want to close
|
|
without saving (although "quit" will still exit Pd without verification.)
|
|
|
|
<P>
|
|
Got rid of "dll" error printout when loading abstractions
|
|
|
|
<BR> <BR>
|
|
------------------- 0.12 - 0.17 -------------------
|
|
|
|
<BR>
|
|
got Pd running under NT, although driver problems remain. Gem is also
|
|
distributed for both platforms.
|
|
|
|
<BR> <BR>
|
|
------------------- 0.11 -------------------
|
|
|
|
<BR>
|
|
Here's a list of all the objects in this release:
|
|
|
|
<BR>
|
|
general: print int float send receive select pack unpack trigger spigot
|
|
<BR>
|
|
time handling: delay metro line timer
|
|
<BR>
|
|
arithmetic: + + - - * * / / == == != != > > < < >= >= <= <= & && | || %
|
|
<BR>
|
|
midi: notein noteout makenote stripnote
|
|
<BR>
|
|
other: random get
|
|
<BR>
|
|
signals: dac~ adc~ sig~ line~ snapshot~ +~ *~
|
|
<BR>
|
|
signal oscillators: phasor~ cos~
|
|
<BR>
|
|
signal filters: env~ hip~
|
|
<BR>
|
|
signal debugging : print~ scope~
|
|
<BR>
|
|
<BR>
|
|
|
|
"spigot" replaces "gate" but has the inputs reversed.
|
|
|
|
<BR> <BR>
|
|
------------------- 0.10 -------------------
|
|
<BR>
|
|
|
|
Many bug fixes. This was the first pre-release to be put on the FTP site.
|
|
|
|
<BR> <BR>
|
|
------------------- 0.09 -------------------
|
|
|
|
<BR> set up the "Help" menu
|
|
<BR> Bug in DSP sorting fixed
|
|
<BR> "Notein" and "noteout" objects
|
|
<BR> Comments from the Put menu say "comment" (they were invisible before)
|
|
<BR> The scheduler deals better when sound I/O malfunctions
|
|
|
|
<BR> <BR>
|
|
------------------- 0.08 -------------------
|
|
|
|
<BR> metro bug
|
|
<BR> scrollbars
|
|
<BR> scheduler bug
|
|
<BR> text box wraparound at 80 chars.
|
|
<BR> fixed boxes to reconnect on retype
|
|
|
|
<BR> <BR>
|
|
------------------- 0.07 -------------------
|
|
|
|
<BR>
|
|
- made an adc~ object
|
|
|
|
<BR> <BR>
|
|
------------------- 0.06 -------------------
|
|
|
|
<BR>
|
|
- fixed two bugs in DSP sorting
|
|
<BR>
|
|
- added DSP on/off gui
|
|
<BR>
|
|
- added lock/unlock and changed the cursor behavior
|
|
<BR>
|
|
- fixed -font flag to set font pointsize
|
|
|
|
<BR> <BR>
|
|
------------------- 0.05 -------------------
|
|
<P>
|
|
- added scope~, which is just a stopgap until real sound editing comes up.
|
|
<BR>
|
|
- improved the open panel slightly.
|
|
<BR>
|
|
- added atoms (int only).
|
|
<BR>
|
|
- reworked text editing to reside in Pd, not Pd-gui.
|
|
<BR>
|
|
- included a dbx-debuggable Pd in the distribution. I haven't yet figured
|
|
out how to get dbx to work with externs though.
|
|
|
|
<BR> <BR>
|
|
------------------- 0.04 -------------------
|
|
<P>
|
|
fixed "cut" which crashed 0.03 if DSP was running.
|
|
added clip~, print~, line~, snapshot~.
|
|
|
|
|
|
<BR> <BR>
|
|
------------------- 0.03 -------------------
|
|
<P>
|
|
"pd dsp 1", "pd dsp 0" messages added. If you edit a patch with DSP on,
|
|
PD resorts the DSP network as needed. Unconnected and multiple signal inlets
|
|
are allowed.
|
|
|
|
<BR> <BR>
|
|
------------------- 0.02 -------------------
|
|
<P>
|
|
A DSP network mechanism has been added. DSP objects are:
|
|
sig~, +~, *~, phasor~, cos~.
|
|
<P>
|
|
Loading of externs is provided (although there is no search path mechanism
|
|
so the extern has to be in the patch's current directory.) Look in
|
|
pd/externs for an example.
|
|
|
|
<BR> <BR>
|
|
|
|
------------------- 0.01. -------------------
|
|
<P>
|
|
This first release serves mostly to test the "release" mechanism. A Pd
|
|
"canvas" object is provided which does both graphing and patch editing.
|
|
The editing features apply only to the Max-like part; the graphs have
|
|
to be edited into a Pd file via text editor.
|
|
<P>
|
|
Four menu items (in the "put" menu) create the four kinds of "patchable"
|
|
objects; they can be dragged and connected as in Max; to break a connection,
|
|
just click on it (the cursor becomes a turkey to indicate this.) Cut,
|
|
paste, and duplicate seem to work, and a "Pd" class offers subwindows.
|
|
<P>
|
|
The following max-like objects are included:
|
|
|
|
print;
|
|
+, *, -, /, ==, !=, >, <, >=, <=, &, |, &&, ||, %;
|
|
int, float, pack, unpack, trigger;
|
|
delay, metro, timer;
|
|
send, receive.
|
|
<P> -----------------------------------------
|
|
|
|
<H3> <A name="s2"> 5.2. known bugs </A> </H3>
|
|
|
|
<P> These are now tracked on the
|
|
<A href=https://sourceforge.net/projects/pure-data/>
|
|
Pd Sourceforge project page</A>.
|
|
|
|
<H3> <A name="s3"> 5.3. differences from Max/MSP </A> </H3>
|
|
|
|
<P> It wasn't anyone's intention to make Pd a Max/MSP clone, but on the
|
|
other hand, if there's no reason for a feature to appear differently in
|
|
Pd than in Max/MSP, the choices in Pd tend to hew to those in Max/MSP.
|
|
Moreover, some effort has been undertaken (but more is needed) to make the
|
|
two interoperable.
|
|
|
|
<P> You can use Pd to import and export patches to Max/MSP; just save as text to
|
|
a file with extension ".pat", and then open in the other program. You'll at
|
|
least get something. If you stick to common or commonizable features you can
|
|
actually develop patches for both platforms. Pd importing of Max patches works
|
|
best if you use the Pd Extended package; there are many more compatible objects.
|
|
|
|
<P> When specific objects exist on one platform and not on the other, it's
|
|
often possible to make abstractions to imitate the missing objects, in a
|
|
kind of personalized compatibility library.
|
|
|
|
<P> There are, however, differences in semantics you'll want to know about;
|
|
a partial list follows.
|
|
|
|
<P> <b> abstraction arguments. </b>
|
|
In Pd you can edit instantiations of abstractions and save the result back
|
|
to the file of the abstraction. This isn't possible in Max, because the
|
|
instantiations are different from the abstraction itself in that "#1", etc.,
|
|
are replaced by the instantiation arguments. In Pd, these arguments appear
|
|
as "$1", etc, and are translated at a slightly later stage of the instantiation
|
|
process so that you still see them as "$" variables in the instantiation.
|
|
<A href="x2.htm#s7.1"> (see Section 2.7. abstractions) </A>
|
|
|
|
<P> In Pd, to make current all instantiations of the
|
|
abstraction, either delete and recreate them or close and open the patch;
|
|
this is done automatically in Max/MSP.
|
|
|
|
<P> In Pd, if you select "save" while in a subpatch, the parent is saved. In
|
|
Max/MSP, if you do this a dialogue box comes up asking if you want to save the
|
|
subpatch as a separate file. (if you want to save a subpatch to a file in Pd,
|
|
you have to copy and paste the contents to a new document.
|
|
|
|
<P> In Pd, inlets and outlets are ordinary text objects; in Max/MSP they're
|
|
"gui" objects from the palette.
|
|
|
|
<P> In Max/MSP, if an object's outlet is connected to several destinations,
|
|
corresponding messages are always sent in right-to-left screen order. In
|
|
Pd, the messages are sent in the order you made the connections in. In either
|
|
case, in situations where you care about the order it's appropriate to use
|
|
a "trigger" object to specify.
|
|
|
|
<P> In Pd, there's no "gate"; instead it's "spigot" with the inlets in the
|
|
opposite, more natural order.
|
|
|
|
<P> Switching subsets of the DSP patch on and off is done in completely
|
|
different ways in Pd and Max/MSP, and block sizes are handled differently as
|
|
well.
|
|
|
|
<P> Max offers many "GUI" objects such as sliders, dials, VU meters, piano
|
|
keyboards, even "bpatchers." Until version 0.34, the only two in Pd were the
|
|
number box and graphical arrays. Starting in version 0.34, Pd incorporates
|
|
Thomas Musil's GUI objects: sliders, switches, and so on. (Thanks Thomas!)
|
|
Beyond this essential collection of GUI objects, it's unlikely you'll ever find
|
|
any commonality between the two. Also, as of 0.34, importing and exporting to
|
|
Max doesn't know about the Musil objects; I'll try to get that fixed for 0.35.
|
|
|
|
<P> In Pd there's no "preset" object (I now think it's basically a bad idea)
|
|
and you have to use explicit sends and receives to restore values to number
|
|
boxes. Then just make a "message" box to re-send the values you want.
|
|
|
|
<P> In Macintosh land, instead of getting tabosc4~ and arrays, you get cycle~
|
|
and buffer~. The only gotcha is that you probably can't draw in buffer~ with
|
|
the mouse as you can with arrays, but at least it's possible to
|
|
make a patch that copies a "table" into a "buffer~".
|
|
|
|
<P> The "bpatcher" feature in Max has a correlate, "graph on parent" subpatches,
|
|
in Pd; however, Pd's version is quite different from Max's.
|
|
|
|
</BODY>
|
|
</HTML>
|