Re: [PD] Creating music notation with GEM
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
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
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
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
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
> 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~
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~
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
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
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
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
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
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
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
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
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
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
> 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
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
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
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
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
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
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
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
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
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
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~
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
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
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~
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
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