Purr Data 2.4.2
@Johnny-Mauser Are you still on OSX 10.8?
At some point in the future I'm going to have to drop both WinXP and OSX 10.8 support because current versions of the GUI toolkit don't support those systems anymore. It's not a priority right now, but I am seeing various speedups and new features in the newer GUI toolkit versions that will help improve Purr Data. I'll post a message about it to the list before it happens, but when those features hit a critical mass I'll need to make the switch.
@robertsyrett A few things Purr Data has which Pd Vanilla doesn't:
- infinite undo
- GUI presets (skins)
- introspection objects (which can be used to get abstraction args): canvasinfo, pdinfo, objectinfo, classinfo
- ships with externals like Pd-extended did
- internal preset objects which work out-of-the-box with abstractions (preset_hub and preset_node)
- Bezier curve cords
- guaranteed pixel-exact box sizing across all platforms
- ability to create scalars inside object boxes
- grouping/affine transforms/images/sprites/opacity/standard-color-formats/standard-mouse-callbacks for data structure drawing commands
- working event callbacks for data structure array elements
- canvas array fields for data structures with "pointerless" field mutation (experimental)
- hyperlinked object errors in Pd Window
- cross-referenced help patches with hyperlinks
- complete list of arguments expansion with "$@" in both object and message boxes
- tooltips for iemgui dialogs
- click-draggable iemgui sizing
- click-draggable iemgui labels position
- click-draggable GOP canvases/canvas redrect/grid/scope~ sizing
- "Tidy Up" function which works well
- one-to-many/many-to-one/many-to-many wire-connections
- out-of-the-box
[initbang]
functionality - "Put" menu array trace colors
- "Put" menu array bargraph style
- click-draggable "Put" menu graph sizing
- a fairly standard properties dialog for scalars
- throttling iemgui and scalar GUI updates
- ability to change ds array element drawings without having to redraw the entire scalar which contains that element
- single preferences panel
- ability to draw scalars in a box outside of which the contents are clipped
- simple testing framework to make sure all externals instantiate without crash or memory errors
- various fixes to externals that don't use aliases correctly
- various fixes to the loader
- find in console with results highlighted
- duplicate console messages get prefixed with number incremented in brackets
- fullscreen mode
- standard open/save dialogs under Gnu/Linux
- object z-ordering (move to front/back)
- standard keybindings inside editable object/message boxes and performant copy/pasting that doesn't freeze Pd with large amount of text
- lots of abstractions which are part of Ico's "K12" mode. I haven't ported the K12 interface yet but the abstractions are functional and handy.
- dropdown menu atom box
- ability to paste Pd source file into running instance
That's heavily biased toward what I've been working on lately which is improvements to scalars. But that should give you a decent idea. Also-- Purr Data doesn't include Deken, and Gem doesn't currently ship with the OSX version.
Is GEM still included in Purr-data and or Pd-l2Ork for Mac OS 64bit?
@casper Basically because I couldn't get a 64-bit build of GEM working on OSX.
Also, GEM takes a long time to build, and it requires a lot of dependencies. This makes it difficult to test and iteratively develop.
Additionally, I have the aim with Purr Data to make it as straightforward as possible to build Purr Data on each platform. For OSX this means depending only on the packages available in Homebrew. It also means that I don't want to force the user to make any manual tweaks or manual compile other dependencies to get it to work.
Finally-- I'm currently using an old version of GEM on Linux and Windows because it's known to work. If someone sends me a patch to make GEM work with 64-bit Purr Data on OSX, I'd also need to test to make sure it also works under Linux and Windows. However, that shouldn't be too difficult as I now have some infrastructure to automate such tests.
Purr Data on OS X with GEM external, is it possible?
@Doug_Meatloaf I maintain Purr Data.
I tried compiling Gem using these instructions:
https://github.com/umlaeute/Gem/wiki/Getting-Started:-Working-on-native-64-bit-OSX-Plugins
I took a shot at compiling using those instructions but couldn't get Gem to work. You can see the error I got in this thread:
https://forum.pdpatchrepo.info/topic/10803/a-few-questions-about-pd-l2ork-purr-data-on-osx/12
If someone can get those instructions to produce a working version of Gem, and then test to make sure the same version of Gem compiles and runs successfully on Windows and Linux (where I'm currently using an old bug-fixed version of Gem as a stop-gap), I'll happily accept a merge request at
Font issue with new linux distros
Not sure if it's related but we ran into some font engine problems in Purr Data last year that showed up in ubuntu 16.04.
Apparently somebody somewhere in the Gnu font stack "fixed" font-rendering such that a monospaced font like DejaVu Mono got rendered with a measurable difference in width compared to OSX, Windows, and every earlier Gnu font stack I could check.
Here's my comment about it in the Purr Data workaround:
+var font_engine_sanity;
+
+// Here we use an HTML5 canvas hack to measure the width of
+// the text to check for a font rendering anomaly. Here's why:
+//
+// It was reported that Ubuntu 16.04, Arch-- and probably most other Gnu/Linux
+// distros going forward-- all end up with text extending past the box border.
+// The test_text below is the string used in the bug report.
+// OSX, Windows, and older Gnu/Linux stacks (like Ubuntu 14.04) all render
+// this text with a width that is within half a pixel of each other (+- 217).
+//
+// Newer versions of Ubuntu and Arch measured nearly 7 pixels wider.
+//
+// I don't know what the new Gnu/Linux stack is up to (and I don't have the
+// time to spelunk) but it's out of whack with the rest of the desktop
+// rendering engines. Worse, there's some kind of quantization going on that
+// keeps the new Gnu/Linux stack from hitting anything close to the font
+// metrics of Pd Vanilla.
+//
+// Anyhow, we check for the discrepancy and try our best not to make newer
+// versions of Gnu/Linux distros look too shitty...
In Purr Data, systems using this new font stack will notice a small amount of extra padding at the right of the box. This is because as I mentioned the font engine quantizes the pixel font size such that fitting it to the box makes it slightly smaller than what would be ideal. Rather than making the box smaller, I purposefully keep the box size consistent across all platforms so that users on Ubuntu 16.04 and greater don't end up putting boxes so close to each other that they end up overlapping when viewed on Windows/OSX.
Hope that helps.
A few questions about Pd-L2ork/Purr Data on osX
I don't know if it helps but there are a lot of useful instructions on how to built gem in umläute's ghithub wiki page:
https://github.com/umlaeute/Gem/wiki/Getting-Started:-Working-on-native-64-bit-OSX-Plugins#
I took a shot at this on OSX VM. It compiled ok. It installed in /Gem for some reason but I could at least get Purr Data to load the Gem lib.
Unfortunately I couldn't create a gem window in any of the help patches:
error: [gemcocoawindow]: failed to init GLEW: your system only supports openGL-1.0
I don't have time to debug or develop Gem. But if someone can successfully get it to compile, install, successfully create a Gem window, and write clear unambiguous instructions on how to achieve all of that then I'll take it from there. (And again, the discipline is only to use brew install
and the build instructions at the link above.)
A few questions about Pd-L2ork/Purr Data on osX
@whale-av said:
@jancsika I would not know how, and maybe the readme is an old one copied over?
There are other files in the download that are specific osx though........
Those are most likely for building Gem as a 32-bit library.
The constraints for including Gem in the OSX version of Purr Data are the following:
- all Gem dependencies must be met with Homebrew's
brew install
command. - must be built as a 64-bit library
- no special Purr Data-specific hot-patching, just simple build instructions (possibly including configure flags)
If anybody gives me instructions on how to build Gem within those constraints under OSX, I'll make the necessary changes to include Gem on OSX for the next Purr Data release.
Fullscreen GEM window with option menubar -1 is inconsistent
Hi,
So I'm running some visuals using GEM on a second screen. I have a bunch of default options set up for my GEM window one of which is for the menubar to not show when in fullscreen using "menubar -1". This usually works the first time I open PureData, especially after I restart my computer and open PD for the first time. After this first time, however, the menu bar will continue to appear when I run the window in fullscreen.
I'm wondering if there's something simple I need to do to ensure that the menubar does not appear. You can see how I'm initialising the GEM window in this screen shot here:
For reference, I'm running Pd-extended on OSX 10.9.5
Any suggestions welcome
Purr Data finally released
Purr Data is finally released!
Purr Data inherits the goodness of Pd-l2ork and runs on Gnu/Linux, Windows, and OSX. Infinite undo, enhanced editing and 2d drawing, and most of the the externals from Pd-extended (plus more from Pd-l2ork).
[Edit]
2.2.4:
- fix
[wrap~]
inconsistency - port mouse events from
[hcs/cursor]
- fix bug with dollarsigns in struct names
- add some "legacy_mouse" classes to support externals that report mouse events: "legacy_mousemotion", "legacy_mouseclick" and "legacy_mousewheel"
- fix bug loading default libs on OSX
2.2.3:
- fixed overallocation bug that made loading soundfiles into arrays take up unnecessary amount of memory (4x-8x overallocation)
- fix some utf8 string handling routines
- port fixes for
[soundfiler]
from Pd Vanilla - fix bug with "$@" that could cause invalid reads in some cases
- fix
[initbang]
functionality - fix crasher in
[pdinfo]
New in 2.2.2:
- fixed usability issues with the dropdown object
New in 2.2.1:
- fix stray GUI bugs
- fix some external libs that weren't building under Windows
- fix some OSX key event bugs
New in 2.2.0:
- fix GOP sizing algo to accommodate small GOP abstractions
- turn off anoying Gnome-keyring popup that appears on some systems
- bump nw.js GUI toolkit to 0.22.1
- fix arrow-key navigation-- use arrow keys for scrollbar navigation in runmode, turn off in editmode
- ignore iemgui label in bbox computation for "-legacy" mode
- fix OSCx library on arm builds
- guard against more out-of-order messages from Pd to GUI
- clean up and simplify build instructions
- leave enough space in GOP abstractions to accommodate all xlets
- fix search path bug
- update some of the documentation, removing old "messageoddness" patches that no longer apply to Purr Data
- update unauthorized library
- clean up and simplify the repository code/structure
New in 2.1.2:
- minor bugfix in the console (duplicate messages weren't printed after clearing)
- some minor fixes in the default startup configuration
- some cosmetic changes in the accompanying README and license information
- various bugfixes in objects and internal API functions (message boxes, dropdown atom, loadbang-related issues)
- updated lyonpotpourri to the latest 3.0 version to fix various 64 bit issues on Linux and macOS
- saving the preferences is much faster on the Mac now
- new animated "About Pd-L2ork" popup; also, the proper version is now shown in the generic "About" box on the Mac
New in 2.1.1:
- normalized range for
[bendin]
(keep old behavior under legacy flag) - added "mouseenter" and "mouseleave" events for data structures
- fixed "Recent Files" under Windows
- cleaned up documentation in repo
- fix for
[midiclkin]
(#255) - added "l2ork_version" message for
[pdinfo]
- make loader search order the same as Pd Vanilla
- fixed cord inspector font size
- silence spurious error when autopatching a signal object
- added a
[dropdown]
object for choosing a value for an atom box (interface not stable yet) - made gatom resizable by click-dragging in edit mode
- added "<ctrl-mousewheel>" for zooming
- added solarized and inverted solarized gui presets
- fixed mycanvas stroke color updates
- improvements to mode 4 of intelligent patching
- fixed "<Delete>" not deleting a selected object on some systems
New since rc5:
- fixed display bug with [vu] on graph-on-parent canvas
- fix documentation for timer-help.pd
- fix "open" method for [ggee/image]
- default to the user's home directory on OSX app bundle
- open the help browser file browser in the doc folder
- add a canvas "Print" menu item (under "File" menu)
- allow option to save the zoom level with the canvas
- fix a data structure crasher
please report lots of bugs to
https://git.purrdata.net/jwilkes/purr-data/issues
Binaries:
problems with installation
@Houselover If you are using Sierra look here........ http://forum.pdpatchrepo.info/topic/10543/problem-running-pd-extended-on-64-bit-macbook-pro
You will see that it might be possible to run extended, even though it is 32-bit, but maybe not.
If you are using osx 10.7+ this might help........
https://puredata.info/docs/faq/help-pd-crashes-on-startup-on-mac-osx-10-7
or.....
https://puredata.info/docs/faq/Pd_not_launching/?searchterm=osx start
Other users that have had the same problem will reply as well, so keep coming back to this thread if you have no success...... and please come back and tell us how you fixed it..... when you get it working.
You should tell your teacher immediately. It is possible to download the latest version of "Vanilla" and add many of the features of "extended" using the "Deken Plug-in" that is included in the download, but some things might not work. Your teacher can maybe help you with this...
OR......... Purr Data has been released today, and could be what you need?....... http://forum.pdpatchrepo.info/topic/10569/purr-data-finally-released
David.
Purr Data rc5
Purr Data release candidate 5!
- small fixes to OSX app bundle name and build instructions
- fixed OSX app bundle name
- fixed GUI errors with some GUI objects on GOP
- use cat icon for patches
- fixed a [grid] crasher with binding symbol leak
- fixed [grid] line drawing bug and GOP xlet display
- added dialog and scale handle for [grid]
- ported moonlib/knob
- get rid of some extraneous debugging messages
- allow to install Purr Data alongside Pd-l2ork
- Scope~ code cleanup
- fixes for arm build
- added some OSX app bundle dependencies for [fluid~] and others
- fix saving preferences under OSX
- added startup paths and libs to preferences dialog
- use "Purr Data" in OSX menu app
- help browser fixes
- fixed MIDI preference saving on OSX and Windows
- added a "Recent Files" menu to the "File" menu
- get consistent behavior for present working directory when opening/saving files
- fix Volume name for OSX dmg installer
- try to standardize a deterministic package name when compiling Purr Data
- add a Pd-l2ork-specific version number
- add command line open args to "Recent Files" list
- fixed crasher with ds "canvas" field
- allow saving the zoom level per canvas
please report lots of bugs to
https://git.purrdata.net/jwilkes/purr-data/issues
Binaries: