Re: [PD] first trial,. but no sound
Dear Iain, I guess that You mean with all of them the other pd-related packages, not jack. Am I right? I will try it soon. 2012/7/3 Iain Mott m...@reverberant.com Hi Stefan - i would try de-installing all of them, then install only puredata - and try that audio test i suggested. See what happens then. good luck, iain On Tue, 2012-07-03 at 22:12 +0200, Stefan Thomas wrote: Dear Iain, I've installed it with synaptic (sudo synaptic). There I've choosen the packages puredata, pd-csound, puredata-gui, puredata-extra and some others. Maybee I should mention that there's version puredata-core 0.43.0-4 on my system installed. 2012/7/3 Iain Mott m...@reverberant.com Hi Stefan - how did you go about installing Pd? Was it via the Ubuntu Software Centre or from a website? Describe the steps you took. Seems like there is something wrong with your installation. iain On Tue, 2012-07-03 at 20:05 +0200, Stefan Thomas wrote: Dear Ian, thanks for Your help! I've tried pd -jack, as You've proposed, and I've got: was... 1 priority 6 scheduling enabled. priority 8 scheduling enabled. open: /usr/lib/puredata/doc/7.stuff/tools/testtone.pd: No such file or directory testtone.pd: No such file or directory Unfortunately, in /usr/lib/puredata/doc there's no directory called 7.stuff, there's only 5.reference and there's is no file testtone.pd! 2012/7/3 Iain Mott m...@reverberant.com Hi there - If you wish to use jack, first check that qjackctl is actually started and running properly (you can click on the Messages button to see if something is wrong), then when you launch Pd from a terminal, make sure you have included the -jack flag in the command line. Yes, you'll need to check the DSP box. Can you copy the command line output of Pd and post it to the list (and also any print out from the main Pd window)? It might show what is wrong. What audio patch are you testing? Have you tried the Test audio and MIDI patch? In my version of Pd this can be found under the Media menu. Cheers, Iain On Tue, 2012-07-03 at 17:51 +0200, Stefan Thomas wrote: Dear community, I've installed pd, version 0.43.0-4 on my ubuntu 12.04 machine (64 bit) from the repositorys. Unfortunately, I can't get sound out of it. First I'started qjackctl, and then PD. From the menue Media I choose Jack. In qjackctl I can see, that system and puredata are connected. When I know click Media, test audio and midi unfortunately nothing happens, it doesn't matter if the box DSP is choosen or not. I can also open some patches, but I dont know how to get sound of it. Am I missing something very simple? Sorry, but I can't find my mistake. ___ 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] first trial,. but no sound
Dear Iain, I did as You suggested, the problem remains the same. One problem might be: When I reinstall PD some of the other PD-related packages will be reinstalled to. But I've read in the meantime, that my problem could be a bug, related to my version of PD. It seems to be the same problem like the one, I have read on this site: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=645041 2012/7/4 Stefan Thomas kontrapunktste...@gmail.com Dear Iain, I guess that You mean with all of them the other pd-related packages, not jack. Am I right? I will try it soon. 2012/7/3 Iain Mott m...@reverberant.com Hi Stefan - i would try de-installing all of them, then install only puredata - and try that audio test i suggested. See what happens then. good luck, iain On Tue, 2012-07-03 at 22:12 +0200, Stefan Thomas wrote: Dear Iain, I've installed it with synaptic (sudo synaptic). There I've choosen the packages puredata, pd-csound, puredata-gui, puredata-extra and some others. Maybee I should mention that there's version puredata-core 0.43.0-4 on my system installed. 2012/7/3 Iain Mott m...@reverberant.com Hi Stefan - how did you go about installing Pd? Was it via the Ubuntu Software Centre or from a website? Describe the steps you took. Seems like there is something wrong with your installation. iain On Tue, 2012-07-03 at 20:05 +0200, Stefan Thomas wrote: Dear Ian, thanks for Your help! I've tried pd -jack, as You've proposed, and I've got: was... 1 priority 6 scheduling enabled. priority 8 scheduling enabled. open: /usr/lib/puredata/doc/7.stuff/tools/testtone.pd: No such file or directory testtone.pd: No such file or directory Unfortunately, in /usr/lib/puredata/doc there's no directory called 7.stuff, there's only 5.reference and there's is no file testtone.pd! 2012/7/3 Iain Mott m...@reverberant.com Hi there - If you wish to use jack, first check that qjackctl is actually started and running properly (you can click on the Messages button to see if something is wrong), then when you launch Pd from a terminal, make sure you have included the -jack flag in the command line. Yes, you'll need to check the DSP box. Can you copy the command line output of Pd and post it to the list (and also any print out from the main Pd window)? It might show what is wrong. What audio patch are you testing? Have you tried the Test audio and MIDI patch? In my version of Pd this can be found under the Media menu. Cheers, Iain On Tue, 2012-07-03 at 17:51 +0200, Stefan Thomas wrote: Dear community, I've installed pd, version 0.43.0-4 on my ubuntu 12.04 machine (64 bit) from the repositorys. Unfortunately, I can't get sound out of it. First I'started qjackctl, and then PD. From the menue Media I choose Jack. In qjackctl I can see, that system and puredata are connected. When I know click Media, test audio and midi unfortunately nothing happens, it doesn't matter if the box DSP is choosen or not. I can also open some patches, but I dont know how to get sound of it. Am I missing something very simple? Sorry, but I can't find my mistake. ___ 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] [PD-announce] pd 0.43-3 released
Hi Miller On Tue, 2012-07-03 at 14:11 -0700, Miller Puckette wrote: Hi all, Pd version 0.43-3 is available on http://crca.ucsd.edu/~msp/software.htm or via git from sourceforge: git clone git://pure-data.git.sourceforge.net/gitroot/pure-data/pure-data As always: Many thanks for your efforts! I'm ready to start hacking on 0.44. The most urgent thing seems to be for me to go back and work on the audio system (and perhaps tweak MIDI a bit more too). May I ask, what is planned for the audio system, respectively what part needs some work? My two cents regarding audio: 0.43 introduced a regression (at least on linux, don't know about other OS') in that the behavior was changed so that whenever DSP is turned on, a thread is started, and is stopped again, when DSP is turned off. The implications I experience with this architecture, is that sometimes audio doesn't come back when turning DSP on. Specifically, with the jack backend it sometimes happens, that Pd freezes and I have to restart Pd. With ALSA, when turning DSP off and on again, I sometimes get this error: snd_pcm_open (output): Device or resource busy and obviously sound is lost. Usually it helps to turn DSP off and on again to make sound work again. While this is only slightly problematic (though still annoying) in a live situation, it is quite dangerous for installation setups. This could potentially lead to running an installation without sound for the rest of the day. Keeping the thread talking to the audio back end always running has some advantages: * The audio card cannot be stolen by other softwares while DSP is off * A cycle of turning DSP off and on is much faster, since no thread needs to be stopped and started * less prone to re-connect failures as the back-end stays always connected * A DSP off-on cycle can be used to increase the speed of dynamic loading of tilde objects / abstractions (now such a cycle is always slow and prone to loosing audio) I'm also interested to hear if others experience similar issues or if it is only me having trouble with 0.43's design. Up to 0.42 everything was fine for me regarding audio. The thing I'm actually looking forward to doing is to extend textfiles and message boxes and data structures to be able to spit lists of atoms around much more flexibly than now. Sounds good. Also pd vanilla needs tilde objects to do interpolating signal snapshots, phase-syncable oscillators, What does phase-syncable mean? Do you mean, that the phase for [osc~] and [phasor~] will be settable not only on block-boundaries, but also during a block? Roman ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] first trial,. but no sound
On Wed, 2012-07-04 at 08:20 +0200, Stefan Thomas wrote: Dear Iain, I did as You suggested, the problem remains the same. One problem might be: When I reinstall PD some of the other PD-related packages will be reinstalled to. But I've read in the meantime, that my problem could be a bug, related to my version of PD. It seems to be the same problem like the one, I have read on this site: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=645041 Yep. It seems to be a bug with that release. I've added an example as an attachment. Should be enough to check if everything works. Alsa works for me, but it doesn't work well at lower latencies. Jack is preferred for that. Only, to get lower latencies with jack, you'll need to install linux-lowlatency (low latency capable linux kernel) and set up realtime privilege (all this is done if you installed Ubuntu Studio). To set up realtime privilege, you'll need to do a few things. First, install linux-lowlatency: sudo apt-get install linux-lowlatency Second, you need to answer yes when asked about this when installing jack. If unsure, see that the file /etc/security/limits.d/audio.conf is not named /etc/security/limits.d/audio.conf.disabled. To rename it, do this in a terminal: sudo mv /etc/security/limits.d/audio.conf.disabled /etc/security/limits.d/audio.conf Inside that file, you need to have these two lines uncommented (they should be by default): @audio - rtprio 95 @audio - memlockunlimited If the file doesn't exist, just create it: sudo nano /etc/security/limits.d/audio.conf ..and add the two lines above. The third thing to do is to add yourself to audio group: sudo usermod -a -G audio $USER Then, reboot. Latency is adjusted separately for both jack and pd. I believe jack handles audio latency when used with pd, while pd handles its' internal data latency. Good latency for me is 64 frames/period in qjackctl settings, and around 5-10 ms in pd jack settings. | kaj.ailo...@mousike.me -| #N canvas 580 461 726 423 10; #X obj 317 316 dac~; #X obj 326 70 osc~ 440; #X obj 326 101 *~ 0.5; #X obj 327 221 *~; #X msg 374 184 \$1 20; #X obj 437 155 tgl 15 0 empty empty toggle_audio_out 17 7 0 10 -262144 -1 -1 0 1; #X obj 374 206 line~; #X obj 134 135 env~ 8192; #X floatatom 134 172 5 0 0 0 signal - -; #X text 350 319 this is the puredata output; #X text 383 71 simple sinus in 440 Hz; #X text 36 194 will show activity \, when you turn on dsp; #X msg 80 55 \; pd dsp 1; #X msg 141 55 \; pd dsp 0; #X text 84 36 toggle dsp; #X obj 246 273 env~ 8192; #X floatatom 246 310 5 0 0 0 signal_out - -; #X connect 1 0 2 0; #X connect 2 0 3 0; #X connect 2 0 7 0; #X connect 3 0 0 0; #X connect 3 0 0 1; #X connect 3 0 15 0; #X connect 4 0 6 0; #X connect 5 0 4 0; #X connect 6 0 3 1; #X connect 7 0 8 0; #X connect 15 0 16 0; ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] [PD-announce] pd 0.43-3 released
Quoth Roman Haefeli, on 04/07/2012 12:14: I'm also interested to hear if others experience similar issues or if it is only me having trouble with 0.43's design. Up to 0.42 everything was fine for me regarding audio. This may be related: I just installed pd-extended 0.43.1 on Ubuntu 12.04 and I can't get audio to work in -nogui mode. The usual trick of delaying a loadbang by 1000ms or more results in a high tone, and there is no adc input, so I'm running it in gui mode which works. James ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] [PD-announce] pd 0.43-3 released
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 2012-07-04 13:14, Roman Haefeli wrote: Keeping the thread talking to the audio back end always running has some advantages: * The audio card cannot be stolen by other softwares while DSP is off * A cycle of turning DSP off and on is much faster, since no thread needs to be stopped and started otoh, releasing the audio backend, allows other software to steal the audio card. i think this is a feature not a bug. * less prone to re-connect failures as the back-end stays always connected instead, i think that re-connects should not fail instead. * A DSP off-on cycle can be used to increase the speed of dynamic loading of tilde objects / abstractions (now such a cycle is always slow and prone to loosing audio) true. i think that Pd should definitely have a method to release the audio card. currently it is really complicated to start Pd in ALSA, then starting jack outside of Pd and then connect Pd to this instance of jack. probably a dummy audio-backend would help here: this would allow to separate the DSP on/off functionality from the audio-backends. gfamsdr IOhannes -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.12 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk/0OxkACgkQkX2Xpv6ydvSpvwCglItsYSzng6ZGuLkBJpVUeJI+ oD8AoJT8My4WS9X61eM40jE6WOoHZbmj =cSq1 -END PGP SIGNATURE- smime.p7s Description: S/MIME Cryptographic Signature ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] [PD-announce] pd 0.43-3 released
I posted a patch for this a while ago but I don't think it got incorporated upstream: http://lists.puredata.info/pipermail/pd-dev/2012-04/018365.html Chrissie On 04/07/2012 12:56, James Dunn wrote: Quoth Roman Haefeli, on 04/07/2012 12:14: I'm also interested to hear if others experience similar issues or if it is only me having trouble with 0.43's design. Up to 0.42 everything was fine for me regarding audio. This may be related: I just installed pd-extended 0.43.1 on Ubuntu 12.04 and I can't get audio to work in -nogui mode. The usual trick of delaying a loadbang by 1000ms or more results in a high tone, and there is no adc input, so I'm running it in gui mode which works. James ___ 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] [PD-announce] pd 0.43-3 released
The thing I'm actually looking forward to doing is to extend textfiles and message boxes and data structures to be able to spit lists of atoms around much more flexibly than now. independenly of how many new possibilities would come up from adding lists to data structures, working with data structures in general is still very laborious. I would just like to add if it would be possible to add a couple more methods to work with pointers. I've made several suggestions in the past, and can send them again (have them somewhere). Methods like [next x(, [previous x(, [delete(, etc., would be quite good for more complex things. Something also quite good would be the possibility of incorporating simple math expressions in data structure objects. like x*3 written in the object, instead of getting the elements, multiplying them, and then setting them... from what I've seen from ftm, that's a very good resource. and several other things, but I don't want to hijack the whole thread. João ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] [PD-announce] pd 0.43-3 released
On Wed, Jul 04, 2012 at 02:46:20PM +0200, IOhannes m zmoelnig wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 2012-07-04 13:14, Roman Haefeli wrote: Keeping the thread talking to the audio back end always running has some advantages: * The audio card cannot be stolen by other softwares while DSP is off * A cycle of turning DSP off and on is much faster, since no thread needs to be stopped and started otoh, releasing the audio backend, allows other software to steal the audio card. i think this is a feature not a bug. I think it's both... my current plan (which I could be talked out of) would be to add a new option to keep audio device open regardless of DSP being on or off. Probably jack users will want the option 'on' and most others will want it off. cheers Miller ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] [PD-announce] pd 0.43-3 released
Yeah... I'm still trying to figure out how to make data structures less clunky without adding unnecessary complexity... I'm planning to go back and look at that again. Miller On Wed, Jul 04, 2012 at 05:37:49PM +0200, João Pais wrote: The thing I'm actually looking forward to doing is to extend textfiles and message boxes and data structures to be able to spit lists of atoms around much more flexibly than now. independenly of how many new possibilities would come up from adding lists to data structures, working with data structures in general is still very laborious. I would just like to add if it would be possible to add a couple more methods to work with pointers. I've made several suggestions in the past, and can send them again (have them somewhere). Methods like [next x(, [previous x(, [delete(, etc., would be quite good for more complex things. Something also quite good would be the possibility of incorporating simple math expressions in data structure objects. like x*3 written in the object, instead of getting the elements, multiplying them, and then setting them... from what I've seen from ftm, that's a very good resource. and several other things, but I don't want to hijack the whole thread. João ___ 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] [PD-announce] pd 0.43-3 released
I would find it very simple if a method would allow me to find scalar nr 2571 (I have a patch with many more) by sending the message [traverse , bang, next 2571(, than by building a [2571(-[until]-[next( structure. Or for example, it's impossible (?) to erase scalers without using the mouse. Making those simple/trivial operations less laborious to program - i.e., incorporate them into [pointer] - could be a good way of making data structures more accessible. which was anyway, the original drive to create Pd, as I read in your paper (right?). or, what was meant with unnecessary complexity? Yeah... I'm still trying to figure out how to make data structures less clunky without adding unnecessary complexity... I'm planning to go back and look at that again. ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] [PD-announce] pd 0.43-3 released
On Mit, 2012-07-04 at 09:16 -0700, Miller Puckette wrote: On Wed, Jul 04, 2012 at 02:46:20PM +0200, IOhannes m zmoelnig wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 2012-07-04 13:14, Roman Haefeli wrote: Keeping the thread talking to the audio back end always running has some advantages: * The audio card cannot be stolen by other softwares while DSP is off * A cycle of turning DSP off and on is much faster, since no thread needs to be stopped and started otoh, releasing the audio backend, allows other software to steal the audio card. i think this is a feature not a bug. I think it's both... my current plan (which I could be talked out of) would be to add a new option to keep audio device open regardless of DSP being on or off. Probably jack users will want the option 'on' and most others will want it off. I was just going to suggest that those could be separate options: DSP on/off, audio back-end connect/disconnect. This is great! I am also excited. Cheers Roman ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] [PD-announce] pd 0.43-3 released
(taking this off pd-announce - sorry I didn't notice that earlier :) Yep, it was indeed my original focus, and it's proved hard to make it as wonderful as I keep hoping it will someday be. Anyhow, making traversal more convenient is definitely something I want to do. BEsides the ideas you mentioned, here are two others - first, being ble somehow to name a pointer so somewhere else in the patch you can get what's inside a pointer object - maybe somehow making it more like v objects. Also, making pointers/data structures and textfile have many of the same methods (and several more of them) so you can search, trim, reorder, etc. Much to think about! cheers Miller On Wed, Jul 04, 2012 at 06:33:49PM +0200, João Pais wrote: I would find it very simple if a method would allow me to find scalar nr 2571 (I have a patch with many more) by sending the message [traverse , bang, next 2571(, than by building a [2571(-[until]-[next( structure. Or for example, it's impossible (?) to erase scalers without using the mouse. Making those simple/trivial operations less laborious to program - i.e., incorporate them into [pointer] - could be a good way of making data structures more accessible. which was anyway, the original drive to create Pd, as I read in your paper (right?). or, what was meant with unnecessary complexity? Yeah... I'm still trying to figure out how to make data structures less clunky without adding unnecessary complexity... I'm planning to go back and look at that again. ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Tipps and patches for Sound Installation
Sounds like you want a granulator ... check out the grannie-basher etc: http://lists.puredata.info/pipermail/pd-list/2009-06/070773.html I'd imagine you could use [bonk~] or just the incoming signal envelope to trigger sample grabbing, then feed that into a granulator ... On Jul 3, 2012, at 3:52 PM, Birthe wrote: Dear List, on thursday, 12th july, we want to present a sound installation in Hamburg. I am looking for tipps to work with Pure Data. The installation will look like this: There will be a flexible wooden surface, ca. 1 square meter. Under that surface there will be some plastic bottles. Making a step on the surface the bottles will crack. The signals will be received by two microphones. We want to use Pure Data for making the signals sound like breaking ice. It should simulate the situation going on a frozen lake and suddenly you can hear a big break. We have two loudspeakers and a big subwoofer. Maybe it would be nice to use a pitch shifter and a time stretch to get this effect. Does anybody have some patches like this? My knowledge about Pure Data is not as big, so it would be really nice to get some more ideas from you. Maybe you have some more ideas, which effects and filters we could use? Would be nice to hear from you. Thank you! All the best, Birthe Dan Wilcox danomatika.com robotcowboy.com ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] [PD-announce] pd 0.43-3 released
Yep, it was indeed my original focus, and it's proved hard to make it as wonderful as I keep hoping it will someday be. Anyhow, making traversal more convenient is definitely something I want to do. BEsides the ideas you mentioned, here are two others - first, being ble somehow to name a pointer so somewhere else in the patch you can get what's inside a pointer object - maybe somehow making it more like v objects. that would be great, as (pointer)s are an unknown variable. for now the only way of sorting out a pointer from others is by some kind of comparison test - i.e. going through all until one finds the right one. sometimes adding extra variables just to have something to compare with. that would be good not only to get the contents faster, but also to treat pointers as individual variables (which they are). Also, making pointers/data structures and textfile have many of the same methods (and several more of them) so you can search, trim, reorder, etc. that would be great. but already improving traversing would make these methods much easier to program in a patch. for example, adding vnext is already a good help, but only for a specific kind of usage. Much to think about! indeed. if you're the Varèse professorship in the TU Berlin works out (as I heard some months ago), I would be glad to test that directly (and watch the seminars) ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] [PD-announce] pd 0.43-3 released
Hi Miller, I think the whole gpointer thingy forces Pd users to think about unnecessary details-- like scalar creation order-- just in order to use them, which is exactly why the #1 complaint about them is that nobody understands how to use them. You've designed the rest of Pd to hide just the things data structures reveal. Unfortunately the user doesn'tget expressivity through data structures that would be comparable to just coding a c external, but they do get a (somewhat) comparable level of complexity. Here's how to make them better: 1) Make a public interface out of the trick you're already using to load pd-_float_array and pd-_float. Users should be able to make a ds library and load that library with the same ease that they load external libraries using [declare], [import], etc. (This will also solve the problem of trying to use a data structure inside an abstraction, where on the one hand the user must use [struct $0-foo], but then that destroys any chance to save and reload state with impugnity.) 2) Allow scalar creation by typing the name in an object box. If I have [struct foo] in a subpatch template I should be able to type [foo] andhave it create a scalar. If I loaded a library named foo that includes a template for [struct bar] I should be able to type [bar] or [foo/bar] and have the scalar create. If it's any harder than that to create a scalar then the number of people who will understand and benefit from using data structures will never exceed the number of people who understand and benefit from dynamic patching (which is very few because it's too clunky). If you do these then data structures will be crystal clear: As an abstraction is Pd code analogous to external class in c with default widget behavior So too is A data structure template analogous to an external class in c with custom widget behavior ... with the added benefit that coding up such a data structure doesn't carry the complexity of coding a graphical external class in c. -Jonathan p.s. (Experimental) 3) Add a canvas or glist field to [struct] as I suggested in an earlier email. I don't think João would need to search through a linked list just to find a value if he could have a canvas with the necessary objects in it that is associated with that scalar and its field values. - Original Message - From: Miller Puckette m...@ucsd.edu To: João Pais jmmmp...@googlemail.com Cc: pd-list@iem.at Sent: Wednesday, July 4, 2012 12:43 PM Subject: Re: [PD] [PD-announce] pd 0.43-3 released (t aking this off pd-announce - sorry I didn't notice that earlier :) Yep, it was indeed my original focus, and it's proved hard to make it as wonderful as I keep hoping it will someday be. Anyhow, making traversal more convenient is definitely something I want to do. BEsides the ideas you mentioned, here are two others - first, being ble somehow to name a pointer so somewhere else in the patch you can get what's inside a pointer object - maybe somehow making it more like v objects. Also, making pointers/data structures and textfile have many of the same methods (and several more of them) so you can search, trim, reorder, etc. Much to think about! cheers Miller On Wed, Jul 04, 2012 at 06:33:49PM +0200, João Pais wrote: I would find it very simple if a method would allow me to find scalar nr 2571 (I have a patch with many more) by sending the message [traverse , bang, next 2571(, than by building a [2571(-[until]-[next( structure. Or for example, it's impossible (?) to erase scalers without using the mouse. Making those simple/trivial operations less laborious to program - i.e., incorporate them into [pointer] - could be a good way of making data structures more accessible. which was anyway, the original drive to create Pd, as I read in your paper (right?). or, what was meant with unnecessary complexity? Yeah... I'm still trying to figure out how to make data structures less clunky without adding unnecessary complexity... I'm planning to go back and look at that again. ___ 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] [PD-announce] pd 0.43-3 released
These are good ideas, thanks. M On Wed, Jul 04, 2012 at 11:40:57AM -0700, Jonathan Wilkes wrote: Hi Miller, I think the whole gpointer thingy forces Pd users to think about unnecessary details-- like scalar creation order-- just in order to use them, which is exactly why the #1 complaint about them is that nobody understands how to use them. You've designed the rest of Pd to hide just the things data structures reveal. Unfortunately the user doesn'tget expressivity through data structures that would be comparable to just coding a c external, but they do get a (somewhat) comparable level of complexity. Here's how to make them better: 1) Make a public interface out of the trick you're already using to load pd-_float_array and pd-_float. Users should be able to make a ds library and load that library with the same ease that they load external libraries using [declare], [import], etc. (This will also solve the problem of trying to use a data structure inside an abstraction, where on the one hand the user must use [struct $0-foo], but then that destroys any chance to save and reload state with impugnity.) 2) Allow scalar creation by typing the name in an object box. If I have [struct foo] in a subpatch template I should be able to type [foo] andhave it create a scalar. If I loaded a library named foo that includes a template for [struct bar] I should be able to type [bar] or [foo/bar] and have the scalar create. If it's any harder than that to create a scalar then the number of people who will understand and benefit from using data structures will never exceed the number of people who understand and benefit from dynamic patching (which is very few because it's too clunky). If you do these then data structures will be crystal clear: As an abstraction is Pd code analogous to external class in c with default widget behavior So too is A data structure template analogous to an external class in c with custom widget behavior ... with the added benefit that coding up such a data structure doesn't carry the complexity of coding a graphical external class in c. -Jonathan p.s. (Experimental) 3) Add a canvas or glist field to [struct] as I suggested in an earlier email. I don't think João would need to search through a linked list just to find a value if he could have a canvas with the necessary objects in it that is associated with that scalar and its field values. - Original Message - From: Miller Puckette m...@ucsd.edu To: João Pais jmmmp...@googlemail.com Cc: pd-list@iem.at Sent: Wednesday, July 4, 2012 12:43 PM Subject: Re: [PD] [PD-announce] pd 0.43-3 released (t aking this off pd-announce - sorry I didn't notice that earlier :) Yep, it was indeed my original focus, and it's proved hard to make it as wonderful as I keep hoping it will someday be. Anyhow, making traversal more convenient is definitely something I want to do. BEsides the ideas you mentioned, here are two others - first, being ble somehow to name a pointer so somewhere else in the patch you can get what's inside a pointer object - maybe somehow making it more like v objects. Also, making pointers/data structures and textfile have many of the same methods (and several more of them) so you can search, trim, reorder, etc. Much to think about! cheers Miller On Wed, Jul 04, 2012 at 06:33:49PM +0200, João Pais wrote: I would find it very simple if a method would allow me to find scalar nr 2571 (I have a patch with many more) by sending the message [traverse , bang, next 2571(, than by building a [2571(-[until]-[next( structure. Or for example, it's impossible (?) to erase scalers without using the mouse. Making those simple/trivial operations less laborious to program - i.e., incorporate them into [pointer] - could be a good way of making data structures more accessible. which was anyway, the original drive to create Pd, as I read in your paper (right?). or, what was meant with unnecessary complexity? Yeah... I'm still trying to figure out how to make data structures less clunky without adding unnecessary complexity... I'm planning to go back and look at that again. ___ 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] FTM for PD
hi, any news on this? João thnx.. found some threads that seemed kinda encouraging but got stuck in the sndlib compilation. I' ll test it in linux On Jul 1, 2012, at 5:55 AM, IOhannes m zmölnig zmoel...@iem.at wrote: On 06/30/2012 12:35 AM, José Rafael Subía Valdez wrote: Hello list has anyone compiled FTM for PD in mac OSX 10.6?? ftm4pd only ever worked on linux. no work has been done on that fron for several years... fgmadr IOhannes ___ 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 -- Friedenstr. 58 10249 Berlin (Deutschland) Tel +49 30 42020091 | Mob +49 162 6843570 Studio +49 30 69509190 jmmmp...@googlemail.com | skype: jmmmpjmmmp ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] [PD-announce] pd 0.43-3 released
the user doesn'tget expressivity through data structures that would be comparable to just coding a c external, but they do get a (somewhat) comparable level of complexity. yes, the worse is that the enigmatic (gpointer) don't mean anything for someone that can't read the C code, like me. changing that format for a symbolic link - like structname-scalarnr or similar, user-defined - would make much more sense for users. And also, hopefully, give scalars a faster way of being accessed (the traversing issue). Here's how to make them better: 1) Make a public interface out of the trick you're already using to load pd-_float_array and pd-_float. Users should be able to make a ds library and load that library with the same ease that they load external libraries using [declare], [import], etc. (This will also solve the problem of trying to use a data structure inside an abstraction, where on the one hand the user must use [struct $0-foo], but then that destroys any chance to save and reload state with impugnity.) ah, that one I forgot. for my simple abstractions like [bezier] or [swatch], the scalars of $0-templates are created on loadbang. but that's not very handy (or possible?) when loading a score with thousands of scalars. 2) Allow scalar creation by typing the name in an object box. If I A good complement to that would be scalar manipulation as well. like sending a message [select scalar-1 scalar-278( to select a range of scalars, and then move them (without going to the x/y fields of each one), duplicating, erasing, copy/pasting, ... (Experimental) 3) Add a canvas or glist field to [struct] as I suggested in an earlier email. I don't think João would need to search through a linked list just to find a value if he could have a canvas with the necessary objects in it that is associated with that scalar and its field values. I didn't understood that, but it sounds very important, my name is in that paragraph. João ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] [PD-announce] pd 0.43-3 released
- Original Message - From: João Pais jmmmp...@googlemail.com To: Miller Puckette m...@ucsd.edu; Jonathan Wilkes jancs...@yahoo.com Cc: pd-list@iem.at pd-list@iem.at Sent: Wednesday, July 4, 2012 7:38 PM Subject: Re: [PD] [PD-announce] pd 0.43-3 released the user doesn'tget expressivity through data structures that would be comparable to just coding a c external, but they do get a (somewhat) comparable level of complexity. yes, the worse is that the enigmatic (gpointer) don't mean anything for someone that can't read the C code, like me. changing that format for a symbolic link - like structname-scalarnr or similar, user-defined - would make much more sense for users. And also, hopefully, give scalars a faster way of being accessed (the traversing issue). Here's how to make them better: 1) Make a public interface out of the trick you're already using to load pd-_float_array and pd-_float. Users should be able to make a ds library and load that library with the same ease that they load external libraries using [declare], [import], etc. (This will also solve the problem of trying to use a data structure inside an abstraction, where on the one hand the user must use [struct $0-foo], but then that destroys any chance to save and reload state with impugnity.) ah, that one I forgot. for my simple abstractions like [bezier] or [swatch], the scalars of $0-templates are created on loadbang. but that's not very handy (or possible?) when loading a score with thousands of scalars. 2) Allow scalar creation by typing the name in an object box. If I A good complement to that would be scalar manipulation as well. like sending a message [select scalar-1 scalar-278( to select a range of scalars, and then move them (without going to the x/y fields of each one), duplicating, erasing, copy/pasting, ... (Experimental) 3) Add a canvas or glist field to [struct] as I suggested in an earlier email. I don't think João would need to search through a linked list just to find a value if he could have a canvas with the necessary objects in it that is associated with that scalar and its field values. I didn't understood that, but it sounds very important, my name is in that paragraph. :) When you create an abstraction, you basically save a patch that is a template for all instances of the abstraction which you will create later. [f $1] gets filled in with the first arg, [symbol $2] with the second arg, and so on. With my idea, you create a scalar that has an associated canvas (similar to an abstraction), and that canvas has access to the field values for that scalar. Example: let's say you have [struct foo float y symbol blah canvas bar], and have a subpatch [pd bar] that is a template for the field bar which is just a canvas. So when you create a scalar foo, that scalar has a y variable-- which is a float; a blah variable-- which is a symbol; and a bar variable-- which is a canvas. Imagine a hypothetical object inside that scalar's canvas called [getmy y], and when you bang it you get the y value associated with _this_ scalar. Now imagine this inside bar: [getmy y] | [mtof] | [osc~] | [catch~ bus] Now if you instantiate 16 scalars, each one of them has an associated oscillator that gets its pitch from that scalar's y value. In other words, each scalar also has a canvas that holds within it the means to produce sound from the y value that you see. I'm just assuming here that [getmy] would work like the outlet of [struct]-- that is, it sends out a message when the y value for that scalar is updated. (Or alternatively when it is banged.) Better yet, imagine using foo as the template for another struct as in the following: [struct container float x float y array z foo] Now you can create/destroy voices in an oscbank using [setsize]! Of course I'm skipping over lots of details, like you'd still have to rebuild the dsp graph, and how loadbang would or woudn't work when you instantiate a scalar with a canvas field, etc., etc. Hopefully some of that makes sense. -Jonathan João ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list