[PD] Malinette - rapid prototyping and learning
Hi all, We released a new version of the Malinette : http://reso-nance.org/malinette/download/ Malinette is an all-in-one solution, a rapid prototyping tool to show and make simple interaction and multimedia projects. It is a software and a hardware set. The software is based on Pure Data extended. It will be (one day) also a very convenient suitcase with a computer, speakers, arduino and electronic circuits to test ideas and projects very quickly. Best, Jérôme http://jeromeabel.net http://reso-nance.org ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
[PD] Malinette - prototyping tool
Hi pd list, I would like to present you a project made with Pd : Malinette. Malinette is an all-in-one solution to show and make simple interaction and multimedia projects. It is a software and a hardware set. The software is based on Pure Data extended. It is also a very convenient suitcase with a computer, speakers, arduino and electronic circuits to test ideas and projects very quickly. README: https://gitorious.org/malinette/malinette/blobs/master/README.txt Download the last release: http://reso-nance.org/malinette-soft/latest/ List of abstractions (in French): http://reso-nance.org/malinette/ Sources: https://gitorious.org/malinette/malinette/trees/master The project is still in development (0.82), in a in-between state, waiting for feedbacks and suggestions : - bugs with pd version and OS version - understand how to maintain [tof/menubutton] which seems not be in the next pd.extended and which is very useful for our project - add an audio-sampler (record/play, loop/oneshot, start, end, pitchshifter/timestretch) - add a video-sampler + export movie file - ... Best, --- Jérôme http://jeromeabel.net ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Re: [PD] OOP practices in Pure Data
> So are you really commenting about OOP techniques, or are you commenting > about programming conventions of all kinds ? In fact, it's a mix of practices. The purpose is to find words to describe my practice and find what is common to be a "good" patching style. Anyone making a library of abstractions is trying to make common rules. It's easier to understand, maintain, share, etc. A good example is this work : https://github.com/danomatika/rc-patches > How do you justify that $0- variables are like the «private» keyword in OOP ? It makes sense for me to use $0- variables inside an abstraction like private one. Of course, I know that it is possible to send a message outside this scope. However, it seems useful to separate variables. > Why are the three parts of your MVC design patterns not matching the > Model/View/Controller separation that gave the name to MVC ? Because, like you see, it's not really a MVC design. It is more like an inspiration to design a patching architecture. The model could be : PROCESSING The view/controller : GUI An extern controller : commands from outside ? > Why would .h files and/or class interfaces, be considered as one of the three > parts of MVC ? I think it is closer to the class separation between interface (.h) and implementation (.cpp) than MVC. > Why don't you distinguish between messages, selectors and methods, in your > naming ? Naming of variables ? like m_fVolume for a private variable with a float type ? At this level, if I distinguish between variables and methods here, it seems not very useful. It is just setter methods. It could be : [inlet commands] | | [route setVolume setFrequency] : setter methods | | [send $0-volumeIn] : variable is updated > Why do you make a subpatch for communication and then use named send/receives > inside > of it to send to other subpatches ? What do you gain from this ? It's a balance. Separate processing and communication is clearer for me than putting all together. > Why do you join [initbang] and [loadbang] together as a single [r > $0-loadbang] that receives _two_ bangs per object-setup ? That's a mistake, indeed. I use to work with dynamic patching, it's a stupid reaction. > What are the things that we are supposed to learn from that document ? Is it useful to share thoughts with people ? I learn about your paper "A Type Theory for the Documentation of Pure Data" and fix a mistake. -- Jérôme http://jeromeabel.net ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Re: [PD] fx chaining without glitch
I think you should : 1-create all fx objects you want with a send~/receive~ pair and an ID (like a $1) for each like : [s~ fx$1-out], [r~ fx$1-in] 2-create all receives~ [r~ fxID-out] and sends~ [s~ fxID-in] 3-connected them to a [mtx_*~] object from iemmatrix (or [mtx_mul~]) 4-send messages to the matrix objects to make dynamic audio connections 5-bonus : use a switch~ inside each fx objects to turn off/on audio in parallel with matrix messages 6-test it, if it works say hurra, and send us the patch folder Jerome ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Re: [PD] menubar os x
> using negative coordinates doesn't change the fact that menubar is over the > gemwin > [menubar 0( remove the dock, but not the menu bar (on the top...) I don't know if someone tell you a solution. On a Mac mini Intel/Pd.0.42.5.extended, I did it with this message, connected to gemwin : [reset, border 0, menubar 0, dimen 1600 900, offset 0 -51< | | [gemwin] Note : the "dimen" arguments must be your screen size. Jerome ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Re: [PD] Variable number of objects?
Hi, I wrote an abstraction, using "pd-messages" to create objects, [index] to store their ID, and" mouse cut" method to delete them with an ID : http://abel.jerome.free.fr/pd/dynamic-patching/patchs/dyn-objects/dynObjects.zip For more informations, I wrote some lines about dynamic patching here : http://abel.jerome.free.fr/pd/dynamic-patching/reviews/ + Jérôme ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
[PD] Selecting random wavefile from folder without knowing the names
Few months ago, I made this abstraction with [hcs/folder_list]: http://abel.jerome.free.fr/pd/file/fileRandom.zip If it helps. Jerome ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Re: [PD] Dynamic patching with audio - review
Hi all, My last mail was broken by the mailing list engine. The "prose" in a file if you please ;-): http://abel.jerome.free.fr/pd/dynamic-patching/reviews/DynamicPatching_review-3.txt Jérôme (with accents) - Mail original - De: "abel jerome" À: pd-list@iem.at Envoyé: Mercredi 24 Août 2011 12:49:10 Objet: Re: Dynamic patching with audio - review Hi, A new report of my researchs about audio dynamic patching techniques. The continuation of my previous reviews : http://abel.jerome.free.fr/pd/dynamic-patching/reviews/DynamicPatching_review-1.txt http://abel.jerome.free.fr/pd/dynamic-patching/reviews/DynamicPatching_review-2.txt === Pd-list archives === "The issue has been discussed several times" (IOhannes m zmoelnig) That's right. I've just seen that the "pd dsp O/1" method was described in 2005 ! It's quite difficult to find those threads without the terms "dsp tree" or "dsp graph" or "dsp chain". Indeed, I don't know anything about it. A list of the best search terms could help us (see below) and avoid those "noise" requests. We are trying here to make a review of all dynamic patching techniques to make it easier to understand and find the "best" solution for any project. It could be a page on the community website instead of the disheartening "do not use dynamic patching" (http://puredata.info/docs/tutorials/TipsAndTricks#how-to-avoid-audio-drop-outs). - Search engine usage When I search in the pd-list, the score show some posts where the search term are in the next or previous message links, not in the message body. How limit the search term to the body and not the links ? Futhermore, if I'm interested in one thread, it seems that if I choose to sort by thread, it's only the threads of a month. How group one thread on all months ? - Search terms "audio drop-outs with pd dsp O; pd dsp 1" "activate audio abstraction" "dynamic audio abstraction" "dynamic patching" "dynamic patching techniques" "update dsp-tree" "update dsp-graph"ofxPd - Threads about audio dynamic abstraction in pd-list - [PD] strange behavior upon loading dsp abstraction http://lists.puredata.info/pipermail/pd-list/2004-12/thread.html#24337 - [PD] no dsp-chain update after dynamic abstraction-creation http://lists.puredata.info/pipermail/pd-list/2005-06/028923.html - [PD] slowly load a pd-patches/abs without dropouts http://lists.puredata.info/pipermail/pd-list/2007-01/046243.html - [PD] this is crazy http://lists.puredata.info/pipermail/pd-list/2008-01/059244.html - [PD] API for manipulating a patch in real time http://lists.puredata.info/pipermail/pd-list/2008-12/066723.html - [PD] Dynamically created signal object bug http://lists.puredata.info/pipermail/pd-list/2009-02/068246.html - [PD] abstraction creation audio engine start http://lists.puredata.info/pipermail/pd-list/2009-04/069849.html === Dynamic creation of audio abstractions === - Methods 1 - DSP 0/1 2 - Add/clear an audio object (subpatch) 3 - Add/cut any object (subpatch) See : http://abel.jerome.free.fr/pd/dynamicPatching/patchs/dyn-audio-abstraction/ This methods work with any abstraction. - DSP 0/1 method - explanations From IOhannes m zmoelnig : "You shouldn't dynamically create abstractions while dsp is running, as it slows down significantly." "If dsp is on, and you dynamically create 10 objects in one go (in zero logical time), then the dsp graph will be re-calculated 10 times. If you turn dsp off, then dynamically create 10 objects as before, then no dsp graph will be evaluated until you turn dsp on again, summing up to exactly 1 time. Furthermore, it guarantees that the entire DSP graph is calculated and not only parts of it (because of buggy implementations)" Thanks a lot for those explanations. It's clear enough to see why choose these method even if internal processes in the DSP graph are still incomprehensibles. - DSP 0/1 method - Some questions --- With one audio abstraction. If we create just one audio abstraction at one time. Is it still the best solution or is it the same than other methods ? --- Audio clics. From me: But audio clics may occur for all sounds, not just for the new one, right ? From IOhannes: "no, this is wrong. (at least not, if you computer is fast enough to calculate the DSP-graph within the buffertime)." I don
Re: [PD] Dynamic patching with audio - review
Hi, A new report of my researchs about audio dynamic patching techniques. The continuation of my previous reviews : http://abel.jerome.free.fr/pd/dynamic-patching/reviews/DynamicPatching_review-1.txt http://abel.jerome.free.fr/pd/dynamic-patching/reviews/DynamicPatching_review-2.txt === Pd-list archives === "The issue has been discussed several times" (IOhannes m zmoelnig) That's right. I've just seen that the "pd dsp O/1" method was described in 2005 ! It's quite difficult to find those threads without the terms "dsp tree" or "dsp graph" or "dsp chain". Indeed, I don't know anything about it. A list of the best search terms could help us (see below) and avoid those "noise" requests. We are trying here to make a review of all dynamic patching techniques to make it easier to understand and find the "best" solution for any project. It could be a page on the community website instead of the disheartening "do not use dynamic patching" (http://puredata.info/docs/tutorials/TipsAndTricks#how-to-avoid-audio-drop-outs). - Search engine usage When I search in the pd-list, the score show some posts where the search term are in the next or previous message links, not in the message body. How limit the search term to the body and not the links ? Futhermore, if I'm interested in one thread, it seems that if I choose to sort by thread, it's only the threads of a month. How group one thread on all months ? - Search terms "audio drop-outs with pd dsp O; pd dsp 1" "activate audio abstraction" "dynamic audio abstraction" "dynamic patching" "dynamic patching techniques" "update dsp-tree" "update dsp-graph"ofxPd - Threads about audio dynamic abstraction in pd-list - [PD] strange behavior upon loading dsp abstraction http://lists.puredata.info/pipermail/pd-list/2004-12/thread.html#24337 - [PD] no dsp-chain update after dynamic abstraction-creation http://lists.puredata.info/pipermail/pd-list/2005-06/028923.html - [PD] slowly load a pd-patches/abs without dropouts http://lists.puredata.info/pipermail/pd-list/2007-01/046243.html - [PD] this is crazy http://lists.puredata.info/pipermail/pd-list/2008-01/059244.html - [PD] API for manipulating a patch in real time http://lists.puredata.info/pipermail/pd-list/2008-12/066723.html - [PD] Dynamically created signal object bug http://lists.puredata.info/pipermail/pd-list/2009-02/068246.html - [PD] abstraction creation audio engine start http://lists.puredata.info/pipermail/pd-list/2009-04/069849.html === Dynamic creation of audio abstractions === - Methods 1 - DSP 0/1 2 - Add/clear an audio object (subpatch) 3 - Add/cut any object (subpatch) See : http://abel.jerome.free.fr/pd/dynamicPatching/patchs/dyn-audio-abstraction/ This methods work with any abstraction. - DSP 0/1 method - explanations >From IOhannes m zmoelnig : "You shouldn't dynamically create abstractions while dsp is running, as it slows down significantly." "If dsp is on, and you dynamically create 10 objects in one go (in zero logical time), then the dsp graph will be re-calculated 10 times. If you turn dsp off, then dynamically create 10 objects as before, then no dsp graph will be evaluated until you turn dsp on again, summing up to exactly 1 time. Furthermore, it guarantees that the entire DSP graph is calculated and not only parts of it (because of buggy implementations)" Thanks a lot for those explanations. It's clear enough to see why choose these method even if internal processes in the DSP graph are still incomprehensibles. - DSP 0/1 method - Some questions --- With one audio abstraction. If we create just one audio abstraction at one time. Is it still the best solution or is it the same than other methods ? --- Audio clics. >From me: But audio clics may occur for all sounds, not just for the new one, right ? >From IOhannes: "no, this is wrong. (at least not, if you computer is fast enough to calculate the DSP-graph within the buffertime)." I don't understand how you can not heard clics with it. With my system, audio clics occur... Wrong settings ? Do I need a recent computer ? In fact, a clic is heard the first time with Jack/Alsa and always with Alsa and Asio4all. But in a dynamic patching case, what's this first time ? In the dynamic patch example, clics occurs even if I use Jack/Alsa. See : http://abel.jerome.free.fr/pd/dynamic-patching/patchs/cpu-on-off/screenshots/cpu-on-off-audio-clics.png http://abel.jerome.free.fr/pd/dynamic-patching/patchs/dyn-audio-abstraction/screenshots/dyn-activate-audio-abstractions.png --- Time response de
Re: [PD] Dynamic patching with audio - review
Hi, > what about the > game you've talked about ?) I will working on the "3D-game" audio part the next two weeks. If I have time, I will write some notes about my recent tests. > a) you shouldn't dynamically create abstractions while dsp is running, > as it slows down significantly. I would have liked to hear it before... May be I missed a message. How much is your "significantly" ? Do you have taken measures to see what happens whith 10 audio objects, 100 or 1000 ? > b) do [; pd dsp 0; pd dsp 1( right after your creation to fix the dsp-graph But audio clics may occur for all sounds, not just for the new one, right ? Could we do whithout a [line~] object to turn on/off sounds smootly and avoid audio clics ? If we handle all sounds with a [line~]: 1 - stop all sounds smoothly (10 msec) with a GLOBAL send message 2 - wait 10 msec 3 - dsp 0 4 - create the new audio abstractions 5 - dsp 1 6 - turn on all sounds smoothly (10 msec) with a GLOBAL send message Does it sound good ? We have a 20 msec "hole" of sounds. I'm sure that it may be perceptible. Imagine a sound of a bird turned off and on in 20 msec. If we take 5 msec instead of 10 msec ... Cheers, Jerome ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list