Personal tools
You are here: Home downloads Pd-L2Ork Releases Pd-L2Ork 20150917
Document Actions

Pd-L2Ork 20150917

Up to Product page
Linux Laptop Orchestra's pd-l2ork offers a slew of usability improvements and a large collection of 3rd party externals. This is likely the last major release before transitioning from tkpath onto node-webkit renderer. Please note pd-l2ork continues to be developed on a regular basis with over dozen minor releases since the last major release posted on Once again, tons of new updates, most notably expanded K12 module including Raspberry PI GPIO with comprehensive PWM and I2S support, bunch of small improvements and bug fixes (e.g. comments with endlines or iemgui labels with spaces), documentation improvements, and comprehensive Wiimote support using a custom libcwiid fork (included in the source, also available as a separately downloadable tarball) offering interleaved motion plus and expansion data retrieval, as well as recently added support for the new version of MotionPlus Inside wiimotes. Pd-L2Ork is a monolithic release that includes most of the pd-extended libraries in one convenient package with a growing number of externals having their own standardized help files. In this latest version, pd-l2ork can be installed alongside other pd variants and there are no lingering conflicts between various packages.

For additional information about this project, please visit the project page.

Available downloads

Get Pd-L2Ork 20150917 for Linux (23MB)

A link to pd-l2ork download page with Ubuntu 14.04 deb packages, and buildable source with instructions

Release Notes

Tested with pd 0.44
State Final release
License GPL
Release Manager Ivica Ico Bukvic
Released 2015/09/17

Release highlights:

*Expanded K12 module
*Pd-L2Ork can now coexist with other releases without any package conflicts
*Drawing optimizations
*New convenience functions, like comments with endlines and labels with spaces
*Comprehensive Raspberry PI GPIO with PWM and I2S/MCP3008 (for analog ins) support
*New version of L2Ork-centric libcwiid library fork offering support for all versions of Nintendo-branded wiimotes, including the new MotionPlus Inside, as well as the support for interleaved passthrough mode (e.g. MotionPlus + Nunchuk)
*Code refactoring
*Bunch of minor and aesthetic fixes
*Last release (barring any major bugs) prior to the next major release featuring node-webkit GUI (node-webkit version is currently in alpha stages)

Change log

Below is a comprehensive unedited changelog (apologies for redundant commits/regression fixes):

*fixed regression where audio properties misreported sampling rate

*typo fix for the rjlib installer

*added rjlib to the base install to support added K12 functionality

*made pitchshift help use sample player instead of a synth

*added new K12 objects, help files, and icons

*refined objects and added new icons to the K12 icon template

*added more effects to K12 mode

*cosmetic fix to arduino K12 object

*more usability fixes

*made text positioning more legible

*cosmetic improvement to match margins

*better defaults and more robust preset recall for arduino objects

*fixed documentation

*further cleaned up documentation and removed sarcduino references.

*improved arduino icons

*added ability to create notes with arbitrary duration using note on/off equivalent.

*added servo option

*more cosmetic fixes for the arduino K12 objects

*cosmetic K12 fix

*final bugfixes on arduino objects

*more cosmetic fixes

*updated permissions

*cosmetic fix of k12 output abstraction, renaming of the data tab to control tab (k12 mode) and update of images.

*bug fixes for the new k12 arduino library

*additional clean-up and improvements to the K12 library

*added arduino abstractions to the installer

*updated K12 layout

*small fixes to avoid extraneous console spam and cosmetic improvements

*revamped arduino connectivity to use Firmata firmware and allow for both input and output

*removed unnecessary posts to console

*made messages and comments redraw when they are manually changed to accurately reflect their stack position

*made every undo and redo enter the edit mode

*cosmetic K12 fix

*fixed copying dialog text and pasting it onto a canvas crasher

*fixed stray omission where midi objects had to be toggled off in k12 mode when opening data tab

*added MIDI support to K12 module, updated and build process accordingly

*updated icon templates for the K12 module

*fixed font positioning on 14.04+ releases
*fixed incorrect selection color on g_numbox when it has init enabled and is located inside a gop-enabled subpatch

*updated control to add support for fluidsynth's gm soundfont

*fixed typo in TODO

*backported support for l_arm extensions (needs testig for regressions)

*made attempted mv of Gem.pc not fail install in incremental istalls.

*made pkgconfig location more appropriate

*updated TODO

*Third and hopefully last attempt at fixing the Gem.pc regression

*another regression fix for the Gem.pc migration

*fixed build regression due to post-install Gem.pc relocation

*hopefully fixed shell external's occasional crash where free function is called in the middle of a process and therefore clock_delay fires with null pointer.

*disabled drag'n'drop on canvases due to problematic implementation of bind timing inside tcl. This will be fixed once we transition away from tcl/tk and tkpath.

*fixed illogical layer selection when selecting/deselecting individual objects on the canvas (e.g two objects where one cover the other, typically the one below would be selected/deselected first instead of the top one)

*more fixes to the build system

*moocow update

*removed cyclist as the remaining conflict with vanilla/extended

*removed lingering conflicts

*made requirements a bit more flexible in terms of libmpeg3 package

*reworked previous GUI preferences bug fix to account for all cases.

*fixed bug where custom selection of a single color triggered an error and did not stick unless user first selected Custom preset. Now, if user changes one of the colors prior to changing the preset, preset will automatically switch to Custom first.

*fixed preset regression

*fixed bug in midifile where its helpfile was inappropriately named, thus failing to open appropriate help file.

*updated TODO

*fixed spaces in old UI objects that were converted to \t, so now all gatoms support labels with spaces
*updated TODO

*fixed segfault by updating ggee/envgen to latest version

*fixed crash bug reported by Gilberto (see

*added experimental bugfix to the bp~ and hip~ bug reported by Gilberto (see

*fixed bug reported by Gilberto in

*Fix (by Miller Puckette's student) to a regression caused by the previously committed patch by Miller

*added bugfix provided by Miller Puckette

*updated TODO

*fixed cosmetic regression where highlighting of the number when focusing (and reverting focus) was not consistent due to faulty optimization that has now been removed.

*added legacy behavior for key* family of objects where autorepeat is observed (just create an object with an optional argument of 1)
*fixed bug where gatom after pressing return should not stay focused
*fixed bug where gatom's number after ctrl+click should not turn selected
*offered ability for image and others to ignore clicks and pass them below (measured by a zero width, only works for single inlet/outlet objects as otherwise their multiple inlets or outlets will be truncated to the same spot)
*reenabled ability for cnv to pass clicks below and reflected this in the official help file (separate previous commit)

*updated docs to reflect new features plus cleanup

*updated ggee/image to make it capable of ignoring clicks as it should, added new features, like gopspill_size and click, updated its help file to reflect this.

*updated mycanvas docs

Merge pull request #10 from agraef/master

More fixes to the Debian packaging.
More fixes to the Debian packaging.

Merge branch 'master' of git://

*updated moocow in hope of fixing the flite compile error (no dice yet), and updated disis_munger~ help file

Merge pull request #8 from agraef/master

Debian packaging for Launchpad
Work around quirks in the Debian build system of Precise and earlier.

Fix up Debian changelog.

Add Debian packaging.

*reverted commit 46933bb2f5fe486e22dcad84036ce91f71b84dd0 as it deemed unnecessary (it was designed to support buggy backwards-compatible behavior that defies common UI practices).
*further enhanced getrect calculation for the mycanvas widget to disallow clicking through a canvas across its entire size, rather than just the area by which one can "grab" and move the widget

Merge pull request #7 from agraef/master

Corrected patch of to add launchpad functionality
*updated jasch_lib in hope it will address an error Albert pointed out during the launchpad build, updated pd-l2ork TODO for externals

*cleaned up readme generation--will need to revisit later to update authors list etc.

Add -n option to script which skips the actual package creation step.

*removed unnecessary files in preparation for the launchpad integration (thanks to Albert Graef for the report)

Merge branch 'master' of git://

*fixed regression where checkvalidwidth segfaults due to being run on an empty canvas

* updated demos to conform to the changes in [draw]
* added demos for [draw] events

Merge branch 'master' of git://

fix a memory leak for scalars created in object boxes

*added ability to save custom color themes, enabled bgerror, minor cleanup

*fixed memory leak in text_setto as reported by Jonathan Wilkes

*updated trigger documentation

*further refined the warning prepend.pd outputs

*added Albert Graef's check for git folder in preparation for the launchpad autobuild integration

*renamed files to make them more readable

*updated file location to clump everything together inside the ~/.pd-l2ork folder

Merge branch 'master' of git://

*added legacy prepend abstraction and its help file

*save gui_preset choice with gui preferences

*added new file that replaces old default.pdl2ork

*further improved naming convention for settings files (default.settings and user.settings), cosmetic improvements to the indexing prompt of the help browser dialog.

*refined appearance of the startup->new window appearance

*updated file locations and made names more consistent across all folders (everything now uses pd-l2ok instead of pdl2ork). Placed user settings into ~/.pd-l2ork/ folder and renamed to simply settings, placed xapian search database for the browser inside the ~/.pd-l2ork folder.

*disabled auto-creation of the externals folder (legacy behavior that is no longer desired)

*increased maximum buffer size between tk and c to allow long and elaborate paths to stick.

Merge branch 'master' of git://

*fixed lingering bug where static symbols did not project values properly because they did not gensym their own instance.

Merge branch 'master' of git://

added "libdir" method to [pdinfo] (experimental)

more [draw] improvements for data structures:
*added outlet to [draw] to notify for events
*added svg-style event mousedown (more to come)
*added a "drag" event for convenience (similar to curve_motion)
*fixed default strokelinejoin per svg spec
*event "bubbling" so that the closest shape to front gets the notification
*added "bbox" method to turn off bbox calculation (similar to curve's -n flag)
*added a "pointerevents" method per svg-spec
*fixed skewx and skewy transforms to use degrees instead of radians

*fixed incorrect sizing of an object that used to be valid with a number of connections greater than the new, invalid object name (including empty object) that happens upon retexting the object, as well as during undo and redo.

*made invalid fill consistent in all cases

*fixed bug when applying properties to an iemgui object using handles (e.g. moving label or resizing an object), upon undoing all other objects that may have been selected at the time a handle was edited would be erroneously recreated.

*another attempt at cleaning up trigger to provide maximum flexibility. Still need to figure out whether lists that start with a number should be prepended with a word list. Logic would suggest yes, but there might be regressions...

*fixed bug where trigger when fed anything (e.g. a single word, like "restart," with no symbol prefix), it would output data twice through some outlets due to faulty way of dealing with anything->list function call.

*cleaned up grammar on the preset hub help file

* add "set" method to get, set, getsize, setsize, element, and append

added a beginner task

removed README.txt






more reformatting

more formatting...

using .md extension for markdown

reformatting headers of README.txt (again)

formatting change to headers

added a README.txt with the original src notes plus lots of guidelines for installing, contributing, etc.

*fixed ocassional crasher on canvas_undo_move

*removed debugging object

bugfix for format string without a corresponding variable

added "gui" method to check whether Pd is run with a gui

*removed qt from autobuilds since qt5 is not standard in Ubuntu 12.04 and besides we need to update control files as well as online documentation

*improved installer to make it easier to recompile pd-l2ork when continuing development after building a snapshot deb or tarball installer (the pd folder will retain config script with the appropriate --prefix flag)

*removed unnecessary file

*updated vbap externals

*fixed regression where iemguis with custom foreground color tainted the border color

*documentation clean-up

*removed ugen connect error when autopatching (in the case we create a blank object)

*fixed leftover blocksize implementation that was not properly committed

Merge branch 'master' of git://

fix some crashers in external objects

*fixed Makefile to make new version of iemlib compile properly

*updated externals TODO

*synced iemlib and externals TODO

*updated TODO

*updated most of the audio API to the latest version (with the exception of ALSA and JACK which are partial until our improvements can be merged and/or new implementation of JACK thoroughly tested to ensure we like its default behavior)

Merge branch 'master' of git://

*more blocksize backporting

*updated TODO

*began backporting blocksize feature

*updated TODO

*removed text editor since now pd-l2ork's facility for editing text inside object boxes is adequate enough not to require a full-fledged editor

*cleaned up the way rtext memory management is handled to silence valgrind errors

Fixed segfault due to author's oversight of difference between int and t_int on 64-bit systems
Patch put on tracker for Pd-extended, but I thought I'd go ahead and commit here, too

Use the updated API for the *info objects

Merge branch 'gpointer/generalize'
This change allows gobjs to be pointed to by gpointers. This makes it
possible to improve the interface for the *info objects, as they can pass
around lists of gpointers to refer to objects/canvases. This is better than
using index numbers and canvas levels, which is cumbersome and in some cases
much slower (since a walk through the glist is required each time to find
the referrent for an index).

Updated documentation for *info classes

* removed and renamed some methods for *info objects
* properly escaped "boxtext" output
* output expanded args for canvasinfo "args"

more work on pointers for gobjs, plus a "find" method for canvases

*added new files from the latest pure-data/externals/maxlib tree to git (missing files resultted in a failed build)

first stab at generalizing gpointers to handle gobjs

*fixed regression where cnv objects captured runtime clicks due to pd-l2ork's passing of the click to the topmost visible object, rather than the first clickable object in the stack. This also fixes problems with legacy patches that rely vanilla/extended's assignment of click to the lowest, and as is the case with s-env-help.pd in s-abstractions, invisible object, rather than the one apparent to the user.

*finally fixed the memory leak and improved how the newlines are created inside objects (needs further testing)

*fixed positioning of autopatched objects that were placed immediately below typed objects that have not been activated yet.

*fixed memory leaks (still at least one remains)

*fixed inconsistent display of array styles between pd-l2ork and vanilla. LATER consider cleaning this up by adjusting g_canvas.h instead of all these workarounds.

*added additional check to protect against null groupcanvas pointers

*refined when the reflecttitle is being invoked

*backported vanilla patch

*minor revision to mknob to ensure user selected color preference is enforced

fixed joc regression with arrays > 2000 elements
fixed bug with 8x8 click "hotspot" not working correctly on x-axis of garrays

*properly fixed invalid pointer access in the s_audio_alsa.c

*added sanity check for mknob (a subset of iemgui) to see if selected status would require object to be highlighted (if inside graph-on-parent, it should be silently selected but not visibly selected)
*fixed regression where selected variable in the did not allow for a value larger than 1-bit, resulting in selected=2 being selected=0

*fixed offset on paste to match that of create

*fixed valgrind memory leak errors.
*TODO: why is alsa's snd_ctl_card_info_free(info) causing double free error (valgrind's "Adress is is 40 bytes inside a block of size 376 free'd)? No clue. But with that call disabled, everything works as it should and valgrind reports no further errors.

*made undo+preset hub sync more robust
*fixed preset segfault when doing clear on a hubless node

*made startmotion more user-friendly by hiding iemgui's handles after initial creation until motion is complete. LATER get rid of this because it is likely to be seen as an interim hack due to determinacy issues between the gui and core engine.

*further improvements to the preseting mechanism (hopefully caught all the remaining situations)
*more thorough fix for the preset_node's second object getting incorrectly invisibly connected back to the preset_hub

*removed debug info

*fixed bug with preset_node status being corrupt with the status outlet

*reversed autopositioning patch since it causes a lot of problems with paste and other relocations

*made K12 object creation more robust (removing susceptibility to relative paths from the current location)
*ensured that the ctrl key is released when opening various prompts (there may be possibly others)

*updated TODO list

*aesthetic clean-up of docs

*updated preset_hub and preset_node documentation reflecting new functionality

*fixed offset regression with the K12 module

*further refined startmotion offset, updated TODO

*nlets in iemguis do not highlight (fixed regression from refactoring)
*cleaned nlet highlighting code (removed redundant call)
*updated TODO
*adjusted startmotion offset (may need further tweaking)

*added status support for both preset_hub and preset_node

*fixed segfault regression in the maxlib/average

*removed unnecessary files

*provided preliminary solution for parsing $0 inside messages (first need to check if this will cause regressions)

*refined displacement and positioning of objects on new canvases

*fixed regression where g_mycanvas does not resize its select area when the mycanvas size is smaller than the select area

*fixed consistency check failed: glist_findrtext when enabling gop and dragging its size around with other text objects on the canvas
*refined checking of gop size due to its text not being hidden, including after saving it to file (from Untitled to something longer, for instance)

*magicglass should turn off every time edit mode is disabled...
*updated TODO

*aesthetic clean-up of some of the help files

*more regressions from the refactoring

*fixed regression where radio did not get selected upon redrawing (after dialog)

*updated TODO

*further refined up/down logic

*added proper support for up and down inside multiline comments

*added general TODO to git

*updated todo

*added ability to copy and paste endlines inside texted for objects

*updated preset_hub doc file to reflect the new ability to show when the hub is "dirty"

*updated pddp externals to support new nomenclature for select_color

*removed conflict with pd-utils

*added dirty message to preset_hub so that it reports whenever its nodes have changed values (which means there are unstored values)

*initial (minimal) support for logpost (backport)

*updated markex and maxlib exterals
*improved maxlib average to support arbitrary size of elements
*added diff for future reference between svn maxlib/average and pd-l2ork's version of the same

*fixed regression where shift+up/down did not displace objects like it should

*improved drawing logic for all text objects so that they draw themselves during vis process as selected (if they are already selected). This should be the logic for other objects as well: draw yourself normal or selected (check at vis time, only if being drawn for the first time, including after vis 0, followed by a vis 1), and then make sure to tag ourselves as "selected" so that if immediately being displaced, everything indeed follows us as it should.

*fixed regression where select all did not work
*added ability to do shift+home and shift+end to select text inside objects
*fixed manual resizing of subpatches which did not work in the current implementation.

*updated preset docs and cleaned typos

*fixed one stale leftover of redrawing the patchcords inside graph that did not conform to the new style of drawing cords

*removed debugging stderr output

*simplified conflicts and dependencies

*removed unnecessary dependency of disis_gpio on g_canvas.h

*refined right-click menu and object selection (it should be only selected in operations that suggest edit mode e.g. properties or tofront/back)

*cosmetic changes (need to identify where the slowdowncomes from in respect to editing arrays in editmode vs not in editmode)

*updated path file to include disis_munger~ and future flext externals

*started cleaning up addbinbuf--it seems like comment object will need to be treated differently from others as commas, semis, and other reserved characters have unexpected behaviors.

*fixed stderr errors where subpatch canvases were still trying to delete themselves

*replaced old pd bash completion script with pd-l2ork's

*removed debug output and implemented check that Jonathan suggested

*fixed segfault at start-up due to faulty allocation of the string length for checking for unique instance of pd-l2ork
*made unique check in more robust in respect to relative paths and multiple files by making sure that the script always goes back to the original directory from which it was invoked, so as to ensure that the path (if relative) is valid

*updated wiimote help to reflect updated data structure formatting for drawsymbol

*added documentation regarding rtext tags and the importance of their formatting

*added proper bash completion for pd-l2ork

*reversed "fix" to a regression made in a previous commit (see commit 28b0256f12bd1652ad0dfc743c08208746c6e829) and removed the old commit that caused the regression in the first place.

*font resizing is messed up (no font provided results in size too small, instead of default)
*Drawsymbol also draws symbol information twice on disis_wiimote-help.pd (linked with font size data)
*synced drawsymbol with drawnumber

*fixed incosistent displace of Jonathan's matrix transformed scalars
*added getscroll after redrawing gop and scalars that have been changed via properties dialog in case their xy positions changed

*tried fixing problem with new draw commands and their displace

*added debugging info

*drawsymbol clean-up (still need to fix a few things)
*m_pd.c debugging info
*improved dealing with scalar properties editor (making it persistent and alleviating errors of things being multiply defined)

*increased area around garray points to make them more easy to click onto (needs further testing)

*improved removal of stale tooltips

*added redrawing of canvases that have gop enabled with scalars so that they automatically conform as the window is resized (as they should)

*disabled debugging output

*fixed smooth drawing for smooth filled curves so that it accomodates both overlapping and non-overlapping scenarios (see PAC-DATA pacman vs. disis_wiimote-help IR blobs)

*fixed regression of getrect and font scaling in drawnumber and drawsymbol. Now it again behaves as in 20140731 build.

*fixed regression left from refactoring where toggle's X when off did not match that of a background color once the background was changed.

*fixed regression where array canvas properties did not stick
*fixed proper opening of paths with spaces ia unique check

*closed unnecessary windows

*fixed properly parsing of a current path that has a space in it
*fixed how window shortcuts (ctrl+w and ctrl+q) behave in the view list menu for arrays

*added better debugging fprintf info

*added check for canvas scroll to make sure window exists (fixes stderr errors)

use [plot] xloc when calculating the basex for its elements

remove BBOX and all the related creators for legacy drawing commands (they were never used and just add cruft)

Merge branch 'master' of git://

*updated g_canvas.h in the externals build directory

another case of too many args to sys_vgui, but this one has no effect

fix too many args in sys_vgui

fix CHECK_VGUI_ARGS (didn't compile when #defined)

rewrote curve_smooth_to_q in 2d vector form, and fixed closed curves

first (flawed) attemp to draw tk-style curves using an svg path (doesn't correctly close the curve for [filledcurve])

fixed crasher with scalars and autotips

*troubleshooting of and tooltips (seem to work prior to latest merge, need to test further)

Merge branch 'master' of git://


*more fixes for g_array.c and its proper drawing

fix autotips

big refactoring #12 : add a few functions in g_editor.c to replace many sys_vgui calls

fixed baseline anchor point for bargraph style garray when viewed inside its subpatch

*fixed regression where creating a new array from the put menu would segfault

*rephrased comment into question

*fixed remaining problems (hopefully) with 2 arrays drawn in the same gop (need to test with more than 2 arrays?)
*bug for Jonathan--bar graph draws from top down, as opposed from bottom up when opening array gop

*cosmetic changes with TODO to
*improved fittograph for multiple arrays (still needs some work)

*further improvements on the garray selection and redraw--fixed garray contents not remaining selected after dialog properties have been applied
*still need to explore problems with multiple arrays in a single GOP

add colours for pd -d 1 and pd -d 2 and also auto-disable all colouring when redirecting to a file or pipe

fix -d 4 (and up to -d 7)

Merge branch 'master' of git://


*fixed segfault when resizing array via dialog (regression from May commit). Still need to work on fittograph logic for situations where there are multiple arrays in the same GOP

fix bug in graph_bounds when graph area is 0. Also don't call redraw when bounds have not changed.

*cleaned up g_editor.c to remove compile warnings
*fixed coloring of cords to correspond with themed colors
*fixed color prefs to properly update existing objects, removed tk syntax leftovers that prevented certain commands from taking place in tkpath, and removed redundant conditions

*added refresh of includes for 3rd party externals as part of the full install

*updated icludes for 3rd party externals

Merge branch 'master' of git://

*added tmpl check to remove compile warning

merged more scalehandle stuff together & put h_offset feature back in

Merge branch 'master' of

Merge branch 'master' of git://

remove useless glist_free and glist_cleanup functions

*removed redundant redraw from numbox
*added ability to have spaces in iemgui properties dialog

change type of scalehandle_new and h_master. Document some structs in g_all_guis.h and change some field sizes.

*fixed another regression where label colors were not being updated

*fixed appearance regression on the iemgui dialog

*made disis_gpio and disis_spi buildable on all platforms (so that one can easily develop patches on a laptop and transport them onto RPi

*more updates to ds tutorials and demos

*updated ds demos

*adjusted permissions for the K12 demos

Merge branch 'master' of git://

*tried adding scalehandle_free to the canvas_free class but is currently commented out until we figure out why is this causing a segfault...

fixed some regressions with [struct] validity checks
keep [drawsymbol] and [drawnumber] from flipping with negative gop scaling
default to black fill and no stroke, per svg spec
merged transform gui updates with other attributes
fixed tags so that array elements display properly

*fixed lingering bugs/regressions in iemguis (99.9% sure this is all of them)

*fixed scalehandle regression from the last Mathieu's refactoring commit
*cosmetic fixes to g_canvas.c

*fixed typo in g_numbox that broke compile

*fixed regressions introduced with earlier Mathieu's commit

remove canvas/glist arg in a bunch of recently added iemgui functions, and introduce iemgui_draw_move & iemgui_draw_config

*fixed regressions in g_number (hopefully the last of them), and g_mycanvas
*improved g_all_guis.c and detection/drawing of handles

*fixed preset corruption when (re)creating objects under certain conditions (i.e. re-texting).

*cosmetic change to the preset's debugging output

*fixed remaining g_number.c regressions. Now need to match this with the rest of the iemgui objects.

*fixed handle behavior on iemguis (current implementation is not equipped to deal with config kind of actions, and it does not have to)
*streamlined GOP handles since now draw_select deals with explicit delete before redraw

*fixed GOP scale/move handle regressions (discovered a few more inconsistencies with number box).

*fixed discolored appearance of checkboxes in gop properties

*fixed regression in x_vis setting that caused multiple objects to be created for number2
*fixed send and receive functions so that they properly update number2

*added selected tag to scalehandles since they should only appear when things are selected (or as is the case with GOP, when nothing else is selected)
*fixed regression in number2 where after dialog it requires complete redraw

*fixed conflicts between Mathieu's and my own contributions
Merge branch 'master' of git://


*tons of regression fixes for number2 in respect to scale/label handles.
Still need to fix the label reselection after it has been added/removed.
*fixed vu meter having bogus scale values when changing the label and some out-of-sync selection issues with the dialog. Needs to be vetted like number2.

fix several display bugs

fixed some problems with scalehandle (stale items, excess deletes, etc)

fix bugs about applying [nbx] properties

fix some problems with drawing inlets/outlets in iemgui

Merge branch 'master' of git://

*improved logic behind selecting iemgui objects and their highlighting
*began working on clean-up of iemgui regressions and preexisting bugs (still need to figure out inconsistency with the hiding/showing of nlets, as well as inability to displace number2 after it has received a label message)

fixes scalehandle bug in [cnv]

document cmdline option -d

add missing canvas_raise_all_cords and cut down a few more sys_vgui

remove debug

fix buffer overflow

give IEMGUI externals their own copy of the old functions so that the new impl of g_all_guis.c can evolve freely

the 3rd fix to [hsl]/[vsl] that was supposed to be in last commit

changed the meaning of iemgui_font ; fixed 3 bugs from previous commits in [hsl]

reject excess calls to rtext_activate

suppress creation of drawcurve, drawnumber, drawsymbol and plot when the user tries to create them inside a group. (Currently their click and motionfns don't take the parent transformation matrix into account)

fix array_choosecolor broken by previous commit to

deleted 394 lines & 14 kB just by removing global variable eval concat junk in dialogues

remove some large unused procs

Those source files are unused in pd-l2ork.

also wrap sys_gui for debugging

delete some old debugging code & reformat some things

simplify the rtext tags

big refactoring #11 : replaced %lxOBJ by x%lx and removed nlet_tag from all iemgui, among other smaller changes

big refactoring #10 : simplifying the _draw_new, _draw_select, _new, _dialog methods, among other things

*made sure that iemgui labels are only drawn selected if they are on parent canvas
*cleaned up formatting to make source more legible

fix bug in drawing iemgui_base with labels & gop (introduced by refac #6)

fixed bug that prevented scalars from redrawing correctly when a [group] was deleted

big refactoring #9 : merging of horizontal/vertical classes is completed

fix bug about -d 4 not being applied on lines that follow a %s whose string ends in \n, such as all sys_gui

missing change from commit about -d 4

add cmdline option -d 4 for outputting source filenames and linenumbers of sys_vgui commands

file missing from the commit about --disable-oss

only reconf tkpath or tkdnd when makefile is outdated

prevent unnecessary rebuilds of pd-l2ork, pdsend, pdreceive

add option --disable-oss on Linux

fix bug in 8th big refactoring

fix previous commit

big refactoring #8 : fusion of [hsl] and [vsl] together, and fusion of [hradio] and [vradio] together

remove unused vars

big refactoring #7 : iemgui : simplified draw_new, draw_move, draw_update, ...

* fixed crash when a [struct] has an array which (directly or not) uses itself as a template
* suppress redraws for drawing commands if the group that contains them is getting deleted

remove unused vars

removed my .png, .desktop, and my install-icon rule in pd/src/

remove install-icon rule from install rule, because there's already another icon & desktop file in packages/linux_make/

remove absolute paths

add icon file, desktop file & installer for them.

fix for commit d49dbfc, which was missing the .h changes. Also removes some unused functions and moves [vu] stuff to g_vumeter.c

in the new API, x_fsf does not exist anymore

refactor : merge t_iem_fstyle_flags and t_iem_init_symargs into t_iemgui. remove type t_iemguidummy. remove fields x_rcv_able, x_snd_able and x_font. removed redundant arg "void *x" in 9 old g_all_guis.c functions. added dummy "send" method to [vu] for consistency.

* improved documentation in g_scalar.c
* update scalar's array elements when drawing instruction attributes or transform changes

remove unused vars

remove unused vars & fix %x formats

fixed bug in gop move-handle introduced by one of my last commits

refactor of iemgui labels, iemgui inlets/outlets, and some other things

fix last commit (4th refactor)

4th refactor of scalehandle

3rd refactor of scalehandle (and bugfix of scalehandle interaction with property dialogues)

2nd refactor of scalehandle (including some changes to structs t_scalehandle, t_iemgui, t_canvas)

remove old commented-out code

refactored scalehandle and fixed tcl error about '-fill'

print tcl error messages in terminal, with their statement, in bright colours

fixed memory leak in glist_write

remove unused vars

remove unused vars

remove unused vars

hack because QApplication sets LC_NUMERIC and we don't want it.

added dummy Qt window with three menu items

settings for compiling & linking C++/Qt code to Pd

introducing --enable-qt, QTGUI makefile var, #define QTGUI, -qtcanvas, sys_qtcanvas.

remove unused vars & add comments about Qt cmdline opts

revert stuff that shouldn't have been committed.

remove unused vars


correct my mistake due to makefile mistakenly not rebuilding some files in my test before commit

-Wno-unused is bad, -Wno-unused-parameter is useful

remove unused vars

remove unused vars

remove unused vars

remove unused vars

*ported fixes for crasher when sending a "dsp" message to tilde objects. Backported from Pd Vanilla commits [8019b5] and [5769c5]

*another minor refinement to the K12 signal_player abstraction

*improved K12 objects' icons

*further refined K12 recorder and sampler to make it work in all situations

*fixed bug where patches with relative paths and multiple patches did not open properly within the existing instance of pd-l2ork

*tested and fixed compliance with ports of sarcduino objects so that their channel numbers correspond with those on arduino uno board

*further refined workaround for the open panels and stuck ctrl key

*updated sarcduino abstractions to refer to digital and analog channels starting with channel 0

*fixed logic_compare and signal_sampler to make them more robust in default conditions.

*fixed intermittent problem in k12 mode where edit/play button got stuck because ctrl key got gobbled up by a popup dialog or new window

*fixed value where it would not accept a float via a send (backport from current pd branch)

*reverted changes to the help file due to change in how drawnumber/symbol behave

* improv the bbox for [drawnumber] and [drawsymbol]

* suppress printing the full list of classes when using the "print" method with [pdinfo] (just show number of loaded classes and an informative message)

fixed draw_getpathrect so that poorly formed path instructions don't end up trying to read nonexistent elements from sc_vec

Merge branch 'master' of

* disabled warnings about unused parameters (which are pointless) & enabled warnings about other unused local variables (which allow to find dead code)

*finally fixed proper adding of full paths to the recent files.

*removed debug info

*improved data stuctures docs and added Jonathan Wilkes' awesome sprite game.

*improved random scaling logic

*fixed inconsistent behavior of counter and scale when inverting order/range of values.

*updated help file

Merge branch 'master' of git://

*fixed documentation error

fixed bbox calculation for implicit line commands (m 0 1 2 3 etc.)

refactor scalar displacement to make it readable and sane.

make ds array elements show up properly, plus some stray formatting improvements

fixed bbox for path: Q T S & C commands with multiple sets of coords now have proper bounds

added classtable method for [pdinfo]

added classtable method to pdinfo help and created help for objectinfo

set arg to [objectinfo] to canvas level instead of object index. (Especially since index is likely to change with each message.)

fix some memory allocation bugs for [draw] objects that don't have coordinate data

make sure polyline, polygon, and line have 2 points init'd to 0

*added courtesy check when invoking listdev in gui mode to automatically open the console

Merge branch 'master' of git://

*further refined s_audio's sample rate detection in the -nogui mode

*removed wavinfo's stderr debug message

*permissions changes

*bug-fixes and consistency improvements to the K12 library

Improved the [objectinfo] interface, and changed [canvasinfo] "hitbox" to output a list of indices

*fixed bug where patch titlebars were not properly re-titled after using save-as function (possibly other file I/O operations as well)

*refined toggling of edit mode when using ctrl+e shortcut where pressing it without releasing ctrl technically leaves user in the perform mode until ctrl is released.

*experimental commit that makes sample rate work properly in -nogui mode by leveraging requested audio_rate in case current sample rate is uninitialized

*fixed reverb preset jumping from 3 to 1 instead of 0 after being recalled

Merge branch 'master' of git://

*fixed regression in the editval function that prevented proper updating of the GUI edit/perform button and other related visual cues

removed debug msg

fixed some stray memory allocation errors

*removed more unnecessary files

*removed unnecessary files

more reformatting (tabs to spaces, lining up curly braces, no line wraps, etc.)

formatting improvements (tabs to spaces, lining up curly braces, etc.)

more reformatting (tabs to spaces, lining up curly braces, explicit curly braces)

reformatting per Miller's guidelines (tabs to spaces, line up curly braces)

more reformatting per Miller's guidelines

more reformatting of source code per guidelines

more removing tabs, formatting per Miller's guidelines

more removing tabs and reformatting per guidlines

more removing tabs and conforming files to Miller's guidelines

*optimized frequency of scrolling call when dynamically changing content of msg objects.

removed debug message

use svg_update for drawimage to improve redraws

fixed data structure sequencer tutorial so it has the correct scalar data

*added recursive checking for when objects are selected to properly reselect arrays nested inside GOP subpatches/abstractions. This is important because the implementation should work for any level of depth. Later consider making this a more universal check should such prove necessary (I think once we move away from redrawing the array every time a point is moved, all this will become moot)

*added debugging statements and additional annotation

*added debugging info

*cosmetic fix

Merge branch 'master' of git://

*fixed compile-time warnings

*fixed compile-time warnings

*removed unnecessary warnings

simplified a trick to make the badarg error "findable" in message boxes

*fixed bug where recent files did not construct a proper path+filename when invoking it from a command line (at startup)

fixed small regression with setting the canvas level for [canvasinfo]

made a simple animation (toggle visibility) when tracking an error associated with a toplevel canvas. Use broken box font colors for error link in console.

reformatted g_editor.c to be legible

Hyperlinked error messages to the console, plus some cleanup of the gui prefs

First attempt at an [objectinfo] class

fixed crasher when no args were provided for [draw rect] et al

Added methods to change coordinate data for shapes: data, points, x, y, height, width, cx, cy, r, x1, y1, x2, y2, and rx, ry for ellipse

removed draw_getgroup some other code that's no longer needed

fixed rx and ry methods, update scrollbars when scalar is displaced, and update bbox on changes to visibility and stroke-width

*fixed problem where recent files only saved file name but not the path

*reverted erroneous removal of Jonathan's commit

*fixed segfault when trying to duplicate an uninitited object that we just typed into.

*added debugging statements

*made improvements to parsing arrays so that they always fit within the array gop window.
*added comments with future TODOs

*added usability feature where if invalid object is activated, when leaving focus, try to recreate it
*added experimental disabling of scrollable array windows (currently disabled as this should be fixed once we begin using a more up-to-date GUI)
*fixed obscure bug where editor was being improperly destroyed in a subpatch when it shouldn't be
*cosmetic fixes

*Jonathan's vis improvement

*changes to fix deprecated objects

*refined comment rectangle drawing in edit mode to prevent redundant drawing inside gop windows

experimental additions (currently disabled)

*cosmetic fixes to the source

*fix for deprecated objects

Merge branch 'master' of git://

reenabled array transform and cosmetic fixes

fixed vis method for [draw]

*removed stderr debug output
*improved draw sprite so that it works within a group

*patch to add [group] data structure and supporting fixes (work in progress with lingering bug of being unable to display data structure arrays properly, see tiger.pd demo patch in data structures)

*updated docs for the new data structure [group] object.

*partial backport of a fix to allow subpatches to be renamed with no arguments without losing their inner content (see g_text setto call). Thanks to Jonathan Wilkes for the bug report.

*dialog improvement by Jonathan Wilkes

*fixed comment resize bar being invisible due to recent adition of color themes.
*improved comment resize bar (made it into a dashed box)
*improved invalid object outline (box) into a dashed box and made such boxes solid when being edited to distinguish them from comments.

*cleaned up Jonathan's data structures tutorials

*aesthetic improvements to Jonathan's data structures demos

*improved K12 help files

*restructured pdsend messages used by sys_gui object so that they are forward and backward compatible.

*fixed message formatting inside m_glob.c

*added debug info to glob_verifyquit

*updated TODO for 3rd party externals

*updated hcs externals to the latest version

*fixed pd~ regression where instantiation within another instance of pd~ failed to start due to expectation of the new -unique flag without which all patches are opened within the existing instance.

*fixed improper variable declaration with templates that prevented flext from building.

*Jonathan Wilkes' 2 patches addressing:
- nested plots display properly
- plot is vis'd and unvis'd properly when deleting plot or struct
- commented out ugly plot_displace hack-- multiple plots should work just fine
- separated out garray dependencies into class "old_plot". This way the changes I made don't affect garrays. _Very_ ugly hack, but it was pretty simple to implement and will be easy to remove later.
- no crashes when non-existent arrays are entered into a [struct] that has scalars hanging around
- template_cancreate ported from 0.45
- added a function to get the offending struct (to use with "Find last error"). Not using it yet, though.
+ For creating scalars using an object box:
- scalar must have initial "float x float y" fields, in that order. This means you can't accidentally type the name of the hidden garray structs and create a scalar. (Nor any other structs that only have a "y" field, etc.)
- broken object box returned if the struct has a bogus array template. (Although currently I'm just refusing to create such a struct.)

and yet another fix/reworking on the rpi external build process

yet another typo/redesign

another typo that prevented building of disis_spi and disis_gpio

fixed typo that failed to install help files for disis_spi and disis_gpio

added new docs to the doc install

reorganized documentation

by Ivica Ico Bukvic last modified 2015-09-18 07:18 AM

Powered by IEM Powered by Plone Section 508 WCAG Valid XHTML Valid CSS Usable in any browser