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:
Need help with patch for a glitch project
@Sarabade Hello Sarabade......
If you google the wikepedia pages for all the different file formats for video and still images you will see that all of the files will have a header, which tells the operating system how to interpret the file (even the uncompressed formats like .bmp). If you glitch (corrupt) the header then the file cannot be read.
So you must not corrupt the data until you are a few (or a few thousand) bytes into the file (how many depends upon the file format...... jpg, tiff, bmp etc..)
I have found Antonio Roberts file on my computer and modded it to send out the ascii codes...... it might provide a start for your project........
JPG - binary - killer_mod.pd
Look into (right-click-open) one of the green abstraction boxes to see how you could write your new file..... and save it......... and importantly how you can avoid modifying the header.......
You cannot use [send glitch_ascii_code_list] as the header codes are already broken!!...... it is just for viewing in the terminal...........
If you try to write the actual ascii "symbols" to a message file then you will get the "closing brace" messages that you are seeing.......or worse! Pd will try to interpret some characters as "control" messages, and that will crash Pd. You will have to work with the numbers that represent the "characters" (ascii or binary) and not the "text" characters....a,b,c, etc......
David.
abs_4to16pads_bin_conv_sv: convert 4 (midi) pads from a binary value to a decimal (for rerouting)
Background:
Last week I made the (what I now know as "life-altering") commitment to buy (and did) my first usb+midi keyboard controller, a Samson Graphite M25. I have since set up my shop (since given my tools+configuration I could not use the Graphite Preset Editor and because everything works better if you get pd involved :---)) to run the kb into pd then into amsynth via jack, using pd as the midi interface: kb>pd>amsynth>out.
In the process, one thing I did was upgrade the 32 "pre", preset button knobs, to 120, using the ideas included in this abstraction: convert the 4 pads and their binary-ness into decimals, so I can then tell pd to make the knobs, 8x15, instead of 8x4 (the default PRE pad count), see below for clarification...
Requirement(s): Linux and shell external (though I am pretty sure a version using the "until" object is do-able, I did not find one and know the shell waaayyy better than until or even metro.
Synopsis: by pushing on various combinations of pads (could actually be any set of cc(?)'s) the resulting binary number is turned into a decimal which can then be used to re-route or set a different control, ex. PROG.
(from the _help file comments):
Purpose: convert binary values to decimals in order to simplify and expand the rerouting from one control to another, ex. from POLTYTOUCH to PROG.
The left inlet takes a routing/control value,;
ex. note/polytouch control, etc.;
the middle inlet takes the value from that control;
and the right inlet takes a bang to trigger/get/output;
the decimal equivalent.
4pad/trigger to 16 pad/trigger binary-to-decimal converter;
the patch converts the pressing of multiple pads;
to a binary number then to a decimal so that;
for ex. a 4 pad control can send signals from 1-15.
the "shell" external is required;
and the shell script, named:bin2dec_pd, is;
also required. It includes only a single line, echo "$((2#$1))".
FYI: in the polytouch instance, the control is looking for;
127 as a trigger value, so the pads must be pushed Completely down.
I DO believe a metro or until version;
of this is also possible but the shell was more expedient.;
-svanya
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:
Sorting Lists Alphabetically
I would suggest using [list fromsymbol] or [moocow/any2bytes] to convert all the characters in your list to ascii values. Then you can split the list at 32 (which is the ascii value for a space) and sort them according to ascii values for a-z, which are 97-122. Take a look at [list-sort] and [list-split-at] in the list-abs library for ideas on how to do this.
Feel free to ask for more direction if I'm not being clear. You can see a full list of ascii characters here: https://upload.wikimedia.org/wikipedia/commons/thumb/1/1b/ASCII-Table-wide.svg/2000px-ASCII-Table-wide.svg.png
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)."
Purr Data alpha1
The next alpha release of Purr Data (the GUI port of Pd-l2ork) is
now available.
Change log:
- bugs from alpha0 were fixed
- should be up to date with most changes from Pd Vanilla 0.47
Alpha builds should go much more quickly from this point--about one per week.
Lots of changes in this one, so expect-- and please report-- lots of bugs to
git.purrdata.net
Binaries:
OSX: Sorry, the Mac I was using to build died, so I need a Mac Mini or something
to keep building and developing for Macs
Finally:
Someone said there weren't enough cats in the first alpha,
so here's an interactive cat sprite patch (test.pd):
http://www.jonathanwilkes.net/cat_thing.tar.gz
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
(2) PureData | Arduino serial tutorial
Arduino reads the digitis of a number as ASCII. For example the number 100 should be sent as a list like this [49 48 48( where 49 is ASCII 1 and 48 ASCII 0. If you want to send more than one number at the same time, you'll have to separate them with a space, so [100 200( would be [49 48 48 32 50 48 48( where 32 is ASCII space.
If you want to use a slider you'll have to parse the digits of the incoming number and add 48 to each digit (ASCII 0). I've already made a patch that does this, but for now I'll leave it to you, it's a better lerning process. If you can't make it, come back and ask for help
(2) PureData | Arduino serial tutorial
Thanks for the quick reply. I can't find much documentation on Serial.parseInt on the reference page?
I have to browse the web for some examples, so I can figure it out somehow. Regarding ASCII i suppose Pd should send i.e. 88 for the arduino to pick up an X ?
This is what I have for the Arduino so far...
int red = 9;
int green = 10;
int blue = 11;
int R = 0;
int G = 0;
int B = 0;
void setup() {
Serial.begin(9600); // opens serial port, sets data rate to 9600 bps
pinMode(red, OUTPUT);
pinMode(green, OUTPUT);
pinMode(blue, OUTPUT);
}
void loop() {
// send data only when you receive data:
if (Serial.available() > 0) {
int R = Serial.parseInt(); // R ASCII DEC 82
int G = Serial.parseInt(); // G ASCII DEC 71
int B = Serial.parseInt(); // B ASCII DEC 66
// say what you got:
analogWrite(red, R);
analogWrite(green, G);
analogWrite(blue, ;
}
}
What module/message should I put in pure data between comport and the slider, to hold the ASCII decimal in order for sending the right value?
Thanks again.