Re: [PD] Consistency Problem - OS X[intel] - when modifying Abstractions
That means: the only workaround is to use pd-vanilla for now ?? This leads to anoher question: What is the best way then to use pd- vanilla but with the externals and documentation from pd-extended ??? was that discussed before ?? Grüße Luigi Am 10.02.2009 um 03:34 schrieb Hans-Christoph Steiner: With Pd-0.42-4 vanilla on Mac OS X 10.5.6/Intel, I can't reproduce this. With Pd-0.41-4 vanilla, I can. I get one: error: .x34e4d0: no such object .hc On Feb 9, 2009, at 12:19 AM, Jonathan Wilkes wrote: I'm not sure if this is related since I'm running winxp, but I was getting about seventeen of the following errors when closing test.pd on pd-vanilla 0.42-4: error: .xa22a90: no such object if I would: 1) open test.pd 2) right-click and open one of the instances of the ds-tgl 3) click the ds in editmode and delete it 4) save and quickly close the abstraction window (takes about 10 seconds) 5) close test.pd without saving (which takes about 5 seconds) But as you might imagine, putting the ds in its own gop window solved all these problems. -Jonathan --- On Mon, 2/9/09, Hans-Christoph Steiner h...@eds.org wrote: From: Hans-Christoph Steiner h...@eds.org Subject: Re: [PD] Consistency Problem - OS X[intel] - when modifying Abstractions To: Luigi luigi.rensingh...@freenet.de Cc: puredata mailing list pd-list@iem.at Date: Monday, February 9, 2009, 4:46 AM So the consistency check failed: canvas_create_editor also happens on Pd-vanilla 0.41-4 but seems to be fixed in 0.42-4. I checked this by copying the contents of extra into a Pd-0.42-4.app and running your app. If we can track down the fix, I'll backport it if it is not too complicated. error: .x6cfc80: no such object seems to be specific to Pd-extended, I think this is related to a bug I've been trying to track down. Basically the canvas seems to disappear on the 'pd' side, while the pd- gui side it is still there... .hc On Feb 7, 2009, at 11:44 AM, Luigi wrote: Hi Hans Christian... All on OSX(INTEL) 10.5.6 So lets see if you can reproduce this bug: i have Pd version 0.40.3- extended dont know which exact version from the builds actually so here we go: 1) Unzip the Archive 2) open drummer_main 3) with right-click go inside of drum_module 4) with right-click go inside gg_midi_note 5) do any modification 6) Type CTRL-S for save or choose Save from the menu Hope that helps would be great to find that bugger Best Luigi example_consistency.zip Am 07.02.2009 um 02:15 schrieb Hans-Christoph Steiner: Did you ever find an answer to this? Or is there an example patch? I have seen some strange behavior that I am trying to track down. .hc On Jan 5, 2009, at 5:06 AM, Luigi Rensinghoff wrote: Hi List, I notice a bug, thats coming back on OS X PD-extended. The occurs when i change an Abstraction, but not the original, but an active instance of a patch. Fpr example i have many instances of the same abstraction encapsulated in other abstractions. While patching i decide to change something - for example add an outlet - i open the instance change it and try to save it. PD seems to update all occurring abstractions and meanwhile the parent-window seems to disappear and it is not possible to save the patch anymore... I have to force quit PD after that. Strangely enough the change is saved in the abstraction. but of course it is totally annoying for the workflow. I think i had this issue before and it disappeared in a more recent release of PD-Extended for OS-X Intel I am sorry i cannot post an example patch right now, maybe tonight... For now i would like to ask if anybody is having the same problemand how to fix it, or maybe knows under which subject it might have been saved in the archive.. All the Best and a Happy New Year Luigi ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list Man has survived hitherto because he was too ignorant to know how to realize his wishes. Now that he can realize them, he must either change them, or perish.-William Carlos Williams ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list ¡El pueblo unido jamás será vencido! ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list ds-tgl.pdtest.pd Looking at things from a more basic level, you can come up with a more
Re: [PD] here I go again..dynamic abstractions
Hallo, Matt Barber hat gesagt: // Matt Barber wrote: I only see two options: I see a third option: $0 is not only different from the $-variables in message boxes, but it's also different from the $-variables used as object arguments.[1] So another way out would be to replace only $0 with something like #0. Of course beginners then still would like to use #0 in a message box. [1] Actually the $-variables 1,2,3,... in message boxes and those in object boxes aren't that different, because the contents of object boxes also are messages to Pd's objectmaker and they are used explicitely as messages when doing dynamic patching. Ciao -- Frank BarknechtDo You RjDj.me? _ __footils.org__ ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] resizing samples, noob question
Hallo, Andrew Faraday hat gesagt: // Andrew Faraday wrote: Hey guysI'm trying to create a patch that play samples 'at speed' but which is then variable. I need an equation to turn the number of samples in a table into the length of the sound file in seconds. Using this I should be able to divide one by the number of seconds and use that figure to set the speed of a phasor~ object for correct speed playback, is that right? what's the equation? You need to know the samplerate of your soundfile first - which may be different from Pd's samplerate as reported by [samplerate~] ! Lets assume your file's samplerate is the CD-standard 44.1 kHz or 44100 Hz. That means that 44100 samples are necessary to make up one second (because 1 Hz = 1/s) and the duration of one sample is 1/44100 seconds. So if you have a table of size X, then it has a duration of X * 1/44100 seconds or more general: duration in seconds = number of samples / SR in Hz If you use a phasor~ you need to get a frequency which is the inverse of the duration: freq(Hz) = 1/dur(s)= SR(Hz)/samples At this frequency the soundfile would play at its natural speed.[1] If you work with something like [vline~] to play your samples, you have to take additional care of the fact, that these objects deal with milliseconds, not seconds. A duration expressed in milliseconds is 1000 times the number describing the duration in seconds: 1 second = 1000 milliseconds 1.501 seconds = 1501 milliseconds The duration of a table in milliseconds is thus: dur(ms)= 1000 * duration in seconds = 1000 * (number of samples) / SR in Hz = (number of samples) / SR(Hz)/1000 = (number of samples) / SR in kHz The last transform uses the useful fact, that a frequency expressed in Hz is 1000 times the frequency expressed in kHz: 44100 Hz = 44.1 kHz Hint: If you work a lot with milliseconds it's often useful to think of frequencies in kHz. It's important to learn these relations for working with delays as well. You may want to make some abstractions out of it. [1] To transpose it, you can use the Momentary Transposition Formulas for Wavetables from: http://crca.ucsd.edu/~msp/techniques/latest/book-html/node28.html#sect2.momentaryformula Ciao -- Frank BarknechtDo You RjDj.me? _ __footils.org__ ___ 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
Quoting Frank Barknecht f...@footils.org: Hallo, Matt Barber hat gesagt: // Matt Barber wrote: I only see two options: I see a third option: $0 is not only different from the $-variables in message boxes, but it's also different from the $-variables used as object arguments.[1] So another way out would be to replace only $0 with something like #0. Of course beginners then still would like to use #0 in a message box. i always thought that $0 was a misnomer, as it has nothing to do with what $1,... means. the logical thing would be $0=abstractionname/msesageselector and have something else be the unique abstraction id. but who would be willing to change that? fgam IOhannes This message was sent using IMP, the Internet Messaging Program. ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Crasher bug found...
On Mon, Feb 2, 2009 at 7:44 PM, Miller Puckette mpuck...@imusic1.ucsd.edu wrote: Thanks -- that was just what I needed to find it... here's a patch that should fix it. I'll be puttint up a new bugfix release after I manage to clean up another couple of problems. Hi Miller, a little late, but just wanted to say a big thanks for finding this and fixing it! I'm very happy to be able to continue work on my sequencers crash-free : ) Best Luke Miller diff --git a/src/g_template.c b/src/g_template.c index 34541c0..f216b10 100644 --- a/src/g_template.c +++ b/src/g_template.c @@ -106,7 +106,7 @@ t_template *template_new(t_symbol *templatesym, int argc, t_ bad: argc -= 2; argv += 2; } -if (templatesym-s_name) +if (*templatesym-s_name) { x-t_sym = templatesym; pd_bind(x-t_pdobj, x-t_sym); On Sun, Feb 01, 2009 at 12:43:48AM -0800, Luke Iannini wrote: Well, I'll let you all confirm that before I truly say so : ). But, by sheer luck, I'm hoping I've found the memory-corruption bug causing my pd abstractions to be so unstable (as I've lamented quite a few times). Hopefully this is narrowed down enough to be useful Miller! (I'm happy to pare it down further if there are too many extraneous objects) Basically, open ds-slider-o-help.pd (which contains 10 copies of the GOP ds-slider-o.pd abstraction) and click the [CLICK TO CRASH( message which is connected to a [send] object with no destination. Assigning a destination prevents the crash. [...] ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
[PD] String Port
Hi, look at this: http://www.keithmcmillen.com/stringport/index.html It's Miller's pd~conv Montreal paper in hardware. Congratulation! Actually I found this URL in a comment of bonk~.c when trying to make it use canvas_open() Ciao -- Frank BarknechtDo You RjDj.me? _ __footils.org__ ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
[PD] japanese encoded chars in PD
hey'aw. Can anyone give me hand on handling Japanese character encodings in PD. I feel like I've read every document on character encodings and still don't understand the messeven for my own pragrams that work with text. Is there a way to handle UTF-8 in PD? thanks -august. ___ 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
Frank Barknecht wrote: I see a third option: $0 is not only different from the $-variables in message boxes, but it's also different from the $-variables used as object arguments.[1] So another way out would be to replace only $0 with something like #0. Yes. This, at least, would end the irrelevant dollar sign variables in message boxes are different than abstraction initializers argument every time someone asks why $0 can't be used in a message box. :-) Also, it would be much less confusing in general, because $0 never means the same thing as $1...$n, inside *or* outside of message boxes. Of course beginners then still would like to use #0 in a message box. I'm not a beginner (though far from an expert), and I still want to use the unique identifier in message boxes. What, exactly, is wrong with that use case? Frank, I think you make quite a bit of use of $0 in messages in [memento], for example. If it's wrong, why does the idiom; [f $0]-[message $1( get suggested as a solution so often? In my opinion, that's just a kludge, avoiding the original problem. Looking back on the thread, I see this from Iohannes: $-args in message-boxes are a way to modify messages. since messages don't have a patch-context, neither have (their patchable instances) message-boxes. But the message-boxes *do* have a patch context; they live in an abstraction that has a unique identifier, which is sometimes useful to blend into a message. I'm sorry for being stubborn about this, but I still don't see Georg's basic question answered, just a lot of dancing around it. :-) Phil ___ 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 Sat, 7 Feb 2009, Claude Heiland-Allen wrote: I don't know why, but it makes parsing Pd patches 1000x less straightforward than required (you need a two-phase parser that has a special exception to detect message boxes and not expand dollars, allowing the message box objects to parse them itself later, while expanding dollars for everything else). The way it works in Pd, Is that the parsing only cuts a patch into lists of atoms, and then the evaluation of $ is a separate phase. There are two levels of evaluation of $ in patches: one is because the patch is saved as a sequence of messages that do dynamic patching of all of the patch. Therefore, an objectbox containing $0 has to be saved as \$0, which gets converted to $0 on the first evaluation, and the $0 turns into a float on the second evaluation. I don't think that this way of doing things is really bad, except perhaps that it allows one to make patches that do weird things that don't get saved back the same way (e.g. what if you edit a .pd file to put non-backslashed dollars in it?) That #X obj has this extra evaluation level compared to #X msg and others, is not necessarily bad nor uncommon. The LISP languages generally have that: there are a number of so-called special-forms in which arguments are not evaluated, and some others in which only some arguments are evaluated. This is how 'foo is a shortcut for (quote foo) in which the argument of quote is not evaluated. In theory, you only really need that one special-form in such a language, but the inventors of this figured out that it was annoying to have to have only one special-form because it needs too many apostrophes all over the place. In the end, though, inventors of various LISP dialects could not agree on how many special-forms there should be. (Macros allow the user to define its own things that look like special-forms, but because of their evaluation order, it also allows bypassing any non-evaluation too) In Tcl, which is a distant cousin of LISP, things are different. Instead, there is an extra level of syntax because all lists are assumed to be quoted, a first parsing handles only { } \{ \} and a second parsing handles $ \$ [ ] \[ \] ... not counting the [expr] calls, which are a third level of parsing and happens quite often because it's explicit in [if] [while] etc. The avoidance of having some kind of evaluation at the first level of parsing makes it necessary to have the second level. My point is that it's a tradeoff in the design of languages. If you remove complexity in one way, it reappears in another way if the complexity is necessary. So, what could have Pd done differently? Perhaps two things: 1. Avoid the substitution in the first evaluation, so that most backslashes aren't needed in the file format. 2. Use a different character for substitution in messageboxes, so that message arguments are substituted using # or whatever (that's a second level of parsing because # is not recognised at the first parsing level; or would it??). But this makes people want to use $ to access abstraction-args directly in it, and if that feature is considered as a good thing, then you still need to either skip substitution in #X msg by opposition to #X obj, or add another level of backslashes in msg. (But that's all very hypothetical and nothing of that will change in pd) I ran into this problem implementing PotatoData (basically a proof of concept, it's a Pd patch interpreter written in Lua with minimal amounts of C for DSP, can run some trivial audio patches) a couple of months ago, and just ducked it completely - message boxes in my implementation don't support dollars at all (nor commas or semicolons for sequencing and redirection, but that's a separate issue). I wish message boxes had used a different special character, it would have made life much much easier. I don't think it's a big deal. There are much more difficult things than that, that you have to do to make a good interpreter and/or compiler. It's just a bit confusing and somewhat easy to get wrong if you don't put all of your attention in it, but if pd were different, this set of problems would be replaced by another set of problems. It's a mess. There are two similar concepts at work: 1. replacing dollars with arguments at patch execution time 2. replacing dollars with arguments at message passing time There are three of them. 0. replacing dollars when loading patch (not normally used) 1. replacing dollars when loading #X obj 2. replacing dollars when message is sent to a #X msg box The confusion arises partly because when Pd loads a patch, it's really internally passing messages around. That's why level 0 is there. It's never used by normal patches, yet it makes it necessary to add extra backslashes everywhere. Perhaps all this Pd parsing process is more difficult because it is not so well documented (or the documentation has been forgotten
Re: [PD] here I go again..dynamic abstractions
On Sat, 7 Feb 2009, Frank Barknecht wrote: Messages don't have anything comparable to the canvas' $0. A possible alternative use for $0 in messages would be the selector (list, symbol, ...) as that is the thing before $1, but implementing that could be even more confusing to beginners. Why would that be confusing to beginners? _ _ __ ___ _ _ _ ... | Mathieu Bouchard - tél:+1.514.383.3801, Montréal, Québec___ 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 Mon, 9 Feb 2009, zmoel...@iem.at wrote: i think it is simple, if the users understand the philosophical idea behind $args in message-boxes vs objects. hence my long explanations. once you understand what you are doing, it becomes quite simple to make Pd what you want (and why it does make sense the way it is done) Even after understanding that contents of objectboxes are just messages, it doesn't necessarily make much more sense, as you could have had completely different messageboxes in pd while still considering contents of objectboxes to be just messages. 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... (which may include working around it and not using messageboxes anymore). _ _ __ ___ _ _ _ ... | Mathieu Bouchard - tél:+1.514.383.3801, Montréal, Québec___ 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
Hallo, Mathieu Bouchard hat gesagt: // Mathieu Bouchard wrote: On Sat, 7 Feb 2009, Frank Barknecht wrote: Messages don't have anything comparable to the canvas' $0. A possible alternative use for $0 in messages would be the selector (list, symbol, ...) as that is the thing before $1, but implementing that could be even more confusing to beginners. Why would that be confusing to beginners? Because it's not the $0 from object boxes. Ciao -- Frank ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] div vs. / i
On Sun, 8 Feb 2009, Jonathan Wilkes wrote: Thanks a lot for the explanation. Would it be possible to add a help patch to pd, something like the one attached? div, mod, and % currently default to otherbinops-help.pd but aren't included in that patch. It would be better if you used [*] and [+] to show that: (x div y)*y + (x mod y) = x int(x / y)*y + (x % y) = x so that this [*] [+] combination is seen as undoing [div] and [mod], and that [div] and [mod] are seen as splitting an integer into two parts in a reversible way. (same for undoing [/] and [%]). _ _ __ ___ _ _ _ ... | Mathieu Bouchard - tél:+1.514.383.3801, Montréal, Québec___ 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, 10 Feb 2009, Frank Barknecht wrote: Mathieu Bouchard hat gesagt: // Mathieu Bouchard wrote: On Sat, 7 Feb 2009, Frank Barknecht wrote: Messages don't have anything comparable to the canvas' $0. A possible alternative use for $0 in messages would be the selector (list, symbol, ...) as that is the thing before $1, but implementing that could be even more confusing to beginners. Why would that be confusing to beginners? Because it's not the $0 from object boxes. Ok. That was my impression too. As Johannes was saying, $0 in objectboxes could have been referring to the name of the abstraction (as it was located in the first place). That would have made it much more sensible to have that $0 in messageboxes. _ _ __ ___ _ _ _ ... | Mathieu Bouchard - tél:+1.514.383.3801, Montréal, Québec___ 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
There is already [route] to get the selectors bang, symbol, list, float and only 'other'. But it would be nice to have something like this : [33 hello -4.5 world( | [$0( | [print] and get print: list not 0 as now or [open mytext.txt 45( | [$0( | [print] and get print: open not 0 as now (and nor 'other' as does [route]) So the first element is $0, the second is $1, etc. I think it is not so difficult to understand for a beginner because it's logical. We must explain that [33 hello 4.5 world( is a list without the word list in the message because the message begin by a number and has several elements : it is the same [list 33 hello 4.5 world(. Idem for float. What do you think ? ++ Jack Le 10 févr. 09 à 17:45, Mathieu Bouchard a écrit : On Sat, 7 Feb 2009, Frank Barknecht wrote: Messages don't have anything comparable to the canvas' $0. A possible alternative use for $0 in messages would be the selector (list, symbol, ...) as that is the thing before $1, but implementing that could be even more confusing to beginners. Why would that be confusing to beginners? _ _ __ ___ _ _ _ ... | Mathieu Bouchard - tél:+1.514.383.3801, Montréal, Québec___ 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
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] here I go again..dynamic abstractions
Frank Barknecht wrote: Hallo, Mathieu Bouchard hat gesagt: // Mathieu Bouchard wrote: On Sat, 7 Feb 2009, Frank Barknecht wrote: Messages don't have anything comparable to the canvas' $0. I missed this the first time it went by, and I think it's central to (my) confusion about this... Messages don't have anything comparable to the canvas' $0, but *message boxes do*! Why, therefore, is $0 not valid in a message box (as a way of embedding the canvas-identifier into a message), and further, why are people going so far as to suggest new, orthogonal meanings for $0 in a message box? Please, don't do this; it would only make the situation much more confusing! Arrgh! Phil A possible alternative use for $0 in messages would be the selector (list, symbol, ...) as that is the thing before $1, but implementing that could be even more confusing to beginners. Why would that be confusing to beginners? Because it's not the $0 from object boxes. Ciao ___ 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
From: Frank Barknecht f...@footils.org [1] Actually the $-variables 1,2,3,... in message boxes and those in object boxes aren't that different, because the contents of object boxes also are messages to Pd's objectmaker and they are used explicitely as messages when doing dynamic patching. Yes, this is the case -- and probably one of the more elegant parts of Pd -- but I still think this has less to do with Pd as an expressive language and more to do with how it's implemented. Even so, I think that a message box is not a message, any more than a message to objectmaker is an object; either way the $ values mean something different in each context -- in the messages to objectmaker they ultimately function more like environment variables or script arguments, where in message boxes they're a little more like substitution placeholders in something like a macro or a sed command. I think the current $0 meaning is consistent with this interpretation. I think my argument might be somewhat different if dynamic patching were fully supported with an official API - a huge step would be the ability to destroy individual objects with messages (can you?)... Matt ___ 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 Wed, 11 Feb 2009, Chris McCormick wrote: the winter sunshine, cold hands connecting boxes; Pd crashed again. [bang(/[until], #N canvas 599 200 450 300 10; #X obj 30 49 t a; #X obj 0 0 loadbang; #X obj 0 19 t a a; #X connect 0 0 2 0; #X connect 1 0 2 0; #X connect 2 0 0 0; #X connect 2 1 0 0; _ _ __ ___ _ _ _ ... | Mathieu Bouchard - tél:+1.514.383.3801, Montréal, Québec___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
[PD] exporting gem structures to cad
Hello, i was experimenting with gem combining diferent generatives techniques to create 3d iterative complex shapes. I would like to use these structures for architecture and I was wondering if its possible to export the generated structures to other 3d modelling software or maybe to autocad, so the structures generated can be built in the real world. Do anybody have tried something like this? In processing theres a library that allows to export 3d opengl shapes into dxf format that can be loaded in autocad, how difficult can it making something like this in pd? http://www.processing.org/reference/libraries/dxf/index.html; I was thinking that it would be possible to iterate over all the repeated geos in each shape and with gem_listinfo extract the information matrix corresponding to each geo, and then store into a text file , then use that info to rebuild the shapes in other program like autocad. Do anybody have tried something like this? any idea would be aprreciated thanks pun. ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] japanese encoded chars in PD
august wrote: hey'aw. Can anyone give me hand on handling Japanese character encodings in PD. I feel like I've read every document on character encodings and still don't understand the messeven for my own pragrams that work with text. Is there a way to handle UTF-8 in PD? hmm, depends on what you mean by handling characters. at least in Gem, you should be able to display unicode characters, by using the [string( message (in combination with [text3d]). the arguments are numbers which enumerate the glyphs in your font (and with unicode fonts this should map to unicode characters:) report a bug if it does not. however, you might be talking of something totally different... fgamdsr IOhannes ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Crasher bug found...
Mathieu Bouchard wrote: if (!s-s_name) s = gensym(file.%d); vs if (!*s-s_name) s = gensym(file.%d); Because Pd uses s_ as default value for a symbol arg, not a null pointer, so s-s_name is never considered false... same bug, really. btw, this has been fixed in some bugfix release of 0.42 gmadsr IOhannes ___ 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
Jack wrote: What do you think ? s this is basically what frank has been suggesting and what matju and me have kind-of supported. it would have been good if it was like that in the first place. the rest frank, matju and me have written about it is, that it would be a bad idea to add this to Pd as it is now. it would make $0 be even more complicated to understand. mfgads.r IOhanne PS: apologies to frank and matju if they do not agree and i made them look like ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] exporting gem structures to cad
punchik punchik wrote: Hello, i was experimenting with gem combining diferent generatives techniques to create 3d iterative complex shapes. I would like to use these structures for architecture and I was wondering if its possible to export the generated structures to other 3d modelling software or maybe to autocad, so the structures generated can be built in the real world. Do anybody have tried something like this? In processing theres a library that allows to export 3d opengl shapes into dxf format that can be loaded in autocad, how difficult can it making something like this in pd? http://www.processing.org/reference/libraries/dxf/index.html; I was thinking that it would be possible to iterate over all the repeated geos in each shape and with gem_listinfo extract the information matrix corresponding to each geo, and then store into a text file , then use that info to rebuild the shapes in other program like autocad. Do anybody have tried something like this? I did something similar once, but for a special case of 2D with only a small number of [square]s (up to 8 or so). But the principle I used (or that I would use now, if I were doing it again) is basically: wrap each kind of geo in an abstraction, like [cad_square] instead of using [square], that uses the Gemlist info to work out where it is in space, then send a message with that info (plus what kind of geo it is) to a receiver (which might write it to a textfile or do something else with it). Optionally have a pre-render bang and a post-render bang for any headers/footers that the file format needs, and remember that you might need to get colours / materials too (I guess the GEMglVoodoo will do the trick there). In my case I used pdlua to directly write a graphgrow-engine input file, while using Pd+Gem to generate realtime previews using texture feedback. A blog post about that: http://claudiusmaximus.goto10.org/cm/2008-03-23_graphgrow_realtime_preview.html Some possibly-no-longer-working code: svn export https://code.goto10.org/svn/maximus/2008/gg/ gg any idea would be aprreciated I think you're on the right track, but I don't know if there's an existing exporter. Claude -- http://claudiusmaximus.goto10.org ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
[PD] one gui for diferent subpatches
Hi , i would like to use one gui to control diferent gem subpatches, one per time, for example i have 5 gem subpatches each one with a different gemhead but 4 of them are turned off, each one of these subpatches has a set of recievers from the gui, so with the gui i just control the values of the subpatch that is turned on, but the 5 of them are recieving the messages from the gui, Is this a good practice in terms of computacional consumption? Or if there is a difference if i separate the receivers from each subpatch and just have one set of receivers for all the 5 subpatches and just route the messages from the gui . Which is the best way of doing something like this? i ask this because this 4 subpatches turned off are still consuming cpu(they are very big), 4% por each turned off subpatch, this isnt too much now, but im planning to add a lot of more subpatches , so this subpatches that doesnt do anything are gonna eat my cpu. Which is the best way of doing this? maybe i should use dynamic patching? do you think is a good option for what im trying to do? any advice would be appreciated thanks pun. ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
[PD] MIDI on OSX
Hi, How can I play MIDI sounds from PD in OSX? It is necessary to have another MIDI software running? Can I just play General MIDI from PD? Cheers, -- Enrique Franco Telefono/Phone: +572 5552334 ext 388 Webpage: http://richie.idc.ul.ie/~enrique/ http://www.iua.upf.es/~ffranco/pfm.htm ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] exporting gem structures to cad
hello, i did use the same kind of technic to create .obj file, that i open and convert in blender. here is an extern i make to speed things up and exemple how to export to a obj file... (works only with cubes) cyrille Claude Heiland-Allen a écrit : punchik punchik wrote: Hello, i was experimenting with gem combining diferent generatives techniques to create 3d iterative complex shapes. I would like to use these structures for architecture and I was wondering if its possible to export the generated structures to other 3d modelling software or maybe to autocad, so the structures generated can be built in the real world. Do anybody have tried something like this? In processing theres a library that allows to export 3d opengl shapes into dxf format that can be loaded in autocad, how difficult can it making something like this in pd? http://www.processing.org/reference/libraries/dxf/index.html; I was thinking that it would be possible to iterate over all the repeated geos in each shape and with gem_listinfo extract the information matrix corresponding to each geo, and then store into a text file , then use that info to rebuild the shapes in other program like autocad. Do anybody have tried something like this? I did something similar once, but for a special case of 2D with only a small number of [square]s (up to 8 or so). But the principle I used (or that I would use now, if I were doing it again) is basically: wrap each kind of geo in an abstraction, like [cad_square] instead of using [square], that uses the Gemlist info to work out where it is in space, then send a message with that info (plus what kind of geo it is) to a receiver (which might write it to a textfile or do something else with it). Optionally have a pre-render bang and a post-render bang for any headers/footers that the file format needs, and remember that you might need to get colours / materials too (I guess the GEMglVoodoo will do the trick there). In my case I used pdlua to directly write a graphgrow-engine input file, while using Pd+Gem to generate realtime previews using texture feedback. A blog post about that: http://claudiusmaximus.goto10.org/cm/2008-03-23_graphgrow_realtime_preview.html Some possibly-no-longer-working code: svn export https://code.goto10.org/svn/maximus/2008/gg/ gg any idea would be aprreciated I think you're on the right track, but I don't know if there's an existing exporter. Claude // // GEM - Graphics Environment for Multimedia // // zmoel...@iem.kug.ac.at // // Implementation file // //Copyright (c) 1997-2000 Mark Danks. //Copyright (c) Günther Geiger. //Copyright (c) 2001-2002 IOhannes m zmoelnig. forum::für::umläute. IEM //For information on usage and redistribution, and for a DISCLAIMER OF ALL //WARRANTIES, see the file, GEM.LICENSE.TERMS in this distribution. // / #include cube2obj.h #include Base/GemState.h CPPEXTERN_NEW_WITH_ONE_ARG(cube2obj, t_floatarg, A_DEFFLOAT) / // // cube2obj // / // Constructor // / cube2obj :: cube2obj(t_floatarg size) : GemShape(size) { m_outletObj = outlet_new(this-x_obj, 0); m_size = size; if (size == 0) size = 1; m_snap = 0; } / // Destructor // / cube2obj :: ~cube2obj() { outlet_free(m_outletObj); } / // render // / void cube2obj :: render(GemState *state) { float mi[16]={0}; t_atom alist[5]; if(m_snap==1) { glGetFloatv(GL_MODELVIEW_MATRIX,mi); SETSYMBOL(alist+0, gensym(v)); SETFLOAT(alist+1, mi[12] + mi[0] * m_size + mi[4] * m_size + mi[8] * m_size ); SETFLOAT(alist+2, mi[13] + mi[1] * m_size + mi[5] * m_size + mi[9] * m_size ); SETFLOAT(alist+3, mi[14] + mi[2] * m_size + mi[6] * m_size + mi[10] * m_size ); outlet_list (m_outletObj, s_list, 4, alist); // 1 1 1 SETFLOAT(alist+1, mi[12] + mi[0] * m_size + mi[4] * m_size - mi[8] * m_size ); SETFLOAT(alist+2, mi[13] + mi[1] * m_size + mi[5] * m_size - mi[9] * m_size ); SETFLOAT(alist+3, mi[14] + mi[2] * m_size + mi[6] * m_size - mi[10] * m_size ); outlet_list (m_outletObj, s_list, 4, alist); // 1 1 -1 SETFLOAT(alist+1, mi[12] + mi[0] * m_size - mi[4] * m_size - mi[8] * m_size ); SETFLOAT(alist+2, mi[13] + mi[1] * m_size - mi[5] * m_size - mi[9] * m_size ); SETFLOAT(alist+3, mi[14] + mi[2] * m_size - mi[6] * m_size - mi[10] * m_size ); outlet_list (m_outletObj, s_list, 4, alist); // 1 -1 -1 SETFLOAT(alist+1, mi[12] + mi[0] * m_size - mi[4] * m_size + mi[8] * m_size ); SETFLOAT(alist+2,
Re: [PD] MIDI on OSX
IOhannes m zmölnig wrote: - build your own synthesizer which could be controlled by MIDI. if you are truely lazy, there's an object called [fluid~] that let's you import soundfonts... to be more precise: i meant that you can build your own software synthesizer in Pd (you can also build your own hardware synthesizer, if you like to) and [fluid~] is an external by frank barknecht, so it doesn't come with Pd-vanilla (and i don't know whether it comes with Pd-extended; afair it is flext based and there seem to be still no flexternals in pd-ext) but i guess somebody has already compiled it for osx) fgamdsr IOhannes ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] exporting gem structures to cad
hi, there was some talk about exporting gem to obj files on the gem-dev list. but afaik nobody got it working. I think the closest was an object by cyrille, which probably never made it into the svn... http://lists.puredata.info/pipermail/gem-dev/2008-02/003303.html there are also some experimental vertex_array objects, that might support this?? marius. Claude Heiland-Allen wrote: punchik punchik wrote: Hello, i was experimenting with gem combining diferent generatives techniques to create 3d iterative complex shapes. I would like to use these structures for architecture and I was wondering if its possible to export the generated structures to other 3d modelling software or maybe to autocad, so the structures generated can be built in the real world. Do anybody have tried something like this? In processing theres a library that allows to export 3d opengl shapes into dxf format that can be loaded in autocad, how difficult can it making something like this in pd? http://www.processing.org/reference/libraries/dxf/index.html; I was thinking that it would be possible to iterate over all the repeated geos in each shape and with gem_listinfo extract the information matrix corresponding to each geo, and then store into a text file , then use that info to rebuild the shapes in other program like autocad. Do anybody have tried something like this? I did something similar once, but for a special case of 2D with only a small number of [square]s (up to 8 or so). But the principle I used (or that I would use now, if I were doing it again) is basically: wrap each kind of geo in an abstraction, like [cad_square] instead of using [square], that uses the Gemlist info to work out where it is in space, then send a message with that info (plus what kind of geo it is) to a receiver (which might write it to a textfile or do something else with it). Optionally have a pre-render bang and a post-render bang for any headers/footers that the file format needs, and remember that you might need to get colours / materials too (I guess the GEMglVoodoo will do the trick there). In my case I used pdlua to directly write a graphgrow-engine input file, while using Pd+Gem to generate realtime previews using texture feedback. A blog post about that: http://claudiusmaximus.goto10.org/cm/2008-03-23_graphgrow_realtime_preview.html Some possibly-no-longer-working code: svn export https://code.goto10.org/svn/maximus/2008/gg/ gg any idea would be aprreciated I think you're on the right track, but I don't know if there's an existing exporter. Claude ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] MIDI on OSX
there is a wrapper application which lets you use the general midi instruments in quicktime http://notahat.com/simplesynth/ it's only 204 KB big. this is the simplest solution afaik. Am 10.02.2009 um 19:45 schrieb enrique franco: Hi, How can I play MIDI sounds from PD in OSX? It is necessary to have another MIDI software running? Can I just play General MIDI from PD? Cheers, -- Enrique Franco Telefono/Phone: +572 5552334 ext 388 Webpage: http://richie.idc.ul.ie/~enrique/ http://www.iua.upf.es/~ffranco/pfm.htm ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list PGP.sig Description: Signierter Teil der Nachricht ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] japanese encoded chars in PD
august wrote: hey'aw. Can anyone give me hand on handling Japanese character encodings in PD. I feel like I've read every document on character encodings and still don't understand the messeven for my own pragrams that work with text. Is there a way to handle UTF-8 in PD? hmm, depends on what you mean by handling characters. at least in Gem, you should be able to display unicode characters, by using the [string( message (in combination with [text3d]). the arguments are numbers which enumerate the glyphs in your font (and with unicode fonts this should map to unicode characters:) report a bug if it does not. however, you might be talking of something totally different... that is one part I was looking for. thank you. are there also objects for handling conversions between character encodings? Or, an object to convert between utf8 or UCS-2 and the unicode char code numbers that GEM takes? Is there a default character encoding for PD messages? I assume it is LATIN1 because I have seen umlauts in comments before(I think). It doesn't look like I can make comments in UTF8 encoded chars. I have my char problems solved right now, but now as I discover more about the difficulties of character encodings and the treachery that ASCII has causedI am just curious. ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
[PD] [PD-announce] Pure Data Basics: a Project-Oriented Workshop with Derek Holzer
Pure Data Basics: a Project-Oriented Workshop with Derek Holzer Wednesday 11 March - Sunday 15 March 2009 11.00-19.00 daily with one hour lunch break Final presentation Sunday 15 March, 19.00 Location: eNKa / ElsenStr. 52 (2.Hof) Berlin, Germany Telephone: +49 (0)176 20626386 Course Participation fee: 100 euros Registration is required for this workshop and can only be done via email to: e...@gmx.de Please register early to ensure a place. Places are limited to 12. Participants should indicate ahead of time what their background and areas of interest are (sound, video, sensors, etc) as well as give a short description of any project they might want to develop during the workshop. Pure Data is a powerful, free and open-source software environment for producing and manipulating sound, image, data and connections to sensors, motors and other physical computing functions, all in real time. Because the programming is done visually, many artists find it a more intuitive tool than traditional text-oriented programming languages. This 5 day workshop will cover the basic grammar and vocabulary of the Pure Data language through a mix of lecture and demonstration in the mornings and project-based mentoring in the afternoons. This workshop is open to those with no previous computer programming experience, however basic computer literacy is assumed as well as a working familiarity with either digital audio or video. A manual-in-progress for Pure Data by Derek Holzer can be found here: http://flossmanuals.net/puredata 5 DAY CURRICULUM DAY ONE: 1) Meeting PD: the interface and how to play with it 2) Basic PD: participants learn to make a simple synthesizer, and learn basic PD grammar in the process 3) Workshop: discussions of examples and work on student projects DAY TWO: 1) PD audio: more on oscillators, noise, delays, feedback, filters and signal analysis for all your sonic needs 2) Events in PD: participants explore the timing of events with sequencers, delays, messages 3) Workshop: discussions of examples and work on student projects DAY THREE: 1) Working with soundfiles: loading audio for use in samplers, granulators and other file-based sound manipulation systems 2) Basic GEM: how to create simple 3D objects, play videos and get camera input 3) Workshop: discussions of examples and work on student projects DAY FOUR: 1) Physical PD: an introduction to physical computing using Pure Data alongside a microcontroller-based board such as the Arduino or xAVR/HID--or even a hacked USB gamepad--to work with sensors, motors, lights, etc. 2) Workshop: discussions of examples and work on student projects DAY FIVE: 1) Workshop: discussions of examples and work on student projects 2) The Wrap Up: public presentation of student works + closing party. WHAT PARTICIPANTS SHOULD BRING Essential: 1) Laptop running Linux, OS X or Windows 2) Pure Data Extended installed from: http://puredata.info/downloads (please make sure it is Extended package!) 3) Soundcard 4) Headphones Recommended/Suggested: 1) MIDI controller/keyboard 2) Microphone/piezoelectric contact microphone 3) USB Joystick/Gamepad 4) Sensors or other input devices (please bring your own sensors if you are interested in working with them, as only a few light sensors will be provided at the workshop) 5) Small motors or motor-driven objects 6) USB webcam/Firewire camera 7) Arduino boards (Available from Segor in Berlin: www.segor.de) and/or the xAVR/HID board (http://www.1010.co.uk/avrhid.html, please inquire via the x webpage about preordering!) 8) Your own projects and ideas to realize! ABOUT THE INSTRUCTOR BIOGRAPHY Derek Holzer [USA 1972] is a sound artist with a background in radio, webstreaming and environmental recording. His work focuses on capturing and transforming small, unnoticed sounds from various natural and urban locations, networked collaboration strategies, experiments in improvisational sound and the use of free software such as Pure-Data. He has released tracks under the Nexsound, Sirr, and/OAR, Frozen Elephants Music, Mandorla and Gruenrekorder labels, and has co-initiated several internet projects for field recording and collaborative soundscapes including Soundtransit.nl. His recent projects include the opto-electronic audiovisual performance TONEWHEELS, solo performances for analog synthesizer and a manual for Pure Data. He was also co-curator of the Tuned City event for sound and architecture, which took place in Berlin during July 2008. http://umatic.nl/info_derek.html http://www.myspace.com/macumbista ___ Pd-announce mailing list pd-annou...@iem.at http://lists.puredata.info/listinfo/pd-announce ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] japanese encoded chars in PD
On Feb 10, 2009, at 3:14 PM, august wrote: august wrote: hey'aw. Can anyone give me hand on handling Japanese character encodings in PD. I feel like I've read every document on character encodings and still don't understand the messeven for my own pragrams that work with text. Is there a way to handle UTF-8 in PD? hmm, depends on what you mean by handling characters. at least in Gem, you should be able to display unicode characters, by using the [string( message (in combination with [text3d]). the arguments are numbers which enumerate the glyphs in your font (and with unicode fonts this should map to unicode characters:) report a bug if it does not. however, you might be talking of something totally different... that is one part I was looking for. thank you. are there also objects for handling conversions between character encodings? Or, an object to convert between utf8 or UCS-2 and the unicode char code numbers that GEM takes? Is there a default character encoding for PD messages? I assume it is LATIN1 because I have seen umlauts in comments before(I think). It doesn't look like I can make comments in UTF8 encoded chars. I have my char problems solved right now, but now as I discover more about the difficulties of character encodings and the treachery that ASCII has causedI am just curious. Its a weird bastard mix currrently of Latin1 and UTF-8. The Tk GUI can handle UTF-8 and uses UTF-8 natively. The C side is basically Latin1 but doesn't really check: unibarf.pd Description: Binary data This is something that I would really like to have working properly in Pd-devel. Tcl/Tk is natively UTF-8, so it seems that we should support UTF-8 in Pd. Anyone feel like trying to fix it? I don't understand encodings so well. .hc There is no way to peace, peace is the way. -A.J. Muste ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] String Port
Beautiful objects!!! On Tue, Feb 10, 2009 at 7:38 AM, Frank Barknecht f...@footils.org wrote: Hi, look at this: http://www.keithmcmillen.com/stringport/index.html It's Miller's pd~conv Montreal paper in hardware. Congratulation! Actually I found this URL in a comment of bonk~.c when trying to make it use canvas_open() Ciao -- Frank BarknechtDo You RjDj.me? _ __footils.org__ ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list -- - - - -- http://perhapsidid.wordpress.com http://myspace.com/kyleklipowicz ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list