Re: [PD] Creating music notation with GEM

2008-07-17 Thread Collin Oldham
Hi David & list,

I did a project at Stanford/ccrma, for which my pal Rob designed a 
system that used Lilypond to display the output of a patch, and that 
worked beautifully, from the performer's (my) point of view. Here's a 
link to his paper, see section 2.7.

http://nime.org/2006/proc/nime2006_338.pdf

Collin

>   

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Creating music notation with GEM

2008-07-17 Thread patrice colet
Just remember I've made an abstraction for that long ago, it won't be as 
fast as DS but it works and it's attached


patrice colet a écrit :

David Powers a écrit :
  

1. (0 3 5 1 2 4) might make sense for an engineer because zero for him would
be the first note,
but a musician uses to start with one, not zero. If this notation is for
expressing some voicings,
that is a lot easier and free to read under jazz notation for a human,
unless the numbers represents guitar tablatures.

It almost sounds like the machine will help classical musicians or
mathemusicians to do like if they were improvising, interesting...

  

Ah, yes, well I only meant that is the internal representation. The
interface would take that input and generate an appropriate output for
a given instrument in the correct transposition, so a flute player
would see the cell as noteheads on a treble clef.

I'm wondering if I should use something like PyExt to do some of the
mapping, as I don't know of any simple way to do hash dictionaries in
PD itself. As a test last night, I built a simple abstraction to take
notes C C# D etc. and output pitch numbers 0-11, and i found it quite
tedius to do compared to a function in code such as (this is in PHP
because that is what I do all day long at my day job):
function note2number($note) {
 $num = array ('C'=>0,'C#'=>1,'Db'=>1);
 return $num[$note];
}

  

with python it would be very simple as well, AFAIU you would just need 
to declare a dictionnary
and read it through a defined function or a class exactly like you did 
in php ( http://docs.python.org/tut/node7.html )

, explicitely  it's called "Data Structure" in python documentation...

It' possible to use data structure in pure data as well, with using 
array elements for note names, and a pointer index value for the number.
 This kind of stuff is a lot easier to do with data structures, I've 
been able to do things very simply with,

 while it seemed impossible with list objects,
 for example a custom [poly] that is able to manage more than two 
arguments (I could extract and post it if it's necessary)

 and well it's a big advantage in regard of other dataflow applications...


  

4. I imagine that puredata will have to transpose for each instrument, but
if only the key (or key modulation) is given it would be easy to do.

A dictionnary of symbols is so easier to read than numbers for expressing
musical events, that's why I've asked if you used font files,
but maybe using gem geos or texture files would make it more elegant or
versatile?

  

I'm not sure about fonts, I guess I don't know whether that would work
on multiple operating systems... I just thought that GEM would allow
it to work on any OS. I agree it might be nice to use already built
musical symbols rather than reinventing the wheel. Then I would only
need GEM to draw the staff lines and position the noteheads and
symbols in relation to it.

~David

  



Well I think that all the project wouldn't even need externals
but Gem will certainly give it a nice look and might have better 
performances.

Also, ttf files would work on any OS if I'm not mistaken,
 but maybe it would be less complicated with using image files,
I've only tried to draw musical score on Gem with [text] objects.
  

___
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
  


#N canvas 493 443 466 227 12;
#X msg 175 32 A#5;
#X floatatom 174 124 5 0 0 0 - - -;
#X msg 134 36 A#4;
#X obj 176 95 note2f;
#X msg 307 29 C0;
#X msg 223 34 C1;
#X msg 263 33 C-1;
#X msg 349 30 C-2;
#X msg 92 40 A4;
#X symbolatom 30 75 10 0 0 0 - - -;
#X msg 312 70 C#-1;
#X connect 0 0 3 0;
#X connect 2 0 3 0;
#X connect 3 0 1 0;
#X connect 4 0 3 0;
#X connect 5 0 3 0;
#X connect 6 0 3 0;
#X connect 7 0 3 0;
#X connect 8 0 3 0;
#X connect 9 0 3 0;
#X connect 10 0 3 0;
#N canvas 489 6 482 377 10;
#N canvas 404 9 518 432 note 0;
#X obj 212 143 s2l;
#X msg 248 119 symbol;
#X obj 210 66 symbol;
#X obj 203 11 inlet;
#X obj 185 321 outlet;
#X obj 352 272 outlet;
#N canvas 0 0 537 411 drip 0;
#X obj 64 206 list split 1;
#X obj 64 123 until;
#X obj 64 181 list append;
#X obj 194 206 bang;
#X text 146 90 First store list \, then start the loop;
#X text 163 118 "until" bangs its output until told to stop by a "bang"
to its right inlet.;
#X text 182 160 Store the remaining list.;
#X text 239 205 third outlet of "split" tells us to stop.;
#X obj 64 243 outlet;
#X obj 64 57 inlet;
#X text 237 44 From list-help.pd;
#X obj 143 243 outlet;
#X obj 64 86 t b a;
#X connect 0 0 8 0;
#X connect 0 1 2 1;
#X connect 0 2 3 0;
#X connect 0 2 11 0;
#X connect 1 0 2 0;
#X connect 2 0 0 0;
#X connect 3 0 1 1;
#X connect 9 0 12 0;
#X connect 12 0 1 0;
#X connect 12 1 2 1;
#

Re: [PD] Creating music notation with GEM

2008-07-17 Thread patrice colet
David Powers a écrit :
>> 1. (0 3 5 1 2 4) might make sense for an engineer because zero for him would
>> be the first note,
>> but a musician uses to start with one, not zero. If this notation is for
>> expressing some voicings,
>> that is a lot easier and free to read under jazz notation for a human,
>> unless the numbers represents guitar tablatures.
>>
>> It almost sounds like the machine will help classical musicians or
>> mathemusicians to do like if they were improvising, interesting...
>> 
>
> Ah, yes, well I only meant that is the internal representation. The
> interface would take that input and generate an appropriate output for
> a given instrument in the correct transposition, so a flute player
> would see the cell as noteheads on a treble clef.
>
> I'm wondering if I should use something like PyExt to do some of the
> mapping, as I don't know of any simple way to do hash dictionaries in
> PD itself. As a test last night, I built a simple abstraction to take
> notes C C# D etc. and output pitch numbers 0-11, and i found it quite
> tedius to do compared to a function in code such as (this is in PHP
> because that is what I do all day long at my day job):
> function note2number($note) {
>  $num = array ('C'=>0,'C#'=>1,'Db'=>1);
>  return $num[$note];
> }
>
>   
with python it would be very simple as well, AFAIU you would just need 
to declare a dictionnary
and read it through a defined function or a class exactly like you did 
in php ( http://docs.python.org/tut/node7.html )
, explicitely  it's called "Data Structure" in python documentation...

It' possible to use data structure in pure data as well, with using 
array elements for note names, and a pointer index value for the number.
 This kind of stuff is a lot easier to do with data structures, I've 
been able to do things very simply with,
 while it seemed impossible with list objects,
 for example a custom [poly] that is able to manage more than two 
arguments (I could extract and post it if it's necessary)
 and well it's a big advantage in regard of other dataflow applications...


>> 4. I imagine that puredata will have to transpose for each instrument, but
>> if only the key (or key modulation) is given it would be easy to do.
>> 
>> A dictionnary of symbols is so easier to read than numbers for expressing
>> musical events, that's why I've asked if you used font files,
>> but maybe using gem geos or texture files would make it more elegant or
>> versatile?
>> 
>
> I'm not sure about fonts, I guess I don't know whether that would work
> on multiple operating systems... I just thought that GEM would allow
> it to work on any OS. I agree it might be nice to use already built
> musical symbols rather than reinventing the wheel. Then I would only
> need GEM to draw the staff lines and position the noteheads and
> symbols in relation to it.
>
> ~David
>
>   

Well I think that all the project wouldn't even need externals
but Gem will certainly give it a nice look and might have better 
performances.
Also, ttf files would work on any OS if I'm not mistaken,
 but maybe it would be less complicated with using image files,
I've only tried to draw musical score on Gem with [text] objects.
> ___
> 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] Creating music notation with GEM

2008-07-17 Thread David Powers
Okay, I guess I need to check out the pdmtl stuff, I don't have
pd2ascii and ascii2pd but it definitely looks useful. (It took me a
second to realize you wrote a note explaining where pd2ascii was from,
I thought my pd-ext was missing something at first...) In fact, I
definitely better revisit both pdmtl and the RTC-lib before I spend
hours stupidly reinventing the wheel.

One point, you missed the note 'B' on the right hand side of your
patch. Anyway thanks, you just allowed me to cross off an item from my
todo list!

~David


On Thu, Jul 17, 2008 at 4:00 PM, Luigi Rensinghoff
<[EMAIL PROTECTED]> wrote:
> Well..
>
> not terribly tedious ;-)
>
>
>
>
>
>
> Am 17.07.2008 um 21:55 schrieb David Powers:
>
> I'm wondering if I should use something like PyExt to do some of the
>
> mapping, as I don't know of any simple way to do hash dictionaries in
>
> PD itself. As a test last night, I built a simple abstraction to take
>
> notes C C# D etc. and output pitch numbers 0-11, and i found it quite
>
> tedius to do compared to a function in code such as (this is in PHP
>
> because that is what I do all day long at my day job):
>
> function note2number($note) {
>
>  $num = array ('C'=>0,'C#'=>1,'Db'=>1);
>
>  return $num[$note];
>
>>---<
> Luigi Rensinghoff
> [EMAIL PROTECTED]
> skype:gigischinke
> ichat:gigicarlo
>
>
>
>
>

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] saving state of a patch

2008-07-17 Thread Michal Seta
Hi Atte

The best way to start using memento is to get a patch that works, copy
and paste the guts into your own and adapt.  That is, providing that
memento works at all on your system.  There is a guide on footils.org
that should get you started with the ideas behind the system.  It
works fine for me (I don't have pd handy right now so I cannot offer
any specific pointers).

An alternative is apparently part of the pdmtl abstractions
http://wiki.dataflow.ws/PdMtlAbstractions

I saw a presentation on if bu have not yet tried it.  It is, arguably,
simpler to adopt than memento.

On Thu, Jul 17, 2008 at 10:46 AM, Atte André Jensen
<[EMAIL PROTECTED]> wrote:
> Hi
>
> I'm trying to build something generic for performing live with pd and
> for the most parts, it's going really well.
>
> But I need to save the state of "everything" (a patch with some
> instances of some abstractions), so that the widgets will preserve their
> state between sessions.
>
> I looked into memento, but couldn't make it do anything useful, not even
> the manuals/memento/* stuff. Is memento broken and if not, could someone
> provide a brief example of how to use it. If broken, what other options
> are there?
>
> Thanks in advance for any response.
>
> --
> peace, love & harmony
> Atte
>
> http://atte.dk   | http://myspace.com/attejensen
> http://anagrammer.dk | http://modlys.dk
>
> ___
> Pd-list@iem.at mailing list
> UNSUBSCRIBE and account-management -> 
> http://lists.puredata.info/listinfo/pd-list
>



-- 
./MiS
514-344-0726
http://www.creazone.ca

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Creating music notation with GEM

2008-07-17 Thread David Powers
> 1. (0 3 5 1 2 4) might make sense for an engineer because zero for him would
> be the first note,
> but a musician uses to start with one, not zero. If this notation is for
> expressing some voicings,
> that is a lot easier and free to read under jazz notation for a human,
> unless the numbers represents guitar tablatures.
>
> It almost sounds like the machine will help classical musicians or
> mathemusicians to do like if they were improvising, interesting...

Ah, yes, well I only meant that is the internal representation. The
interface would take that input and generate an appropriate output for
a given instrument in the correct transposition, so a flute player
would see the cell as noteheads on a treble clef.

I'm wondering if I should use something like PyExt to do some of the
mapping, as I don't know of any simple way to do hash dictionaries in
PD itself. As a test last night, I built a simple abstraction to take
notes C C# D etc. and output pitch numbers 0-11, and i found it quite
tedius to do compared to a function in code such as (this is in PHP
because that is what I do all day long at my day job):
function note2number($note) {
 $num = array ('C'=>0,'C#'=>1,'Db'=>1);
 return $num[$note];
}

> 4. I imagine that puredata will have to transpose for each instrument, but
> if only the key (or key modulation) is given it would be easy to do.
> 
> A dictionnary of symbols is so easier to read than numbers for expressing
> musical events, that's why I've asked if you used font files,
> but maybe using gem geos or texture files would make it more elegant or
> versatile?

I'm not sure about fonts, I guess I don't know whether that would work
on multiple operating systems... I just thought that GEM would allow
it to work on any OS. I agree it might be nice to use already built
musical symbols rather than reinventing the wheel. Then I would only
need GEM to draw the staff lines and position the noteheads and
symbols in relation to it.

~David

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] really annoying question about tildes~

2008-07-17 Thread Hans-Christoph Steiner

On Jul 17, 2008, at 5:03 AM, IOhannes m zmoelnig wrote:

> hard off wrote:
>> ok, sorry to have caused a fuss.
>>
>> last question:  hypothetically, if miller was to include >~ and <~  
>> into
>> vanilla, would they load properly then?
>
> yes of course.
>
> again: the only problem with these objects is that you cannot have  
> files
> (e.g. binary files containing the code for these objects; or
> abstractions) that are include characters like ">" on certain  
> platforms.
>
> the only solution for this is to use filenames that are named
> differently than the actual class.
>
> this solution can be implenmented in various ways:
> - include it into Pd-vanilla (so these objects would reside in the  
> file
> "pd.lib" or "pd")
> - use multi-object libraries (so these objects reside in  
> "zexy.l_i386")
> - use aliases (so ">~" really lives in "gt~.pd")
> - use a hexloader (kind of generated filenames that map to the  
> original
> classname), so ">~" resides in "0x3e0x7e.pd"
>
>
> so it's rather simple, BUT:
> - Pd-vanilla does not include all the fancy'n'cool objects into Pd  
> (esp.
> if they can be easily built as externals)
> - multi-object libraries are deprecated in PdX
> - aliases are problematic, as you have to tell Pd about these aliases
> somehow (the mapping from ">~" to "gt~" is rather arbitrary)
> - the hexloader has only been partially accepted into Pd-vanilla (that
> is: the filename mangling part has been taken out); and the
> implementation of it as an external loader has only created  
> problems for
> everyone.

So the loaded classes need to be fixed to that they are canvas-local,  
not global like it is currently.  If that was the case, then I could  
see using multi-class-single-file libraries for cases like this,  
provided that they could be used like [>~] and [math/>~].  The tricky  
part would be getting the "math.pd_linux" file to load automatically  
when someone creates [math/>~].

.hc

>
>
>
> mfgasdr
> IOhannes
>
> ___
> Pd-list@iem.at mailing list
> UNSUBSCRIBE and account-management -> http://lists.puredata.info/ 
> listinfo/pd-list



 


News is what people want to keep hidden and everything else is  
publicity.  - Bill Moyers



___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] really annoying question about tildes~

2008-07-17 Thread Hans-Christoph Steiner


On Jul 17, 2008, at 4:34 AM, hard off wrote:


ok, sorry to have caused a fuss.

last question:  hypothetically, if miller was to include >~ and <~  
into vanilla, would they load properly then?


i think those objects SHOULD be a part of vanilla pd anyway.  in  
any sort of audio synthesis patch i do, they invariably need to be  
used.



Depends on how they are built and loaded.

.hc

 



Mistrust authority - promote decentralization.  - the hacker ethic


___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Pd-extended 0.40 cannot load libraries

2008-07-17 Thread Hans-Christoph Steiner

Can you post the transcript from the Pd window?  Are you using your  
own .pdrc or .pdsettings?  Sounds like 'libdir' might not be getting  
loaded.  It needs to be loaded first.

Also, it is better to use the default preferences, then use either  
[import] or [declare] to load other libraries that you might need.

.hc

On Jul 17, 2008, at 3:02 PM, Thomas Mayer wrote:

> Hello,
>
> after my switch from Debian Etch to Lenny I have also tried the latest
> versions of Pd-extended, 0.40-rc3 and the current autobuilds for 0.40
> and 0.42. All three of them cannot load certain libraries that are  
> in my
> startup list. Having not followed the list closely in the last  
> weeks and
> months, I am not sure if this is a know or even intended behaviour,  
> but
> Gem gets loaded without any problems.
>
> Libs that don't get loaded: zexy, flatspace, rtc, cyclone.
>
> cu Thomas
> -- 
> "Prisons are needed only to provide the illusion that courts and  
> police
> are effective. They're a kind of job insurance."
> (Leto II. in: Frank Herbert, God Emperor of Dune)
> http://thomas.dergrossebruder.org/
>
>
> ___
> Pd-list@iem.at mailing list
> UNSUBSCRIBE and account-management -> http://lists.puredata.info/ 
> listinfo/pd-list




 


You can't steal a gift. Bird gave the world his music, and if you can  
hear it, you can have it. - Dizzy Gillespie




___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] background color of instances of abstraction

2008-07-17 Thread Hans-Christoph Steiner

Yeah, you could probably use the float value of $0 to generate the  
color.

.hc

On Jul 17, 2008, at 1:18 PM, marius schebella wrote:

> hi,
> either put a canvas in the background and change it via send/ 
> receive or
> use sys_gui in combination with hcs/canvas_name which lets you change
> the font/bg colors of your patch dynamically.
> marius.
>
>
> Atte André Jensen wrote:
>> Hi
>>
>> Is it possible (for reasons of visual feedback) to change the  
>> background
>> color of one instance of an abstraction? It's an abstraction where  
>> only
>> one instance is active at the time, so I'd like to change the  
>> background
>> color of the active one. Is obviously should be done programatically
>> from pd...
>>
>
>
> ___
> Pd-list@iem.at mailing list
> UNSUBSCRIBE and account-management -> http://lists.puredata.info/ 
> listinfo/pd-list



 


Mistrust authority - promote decentralization.  - the hacker ethic



___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


[PD] Pd-extended 0.40 cannot load libraries

2008-07-17 Thread Thomas Mayer
Hello,

after my switch from Debian Etch to Lenny I have also tried the latest
versions of Pd-extended, 0.40-rc3 and the current autobuilds for 0.40
and 0.42. All three of them cannot load certain libraries that are in my
startup list. Having not followed the list closely in the last weeks and
months, I am not sure if this is a know or even intended behaviour, but
Gem gets loaded without any problems.

Libs that don't get loaded: zexy, flatspace, rtc, cyclone.

cu Thomas
-- 
"Prisons are needed only to provide the illusion that courts and police
are effective. They're a kind of job insurance."
(Leto II. in: Frank Herbert, God Emperor of Dune)
http://thomas.dergrossebruder.org/


___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Creating music notation with GEM

2008-07-17 Thread patrice colet
David Powers a écrit :
> This sounds interesting, I will take a look at it when I get out of work...
>
> As far as what improvisors need, I'm working in the more
> 'experimental' improv scene right now, which means:
>
> 1. They won't be playing 'Cmajor7' but rather collections of pitch
> cells such as (0 3 5 1 2 4) in some specific key
> 2. There will be additional types of symbols and data, or poetic instructions
> 3. There will be instructions for some improvisors to lead and others
> to follow the leader at various points
> 4. The ultimate idea for a current project is that there will be a
> conductor coordinating improvisors, able to send commands across a
> network to multiple improvisors on the fly. Of course, this opens the
> way for a computer to take the role of conductor also. But in either
> case, there is not a score but rather the structure if the work itself
> is also improvised anew at every performance, out of a collection of
> potential cells and potential instructions that define the space of
> possibilities that any given work inhabits.
>
> In other words, don't think that 'improvisors' means that this is in
> any way going to be 'jazz'. Think more along the lines of the music of
> Webern + Morton Feldman + Cecil Taylor + John Cage...
>
> ~David
>
>
>   
>
I was more thinking about K. Stockhausen, but anyway if this sounds out 
of tune, or smells funny,
 there always will be people that say 'it's jazz'.

1. (0 3 5 1 2 4) might make sense for an engineer because zero for him 
would be the first note,
but a musician uses to start with one, not zero. If this notation is for 
expressing some voicings,
 that is a lot easier and free to read under jazz notation for a human, 
unless the numbers represents guitar tablatures.

It almost sounds like the machine will help classical musicians or 
mathemusicians to do like if they were improvising, interesting...

2.3. I've played a piece long time ago (so long I don't remember the 
title), with other improvisators, where notes on the musical score
were replaced by different symbols  that give instructions differents 
than time and pitch, but also the tone, or pick a note,
 or replay the other voice's pitch or rythm, or tone, or play same fast, 
go slow...
That was funny, and sure it would be more funny if it's a computer that 
conducts everyone!

4. I imagine that puredata will have to transpose for each instrument, 
but if only the key (or key modulation) is given it would be easy to do.

 A dictionnary of symbols is so easier to read than numbers for 
expressing musical events, that's why I've asked if you used font files,
 but maybe using gem geos or texture files would make it more elegant or 
versatile?

yes I

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] background color of instances of abstraction

2008-07-17 Thread marius schebella
hi,
either put a canvas in the background and change it via send/receive or 
use sys_gui in combination with hcs/canvas_name which lets you change 
the font/bg colors of your patch dynamically.
marius.


Atte André Jensen wrote:
> Hi
> 
> Is it possible (for reasons of visual feedback) to change the background 
> color of one instance of an abstraction? It's an abstraction where only 
> one instance is active at the time, so I'd like to change the background 
> color of the active one. Is obviously should be done programatically 
> from pd...
> 


___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


[PD] background color of instances of abstraction

2008-07-17 Thread Atte André Jensen
Hi

Is it possible (for reasons of visual feedback) to change the background 
color of one instance of an abstraction? It's an abstraction where only 
one instance is active at the time, so I'd like to change the background 
color of the active one. Is obviously should be done programatically 
from pd...

-- 
peace, love & harmony
Atte

http://atte.dk   | http://myspace.com/attejensen
http://anagrammer.dk | http://modlys.dk

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Creating music notation with GEM

2008-07-17 Thread David Powers
This sounds interesting, I will take a look at it when I get out of work...

As far as what improvisors need, I'm working in the more
'experimental' improv scene right now, which means:

1. They won't be playing 'Cmajor7' but rather collections of pitch
cells such as (0 3 5 1 2 4) in some specific key
2. There will be additional types of symbols and data, or poetic instructions
3. There will be instructions for some improvisors to lead and others
to follow the leader at various points
4. The ultimate idea for a current project is that there will be a
conductor coordinating improvisors, able to send commands across a
network to multiple improvisors on the fly. Of course, this opens the
way for a computer to take the role of conductor also. But in either
case, there is not a score but rather the structure if the work itself
is also improvised anew at every performance, out of a collection of
potential cells and potential instructions that define the space of
possibilities that any given work inhabits.

In other words, don't think that 'improvisors' means that this is in
any way going to be 'jazz'. Think more along the lines of the music of
Webern + Morton Feldman + Cecil Taylor + John Cage...

~David

On Thu, Jul 17, 2008 at 4:31 AM, patrice colet <[EMAIL PROTECTED]> wrote:
> Sayonara,
>
> How do you display the chords in GEM? I personaly use a jazzfont ttf and
> curves,
> the attached patch is an attempt to display a score that any reader would
> understand because it's written like in the Realbook.
> Unfortunately I didn't finish this project (like many ones), but it might
> give a clue I hope.
>
> I really don't think that an improvisator will enjoy to have single notes
> packets to read for each chord,
> in fact I don't know any improvisator that need to read something else than
> jazzchords and melodies for playing,
> unless they have a notice given with the score where the composer has
> explained all his weird symbols, quite annoying to make, to play, to read,
> and to hear...for me.
>
> Also I've started a project for writting scores with datastructures,
> attached archive is an old sample of this datastructure project,
> done with the help of F. Barkneicht, I've done something more sophisticated,
> but the purpose wasn't really about reading/playing/learning music but it's
> just a 'proof of the concept' game, maybe you will see it through the
> publication of the PureCorps game started last year...
>
> I think that the advantage of scores displayed by a computer is about having
> pages (or even better the first line) updated automatically when the reader
> is at the last line.
>
> I will be need of something functionnal for playing in concerts soon,
> then will certainly make something that will fit my use and reading
> abilities,
> I'll also need to write strange tuplets like the ones you can find in FZ's
> Black Page...
> If someone is interested I could update this work in pd-announce ?
> Anyway, all this stuff won't be as powerful as some lilypond external or
> something similar...
>
> Jaa.
>
>
> David Powers a écrit :
>>
>> Hello,
>>
>> I have a question, how hard do you think it would be create a notation
>> engine for GEM? What considerations would go into the design?
>>
>> On the simplest level, I'm imagining doing non-rhythmic notation to
>> display chords and cells for improvisors.
>>
>> Since the number of notes on a chord would be determined on the fly,
>> would it be better to create the max amount of objects and turn off
>> unwanted ones, or better to use dynamic patching? This would simply be
>> to create circles representing noteheads Here's my imaginary
>> prototype:
>>
>> [gemhead]
>>   |
>>   |
>>   |   [cell G Ab F# F (   or  [chords c4 e4 g4 , F#4 G4 B4 (
>> or   [cell 0 4 3 5 2 1 (
>>   |   /
>>   |  /
>> [treble_clef]
>>
>> Anybody have any idea what kind of messages I might send such an object?
>>
>> ~David
>>
>> ___
>> Pd-list@iem.at mailing list
>> UNSUBSCRIBE and account-management ->
>> http://lists.puredata.info/listinfo/pd-list
>>
>
>
> #N canvas 333 338 624 320 10;
> #X obj 16 77 gemwin;
> #X msg 27 54 0 \, destroy;
> #X obj 17 10 loadbang;
> #N canvas 349 55 555 403 text 0;
> #X obj 95 33 inlet;
> #X obj 199 37 inlet;
> #X obj 129 300 outlet;
> #X obj 17 220 text2d;
> #X obj 74 222 text3d;
> #X obj 131 221 textextruded;
> #X obj 237 222 textoutline;
> #X obj 110 144 demux 0 1 2 3;
> #X obj 236 153 r \$0-text;
> #X obj 320 154 r \$0-size;
> #X floatatom 408 129 5 0 0 0 - - -;
> #X msg 409 162 depth \$1;
> #X connect 0 0 7 0;
> #X connect 1 0 7 1;
> #X connect 3 0 2 0;
> #X connect 4 0 2 0;
> #X connect 5 0 2 0;
> #X connect 6 0 2 0;
> #X connect 7 0 3 0;
> #X connect 7 1 4 0;
> #X connect 7 2 5 0;
> #X connect 7 3 6 0;
> #X connect 8 0 6 0;
> #X connect 8 0 5 0;
> #X connect 8 0 4 0;
> #X connect 8 0 3 0;
> #X connect 9 0 6 1;
> #X connect 9 0 5 1;
> #X connect 9 0 4 1;
> #X connect 9 0 3 1;
> #X connect 10 0

Re: [PD] Free rotation in GEM

2008-07-17 Thread cyrille henry

hello,

yes, there was a small bug in your algo.

it's easier for me to make a patch than to explain the problem.
so, i think this is what you need.

cyrille


PSPunch a écrit :


Cyrille,


With your advise, I think I've successfully implemented the algorithm I 
had in mind.


The sad thing is, the algorithm I imagined did not exactly function in 
the way I wanted.


i.e. 1,
during one "drag session", when rotating the Y axis (dragging right or 
left) 180 degrees and then the x axis (up or down), it rotates as 
expected. However, when moving the axis in reverse order (making the 
teapot upside down, and then rotate) it does not rotate in the expected 
direction.


i.e. 2,
Behavior when dragging from one corner diagonally across the screen is 
not as expected.


I've attached a sample patch.


Probably the two problems are related. I need to look into this a bit 
more..


--
David Shimamoto



ok.
i think i undersand.

there is an other possibility based on the gemlist_info object that 
get curent transformation matrix and convert it to rotation / 
translation ...



so, what i think is the most simple is :
gemhead
|
rotateXYZ (for the drag rotation, should be (0 0 0) when you don't 
drag)

|
rotateXYZ (for a feedback loop thanks to the rotation given by by 
the last object on the chain)

|
object primitive
|
gemlist (the gemlist should be banged only at the end of the 
drag)

|
gemlist_info (get curent rotation at the end of the drag, and send it 
to the 2nd rotate)



you can save few cpu using gemlist_matrix and GEMglMultMatrix.

this is a bit like the algorythm you describ, execpt that everything 
is computed on the GPU (it is more the Gem way to do).


cyrille

PSPunch a écrit :

Hi,


My primary goal is to place an object you can rotate by dragging the 
mouse.



Basically, whenever the mouse is clicked to start drag, I want to 
rotate the object on the X & Y axises. Up to this point is no 
problem, but I want the rotation to begin assuming the direction of 
the viewer being the bases of the axis.


Using one [rotate] object, I can get the object to rotate in the 
behavior I expect only on the first drag.


Ideally, each time the mouse button is released, the base (fundus? 
basal?) of the rotation vector should be updated... I think.


By chaining [rotate] objects, I can use one to rotate the rotation 
axis and another to rotate the object from that point.

However, I have not found a method of summing multiple drag actions.


Although I may be wrong, I think what I need to do is,


1. Prepare two rotation axises
I. Angle of the axis
II.Angle of the current drag session

2. When the mouse button is clicked, rotate object to
angles I + II

3. When the mouse button is released, sum I + II and wait for
a new click.


And again, although I may be wrong, my current understanding is that 
step 3 will require multiplying the X-Y-Z angles converted to 
quaternion, or some other method which will rotate the Z axis at some 
point by summing rotations based only on the X&Y axises.



Using procedures completely different from the one mentioned abouve, 
I was able to achieve the expected behavior based on [accumrotate] 
but I found no simple way of managing the current angle.


Unfortunately I have torn down the patch. If it would clarify 
anything, I will try to put together another one later today.



Thanks for replies.
--
David Shimamoto



Indeed,

Seems to me all the matrix discussion does not get to the heart of the
question.

So, Pspunch, what are you really trying to do?

I agree with cyrille that It's very likely the normal rotation objects
will do what you want it to.

If you are just wanting to rotate many times, using huge numbers then
tricks like: wrap 0 359 work well...

..b

cyrille henry wrote:

hello

sorry if i misunderstand.
rotateXYZ will rotate in X direction, then in Y, finally in Z.
if you wish to rotate in Z, then in X, you just need 2 rotate objects:
the 1st for the rotation in Z, then an other for the rotation in X.

anyway, there is no matrix manipulation that i was not able to do 
with rotate/rotateXYZ/translateXYZ/scaleXYZ/shearXY..
so i'm quite sure you don't need anything else than this standard 
objects for simple matrix rotation.


so i think you need 1 [rotate] to rotate the vector axis of the 
object, then a accumrotate.

if i misunderstood, could you please describe your problem better.

I think you can also use GEMgl objects to multiply the matrix with 
a custom one, but it's to much complex for what you need.


cyrille



PSPunch a écrit :

Hi Mathieu,


I have not looked into GridFlow much, but I had the impression 
that its main concept was to add matrix manipulation features to 
Pd, all of its visual capabilities being just one of the many 
results of data you can manipulate with matrix. (or is the egg 
first?)



Anyway, understanding its marvelous potentials, I have lately been 
stuck with Windows platforms. At l

[PD] saving state of a patch

2008-07-17 Thread Atte André Jensen
Hi

I'm trying to build something generic for performing live with pd and 
for the most parts, it's going really well.

But I need to save the state of "everything" (a patch with some 
instances of some abstractions), so that the widgets will preserve their 
state between sessions.

I looked into memento, but couldn't make it do anything useful, not even 
the manuals/memento/* stuff. Is memento broken and if not, could someone 
provide a brief example of how to use it. If broken, what other options 
are there?

Thanks in advance for any response.

-- 
peace, love & harmony
Atte

http://atte.dk   | http://myspace.com/attejensen
http://anagrammer.dk | http://modlys.dk

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] How to read .mid files

2008-07-17 Thread Spencer Russell
> Date: Thu, 17 Jul 2008 15:26:28 +0200
> From: Costis Benardis <[EMAIL PROTECTED]>
> Subject: [PD] How to read .mid files
>
> Hi
>
> I have a simple (i hope) question. How can i read a midi file stored in my 
> hd. What i want to do is to read data from a .mid file and write them in a 
> table.
>
> Thanks
>

If you don't mind a little compilation, I wrote an object called
midiopen that opens a midi file and dumps the data to its outlet.
Check out the SVN repo with

svn checkout http://pdhmm.googlecode.com/svn/trunk/ pdhmm

if you're on linux you should be able to compile it just by typing "scons"

it's still pretty preliminary, but it should work on most midi files
that don't have any SysEx messages in them.

One of these days I'll clean it up and perhaps add it to pd-extended.

-spencer

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] How to read .mid files

2008-07-17 Thread Martin Peach
You could use [mrpeach/midifile] or [mrpeach/binfile] depending on how raw 
you want the data.

Martin


Costis Benardis wrote:
>I have a simple (i hope) question. How can i read a midi file stored in my 
>hd. What i want to do is to read data from a .mid file and write them in a 
>table.
>
>Thanks



___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Free rotation in GEM

2008-07-17 Thread Matthew Logan
This is rotating about local axes within the pot, which move when the pot
moves, creating the strange response.  The response should be based on a
global set of axes, which will remain constant and provide the response you
want.

On 7/17/08, PSPunch <[EMAIL PROTECTED]> wrote:
>
>
> Cyrille,
>
>
> With your advise, I think I've successfully implemented the algorithm I had
> in mind.
>
> The sad thing is, the algorithm I imagined did not exactly function in the
> way I wanted.
>
> i.e. 1,
> during one "drag session", when rotating the Y axis (dragging right or
> left) 180 degrees and then the x axis (up or down), it rotates as expected.
> However, when moving the axis in reverse order (making the teapot upside
> down, and then rotate) it does not rotate in the expected direction.
>
> i.e. 2,
> Behavior when dragging from one corner diagonally across the screen is not
> as expected.
>
> I've attached a sample patch.
>
>
> Probably the two problems are related. I need to look into this a bit
> more..
>
> --
> David Shimamoto
>
>
> ok.
>> i think i undersand.
>>
>> there is an other possibility based on the gemlist_info object that get
>> curent transformation matrix and convert it to rotation / translation ...
>>
>>
>> so, what i think is the most simple is :
>>gemhead
>>|
>>rotateXYZ (for the drag rotation, should be (0 0 0) when you don't
>> drag)
>>|
>>rotateXYZ (for a feedback loop thanks to the rotation given by by the
>> last object on the chain)
>>|
>>object primitive
>>|
>> gemlist (the gemlist should be banged only at the end of the drag)
>> |
>> gemlist_info (get curent rotation at the end of the drag, and send it to
>> the 2nd rotate)
>>
>>
>> you can save few cpu using gemlist_matrix and GEMglMultMatrix.
>>
>> this is a bit like the algorythm you describ, execpt that everything is
>> computed on the GPU (it is more the Gem way to do).
>>
>> cyrille
>>
>> PSPunch a écrit :
>>
>>> Hi,
>>>
>>>
>>> My primary goal is to place an object you can rotate by dragging the
>>> mouse.
>>>
>>>
>>> Basically, whenever the mouse is clicked to start drag, I want to rotate
>>> the object on the X & Y axises. Up to this point is no problem, but I want
>>> the rotation to begin assuming the direction of the viewer being the bases
>>> of the axis.
>>>
>>> Using one [rotate] object, I can get the object to rotate in the behavior
>>> I expect only on the first drag.
>>>
>>> Ideally, each time the mouse button is released, the base (fundus?
>>> basal?) of the rotation vector should be updated... I think.
>>>
>>> By chaining [rotate] objects, I can use one to rotate the rotation axis
>>> and another to rotate the object from that point.
>>> However, I have not found a method of summing multiple drag actions.
>>>
>>>
>>> Although I may be wrong, I think what I need to do is,
>>>
>>>
>>> 1. Prepare two rotation axises
>>>I. Angle of the axis
>>>II.Angle of the current drag session
>>>
>>> 2. When the mouse button is clicked, rotate object to
>>>angles I + II
>>>
>>> 3. When the mouse button is released, sum I + II and wait for
>>>a new click.
>>>
>>>
>>> And again, although I may be wrong, my current understanding is that step
>>> 3 will require multiplying the X-Y-Z angles converted to quaternion, or some
>>> other method which will rotate the Z axis at some point by summing rotations
>>> based only on the X&Y axises.
>>>
>>>
>>> Using procedures completely different from the one mentioned abouve, I
>>> was able to achieve the expected behavior based on [accumrotate] but I found
>>> no simple way of managing the current angle.
>>>
>>> Unfortunately I have torn down the patch. If it would clarify anything, I
>>> will try to put together another one later today.
>>>
>>>
>>> Thanks for replies.
>>> --
>>> David Shimamoto
>>>
>>>
>>> Indeed,

 Seems to me all the matrix discussion does not get to the heart of the
 question.

 So, Pspunch, what are you really trying to do?

 I agree with cyrille that It's very likely the normal rotation objects
 will do what you want it to.

 If you are just wanting to rotate many times, using huge numbers then
 tricks like: wrap 0 359 work well...

 ..b

 cyrille henry wrote:

> hello
>
> sorry if i misunderstand.
> rotateXYZ will rotate in X direction, then in Y, finally in Z.
> if you wish to rotate in Z, then in X, you just need 2 rotate objects:
> the 1st for the rotation in Z, then an other for the rotation in X.
>
> anyway, there is no matrix manipulation that i was not able to do with
> rotate/rotateXYZ/translateXYZ/scaleXYZ/shearXY..
> so i'm quite sure you don't need anything else than this standard
> objects for simple matrix rotation.
>
> so i think you need 1 [rotate] to rotate the vector axis of the object,
> then a accumrotate.
> if i misunderstood, could you please describe your problem better.
>
>

[PD] How to read .mid files

2008-07-17 Thread Costis Benardis

Hi 

I have a simple (i hope) question. How can i read a midi file stored in my hd. 
What i want to do is to read data from a .mid file and write them in a table.

Thanks

_
Connect to the next generation of MSN Messenger 
http://imagine-msn.com/messenger/launch80/default.aspx?locale=en-us&source=wlmailtagline___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Free rotation in GEM

2008-07-17 Thread PSPunch


Cyrille,


With your advise, I think I've successfully implemented the algorithm I 
had in mind.


The sad thing is, the algorithm I imagined did not exactly function in 
the way I wanted.


i.e. 1,
during one "drag session", when rotating the Y axis (dragging right or 
left) 180 degrees and then the x axis (up or down), it rotates as 
expected. However, when moving the axis in reverse order (making the 
teapot upside down, and then rotate) it does not rotate in the expected 
direction.


i.e. 2,
Behavior when dragging from one corner diagonally across the screen is 
not as expected.


I've attached a sample patch.


Probably the two problems are related. I need to look into this a bit more..

--
David Shimamoto



ok.
i think i undersand.

there is an other possibility based on the gemlist_info object that get 
curent transformation matrix and convert it to rotation / translation ...



so, what i think is the most simple is :
gemhead
|
rotateXYZ (for the drag rotation, should be (0 0 0) when you don't 
drag)

|
rotateXYZ (for a feedback loop thanks to the rotation given by by 
the last object on the chain)

|
object primitive
|
gemlist (the gemlist should be banged only at the end of the drag)
|
gemlist_info (get curent rotation at the end of the drag, and send it to 
the 2nd rotate)



you can save few cpu using gemlist_matrix and GEMglMultMatrix.

this is a bit like the algorythm you describ, execpt that everything is 
computed on the GPU (it is more the Gem way to do).


cyrille

PSPunch a écrit :

Hi,


My primary goal is to place an object you can rotate by dragging the 
mouse.



Basically, whenever the mouse is clicked to start drag, I want to 
rotate the object on the X & Y axises. Up to this point is no problem, 
but I want the rotation to begin assuming the direction of the viewer 
being the bases of the axis.


Using one [rotate] object, I can get the object to rotate in the 
behavior I expect only on the first drag.


Ideally, each time the mouse button is released, the base (fundus? 
basal?) of the rotation vector should be updated... I think.


By chaining [rotate] objects, I can use one to rotate the rotation 
axis and another to rotate the object from that point.

However, I have not found a method of summing multiple drag actions.


Although I may be wrong, I think what I need to do is,


1. Prepare two rotation axises
I. Angle of the axis
II.Angle of the current drag session

2. When the mouse button is clicked, rotate object to
angles I + II

3. When the mouse button is released, sum I + II and wait for
a new click.


And again, although I may be wrong, my current understanding is that 
step 3 will require multiplying the X-Y-Z angles converted to 
quaternion, or some other method which will rotate the Z axis at some 
point by summing rotations based only on the X&Y axises.



Using procedures completely different from the one mentioned abouve, I 
was able to achieve the expected behavior based on [accumrotate] but I 
found no simple way of managing the current angle.


Unfortunately I have torn down the patch. If it would clarify 
anything, I will try to put together another one later today.



Thanks for replies.
--
David Shimamoto



Indeed,

Seems to me all the matrix discussion does not get to the heart of the
question.

So, Pspunch, what are you really trying to do?

I agree with cyrille that It's very likely the normal rotation objects
will do what you want it to.

If you are just wanting to rotate many times, using huge numbers then
tricks like: wrap 0 359 work well...

..b

cyrille henry wrote:

hello

sorry if i misunderstand.
rotateXYZ will rotate in X direction, then in Y, finally in Z.
if you wish to rotate in Z, then in X, you just need 2 rotate objects:
the 1st for the rotation in Z, then an other for the rotation in X.

anyway, there is no matrix manipulation that i was not able to do 
with rotate/rotateXYZ/translateXYZ/scaleXYZ/shearXY..
so i'm quite sure you don't need anything else than this standard 
objects for simple matrix rotation.


so i think you need 1 [rotate] to rotate the vector axis of the 
object, then a accumrotate.

if i misunderstood, could you please describe your problem better.

I think you can also use GEMgl objects to multiply the matrix with a 
custom one, but it's to much complex for what you need.


cyrille



PSPunch a écrit :

Hi Mathieu,


I have not looked into GridFlow much, but I had the impression that 
its main concept was to add matrix manipulation features to Pd, all 
of its visual capabilities being just one of the many results of 
data you can manipulate with matrix. (or is the egg first?)



Anyway, understanding its marvelous potentials, I have lately been 
stuck with Windows platforms. At least I got your point that 
utilizing GridFlow only for crunching numbers may work but not so 
efficient.




What I am trying to do is rotate the vector axis of the object 
before appl

Re: [PD] the fastest way to read/write a lot of information from memory/hard disk

2008-07-17 Thread Claude Heiland-Allen
hard off wrote:
> i have a couple of sequencers with 16 steps and about 5 parameters for each
> step
> , and then a bunch of synths and drum machines running.
> 
> 
> i have always used textfile for saving sequence and control data for such
> setups, but if i have a hundred patterns or more, it gets really slow.  i
> guess its something to do with the way textfile accesses the hard disk.
> it's just not very efficient for large amounts of data.
> 
> what are my other options?

Quick solution would be to put the files on a ram disk, on linux this is 
tmpfs, and usually there is already /dev/shm/ mounted with that filesystem.

Other solution might be to have one big file to contain everything, 
rather than hundreds of files one for each pattern.  But then using 
[textfile] would be limited.



I'm working on a state-saving system in Lua, when that's finished it 
might be an option - it's designed to keep everything in memory in a 
structured way (like a virtual filesystem tree).  It's nowhere near 
ready for use yet, and it might take a while.  The idiomatic use would 
be to do something like:

[nbx]X[lagoon /some/path/with/a/key]

then the number box value would be saved/restored/broadcast to other 
[lagoon] objects with the same /some/path/with/a/key , then something 
like (not implemented yet..):

"copy /some/path/presets/preset1 /some/path/live/synth1"
  |
[lagoon]

to restore presets or the reverse order to save presets.


Claude
-- 
http://claudiusmaximus.goto10.org

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Pd/MAX grudge match in Toronto next Thursday

2008-07-17 Thread Michal Seta
On Wed, Jul 16, 2008 at 7:05 PM, Dafydd Hughes <[EMAIL PROTECTED]> wrote:

> Competitors: Frank Tsonis vs. Dafydd Hughes and David McCallum

While I play for the Pd team, I find this rather unfair, 2 on 1.  But
on the other hand, most Max users I've met think that Max is twice as
good so I guess that evens out.

Go Daf and Dave!

Now, should your Pd break for some reason, you can follow this lead
(courtesy of Google's sponsored links, popped up next to your
announcement):


Fix Pd
Try free download to repair Pd instantly!
Filetonic.com


I guess this should also put all the Pd troubles to rest and we can
all concentrate on making art.

cheers

-- 
./MiS

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


[PD] the fastest way to read/write a lot of information from memory/hard disk

2008-07-17 Thread hard off
i have a couple of sequencers with 16 steps and about 5 parameters for each
step
, and then a bunch of synths and drum machines running.


i have always used textfile for saving sequence and control data for such
setups, but if i have a hundred patterns or more, it gets really slow.  i
guess its something to do with the way textfile accesses the hard disk.
it's just not very efficient for large amounts of data.

what are my other options?
___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Free rotation in GEM

2008-07-17 Thread IOhannes m zmoelnig
PSPunch wrote:
> Thanks, cyrille,
> 
> 
> I looked up some of the objects which were new to me in order to 
> understand your method, and your example makes an awful lot of sense.
> I will try implementing it later today.
> 
> 
> Mean while,
> 
>  > you can save few cpu using gemlist_matrix and GEMglMultMatrix.
> 
> Can you please show me specifically how I can utilize these?
> I was not able to create [GEMglMultMatrix] as an object so I am guessing 
> it is an abbreviation of some related method I do not know of.

use [GEMglMultMatrixf] (or [GEMglMultMatrixd], but the latter will not 
give you any benefits with a current Pd)

when starting with GEMgl... you should be aware that you are doing 
openGL (there's nothing wrong with that) and that you will have to 
follow openGL conventions
a good start is to search the web for (e.g.) "glMultMatrix" and see what 
it gives you...


gfasmrd
IOhannes

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Free rotation in GEM

2008-07-17 Thread PSPunch

Thanks, cyrille,


I looked up some of the objects which were new to me in order to 
understand your method, and your example makes an awful lot of sense.
I will try implementing it later today.


Mean while,

 > you can save few cpu using gemlist_matrix and GEMglMultMatrix.

Can you please show me specifically how I can utilize these?
I was not able to create [GEMglMultMatrix] as an object so I am guessing 
it is an abbreviation of some related method I do not know of.

Also, are there any resources on what practices are processed on the GPU 
and which ones are not? That is a point I have never considered but is 
probably worth thinking of for intense patches I may (or I may not, 
someone else may..) build in the future.


Thanks.

--
David Shimamoto

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Free rotation in GEM

2008-07-17 Thread cyrille henry
ok.
i think i undersand.

there is an other possibility based on the gemlist_info object that get curent 
transformation matrix and convert it to rotation / translation ...


so, what i think is the most simple is : 

gemhead
|
rotateXYZ (for the drag rotation, should be (0 0 0) when you don't drag)
|
rotateXYZ (for a feedback loop thanks to the rotation given by by the 
last object on the chain)
|
object primitive
|
gemlist (the gemlist should be banged only at the end of the 
drag)
|
gemlist_info (get curent rotation at the end of the drag, and send it to the 
2nd rotate)
 

you can save few cpu using gemlist_matrix and GEMglMultMatrix.

this is a bit like the algorythm you describ, execpt that everything is 
computed on the GPU (it is more the Gem way to do).

cyrille

PSPunch a écrit :
> Hi,
> 
> 
> My primary goal is to place an object you can rotate by dragging the mouse.
> 
> 
> Basically, whenever the mouse is clicked to start drag, I want to rotate 
> the object on the X & Y axises. Up to this point is no problem, but I 
> want the rotation to begin assuming the direction of the viewer being 
> the bases of the axis.
> 
> Using one [rotate] object, I can get the object to rotate in the 
> behavior I expect only on the first drag.
> 
> Ideally, each time the mouse button is released, the base (fundus? 
> basal?) of the rotation vector should be updated... I think.
> 
> By chaining [rotate] objects, I can use one to rotate the rotation axis 
> and another to rotate the object from that point.
> However, I have not found a method of summing multiple drag actions.
> 
> 
> Although I may be wrong, I think what I need to do is,
> 
> 
> 1. Prepare two rotation axises
> I. Angle of the axis
> II.Angle of the current drag session
> 
> 2. When the mouse button is clicked, rotate object to
> angles I + II
> 
> 3. When the mouse button is released, sum I + II and wait for
> a new click.
> 
> 
> And again, although I may be wrong, my current understanding is that 
> step 3 will require multiplying the X-Y-Z angles converted to 
> quaternion, or some other method which will rotate the Z axis at some 
> point by summing rotations based only on the X&Y axises.
> 
> 
> Using procedures completely different from the one mentioned abouve, I 
> was able to achieve the expected behavior based on [accumrotate] but I 
> found no simple way of managing the current angle.
> 
> Unfortunately I have torn down the patch. If it would clarify anything, 
> I will try to put together another one later today.
> 
> 
> Thanks for replies.
> --
> David Shimamoto
> 
> 
>> Indeed,
>>
>> Seems to me all the matrix discussion does not get to the heart of the
>> question.
>>
>> So, Pspunch, what are you really trying to do?
>>
>> I agree with cyrille that It's very likely the normal rotation objects
>> will do what you want it to.
>>
>> If you are just wanting to rotate many times, using huge numbers then
>> tricks like: wrap 0 359 work well...
>>
>> ..b
>>
>> cyrille henry wrote:
>>> hello
>>>
>>> sorry if i misunderstand.
>>> rotateXYZ will rotate in X direction, then in Y, finally in Z.
>>> if you wish to rotate in Z, then in X, you just need 2 rotate objects:
>>> the 1st for the rotation in Z, then an other for the rotation in X.
>>>
>>> anyway, there is no matrix manipulation that i was not able to do with 
>>> rotate/rotateXYZ/translateXYZ/scaleXYZ/shearXY..
>>> so i'm quite sure you don't need anything else than this standard objects 
>>> for simple matrix rotation.
>>>
>>> so i think you need 1 [rotate] to rotate the vector axis of the object, 
>>> then a accumrotate.
>>> if i misunderstood, could you please describe your problem better.
>>>
>>> I think you can also use GEMgl objects to multiply the matrix with a custom 
>>> one, but it's to much complex for what you need.
>>>
>>> cyrille
>>>
>>>
>>>
>>> PSPunch a écrit :
 Hi Mathieu,


 I have not looked into GridFlow much, but I had the impression that its 
 main concept was to add matrix manipulation features to Pd, all of its 
 visual capabilities being just one of the many results of data you can 
 manipulate with matrix. (or is the egg first?)


 Anyway, understanding its marvelous potentials, I have lately been stuck 
 with Windows platforms. At least I got your point that utilizing 
 GridFlow only for crunching numbers may work but not so efficient.



 What I am trying to do is rotate the vector axis of the object before 
 applying [rotation]. This also calls for a method of summing the 
 rotations when applying multiple times (and my current understanding is 
 that this can only be done by multiplying the quaternion on each rotation)

 If there is no solution at the moment, perhaps Gem could use a few extra 
 objects to ease advanced rotations?

 I feel like I am complaining about 

Re: [PD] really annoying question about tildes~

2008-07-17 Thread IOhannes m zmoelnig
hard off wrote:
> ok, sorry to have caused a fuss.
> 
> last question:  hypothetically, if miller was to include >~ and <~ into 
> vanilla, would they load properly then?

yes of course.

again: the only problem with these objects is that you cannot have files 
(e.g. binary files containing the code for these objects; or 
abstractions) that are include characters like ">" on certain platforms.

the only solution for this is to use filenames that are named 
differently than the actual class.

this solution can be implenmented in various ways:
- include it into Pd-vanilla (so these objects would reside in the file 
"pd.lib" or "pd")
- use multi-object libraries (so these objects reside in "zexy.l_i386")
- use aliases (so ">~" really lives in "gt~.pd")
- use a hexloader (kind of generated filenames that map to the original 
classname), so ">~" resides in "0x3e0x7e.pd"


so it's rather simple, BUT:
- Pd-vanilla does not include all the fancy'n'cool objects into Pd (esp. 
if they can be easily built as externals)
- multi-object libraries are deprecated in PdX
- aliases are problematic, as you have to tell Pd about these aliases 
somehow (the mapping from ">~" to "gt~" is rather arbitrary)
- the hexloader has only been partially accepted into Pd-vanilla (that 
is: the filename mangling part has been taken out); and the 
implementation of it as an external loader has only created problems for 
everyone.



mfgasdr
IOhannes

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


[PD] sssad glitch

2008-07-17 Thread hard off
frank, i found a glitch with sssad.

if you use sssad to save the state of a toggle, then sending a [set( message
to SSSAD_ADMIN will force a bang on the toggle, even if sssad has not
received any data for that toggle.   a [route bang] or [sel bang] before the
[sssad] outlet fixes this problem.
___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Pd/MAX grudge match in Toronto next Thursday

2008-07-17 Thread vade
This sounds like all kinds of awesome. I second (third?) the call to  
document.

BTW, us Max users dont just hate puppies. We eat them! And vote for  
McCain! WE ARE EVIL!

I really hope people trash talk during the contest,  Oh man, that  
would just be awesomely hysterical.

On Jul 16, 2008, at 7:05 PM, Dafydd Hughes wrote:

> Hey folks
>
> Just in case there are Pd users hanging about in or around Toronto
> that I'm not in regular contact with who don't have anything to do
> next Thursday night. This is bound to be loads of fun. All the
> participants are really cool and funny people.
>
> -
> Anything you can do (in Max), I can do better (in PD)
> Date: Thursday, July 24, 8pm onwards
> Cost: Free! Yes, FREE.
> No need to register- come one, come all!
> With Celebrity Guest Host Misha Glouberman
> Competitors: Frank Tsonis vs. Dafydd Hughes and David McCallum
>
> Come take sides in this fight to the death between those open-source
> PD Commies and the right-wing, proprietary, puppy-hating MAX/MSPers.
>
> There has been a long and bloody rivalry between those who would make
> new media art with Pure Data, a free, open source graphical
> programming language, and proponents of MAX/MSP, Pd's slick,
> commercial half-brother. We intend to open these old wounds, pour
> salt, beer and whatever else we can find into them, push both programs
> and programmers to the brink of collapse and determine once and for
> all which is better.
>
> Join host Misha Glouberman as he leads our contestants through a
> series of increasingly difficult challenges with play-by-play
> commentary by Nicholas Stedman and game show music with Graham
> Collins. Watch as Frank Tsonis (team MAX) and David McCallum and
> Dafydd Hughes (team Pd) try to come up with the fastest, sexiest and
> most effective solutions, all the while fighting against each other,
> the clock, and the inevitable nerds who think they can do it better.
>
> If you have experience with either of these programs (or if you don't)
> and you think you can do better than our resident gurus, or even if
> you just want to play along, feel free to bring a laptop, work on the
> challenges, aid or abuse our contestants or just check your email. The
> popcorn's on us; it's free to watch, participate, heckle, throw fruit,
> and bet on who's gonna get an ass-beating.
>
> Information and downloads:
>
> Pure Data: http://puredata.info/
> MAX: http://www.cycling74.com/products/max5
>
> Interaccess Electronic Media Arts Centre: http://interaccess.org/
> 9 Ossington Ave, Toronto ON Canada
> Facebook event is here: http://www.facebook.com/event.php?eid=19191668235
> -
>
> cheers
> dafydd
>
> -- 
> www.sideshowmedia.ca
> skype: chickeninthegrass
>
> ___
> 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] really annoying question about tildes~

2008-07-17 Thread hard off
ok, sorry to have caused a fuss.

last question:  hypothetically, if miller was to include >~ and <~ into
vanilla, would they load properly then?

i think those objects SHOULD be a part of vanilla pd anyway.  in any sort of
audio synthesis patch i do, they invariably need to be used.
___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Harware and video card with Linux

2008-07-17 Thread Simon Wise

On 13 Jul 2008, at 7:28 AM, Jack wrote:

> I would like to use one PC with ubuntu and 2 graphic cards with 2
> outputs (total : 4 video outputs).
> I usually use a Mac.
> Can you give me a good harware configuation using Pd and GEM
> equivalent to a MacPro configuration (2 intel Quad-core 2,8 GHz and 2
> ATI Radeon HD 2600 XT) ? Not too expensive please !

I did just that a couple of weeks ago -

I used 2x quite different NVIDIA cards - an older NVIDIA 6800 card  
and a cheaper but newer Gigabyte card with an NVIDIA 9600GT chip  
[less than $200 here in Australia], both PCI-E. The motherboard has  
an NVIDIA chipset. Both work fine together, the NVIDIA driver  
recognises them both easily.

I could put each in Twinview mode then use 2 gemwindows [a while back  
I successfully tried the multi-window version of Gem, but haven't  
done so recently], but instead I set up xorg to give 4 separate  
displays for different Gem windows (4 instances of Pd, one running on  
each of the 4 displays). I may buy another of the 9600 cards and see  
if I can get a single large gemwindow for all 4 projectors using the  
SLI link - but I haven't done that yet.

I run Debian (the Sidux distribution with a 2.6.25 kernel. The  
processor is an oldish dual core AMD.

simon

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list