Purr Data beta1
This is the beta 2 release of Purr Data (the GUI port of Pd-l2ork)
Change log:
- compatibility with older osx versions
- fix external library dependencies on OSX
- first try at jack support for OSX (oops, had to remove this one)
- more fixes for out-of-order messages to GUI
- fix crasher on Windows when opening a help patch
- fix [draw sprite] index wrapping
- fix freeze with [struct float foo;]
This is a beta release, so please report lots of bugs to
https://git.purrdata.net/jwilkes/purr-data/issues
Binaries:
Edit: replaced buggy OSX version with 2.1, added comment about removing the jack backend
Purr Data beta1
This is the beta 1 release of Purr Data (the GUI port of Pd-l2ork)
Change log:
- fix many errors in the GUI
- fix position of popup menu when zooming
- fix scalar crasher
- fix gop display error
- fix disappearing $@
- save gui preset with preferences
- fix segfault with preference changes
- fixed many memory leaks with patches backported from Pd Vanilla
- small fixes to help patches
- add text editor window for [text define]
- add and improve the scalar properties dialog
- add default float arg for Pd's "quit" message (good for test patches)
- updated some external libraries
This is a beta release, so please report lots of bugs to
https://git.purrdata.net/jwilkes/purr-data/issues
Binaries:
Purr Data alpha6
This is the alpha 6 release of Purr Data (the GUI port of Pd-l2ork)
Change log:
- bump jmmmp to 0.47
- fix extraneous colon in [print -n]
- add missing dll dependencies for various externals for Windows
- fix bug with zombie window sometimes getting created for subpatches
- fix nbox label color not updating
- fix "New Array" dialog buttons to keep from creating multiple arrays
- Windows build simplification-- you can now build a Windows installer
using msys2 in only 7 steps! Works on both win32 and win64 machines - clean up help patches
This is the last alpha, so please report lots of bugs to
https://git.purrdata.net/jwilkes/purr-data/issues
Binaries:
Purr Data alpha5
This is the alpha 5 release of Purr Data (the GUI port of Pd-l2ork)
Change log:
- added rjlib for Windows and OSX (already available in GNU/Linux)
- more fixes for OSX (thanks to Matt Barber)
- bump fftease, pmpd, lyonpotpourri version (already available in GNU/Linux)
- added fluid~ external
- fix regression with filenames on Windows
- improved Windows installer
- added disis externals for OSX and Windows
- simplified Windows build instructions
- added rpi deb package for Raspbian
- fix regression that kept standard libs from loading on Windows
Please report lots of bugs to
https://git.purrdata.net/jwilkes/purr-data/issues
Binaries:
Purr Data alpha4
This is the alpha 4 release of Purr Data (the GUI port of Pd-l2ork)
Change log:
- added installer for Windows
- added lyonpotpourri, fftease, and autotune on OSX and Windows builds
- added PDP on OSX (thanks to Matt Barber)
- fixed MIDI dialog
- aesthetic improvements to preferences dialog
- fixed a crasher when using Jack
- fixed bugs with drawnumber and drawsymbol not displaying
- fixed stray js errors
- fixed a GOP display bug
- fixed regression when deleting the last argument in a comment or object box
- fixed bug with the "quick find" bar
- updated jmmmp to 0.46
- fixed red gop rectangle drag anchor
- fixed "double-undo" bug (Thanks to Matt Barber)
Please report lots of bugs to
https://git.purrdata.net/jwilkes/purr-data/issues
Binaries:
Purr Data alpha3
This is the alpha 2 release of Purr Data (the GUI port of Pd-l2ork)
Change log:
- visual improvements to the dialogs (thanks to Albert Gräf)
- fix error with "couldn't unbind" error with "Put" menu array
- fix resize anchor for [cnv]
- fix problem with starting up on Windows if there's a space in the path
- ported Scope~ from cyclone
- fix bug with disappearing text in object and message boxes
- fix resizing bug with atom box
- fix problem with iemguis in subpatches causing errors in the GUI
- fix message box border
Lots of changes in this one, so expect-- and please report-- lots of bugs to
https://git.purrdata.net/jwilkes/purr-data/issues
Binaries:
Purr Data alpha2
This is the alpha 2 release of Purr Data (the GUI port of Pd-l2ork)
Change log:
- OSX build included (Thanks to Matt Barber)
- Gem works on Windows now
- fixed bug that broke infinite undo in some cases
- build improvements for deb packages (Thanks to Albert Gräf)
- shorter console messages for legacy tk gui commands (Thanks to Albert Gräf)
- determistic build of deb packages with l2ork_addons/tar_em_up.sh
- you can now use the build instructions to build a binary on Windows with
msys2 - updated moocow and some iem libraries
- fixed bug where the window menus weren't inheriting the OS theme correctly
on GNU/Linux distros
Lots of changes in this one, so expect-- and please report-- lots of bugs to
git.purrdata.net
Binaries:
Finally:
Albert Gräf added an AUR package here
"This always builds from the latest git sources and can be used as a drop-in replacement for the pd-l2ork or pd-l2ork-git package. Just run yaourt -S purr-data-git
and you should be set (be patient, this package takes quite a while to build)."
Using pduino and Firmata to read values from the Grove I2C Touch sensor
Hi @alexandros
code is below, if you can figure anything out that would be great !
/* GroveI2CTouchTest.pde - Sample code for the SeeedStudio Grove I2C Touch Sensor
http://seeedstudio.com/wiki/index.php?title=Twig_-_I2C_Touch_Sensor_v0.93b
Prerequisite: A modification of the Grove I2C Touch sensor is needed Solder a pin to
the INT terminal in the I2C sensor to connect it to one pin in Arduino Created by
Wendell A. Capili, August 27, 2011. http://wendellinfinity.wordpress.com
Released into the public domain.*/
#include <Wire.h> // include I2C library
#include <i2c_touch_sensor.h>
#include <MPR121.h>
// include our Grove I2C touch sensor library
// initialize the Grove I2C touch sensor
// IMPORTANT: in this case, INT pin was connected to pin7 of the Arduino
// (this is the interrupt pin)
i2ctouchsensor touchsensor; // keep track of 4 pads' states
//boolean padTouched[4];
long previousMillis = 0;
long interval = 100;
void setup()
{
Serial.begin(9600); // for debugging
Serial.print("begin to init");
Wire.begin(); // needed by the GroveMultiTouch lib
touchsensor.initialize(); // initialize the feelers // initialize the containers
//for(int i=0; i<=3; i++)
//{
// padTouched[i]=false;
//}
}
void loop()
{
unsigned char MPR_Query=0;
unsigned long currentMillis = millis();
if(currentMillis - previousMillis > interval)
{
previousMillis = currentMillis;
touchsensor.getTouchState();
}
for (int i=0;i<12;i++)
{
if (touchsensor.touched&(1<<i))
{
Serial.print("pin ");
Serial.print(i);
Serial.println(" was touched");
}
}
}
/*
touchsensor.readTouchInputs(); // test read the touch sensors
// loop through our touch sensors 1 to 4
for(int i=0; i<=3; i++)
{
// get the touch state based on pin #
if(feelers.getTouchState(i))
{
if(!padTouched[i])
{ // print in serial that it was touched
Serial.print("Pad ");
Serial.print(i);
Serial.println(" was touched");
}
// flag the touch sensor state
padTouched[i]=true;
}
else
{
if(padTouched[i])
{
// print in serial that it was released
Serial.print("Pad ");
Serial.print(i);
Serial.println(" was released");
} // reset the touch sensor state
padTouched[i]=false;
}
}*/
GUI port of Pd-l2ork Alpha 0 release
Hello,
Below are links to the first alpha release of the GUI port of Pd-l2ork.
The GUI has been ported from tcl/tk to nw.js. The biggest visual improvements are ability to zoom in and out of a canvas, smoother animation of canvas objects (like the PacData game), user-friendly editing inside msg/obj boxes, and a more flexible API for visualizing data structures.
I've nicknamed it "Purr Data", because cats.
This is mainly a bug-collecting release. It should be decent enough to do some basic patching for awhile before hitting a bug. Some caveats up front: OSX is missing Gem and PDP, and both OSX and Windows are missing some pd-l2ork-related externals.
Bug tracker is here:
https://puredata.osuosl.org/jwilkes/purr-data/issues
Alpha builds are listed below (I'm abusing gitlab to distribute these, so some may have a zip within a zip):
OSX x_64 - https://puredata.osuosl.org/purr-data-binaries/osx-64-alpha0/repository/archive.zip?ref=master
Ubuntu 15.10 x_64 - https://puredata.osuosl.org/purr-data-binaries/ubuntu-15.10-64-alpha0/repository/archive.zip?ref=master
Ubuntu 14.04 x_64 - https://puredata.osuosl.org/purr-data-binaries/ubuntu-14.04-64-alpha0/repository/archive.zip?ref=master
Ubuntu 14.04 i386 - https://puredata.osuosl.org/purr-data-binaries/ubuntu-14.04-32-alpha0/repository/archive.zip?ref=master
Debian Jessie x_64 - https://puredata.osuosl.org/purr-data-binaries/debian-jessie64-alpha0/repository/archive.zip?ref=master
Debian Jessie i386 - https://puredata.osuosl.org/purr-data-binaries/debian-jessie32-alpha0/repository/archive.zip?ref=master
Windows 32-bit - https://puredata.osuosl.org/purr-data-binaries/win32-alpha0/repository/archive.zip?ref=master
how does [list drip] actually work?
@rjp9 yup, basically you put items into a stack and take them out of the stack the reverse order, so it is used to remember what needs to be done next.
an example, the "call stack" is the term used for an area of RAM that stores which function a program is in, so if you have a "main" function:
main(int argc, char ** argv) {
somefunction()
someotherfunction()
}
and the functions look like:
somefunction() {
int cat
cat = somethirdfunction()
}
someotherfunction() {
float dog
somefunction()
}
somethirdfunction() {
char lettera
-- do nothing
}
then when the program runs the call stack will look like this at various times:
when it starts main:
main -- has space for function info and argc, argv
when somefunction is called:
main (bottom of stack)
somefunction - top of stack - has space for function info and an integer (cat)
then somethirdfunction is called and cat's value is set, while in somethirdfunction the stack looks like this:
main (bottom of stack)
somefunction - middle of stack
somethirdfunction - top of stack, has space for lettera
since somethirdfunction doesn't do anything, it returns:
main (bottom of stack)
somefunction - middle of stack
some function exits:
main (bottom of stack)
and someotherfunction is called:
main (bottom of stack)
someotherfunction - middle of stack
since someotherfunction calls somefunction which calls somethirdfunction, the call stack will eventually look like this when in somethirdfunction here:
main (bottom of stack)
someotherfunction - second member of stack
somefunction - third member
somethirdfunction -top of stack
and this whole time the "automatic variables" and their values are remembered in the function info. This includes arguments to the function (like in trigger_anything) and other variables declared at the top of each function. and you can have a function call itself too, and have itself in it's own call stack eventually, as in recursive cases like this.
in this case, the stack would be more like, if you have 8 elements:
trigger_anything
split off first 4 elements
trigger_anything
split off first 2 elements
trigger_anything
split off first element
output first element
split off second element
output second element
split off 3rd and 4th elements together (in 2nd trigger_anything)
trigger anything
split off 3rd argument
output 3rd argument
split off 4th
output 4th
split off last 4 elements (from 1st trigger_anything)
and repeat the exact same thing with the last 4
wikipedia has a good page on it https://en.wikipedia.org/wiki/Stack_(abstract_data_type)