[L2Ork-dev] Purr Data 2.4.2

Jonathan Wilkes jancsika at yahoo.com
Thu Nov 2 16:29:23 UTC 2017


Hi list,

Purr Data 2.4.2 is out:

https://github.com/jonwwilkes/purr-data/releases

Please report bugs here:

https://git.purrdata.net/jwilkes/purr-data/issues

* fixed freeze when flooding the Pd window with messages

Updating the scrollbars turns out to be expensive. It 

was possible to print messages from Pd to the GUI fast 

enough that Purr Data's GUI would spend all its time 

redrawing the scrollbar position. Purr Data now throttles 

the scrollbar update in the Pd Window to avoid this problem. 

(We could also further improve it by throttling and/or 

batching the addition of new text nodes in the printout 

area, but that doesn't seem necessary so far.)

There was also a report of an open text window for 

[text define] causing a freeze when populating it with 

10,000 lines. But this turns out to be a problem with 

the Pd<->GUI interface of [text define]-- for each line 

you add it will a) clear the window and b) resend every 

line of the binbuf to the GUI.


* fixed array tick labels

Array tick labels were displayed at a slightly different 

size and weren't centered on the tick lines. Thanks to Albert 

for reporting and helping fix it.


* normalize array trace line thickness so it is always visible

Thanks to Albert for reporting and fixing.


* send correct pointer for data structure array element event callbacks

If you set up an event like
[loadbang]---[drag 1(---[draw rect 40 40]
you now get the correct pointer to the outlet, even for 

array elements. This makes the event callback functionality 

much more expressive.

* only redraw affected data structure array element when updating a field for [draw array]


The [draw array] object is still a work-in-progress. But this will 

be a substantial speedup in redrawing array elements.

For example, suppose you want to change the color of the 59th 

rectangle in a data structure array of 1000 elements. With [plot], 

when you update the field associated with that color the entire 

scalar is erased and redrawn: 1000 x size of the message to 

erase and draw a rectangle.

With [draw array], this is reduced to: size of message to update 

a single rectangle's visual attributes.

Best,
Jonathan


More information about the L2Ork-dev mailing list