Re: [PD] Pd Tutorial redesigned
On Sat, Jul 11, 2009 at 06:13:01AM +0200, ydego...@gmail.com wrote: b/ i think tutorials are basically producing people making the same kind of music and/or visuals, every library has its own help, why would you need to be guided from A to Z? result would be just another clone, like people learning to play guitar playing beatle's songs... not what i'm interested in,,, Maybe you can think of these kinds of tutorials as a 'gateway drug' to harder Pd usage. Keep on provoking, Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
[PD] Pd-extended bug
Hi, At RjDj we're interfacing Pd with Python using a wrapper I wrote, and one of the developers had this bug report when he tried it with Pd-extended (not realising that there is another type of Pd). We're going to be using vanilla only, but I thought I should send a heads-up to the list anyway incase someone else runs into this Pd-extended weirdness. The bug report below doesn't happen on Pd-vanilla at all. See the attached files to try and replicate it. Basically it seems like Pd-extended is crashing, or not starting at all with Pd default command line args. Best, Chris. - Forwarded message from Martin Roth - From: Martin Roth To: Chris McCormick chr...@rjdj.me, Resent-Date: Thu, 09 Jul 2009 17:31:56 +0200 I have trouble being able to load pd from the command line with the -open flag, pointing at the relevant scene. That is, pd seems to load normally (though strangely showing only the console and not the editor gui). There is the following command line output: tk scaling is 0.999016715831 Pt_Start() called When I try to send the patch a message from python (to a netreceive object in pd), then python (using Chris' PdSend object) then I receive the following error: pdSend.Send(hello) error: uncaptured python exception, closing channel Pd.PdSend connected 127.0.0.1:30321 at 0x6f648 (class 'socket.error':(32, 'Broken pipe') [/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/asynchat.py|initiate_send|219] [/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/asyncore.py|send|331] [/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/asyncore.py|send|331]) On the other hand, if I open PD and load the scene manually, then everything works fine. Thoughts? -Martin - End forwarded message - --- http://mccormick.cx test.pd Description: application/puredata from time import time import os import os.path from PodSix.Pd import Pd start = time() print launching pd pd = Pd(nogui = False, open = os.path.join(os.getcwd(), data, test.pd), port=30321) def Start(): pd.Send(My test message) print running a bunch of stuff for 30 seconds while time() - start 30: #if time() - start 20 and not pd.connected: # pd.Connect() pd.Update() if started: yo in pd.messages: print Running connect pd.Connect(Start) if pd.messages: print pd.messages.pop() print time() - start # print update print exiting pd pd.Exit() print done from os import environ, kill, wait, read from subprocess import Popen, PIPE import sys import signal import asyncore import asynchat import socket import select # Copyright Chris McCormick, 2008 # LGPL class PdSend(asynchat.async_chat): def __init__(self): self._cache = [] self._socket = None def Connect(self, addr): self._socket = asyncore.dispatcher() self._socket.create_socket(socket.AF_INET, socket.SOCK_STREAM) self._socket.connect(addr) asynchat.async_chat.__init__(self, self._socket) [self.Send(d) for d in self._cache] def Send(self, data): if self._socket: asynchat.async_chat.push(self, .join([str(d) for d in data]) + ;\n) else: self._cache.append(data) class PdReceive(asynchat.async_chat): def __init__(self, parent, localaddr=(127.0.0.1, 30322)): self._parent = parent self._socket = asyncore.dispatcher() self._socket.create_socket(socket.AF_INET, socket.SOCK_STREAM) self._socket.set_reuse_addr() self._socket.bind(localaddr) self._socket.handle_accept = self.handle_accept self._socket.listen(1) def handle_accept(self): conn, addr = self._socket.accept() asynchat.async_chat.__init__(self, conn) self._ibuffer = self.set_terminator(;\n) self._parent.Connect() def collect_incoming_data(self, data): self._ibuffer += data def found_terminator(self): data = self._ibuffer.split( ) self._ibuffer = method = getattr(self._parent, 'Action_' + data[0], None) if method: method(data) else: print no method for input, data class PdStderr(asynchat.async_chat): def __init__(self, fd, parent): self._fd = fd self._parent = parent self._ibuffer = self.set_terminator(\n) def Update(self): for fd in select.select([self._fd], [], [], 0)[0]: self._ibuffer += fd.read(1) if len(self._ibuffer): if self._ibuffer[-1] == \n: self._parent.Error(self._ibuffer[:-1]) self._ibuffer = else: self._parent.PdDied() class Pd: Spawns an instance of the Pure Data program and manages communications with it. errorCallbacks = {} def __init__(self, port=30321, nogui=True, open=_main.pd, cmd=None): nogui is a boolean which specifies whether to start Pd with or without a gui. Defaults to nogui=True open is a string which specifies a pd file to open on startup. cmd is a message to send to the pd interpreter on startup. # print .join([pd, nogui and -nogui or , open and -open '%s' % open or , cmd and '-send %s' % cmd or ]) self.connectCallback = None args = [pd, -stderr
[PD] Pd livecoding cheat sheet
Hey PdPeople, There's going to be a livecoding event here in London and I wanted to use Pd to do something. I was wondering if there is a Pd cheatsheet around? E.g. a graphical display of common Pd idioms (counters, opening sound files, etc.) which I can keep next to my screen since I am so forgetful? Ideally I'd like to do a set using no abstractions at all. If not, I guess I should start one. Best, Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Pd livecoding cheat sheet
Hi! Probably the best person to contact is Alex Maclean http://yaxu.org/ who is the organiser, as far as I know. Blank pages looks trÚs cool. :) Chris. On Mon, Jul 06, 2009 at 04:17:39PM +0200, matohawk wrote: Hello Chris, I don't have any answer about your questions but I have a project who called Blank Pages. This project is to organize sessions of improvisation with Pure Data without any preparation. All the participants must start with a blank pages in Pure Data. For more informations, go to website : www.blankpages.fr That will very a good time to organize a session in London. Is that possible? Cheers Thomas Chris McCormick a écrit : Hey PdPeople, There's going to be a livecoding event here in London and I wanted to use Pd to do something. I was wondering if there is a Pd cheatsheet around? E.g. a graphical display of common Pd idioms (counters, opening sound files, etc.) which I can keep next to my screen since I am so forgetful? Ideally I'd like to do a set using no abstractions at all. If not, I guess I should start one. Best, Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
[PD] [OT] [andquitestupid] Re: [PD-announce] Markov chains on footils.org
On Sat, 23 May 2009 14:17:19 +0200 Frank Barknecht f...@footils.org wrote: there's a new little Pd tutorial online on footils.org, this time it deals with Markov chains: http://footils.org/cms/weblog/2009/may/23/markov-chains-pure-data/ On Sat, May 23, 2009 at 09:23:57PM +0100, Andy Farnell wrote: Nice Frank, a textfile is a good way to store, edit and import data. Maybe the pic at the top there could be a link to Mr Markov http://en.wikipedia.org/wiki/Andrey_Markov Now *that* is a mustache. One thing I feel we need more of in the Pd world is zany hairdos. I was thinking of doing another fork-of-Pd-with-a-clever-name called Pure Abundance Volumizing Shampoo Data to encourage this, who's with me? Procrastinatingly yrs, Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Slow cpu/RJDJ patching approach ...
On Tue, May 26, 2009 at 03:34:51PM +0200, Frank Barknecht wrote: Hallo, danomatika hat gesagt: // danomatika wrote: My point is, I wish pd didn't force me to work it's way but allow me to work my way. That's the beauty of patching as opposed to vsts, etc. You have to build form the ground up. Well, Pd is a programming language, and as with all language, you can say things you'd have wished you didn't say or with programming: It easy to overload any machine (bang until) with a programming language. I have to say that with most programming languages an infinite loop does not mean an X crash. Probably I should contribute code, not words (sorry). Best, Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Slow cpu/RJDJ patching approach ...
On Tue, May 26, 2009 at 04:30:24PM +0200, Frank Barknecht wrote: Hallo, Chris McCormick hat gesagt: // Chris McCormick wrote: On Tue, May 26, 2009 at 03:34:51PM +0200, Frank Barknecht wrote: Hallo, danomatika hat gesagt: // danomatika wrote: My point is, I wish pd didn't force me to work it's way but allow me to work my way. That's the beauty of patching as opposed to vsts, etc. You have to build form the ground up. Well, Pd is a programming language, and as with all language, you can say things you'd have wished you didn't say or with programming: It easy to overload any machine (bang until) with a programming language. I have to say that with most programming languages an infinite loop does not mean an X crash. Probably I should contribute code, not words (sorry). I never had X crash with bang-until, so that's new to me. However a loop in an audio language can be worse than in a normal programm, as software like Pd often is run with higher priorities to get better latency performance. Of course then an endless loop is a bit trickier to get out of. :( Wow, I am so wrong. Please forgive me for this FUD! Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] GIT repo
On Sat, May 16, 2009 at 12:28:01PM -0700, Miller Puckette wrote: I don't know offhand how much trouble it would be to set up a git repository on sourceforge, but if it were there I'd be happy to keep it in sync with mine. Hi Miller, Isn't it a feature of distributed version control systems like git that you can push/clone a copy of your branch to a web location? I know this is true of bzr, where I can just go: bzr push stfp://mccormick.cx/www/blah/ - I am sure there is something similar for git (I think it's clone) and then you could keep your repo synced directly on the Pd download page. This would make it much nicer for those of us who want to branch and hack on Pd's source code, and would also make it much easier to contribute patches against cutting edge Pd, back to you. Best, Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] list of creation arguments
Hi Jonathan, On Sun, Apr 26, 2009 at 11:47:46PM -0700, Jonathan Wilkes wrote: Hi list, Here's a pd-vanilla subpatch that outputs an abstraction's creation arguments as a list. Just copy and paste pd arguments to your abstraction and it should work. It will output a single bang only if no creation arguments are supplied, so you can check whether they exist or not. I offer it as a kind of condensed alternative to Matt Barber's approach that was posted awhile back (which I cannot find at the moment). Whoa, this is pretty intense dynamic patching-fu. I'm really impressed! Thx for sharing. Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] symbolarray
On Fri, Apr 17, 2009 at 03:52:33PM +0200, Frank Barknecht wrote: Hallo, lsw hat gesagt: // lsw wrote: Looks pretty useful. Also a great structures example. Btw.: To fill the symbolarray [list-enumerate] from [list]-abs is great. [symbolarray] also is pretty fast if you have to lookup something in large lists. I tested it with an arraysize of 100,000,000 elements, which takes roughly 300 MB RAM according to my system monitor (with all elements except the last one empty). Creating the array takes several seconds, but looking up the final element happens instantly afterwards. The other Pd-vanilla ways I know to implement this are textfile-dumps with rewind+[until] or [select]-constructs or [list-idx], which all are unusable with arrays of these sizes. And of course the patch can be modified to look up any kind of list whose structure is known. Now we still need maps/hashes. Maybe this is something close: http://lists.puredata.info/pipermail/pd-list/2008-03/060712.html Best, Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Looking for a gig in Barcelona
Yo, My laptop died one day before leaving for Bcn so sorry I didn't get to meet you Pd guys. Maybe next time! Best, Chris. On Sat, Mar 28, 2009 at 03:08:51PM +0100, lluis gomez i bigorda wrote: hi Chris, we use to organize an open workgroup (just as relaxed sessions) of pd in hangar http://hangar.org/drupal/?q=content/general-information http://maps.google.com/maps?f=qhl=esgeocode=time=date=ttype=q=hangarsll=41.37329,2.166978sspn=0.005048,0.010782ie=UTF8ll=41.408183,2.197094spn=0.005045,0.010782t=hz=17iwlo every thursday starting arround 19:30, you are welcome, I'm personally more focussed on video stuff but I'm forwarding this message to other musicians of the group ... best, ll. En/na Chris McCormick ha escrit: Hi All, Forgive me if this should be marked [OT], but I use Pd for my live stuff so I guess it's not. :) I'm going to be in Barcelona for two weeks starting Monday, and I'd love to play a live set while there. Maybe someone who knows the electronic music scene in Bcn. can help me out? Best, Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] [OT] Re: DIY GSoC: getting those projects done
On Tue, Mar 31, 2009 at 10:27:07PM -0400, Mathieu Bouchard wrote: On Tue, 31 Mar 2009, Chris McCormick wrote: Then I'd like the DSP stuff not to be a special case, but rather a library you can import. It's not much of a feature. It might be a sign of a more modular design, but what would actually you do with Pd that'd require DSP to be separated like that? Maybe similar things to what you can do with pipes on the unix command line. Except times ten. Next I would like it if the graphs were represented by a data structure that doesn't suck (e.g. an associative array not a textfile) so that it would be possible to pass the network definition (e.g. the patch) itself through another network to dynamically create and modify patches. This new representation of a patch should be serialisable as JSON or similar This makes no sense to me. a JSON serialisation is already a textfile, and the .pd file format is already a serialisation of some data structure. Actually, that data structure may suck, but it's very replaceable by some other structure, but that doesn't affect the file format. I have made a version of Pd that replaces linked-lists by something I called t_boxes which is defined using a C++ associative array structure: struct t_boxes : t_gobj {std::mapint,t_gobj * map;} Way cool. But really, the file format is the same. I had planned a new file format but it was 99% compatible with Pd. I don't believe that we'd have to switch to JSON just before it's newer. If you're complaining about the format of the IEMGUI constructors, that's a different problem. This is not part of the .pd format by itself: it's a subformat. You can abuse another format in the same way, be it JSON, XML, YAML, LISP data, TCL data, other text formats, binary formats. The way that IEMGUIs are saved could be fixed without having to change the Pd format, really. It just needs a bit of imagination. And then, the only code you'd need to change would be the code of IEMGUIs, just as if they were still externals. For example, IEMGUIs could save themselves using Flext-like attributes or GridFlow-like comma-messages, which are two styles of named-arguments in use in Pd (the latter is actually more like a [initbang] with a messagebox). No, that's not at all the reason I think that a format like JSON or YAML would be useful. It's more to do with patches being more widely and easily parseable, mashable, etc. It's to do with interoperating with more programs than just Pd itself. Sure, we could do this and that, and we could use 'a bit of imagination' but the current format of Pd patches is not friendly or popular. I'd rather have a patch format that plays nice with other programs and is easily human readable. so that it's easy to modify by hand and to parse, and to save to disk, or send across a network. Well, you'd have to explain how JSON is going to be any easier to modify, parse, save and send, because I don't see it. How many parsers are there which read Pd patches? One mainly, maybe other obscure ones which I don't know about, and some that I have written which nobody knows about. How many parsers are there for the JSON format? Hundreds, in hundreds of different languages. Especially because when you say JSON, there's nothing that tells me exactly how JSON is going to be used for that. In any case, the differences between the many ways that you can use JSON for that, parallel the differences between the many ways Pd's syntax could be used. Yep, I get what you are saying, but you are unfortunately wrong. Nobody cares about Pd's syntax except our small band of merry Pd people. Even your point about not knowing how JSON (or YAML or whatever) is going to be used is irrelevant because of the gain in interoperability with other programs and people. The details of how Pd patches are represented in a new format are not as important as the idea of using a popular, human friendly, and widely parseable format to represent them. JSON would be nice as it's supported by web frameworks, whcih means you could do super-cool stuff like websites Maybe it's just me... I'm not especially web-centric... well, I use the web a lot, but haven't done any serious web development in this millenium... so far. I'm very conservative when it comes to web2.0 and that kind of hype, but I am a big fan of standards and interoperability. I've thought many times about starting to code this language, and have actually hesitantly started a couple of times, but very quickly I realise what a massive undertaking it is and stop. Well, every person has their favourite way or dream way to encode data, but it doesn't mean it's enough of a reason to redo things. When I thought about all those things about format modifications I considered that it's easier to go in the direction of the grain, that is, to use the same parser that is already used all over Pd
Re: [PD] [OT] Re: DIY GSoC: getting those projects done
On Mon, Mar 30, 2009 at 11:28:40AM -0400, Mathieu Bouchard wrote: On Sat, 28 Mar 2009, Chris McCormick wrote: When I was thinking about writing a general purpose dataflow programming language which addresses some of Pd's shortcomings, I did a lot of thinking about the hot and cold inlet paradigm. What I came up with was the following [snip] conditions are met: * Every cold inlet has been pinged (receives data) * Any hot inlet has been pinged (receives data) * Inlets cache their last received data if no new data arrives. In Pd, DSP inlets act like the 'cold' inlets above Well, perhaps you should rename 'neutral' inlets to 'cold' and find another name for what you call 'cold'. Even then, DSP inlets still don't work like your 'cold' inlets because of how they combine together a fan-in (several wires to one inlet) and because of how they handle a non-connected inlet. Ah yes. In this hypothetical dataflow language in my head, whenever you try and fan cables either in or out, the patcher would automatically turn the fan into a sort of 'bus' of connections like Pd's [t] object. In other words, in this language it would not be possible to fan connections. A default behaviour for incoming fans would be to sum inputs (like DSP fans do now), but this would be easily configurable to 'replace' instead of 'add' as current message in-fanning does. Hmm, maybe I haven't thought that through enough. I like the idea of this behaviour being defined by the class author, but (re)configurable by the user. Then this would need a special 'run' method to be defined in t_class, preferably outside of the normal method-list. At first thought I think I'm in favour of reconfigurable inlets, but I'd like to see a proof-of-concept first. I don't think all the features I'd like in a general purpose dataflow language can even be added to Pd without serious mangling. For a start I'd like the basic data types that all modern languages support like associative arrays, strings, etc. Then I'd like the DSP stuff not to be a special case, but rather a library you can import. Next I would like it if the graphs were represented by a data structure that doesn't suck (e.g. an associative array not a textfile) so that it would be possible to pass the network definition (e.g. the patch) itself through another network to dynamically create and modify patches. This new representation of a patch should be serialisable as JSON or similar so that it's easy to modify by hand and to parse, and to save to disk, or send across a network. JSON would be nice as it's supported by web frameworks, whcih means you could do super-cool stuff like websites which read/write/modify/run patches in your browser, or build patches that use a website to share data between multiple connected clients. Netpd would be really nice in this new language. Lastly, it should feature multi-processing out of the box. Not asking for much, am I? :) I've thought many times about starting to code this language, and have actually hesitantly started a couple of times, but very quickly I realise what a massive undertaking it is and stop. I have too much other work. I guess it would be possible to build the kernel of the lgnaguage with no GUI quite easily, but the hard bit would be the 'batteries included'. Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] [OT] Re: DIY GSoC: getting those projects done
On Mon, Mar 30, 2009 at 06:36:04PM +0100, Claude Heiland-Allen wrote: Mathieu Bouchard wrote: At first thought I think I'm in favour of reconfigurable inlets, but I'd like to see a proof-of-concept first. IIRC the [lexpr] pdlua example has reconfigurable hot/cold inlets, but that's implemented by hand. Not sure I like the idea of a run method, what if there's more than one reasonable run action? In Pd terms that means a different action is taken depending on the input, such as float, list, specific symbol, right? So in this hypothetical language the run method could written to do something different depending on the datatype or content of the incoming data, just like it is in Pd. Or maybe I missed your exact meaning? Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
[PD] [OT] Re: DIY GSoC: getting those projects done
On Thu, Mar 26, 2009 at 10:42:25AM -0400, Mathieu Bouchard wrote: No, this was about how [expr] can be a replacement for even a small network of objects. If you make an abstraction that does ($f1-$f2)*($f5-$f4)/($f3-$f2)+$f4, with just [+] [-] [*] [/] for example, then if you change some things in the cold inlets, the changes might not propagate to the bottom. This means you have to add a [pack 0 0 0 0 0] of the whole thing and [unpack 0 0 0 0 0] to ensure every hot-inlet is retriggered in the proper order. Actually, in this pack/unpack dance, maybe you can skip the hot-inlet of the abstraction (?), but apart from that, you're pretty stuck using pack/unpack if you want life to be simple. Else you can weave a mess of [t b f] objects like a spider on caffeine. That's what I mean. When I was thinking about writing a general purpose dataflow programming language which addresses some of Pd's shortcomings, I did a lot of thinking about the hot and cold inlet paradigm. What I came up with was the following scheme: * Hot inlets are red * Cold inlets are blue * Neutral inlets are grey * A class has a default hot/cold/neutral inlet configuration defined by the author. * The UI allows the user to change the hot/cold/neutral status of inlets. * An instance's 'run' method is executed when any of the following conditions are met: * Every cold inlet has been pinged (receives data) * Any hot inlet has been pinged (receives data) * Inlets cache their last received data if no new data arrives. In Pd, DSP inlets act like the 'cold' inlets above, message inlets which aren't the leftmost message inlet [usually] act like 'neutral' inlets above, and the leftmost inlet [usually] acts like 'hot' inlets above. I like the idea of this behaviour being defined by the class author, but (re)configurable by the user. Best, Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
[PD] Looking for a gig in Barcelona
Hi All, Forgive me if this should be marked [OT], but I use Pd for my live stuff so I guess it's not. :) I'm going to be in Barcelona for two weeks starting Monday, and I'd love to play a live set while there. Maybe someone who knows the electronic music scene in Bcn. can help me out? Best, Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] DIY GSoC: getting those projects done
Yo, IIRC, one of their complaints from last year was that our application had too many parts. Next time we should pick just one or two specific tasks and go with them. Maybe with a community vote or whatever. Also, I hate to be cynical, but I can't see any way even remotely in which Google could use Pd to make a profit. ;) Thanks for your huge effort anyway, Hans and Georg. Best, Chris. On Sun, Mar 22, 2009 at 11:33:55AM -0400, Hans-Christoph Steiner wrote: That is indeed true. I suppose it wouldn't hurt to nag google, and it might even help. But I don't think it would change this year's outcome. I think the key to getting a grant like this is to know what they are looking for and tailor the grant to that. It would be useful if someone tried to find any materials from the successful projects and report back what they learned. I tried to do that in the past. .hc On Mar 20, 2009, at 4:01 PM, Rich E wrote: Of course it would be nice to do the projects regardless of funding, but in reality they just won't get the same attention to detail and thoroughness. I don't have a job except through grants like this.. I'm still all for making apython libpd module... but who knows when summer rolls around and i'm broke. Do you think it is any good to question/complain to google about not getting accepted two years in a row? I looked at some of the other project pages and not only is the pd application just as good, I think the proposed projects are much more valuable to the open source community. I don't want to name anything in specific, but I saw some well funded projects that only proposed various bug fixes, that were accepted (literally there is a project that says go through the bugs list and fix whatever you can). regards, Rich On Thu, Mar 19, 2009 at 12:08 PM, Hans-Christoph Steiner h...@eds.org wrote: So now we have a nice collection of projects sketched out from the GSoC application, let's encourage people to take them on. If anyone wants to get involved with Pd development, take a look at the project ideas and if you are interested, then ask about them on the list and we can get started. http://puredata.info/dev/summer-of-code/GoogleSummerOfCodeIdeas2009 I think next time someone else should take on the GSoC application process. I'm 2 for 2 at not getting it, I've never had much luck with grants. And we have lots of well-sketched out projects. We should probably chuck the application part and start from scratch. .hc All mankind is of one author, and is one volume; when one man dies, one chapter is not torn out of the book, but translated into a better language; and every chapter must be so translated -John Donne ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list Programs should be written for people to read, and only incidentally for machines to execute. - from Structure and Interpretation of Computer Programs ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] here I go again..dynamic abstractions
On Tue, Feb 10, 2009 at 11:57:06AM -0500, Mathieu Bouchard wrote: But it does make a lot more sense if we don't think about how else it could have been and instead just accept it as it is... the winter sunshine, cold hands connecting boxes; Pd crashed again. [bang(/[until], Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] escape space character
On Sun, Feb 08, 2009 at 10:05:31PM -0500, Hans-Christoph Steiner wrote: On Feb 8, 2009, at 9:29 AM, Mathieu Bouchard wrote: On Sat, 7 Feb 2009, y wrote: I'm against adding a general escape mechanism, because I think it's better to find a design that obviate teh need for it... see also: http://lists.puredata.info/pipermail/pd-list/2005-07/029546.html http://lists.puredata.info/pipermail/pd-list/2005-07/029556.html Basically, it's really rare among popular programming languages to get away with not having some kind of escape mechanism or else something nearly equivalent to an escape mechanism which isn't taking much more room than a plain string. In Pd, your only way to handle this without editing .pd files in a text editor, is to use multiple objects just for constructing the string... and before Pd 0.40 it also required externals. Do you have any examples of full-fledged languages that don't have an escaping mechanism? Escaping mechanism would be rad. Also nice would be built-in support for the following data types/structures: * string * array of arbitrary (e.g. non-numeric) data * associative array * nested versions of the above Also nice would be a standard syntax for expressing these data such as json or yaml, or something similar to C or another modern language. Pd's symbols-delimited-by-spaces approach is one of the big reasons why building synthesizers effects is the only task I ever choose Pd for. Luckily it does that task extremely well. The other reasons are lack of introspection, and lack of dynamic patching that is non-buggy and consistent. (oh, and the fact that [netsend] and [netreceive] are both one-way communicators that should have been a single two-way communication external). Almost every modern language has at least one of these basic features, and that is why I still stubbornly refuse to call Pd a programming language. It may be turing complete, but it's not useful for general purpose programming. It definately could be though, and the irony is that if it supported all of these general programming language features, it would be a lot easier to build synthesizers too. Note that I criticize it because I love it. :) Best, Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] here I go again..dynamic abstractions
On Fri, Feb 06, 2009 at 10:51:38AM +0100, IOhannes m zmoelnig wrote: Rory Walsh wrote: Thanks IOhannes. I'll be happy soon I feel. If I understand correctly, by changing the names of the GUI's receive symbol to $0-tgl-1 and then using that symbol of '$0-tgl-1' as a send everything should be hunky-dory? I'm afraid it's still not working as I expect, I get a load of error: 0-tgl-1: no such object whenever I try to send a message with that symbol. I've attached an updated abstraction. If I can get this to work its going to really simplify my crazy abstraction. you are violating the 3rd rule of $-expansion: there is no $0 in message-boxes. Just to be a bit more verbose than IOhannes: if you need to get a $0 into a message box, you need to use $1 and a regular object box with $0 before it like this: [bang( | [$0] | [$1-hello my message( Best, Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] communicating with the shell
On Wed, Jan 28, 2009 at 02:26:13PM +, Rob Canning wrote: (it would be really nice to have an object for communicating with the shell that is not buggy.) [snip] also this method is fine for sending stuff to the shell but what about getting results back from the shell? like a bang when the process is finsihed or the result of a pwd command? i thought about pipeing | the output of the shell into a pdsend on another port but that seems messy? anyone got solutions to these issues? or anyone with the skills agree that [shell] should be fixed or rewritten and included in another lib? As a fan of vanilla Pd, I was delighted when Claude posted this: http://lists.puredata.info/pipermail/pd-list/2008-03/060702.html Attached is a concrete example of this for your specific use case. It allows you to run arbitrary commands on your shell and get the results back into Pd. I know you said that this seems messy to you, but I feel that Claude's way is actually quite elegant. Untar the attached, and then do: pd -open runme.pd ; sleep 5; ./listener Have fun! Best, Chris. --- http://mccormick.cx puredata-bash-communicator.tgz Description: GNU Unix tar archive ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Hiding bits of the subpatch
On Sat, Jan 10, 2009 at 09:32:32PM -0600, Mike McGonagle wrote: One thing I noticed is that when you click to open and close these gadgets, it will leave the patch in a dirty state, and it will ask you if you want to save the patch before closing it. Yeah, that sucks for sure, I forgot all about that. Would be great if it was possible to send a message 'clean' to a patch to undo the dirty flag. Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] reusable snippets with key commands WAS: left mouse click abuse
On Mon, Jan 05, 2009 at 02:24:23PM -0500, Hans-Christoph Steiner wrote: - a folder with pd patches named after file extensions, wav.pd, txt.pd, ogg.pd, etc. The contents of the patch would be paster at the cursor position when you drag-n-drop a file of that type onto the canvas. Really dig this idea! Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
[PD] Hiding bits of the subpatch
Hey Pders, Luke's recent data structures gui posts inspired me to take another look at what is for me the holy grail of GOP guis in Pd - hiding bits of the gui selectively, so you can make simple looking guis which expand out to show more complicated options at the user's behest. Attached is a patch that gets this to work through what appears to be a weird bug in the interaction between Pd and tcl/tk and some internal-message jiggery. Anyway, enough yammering, see the attached patch. Click 'show_hide' to show and hide the number box on the right. You can use the numberbox on the left to slowly slide the gui in and out to see it working slowly. For some reason this only works if you use a [line] to slowly change the size of the GOP, otherwise nothing gets hidden. Well, that is if it works at all for you. Best, Chris. --- http://mccormick.cx hide-patch.pd Description: application/puredata ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] left mouse click abuse
On Sun, Jan 04, 2009 at 01:38:30PM +0100, y wrote: Chris McCormick wrote: If I recall, there was a neat video posted ages back, probably by Chun or Matju, which illustrated some of the cool UI stuff possible in Max with some plugin. Sorry to be so vague, I can't remember the link. Maybe one of those guys could post it again? I guess you're talking about this: http://www.youtube.com/watch?v=fcqF9hDNoJk Awesome, yes thanks! I really hope Miller gets a chance to watch this video and also to investigate the work that Chun and Matju did which Frank has posted. Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] left mouse click abuse
On Sun, Jan 04, 2009 at 03:19:32PM +0100, Frank Barknecht wrote: Hallo, marius schebella hat gesagt: // marius schebella wrote: speaking of max features. to draw connections from one object to several objects ... Ah, fanning connections. I try to avoid them. Yep, but as discussed by DesireData guys, it could be possible to automatically insert a [t a a a] when needed. But that is getting pretty fancy. Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Ubuntu vs. ubuntustudio?
On Sat, Jan 03, 2009 at 01:38:58PM +0100, João Pais wrote: Another note: what window managers do you advise? I find the simple, low-cal approach of fluxbox / enlightenment better as the sugar-puffed gnome etc. Any remarks against using any of these? By the way, one of the things that puts me off of linux is that it takes so much *'%$ time to get going. So, reliability is also a parameter. Agree about the time thing under Linux. I was a longtime blackbox and then fluxbox addict, but I've gone soft in my old age and use Xfce now. It's about as fast (maybe faster) and configurable as fluxbox but gives you some of the nice features of Gnome and friends, without the bloat. The bloat is actually optional as you can elect to start gnome and kde services on startup, but you don't need them at all to function. Also, you don't have to edit any config files if you don't want to. Additionally, Linux finally got a file browser that doesn't suck (it's about as good as Explorer.exe) in Thunar, Xfce's default file browser. `apt-get install xfce4` Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] left mouse click abuse
Hi Miller, I'm really digging the direction this is going. If I could just chip my 2c into the fray: I have to agree with Frank that being able to select a tower of object boxes and then click a key combination to connect them by patch cords would be useful, as would a keystroke to auto-space things horizontally or vertically. I also agree with Tim that Blender's same-key select/deselect toggle feels very natural. I would vote for ctrl-A both selecting all and deselecting all. If I recall, there was a neat video posted ages back, probably by Chun or Matju, which illustrated some of the cool UI stuff possible in Max with some plugin. Sorry to be so vague, I can't remember the link. Maybe one of those guys could post it again? Best, Chris. On Sat, Jan 03, 2009 at 03:07:24PM -0800, Miller Puckette wrote: except what if you move the mouse and then decide you want to make a connection to a new object? We'd need a way to return to the earlier state. shift-numerals might be a problem because in many places the numerals already require the shift key. cheers Miller On Sat, Jan 03, 2009 at 11:26:12PM +0100, marius schebella wrote: Frank Barknecht wrote: Hallo, Frank Barknecht hat gesagt: // Frank Barknecht wrote: Ha, that's cute, though it needs some getting used to, but I guess that will come quickly. I just tried it with creating a [f ], then press Ctl-1 and type mod 16, press C-1 again and type + 1, neat. After my initial enthusiasm has faded I must also say, that certain patching habits now fail miserably. I'm used to moving the mouse in advance to where I want to put the next object for objects that should not be connected to the previously created object. Example: Lets say I want to create a row of number atoms like this: [0\ [0\ [0\ [0\ [0\ [0\ [0\ this should be easy: if the mouse moved between the last ctl-3 and the following, then place the object at the mouse position without connection, if the mouse did not move, then assume the user is in keyboard patching mode and place the new object below the old one and connect it. I also thought about using ctl+shift+number to create a connected object. don't know if that combination is used by an OS? or use ctl-k to toggle between keyboard only mode and mouse+keyboard mode. on my mac I would like to use ctl-home and ctl-end to cycle through the possibilites of connecting two objects. don't know about other OS. plus the other features below (select multiple objects and align them or connect them) would be nice, too. cheers, marius. Traditionally I'd do a sweeping movement with the mouse going left to right and sometimes press Ctl-3 and click. The new auto-connections make this very hard now. I guess I would prefer auto-connections and auto-alignments happen afterwards, e.g. I create these [0\ [mtof] [phasor~] [cos~] then select the four objects, say the magic words and then it would transform into this: [0\ | [mtof] | [phasor~] | [cos~] Ciao ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] left mouse click abuse
On Sun, Jan 04, 2009 at 01:34:48PM +0100, Frank Barknecht wrote: Hallo, Chris McCormick hat gesagt: // Chris McCormick wrote: I'm really digging the direction this is going. If I could just chip my 2c into the fray: I have to agree with Frank that being able to select a tower of object boxes and then click a key combination to connect them by patch cords would be useful, as would a keystroke to auto-space things horizontally or vertically. I also agree with Tim that Blender's same-key select/deselect toggle feels very natural. I would vote for ctrl-A both selecting all and deselecting all. So instead of doing auto-placements and connections as default, user-initiated operations should be preferred, i.e. a better Tidy up and a Connect all selected objects as proposed. Totally agree, and I also advocate using keystrokes/menu options to initiate these operations. It should always be possible to use Pd to manually lay things out just like you can now. Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] [PD-announce] pd 0.42-0 test 08 released
On Tue, Dec 30, 2008 at 10:50:13AM +0100, Frank Barknecht wrote: Miller Puckette hat gesagt: // Miller Puckette wrote: Pd 0.42-0 test 08 is out on the usual http://crca.ucsd.edu/~msp/software.html and on subversion in SourceForge. pow~, log~, exp~, abs~ - thankyou, thankyou, thankyou, thankyou! ;) Rock n' roll! Andy will be pleased. :D Incidentally, if you haven't had a chance to check out his book then do so. It's very awesome: http://aspress.co.uk/ds/ Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] a flawed Gem (Was: Re: pdp/pidip on win32?)
On Sun, Dec 21, 2008 at 12:03:28AM +, Claude Heiland-Allen wrote: Wondering if there are any plans for dataflow on the GPU in Gem? By this I mean that a patch cord would be a representation of pixel data transfer paths on the GPU, and objects would process pixel data on the GPU. I also do not mean using depth first message passing as a mechanism to shoehorn OpenGL state machine into Pd without concern for dataflow semantics (sorry if that sounds harsh - but it's the most counterintuitive aspect of Gem imo). Also cool would be to have streams of geometry data flowing down the wires. In other words, an OpenGL scenegrapher for Pd. At the top of your chain you'd have a 'cube' object which would output the geometry for a cube every frame. Further down you would have geometry and colour and texture modifiers, and these would terminate in a [draw] object, which would render the resulting geometry. This is basically GEM flipped upside down. This has been discussed on the list before but never went anywhere. Maybe I should talk less and code more. :) Best, Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] ehu abstractions to be released
Yo, On Tue, Dec 16, 2008 at 06:43:07PM -0500, Hans-Christoph Steiner wrote: There is a third option: people can release libraries like 'cyclone' as libdirs. Then you could just download the right one and drop it into place to install it. Cool, I will check out libdirs and see if I can package my s-abstractions stuff like that. That said, I wouldn't be dropping a binary version of [cyclone/prepend] into my system any time soon. Libdirs don't solve what is a fundementally bad idea - using [cyclone/prepend] in place of [list prepend]. This reminds me of a similar discussion that happens in Java-land. Lots of people still swear by Java 1.0. Sure, you can do what you need, but newer versions of Java are widespread and have more shoulders of giants included to stand on. I like to think that I'm not a luddite, and that I embrace progress as much as any technophile, but to cast pd-extended in the role of next best thing to happen to Pd is arguable. I for one definately don't see pd-extended as the newest version of Pd. I see it as an alternative distribution which provides lots of extra functionality. I am a big fan of Python's batteries included philosophy, which I think is what you are advocating with pd-extended, but it should be noted that the Python maintainers draw the line somewhere. They don't compile every single possible library out there into a giant monolithic release. Since you mention Java let me frame my argument in terms of that language. If I was writing some code in Java I would always prefer using classes from the core of Java, over using 3rd party libraries, wherever possible. I would do this because if I want to port my Java program to a webserver, or embedded system, or mobile phone, I am much more likely to be able to easily port it if I use the core Java language. Additionally, if I release my source code, others will be able to use it far more easily if its only dependency is the core of Java. The less dependencies there are, the more robust my library becomes in terms of places where it can be ported. To me this is the identical situation to what we've been talking about. If users start using [cyclone/prepend] in their patches instead of Pd's built-in [list prepend], then they immediately make their patches less portable to other Pds. That is all I am saying: favour Pd builtin's wherever possible so that your patches will be as widely distributable as possible. Sorry to bang on about this, but I am still arguing this point because I want to make sure that your bad advice doesn't influence other Pd users into making bad decisions and making everyone's life more difficult. I am not trying to be harsh here, but rather I am trying to be honest about my motivation for persisting with this thread. Thanks again for all your hard work with pd-extended, though! Definately appreciated (even though I don't use it, just like you don't use RedHat). Best, Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
[PD] Master of Prayer
Hi all, A while back I posted about a project I helped out with which utilised Pd (and several other bits of Free Software). There is a video online now about the project here: http://www.glickinternational.com/video/12/ or a direct link to the .mov file: http://www.glickinternational.com/downloads/3/Master_of_Prayer.mov Some of things said are not 100% technically correct, but I had left the country by the time they filmed it. :) Sorry for the proprietary video codecs, but I didn't have a say in that. Enjoy! Best, Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] bitcrusher?
On Tue, Dec 23, 2008 at 10:22:10AM +0100, ydego...@gmail.com wrote: someone here in the workshop ask for the bitcrusher vst plugin for pd ? is it available in some way? ( better with basic pd objects ) Hello, maybe one of these will make the sound they want. I think the second one is a traditional bitcrusher, and the first one is more of a dynamic downsampler. http://mccormick.cx/viewcvs/*checkout*/s-abstractions/s-bitcrusher~.pd?root=svn http://mccormick.cx/viewcvs/*checkout*/s-abstractions/s-fuzz~.pd?root=svn Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] ehu abstractions to be released
On Sun, Dec 14, 2008 at 12:15:26PM -0500, Hans-Christoph Steiner wrote: On Dec 14, 2008, at 6:38 AM, Chris McCormick wrote: On Thu, Dec 11, 2008 at 01:33:41PM -0500, Hans-Christoph Steiner wrote: On Dec 11, 2008, at 4:19 AM, IOhannes m zmoelnig wrote: altern wrote: Hans-Christoph Steiner(e)k dio: You can force the version by using the namespace prefix: [cyclone/counter] [cyclone/prepend] [iemlib/gate] this is what i am doing. i think that solves the issue. i think even better would be to use built-in objects. in the case of [gate] and [prepend] this maps to one (or 2) built- ins, so no need for strange prefixes. Except [list prepend], which I consider a stranger prefix. :) I still prefer [cyclone/prepend] since you don't need to add [list trim] to keep things in the same format they came in as (at least for the things I seem to do regularly.) Thereby rendering even the simplest of your patches completely useless to me, or anyone else who is a Pd-vanilla fan. I can understand using externals when they are neccessary, such as doing something with weird hardware, or some algorithm that is slow in pure Pd, but I really can't understand using an external in a situation like this. Your choice though, I guess. Myself, I prefer to make my patches as portable as possible to the widest range of Pd users (pd-extenders included). Sorry if I sound grumpy; not getting too much sleep here in Berlin. :) If you compile cyclone as a libdir and stick it in 'extra', then using [cyclone/prepend] is fully compatible with Pd-vanilla. Great. Any objectclass that is not included in Pd-vanilla is an external, whether it is written in C, Pd, etc. For example, even if s- abtractions or list-abs use only pd-vanilla object, when someone uses them, they then have an external dependencies. Yes, for sure, but are a couple of big difference between using s-abstractions or list-abs in your composition and spreading [cyclone/prepend] willy-nilly throughout your patches. First, using abstractions is a simple matter of copying a folder, whilst cyclone requires compilation and linking of bloating 3rd party software into my sleek, pristine Pd binary, or using pd-extended, which I choose not to do. It also means that if I use your patches in my own work, I am straight away demanding that my users install pd-extended, or go through the painful compilation exercise. They probably don't even have a compiler installed. This issue escalates rapidly if every Pd user follows the advice you are giving out. Soon we have all kind of people using all kinds of crap, and forcing everyone else who wants to use their patches to do the same. It's a bad way to make software. Second, and a much more important reason, is that a perfectly good prepend exists in vanilla. As soon as you start using cyclone/prepend for the very dubious advantage of having to make one less [list trim] object, you instantly alienate me and others like me. My aim is to make my code as compatible as possible, while taking advantage of all the good code that other people have written, like s- abstractions and list-abs. But there is no standard way to set up externals when using pd-vanilla, so it is not really possible to support. Read the archives to see all of the problems running other people's patches. That's why Pd-extended was started, to have a standard platform. Pd-extended is great. It's excellent to have that standared platform. All I am advocating is preferring the 'lowest common denominator' as far as possible. I am saying that you should follow Occam's Razor when making patches, and make them as simple and widely portable as possible. I am definately not saying that you shouldn't use externals, libdirs, other libraries or whatever when you need to. I understand completely the need for externals in many situations, but I also think that it's bad practice to use an external when a builtin will do. I am actually just putting forward a very common computer science precept; reuse. Spare a thought for us poor chumps in vanilla land. :) Best, Chris. ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] ehu abstractions to be released
On Thu, Dec 11, 2008 at 01:33:41PM -0500, Hans-Christoph Steiner wrote: On Dec 11, 2008, at 4:19 AM, IOhannes m zmoelnig wrote: altern wrote: Hans-Christoph Steiner(e)k dio: You can force the version by using the namespace prefix: [cyclone/counter] [cyclone/prepend] [iemlib/gate] this is what i am doing. i think that solves the issue. i think even better would be to use built-in objects. in the case of [gate] and [prepend] this maps to one (or 2) built- ins, so no need for strange prefixes. Except [list prepend], which I consider a stranger prefix. :) I still prefer [cyclone/prepend] since you don't need to add [list trim] to keep things in the same format they came in as (at least for the things I seem to do regularly.) Thereby rendering even the simplest of your patches completely useless to me, or anyone else who is a Pd-vanilla fan. I can understand using externals when they are neccessary, such as doing something with weird hardware, or some algorithm that is slow in pure Pd, but I really can't understand using an external in a situation like this. Your choice though, I guess. Myself, I prefer to make my patches as portable as possible to the widest range of Pd users (pd-extenders included). Sorry if I sound grumpy; not getting too much sleep here in Berlin. :) Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] API for manipulating a patch in real time
Hi Miller, On Wed, Dec 10, 2008 at 09:12:23AM -0800, Miller Puckette wrote: I can imagine simply writing an example program to do this (putting some boilerplate first and then a rewritable main at the end). It would look more like this: /* don't touch me */ /* but replace the following with your code */ main() { pd_startthread(arg1 arg2...); /* do anything you want */ pd_send(foo bang;); /* etc */ pd_endthread(); } ... the idea would be that pd itself would live in a subthread and you'd be able to send messages to it and even somehow get return callbacks. This wouldn't be like pd~ at all, since in this scenario Pd would open audio and MIDI as needed and schedule itself (with pd~ the subprocess slaves itself synchronously to the parent). Another restriction would be that you could only have one Pd thread (it isn't thread-safe!). On the other hand, this would work fine in Windows, which pd~ doesn't (since windows appears not to offer pipes unless you add a library with funny licensing restrictions.) Would that be a useful thing to have? That would definately be a great start! An example program would be fantastic for now. So would this have to be compiled against Pd sources, or would Pd object files be archived in a .dll or .so files and then this main function would dynamically link against that? The latter would be preferable, but anything along these lines is really excellent. Eventually it would be really cool to be able to go apt-get install pdlib or pd-dev and then link programs against Pd. It would also be great for programs to be able to control everything, so they could actually schedule Pd 'ticks' themselves, and they could get the contents of Pd's output buffers for mixing with their own audio stream or whatever. (Isn't that what Spore does?) I guess small steps first. :) Thanks for your work! Best, Chris. PS You might like to look at how Python handles pipes on Windows. As far as I know Python is bundled with an executable called 'w9xpopen.exe' which helps with interprocess communication. I might be way off the mark here though. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] API for manipulating a patch in real time
On Wed, Dec 10, 2008 at 09:05:16AM +0100, IOhannes m zmoelnig wrote: Zach Dwiel wrote: Hello first of all, there is no official API. It would be so nice if there were an easy way to invoke Pd as a library from within other code. I know it's possible to do this (Spore, pd~, RjDj, Pd browser plugin), it's just that it requires writing a bunch of non-trivial support code that must be re-written every time. It shouldn't have to. Pd -nogui could and should be as easily invokeable as any other library. For example, I just wish it was possible to go: #include pd.h *PDInstance pd = make_pd_instance(); pd-init(/* ..args.. */); while (1) { /* Do stuff here */ pd-schedloop(); /* Do other stuff here */ pd-sendMessage(;my-receiver bang;); } Ok maybe not quite as easy as that, but I reckon you'd see Pd used as the audio engine for loads of other apps and games if this was simple. There has already been interest from e.g. the Blender project and the several other apps that already embed Pd. If this is already easy and I have just missed something obvious, please let me know. (Sorry for not contributing code.) Best, Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] reading the textlist of the patch I'm in...
On Sun, Dec 07, 2008 at 03:39:43PM +0100, IOhannes m zmölnig wrote: hi ed. Ed Kelly wrote: Hi chaps, I've come up against something I can't solve without a deeper understanding of pd's internal structure, I wonder if anyone can help. I'm trying to build patches that know about each instance of themselves when called as an abstraction, without the specification of creation arguments to identify multiple instances of the same patch. Basically I want to read the list of the ultimate parent from memory, like you would if you read the pd patch into a text editor such as emacs. I often edit patches in such an editor,and I find it allows access to information about the patch in a sequential form that is hard to get in PD (how many obj(ects) there are and in what order, what they are etc.) and now I am trying to build patches that extend themselves in realtime, I need to be able to read the patch I'm in. you probably want to have a look at the iemguts, which i just presented here at piksel. one of the basic goals of this libs is to add some kind of self awareness of abstractions. I think the proper name for this is 'introspection', unless I misunderstood. Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] svn:externals
On Fri, Dec 05, 2008 at 01:06:32AM -0500, Hans-Christoph Steiner wrote: What about the idea of having a separate section like /pure-data/svn- externals? I like that as it would solve my immdiate problem of people finding out of date s-abstractions in the pd repo and not require me to do periodic imports. Let's hope people don't get confused between externals and externals. Best, Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] svn:externals WAS: an easy way to replay a Pd-session (gui)
Hi Hans, On Tue, Dec 02, 2008 at 12:41:46PM -0500, Hans-Christoph Steiner wrote: I think it's time to have a IRC meeting about this. How about Thursday? I am trying to be in #dataflow as much as possible these days, if anyone wants to have an impromptu discussion. I am happy to meet on IRC, but it will have to be outside work hours for me here at GMT. Otherwise the weekend is good, but I think maybe this is something that can be solve on-list. I really think you hit the nail on the head with this paragraph: My question remains, what is the problem we are trying to solve using svn:externals? If it is to include code that gets built with Pd- extended, then svn:externals doesn't work well for that, just importing releases works much better. If it is to make a centralized place to find all Pd code, then I wonder if there is a better tool for this, like a special section of SVN for svn:externals outside of trunk or a wiki page. Can you answer me this: do you see the primary function of Pd public SVN as supporting pd-extended builds? If this is the case, then we need a different part of the repository where external writers and abstraction creators can store their code/patches independent of pd-extended. The reason we need this is that whilst pd-extended is a wonderful project, and definately neccessary, not everyone in the Pd world runs it and probably some people aren't even interested in seeing their work as part of pd-extended, but they are definately interested in participating in the development community of Pd. We can't just have a wiki page as that doesn't suffice for people who want their code versioned inside the world of Pd code but aren't interested in pd-extended. What about if SVN was the central place where Pd and related code lives, and there was a sub-place within that where pd-extended keeps its source? Most definately snapshots/tags of the former could be copied via standard svn commands into the latter to make them part of pd-extended at stable release. This would probably help with co-ordinating and versioning too. You could tell people we are coming up for a pd-extended release, please copy your latest tags into the pd-extended folder or do this yourself for code that you maintain. I guess the crux of what I'm saying is that I don't see the Pd svn trunk as being == to pd-extended. I see pd-extended as being a part of the ecosystem living in the svn trunk. I don't think it's fair for one project to be 100% the boss of trunk. In fact, I find it kind of annoying that once upon a time I could check out people's code from the svn and compile it independently, whereas last time I tried I couldn't do it as a bunch of environment variables weren't set and stuff. I had to hack giant complicated makefiles just to compile one simple external. Please excuse me if I've missed anything obvious or said anything stupid, and feel free to correct me if I am misguided or wrong about the position of pd-extended in the repository. Maybe it's all just semantics. But I guess semantics are important in human communities. Loving the broken paradise, :) Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] an easy way to replay a Pd-session (gui)
On Tue, Dec 02, 2008 at 12:17:44PM +0100, IOhannes m zmoelnig wrote: Chris McCormick wrote: You will almost certainly not like this solution, but you can use my [s-totalrecall] and [s-tr-node] abstractions to record a full session of knob-twiddling to play back later. I use this to record my live sets and then replay them later, off-stage. thanks for mentioning these. indeed they are not what i want. i want to capture a live-coding session rather than knob-fiddling. Oh I see what you mean. Cool idea! i noticed that both abstractions are missing from the puredata repository at sourceforge. after some googling i found your own repo at http://mccormick.cx. is there any chance to sync the two repositories? (personally i would still suggest an svn:externals link; but let's keep this for later :-)) I did have an out-of-date copy of my own s-abstractions repository in the CVS that I would periodically check-in, but I have been really bad at keeping track of whether that still exists in the new SVN layout, or even how to import it now. I sort of made enquiries about this but Hans replied something like Don't do this unless it's a library. Which I never fully grokked. I agree that an svn:externals link would be a good solution. Best, Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] $0 and Data Structure Templates
On Mon, Dec 01, 2008 at 11:54:34AM +0100, Frank Barknecht wrote: Hallo, Mike McGonagle hat gesagt: // Mike McGonagle wrote: I think this should be allowed, hell, even the use of other $ arguments. It would be nice to be able to allow abstractions to create their own private data structures, or at least ones that could be named based on a creation argument. So what I generally do if I use $0-structs is to not save the data structure instances with write pd-x but traverse and parse them down into [textfile] and use that for storing and reloading. I.e. with I do the same, but I use sssad to store the serialised data which gives the user flexibility about where they want to save it. Check out the [pd load] and [pd save] subpatches in s-nadsr~ for an example of how to do this with datastructures: http://mccormick.cx/viewcvs/*checkout*/s-abstractions/s-nadsr~.pd?root=svn Best, Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] undoing a dodgy cut and paste
On Thu, Nov 27, 2008 at 03:52:57AM +0900, hard off wrote: other than just 'being super careful', is there any way to avoid or fix this problem without moving each individual object by hand??? I use ctrl-Z. :) Best, Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] undoing a dodgy cut and paste
On Fri, Nov 28, 2008 at 03:02:21PM +0100, Damian Stewart wrote: hard off wrote: i'm sure this must have happened to everyone a couple of times: you cut a section of a patch, and paste it into another patch or subpatch. the pasted contents overlay existing parts of the patch, and you go to move them with your mouse while they are still highlighted. however, sometimes your mouse just doesn't hit a part of the highlighted pasted objects, and the highlight comes off, and you're left with a big tangled mess of objects and patch chords. other than just 'being super careful', is there any way to avoid or fix this problem without moving each individual object by hand??? implement multi-level undo in pd.tk j/k but seriously, why can't we multi-level undo yet? Because Miller's dolist is already long, and nobody wrote the patch for multi-level undo yet, and submitted it to the patch tracker. Oh wait, the desiredata guys wrote that UI feature (along with hundreds of others), but it was heavy with other changes and part of a slow, buggy build of Pd, and I don't think there was a huge amount of interest in submitting changes back to Miller, and he probably wouldn't have accepted them anyway. Hooray for community! ;) Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Pd , Ardour and Jack
On Mon, Nov 24, 2008 at 01:03:31PM +0100, xà wrote: what i know,and i tested succesfully, is that you can have a pd-patch that u can use it as a plugin in ardour via jack. Only is needed the audio in/outin the patch, cioè inlet~ // outlet~ that you're able 2 connect in the ardour's audio buses. This is useful because you can make a complex/customize patch for your espetial effects that sometimes is not easy to find in the Ladspa plugins pack :P Hi, This sounds really cool. Do you know if tutorials or links that explain how to set this up for total jack-noobs? Best, Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] how to send named commands/arguments to an abstraction?
Also [sel]. Best, Chris. On Sun, Nov 23, 2008 at 02:36:35AM -0800, Rua Haszard Morris wrote: aha, yes, i had seen it but clearly did't 'get' it. Thanks :) From: hard off [EMAIL PROTECTED] To: Rua Haszard Morris [EMAIL PROTECTED] Cc: PD list pd-list@iem.at Sent: Sunday, 23 November, 2008 10:07:56 PM Subject: Re: [PD] how to send named commands/arguments to an abstraction? i think the object you are looking for is [route] ie: [route file bpm loop .] Easy recipes for Christmas entertaining on Yahoo!Xtra Lifestyle- http://nz.lifestyle.yahoo.com/food-recipes--- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tabwrite~ index parameter
On Sat, Nov 15, 2008 at 02:26:46PM -0500, bsoisoi wrote: Why isn't tabwrite~ able to accept an index inlet (like [tabwrite]) at audio rate? I'm looking to make a tape-loop emulation patch, but its not seeming as straight forward as I would have hoped. Am I missing something, or would there be another way of going about this? On this topic, does anyone know of a nice already-built abstraction that does tape loop emulation? I am talking about modelling classic dub tape-loop delays, or something like that. Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] dynamically set graph on parent option?
On Thu, Nov 13, 2008 at 10:40:49PM +0100, Frank Barknecht wrote: Hallo, altern hat gesagt: // altern wrote: do you mean something like this? http://lists.puredata.info/pipermail/pd-list/2005-05/028394.html i was looking for something more like a proper flag in the object that could be switch on and off, like |pd-mysubpatch gop 1( or something like that... Something like that isn't available, so donecanvasdialog 0 0 $1 is the only way. Don't rely to much on it to stay, though. Also, it sets the dirty flag on your patch, so you can't really use it in abstractions, which is very annoying since it's stops us doing really cool dynamically resizing GOP abstractions. Unless you don't mind re-saving your abstractions every time you use them (bleh). This is a great pity since it is almost possible to do really cool stuff like hide complicated parts of your subpatches with a toggle button. Oh well. Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] dynamically set graph on parent option?
On Fri, Nov 14, 2008 at 11:44:11AM +0100, IOhannes m zmoelnig wrote: Chris McCormick wrote: Also, it sets the dirty flag on your patch, so you can't really use it in abstractions, which is very annoying since it's stops us doing really cool dynamically resizing GOP abstractions. Unless you don't mind re-saving your abstractions every time you use them (bleh). T hmm, you don't have to save your abstractions/patches after you have changed them :-) esp. if i have a final patch dedicated for a performance (series), i would probably not want to save this patch after a performance where i eventually set the dirty flag by whatever action (assuming that i don't have another way to restore the original patch) That's true, but it's still annoying to be asked, especially if you accidentally do save it. Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] scratching my head about zexy
On Thu, Nov 06, 2008 at 01:36:27PM +0100, Frank Barknecht wrote: Chris McCormick hat gesagt: // Chris McCormick wrote: This problem has been 100% solved already: http://www.network-theory.co.uk/docs/pylang/importstatement.html The described way of doing things is a win-win for developers and for users; both get maximum flexibility. I can't think of any good reason why we are still debating this and [declare] and [import] on this list. However: as I understand Miller's intentions, [declare] is not meant to be the same as [import]! [declare -*path] modifies the full Pd search path, which includes the search path for files that are not objects, e.g. soundfiles with no complete path for [soundfiler]. [import] however - if I understand Hans' intentions correctly - only modifies the object search path and loaded libraries. Ok yes, I see. Please excuse my ignorance in that regard. Though I still think that we can look at other languages that have solved this issue. Sorry for my weak contribution! :/ Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] scratching my head about zexy
On Wed, Nov 05, 2008 at 11:39:51AM -0800, Miller Puckette wrote: Well, what I want to be able to do is put max-compatible objects into Pd vanilla (such as gate and scale) without breaking libraries. However, I didn't realize there were libraries out there that named things the same as Pd built-ins, with the intention of not ever getting instantiated under the original name. Maybe, if zexy/pack and zexy/unpack are only meant to be called using their path names, it would be better to specify them as zexy/pack etc. in class_new()? If it isn't possible to alias objects with external libraries, I don't see how I can ever add a class to Pd once some library appears that uses the same name. Ideas, anyone? Hi Miller, This problem has been 100% solved already: http://www.network-theory.co.uk/docs/pylang/importstatement.html The described way of doing things is a win-win for developers and for users; both get maximum flexibility. I can't think of any good reason why we are still debating this and [declare] and [import] on this list. Example: [from max import gate] [from max import scale] [from zexy import *] then [gate] [scale] [pack] - inbuilt is overridden and [import max] [import zexy] then [max/gate] [max/scale] [zexy/pack] - inbuilt isn't overridden I hope this doesn't come across too blunt or unconstructive; I just want to see this issue get solved and disappear. Best, Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] warmest reverb?
On Tue, Oct 28, 2008 at 07:27:55PM -0400, Hans-Christoph Steiner wrote: PS I gotta figure out how to commit s-abstractions into pd-extended one of these days now that we've switched to SVN. Maybe I can do this before the next release? I think the best bet it to start off my making a proper library and distribute that. Ok, cool. Can you define proper library please. Then once it is very stable and not really changing any more, then it would be good to include in Pd-extended. That's some way off, so I guess it's not too important now. These days, I am mostly thinking about how to support libraries really well. That's what needs to happen. Libraries of externals? Best, Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] warmest reverb?
On Sat, Oct 11, 2008 at 01:15:15PM -0400, Hans-Christoph Steiner wrote: I am currently working furiously on a sound design project. I used freeverb since it is quick and easy. But now I want to replace it with the warmest reverb Pd can offer. Any suggestions? Hi Hans, It's probably way too late now, but I recommend Anton Hornquist's [jon~] plate reverb. It's the finest reverb I've heard since [freeverb~] and seems to be way less expensive, and it's available as an abstraction instead of an external you have to compile. I packaged it up for s-abstractions here: http://mccormick.cx/viewcvs/*checkout*/s-abstractions/s-jonverb~-help.pd?root=svn http://mccormick.cx/viewcvs/*checkout*/s-abstractions/s-jonverb~.pd?root=svn As usual it's GOP friendly, and sssad enabled. The reason I took so long to post is because I've been spending all this time turning it into a GOP effect abstraction (in between driving the van across the EU, that is). Anyway, have fun! Best, Chris. PS I gotta figure out how to commit s-abstractions into pd-extended one of these days now that we've switched to SVN. Maybe I can do this before the next release? --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Help with compressor/limiter abstraction
On Sun, Oct 19, 2008 at 09:04:57PM +0200, Damian Stewart wrote: rough but can definately make your beats find The Fatness; I have used them in live shows to make people's ears do backflips. I have a much do you have any recordings of your live sets available to download anywhere? Hi Damian, I have a live set recorded in two parts here: http://www.sciencegirlrecords.com/chr15m/page/discography/live The quality is really pretty shoddy; way too loud and clipped. I haven't played live for a while, but I'm hoping to get some stuff recorded better after I get to London and hopefully play some gigs. Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] 'pure' pd DSP abstractions wanted!
On Sun, Aug 24, 2008 at 08:42:29AM +0100, Jamie Bullock wrote: I'm looking self-contained DSP abstractions that only use Pd - no externals. Things like reverbs, different types of filters, delays, a pitch shifter, harmonizer -- a kind of basic 'FX' toolbox. I'm thinking very much along the lines pdmtl/fx.* but without the external dependencies. Thoughts I've had so far: - Pull stuff out of the Pd help patches - Pull stuff out of the list archives - Remove the dependency requirements from pdmtl/fx.* But, maybe someone has a nice 'set' of such abstractions sitting on their hard drive, that they wouldn't mind releasing into the public domain -- or under some permissive license. Hi Jamie, This has been sitting in my inbox for ages, sorry I never replied to it. My s-abstractions collection is just such a set of abstractions that you describe, with no external dependencies. Much of it was made by stealing Miller's help patches and turning them into nice little guis, and lots of other people's work too. I'm trying to bulk it up a bit at the moment with the great plate reverb that Anton Hornquist posted here a while back, and then I'm going to try and make a good, intuitive compressor after that. If you do a pitch shifter or harmonizer, please let me know so I can steal them for my collection, with your consent obviously! :) http://mccormick.cx/projects/s-abstractions After I get back to London next week I'm going to try and tidy the collection up a bit and get the latest version into pd-extended. I think the version that is in there at the moment is pretty outdated. Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Help with compressor/limiter abstraction
On Tue, Oct 14, 2008 at 07:39:26PM +0200, Frank Barknecht wrote: I'm trying to build a pure-Pd compressor/limiter effect. I followed a chapter in the Csound book a bit (by Marc Resibois), but somehow it's still a bit strange. I would appreciate if someone could test out the attachemend and maybe even enhance it? Hey Frank, Funny, I've been thinking about compression a lot lately. Here are a few abstractions I've been sort of experimenting with. These are pretty rough but can definately make your beats find The Fatness; I have used them in live shows to make people's ears do backflips. I have a much better compressor design in my head that I plan on making for s-abstractions, and I will post if and when I do. Thx to yourself and Gunter for the cool patches to help with that! Greetz from sunny Perugia, Chris. --- http://mccormick.cx s-autocompress~-help.pd Description: application/puredata s-autocompressor~.pd Description: application/puredata s-autocompress~.pd Description: application/puredata ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] [ot] managing distributed development
On Thu, Aug 21, 2008 at 12:09:06AM -0400, marius schebella wrote: somehow the Pd community is a premature ejaculation of next century's political and societal structure. Oh boy, I really hope not! ;) Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] s-abstractions get changed when used
On Tue, Aug 05, 2008 at 06:27:54PM -0500, Dan Wilcox wrote: I've been using s-arranger as a song sequencer for a while and it's been great. As of newer pd-extended 0.40.3 builds, s-arranger objects have been asking to save their contents (Discard changes ...?) on patch close, as if I had opened them and saved to base s-arranger, not that instance. On Aug 9, 2008, at 4:17 AM, Chris McCormick wrote: When I follow your instructions I don't get the discard changes dialog. Seems to work fine for me. I wonder if there is an older, crappier version of it in pd-extended? I'll try to get the version in pd-extended updated some time soon. On Mon, Aug 11, 2008 at 04:56:59PM -0400, Hans-Christoph Steiner wrote: I am cc'ing the list, since this is probably of general interest. This might be related to the dirty flag being set when an IEMGUI's properties are changed. It was changed it so that when the properties of an IEMGUI was changed, the dirty flag was set. I suppose there should be differentiation between it happening with messages and it happening when the user makes the change in the Properties panel. That can't be it because [s-arranger] doesn't have any IEMGUIs that hold state. There are two possibilities: 1. Some older bugger version of s-arranger is in pd-extended because I haven't checked my changes into the official repository for ages. Because of the way that s-arranger is patched, I find this less likely than: 2. There is a bug in pd-extended. Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] ALSA + Edirol UA-25 not working under Fedora 9
On Sat, Aug 02, 2008 at 08:29:36AM +0200, ydegoyon wrote: yes i'm just laughing at people saying : 'oh you use OSS', for on my 3 months old laptop, it's what works the best with a : 00:07.0 Audio device: nVidia Corporation MCP67 High Definition Audio (rev a1) so what ? alsa is so cryptic also why can't they create a /dev/dsp? that would be it, no more blurring, right? Hi Yves, What about when you have multiple sound cards? What about when you want to output sound from more than one program simultaneously? What about when you want full duplex? What about when you need thread safety? Did you know aobut alsa-oss compatability layer? /dev/dsp is a nice and simple approach, sure. Best, Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Idiomatic Pd
On Tue, Jul 29, 2008 at 09:13:38AM +0200, IOhannes m zmoelnig wrote: * When prepending $0 to a symbol, only add a - to separate it from another number, like [r $0-1stSend]. Otherwise the symbol should immediately follow, like [r $0mySend]. I like using a forward slash (/) since this is forwards compatable with the day when OSC externals make it into Vanilla Pd. ;) Aok by me. hmm, even though there surely _are_ uses for a combination of OSC and $0, i guess this is the least common field of application... Ah yes, you are probably right. In general though I find using '/' as a divider more satisfying than '.' or '-' or '_' because it is more consistent with the OSC way and with the whole libdir thing, although maybe that's more confusing than clear. Hmmm. I used to use '-', hence the names of s-abstractions. Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] [PD-announce] some works done with pd
On Fri, Jul 25, 2008 at 08:38:42PM +0200, cyrille henry wrote: for those which are interested, here is some work that i recently made with pd/Gem : http://drpichon.free.fr/ch/article.php?id_article=88 http://drpichon.free.fr/ch/article.php?id_article=80 http://drpichon.free.fr/ch/article.php?id_article=76 http://drpichon.free.fr/ch/article.php?id_article=95 http://drpichon.free.fr/ch/article.php?id_article=94 http://drpichon.free.fr/ch/article.php?id_article=89 Wow! Awesome work. Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Idiomatic Pd
On Sun, Jul 27, 2008 at 06:34:05PM -0700, Luke Iannini wrote: * Sends and Receives are written in camelCase, with R appended to complementary receives (e.g. in GUIs, $0mySlider for the send and $0mySliderR for the receive) Will this even work? I think sends and receives have to be named the same to work. * When prepending $0 to a symbol, only add a - to separate it from another number, like [r $0-1stSend]. Otherwise the symbol should immediately follow, like [r $0mySend]. I like using a forward slash (/) since this is forwards compatable with the day when OSC externals make it into Vanilla Pd. ;) The other suggestions sound good to me. Best, Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Fwd: finding the cause of clicks when using sssad WAS: saving state of a patch
On Wed, Jul 23, 2008 at 04:21:54PM +0100, Si Mills wrote: I hope im not misunderstanding, but doesn't the s-abstraction way of using 'datastore' to change presets eliminate dropouts - Why is there a need for a ram disk? I mean is there a lag between hitting the giant message box and updating all the abstractions? Just to be clear, s-abstractions should not experience any dropouts at all when you use the [sssad/datastore] abstraction. Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] sssad slowness
On Wed, Jul 23, 2008 at 07:45:38AM +0200, Atte André Jensen wrote: Wow. Loads in no time (1 sec), and works perfectly. I had problems with somethings not being restored, but I was relying on $0 as unique identifier in those areas, so maybe that's what bid me. Shouldn't you and sssad's author (Chris?) get together and merge these That's Frank, not me. sssad does not cause any loading slowdowns on my system (Vanilla Pd, not pd-extended - if that makes any difference). Best, Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] [PD-announce] Pd-0.40.3-extended-rc2 released
On Tue, Jul 22, 2008 at 09:56:58AM -0400, marius schebella wrote: Frank Barknecht wrote: $ python Python 2.4.4c0 (#2, Jul 30 2006, 15:43:58) [GCC 4.1.2 20060715 (prerelease) (Debian 4.1.1-9)] on linux2 Type help, copyright, credits or license for more information. sin(0.5) Traceback (most recent call last): File stdin, line 1, in ? NameError: name 'sin' is not defined math.sin(0.5) Traceback (most recent call last): File stdin, line 1, in ? NameError: name 'math' is not defined import math math.sin(0.5) 0.47942553860420301 as opposed to a philosophical one, where I have to explain every word. communication.human.writtenlanguage.english.word.and communication.human.writtenlanguage.english.word.leave In Python you can also say: from math import sin sin(0.5) 0.47942553860420301 or even from math import * so for your examples you'd say: from communication.human.writtenlanguage.english.word import * and leave The reason for this is that if you import absolutely everything into your global namespace by default, you pollute it and cause conflicts and name clashes. This has been discussed several times on the list and is a terrible idea. This has also been solved 100% by languages like Python already, as illustrated by Frank above. Things like [bang] are core types of the language and should probably be imported into the global namespace by default. Best, Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] is $0 the same on every load?
On Tue, Jul 22, 2008 at 10:37:44PM +0200, Atte André Jensen wrote: The reason I ask, is I'd like to use $0 as an unique identifier together with sssad... Is this so you can save and load different groups of pre-sets separately? I have been trying to think of a nice portable solution to that problem, using sssad. I have some ideas, but nothing concrete yet. Best, Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] is $0 the same on every load?
On Wed, Jul 23, 2008 at 07:25:58AM +0200, Atte André Jensen wrote: Chris McCormick wrote: Is this so you can save and load different groups of pre-sets separately? I have been trying to think of a nice portable solution to that problem, using sssad. I have some ideas, but nothing concrete yet. No. I have an abstraction that counts the beats (or 1/8 notes or other note values) and sends out 0, 1, 2, 3 etc for every beat. The idea is to instantiate this for every instrument that needs to know about time. So in one piece it might be two in others 50. A convienient way to store them was simply to refer to $0, since I didn't have to worry about making some unique identifier up for each instance. I understand. You want throw-away auto-ids. I'm not sure if anyone has come up with a satisfactory way of doing that, but I will have a think about it. Incidentally, How I handle timing is I have a global timer [s-metro] that keeps going up and up, and I use [mod 4] to (for example) have a loop of 4 ticks or [mod 32] for 32 ticks. Sometimes I get crazy and add together two [mod]s to get some weird sounding rhythms. Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] saving state of a patch
Sorry to chime in a bit late: On Mon, Jul 21, 2008 at 10:11:23PM +0200, Atte André Jensen wrote: As a workaround you can move the content of extra/sssad into the extra directory or another directory of your Pd-path. Ok, that seems to work. I can even make sssad-example.pd load/restore form file. That's great, now I have something working and play with that and see where it takes me. Contrary to Frank, I like to keep sssad in a directory so I can have a bunch of helper abstractions such as [sssad/auto] and [sssad/datastore]. The latter allows you to store all presets in-patch so you don't have to load and save from files, which is how i roll. Here's a helper post on how I use sssad like this: http://lists.puredata.info/pipermail/pd-list/2006-12/045289.html Also, someone commented that there is no way to store 'banks' of different presets with sssad. That is actually not true, and if you look through the archives you can see an example patch where Frank has done this. Infact, maybe it wasn't Frank, I think this could be the post: http://lists.puredata.info/pipermail/pd-list/2007-04/049452.html? Thanks again to Frank for making the sssad so happy! Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] [nosleep] WAS: how to avoid (most/many/some) readsf~ dropouts
On Fri, Jul 18, 2008 at 08:29:16PM -0400, Mathieu Bouchard wrote: On Wed, 16 Jul 2008, Hans-Christoph Steiner wrote: They are not my namespaces. I neither wrote the code, nor figured out their usage. I just think it is a pretty good system to use. Well, given how much Günter is not there anymore and how much you are there talking about said namespaces, I'd say that they are pretty much yours. They could also be Günter's and yours at once, or only contextually yours to the extent of the conversation that we're having. Whatever it is, I know that you didn't code them, but this is not what I want to concentrate on. Whatever you want to concentrate on, I don't think it's fair to call them Hans' namespaces. There was a lot of discussion on this list and pd-dev about them for a long time, and many developers and users had input into that discussion. I think it's more appropriate to call them 'our' namespaces, meaning the Pd community in general. Just more noise, Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Seam carving audio
On Tue, Jul 08, 2008 at 02:53:56AM -0400, Mathieu Bouchard wrote: On Mon, 9 Jun 2008, Chris McCormick wrote: Something struck me whilst out walking today; has anyone applied the seam carving technique: http://en.wikipedia.org/wiki/Seam_carving www.youtube.com/watch?v=6NcIJXTlugc to FFT data to do a timestretch/timecompress that is more sensitive to attack sounds and note lengths? Compared to the deleting least important columns technique that they show at 1:40, the Seam Carving technique sweeps the distorsions under the carpet. After that, don't wonder what the big lump under the carpet is. Yes, that is the exact point of seam carving. I'm not sure why you're putting a negative lumps-under-the-carpet slant on the idea. When applying the technique to the spectrogram of a song, you should hear it many times more than you'd see it. I take it this is speculation. I am interested to know if anyone has tried it and listened to the results. Perhaps it can be used as an interesting special effect, supposing that what you want to do is mess up the rhythm seriously and turn chords into arpeggios in truly weird ways. However, it will work at the sine wave level, which is somewhat less attractive than if it worked on notes. Isn't part of what makes a note perceptible it's higher energy compared to the surrounding space in the spectrogram? If this is the case, seam carving would delete seams around the notes since they have less energy, whilst preserving the sounds of the notes themselves. This might sound like a mess, but I'd like to hear it. Maybe I sould just do it. Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] raw resampling
On Mon, Jun 30, 2008 at 06:10:46PM +0200, Atte André Jensen wrote: Claude Heiland-Allen wrote: in~ [phasor~ 4410] | | [samphold~] | out~ Ah, of course! Note: this doesn't change the sample rate, but resamples the signal at 4410Hz. Not sure if this is what you want, but it's what I use if I want lots of aliasing... I didn't really expect to have a signal at 4410. Would that have any benefits, for instance with regards to performance? Basically I (like you) just want to hear some alias noise! *shamless plug* http://mccormick.cx/viewcvs/*checkout*/s-abstractions/s-bitcrusher~.pd?root=svn Sssad friendly gui bitcrusher with lots of fun aliasing. Hmmm, I should really make a help patch for her. Best, Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] [pd] where is sssad?
On Fri, Jun 27, 2008 at 07:37:36PM +0200, Frank Barknecht wrote: Hallo, dani hat gesagt: // dani wrote: you mean this? http://mccormick.cx/viewcvs/oldcrap/s-abstractions/sssad/ If your frightended by the oldcrap in that URL (though it's probably harmless), you can get the official version from the Pd SVN at sourceforge in the directory: /trunk/abstractions/footils/sssad Hey Frank, I wonder if it wouldn't be worth putting a very small information page about sssad into the puredata wiki with links to the SVN and how to download it? Just so that people can find sssad using Google. Also, I should probably put an svn:externals link to sssad instead of including it wholesale in my own repository. I guess I could then check my small additions into the main repository. What do you think? Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] [PD-announce] Pd-0.40.3-extended-rc1 released
On Wed, Jun 18, 2008 at 05:57:03PM +0200, Hans-Christoph Steiner wrote: On Jun 18, 2008, at 4:32 PM, Mathieu Bouchard wrote: On Wed, 18 Jun 2008, Hans-Christoph Steiner wrote: These days, I think we should try to make it easy to install and manage external libraries. I don't know what you mean by that. I mean not including everything in one big package, but instead make it easy to package, distribute, and install libraries for Pd. Hi Hans, So does this mean that users in future will download a 'core' Pd (extended) and then separately download and install the different sets of externals that they want to work with, instead of downloading one big monolithic package? I like that because it fits well with the Debian philosophy. Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Size of a table
On Wed, Jun 11, 2008 at 10:03:28AM +0200, IOhannes m zmoelnig wrote: raul diaz wrote: I have a dumb question. What's the best way to get the size of a table? Sometimes I load a lot of samples on tables with soundfiler and I would like to take the size of each sample as a variable in order to use it with phasor + tabread4~. Is there any object which gets the size of a table? well i have a dumb answer: why not use the length output of [soundfiler]? i think that in this case the philosophy of Pd his, that there are 2 ways to change the length of a table: do it interactively (e.g. create a [table bla 1024] or do it programmatically (e.g. via [; bla resize 216() in the first case the author of the software is responsible for using (e.g. hardcoding) the right table-size throughout there patch, in the latter case you could just listen to these programmatical changes). tables suddenly changing there size are beyond Pd :-) There is one situation I have encountered where it would be useful to have a built in [arraysize]. In some of the s-abstractions such as [s-samplepiece~] you have to pass in the table name that you'd like the abstraction to use. This means that at some point the user loads some audio data into the named table (for example using [s-loader~]) and they then know the sample table size. When they create the [s-samplepiece~] playback abstraction they must manually enter the array size as one of the arguments to the abstraction, along with the table name. Inefficient. Best, Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
[PD] MasterOfPrayer
Hi, For the last few months I have been helping my friends Rodney Glick (Artist) and Moshe Y Bernstein (Rabbi) with the technical aspects of one of Rodney's artworks. The artwork, entitled Master Of Prayer will be showing among many other fascinating works in Rodney's exhibition. It opens tommorrow night (Thursday), 6pm at the [Lawrence Wilson Art Gallery](http://lwgallery.uwa.edu.au/) at the University of Western Australia. I'm really excited about this project. I got to use Pure Data, voice synthesis (mbrola), and a network based pseudo-AI (Pd) to help Rodney and Moshe create a really compelling and thought provoking artwork. Here's the blurb that Moshe wrote about it: In the Jewish tradition the full prayer service can be performed only in a quorum of ten adult males known in Hebrew as a minyan. The main part of the service, which occurs three times daily, is the Shmona Esrei, or Eighteen Benedictions. These blessings are first recited silently by the entire congregation. Afterwards, during the morning and afternoon liturgies, they are repeated aloud by the cantor, often referred to as the Ba'al Tefillah or 'Master of Prayer'. In orthodox Judaism any male, whether layman or cleric, over the age of thirteen can lead the prayers. During the repetition of the Shmona Esrei, also called the Amidah, or 'standing prayer', the congregation answers responsively to each of the benedictions recited. In this installation each computer has been individually programmed to respond to the blessings recited by the main computer, the 'Master of Prayer', leading the afternoon Mincha service. Though the installation appears to parody the human condition of prayer by rote, on a deeper level it asks a haunting question about the inherent nature of artificial intelligence. The Jewish sages require kavannah, or 'proper intent' for prayer to be truly acceptable. To the extent that computers can be programmed to 'think', might they not be programmed to this 'proper intent' as well? In a tentative answer to that question, 'Master of Prayer' can be experienced as a high-tech, Jewish version of the Tibetan prayer-wheel or Christian rosary beads. Good night, Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] MasterOfPrayer
On Wed, Jun 11, 2008 at 03:36:44PM +0100, Andy Farnell wrote: I suppose that question depends on whether they believe in silicon heaven. http://www.urbandictionary.com/define.php?term=silicon+heaven Heheh, and whether they dream of electric sheep. Thought provoking though. Does that mean the installation is doing voice recog? No, nothing so sophisticated. The 'Master of Prayer' is reading from a textfile script and communicating with the others over a LAN using Pd's netsend/netreceive. The artist, Rodney Glick, specifically chose blue cables over wifi so that observers were aware that they were communicating with eachother like that. One thing that he really pushed for was for the voices to be synthesised each time, not just played back wav files. So this means that the computers are actually translating the text into speech on the fly more like humans would. I used Mbrola for that because it was the only speech sythesiser I could find that would do the Hebrew language. Moshe, the rabbi, had to spend many hours transliterating the hebrew prayers into a pseudo-TTS textual language which is then massaged into .pho files for Mbrola using a Python script that I wrote. The hebrew text is scrolled along side the strange transliteration language on the screen as the computers read their prayers. Apparently the computers have a quite distinctive French-Israeli accents due to the Mbrola database used. :) The call and response thing, and the monotone of the computer voices (which I arranged on the Phrygian Dominant scale) is really quite spooky to witness. I'll try and get some video of it. Best, Chris. On Wed, 11 Jun 2008 22:17:11 +0800 Chris McCormick [EMAIL PROTECTED] wrote: Hi, For the last few months I have been helping my friends Rodney Glick (Artist) and Moshe Y Bernstein (Rabbi) with the technical aspects of one of Rodney's artworks. The artwork, entitled Master Of Prayer will be showing among many other fascinating works in Rodney's exhibition. It opens tommorrow night (Thursday), 6pm at the [Lawrence Wilson Art Gallery](http://lwgallery.uwa.edu.au/) at the University of Western Australia. I'm really excited about this project. I got to use Pure Data, voice synthesis (mbrola), and a network based pseudo-AI (Pd) to help Rodney and Moshe create a really compelling and thought provoking artwork. Here's the blurb that Moshe wrote about it: In the Jewish tradition the full prayer service can be performed only in a quorum of ten adult males known in Hebrew as a minyan. The main part of the service, which occurs three times daily, is the Shmona Esrei, or Eighteen Benedictions. These blessings are first recited silently by the entire congregation. Afterwards, during the morning and afternoon liturgies, they are repeated aloud by the cantor, often referred to as the Ba'al Tefillah or 'Master of Prayer'. In orthodox Judaism any male, whether layman or cleric, over the age of thirteen can lead the prayers. During the repetition of the Shmona Esrei, also called the Amidah, or 'standing prayer', the congregation answers responsively to each of the benedictions recited. In this installation each computer has been individually programmed to respond to the blessings recited by the main computer, the 'Master of Prayer', leading the afternoon Mincha service. Though the installation appears to parody the human condition of prayer by rote, on a deeper level it asks a haunting question about the inherent nature of artificial intelligence. The Jewish sages require kavannah, or 'proper intent' for prayer to be truly acceptable. To the extent that computers can be programmed to 'think', might they not be programmed to this 'proper intent' as well? In a tentative answer to that question, 'Master of Prayer' can be experienced as a high-tech, Jewish version of the Tibetan prayer-wheel or Christian rosary beads. Good night, Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list -- Use the source --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
[PD] Seam carving audio
Something struck me whilst out walking today; has anyone applied the seam carving technique: http://en.wikipedia.org/wiki/Seam_carving www.youtube.com/watch?v=6NcIJXTlugc to FFT data to do a timestretch/timecompress that is more sensitive to attack sounds and note lengths? Best, Chris. --- http://mccormick.cx ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Getting Sysex output to work on Linux
On Sun, May 25, 2008 at 11:12:24AM -0700, Miller Puckette wrote: Is it out of the question simply to use the OSS MIDI API? That should be the default, and it's much less buggy than the ALSA one. (Apparently, though, there's sometimes a good reason to use teh ALSA one instead, I remember vaguely.) I think that the good reason to use ALSA is that OSS is even more deprecated than [namecanvas], in that everyone is switching away from it as fast as possible. Best, Chris. --- http://mccormick.cx ___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
[PD] Processing ported to browser canvas
Big news! http://ejohn.org/blog/processingjs/ Best, Chris. --- http://mccormick.cx ___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] jon~ (was: Dattorro plate)
On Wed, May 07, 2008 at 12:03:47AM +0200, Anton Hörnquist wrote: Here's jon~, a reverb abstraction based on the algorithm in this article by Jon Dattorro: http://www.stanford.edu/~dattorro/EffectDesignPart1.pdf The allpass bit was taken from pd-list and the help file is copied from Millers rev3~-help and then modified a bit. Any feedback is appreciated. Wow, great reverb! 0% CPU and it sounds sweet. Do you mind if I package it up into a GOP abstraction and include it in my s-abstractions collection (with appropriate credit to yourself of course)? I am playing a set on Saturday and will most certainly make use of this, thanks so much. Chris. --- http://mccormick.cx ___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
[PD] Skilled Pd reverb person wanted
Hi All, I would like to pledge $100 AU (roughly 61EU, 48GBP, 94USD) for someone to re-implement the [freeverb~] external as an efficient pure-pd abstraction which I can include in my s-abstractions collection. I just love the sound of that particular reverb and it really ticks me off that I can't distribute it as part of s-abstractions. You don't have to make it GOPified or anything; a patch that has the audible characteristics of Freeverb, and has the same editable parameters is just fine - I will do the work of tailoring it for s-abstractions. There is a whole heap of info out there on the net about Freeverb and its implementation to help you, including an external which is in the repository. It might even be easiest just to look at the source of the external in order to turn it into an abstraction. Of course you will also be credited in the final patch. The [jon~] reverb just posted by Anton is a perfect example of what I'm looking for in terms of layout, help-patch, and functionality, except with the freeverb characteristics and parameters. Any takers? Chris. --- http://mccormick.cx ___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] schedule a sequence of events
Check out [s-midiloop] for something similar. It's SSSAD saveable! Best, Chris. On Mon, May 05, 2008 at 02:38:38PM +0200, altern wrote: thanks! i also added loop to it. see attached enrike Claude Heiland-Allen(e)k dio: This can be done with [pipe] and [list-drip] from list-abs, no externals required. See attached. Note: this works in Pd-standard ms instead of s, but the fix is trivial. Hope this is useful, Claude altern wrote: hi i needed to schedule a sequence of events, in this case start/stop certain parts of a patch over time. I wanted to be able to pass to an abstraction a list of time intervals (in secs and with variable length) and then get output a series of bangs after each of the intervals. I attach the solution I found, not sure if this is clever or there is maybe something already done for this? I use drip, coll and delay. It receives a list of times like 2 3 0.5 and outputs the index at the right time. In this case after 2 secs outputs num 0, after 3 secs num 1, and after half a sec more outputs num 2. I called it sequence but i bet this name is already taken and it would be wise to rename it with another one. thanks for any feedback or ideas enrike ___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list #N canvas 566 36 318 436 10; #X obj 51 177 list-drip; #X obj 51 228 t b f; #X obj 51 263 f; #X obj 77 263 + 1; #X msg 124 200 0; #X obj 51 153 t a b; #X obj 51 293 pipe f 0; #X obj 134 263 f; #X obj 109 263 +; #X obj 51 128 l; #X obj 102 127 length; #X obj 126 319 select; #X obj 144 127 - 1; #X obj 30 385 outlet; #X obj 128 382 outlet; #X text -2 365 index; #X obj 51 62 inlet; #X obj 184 56 inlet; #X text 232 58 loop; #X obj 126 343 spigot; #X text 89 61 list in secs; #X obj 178 102 tgl 15 0 empty empty empty 20 7 0 10 -260097 -1 -1 0 1; #X text 174 382 bangs on done; #X obj 51 207 * 1000; #X connect 0 0 23 0; #X connect 1 0 2 0; #X connect 1 1 8 0; #X connect 2 0 3 0; #X connect 2 0 6 0; #X connect 3 0 2 1; #X connect 4 0 2 1; #X connect 4 0 8 1; #X connect 5 0 0 0; #X connect 5 1 4 0; #X connect 6 0 11 0; #X connect 6 0 13 0; #X connect 7 0 8 1; #X connect 8 0 7 0; #X connect 8 0 6 1; #X connect 9 0 5 0; #X connect 9 0 10 0; #X connect 10 0 12 0; #X connect 11 0 19 0; #X connect 12 0 11 1; #X connect 16 0 9 0; #X connect 17 0 21 0; #X connect 19 0 14 0; #X connect 19 0 9 0; #X connect 21 0 19 1; #X connect 23 0 1 0; #X coords 0 -1 1 1 95 19 1 100 100; --- http://mccormick.cx ___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
[PD] EU + USA tour!
Hello, (apologies if you recieve this more than once) My wife and I are doing a tour of Europe (in a campervan) and the USA starting at the end of August and I'm trying to organise some gigs for myself. I'm counting on the help of you good folks of the Free Software music oriented lists! I hope you'll excuse the imposition. I've written up a bit of a bio[1] and you can download demo tunes from my music website - see the links below for a selection. Finally, I've put up a tour page on my music site, so please check it out if you're at all interested in having me play at your event or venue, and please feel free to forward this email to anyone you know who might book experimental electronic/dance music. Here is the tour information: http://sciencegirlrecords.com/chr15m/page/tour Please contact me off-list if you are interested. I will be updating the tour page with dates, as I get them. Thanks for your time. Best regards, Chris. [1] bio - http://sciencegirlrecords.com/chr15m/page/bio Tunes to sample: http://sciencegirlrecords.com/chr15m/music/CD004/search_and_rescue.mp3 http://sciencegirlrecords.com/chr15m/music/remixes/your%20love%20is%20like%20tiny%20little%20pixellated%20origami%20hearts%20(the%20bank%20holidays%20-%20folded%20in%20half).mp3 http://sciencegirlrecords.com/chr15m/music/CD005/Chris%20McCormick%20-%20A%20Simple%20Plan.mp3 http://sciencegirlrecords.com/chr15m/music/CD003/ergotchitecture.mp3 http://sciencegirlrecords.com/chr15m/music/CD002/chr15m%20-%20soba%201978.mp3 http://sciencegirlrecords.com/chr15m/music/CD001/Chris%20McCormick%20-%20Poluka%20and%20the%20Android.mp3 http://sciencegirlrecords.com/chr15m/music/CD001/Chris%20McCormick%20-%20Dubious%20Transform.mp3 --- http://mccormick.cx ___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Cyclone in vanilla?
On Tue, Apr 22, 2008 at 09:38:25AM +0200, Frank Barknecht wrote: Note that I also think, the math objects (abs~, pow~ etc.) should be part of Pd, and probably symbol2list. I second this. Miller, what do you think? You have mentioned importing Cyclone into Pd; is it just a matter of yourself not having had the time to do this yet? Would you rather this happened in pd-extended first, or would you accept and apply patches rectifying this and making basic math tilde internals if they didn't conflict with Cyclone externals? Sorry to be so direct! Best, Chris. --- http://mccormick.cx ___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] externals with same names
On Sun, Apr 06, 2008 at 10:53:14PM +0200, Frank Barknecht wrote: Hallo, IOhannes m zmoelnig hat gesagt: // IOhannes m zmoelnig wrote: 2: don't use the full Pd-extended but strip it down to your needs (i personally use a barebone Pd and add 3 or so libraries - i still have an overview about what is loaded...) I'm sometimes thinking about making a pd-condensed fork of pd-extended which includes only externals and abstractions without nameclashes. ;) Same here! It would be good to have a distribution with a maintainer who is slightly less conservative than Miller about what goes in, but still keep it really tight. Maybe it would also be cool to see a democratized version of Pd where externals and libraries must be first nominated and then voted in by some requisite number of positive votes. For this to work I think we'd need to have people for each major GNU/Linux distribution who would do the work of the actual packaging and submission, separate to the building (My aims are totally selfish - I'd love to be able to apt-get install this). Even more talking with no action (sorry Roman), Chris. --- http://mccormick.cx ___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Reminder: PD VideoPedia
On Tue, Apr 01, 2008 at 11:49:44PM +0200, Frank Barknecht wrote: Hallo, B. Bogart hat gesagt: // B. Bogart wrote: Hmm, is this shared account a way of getting around the problem of copyright transfer? Anyone know of a CC/FLOSS utube like thing? (other than the prelinger archives) Why not put this on puredata.info? All that's needed is a flash video player, which is available as Open SOurce like the one on archive.org, and you can convert avis to flv with ffmpeg or mencoder. Is it possible to get an RSS feed of a youtube channel or whatever? You could just syndicate a channel onto the puredata.info site. Chris. --- http://mccormick.cx ___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Hidden folders in PD open/save dialog
On Tue, Apr 01, 2008 at 07:56:29PM +0200, Andre Schmidt wrote: would be very nice if pd used the open dialog of the current system (like gnome open dialog under gnome, windows under windows, etc...) People used to advocate for Pd to use wxWindows or something similar so that every part of it looked native on the correct platform, not just the open dialog. However I think people gave up advocating that as it became apparent how much Pd is tied into tcl/tk. Best, Chris. --- http://mccormick.cx ___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] FUDIKaosDS
On Fri, Mar 28, 2008 at 01:22:19PM +0900, PSPunch wrote: Unless I recall incorrectly, FUDIKaosDS does not rely on the DLDI library as it does not access any external file. Yeah that's right - it does everything via WIFI because I couldn't be bothered figuring out the DLDI stuff. To be honest, I have not tried Knobs Sliders yet, only FUDIKasoDS. Maybe these two binaries were built at different timings, or then again, it may just have been me missing something. I haven't updated my R4 in a while. If it is of interest to anyone, maybe I can give Chris's binaries another try and apologize for causing all the noise if necessary. It may well be that I already recompiled it with the newer wifi libraries and have just forgotten about it. Anyway, if anyone is having trouble with the software please feel free to let me know and I'll try to fix it. Best, Chris. --- http://mccormick.cx ___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] FUDIKaosDS
On Sat, Mar 22, 2008 at 08:09:33PM +0900, PSPunch wrote: Thanks for viewing my work. That post on YouTube was made by me. (shortly after I suggested you a while back to recompile the DS binaries using the later Wifi library adding support for R4) Thanks for making the video available. I am getting an R4 soon, so I'll certainly be re-compiling the binary with the new wifi library so it works with that. Best, Chris. --- http://mccormick.cx ___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
[PD] Associative list
Hello, Just for kicks I implemented a sort of primitive associative array [1] (also called a 'map' or 'hash' in some languages, depending on the implementation) in pure Pd: http://mccormick.cx/viewcvs/*checkout*/s-abstractions/s-map.pd?root=svn http://mccormick.cx/viewcvs/*checkout*/s-abstractions/s-map-help.pd?root=svn It maps symbols/floats to lists. So you can enter a bunch of lists into it and the first element of each list is the key and the rest of the list is the value. You can recall values (lists) by their key. Don't look at the internals or your eyeballs might explode. Hmmm, I wonder if this could be used with SSSAD to make some kind of pure Pd pool/memento replacement? Maybe I'm getting ahead of myself. Best, Chris. [1] http://www.wikipedia.org/wiki/Associative_array --- http://mccormick.cx ___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Associative list
Hi Phil, On Tue, Mar 25, 2008 at 05:11:35PM -0700, Phil Stone wrote: This sounds like a great thing for vanilla Pd. I've had need of something just like this more than once. Great! I hope it comes in handy. Having worked a bit with [pool] recently, especially as it is used in Memento, I'd venture that you'd have to go quite a bit further to match its functionality, though. It's like a miniature in-memory file system, with directories, clipboard editing, and more. It would be laudable to do a pure Memento, but I think much of the hierarchic potential of [pool] for state-saving has barely been scratched, and in that direction Yeah for sure, that was way too optimistic of me. I think trying to re-implement all the functionality of [pool] in Pd would be a huge stretch of Pd and definately not what Pd is best at. [pool] is a great external already - no point in re-inventing the wheel. However I guess what I'm thinking is that it may be possible to extend the functionality of the SSSAD system a bit with this associative list thing to the point where some of the functionality of memento can be brought into SSAD. I guess only Frank can really tell us if this will be any use! Best, Chris. --- http://mccormick.cx ___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
[PD] FUDIKaosDS
Hello, Sorry to blow my own trumpet twice in a row like this, but I just found this video somebody made of FUDIKaosDS in action - that's one of the two bits of software I posted about earlier. This video nicely shows off it's capabilities: http://www.youtube.com/watch?v=fDCYaEc2VL8 It looks like this person is using Pure Data and Gem for the sound and visuals. Best, Chris. --- http://mccormick.cx ___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Alternate Controllers
On Mon, Mar 17, 2008 at 05:43:03PM -0500, Mike McGonagle wrote: Hello all, Over the past few weeks, I have been looking at building a controller for myself, but was curious what other sorts of things others are doing with alternate controllers. What controllers are you using? How are you using them to control your programs? Has anyone considered putting together an Alternate Controllers for PD page? Hi, An alternate controllers page sounds awesome. Someone should get that happening on the Pure Data portal. I wrote some software for the Nintendo DS which allows you to create dynamic interfaces on the DS touch screen and they talk back to your Pure Data patches in real time. It's pretty fun and a super-cheap way of getting lemur[1] style control over your patches. It talks to your patches over wifi and uses the FUDI protocol. There is also a ROM (FUDIKaosDS) which emulates a Kaos pad style interface on your DS. You can download them both here: http://mccormick.cx/projects/KnobsAndSlidersDS/ Have fun! Best, Chris. [1] http://www.jazzmutant.com/lemur_overview.php --- http://mccormick.cx ___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Lua and PD
On Wed, Mar 05, 2008 at 09:45:47AM +0100, Frank Barknecht wrote: Claude Heiland-Allen hat gesagt: // Claude Heiland-Allen wrote: Vast amounts of number crunching, for performance reasons. This includes DSP at the moment, although hopefully Frank's port of Lua~/Vessel~ is a viable alternative (not sure what the current status of that is). It is working fairly well and now that LAC is almost over I intend to work more on it as I want to use it in a project. Vessel is quite fast: All synthesis and number crunching happens in a C-library, while Lua just serves as a kind of text based patching environment for dynamically generating the dsp graphs. This is very handy for granular synthesis or any other tasks that require lots of polyphony. So Vessel can do things that are nearly impossible with Pd patching alone. Really excited to try this out! Chris. --- http://mccormick.cx ___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Google SoC: call for mentors and project ideas
On Mon, 03 Mar 2008 14:30:20 +0100 Georg Holzmann [EMAIL PROTECTED] wrote: We discussed at the LAC that we would like to apply again this year for google's summer of code project, which is about to start today (http://code.google.com/soc/2008/). On Mon, Mar 03, 2008 at 01:41:00PM +, Andy Farnell wrote: I'd be happy to join any team that has a games+audio+Pd proposal as a mentor. I have added this: http://puredata.info/dev/summer-of-code/LibPd Which is my proposal to make it easier to compile the audio-engine part of Pd as a library and link it into your own projects. This has been asked about numerous times on the list, almost always to do with games related projects, and we all know that it's happening already in Spore. Also, this could really help with some of the other SOC projects like PluggoPd, PdVST, etc. so it's highly re-useable. The only problem here is the confusing name; there is already a PdLib project, which in my opinion should be called 'PdExternals' or something, but LibPd seems a very appropriate name for a project for using Pd as a library. I guess I'm happy to mentor this but Andy is probably a better candidate than me if he's interested! Or we could co-mentor - whatevs. Best, Chris. --- http://mccormick.cx ___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] *.lua = *.pd_lua or *.l_lua?
On Wed, Feb 13, 2008 at 02:29:31PM -0500, Hans-Christoph Steiner wrote: Currently pdlua loads all *.lua files, which complicates working with *.lua modules not intended to be used as pd classes: Those would have to be in a directory outside of Pd's search path to not pollute Pd's namespace. So how about using Pd's normal tools for handling name clashes and additionally, using a naming prefix like lib for the lua files that are not intended to be Pd objectclasses (as I described earlier)? Another possibility is using a subdir for these files. The problem is Hans, that this is not a nameclash issue at all. The problem is that *all* .pd_linux and .pd files are meant to be read by Pd as instantiable objects. This is not true for all .lua files. It's obvious that the way around this is to make a new prefix which is always treated by pd-lua like .pd and .pd_linux files are (as an instantiable object), and keep .lua files completely separate and ignored by Pure Data. The existing Pd mechanism and convention for knowing what is instantiable is to use the file extension, which is a perfectly widespread method across many programs and operating systems ('.exe', '.so', etc. etc.). Sure, as yout pointed out earlier, you could put a .dll in a directory and instantiate it in Pd if you want, but nobody in their right mind does that because it's not the convention and causes more problems without fixing any. Adding a lib prefix or moving .lua files into a subdirectory do not solve the fundemental problem which is that currently pd-lua thinks that all lua files are instantiable, when they are quite simply not. It makes no sense whatsoever to have Pd able to load a file type which it's not supposed to be able to load. Sorry to add more noise, Chris. --- http://mccormick.cx ___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Saving Gem output as video file on MacOSX ?
On Wed, Feb 13, 2008 at 09:39:40PM +0100, cyrille henry wrote: marius schebella a écrit : another way to record your performances is to mirror your display and feed the output with a dv camera or some other device. this will limit the quality. recording your actions is brilliant but a lot of effort during patching. in fact, not so much effort. specially if you use this abstractions. you just have to insert a [rec_play_any data_name] on every connections you need to record. then the [master_rec_play] allow you to record everything in a qlist, and play it latter in order to record sound/images. this is known to gives good result. the single magic line i use to create a movie is : mencoder -oac mp3lame -lameopts cbr:br=256:aq=0 -audiofile rec_.wav -fps 50 -ss 0 -ovc xvid -xvidencopts bitrate=5000 -vop scale=640:480 mf://*.jpg -o out.avi [plug] The s-abstractions collection also contains a couple of friendly GOP helper abstractions (called 'total recall') for doing this: http://mccormick.cx/viewcvs/*checkout*/s-abstractions/s-totalrecall-help.pd?root=svn http://mccormick.cx/viewcvs/*checkout*/s-abstractions/s-totalrecall.pd?root=svn http://mccormick.cx/viewcvs/*checkout*/s-abstractions/s-tr-node.pd?root=svn My mencoder script for converting jpg + mp3 to video is attached [and works in Debian Etch]. This will render a perfectly synchronised video for you at the exact framerate of Gem - usually 20fps I think. I made this video with that: http://archive.org/details/Ergates/ [/plug] Best, Chris. --- http://mccormick.cx #!/bin/sh if [ $4 != ] then mencoder -flip -mf fps=$1:type=jpg -o $4 -nosound -ovc lavc -lavcopts vcodec=mjpeg -of lavf -lavfopts format=mov:i_certify_that_my_video_stream_does_not_use_b_frames -audiofile $3 -oac copy mf://$2 #mencoder -mf fps= -ffourcc DX50 -ovc lavc -lavcopts #vcodec=mpeg4:vbitrate=9800:aspect=4/3:vhq:keyint=15 -audiofile #verspuckte_Schlucke.mp3 -oac copy -vf scale=640:480 -o #residuum-verspuckte_schlucke.avi mf://*.jpg else echo Turn jpegs into mjpeg movie with .mov container format. echo Usage: echo $0 framerate inputfilenames mp3 outputmovie.mov echo echo framerate = song length / total frames recorded echo inputfilenames = e.g. '*.jpg' echo mp3 = mp3 file containing the audio echo outputmovie.mov = movie file to write to fi ___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Comments on pd as a library to be used in game
On Tue, Feb 12, 2008 at 11:03:13AM +0100, Pablo Martin wrote: Mmmm, not so sure what you mean (i suppose the pd internal scheduler?), but i guess the whole thing could be put in a thread maybe... don't know why but it's always seemed like it good be a good idea to have pd as a library (after using it too many times as external program)... it'd make such a cool internal sound system. Still... probably we could handle running it as a separate process, but maybe i've had too many bad experiences with that :P I agree that it would be better to run it as a library. I did a bit of an experiment, putting hte following into the Pd makefile in the src directory: libpd.so: $(OBJ) $(BIN_DIR) cd ../obj; $(LD) $(DBG_CFLAGS) -shared -soname ../bin/libpd.so.1 \ -o ../bin/libpd.so -lc $(OBJ) $(LIB) Then I tested it with a Python program something like this: import ctypes pd = ctypes.CDLL(./libpd.so) pd.pd_init() pd.sys_startgui(./pd-gui) Which seems to vaguely work, although I haven't made it make a sound yet. Anyway, I think this could be a good strategy for tying Pd into Blender. I would suggest running Pd in a separate thread and using a mutexed queue to pass it messages which would then be read from the queue inside the same thread where Pd was running and passed into Pd in that thread by using the standard Pd message generating functions. So basically the game engine and Pd-in-a-thread would only communicate by message passing over this mutexed queue which should eliminate deadlocks etc. Best, Chris. --- http://mccormick.cx ___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] pd thunder
On Wed, Feb 06, 2008 at 04:30:19PM +, Andy Farnell wrote: As I see, the unipolar vacuum collapse theory only makes sense, if there is a chemical reaction that removes CO2, H2O, O2 or N2 from the atmosphere, (and one assumes no matter is transformed to energy) - well NO2 and O3 are produced, but that doesn't account for the volume. Really? I'm not so sure about that. http://en.wikipedia.org/wiki/Sonoluminesence http://en.wikipedia.org/wiki/Pistol_shrimp http://youtube.com/results?search_query=pistol+shrimpsearch_type=search=Search Chris. --- http://mccormick.cx ___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list