Re: [PD] can [bp~] be obtained with biquad coefficients?
The quick and dirty way is just to feed the filter white noise and plot the output signal's spectrum. Guaranteed to show the actual performance of the filter, and not somebody's idea of how it ought to be working. If you need a theoretical curve, I'd start with a look at the [bp~] source to see if you can extract some hints about how the filter is implemented. It may be quite easy to figure out the poles and zeros if the code is clear and/or documented. Good luck! Bill Gribble ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] GUI toolkits and custom GUIs WAS: Integra Live 1.5 released
[This is getting pretty OT for pd-list, let's take further discussion to private email or linux-audio-dev] Thanks for the Nova link, that thesis looks very interesting. I hadn't heard of Nova before. Is it still active? Looks like at least parts of it merged into SuperCollider but I can't see that the main project is still going. I am definitely still designing as I iterate... get a bit of functionality working, try to use it to do something different than it could do before, see what irritates me, repeat. Both you and HC have made good points that make me think I still have some work to do on scoping and on layers/subpatches/abstractions. Your comments about dotted namespaces stump me a bit. I see what you mean about DNS address resolution, but very many programming languages share a common notation and meaning for dotted access to objects/subobjects. I'm trying to make things look as much like visual python as I can, so I would tend to use a similar syntax, but then again accessing scopes is not exactly like accessing object attributes. I will have to chew on it a while. Thanks, Bill Gribble On Sat, 2013-01-26 at 15:55 -0800, Jonathan Wilkes wrote: - Original Message - From: Bill Gribble g...@billgribble.com To: Jonathan Wilkes jancs...@yahoo.com Cc: Lorenzo Sutton lorenzofsut...@gmail.com; pd-list@iem.at pd-list@iem.at Sent: Saturday, January 26, 2013 11:01 AM Subject: Re: [PD] GUI toolkits and custom GUIs WAS: Integra Live 1.5 released On Fri, 2013-01-25 at 19:30 -0800, Jonathan Wilkes wrote: So inside [blah] let's say I have this: [r foo] | [print I_don_t_want_bob_to_trigger_this] I share my [blah] abstraction with Bob, who creates a [blah] instance in the same patch where he has [Click here to start my thing( | [s foo] I suppose I don't know what lexical hygiene means. But I think you have to have a way to explicitly state that binding symbol foo applies to this canvas and all of its children, but not to any parents. Do you have a way to do that without using the $0 kludge? PD's behavior and the $0 kludge falls out of the design where there is a single namespace for s/r targets. It's a programming language where there are only global variables. This makes some things easy (communicating with other patches) and some things hard (keeping things private, duplicating code blocks without copies stomping on each other). The best solution I've seen is Tim Blechmann's use of [declare] in Nova (though one could use a different class rather than overloading a current one): http://tim.klingt.org/publications/tim_blechmann_nova.pdf I can't remember what his default behavior was when the binding-symbol isn't [declare]'d, but if it defaulted to global in that case then the system would be backwards compatible with Pd. It's also trivial to learn, as the declaration is basically a stamp on a canvas that says this name doesn't communicate with my parents, but it can communicate with all my children-- unless of course they declare the name for themselves. He also has a mechanism to explicitly declare something global. The benefit is that when a name is declared on a canvas, the meaning is trivial to understand: IF stamped THEN local to me and my unstamped children. The drawback is that on a canvas that doesn't have a declaration on it, the user doesn't immediately know how far up the tree the scope goes simply by looking at the patch (though a mechanism could easily be added to reveal that). Your system has the benefit of sane defaults-- if I understand correctly, names in your system will default to the behavior one currently gets in Pd by prepending a $0 to the name. That probably covers most of the common patching cases. The drawback is that for uncommon cases your namespace notation is non-trivial to learn, even though it makes the scope of uncommon cases explicit. (To get a sense of how difficult it is for a user to _truly_ grasp scope levels using the . separator, look at the history of scams based on shuffling the levels of domain names, changing the tld, and even putting the company name as a subdirectory of some nondescript domain name like acctmngr.com/microsoft.) Anyway, I suppose that's enough commentary until I can actually play around with your system and see how it works. (The png showing the IDE-style interface looks nice, though.) My design started from the presumption that all variables (names) are local to a scope. Each patch has its own global scope (which is the default for new names), and can have named scopes within it. This sort-of follows a model of lexical scoping that you see in languages like Lisp and Scheme where you can explicitly wrap a block of code in an environment where variables just local to that scope are declared. In MFP, a layer (subpatch) or group of layers can share
Re: [PD] GUI toolkits and custom GUIs WAS: Integra Live 1.5 released
On Fri, 2013-01-25 at 19:30 -0800, Jonathan Wilkes wrote: So inside [blah] let's say I have this: [r foo] | [print I_don_t_want_bob_to_trigger_this] I share my [blah] abstraction with Bob, who creates a [blah] instance in the same patch where he has [Click here to start my thing( | [s foo] I suppose I don't know what lexical hygiene means. But I think you have to have a way to explicitly state that binding symbol foo applies to this canvas and all of its children, but not to any parents. Do you have a way to do that without using the $0 kludge? PD's behavior and the $0 kludge falls out of the design where there is a single namespace for s/r targets. It's a programming language where there are only global variables. This makes some things easy (communicating with other patches) and some things hard (keeping things private, duplicating code blocks without copies stomping on each other). My design started from the presumption that all variables (names) are local to a scope. Each patch has its own global scope (which is the default for new names), and can have named scopes within it. This sort-of follows a model of lexical scoping that you see in languages like Lisp and Scheme where you can explicitly wrap a block of code in an environment where variables just local to that scope are declared. In MFP, a layer (subpatch) or group of layers can share a scope just among themselves, or can use the patch's global scope. Again, this makes some things easy (cut and paste of subpatches without stepping on each other, management of names without $0-prefixes, knowing that your abstraction won't interfere with someone else's) and some things hard (broadcasting to every instance of a patch/abstraction, listening in on message traffic internal to somebody else's abstraction). Back to your example: it wouldn't work as-is in MFP. The [s] would have to qualify the foo name, since it doesn't exist in the scope of the [s]. Let's say I make a [blah] in the patch with the [s] and I name it blah_1. The [s foo] would need to be [s blah_1.foo] for it to get where you intend it to go. If you made 2 [blah] instances, blah_1 and blah_2, you would have to send to the one that you wanted the message to go to. There are also use cases for binding symbol foo applies to all instances of this abstraction, and possibly all instances of abstractions from this libdir (though the latter may be overkill). Yes, these are real use cases. I'm still trying to work out which ones are highest-value; you can't do either of these things in MFP right now. Thanks, Bill Gribble -Jonathan At the same time, references to names that can't be resolved in the local scope do bubble up, so you can have more global names if you need them. Thanks, Bill Gribble On Jan 25, 2013, at 21:27, Jonathan Wilkes jancs...@yahoo.com wrote: - Original Message - From: Bill Gribble g...@billgribble.com To: Jonathan Wilkes jancs...@yahoo.com Cc: Lorenzo Sutton lorenzofsut...@gmail.com; pd-list@iem.at pd-list@iem.at Sent: Friday, January 25, 2013 7:55 PM Subject: Re: [PD] GUI toolkits and custom GUIs WAS: Integra Live 1.5 released On Fri, 2013-01-25 at 15:21 -0800, Jonathan Wilkes wrote: From: Bill Gribble g...@billgribble.com I am working on a pd-clone intended to explore a lot of the topics in this thread. It's not fully baked yet -- the biggest working patch is a biquad filter designer with pole-zero and freq response plotting -- but I'm particularly excited about the approach to namespacing and scope management, which works a lot like hc describes. Patches have a set of scopes which can be mapped onto subpatches (represented as layers, not separate windows). Name resolution in send/receive elements works like you would want it to. How does scope work for abstractions? Well, every object in a patch has a name. To find that object, the tree of patches and scopes is crawled upward from the site of the lookup. For example, the (equivalent of) [s foo] first looks in the scope of the [s], then the patch-global scope of the containing patch, then in the application global scope for the name foo. Dotted notation can drill down, so [s foo.bar] would try to find an object named foo, then find bar in its patch-global scope (or an object named bar within a scope named foo in the current patch). Does that make sense? I don't think I understand it. Let's say I have abstraction [blah]. I want [s foo] and [r foo] inside [blah] and all of [blah]'s children to talk to each other. Then I want to share my abstraction with Bob who needn't worry about the send/receive names I used inside [blah] because they are guaranteed not to conflict with anything he does outside the scope
Re: [PD] GUI toolkits and custom GUIs WAS: Integra Live 1.5 released
On Fri, 2013-01-25 at 15:21 -0800, Jonathan Wilkes wrote: From: Bill Gribble g...@billgribble.com I am working on a pd-clone intended to explore a lot of the topics in this thread. It's not fully baked yet -- the biggest working patch is a biquad filter designer with pole-zero and freq response plotting -- but I'm particularly excited about the approach to namespacing and scope management, which works a lot like hc describes. Patches have a set of scopes which can be mapped onto subpatches (represented as layers, not separate windows). Name resolution in send/receive elements works like you would want it to. How does scope work for abstractions? Well, every object in a patch has a name. To find that object, the tree of patches and scopes is crawled upward from the site of the lookup. For example, the (equivalent of) [s foo] first looks in the scope of the [s], then the patch-global scope of the containing patch, then in the application global scope for the name foo. Dotted notation can drill down, so [s foo.bar] would try to find an object named foo, then find bar in its patch-global scope (or an object named bar within a scope named foo in the current patch). Does that make sense? Thanks, Bill Gribble ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] GUI toolkits and custom GUIs WAS: Integra Live 1.5 released
The case you describe is the easy one, once you introduce any kind of lexical hygiene. Names in use in a patch bind closely to the patch or scope in which they are used, so there's no danger of escapes from a patch just because its being used within another patch. At the same time, references to names that can't be resolved in the local scope do bubble up, so you can have more global names if you need them. Thanks, Bill Gribble On Jan 25, 2013, at 21:27, Jonathan Wilkes jancs...@yahoo.com wrote: - Original Message - From: Bill Gribble g...@billgribble.com To: Jonathan Wilkes jancs...@yahoo.com Cc: Lorenzo Sutton lorenzofsut...@gmail.com; pd-list@iem.at pd-list@iem.at Sent: Friday, January 25, 2013 7:55 PM Subject: Re: [PD] GUI toolkits and custom GUIs WAS: Integra Live 1.5 released On Fri, 2013-01-25 at 15:21 -0800, Jonathan Wilkes wrote: From: Bill Gribble g...@billgribble.com I am working on a pd-clone intended to explore a lot of the topics in this thread. It's not fully baked yet -- the biggest working patch is a biquad filter designer with pole-zero and freq response plotting -- but I'm particularly excited about the approach to namespacing and scope management, which works a lot like hc describes. Patches have a set of scopes which can be mapped onto subpatches (represented as layers, not separate windows). Name resolution in send/receive elements works like you would want it to. How does scope work for abstractions? Well, every object in a patch has a name. To find that object, the tree of patches and scopes is crawled upward from the site of the lookup. For example, the (equivalent of) [s foo] first looks in the scope of the [s], then the patch-global scope of the containing patch, then in the application global scope for the name foo. Dotted notation can drill down, so [s foo.bar] would try to find an object named foo, then find bar in its patch-global scope (or an object named bar within a scope named foo in the current patch). Does that make sense? I don't think I understand it. Let's say I have abstraction [blah]. I want [s foo] and [r foo] inside [blah] and all of [blah]'s children to talk to each other. Then I want to share my abstraction with Bob who needn't worry about the send/receive names I used inside [blah] because they are guaranteed not to conflict with anything he does outside the scope of the [blah] abstraction (e.g., creating a [s foo] on the same canvas where a [blah] object sits). Can I specify the scope of the s/r symbol in this way? Jonathan Thanks, Bill Gribble ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] GUI toolkits and custom GUIs WAS: Integra Live 1.5 released
I am working on a pd-clone intended to explore a lot of the topics in this thread. It's not fully baked yet but I'm particularly excited about the approach to namespacing and scope management, which works a lot like Thanks, Bill Gribble On Jan 21, 2013, at 6:13, Lorenzo Sutton lorenzofsut...@gmail.com wrote: On 19/01/13 20:20, Hans-Christoph Steiner wrote: On 01/19/2013 01:56 PM, IOhannes m zmölnig wrote: On 01/18/2013 22:31, Hans-Christoph Steiner wrote: I would love it if someone started this since it would greatly help with the goal of splitting the GUI from Pd itself. And of course I'd help where I can. i keep starting that project every now and then: moving all the drawing code to pd-gui and only use FUDI (that is: not tcl code) to communicate between pd-gui. unfortunately i always get distracted after a short time and i never get to a really working prototype. gmsdr IOhannes It can be done incrementally, which is likely the only way its going to get done. It turns out that FUDI and tcl proc calls are very similar: space separated list of elements where the first one is the functionality. If the basics were done first, like object drawing, then someone could build a rough GUI with another toolkit to test out. When you say 'FUDI' what exctly do you mean... what I mean is for me FUDI is actually [netsend] and/or [netreceive] interacting with 'something else'... would this be something more clever? Is it still relying on sockets (have no strong feeling about that nor pro nor con just to have a clearer picture) Would it make sense within this to think of some kind of 'patching' conventions, for example the fact that parameters are always set/modified by messages (and thus easily routable)? maybe some sort of 'namespacing' lingo e.g. mypatch.freq mypatch.amplitude etc... Or even some sort of semantics related to the GUI... mypatch.hslider.freq .. but this is probably going to far. As you can see this topic is very thought provoking over here :) Lorenzo. ___ 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] GUI toolkits and custom GUIs WAS: Integra Live 1.5 released
[sorry about partial message send, thumb slip] I am working on a pd-clone intended to explore a lot of the topics in this thread. It's not fully baked yet -- the biggest working patch is a biquad filter designer with pole-zero and freq response plotting -- but I'm particularly excited about the approach to namespacing and scope management, which works a lot like hc describes. Patches have a set of scopes which can be mapped onto subpatches (represented as layers, not separate windows). Name resolution in send/receive elements works like you would want it to. The GUI is implemented in Clutter, which is a pretty nice toolkit and gives you things like zooming for free. With the pd-style graphics the GUI isn't that huge a load. I'm submitting a paper to LAC in a week or so, and the code (Linux only ATM, and not for the faint of heart) is on github: http://www.github.com/bgribble/mfp It's a bit premature to announce this code, but the discussion is hitting really close to a lot of the topics of my interest so I couldn't resist :) Thanks, Bill Gribble On Jan 21, 2013, at 6:13, Lorenzo Sutton lorenzofsut...@gmail.com wrote: On 19/01/13 20:20, Hans-Christoph Steiner wrote: On 01/19/2013 01:56 PM, IOhannes m zmölnig wrote: On 01/18/2013 22:31, Hans-Christoph Steiner wrote: I would love it if someone started this since it would greatly help with the goal of splitting the GUI from Pd itself. And of course I'd help where I can. i keep starting that project every now and then: moving all the drawing code to pd-gui and only use FUDI (that is: not tcl code) to communicate between pd-gui. unfortunately i always get distracted after a short time and i never get to a really working prototype. gmsdr IOhannes It can be done incrementally, which is likely the only way its going to get done. It turns out that FUDI and tcl proc calls are very similar: space separated list of elements where the first one is the functionality. If the basics were done first, like object drawing, then someone could build a rough GUI with another toolkit to test out. When you say 'FUDI' what exctly do you mean... what I mean is for me FUDI is actually [netsend] and/or [netreceive] interacting with 'something else'... would this be something more clever? Is it still relying on sockets (have no strong feeling about that nor pro nor con just to have a clearer picture) Would it make sense within this to think of some kind of 'patching' conventions, for example the fact that parameters are always set/modified by messages (and thus easily routable)? maybe some sort of 'namespacing' lingo e.g. mypatch.freq mypatch.amplitude etc... Or even some sort of semantics related to the GUI... mypatch.hslider.freq .. but this is probably going to far. As you can see this topic is very thought provoking over here :) Lorenzo. ___ 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] IBM PureData
On Thu, 2012-11-08 at 12:54 +, Julian Brooks wrote: the obvious next step is for someone to code up an [IBM~] external for pd I like this idea a lot but what should it consist of? Cassette data storage modulation sounds, obviously! http://www.youtube.com/watch?v=GIPPcPzbOcI Thanks, Bill Gribble ___ 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] Analog square wave?
On Mon, 2012-02-06 at 17:56 +0100, Frank Barknecht wrote: However when using this as a LOW frequency oscillator, I would simply ignore the literature on bandlimiting and go with a pure digital aliased wave full force! :) Good practical advice... if you really start thinking about what is going to happen when you take a digital square wave and use it as a modulator on some other signal, probably by something evil and nonlinear like multiplying the signals together, you can give yourself a headache quite quickly! Just remember, one person's aliasing artifacts all over the spectrum is another person's gritty, trashy, beautiful dirt. Thanks, Bill Gribble ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] expr alternative
On Mon, 2011-10-24 at 15:26 +0100, Andy Farnell wrote: The thing about a nice email, no matter how politely and tactfully you pen it, is that such a request can feel quite uncomfortable. First it makes the assumption that the programmers choice of licence was somehow shallow, maybe even arbitrary. Let's give all programmers the benefit of the doubt and assume their intelligence extends to proper reflection. The thing is, a lot of license choices ARE shallow and/or arbitrary. Some people don't really care that much about license details and just stick something free on there, without really considering if it does exactly what they want. I'm sorry that you had trouble handling a license-exception request, but I have a hard time seeing how a simple inquiry could be reasonably considered to be imposition on the developer. Someone who is looking at the alternative of (1) reimplementing something because of their license needs vs (2) being able to use (and possibly contribute back to) an existing piece of code is really being dumb if they DON'T ask. If you are choosing to use a license that retains some control over the use of your program, you have to expect to be called on to say No every so often... Thanks, Bill Gribble The alternative is that they inherited a licence which they have no power or choice to amend. Secondly, when someone from your own community appeals to you to help them with a cool project, maybe even to help them make a buck or two, I expect you are like me and rarely hesitate if its no great cost or time commitment. And if your needs and values clearly conflict, then its easy to say no and properly communicate why. But now familiar tensions between business and morality have come to the fore in the last few years, and make demands of bad faith on you. You're basically saying, I want to do this, but I am being bullied by corporation X to do it this way, and since you are the weaker of two conflicting moral opponents I choose to question your values and ask you if you will move in order to suit me (and by proxy the corporation). To put it in plain talk, its like getting a message from an old friend who got himself mixed up with with some bad drug dealers and needs you to bail him out or something nasty is going to happen. It's a dilemma where helping or not helping feels equally wrong. Where was that friend last week, before he needed the money so bad? Giving them money will just get them more enmeshed with a bad scene. I don't mean that to reflect on you personally, it's just something that needs to be put out there in the context change the licence being an option. It should be a last resort after many other options have been considered. Perfectly good choices consistent with proper moral and free market principles are; if you are a businessmen or lawyer for whom it might be an option why not start your own app store. Or if you're a coder able to pull off writing a non GPL version of the object from scratch, do that. For the rest of the artists, choosing another platform for your application would be the logical, rational choice. So would not using [expr], which is easily replaced by discrete objects and a little thought. ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
[PD] [OT] SSE/MMX tips?
I am trying to code a simple operation using SSE2 instructions where possible. I have a feeling that what I want to do is just a matter of a couple of shufps and haddps instructions but I can't get it. Lazyweb please help! The operation is integration. I have a vector of 4 single floats (v4sf) and a carry-in float to start. For example CI F0 F1 F2 F3 5 1 0 10 -5 Yields F0 F1 F2 F3 6 6 16 11 So far iteration on plain floats seems to be the best I can come up with, but HADDPS is tantalizingly close to what I want to do. Any hints? Thanks, Bill Gribble ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] [OT] SSE/MMX tips?
Ah! Thanks. Apparently also called prefix sum. Thanks, Bill Gribble On Wed, 2011-09-07 at 16:21 +0100, Claude Heiland-Allen wrote: On 07/09/11 12:17, Bill Gribble wrote: The operation is integration. Try calling it 'scan' and you might end up with more productive searches, at least to my mind integration is more about summing over continuous regions than something discrete like this. Searching for data parallel algorithm scan leads to pages like: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.85.1876rep=rep1type=pdf http://http.developer.nvidia.com/GPUGems3/gpugems3_ch39.html Claude ___ 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] [OT] SSE/MMX tips?
I noticed that your suggestion did not apply, but assumed it was a subtle riddle taunting me for an offtopic post! I think the best I can do is 2 vector adds and 2 shifts in place of 4 float adds per 4 floats. Not much of a savings, but with the loop and fetch overhead it may be worth it. I'll benchmark and see! It's really just for fun anyway. Thanks, Bill Gribble On Sep 7, 2011, at 20:59, Mathieu Bouchard ma...@artengine.ca wrote: On Wed, 7 Sep 2011, Mathieu Bouchard wrote: On Wed, 7 Sep 2011, Bill Gribble wrote: So far iteration on plain floats seems to be the best I can come up with, but HADDPS is tantalizingly close to what I want to do. Any hints? Once I thought that with some commutativity you could speed things up like this : (f0+f1+f2+f3)+(f4+f5+f6+f7)+... can be rearranged as : (f0+f4+...)+(f1+f5+...)+(f2+f6+...)+(f3+f7+...) But what I said does not apply to your case, because you want a scan, whether I didn't really read and assumed a fold. I don't know how to optimise a scan. ___ | Mathieu Bouchard tél: +1.514.383.3801 Villeray, Montréal, QC ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
[PD] Work in progress
Hi all, I have been working on an experimental pd workalike for a little while with just the intention of exploring some ideas about visual programming, getting familiar with all the current audio APIs for Linux, and generally having fun with a spare time programming project. I am really excited that I have some basic functionality now working and I wanted to share with the only community that would understand these screenshots :) These patches actually work as you would expect, producing audio and all; the only cheating in the screenshots is that you can't save patches, only create them on the fly. Still quite early in the development process! As you can guess from the things that look surprising to pd users, the program is implemented in Python with C extensions. Objects that get passed between control processors are just Python objects, and literals in creation args are passed to the Python evaluator. The signal-processing part is a thin wrapper on Jack, with (at this point) no separate blocking other than the Jack block, so latencies between the control-rate side and the signal-rate side are pretty high unless you have a very low-latency audio system... but the complexity of a separate blocking system were too high to address right away. It uses a multiple-process model to separate the garbage-collected python stuff (control-rate processing) from real-time audio stuff (in the C extension). The UI is done in Clutter (in a third process), and is heavy on keyboard shortcuts. Everything can be done without a mouse. When this gets a little more baked there will be public git, wiki, etc but it's just a toy yet... I just wanted to throw these screenshots out there. Thanks, Bill Gribble attachment: route-test.pngattachment: sequence.png___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] pd-linux/irritating dialog box location
On Tue, 2008-12-02 at 00:29 +0100, Damian Stewart wrote: raise your hand if a) you run Linux, and b) you are really really really irritated by the fact that the confirm-close, confirm-quit, file-open and file-save dialog boxes are parented to the main Pd window, rather than the patch window you are currently looking at. Hand raised, gnome/metacity. I am, in fact, irritated with confirmation dialogs of any kind, and for me losing the confirm-close dialog alone was worth the trouble of installing pd-extended. Bill Gribble ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
[PD] Peak envelope follower?
Is there a way within pd-extended to do the equivalent of [env~], but following peak value rather than RMS? I have pulled my hair out trying to implement this with patching but I have had no luck. Thanks, Bill Gribble ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
[PD] Hunting denormals?
I have a patch of medium complexity, with a handful of instruments~ and a bunch of sequencing and arranging-type message handling. On my speedy Intel laptop it has no problem and barely notches the CPU usage. However, when I run this patch on my teeny Geode-based UMPC it pegs CPU at 100%. I'm pretty sure this is a denormal issue. There are a grand total of maybe 5 noise~, 5 osc~, 10 vline~, 5 lop~, and 1 delay line in the whole patch and not much else besides message processing... I wouldn't guess this to run me out of compute power. Any hints on how to isolate where the denormals might be popping up? I have looked for signal processing loops, and the only ones I create are around the delayline (feedback) and I suppose in the iir implementation of the lop~. Any help appreciated, Bill Gribble ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
[PD] Testing for empty creation args?
I am doing something like this: |loadbang| | |symbol $1| | |readfile $1 cr, rewind( | |textfile| There's also an interface to set the filename later. Because of the later message processing, it would be nice not to send the read message if there is no creation arg. Is there a straightforward way to do that? Thanks, Bill Gribble ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
[PD] Interrupting a message loop?
Is there a way to stop an non-terminating message loop? The only way I know is to Ctrl-C Pd (under Linux), which is not very satisfactory. Thanks, Bill Gribble ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list