[PD] Malinette - rapid prototyping and learning

2014-02-13 Thread abel . jerome
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

2012-10-27 Thread abel . jerome
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

2011-11-30 Thread abel . jerome
> 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

2011-10-21 Thread abel . jerome

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

2011-10-20 Thread abel . jerome
> 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?

2011-09-29 Thread abel . jerome
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

2011-09-20 Thread abel . jerome
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

2011-08-29 Thread abel . jerome

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&#x

Re: [PD] Dynamic patching with audio - review

2011-08-24 Thread abel . jerome
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

2011-08-18 Thread abel . jerome
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