Re: [PD] How (Pd's) 'limitations' enhance creativity
you don't have a DAW, so you're not sitting there just arranging boxes on a screen all day...err...hang on... bad example ;) On Thu, Mar 3, 2016 at 12:28 PM, Matt Barberwrote: > "Gate" is a metaphor, so it seems to me you just need another metaphor > for what's going on. The best one I've come up with so far is entirely > inappropriate for most cases, but gets the point across: instead of a > "gate," you might think of it as a safety on a firearm. You can load and > unload it all you want but as long as the safety is on it won't fire. > Another one might be "sending supplies past the blockade." Or if you want > to keep the "gate" metaphor, it might be "tossing your knapsack over before > trying to get through." Or "meet me at the rendezvous; don't do anything > without me – if I don't make it past security with the goods, you'll have > to abandon the plan." > > The other thing about this particular dataflow representation is that cold > inlets are themselves a kind of gate. That might make the end-run feel > better. > > A third option you didn't mention would be using [value]. > > On Wed, Mar 2, 2016 at 9:20 PM, Jonathan Wilkes > wrote: > >> > 3. Its visual austerity is a huge help to me in thinking clearly about >> patching and dataflow. It's amazing how often a geometrically elegant >> solution turns out to be an elegant solution full stop. >> >> Coincidentally, I was thinking about counterexamples to this today. >> >> Consider a gate: >> >> float >> | >> v >> -o <- gate! >> | >> v >> (copy of) float >> >> One of the problems with C is that you must take care both in your >> conditions for >> opening the gate, and in avoiding many subtle bugs through spacing, >> scoping, etc. >> that could cause the gate to become ineffectual. Many of those subtle >> bugs are visual-- >> I mean, your variable's state is just waiting to be perused by any >> context inside the >> function that's willing to read it. It's amazing Linux works at all when >> you consider >> how few constraints there are on the code one must reason about. >> >> A dataflow language improves this by representing the gate as a visual >> barrier. >> You can't just blithely read "stuff" below the gate[1]. The gate has to >> pass the data >> down the line, and even if you made an additional connection from "float" >> to something >> below, you have to drag the line visually over the gate so that your >> violation of >> common sense and decency is visually obvious. >> >> But now we have a problem, because if we have anything more than "float" >> that we >> want to operate on below the gate, we have no way to read it. There are >> two possible >> solutions to this: >> 1) store copies of the data below the gate, so that you can read >> them if you happen to be allowed through the gate. >> 2) send some more expressive form of data like an object through the >> gate, and pack >> everything you want to have access to into that object. >> >> #1 is what I see in most patches (and what I end up patching when I just >> need to get >> something done). But think about how that complicates the dataflow. In >> the gate >> example it's especially apparent-- if you want to store some data below >> the gate you >> have to draw a line that does an end run around it to the right inlet of >> a [float] below >> the gate. That violates the very representation of a gate that the >> visual language was >> trying to provide for you. >> >> #2 pack your data into a list and use [route] as the gate. This restores >> visual clarity >> at the expense of anonymous positional arguments. So it works well for >> routing a list >> of, say, two or three values. But not so well for a larger amount of >> discrete data. An >> example of this downside would be a patch that does a good job of showing >> where >> a list flows or branches, but then seeing a big message box at the bottom >> with something >> like [voice $1-$3 $5 $2 $4(. It's a real pain to debug and extend >> patterns like that. >> >> I'd be interested to hear other approaches to this problem. >> >> -Jonathan >> >> >> >> >> >> >> >> On Wednesday, March 2, 2016 8:20 PM, Matt Barber >> wrote: >> >> >> This is a great way to frame it, and it is indeed how I approach >> composition as well. It sometimes helps to think of a piece as a solution – >> maybe the only solution – to a set of constraints. >> >> Three limitations that I love in Pd off the top of my head: >> >> 1. The relatively small set of core objects really helps with programming >> ingenuity, and in fact has made me think through some things that have been >> helpful in other programming contexts. I love when someone throws down a >> "this can't be done in vanilla" challenge; I've learned lots from thinking, >> "OK, we'll see about that!" >> >> 2. The smallish set of objects also means that Pd is not a black box. It >> does mean sometimes that you have to know what you're doing, but
Re: [PD] How (Pd's) 'limitations' enhance creativity
"Gate" is a metaphor, so it seems to me you just need another metaphor for what's going on. The best one I've come up with so far is entirely inappropriate for most cases, but gets the point across: instead of a "gate," you might think of it as a safety on a firearm. You can load and unload it all you want but as long as the safety is on it won't fire. Another one might be "sending supplies past the blockade." Or if you want to keep the "gate" metaphor, it might be "tossing your knapsack over before trying to get through." Or "meet me at the rendezvous; don't do anything without me – if I don't make it past security with the goods, you'll have to abandon the plan." The other thing about this particular dataflow representation is that cold inlets are themselves a kind of gate. That might make the end-run feel better. A third option you didn't mention would be using [value]. On Wed, Mar 2, 2016 at 9:20 PM, Jonathan Wilkeswrote: > > 3. Its visual austerity is a huge help to me in thinking clearly about > patching and dataflow. It's amazing how often a geometrically elegant > solution turns out to be an elegant solution full stop. > > Coincidentally, I was thinking about counterexamples to this today. > > Consider a gate: > > float > | > v > -o <- gate! > | > v > (copy of) float > > One of the problems with C is that you must take care both in your > conditions for > opening the gate, and in avoiding many subtle bugs through spacing, > scoping, etc. > that could cause the gate to become ineffectual. Many of those subtle > bugs are visual-- > I mean, your variable's state is just waiting to be perused by any context > inside the > function that's willing to read it. It's amazing Linux works at all when > you consider > how few constraints there are on the code one must reason about. > > A dataflow language improves this by representing the gate as a visual > barrier. > You can't just blithely read "stuff" below the gate[1]. The gate has to > pass the data > down the line, and even if you made an additional connection from "float" > to something > below, you have to drag the line visually over the gate so that your > violation of > common sense and decency is visually obvious. > > But now we have a problem, because if we have anything more than "float" > that we > want to operate on below the gate, we have no way to read it. There are > two possible > solutions to this: > 1) store copies of the data below the gate, so that you can read > them if you happen to be allowed through the gate. > 2) send some more expressive form of data like an object through the gate, > and pack > everything you want to have access to into that object. > > #1 is what I see in most patches (and what I end up patching when I just > need to get > something done). But think about how that complicates the dataflow. In > the gate > example it's especially apparent-- if you want to store some data below > the gate you > have to draw a line that does an end run around it to the right inlet of a > [float] below > the gate. That violates the very representation of a gate that the > visual language was > trying to provide for you. > > #2 pack your data into a list and use [route] as the gate. This restores > visual clarity > at the expense of anonymous positional arguments. So it works well for > routing a list > of, say, two or three values. But not so well for a larger amount of > discrete data. An > example of this downside would be a patch that does a good job of showing > where > a list flows or branches, but then seeing a big message box at the bottom > with something > like [voice $1-$3 $5 $2 $4(. It's a real pain to debug and extend > patterns like that. > > I'd be interested to hear other approaches to this problem. > > -Jonathan > > > > > > > > On Wednesday, March 2, 2016 8:20 PM, Matt Barber > wrote: > > > This is a great way to frame it, and it is indeed how I approach > composition as well. It sometimes helps to think of a piece as a solution – > maybe the only solution – to a set of constraints. > > Three limitations that I love in Pd off the top of my head: > > 1. The relatively small set of core objects really helps with programming > ingenuity, and in fact has made me think through some things that have been > helpful in other programming contexts. I love when someone throws down a > "this can't be done in vanilla" challenge; I've learned lots from thinking, > "OK, we'll see about that!" > > 2. The smallish set of objects also means that Pd is not a black box. It > does mean sometimes that you have to know what you're doing, but in general > it does not force you to think a specific way about what you're doing. This > is not true in my experience with my students who use other programs > excluding csound and SC, but including Max – they'll often as a group > settle on one massive object or plugin that does 100 things in a really > specific way (look at this
Re: [PD] How (Pd's) 'limitations' enhance creativity
> 3. Its visual austerity is a huge help to me in thinking clearly about > patching and dataflow. It's amazing how often a geometrically elegant > solution turns out to be an elegant solution full stop. Coincidentally, I was thinking about counterexamples to this today. Consider a gate: float|v-o <- gate!|v(copy of) float One of the problems with C is that you must take care both in your conditions for opening the gate, and in avoiding many subtle bugs through spacing, scoping, etc. that could cause the gate to become ineffectual. Many of those subtle bugs are visual-- I mean, your variable's state is just waiting to be perused by any context inside the function that's willing to read it. It's amazing Linux works at all when you consider how few constraints there are on the code one must reason about. A dataflow language improves this by representing the gate as a visual barrier. You can't just blithely read "stuff" below the gate[1]. The gate has to pass the data down the line, and even if you made an additional connection from "float" to something below, you have to drag the line visually over the gate so that your violation of common sense and decency is visually obvious. But now we have a problem, because if we have anything more than "float" that we want to operate on below the gate, we have no way to read it. There are two possible solutions to this:1) store copies of the data below the gate, so that you can read them if you happen to be allowed through the gate.2) send some more expressive form of data like an object through the gate, and pack everything you want to have access to into that object. #1 is what I see in most patches (and what I end up patching when I just need to get something done). But think about how that complicates the dataflow. In the gate example it's especially apparent-- if you want to store some data below the gate you have to draw a line that does an end run around it to the right inlet of a [float] below the gate. That violates the very representation of a gate that the visual language was trying to provide for you. #2 pack your data into a list and use [route] as the gate. This restores visual clarity at the expense of anonymous positional arguments. So it works well for routing a list of, say, two or three values. But not so well for a larger amount of discrete data. An example of this downside would be a patch that does a good job of showing where a list flows or branches, but then seeing a big message box at the bottom with something like [voice $1-$3 $5 $2 $4(. It's a real pain to debug and extend patterns like that. I'd be interested to hear other approaches to this problem. -Jonathan On Wednesday, March 2, 2016 8:20 PM, Matt Barberwrote: This is a great way to frame it, and it is indeed how I approach composition as well. It sometimes helps to think of a piece as a solution – maybe the only solution – to a set of constraints. Three limitations that I love in Pd off the top of my head: 1. The relatively small set of core objects really helps with programming ingenuity, and in fact has made me think through some things that have been helpful in other programming contexts. I love when someone throws down a "this can't be done in vanilla" challenge; I've learned lots from thinking, "OK, we'll see about that!" 2. The smallish set of objects also means that Pd is not a black box. It does mean sometimes that you have to know what you're doing, but in general it does not force you to think a specific way about what you're doing. This is not true in my experience with my students who use other programs excluding csound and SC, but including Max – they'll often as a group settle on one massive object or plugin that does 100 things in a really specific way (look at this badass object I found!) and all end up writing more or less the same piece due to the directions the design of the object pushed them in. 3. Its visual austerity is a huge help to me in thinking clearly about patching and dataflow. It's amazing how often a geometrically elegant solution turns out to be an elegant solution full stop. On Wed, Mar 2, 2016 at 9:50 AM, Lorenzo Sutton wrote: Trying to turn the Pd limitations thread, which eventually became the (usual) 'Pd vs foo" thread, into something possibly more constructive, interesting and inspiring. Starting from the concept of "Creative Limitation" (I am primarily thinking of Stravinsky): How do Pd's limitations enhance people's creativity? ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Re: [PD] How (Pd's) 'limitations' enhance creativity
This is a great way to frame it, and it is indeed how I approach composition as well. It sometimes helps to think of a piece as a solution – maybe the only solution – to a set of constraints. Three limitations that I love in Pd off the top of my head: 1. The relatively small set of core objects really helps with programming ingenuity, and in fact has made me think through some things that have been helpful in other programming contexts. I love when someone throws down a "this can't be done in vanilla" challenge; I've learned lots from thinking, "OK, we'll see about that!" 2. The smallish set of objects also means that Pd is not a black box. It does mean sometimes that you have to know what you're doing, but in general it does not force you to think a specific way about what you're doing. This is not true in my experience with my students who use other programs excluding csound and SC, but including Max – they'll often as a group settle on one massive object or plugin that does 100 things in a really specific way (look at this badass object I found!) and all end up writing more or less the same piece due to the directions the design of the object pushed them in. 3. Its visual austerity is a huge help to me in thinking clearly about patching and dataflow. It's amazing how often a geometrically elegant solution turns out to be an elegant solution full stop. On Wed, Mar 2, 2016 at 9:50 AM, Lorenzo Suttonwrote: > Trying to turn the Pd limitations thread, which eventually became the > (usual) 'Pd vs foo" thread, into something possibly more constructive, > interesting and inspiring. > > Starting from the concept of "Creative Limitation" (I am primarily > thinking of Stravinsky): > > How do Pd's limitations enhance people's creativity? > > > ___ > Pd-list@lists.iem.at mailing list > UNSUBSCRIBE and account-management -> > http://lists.puredata.info/listinfo/pd-list > ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
[PD] libraries from extended sitll being maintained?
hello, in a rough count, there were around 85 extended libraries in the last Pd-Extended release. Just wondering which of them are still being maintained or had any new update since the last Pd-Extended release. cheers ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Re: [PD] [getdir] in Vanilla
You can't. But I put [canvasinfo] in Pd-l2ork, and it has a [dir( method to get that. It's in src/x_interface.c of Pd-l2ork git. It's very simple functionality-- much simpler, for example, than figuring out the unspoken process for getting simple functionality into Pd Vanilla. -Jonathan On Wednesday, March 2, 2016 1:55 PM, Esteban Viveroswrote: How can I get the path of the patch in vanilla? I would like to subtitute [getdir] for ggee library. ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
[PD] [getdir] in Vanilla
How can I get the path of the patch in vanilla? I would like to subtitute [getdir] for ggee library. ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Re: [PD] deken problem
Thank you I will try. Let me know if gigaverb~ works on Linux :) 2016-03-02 19:16 GMT+01:00 Jonghyun Kim: > i never installed virtualbox on mac os x. but i can try it. did you tried > with portaudio? > > On Thu, Mar 3, 2016 at 1:06 AM, Marco Matteo Markidis < > mm.marki...@gmail.com> wrote: > >> Dear Jonghyun, >> >> after several days I installed properly a Virtual Box with Debian 8 and I >> compile gigaverb~ for linux, or i suppose to did it. I have problems in >> virtual box to use alsa and jack, so I don't manage to listen correctly >> audio from Pd. >> Please get a try :) >> >> Best regards, >> >> Marco Matteo Markidis >> >> 2016-02-16 19:19 GMT+01:00 Jonghyun Kim : >> >>> thanks for upload it. however there is no MAKEFILE for linux. i want to >>> try it on linux. who can help me for the MAKEFILE? >>> >>> jonghyun >>> >>> On Wed, Feb 17, 2016 at 2:06 AM, Marco Matteo Markidis < >>> mm.marki...@gmail.com> wrote: >>> Yeah! Upload completed :) I will offer you a coffee. Thank you again. Marco 2016-02-16 17:40 GMT+01:00 Antoine Rousseau : > Marco, > > Actually I think dev packages are only needed for linux ; iirc on mac > I only had to install GPGSuite, from https://gpgtools.org/, then > deken worked fine. > Good luck ! > > 2016-02-16 15:48 GMT+01:00 Marco Matteo Markidis < > mm.marki...@gmail.com>: > >> Dear Antoine, >> >> I installed via MacPorts gpg, libffi-dev and libssl-dev. Actually, (I >> suppose!) the macports names are gpg-agent, libffi and openssl. I don't >> find python-dev or similar. During python27 installation Macports >> installs >> a dynamic library (python2.7.dylib) and an header (python.h), but I don't >> know what are in python-dev. >> Do you know which dependence I have to satisfy? >> >> Thank you. >> >> Marco Matteo Markidis >> >> 2016-02-16 15:21 GMT+01:00 Marco Matteo Markidis < >> mm.marki...@gmail.com>: >> >>> A! >>> Sorry Antoine, newbie question :( >>> Thank you. >>> >>> 2016-02-16 15:14 GMT+01:00 Antoine Rousseau : >>> Hi, you need to install gpg. (see https://github.com/pure-data/deken/issues/108). You also need : - libffi-dev - libssl-dev - python-dev cheers 2016-02-16 12:06 GMT+01:00 Marco Matteo Markidis < mm.marki...@gmail.com>: > Hi guys! > > I'm trying to upload my first external on deken. During the > package command I get this problem: > > MMMarkidis:deken dis$ ./deken package -v 1.0 gigaverb~ > > Deken 0.1 > > Packaging > gigaverb~-v1.0-(Darwin-i386-32)(Darwin-x86_64-32)-externals.tar.gz > > Attempting to GPG sign > 'gigaverb~-v1.0-(Darwin-i386-32)(Darwin-x86_64-32)-externals.tar.gz' > > Traceback (most recent call last): > > File "/Users/dis/.deken/virtualenv/bin/hy", line 9, in > > load_entry_point('hy==0.11.0', 'console_scripts', 'hy')() > > File > "/Users/dis/.deken/virtualenv/lib/python2.7/site-packages/hy/cmdline.py", > line 347, in hy_main > > sys.exit(cmdline_handler("hy", sys.argv)) > > File > "/Users/dis/.deken/virtualenv/lib/python2.7/site-packages/hy/cmdline.py", > line 335, in cmdline_handler > > return run_file(options.args[0]) > > File > "/Users/dis/.deken/virtualenv/lib/python2.7/site-packages/hy/cmdline.py", > line 210, in run_file > > import_file_to_module("__main__", filename) > > File > "/Users/dis/.deken/virtualenv/lib/python2.7/site-packages/hy/importer.py", > line 78, in import_file_to_module > > eval(ast_compile(_ast, fpath, "exec"), mod.__dict__) > > File "/Users/dis/.deken/deken.hy", line 672, in > > > > File "/Users/dis/.deken/deken.hy", line 394, in main > > (defn main [] > > File "/Users/dis/.deken/deken.hy", line 650, in _hy_anon_fn_63 > > > > File "/Users/dis/.deken/deken.hy", line 412, in _hy_anon_fn_62 > > (command arguments > > File "/Users/dis/.deken/deken.hy", line 352, in _hy_anon_fn_57 > > (let [[package-filename (make-archive-basename args.source > args.version)]] > > File "/Users/dis/.deken/deken.hy", line 608, in _hy_anon_fn_56 > > > > File "/Users/dis/.deken/deken.hy", line 356, in _hy_anon_fn_55 >
Re: [PD] deken problem
i never installed virtualbox on mac os x. but i can try it. did you tried with portaudio? On Thu, Mar 3, 2016 at 1:06 AM, Marco Matteo Markidiswrote: > Dear Jonghyun, > > after several days I installed properly a Virtual Box with Debian 8 and I > compile gigaverb~ for linux, or i suppose to did it. I have problems in > virtual box to use alsa and jack, so I don't manage to listen correctly > audio from Pd. > Please get a try :) > > Best regards, > > Marco Matteo Markidis > > 2016-02-16 19:19 GMT+01:00 Jonghyun Kim : > >> thanks for upload it. however there is no MAKEFILE for linux. i want to >> try it on linux. who can help me for the MAKEFILE? >> >> jonghyun >> >> On Wed, Feb 17, 2016 at 2:06 AM, Marco Matteo Markidis < >> mm.marki...@gmail.com> wrote: >> >>> Yeah! Upload completed :) >>> I will offer you a coffee. >>> Thank you again. >>> >>> Marco >>> >>> 2016-02-16 17:40 GMT+01:00 Antoine Rousseau : >>> Marco, Actually I think dev packages are only needed for linux ; iirc on mac I only had to install GPGSuite, from https://gpgtools.org/, then deken worked fine. Good luck ! 2016-02-16 15:48 GMT+01:00 Marco Matteo Markidis : > Dear Antoine, > > I installed via MacPorts gpg, libffi-dev and libssl-dev. Actually, (I > suppose!) the macports names are gpg-agent, libffi and openssl. I don't > find python-dev or similar. During python27 installation Macports installs > a dynamic library (python2.7.dylib) and an header (python.h), but I don't > know what are in python-dev. > Do you know which dependence I have to satisfy? > > Thank you. > > Marco Matteo Markidis > > 2016-02-16 15:21 GMT+01:00 Marco Matteo Markidis < > mm.marki...@gmail.com>: > >> A! >> Sorry Antoine, newbie question :( >> Thank you. >> >> 2016-02-16 15:14 GMT+01:00 Antoine Rousseau : >> >>> Hi, >>> you need to install gpg. (see >>> https://github.com/pure-data/deken/issues/108). >>> You also need : >>> >>>- libffi-dev >>>- libssl-dev >>>- python-dev >>> >>> cheers >>> >>> >>> 2016-02-16 12:06 GMT+01:00 Marco Matteo Markidis < >>> mm.marki...@gmail.com>: >>> Hi guys! I'm trying to upload my first external on deken. During the package command I get this problem: MMMarkidis:deken dis$ ./deken package -v 1.0 gigaverb~ Deken 0.1 Packaging gigaverb~-v1.0-(Darwin-i386-32)(Darwin-x86_64-32)-externals.tar.gz Attempting to GPG sign 'gigaverb~-v1.0-(Darwin-i386-32)(Darwin-x86_64-32)-externals.tar.gz' Traceback (most recent call last): File "/Users/dis/.deken/virtualenv/bin/hy", line 9, in load_entry_point('hy==0.11.0', 'console_scripts', 'hy')() File "/Users/dis/.deken/virtualenv/lib/python2.7/site-packages/hy/cmdline.py", line 347, in hy_main sys.exit(cmdline_handler("hy", sys.argv)) File "/Users/dis/.deken/virtualenv/lib/python2.7/site-packages/hy/cmdline.py", line 335, in cmdline_handler return run_file(options.args[0]) File "/Users/dis/.deken/virtualenv/lib/python2.7/site-packages/hy/cmdline.py", line 210, in run_file import_file_to_module("__main__", filename) File "/Users/dis/.deken/virtualenv/lib/python2.7/site-packages/hy/importer.py", line 78, in import_file_to_module eval(ast_compile(_ast, fpath, "exec"), mod.__dict__) File "/Users/dis/.deken/deken.hy", line 672, in File "/Users/dis/.deken/deken.hy", line 394, in main (defn main [] File "/Users/dis/.deken/deken.hy", line 650, in _hy_anon_fn_63 File "/Users/dis/.deken/deken.hy", line 412, in _hy_anon_fn_62 (command arguments File "/Users/dis/.deken/deken.hy", line 352, in _hy_anon_fn_57 (let [[package-filename (make-archive-basename args.source args.version)]] File "/Users/dis/.deken/deken.hy", line 608, in _hy_anon_fn_56 File "/Users/dis/.deken/deken.hy", line 356, in _hy_anon_fn_55 (gpg-sign-file archive-filename) File "/Users/dis/.deken/deken.hy", line 237, in gpg_sign_file (defn gpg-sign-file [filename] File "/Users/dis/.deken/deken.hy", line 243, in _hy_anon_fn_37
Re: [PD] MIDI specifications for Multidimensional Polyphonic Expression (MPE) in Pd
Nothing really, it's just that I have been working on stuff like that for the last couple of years and I'm not thrilled with what those guys are doing. Lots of things are missing or not working for a number of situations ... Now I'll have to adapt my instrument to those new standards that I don't really like. :-( I don't think too many pd people will worry at all because I don't think that many peaple are working with multi channel MIDI controllers like the ROLLI Seaboard or the LinnStrument, etc. Ingo 2016-03-02 3:06 GMT-03:00 Ingo: Damn, that sucks! Wish they would have asked me! ? :) what's going on? ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Re: [PD] Announcing native Pd patch display in MobMuPlat Android
Link has been updated, thanks for reminding me... On Wed, Mar 2, 2016 at 2:36 AM, Laurent Willkommwrote: > On 02/28/2016 06:33 PM, Daniel Iglesia wrote: > >> Hi all, >> >> A little while ago, I released a version of MobMuPlat for iOS with >> native Pd patch rendering. >> >> https://itunes.apple.com/us/app/mobmuplat/id597679399?mt=8 >> >> Now, I'd like to announce that feature has come to Android as well! >> >> >> https://play.google.com/store/apps/details?id=com.iglesiaintermedia.mobmuplat >> >> Please let me know of bugs, incongruities, and other issues via the >> github issue tracker >> >> https://github.com/monkeyswarm/MobMuPlat/issues >> >> or via direct email contact. >> >> >> > Good news, but will you provide a direct .apk download? The link on > www.mobmuplat.com seems to give the old version. > > L.Willkomm > > > ___ > Pd-list@lists.iem.at mailing list > UNSUBSCRIBE and account-management -> > http://lists.puredata.info/listinfo/pd-list > ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Re: [PD] [array-get] memory leak
Looks to me like it's called right after outlet_list in array_get_bang. Oh, I see Miller just commited in regard to your email. :) -Jonathan On Wednesday, March 2, 2016 11:11 AM, Matt Barberwrote: Hi list, A user on the Pd facebook group noticed a memory leak in making heavy use of [array get]. It looks like ATOMS_FREEA() is never called, so the list just sits in memory; could this be the case? Thanks, Matt ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Re: [PD] [array-get] memory leak
Thanks - updated in Git. I probably will try to get a 'release' out in 3-ish weeks (when quarter dies down). I got none of the major improvements done that I had wanted to but there are enough other things to warrant a release number. Most interesting bit is Shahrokh's new expr which I hope to incorporate now as a built-in (instead of 'extra' where it had been exiled because of earlier license restrictions). cheers Miller On Wed, Mar 02, 2016 at 11:11:59AM -0500, Matt Barber wrote: > Hi list, > > A user on the Pd facebook group noticed a memory leak in making heavy use > of [array get]. It looks like ATOMS_FREEA() is never called, so the list > just sits in memory; could this be the case? > > Thanks, > > Matt > ___ > Pd-list@lists.iem.at mailing list > UNSUBSCRIBE and account-management -> > http://lists.puredata.info/listinfo/pd-list ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
[PD] [array-get] memory leak
Hi list, A user on the Pd facebook group noticed a memory leak in making heavy use of [array get]. It looks like ATOMS_FREEA() is never called, so the list just sits in memory; could this be the case? Thanks, Matt ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Re: [PD] deken problem
Dear Jonghyun, after several days I installed properly a Virtual Box with Debian 8 and I compile gigaverb~ for linux, or i suppose to did it. I have problems in virtual box to use alsa and jack, so I don't manage to listen correctly audio from Pd. Please get a try :) Best regards, Marco Matteo Markidis 2016-02-16 19:19 GMT+01:00 Jonghyun Kim: > thanks for upload it. however there is no MAKEFILE for linux. i want to > try it on linux. who can help me for the MAKEFILE? > > jonghyun > > On Wed, Feb 17, 2016 at 2:06 AM, Marco Matteo Markidis < > mm.marki...@gmail.com> wrote: > >> Yeah! Upload completed :) >> I will offer you a coffee. >> Thank you again. >> >> Marco >> >> 2016-02-16 17:40 GMT+01:00 Antoine Rousseau : >> >>> Marco, >>> >>> Actually I think dev packages are only needed for linux ; iirc on mac I >>> only had to install GPGSuite, from https://gpgtools.org/, then deken >>> worked fine. >>> Good luck ! >>> >>> 2016-02-16 15:48 GMT+01:00 Marco Matteo Markidis >>> : >>> Dear Antoine, I installed via MacPorts gpg, libffi-dev and libssl-dev. Actually, (I suppose!) the macports names are gpg-agent, libffi and openssl. I don't find python-dev or similar. During python27 installation Macports installs a dynamic library (python2.7.dylib) and an header (python.h), but I don't know what are in python-dev. Do you know which dependence I have to satisfy? Thank you. Marco Matteo Markidis 2016-02-16 15:21 GMT+01:00 Marco Matteo Markidis : > A! > Sorry Antoine, newbie question :( > Thank you. > > 2016-02-16 15:14 GMT+01:00 Antoine Rousseau : > >> Hi, >> you need to install gpg. (see >> https://github.com/pure-data/deken/issues/108). >> You also need : >> >>- libffi-dev >>- libssl-dev >>- python-dev >> >> cheers >> >> >> 2016-02-16 12:06 GMT+01:00 Marco Matteo Markidis < >> mm.marki...@gmail.com>: >> >>> Hi guys! >>> >>> I'm trying to upload my first external on deken. During the package >>> command I get this problem: >>> >>> MMMarkidis:deken dis$ ./deken package -v 1.0 gigaverb~ >>> >>> Deken 0.1 >>> >>> Packaging >>> gigaverb~-v1.0-(Darwin-i386-32)(Darwin-x86_64-32)-externals.tar.gz >>> >>> Attempting to GPG sign >>> 'gigaverb~-v1.0-(Darwin-i386-32)(Darwin-x86_64-32)-externals.tar.gz' >>> >>> Traceback (most recent call last): >>> >>> File "/Users/dis/.deken/virtualenv/bin/hy", line 9, in >>> >>> load_entry_point('hy==0.11.0', 'console_scripts', 'hy')() >>> >>> File >>> "/Users/dis/.deken/virtualenv/lib/python2.7/site-packages/hy/cmdline.py", >>> line 347, in hy_main >>> >>> sys.exit(cmdline_handler("hy", sys.argv)) >>> >>> File >>> "/Users/dis/.deken/virtualenv/lib/python2.7/site-packages/hy/cmdline.py", >>> line 335, in cmdline_handler >>> >>> return run_file(options.args[0]) >>> >>> File >>> "/Users/dis/.deken/virtualenv/lib/python2.7/site-packages/hy/cmdline.py", >>> line 210, in run_file >>> >>> import_file_to_module("__main__", filename) >>> >>> File >>> "/Users/dis/.deken/virtualenv/lib/python2.7/site-packages/hy/importer.py", >>> line 78, in import_file_to_module >>> >>> eval(ast_compile(_ast, fpath, "exec"), mod.__dict__) >>> >>> File "/Users/dis/.deken/deken.hy", line 672, in >>> >>> >>> >>> File "/Users/dis/.deken/deken.hy", line 394, in main >>> >>> (defn main [] >>> >>> File "/Users/dis/.deken/deken.hy", line 650, in _hy_anon_fn_63 >>> >>> >>> >>> File "/Users/dis/.deken/deken.hy", line 412, in _hy_anon_fn_62 >>> >>> (command arguments >>> >>> File "/Users/dis/.deken/deken.hy", line 352, in _hy_anon_fn_57 >>> >>> (let [[package-filename (make-archive-basename args.source >>> args.version)]] >>> >>> File "/Users/dis/.deken/deken.hy", line 608, in _hy_anon_fn_56 >>> >>> >>> >>> File "/Users/dis/.deken/deken.hy", line 356, in _hy_anon_fn_55 >>> >>> (gpg-sign-file archive-filename) >>> >>> File "/Users/dis/.deken/deken.hy", line 237, in gpg_sign_file >>> >>> (defn gpg-sign-file [filename] >>> >>> File "/Users/dis/.deken/deken.hy", line 243, in _hy_anon_fn_37 >>> >>> (do-gpg-sign-file filename signfile >>> >>> File "/Users/dis/.deken/deken.hy", line 458, in do_gpg_sign_file >>> >>> >>> >>> File "/Users/dis/.deken/deken.hy", line 467, in _hy_anon_fn_35 >>> >>> >>> >>> File >>> "/Users/dis/.deken/virtualenv/lib/python2.7/site-packages/gnupg.py", >>> line >>>
Re: [PD] MIDI specifications for Multidimensional Polyphonic Expression (MPE) in Pd
2016-03-02 3:06 GMT-03:00 Ingo: > Damn, that sucks! > > Wish they would have asked me! > ? :) what's going on? ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Re: [PD] How's Pd limited?
My struggles with it are not really limitations of pd. It's the way I have went about modelling a polyphonic synthesizer and using the tcl controls as MVC then making the controls a part of the preset machine. Everything is available for me to break the view away from the DSP its just that there are some pretty nifty things going on with the view. For instance there are toggles that change the range of the envelope ADR controls so you can have 1s,3s, 10s, and 30s controls. This is dynamic controls. Another is a dial or knob that is quantized and the range changes depending on the number of intervals the scale has per equivalence interval or what I like to call the xTave , it is used to offset the frequency in a quantitative way in steps of the scale. It doesn't matter if the intervals are specified in cents ,JI,or an edo. The scales all end up in an frequency ratio list. So the knob is used to like the "tune" or "pitch" knob yet instead of continuous or cents adjustment it allows an offset based on the scale. There are 2 banks of oscillators and only one uses this kind of control, the other is just a regular dial that offsets by a floating point. At this point of development it was found that there were way too many controls and being attached to the presets as well as the synthesizer's realtime adjustments. So Instead of making more controls I tried to reduce the amount of controls by changing the send and receive names dynamically. I guess it works for controls that are not dynamic but gets really complicated for the controls that have their properties change at runtime. Here is a thread about it. http://forum.pdpatchrepo.info/topic/5724/dollar-signs-in-objects-and-messages Also some discussion in this list. That can be solved once the controls are broke free from the presets and DSP. Making everything FUDI friendly with super neat message boxes and routing of messages through the first inlet like that can be seen in Miller's multi pickup guitar effects monster and patch repository or MAX/MSP XFM~ will be quite the task. Those are great examples of how patching should be. Branching away from puredata? Using javascript and the web browser dynamic html to make controls for the fractal sequencer. As well as a xenharmonic sequencer, a Moments of Symmetry(Erv Wilson) matrix generator to go along with Erv's mosedo.pdf There are 2 versions of it , one without the FUDI to pd stuff https://ia601408.us.archive.org/1/items/mosedo.html/mosedo.html?p=17=7 , the other with and another expected soon that works with any generator. The edo MOS are finite and are the "Well Formed" set of MOS, Finally Andrew Milne figured out how to calculate the cardinalities without using continued fractions or brute force. So now it is quick to generate the non rational MOS alongside the closest approximating "Well Formed" MOS using very simple code which took forever to even comprehend on paper with pencil. Things like this are complex for me with pd Now that the algorithm is coded up in javascript a pd version would be simpler to make however , having this part of the puzzle in the browser will make it easier for a general audience to use. The new text object makes things like a database of modes easy to access in pd and also is easy enough to implement a user interface with the entire list on a webpage. In pd a simple abstraction that increments an index for sets with {p} tones, an index for the modes of sizes {s} , then the index into the modes {m} with s number of notes within scales having p tones. Example: from http://www.huygens-fokker.org/docs/modename.html 14 tone equal modes: *2 3 2 2 3 2*Quasi-equal Hexatonic *2 1 2 1 2 1 2 2 1* Gould Nonatonic *1 2 1 2 1 1 2 1 2 1* Decimal-10 *2 3 3 3 3*Godzilla-5 *2 2 1 2 1 2 1 2 1* Godzilla-9 *3 2 2 3 2 2*Hedgehog-6 *1 2 2 2 1 2 2 2* Hedgehog-8 *3 3 2 3 3* Semaphore-5 *1 2 3 2 1 2 3*Superpelog-Pelog *1 2 1 2 1 2 1 2 2*Superpelog-9 p=14, s=6, m=0*: 2 3 2 2 3 2*Quasi-equal Hexatonic m=1*: 3 2 2 3 2 2*Hedgehog-6 For this set it is not too much to cycle through the entire list but for 12 and 31 edo there are many more modes. Would probably be ok to only divide the entire list up in files with the all the modes in scales with p tones instead of splitting up the list further. The list was easy to add user interactive tags and mouseover functions that send the selected mode to the synthesizer in javascript and html. With the text object the user interface is a little different. It's only a float atom index into the list, a canvas display for the currently selected item in the list. , and a bang to send the mode off to where it can be used vs the entire interactive scrollable list in the browser. Some of the modes are specific to other scales that are Just Intonation as well as cents rather than equal
Re: [PD] communication with system ...
IOhannes m zmoelnig wrote: On 2016-03-02 12:20, oliver wrote: both objects are very old and i just wanted to ask, if there's a little more "up to date" way to do this how would you envision an "up to date" way to run a system command? how would it differ from what you have now? recently i'm just trying to avoid as much 3rd party externals as possible (probably trying too hard), as i don't know how long they will work in future PDs. (happened for example with the VASP library - fortunately there's iem_tab that covers most of VASPs features) also (being on both windows and linux) i always need compiled .dll files for externals, that are sometimes hard to find or outdated. - probably with vanilla objects only. [netsend]/[netreceive] and a second process running a bash-loop that receives any commands via "pdreceive", evals them and send them back via "pdsend". probably not what you are looking for, though i have used this in the past (as it gracefully handles stalling and crashing processes). yeah, i read about that method. probably really a good way to go, as that would also be platform independent. did you use python for that ? (i really don't need PD to be a jack-of-all trades software, i like it as simple as it is, i just wanted to check all possible "windows to the outer world". midi and osc are working fine, but a direct connection to the system is sometimes also necessary.) thanks for sharing ! oliver ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Re: [PD] communication with system ...
On 2016-03-02 12:20, oliver wrote: > both objects are very old and i just wanted to ask, if there's a little > more "up to date" way to do this how would you envision an "up to date" way to run a system command? how would it differ from what you have now? (i could think of: query some cloud-based service via REST and get the answer back in JSON. that should be doable with "PuREST JSON", but i don't know any web-service for such a thing) > - probably with vanilla objects only. [netsend]/[netreceive] and a second process running a bash-loop that receives any commands via "pdreceive", evals them and send them back via "pdsend". probably not what you are looking for, though i have used this in the past (as it gracefully handles stalling and crashing processes). fgamsdr IOhannes signature.asc Description: OpenPGP digital signature ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Re: [PD] communication with system ...
[system] is windows compatible Le 02/03/2016 12:20, oliver a écrit : hi, all ! what is the most recent and/or stable method to talk to the operation system (i.e. command line operations sended from PD to windows or linux) ? so far i'm aware of 2 objects that do this: [system] by the motex library [shell] by the ggee library [system] is a bit mysterious as it seems to do things right, but doesn't really give a return result. [shell] on the other hand ouputs directly to his outlet only, so it is useable for "ls" commands etc. both objects are very old and i just wanted to ask, if there's a little more "up to date" way to do this - probably with vanilla objects only. best oliver ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
[PD] communication with system ...
hi, all ! what is the most recent and/or stable method to talk to the operation system (i.e. command line operations sended from PD to windows or linux) ? so far i'm aware of 2 objects that do this: [system] by the motex library [shell] by the ggee library [system] is a bit mysterious as it seems to do things right, but doesn't really give a return result. [shell] on the other hand ouputs directly to his outlet only, so it is useable for "ls" commands etc. both objects are very old and i just wanted to ask, if there's a little more "up to date" way to do this - probably with vanilla objects only. best oliver -- /// http://pendler.klingt.org // \\\ http://oliver.klingt.org \\ LIVE-BUILDER (music improvisation tool): \\ // http://tinyurl.com/qaohv35 // ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Re: [PD] Announcing native Pd patch display in MobMuPlat Android
On 02/28/2016 06:33 PM, Daniel Iglesia wrote: Hi all, A little while ago, I released a version of MobMuPlat for iOS with native Pd patch rendering. https://itunes.apple.com/us/app/mobmuplat/id597679399?mt=8 Now, I'd like to announce that feature has come to Android as well! https://play.google.com/store/apps/details?id=com.iglesiaintermedia.mobmuplat Please let me know of bugs, incongruities, and other issues via the github issue tracker https://github.com/monkeyswarm/MobMuPlat/issues or via direct email contact. Good news, but will you provide a direct .apk download? The link on www.mobmuplat.com seems to give the old version. L.Willkomm ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list