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;
}
}*/
RaspberryPi audio cutoff
I have a PD-extended sketch running on a RaspberryPi (RPI) that plays wav's from 32+ tabread4 array's. They can be selected via OSC messages sent over network. I noticed that every so often the audio would cutout. The following is a recording from PD on the RPI. The cutout is heard clearly at 22seconds and 50 to 54 seconds. This happens with both the internal sound card of the RPI and when using a USB soundcard.
For comparison here is a similar graph from running the same sketch on OSX. The waveforms differ because the tabread4 arrays played are a bit random. But the graph shows that the sway from the 0 middle line is much more on the RPi than OSX.
To attempt to resolve I have to be certain the sketch DAC is given a volume of around 0.5. But perhaps someone knows better what is going on and could advise me?
Sketch elements:
udpsend and receive
@whale-av
No problem for all the questions, I have been working in solitude on this project with a lot of unknowns, so a lot of trial and error (previously have only used max/msp in laptop sound installations and performance scenarios).
Actually, no back up cards, but I did use the one that I hadn't completely set up yet, so getting it back to where it was isn't that hard. And to be honest i"m used to re-setting these things, its been quite a steep learning curve with lots not working.
The manual I found for puredata (http://en.flossmanuals.net/pure-data/network-data/send-and-receive/) was suggesting the netsend / netreceive objects, so I just took that for granted. At the moment, in its simplest form I would just like the same bang to be sent to all rpi's simultaneously, to that playback start could be synchronised. I assume for this to happen they could all just listen on the same port, and receive the same bang?
I was planning on one of the four rpi as being the router as well as an interface. Is this a bad idea? To be honest getting one to be a router was a huge battle, so if i could just use a router that would be easier. Conveniently those router's you suggested run off 12v, and my system runs of that, so it would be easy to put in the mix. Would the signal be stronger/reach further using a router as opposed to an rpi?
No, not planning on streaming audio. My thought process was that this might be a headache, and take up a bit of CPU. But in all honest its not needed for the project. The main forms of playback would literally be a mono file loaded into a PD patch with synchronised playback, or a PD patch as instrument (ie, sampler/synth type of interface) loaded onto each pi. In either case, they would be controlled via OSC. The instrument version might have been controlled by different ipads/OSC devices.
Too late, have already bought the screens. Part of this decision process was that there is so much that could go wrong in this scenario, that with a touch screen added I could easily trouble shoot in the field. Also, for the instrument patch, the instrument could just be on the screen which would be great.
The original touchscreens, small 2" ish ones, wouldn't work with Jessie, that's the short answer. However, what I wanted to do was to be able to access the HDMI out in order to mirror the screen, so that I could actually see what I was programming. I didn't know when purchasing them that the HDMI out is disabled once they are installed, and its a headache to get them output both to screen and HDMI out. So the 7" screens I figured would easily allow me to program the device in my studio without the need for extra monitors, and could easily be used in the field.
So, I'm pretty sure i can now change to Jessie, as the 7" screens seem easier to work with. The only thing that wouldn't work is the tutorial I have for turning a RPI into a router. But, if that will make things complicated (which if I'm reading between the lines, it might?), then I think powering an external router might be an easier option.
I think Armel in the long run will cause headaches, it does make sense to stay with the newer version, and I think switching to Jessie at this point in time would make sense.
Epic reply. Thoughts welcome!!
udpsend and receive
@toddak Ah!......... so I am sorry toddak, but I have a lot of questions......
So you still want to use the touch screens, and as you have a few Pi's you have backup cards so you have managed to get back to where you were before the update disaster? I hope so as that would make me feel much better!
You do not really want to use netsend and netreceive but in fact OSC objects (so you don't need MrPeach....... and a later vanilla will be ok as Alexandros suggested)? However, extended has many useful objects!
You are using an extra Pi as a router and you want to use [netsend] and [netreceive] on that?
I would think you would be better off with a dedicated router. I just bought another wrt54 on ebay for 99 uk pence.
Are you planning to stream audio to these 4 Pi's (in which case you will need extended) or are you just sending osc messages from them, or just receiving osc messages so as to start/stop playback?
I have not managed to make audio streaming to a Pi work reliably yet without occasional dropouts, and the sound will not work well at all unless you give Pd root privileges............. so remember.... for later...
sudo chmod 4755 /usr/bin/pd-extended
For audio on a Pi it should be run headless, so you should drop your touch screens in that case.
If you are using the Pi's with touch screens just to send osc messages you would be better off with some £40 android 7" tablets running TouchOSC (one licence for all of the android devices you own).
If they are receiving Osc to control their local playback then why do they have touch screens. Is it the touch screens that would not work with Jessie, or some other screen?
Jessie is not very different from Wheezy (it is not a huge update) but it is exclusively armhf. If the touch screens are needed and will not work with Jessie then you are stuck with the current wheezy that you have installed.
If you need to stay with armel then on one of your working Pi,s (armel) you should try this http://puredata.info/downloads/pd-extended-rpi version of extended and install pulse audio and the fonts (manually or with an apt-get) first. A lot of information you can find from here http://puredata.info/docs/raspberry-pi/?searchterm=raspberry
But if you have Rpi B2 (or anything other that an A or a Zero) you should really be running an armhf distribution.
David.
Install PD extend on Ubuntustudio
I just installed Ubuntustudio 15.10 Wily Werewolf 32bit on a thinkpad and I am trying to upgrade PD to extend. I am fairly new to linux but it seems like the instructions on https://puredata.info/docs/faq/debian fails.
This is the log from executing the commands. Any suggestions and help will be appreciated
myuser@machine:~$ sudo add-apt-repository "deb http://apt.puredata.info/releases `lsb_release -c | awk '{print $2}'` main"[sudo] password for zoundart:
myuser@machine:~$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key 9f0fe587374bbe81
Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --homedir /tmp/tmp.beJyKhm5Lr --no-auto-check-trustdb --trust-model always --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver keyserver.ubuntu.com --recv-key 9f0fe587374bbe81
gpg: requesting key 374BBE81 from hkp server keyserver.ubuntu.com
gpg: key 374BBE81: "Hans-Christoph Steiner <hans@guardianproject.info>" not changed
gpg: Total number processed: 1
gpg: unchanged: 1
myuser@machine:~$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key D63D3D09C39F5EEB
Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --homedir /tmp/tmp.BDfXAe3l5j --no-auto-check-trustdb --trust-model always --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver keyserver.ubuntu.com --recv-key D63D3D09C39F5EEB
gpg: requesting key C39F5EEB from hkp server keyserver.ubuntu.com
gpg: key C39F5EEB: "Launchpad Pure Data" not changed
gpg: Total number processed: 1
gpg: unchanged: 1
myuser@machine:~$ sudo apt-get update
Hit http://no.archive.ubuntu.com wily InRelease
Get:1 http://no.archive.ubuntu.com wily-updates InRelease [64,4 kB]
Get:2 http://no.archive.ubuntu.com wily-backports InRelease [64,5 kB]
Get:3 http://security.ubuntu.com wily-security InRelease [64,4 kB]
Ign http://apt.puredata.info wily InRelease
Ign http://apt.puredata.info wily Release.gpg
Ign http://apt.puredata.info wily Release
Get:4 http://security.ubuntu.com wily-security/main Sources [17,0 kB]
Get:5 http://no.archive.ubuntu.com wily-updates/main Sources [24,1 kB]
Get:6 http://no.archive.ubuntu.com wily-updates/restricted Sources [3 741 B]
Get:7 http://security.ubuntu.com wily-security/restricted Sources [2 854 B]
Get:8 http://no.archive.ubuntu.com wily-updates/universe Sources [6 112 B]
Get:9 http://no.archive.ubuntu.com wily-updates/multiverse Sources [1 922 B]
Get:10 http://security.ubuntu.com wily-security/universe Sources [3 691 B]
Get:11 http://no.archive.ubuntu.com wily-updates/main i386 Packages [59,3 kB]
Get:12 http://no.archive.ubuntu.com wily-updates/restricted i386 Packages [13,4 kB]
Get:13 http://security.ubuntu.com wily-security/multiverse Sources [1 922 B]
Get:14 http://no.archive.ubuntu.com wily-updates/universe i386 Packages [31,0 kB]
Get:15 http://no.archive.ubuntu.com wily-updates/multiverse i386 Packages [6 052 B]
Get:16 http://security.ubuntu.com wily-security/main i386 Packages [43,4 kB]
Err http://apt.puredata.info wily/main i386 Packages
404 Not Found
Ign http://apt.puredata.info wily/main Translation-en_US
Get:17 http://no.archive.ubuntu.com wily-backports/main Sources [750 B]
Get:18 http://security.ubuntu.com wily-security/restricted i386 Packages [10,8 kB]
Get:19 http://no.archive.ubuntu.com wily-backports/restricted Sources [28 B]
Ign http://apt.puredata.info wily/main Translation-en
Get:20 http://no.archive.ubuntu.com wily-backports/universe Sources [833 B]
Get:21 http://no.archive.ubuntu.com wily-backports/multiverse Sources [28 B]
Get:22 http://no.archive.ubuntu.com wily-backports/main i386 Packages [606 B]
Get:23 http://security.ubuntu.com wily-security/universe i386 Packages [24,8 kB]
Get:24 http://no.archive.ubuntu.com wily-backports/restricted i386 Packages [28 B]
Get:25 http://no.archive.ubuntu.com wily-backports/universe i386 Packages [714 B]
Get:26 http://security.ubuntu.com wily-security/multiverse i386 Packages [6 052 B]
Get:27 http://no.archive.ubuntu.com wily-backports/multiverse i386 Packages [28 B]
Hit http://no.archive.ubuntu.com wily-backports/multiverse Translation-en
Hit http://no.archive.ubuntu.com wily-backports/restricted Translation-en
Get:28 http://security.ubuntu.com wily-security/main Translation-en [23,2 kB]
Hit http://no.archive.ubuntu.com wily/main Sources
Hit http://no.archive.ubuntu.com wily/restricted Sources
Hit http://no.archive.ubuntu.com wily/universe Sources
Get:29 http://security.ubuntu.com wily-security/multiverse Translation-en [2 536 B]
Hit http://no.archive.ubuntu.com wily/multiverse Sources
Hit http://no.archive.ubuntu.com wily/main i386 Packages
Hit http://no.archive.ubuntu.com wily/restricted i386 Packages
Hit http://no.archive.ubuntu.com wily/universe i386 Packages
Get:30 http://security.ubuntu.com wily-security/restricted Translation-en [2 666 B]
Hit http://no.archive.ubuntu.com wily/multiverse i386 Packages
Hit http://no.archive.ubuntu.com wily/main Translation-en
Hit http://no.archive.ubuntu.com wily/multiverse Translation-en
Hit http://no.archive.ubuntu.com wily/restricted Translation-en
Get:31 http://security.ubuntu.com wily-security/universe Translation-en [15,2 kB]
Hit http://no.archive.ubuntu.com wily/universe Translation-en
Hit http://no.archive.ubuntu.com wily-updates/main Translation-en
Hit http://no.archive.ubuntu.com wily-updates/multiverse Translation-en
Hit http://no.archive.ubuntu.com wily-updates/restricted Translation-en
Hit http://no.archive.ubuntu.com wily-updates/universe Translation-en
Hit http://no.archive.ubuntu.com wily-backports/main Translation-en
Hit http://no.archive.ubuntu.com wily-backports/universe Translation-en
Fetched 496 kB in 7s (70,7 kB/s)
W: Failed to fetch http://apt.puredata.info/releases/dists/wily/main/binary-i386/Packages 404 Not Found
E: Some index files failed to download. They have been ignored, or old ones used instead.
myuser@machine:~$ sudo apt-get install pd-extended
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package pd-extended is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package 'pd-extended' has no installation candidate
pd open
Hi David, I am also David.
m0oonlib doesn't come with Pd-vanilla, but I am willing to get Pd-extended working (I'm actually prototyping for a patch that will run on a raspberry pi.) I definitely want to share these patches when I'm done, so I am using relative paths because I want it to run on different environments, with different file structures, with everything relative to the main patch.
If I declare /synths
wouldn't that be an absolute location (at the root of my filesystem?)
open
messages require 2 params, the second of which is the path. If you leave it off you will get this error:
Bad arguments for message 'open' to object 'pd'
I have tried it several ways, and all do not work:
(I get the Bad Argument
error)
With all of these I get Device not configured
:
These work, but are not ideal:
I'd prefer not hardcoding an absolute path.
moonlib/absolutepath
doesn't seem to work with a directory name, only a file. That means this works:
But not this (the format I actually need for path):
This works, but really I'd just prefer a solution that works in Pd-vanilla:
Pd-Extended for Debian
** EDIT ** I created an UPDATED version on this wiki page with steps to follow. Here:
http://puredata.info/docs/developer/DebianWheezyAmd64
Hi Nicola,
@bamboomusic said:
Hi, I've just installed Debian Wheezy amd64, but I can't be able to find a compiled Pd-Extended version for Debian 64-bit.
I checked in:
http://puredata.info/community/projects/software/pd-extended
http://autobuild.puredata.info/auto-build/and in the puredata repo, but I only found i386 versions.
Am I missing something?
I think simply there is no packaged version.
I actually managed to build the source partly following the instructions found here:
http://puredata.info/docs/developer/Debian and thanks to the script in the scripts directory in the source package - credit really goes to the authors of these
with some modifications and additions:
---- WARNING. Pretty much untested. Pd starts, no libraries complain, audio and a bunch of patches I have work with alsa and jack ----
-
Add the debian multimedia repository as explained directly on their page:
http://debian-multimedia.org/ -
Do the build-dep as explained but with a slight modification
apt-get build-dep puredata gem pd-pdp
(notice pd-pdp non not pdp)
-
Install the following packages not listed on that page:
apt-get install libmp3lame0 libmp3lame-dev ladspa-sdk dssi-dev libimlib2-dev libtheora-dev
-
Install libquicktime1 and libquicktime-dev from the official main packages *not* with apt. The links:
http://packages.debian.org/testing/libs/libquicktime1
http://packages.debian.org/wheezy/libquicktime-dev -
Get the source of Pd-extended, unpack anywere as explained in other places..
-
from the main source directory go to source dir for pidip:
cd externals/pidip/
-
configure and make pidip with the following switches:
./configure --with-pd=../../pd --with-pdp=../pdp
make -
chdir to scripts/auto-build/ from the source dir:
cd scripts/auto-build/
-
Start the ./pd-extended-auto-builder.sh script:
./pd-extended-auto-builder.sh
-
Wait...
-
Cross fingers...
-
Ignore some scary messages...
If everything went well there should be a message saying you have a deb in dir ./packages/linux_make/Pd-0.42.5-extended.deb (still from the source root): -
cd there:
cd ../../packages/linux_make/
-
Finally install:
dpkg -i Pd-0.42.5-extended.deb
By the way I got a nice .deb so maybe I could put it up somewhere, not sure about the dependencies though.
Hope this helps,
Lorenzo