- 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>
 |