Re: [PD-dev] libPd hanging audio and other questions
Hi Dan, Thanks for your help. I know they're holding off the rewrite in OF 7 due to time and budgetary constraints, but we think there was another reason why it kept hanging. A, external I wrote in C gives out sample accurate events (rather that block-aligned ones) as well as a signal. The outlet_float statements were embedded within the DSP loop. You can get away with this in Pd running on a computer, but it doesn't work on an iPhone. This may be bad programming (I'm not sure - I taught myself) but it does cause Pd to crash when DSP is turned off in ofxPd on iOS. The DSP never got turned off and a chunk of audio was left looping, regardless of what the DSP chain was supposed to be doing, both in the simulator and on the device. Anyhow, I re-coded the external using a Pd clock to block-align the events and the problem went away. And I have finally learned to use clocks in Pd external coding! Ah, what fun I'm going to have ,-) Does anyone know what the standard blocksize for writing RT audio from memory to the SD card in an iPhone is? That's another problem we're facing. Drop-outs happen when recording, and we think it might be because we need to deal with the audio in certain size chunks, but we're not sure what that size might be. And do they have to synchronize with Pd's block size (i.e. 64 samples) in order for this to work? Cheers, Ed Ninja Jamm - a revolutionary new music remix app from Ninja Tune and Seeper, for iPhone and iPad http://www.ninjajamm.com/ Gemnotes-0.2: Live music notation for Pure Data, now with dynamics! http://sharktracks.co.uk/ >________ > From: Dan Wilcox >To: Ed Kelly >Cc: Peter Brinkmann ; PD List >; Andrew Wallen >Sent: Thursday, 11 July 2013, 17:17 >Subject: Re: libPd hanging audio > > > >You could try the 007 tag: https://github.com/danomatika/ofxPd/releases, >everything after that will not work without some src modifications. (It may >not be that much). > > >Personally, I would consider updating your version of OF. You'd need to remake >the xcode project, but the sound stuff is in a much better shape. > >On Jul 11, 2013, at 12:11 PM, Ed Kelly wrote: > >Hi Dan, >> >>Thanks for quick response. Even with these compiler flags, we get the same >>result. On the same page there is this: >> >> >>"RtAudio Hang on Exit in 0062 >>"RtAudio will hang on app exit in OF 0062. The only way to fix this is to >>make a small edit to the OF 0062 core by "editing >>lib/openFrameworks/sound/ofSoundStream.cpp and commenting line 143 so close() >>is not called." >> >>I'm not entirely sure which version we're using, but the ofSoundStream.cpp >>file is only 140 lines long. >>If we upgrade to the latest ofxPd, will it still work with OF 6.2? >>Cheers, >>Ed >> >>Ninja Jamm - a revolutionary new music remix app from Ninja Tune and Seeper, >>for iPhone and iPad >>http://www.ninjajamm.com/ >> >> >>Gemnotes-0.2: Live music notation for Pure Data, now with dynamics! >>http://sharktracks.co.uk/ >> >> >>> >>> From: Dan Wilcox >>>To: Ed Kelly >>>Cc: Peter Brinkmann ; PD List >>>; Andrew Wallen >>>Sent: Thursday, 11 July 2013, 16:52 >>>Subject: Re: libPd hanging audio >>> >>> >>> >>>Howdy guys, >>> >>>See https://github.com/danomatika/ofxPd#for-xcode-1 >>> >>> >>>From my notes, I have: -DHAVE_UNISTD_H -DUSEAPI_DUMMY -DPD -dynamiclib -ldl >>>-lm >>> >>> >>>I also added this to the libpd Github wiki: >>>https://github.com/libpd/libpd/wiki/libpd#build-settings >>> >>> >>> >>>On Jul 11, 2013, at 11:45 AM, Ed Kelly wrote: >>> >>>Hi Dan, Peter, >>>> >>>>I'm here with our ofxPd-based iPhone app, and we are getting a repeat of a >>>>particular problem listed here: >>>>http://createdigitalnoise.com/discussion/150/pdbase-closepatch/p1 >>>> >>>>Namely: >>>> >>>>> when closing a patch I would receive this message: sys_close_audio: unknown API 9 >>>> >>>>and then we get a buzz, like a block of audio is being looped. We can't >>>>closePatch from the app code, nor can we turn DSP off from the app code. >>>> >>>>In the forum post mentioned above, Peter Brinkmann said this was due to >>>>incorrect compiler flags. Can you tell us what the compiler flags were and >>>>what they were changed to? >>>> >>>> >>>>Caveat - we are still using openFrameworks 6.2. >>>> >>>> >>>>Cheers, >>>>Ed Kelly >>>> >>>>Ninja Jamm - a revolutionary new music remix app from Ninja Tune and >>>>Seeper, for iPhone and iPad >>>>http://www.ninjajamm.com/ >>>> >>>> >>>>Gemnotes-0.2: Live music notation for >>Pure Data, now with dynamics! >>>>http://sharktracks.co.uk/ >>> >>> >>>Dan Wilcox >>>@danomatika >>>danomatika.com >>>robotcowboy.com >>> >>> >>> >>> >>> >>> >>> >>> > > >Dan Wilcox >@danomatika >danomatika.com >robotcowboy.com > > > > > > > >___ Pd-dev mailing list Pd-dev@iem.at http://lists.puredata.info/listinfo/pd-dev
[PD-dev] phasorbars_test
Ninja Jamm - a revolutionary new musix remix app from Ninja Tune and Seeper, for iPhone and iPad http://www.ninjajamm.com/ Gemnotes-0.2: Live music notation for Pure Data, now with dynamics! http://sharktracks.co.uk/ #N canvas 9 83 589 297 10; #X floatatom 123 234 5 0 0 3 24ths - -; #X floatatom 84 125 5 0 100 0 - - -; #X obj 44 223 envrms~; #X floatatom 44 245 5 0 0 0 - - -; #X obj 85 27 loadbang; #X msg 165 67 0; #X msg 177 35 1.2; #X msg 206 68 debug 0; #X msg 220 33 0.1; #X msg 256 33 -1.2; #X floatatom 173 233 5 0 0 3 16ths - -; #X floatatom 219 232 5 0 0 3 odd16th? - -; #X floatatom 280 232 5 0 0 3 8ths - -; #X floatatom 334 233 5 0 0 3 8ths - -; #X floatatom 25 74 5 1 1 0 - - -; #X obj 25 93 * 0.01; #X msg 21 43 10; #X obj 98 154 phasorbars~ 0 1 8; #X msg 255 107 length 8; #X floatatom 384 233 5 0 0 3 bar - -; #X connect 1 0 17 0; #X connect 2 0 3 0; #X connect 4 0 16 0; #X connect 5 0 17 1; #X connect 6 0 17 1; #X connect 7 0 17 0; #X connect 8 0 17 1; #X connect 9 0 17 1; #X connect 14 0 15 0; #X connect 15 0 1 0; #X connect 16 0 14 0; #X connect 17 0 2 0; #X connect 17 1 0 0; #X connect 17 2 10 0; #X connect 17 3 11 0; #X connect 17 4 12 0; #X connect 17 5 13 0; #X connect 17 6 19 0; #X connect 18 0 17 0; ___ Pd-dev mailing list Pd-dev@iem.at http://lists.puredata.info/listinfo/pd-dev
[PD-dev] phasorbars~
Ninja Jamm - a revolutionary new musix remix app from Ninja Tune and Seeper, for iPhone and iPad http://www.ninjajamm.com/ Gemnotes-0.2: Live music notation for Pure Data, now with dynamics! http://sharktracks.co.uk/ #include "m_pd.h" #include #define UNITBIT32 1572864. /* 3*2^19; bit 32 has place value 1 */ /* machine-dependent definitions. These ifdefs really should have been by CPU type and not by operating system! */ #ifdef IRIX /* big-endian. Most significant byte is at low address in memory */ #define HIOFFSET 0/* word offset to find MSB */ #define LOWOFFSET 1/* word offset to find LSB */ #define int32 long /* a data type that has 32 bits */ #endif /* IRIX */ #ifdef MSW /* little-endian; most significant byte is at highest address */ #define HIOFFSET 1 #define LOWOFFSET 0 #define int32 long #endif #if defined(__FreeBSD__) || defined(__APPLE__) #include #endif #ifdef __linux__ #include #endif #if defined(__unix__) || defined(__APPLE__) #if !defined(BYTE_ORDER) || !defined(LITTLE_ENDIAN) #error No byte order defined #endif #if BYTE_ORDER == LITTLE_ENDIAN #define HIOFFSET 1 #define LOWOFFSET 0 #else #define HIOFFSET 0/* word offset to find MSB */ #define LOWOFFSET 1/* word offset to find LSB */ #endif /* __BYTE_ORDER */ #include #define int32 int32_t #endif /* __unix__ or __APPLE__*/ union tabfudge { double tf_d; int32 tf_i[2]; }; /* -- phasorbars~ -- */ static t_class *phasorbars_class; typedef struct _phasorbars { t_object x_obj; double x_phase; t_float value, prevalue, ivalue, incr, cycle, length, pflag, nextreset; // t_float count16, count24; float x_conv; /* 1 / the sample rate */ float x_f; /* scalar frequency */ float looping; t_outlet *x_bar, *x_8a, *x_8b, *x_16, *x_24, *evens; int semiquavers, sqtriplets; } t_phasorbars; t_int *phasorbars_perform(t_int *w) { t_phasorbars *x = (t_phasorbars *)(w[1]); t_float *in = (t_float *)(w[2]); t_float *out = (t_float *)(w[3]); int n = (int)(w[4]); double dphase = x->x_phase + UNITBIT32; union tabfudge tf; int normhipart; float conv = x->x_conv; tf.tf_d = UNITBIT32; normhipart = tf.tf_i[HIOFFSET]; tf.tf_d = dphase; while (n--) { tf.tf_i[HIOFFSET] = normhipart;; x->ivalue = *in++; dphase += x->ivalue * conv; //increment x->value = tf.tf_d - UNITBIT32; if(x->pflag) { if(x->value < x->prevalue) { if(x->ivalue > 0) { if(x->nextreset >= 0) { x->cycle = x->nextreset; outlet_float(x->x_bar, x->cycle); x->nextreset = -1; } else { x->cycle++; if(x->cycle >= x->length) x->cycle = 0; outlet_float(x->x_bar, x->cycle); } } } else if(x->ivalue < 0) { if(x->value > x->prevalue) { if(x->nextreset >= 0) { x->cycle = x->nextreset; outlet_float(x->x_bar, x->cycle); x->nextreset = -1; } else { x->cycle++; if(x->cycle >= x->length) x->cycle = 0; outlet_float(x->x_bar, x->cycle); } } } } x->pflag = 1; *out++ = x->value + x->cycle; // here are the CLOCKS // and you can use the EVENS outlet to make SWING happen int squs = (int)(x->value * 16); int squts = (int)(x->value * 24); if(squs != x->semiquavers) { int even = squs % 2; int get8ths = squs * 0.5; float eighths = (float)get8ths; if (!even) { outlet_float(x->x_8b, eighths); outlet_float(x->x_8a, eighths); outlet_float(x->evens, 0); } else { outlet_float(x->evens, 1); } outlet_float(x->x_16, (t_float)squs); } if(squts != x->sqtriplets) { outlet_float(x->x_24, (float)squts); } x->semiquavers = squs; x->sqtriplets = squts; tf.tf_d = dphase; x->prevalue = x->value; } tf.tf_i[HIOFFSET] = normhipart; x->x_phase = tf.tf_d - UNITBIT32; return (w+5); } void phasorbars_dsp(t_phasorbars *y, t_signal **sp) { y->x_conv = 1./sp[0]->s_sr; dsp_add(phasorbars_perform, 4, y, sp[0]->s_vec, sp[1]->s_vec, sp[0]->s_n); } void phasorbars_debug(t_phasorbars *y) { post("phase = %f, cycles = %f",y->x_phase,y->cycle); } void phasorbars_nextbar(t_phasorbars *y, float f) { y->nextreset = (int)f; } void phasorbars_ft1(t_phasorbars *y, float f) { float fcycles = 0; int cycles = 0; if (f < 0) f = 0; cycles = (int
Re: [PD-dev] Rewriting a unified phasor / metro object for reading tables
Thanks Katja. I'm doing things in a quick and dirty manner, to see if they work and so that they can be implemented quickly for the 100,000 or so downloads we've had, but I want to get it right. We'll have a testflight version next week so we'll be able to test the new version (it's like a heart transplant for the app). The first thing is that it has to work with the limited resources of the iPhone4 (the most basic device we are supporting). The second is to make it better, so that we can move from tabread~ s to tabread4~s, but I think this'll be just for the iPhone5. I really want it to be super efficient, so I'll study your code. Interesting that the original phasor~ relies on a double precision variable for the wrap. Sometime we need to move onto 128bit architecture, but probably not too soon ;) Cheers, Ed PS thanks for answering the question I asked. Ninja Jamm - a revolutionary new musix remix app from Ninja Tune and Seeper, for iPhone and iPad http://www.ninjajamm.com/ Gemnotes-0.2: Live music notation for Pure Data, now with dynamics! http://sharktracks.co.uk/ - Original Message - > From: katja > To: Ed Kelly > Cc: PD List ; pddev > Sent: Thursday, 9 May 2013, 10:12 > Subject: Re: [PD-dev] Rewriting a unified phasor / metro object for reading > tables > > On Wed, May 8, 2013 at 11:00 PM, Ed Kelly wrote: > >> ... >> Does phasor~ always start from 0 and go to 1, i.e. is there always a signal > value of 0 at the start of the ramp and a signal value of 1 at the end? As I > write this, my common sense tells me it should be "yes" but I want to > make sure. I suppose I should just try it really... >> ... > > > A [phasor~] ramp should start with the remainder after wrapping, which > is non-zero in most cases. > > For pd-double I had to rewrite [phasor~], and it turned out that an > implementation with branching is more efficient on current Intel > processors. ARM processors do branch predication, it could be > efficient as well. You could try the code from here and put message > triggers in the branches: > > https://github.com/pd-projects/pd-double/blob/master/src/d_osc.c > > > Katja > ___ Pd-dev mailing list Pd-dev@iem.at http://lists.puredata.info/listinfo/pd-dev
Re: [PD-dev] [PD] Rewriting a unified phasor / metro object for reading tables
I figured out how to do this. Generally the problem is this: the signals to run four independent tracks in my patch are all devised from one phasor~ object that scans a single bar of material. Clicks then appear in the material when jumping from one bar to the next, because the control events are quantized to the 64 samples of a block. So we get lines like the picture enclosed that read the material using tabread~. In order to get rid of the clicks, I have an alternative method for reading the material _without_ adding any new DSP objects (this has to run on an iPhone 4). It involves the phasor~-esque object ramping from 0 to 8 over 8 bars or not, depending on whether it is jumping around or smoothly reading the 2, 4 or 8-bar loop. I already have this working - it has to detect when the ramp is crossed and generate a clock signal from it for the intra-bar rhythms. I took phasorshot~ as my prototype, but that had the same problem as before, namely that non-signal pulses are quantized to 64 sample blocks. I tried using clocks but they went out of sync while the tempo was being changed of course. So, I built an object where all the clocks are derived from the phasor ramp, but sent out as control rather than DSP signals. It uses more CPU than phasor~ does (~70% more) but no matter how much you speed-up or slow down the phasor~ on-the-fly, the clocks never go out-of-sync. It's called phasorbars~. I'll be uploading a version of the external soon to svn, and anyone who's downloaded Ninja Jamm for their i-device will get an update soon also. Cheers, Ed > > >why not just make a half speed phasor~, retrigger the phase to zero with a >normal metro, and then multiply the output by 2? > > > > > > > >On Thu, May 9, 2013 at 10:09 AM, Ivica Ico Bukvic wrote: > >Assuming you want a pulse in non-signal domain, you could use disis_phasor~ >(see http://l2ork.music.vt.edu/main/?page_id=56 for download links) which >outputs a bang every time ramp is crossed. This is only accurate to the >nearest sigvs size (by default 64 bytes) as there is no guarantee that you >will get a msg interrupt exactly at the time ramp has crossed. >> >>HTH >> >>From:pd-list-boun...@iem.at [mailto:pd-list-boun...@iem.at] On Behalf Of Ed >>Kelly >>Sent: Wednesday, May 08, 2013 5:00 PM >>To: PD List; pddev >>Subject: [PD] Rewriting a unified phasor / metro object for reading tables >> >>Hi Lists(s), >> >>I'm rewriting phasor~ and unifying it with metro so that a pulse is generated >>from the boundaries of each ramp - so that bars of music can be read using >>tabread~ objects with a sample-accurate metro. >> >>I'm sure someone will say this can already be done, but it has to be dropped >>into the Ninja Jamm patch, so there isn't really time to rewrite the rest of >>the patch. >> >>I don't fully understand the way phasor~ wraps, but I have the object firing >>out bar numbers correctly. I'm putting clocks in for 16ths and 24ths of the >>beat, initiated on each wrap. I need to minimise CPU, so what I want to know >>is this: >> >>Does phasor~ always start from 0 and go to 1, i.e. is there always a signal >>value of 0 at the start of the ramp and a signal value of 1 at the end? As I >>write this, my common sense tells me it should be "yes" but I want to make >>sure. I suppose I should just try it really... >> >>Cheers, >>Ed >> >>Ninja Jamm - a revolutionary new musix remix app from Ninja Tune and Seeper, >>for iPhone and iPad >>http://www.ninjajamm.com/ >>Gemnotes-0.2: Live music notation for Pure Data, now with dynamics! >>http://sharktracks.co.uk/ >>___ >>pd-l...@iem.at mailing list >>UNSUBSCRIBE and account-management -> >>http://lists.puredata.info/listinfo/pd-list >> >> > > > ___ Pd-dev mailing list Pd-dev@iem.at http://lists.puredata.info/listinfo/pd-dev
Re: [PD-dev] [PD] Rewriting a unified phasor / metro object for reading tables
This is what it used to look like (forgot to include the pic ;) Ed Ninja Jamm - a revolutionary new musix remix app from Ninja Tune and Seeper, for iPhone and iPad http://www.ninjajamm.com/ Gemnotes-0.2: Live music notation for Pure Data, now with dynamics! http://sharktracks.co.uk/ - Original Message - > From: Ed Kelly > To: i go bananas ; Ivica Ico Bukvic > Cc: PD List ; pddev > Sent: Thursday, 9 May 2013, 14:33 > Subject: Re: [PD] Rewriting a unified phasor / metro object for reading tables > > I figured out how to do this. > > Generally the problem is this: the signals to run four independent tracks in > my > patch are all devised from one phasor~ object that scans a single bar of > material. Clicks then appear in the material when jumping from one bar to the > next, because the control events are quantized to the 64 samples of a block. > So > we get lines like the picture enclosed that read the material using tabread~. > > In order to get rid of the clicks, I have an alternative method for reading > the > material _without_ adding any new DSP objects (this has to run on an iPhone > 4). > It involves the phasor~-esque object ramping from 0 to 8 over 8 bars or not, > depending on whether it is jumping around or smoothly reading the 2, 4 or > 8-bar > loop. > > I already have this working - it has to detect when the ramp is crossed and > generate a clock signal from it for the intra-bar rhythms. I took phasorshot~ > as > my prototype, but that had the same problem as before, namely that non-signal > pulses are quantized to 64 sample blocks. I tried using clocks but they went > out > of sync while the tempo was being changed of course. > > So, I built an object where all the clocks are derived from the phasor ramp, > but > sent out as control rather than DSP signals. It uses more CPU than phasor~ > does > (~70% more) but no matter how much you speed-up or slow down the phasor~ > on-the-fly, the clocks never go out-of-sync. It's called phasorbars~. > > I'll be uploading a version of the external soon to svn, and anyone > who's downloaded Ninja Jamm for their i-device will get an update soon also. > > Cheers, > Ed >> >> >> why not just make a half speed phasor~, retrigger the phase to zero with a > normal metro, and then multiply the output by 2? >> >> >> >> >> >> >> >> On Thu, May 9, 2013 at 10:09 AM, Ivica Ico Bukvic wrote: >> >> Assuming you want a pulse in non-signal domain, you could use disis_phasor~ > (see http://l2ork.music.vt.edu/main/?page_id=56 for download links) which > outputs a bang every time ramp is crossed. This is only accurate to the > nearest > sigvs size (by default 64 bytes) as there is no guarantee that you will get a > msg interrupt exactly at the time ramp has crossed. >>> >>> HTH >>> >>> From:pd-list-boun...@iem.at [mailto:pd-list-boun...@iem.at] On Behalf Of > Ed Kelly >>> Sent: Wednesday, May 08, 2013 5:00 PM >>> To: PD List; pddev >>> Subject: [PD] Rewriting a unified phasor / metro object for reading > tables >>> >>> Hi Lists(s), >>> >>> I'm rewriting phasor~ and unifying it with metro so that a pulse is > generated from the boundaries of each ramp - so that bars of music can be > read > using tabread~ objects with a sample-accurate metro. >>> >>> I'm sure someone will say this can already be done, but it has to be > dropped into the Ninja Jamm patch, so there isn't really time to rewrite the > rest of the patch. >>> >>> I don't fully understand the way phasor~ wraps, but I have the > object firing out bar numbers correctly. I'm putting clocks in for 16ths and > 24ths of the beat, initiated on each wrap. I need to minimise CPU, so what I > want to know is this: >>> >>> Does phasor~ always start from 0 and go to 1, i.e. is there always a > signal value of 0 at the start of the ramp and a signal value of 1 at the > end? > As I write this, my common sense tells me it should be "yes" but I > want to make sure. I suppose I should just try it really... >>> >>> Cheers, >>> Ed >>> >>> Ninja Jamm - a revolutionary new musix remix app from Ninja Tune and > Seeper, for iPhone and iPad >>> http://www.ninjajamm.com/ >>> Gemnotes-0.2: Live music notation for Pure Data, now with dynamics! >>> http://sharktracks.co.uk/ >>> ___ >>> pd-l...@iem.at mailing list >>> UNSUBSCRIBE and account-management -> > http://lists.puredata.info/listinfo/pd-list >>> >>> >> >> >> > <>___ Pd-dev mailing list Pd-dev@iem.at http://lists.puredata.info/listinfo/pd-dev
[PD-dev] Rewriting a unified phasor / metro object for reading tables
Hi Lists(s), I'm rewriting phasor~ and unifying it with metro so that a pulse is generated from the boundaries of each ramp - so that bars of music can be read using tabread~ objects with a sample-accurate metro. I'm sure someone will say this can already be done, but it has to be dropped into the Ninja Jamm patch, so there isn't really time to rewrite the rest of the patch. I don't fully understand the way phasor~ wraps, but I have the object firing out bar numbers correctly. I'm putting clocks in for 16ths and 24ths of the beat, initiated on each wrap. I need to minimise CPU, so what I want to know is this: Does phasor~ always start from 0 and go to 1, i.e. is there always a signal value of 0 at the start of the ramp and a signal value of 1 at the end? As I write this, my common sense tells me it should be "yes" but I want to make sure. I suppose I should just try it really... Cheers, Ed Ninja Jamm - a revolutionary new musix remix app from Ninja Tune and Seeper, for iPhone and iPad http://www.ninjajamm.com/ Gemnotes-0.2: Live music notation for Pure Data, now with dynamics! http://sharktracks.co.uk/ ___ Pd-dev mailing list Pd-dev@iem.at http://lists.puredata.info/listinfo/pd-dev
[PD-dev] Invitation to connect on LinkedIn
LinkedIn I'd like to add you to my professional network on LinkedIn. - Ed Ed Kelly Associate Tutor at University of Surrey London, United Kingdom Confirm that you know Ed Kelly: https://www.linkedin.com/e/jo22d0-hg026ee6-d/isd/12799470526/v_S58H3z/?hs=false&tok=1Q_rdJ__bAFBI1 -- You are receiving Invitation to Connect emails. Click to unsubscribe: http://www.linkedin.com/e/jo22d0-hg026ee6-d/pLQWEj4y5-g51Vl0J6t0CNB/goo/pd-dev%40iem%2Eat/20061/I4238778396_1/?hs=false&tok=0kyCDwpDzAFBI1 (c) 2012 LinkedIn Corporation. 2029 Stierlin Ct, Mountain View, CA 94043, USA. ___ Pd-dev mailing list Pd-dev@iem.at http://lists.puredata.info/listinfo/pd-dev
Re: [PD-dev] [PD-ot] Xcode and some commands
You need the "command line tools" for XCode. From the Apple website: "Xcode includes a new "Downloads" preference pane to install optional components such as command line tools, and previous iOS Simulators." ...so it seems gcc and make are "optional components" you can get from the "Downloads preference pane" I don't have the latest OS X or XCode so that's all I have for now, Ed Gemnotes-0.2: Live music notation for Pure Data, now with dynamics! http://sharktracks.co.uk/ > > From: Alexandros Drymonitis >To: IOhannes m zmoelnig >Cc: pd...@iem.at; pd-dev >Sent: Monday, 14 January 2013, 13:47 >Subject: Re: [PD-ot] Xcode and some commands > > >Just checked the Contents of Xcode, and there's a make executable there, is >this a compiler that could do the job? If so, what's the syntax for adding >this path in order to install the zexy library? >Also, I'm reading about fink, and trying to follow some guidelines for >installation. I have a question, is the /Applications directory the right one >for Xcode? Or should it go somewhere in the /Developer directory? Where >exactly? > > > > >On Mon, Jan 14, 2013 at 3:16 PM, IOhannes m zmoelnig wrote: > >-BEGIN PGP SIGNED MESSAGE- >>Hash: SHA1 >> >>On 2013-01-14 12:50, Alexandros Drymonitis wrote: >>> Hi all, >> >>hi. >> >> >>this is probably best targetted at pd-dev (pd-list), but anyhow... >> >> >>> I'm trying to install some externals in Pd vanilla. Till now I've >>> managed to install the Gem library. But now I'm trying to install >>> zexy, but opening Pd with the '-lib zexy' flag from the command >>> line is not enough. Trying to follow the installation guidelines of >>> the library, I'm facing some problems. Trying to run >>> './bootstrap.sh; ./configure; make' I get the following errors: >>> ./bootstrap.sh: line 3: aclocal: command not found checking for >>> gcc... no checking for cc... no checking for cl.exe... no >>> configure: error: in >>> `/Applications/Pd-0.44-0.app/Contents/Resources/extra/zexy-2.2.4/src': >>> >>> >>configure: error: no acceptable C compiler found in $PATH >>> See `config.log' for more details -bash: make: command not found >>> >>> I have Xcode, version 4.5.2 installed in my /Applications directory >>> (I've been told in the past I need to have developer tools in order >>> to be able to run some commands), but that won't do the job..maybe >>> it's quite obvious, but my knowledge on this is extremely limited. >>> Any ideas? Obviously I have OS X. My version is 10.8.2, upgraded >>> since I have quite an old laptop. >> >>i cannot help you in detail (some other devs might be more osx-savy, >>though), but i will try to give some generic hints. >> >>it seems like your system cannot find a number of needed things, namely >>- - a valid compiler (gcc) >>- - a valid "make" >>- - working autotools (e.g. aclocal) >> >>at least the former two should be installed when you have XCode >>properly installed. either you missed something when installing (e.g. >>only copied XCode app, but forgot to run the "installer"), or you have >>to add some paths to your PATH variable. >>try locating the "make" binary (e.g. `find / -name make`) and add that >>path to your PATH. >> >>autotools used to come with xcode, but it seems that they are not >>shipping it any longer (confirm [1]). >>you might have luck using a package-manager like "fink". >> >>fgasdrm >>IOhannes >> >> >> >>[1] >>http://jsdelfino.blogspot.co.at/2012/08/autoconf-and-automake-on-mac-os-x.html >>-BEGIN PGP SIGNATURE- >>Version: GnuPG v1.4.12 (GNU/Linux) >>Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ >> >>iEYEARECAAYFAlD0BRMACgkQkX2Xpv6ydvTyHwCgvDNVxboc0fWpO8UfWVCtQMoj >>+pcAoNR8SCx4CEerQL/EAmUKbcyWkAgQ >>=BZPs >>-END PGP SIGNATURE- >> >>___ >>Pd-ot mailing list >>pd...@iem.at >>http://lists.puredata.info/listinfo/pd-ot >> > >___ >Pd-ot mailing list >pd...@iem.at >http://lists.puredata.info/listinfo/pd-ot > > >___ Pd-dev mailing list Pd-dev@iem.at http://lists.puredata.info/listinfo/pd-dev
Re: [PD-dev] [PD-ot] Xcode and some commands
Hi Alexandros, Getting autotools and similar *nix packages: A good package manager to make these things easier is macports: http://www.macports.org/ Ed Gemnotes-0.2: Live music notation for Pure Data, now with dynamics! http://sharktracks.co.uk/ - Original Message - > From: IOhannes m zmoelnig > To: pd...@iem.at; pd-dev > Cc: > Sent: Monday, 14 January 2013, 13:16 > Subject: Re: [PD-ot] Xcode and some commands > > -BEGIN PGP SIGNED MESSAGE- > Hash: SHA1 > > On 2013-01-14 12:50, Alexandros Drymonitis wrote: >> Hi all, > > hi. > > > this is probably best targetted at pd-dev (pd-list), but anyhow... > >> I'm trying to install some externals in Pd vanilla. Till now I've >> managed to install the Gem library. But now I'm trying to install >> zexy, but opening Pd with the '-lib zexy' flag from the command >> line is not enough. Trying to follow the installation guidelines of >> the library, I'm facing some problems. Trying to run >> './bootstrap.sh; ./configure; make' I get the following errors: >> ./bootstrap.sh: line 3: aclocal: command not found checking for >> gcc... no checking for cc... no checking for cl.exe... no >> configure: error: in >> `/Applications/Pd-0.44-0.app/Contents/Resources/extra/zexy-2.2.4/src': >> >> > configure: error: no acceptable C compiler found in $PATH >> See `config.log' for more details -bash: make: command not found >> >> I have Xcode, version 4.5.2 installed in my /Applications directory >> (I've been told in the past I need to have developer tools in order >> to be able to run some commands), but that won't do the job..maybe >> it's quite obvious, but my knowledge on this is extremely limited. >> Any ideas? Obviously I have OS X. My version is 10.8.2, upgraded >> since I have quite an old laptop. > > i cannot help you in detail (some other devs might be more osx-savy, > though), but i will try to give some generic hints. > > it seems like your system cannot find a number of needed things, namely > - - a valid compiler (gcc) > - - a valid "make" > - - working autotools (e.g. aclocal) > > at least the former two should be installed when you have XCode > properly installed. either you missed something when installing (e.g. > only copied XCode app, but forgot to run the "installer"), or you have > to add some paths to your PATH variable. > try locating the "make" binary (e.g. `find / -name make`) and add that > path to your PATH. > > autotools used to come with xcode, but it seems that they are not > shipping it any longer (confirm [1]). > you might have luck using a package-manager like "fink". > > fgasdrm > IOhannes > > > > [1] > http://jsdelfino.blogspot.co.at/2012/08/autoconf-and-automake-on-mac-os-x.html > -BEGIN PGP SIGNATURE- > Version: GnuPG v1.4.12 (GNU/Linux) > Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ > > iEYEARECAAYFAlD0BRMACgkQkX2Xpv6ydvTyHwCgvDNVxboc0fWpO8UfWVCtQMoj > +pcAoNR8SCx4CEerQL/EAmUKbcyWkAgQ > =BZPs > -END PGP SIGNATURE- > > ___ > Pd-ot mailing list > pd...@iem.at > http://lists.puredata.info/listinfo/pd-ot > ___ Pd-dev mailing list Pd-dev@iem.at http://lists.puredata.info/listinfo/pd-dev
Re: [PD-dev] Filter design for iPhone
Hi Peter, Oh dear! I'm not allowed to release this to anybody! I did eventually come up with a way to get round this - a new filter external that is now part of the app. If and when I get an iPhone I'll try to recreate the problem with a less commercially sensitive patch. Best, Ed Gemnotes-0.1alpha: Live music notation for Pure Data http://sharktracks.co.uk/ From: Peter Brinkmann To: Ed Kelly Cc: Joe White ; PD List ; pddev Sent: Friday, 23 March 2012, 0:04 Subject: Re: [PD-dev] Filter design for iPhone Hi Ed, The attached files are just the Pd patch and abstractions. We'll probably need the entire app to get a sense of what's going wrong here. Cheers, Peter On Thu, Mar 22, 2012 at 11:52 AM, Ed Kelly wrote: >>> [...] >>> I will look at the RJDJ filters mentioned also. I would like not to have to >>> worry about filters when programming libpd audio engines. > >>Absolutely. If a patch works with Pd Vanilla, then it ought to work >>with libpd. Would you mind filing a bug report at GitHub, ideally >>with a minimal example that reproduces the problem? >>Thanks, >> Peter > Sure, although this is ofxPd from Dan Wilcox, so I'm not sure what the > difference is between this and the iOS or Android versions. > > Best, > Ed___ Pd-dev mailing list Pd-dev@iem.at http://lists.puredata.info/listinfo/pd-dev
Re: [PD-dev] [PD] Filter design for iPhone
>> I'm anxious to know what limit is reached in the coefficients of the filter >> that causes the undefined result (NaN). > >I haven't seen the code, but I just want to make you notice that adding >together -Infinity and +Infinity results in a NaN ; so does subtracting >two infinities of the same sign. > >So, the NaN might happen when two expressions that are supposed to partially >cancel each other, happen to both overflow, in different directions. > >There are various possible causes for NaN, but with formulas that only involve >+, - and *, the possibilities are a lot more limited. Hmmm. I think that's why it puzzles me so. Can you see a / anywhere here? while (n--) { i1=(*in++); fc1 = (*fc++); res1 = (*res++); q = 1.0f - fc1; p = fc1 + 0.8f * fc1 * q; fcoeff = p + p - 1.0f; q = res1 * (1.0f + 0.5f * q * (1.0f - q + 5.6f * q * q)); i1 -= q * xb4; t1 = xb1; xb1 = (i1 + xb0) * p - xb1 * fcoeff; t2 = xb2; xb2 = (xb1 + t1) * p - xb2 * fcoeff; t1 = xb3; xb3 = (xb2 + t2) * p - xb3 * fcoeff; xb4 = (xb3 + t1) * p - xb4 * fcoeff; xb4 = xb4 - xb4 * xb4 * xb4 * 0.17f; xb0 = i1; *out++ = xb4; } No reciprocals, no divisions, just +,-,*. I cannot help thinking I must be reaching a "limit" in the calculus sense... Ed __ | Mathieu BOUCHARD - téléphone : +1.514.383.3801 - Montréal, QC___ Pd-dev mailing list Pd-dev@iem.at http://lists.puredata.info/listinfo/pd-dev
Re: [PD-dev] Filter design for iPhone
>> [...] >> I will look at the RJDJ filters mentioned also. I would like not to have to >> worry about filters when programming libpd audio engines. >Absolutely. If a patch works with Pd Vanilla, then it ought to work >with libpd. Would you mind filing a bug report at GitHub, ideally >with a minimal example that reproduces the problem? >Thanks, > Peter Sure, although this is ofxPd from Dan Wilcox, so I'm not sure what the difference is between this and the iOS or Android versions. Best, Ed filtertest_list.tar.gz Description: GNU Zip compressed data ___ Pd-dev mailing list Pd-dev@iem.at http://lists.puredata.info/listinfo/pd-dev
Re: [PD-dev] Filter design for iPhone
They updated libpd to the latest last week. More info to follow. ;-~ Gemnotes-0.1alpha: Live music notation for Pure Data http://sharktracks.co.uk/ From: Rich E To: Ed Kelly Cc: PD List ; pddev Sent: Tuesday, 20 March 2012, 16:37 Subject: Re: [PD-dev] Filter design for iPhone What do you mean by break, crashes? If yes, what version of libpd are you using? Up until about a month ago, floating point exceptions (such as NAN) would crash libpd, whereas pd-vanilla ignores them. Peter B. recently added a commit that changed this: https://github.com/libpd/libpd/commit/27c848a56d3d27e62231f8b0d9ef17c7c56cd9f9 Anywho, you'll probably want to take care of those NAN's anyway. :) Not sure why pd vanilla ignores SIGFPE. cheers, Rich On Tue, Mar 20, 2012 at 4:57 PM, Ed Kelly wrote: Hi, > > >I'm trying to design or find a resonant lowpass filter for use with libPd for >Openframeworks running on an iPhone 4. > > >1. I've tried the rjlib filter attached (filtertest_list.tar.gz) and it works >fine in Pd, but instantly breaks when I run it on the iPhone - all other >playing audio cuts out, and it is impossible to reset. I suspect that the >buffers fb1 fb2 ff1 ff2 ff3 are hitting NAN values and staying there, but I >haven't tested this. > > >2. I've had a go at implementing the filter from >http://www.musicdsp.org/archive.php?classid=3#25 as a Pd external >(mvcf~.tar.gz) and it is very efficient CPU-wise. However, higher values of f >or q cause the internal filter buffers to hit NAN and stay there (tested in Pd >- I haven't tried this on the iPhone yet). > > >I would ideally like to find out why the second attempt breaks at high q >and/or f, as what I want is a 24dB/Octave moog-ish filter. I'm sure those of >you with higher math skills will intuitively know why, but I'm just learning >calculus now (my early education was a bit chaotic). I'm also limited by the >fact that this is for a commercial project (although I'll be happy to share >the code :) so I can't just take a GPL external and recompiled libpd with it. > > >Ed > > >Gemnotes-0.1alpha: Live music notation for Pure Data >http://sharktracks.co.uk/ >___ >Pd-dev mailing list >Pd-dev@iem.at >http://lists.puredata.info/listinfo/pd-dev > >___ Pd-dev mailing list Pd-dev@iem.at http://lists.puredata.info/listinfo/pd-dev
Re: [PD-dev] Filter design for iPhone
mvcf~ - Well, it breaks when the Q is high and freq is moderately high, or at high freq and Q, but it seems to be that the higher you get with either frequency or Q it has a greater probability of breaking (all dac~ outputs at 1 (or possibly 1e+07), no more audio can be played by the patch. What I mean is that with the noise~ object as the input, the filter breaks after about 1-3 seconds when Q=0.70-0.8, f=0.7-0.8, and there are variations on this depending on the settings. Something is profoundly un-robust about this filter, but it's cpu load is very low. I want to have a stable version for not much more CPU. I will look at the RJDJ filters mentioned also. I would like not to have to worry about filters when programming libpd audio engines. It would be nice to get a really efficient IIR with a musical response that uses low CPU into the core - I am not an expert at using poles and zeroes however (but I'm working on my higher math often these days, with the Khan academy :) Some of this is subjective, perhaps the "musical" nature of filters, but certain types of filter are assumed by many (musicians, DJs etc) in this part of the world to be normally available. The 24dB lowpass resonant filter a la Moog is one of them, and a fundamental analogue processor as well. I understand the analogue better than the discrete, so I'm anxious to know what limit is reached in the coefficients of the filter that causes the undefined result (NaN). But I'll try the other rjlib filters first! Ed Gemnotes-0.1alpha: Live music notation for Pure Data http://sharktracks.co.uk/ ____ From: Joe White To: Ed Kelly Cc: PD List ; pddev Sent: Tuesday, 20 March 2012, 17:50 Subject: Re: [PD-dev] Filter design for iPhone Hi Ed, I just tested your filtertest_list patch in RjDj and it worked exactly as expected. As Rich suggested maybe you're using an outdated version of libpd? If Frank's around I'm sure he would know for certain but if I remember rightly the [u_lowpass] / [u_beequad] combination is not really designed for dynamically changing parameters. Maybe take a look at [e_reslop], [e_lop2] and [e_lop4] for some other filter implementations. Regarding your second attempt, at what frequency does it 'break' and what's your sampling rate? Cheers, Joe On 20 March 2012 05:57, Ed Kelly wrote: Hi, > > >I'm trying to design or find a resonant lowpass filter for use with libPd for >Openframeworks running on an iPhone 4. > > >1. I've tried the rjlib filter attached (filtertest_list.tar.gz) and it works >fine in Pd, but instantly breaks when I run it on the iPhone - all other >playing audio cuts out, and it is impossible to reset. I suspect that the >buffers fb1 fb2 ff1 ff2 ff3 are hitting NAN values and staying there, but I >haven't tested this. > > >2. I've had a go at implementing the filter from >http://www.musicdsp.org/archive.php?classid=3#25 as a Pd external >(mvcf~.tar.gz) and it is very efficient CPU-wise. However, higher values of f >or q cause the internal filter buffers to hit NAN and stay there (tested in Pd >- I haven't tried this on the iPhone yet). > > >I would ideally like to find out why the second attempt breaks at high q >and/or f, as what I want is a 24dB/Octave moog-ish filter. I'm sure those of >you with higher math skills will intuitively know why, but I'm just learning >calculus now (my early education was a bit chaotic). I'm also limited by the >fact that this is for a commercial project (although I'll be happy to share >the code :) so I can't just take a GPL external and recompiled libpd with it. > > >Ed > > >Gemnotes-0.1alpha: Live music notation for Pure Data >http://sharktracks.co.uk/ >___ >Pd-dev mailing list >Pd-dev@iem.at >http://lists.puredata.info/listinfo/pd-dev > >___ Pd-dev mailing list Pd-dev@iem.at http://lists.puredata.info/listinfo/pd-dev
[PD-dev] Filter design for iPhone
Hi, I'm trying to design or find a resonant lowpass filter for use with libPd for Openframeworks running on an iPhone 4. 1. I've tried the rjlib filter attached (filtertest_list.tar.gz) and it works fine in Pd, but instantly breaks when I run it on the iPhone - all other playing audio cuts out, and it is impossible to reset. I suspect that the buffers fb1 fb2 ff1 ff2 ff3 are hitting NAN values and staying there, but I haven't tested this. 2. I've had a go at implementing the filter from http://www.musicdsp.org/archive.php?classid=3#25 as a Pd external (mvcf~.tar.gz) and it is very efficient CPU-wise. However, higher values of f or q cause the internal filter buffers to hit NAN and stay there (tested in Pd - I haven't tried this on the iPhone yet). I would ideally like to find out why the second attempt breaks at high q and/or f, as what I want is a 24dB/Octave moog-ish filter. I'm sure those of you with higher math skills will intuitively know why, but I'm just learning calculus now (my early education was a bit chaotic). I'm also limited by the fact that this is for a commercial project (although I'll be happy to share the code :) so I can't just take a GPL external and recompiled libpd with it. Ed Gemnotes-0.1alpha: Live music notation for Pure Data http://sharktracks.co.uk/ filtertest_list.tar.gz Description: application/gzip mvcf~.tar.gz Description: application/gzip ___ Pd-dev mailing list Pd-dev@iem.at http://lists.puredata.info/listinfo/pd-dev
Re: [PD-dev] denormals: svf, freeverb (was Re: [PD] bug in freeverb???)
> as stated before in this thread, denormals can slow down > the computation > on the fpu. the problem is not as big, when compiling the > binary to use > the sse unit, though (btw, this is the default, when > compiling for x86_64) Indeed, but externals that run a little slow are better than those that crash PD in the middle of a performance! This is why I'm trying to find a way of fixing the externals that suffer from this. moog~ is another! Meanwhile, I've rolled back to the old svf~ external so that the metastudio drumsynths don't crash. I had a very successful gig last night as a result.. Who wrote the old svf~? > pd devel_0_39 did also set the DAZ/FTZ flags, which affect > the denormal > handling on the sse unit, but that was never merged into > vanilla pd I see there's a new pd_devel branch. I should check it out. Vest, Ed > > hth, tim > > -- > t...@klingt.org > http://tim.klingt.org > > Only very good and very bad programmers use goto in C > > > -Inline Attachment Follows- > > ___ > Pd-dev mailing list > Pd-dev@iem.at > http://lists.puredata.info/listinfo/pd-dev > Send instant messages to your online friends http://uk.messenger.yahoo.com ___ Pd-dev mailing list Pd-dev@iem.at http://lists.puredata.info/listinfo/pd-dev
Re: [PD-dev] denormals: svf, freeverb (was Re: [PD] bug in freeverb???)
> I wonder if this line, right after > you check "in" for denormality, might not be causing > trouble: > // > very slight waveshape for extra stability > > sv->b = sv->b - sv->b * sv->b * sv->b * > 0.001f; > Since cubing a tiny number and multiplying it by .001 could > end up creating a denormal, which isn't checked for until > it's gone through a series of further computations and ends > up as the new "in". Could be, but I tried applying an the exception handler to sv->b (which has a cubed version of itself - 0.001f taken away from it) and still pegged the CPU. > Also (I don't really know), I thought that denormals were > caught as a processor exception whenever they occurred, so > neutralizing them in the code after the fact won't do > anything to speed up the process, except to prevent a > cascade of denormals. The thing to do would be to replace > the exception handler with your own. It seems from the article you flagged up that the Denormals-Are-Zero (DAZ) mode we really need is an SSE instruction. I wonder if you can do this without using intrinsics and native Intel code. I think there's some resistance to this since the code is meant to be compilable on PPC, i386, i686 and all variants, not just P3-and-beyond, and I'm trying to make my work generically compatible with all Pd-Extended distributions from 0.39 onwards. > "To avoid serialization and performance issues due to > denormals and underflow numbers, use the SSE and SSE2 > instructions to set Flush-to-Zero and Denormals-Are-Zero > modes within the hardware to enable highest performance for > floating-point applications." Once again, I personally would like to have this implemented in the PD core, since denormals are a real pain in the ass and often cause CPU pegging. This limits the real-time uses of PD, since there are some performance patches that are realizable but ultimately un-performable. As such I'm surprised it doesn't class as a bug, but I guess this is up to the extern writer. I notice a post on the pd-dev list - denormal bashing for feedback filters - ID: 1145279 cpole~ and rpole~ filters are not denormal save(sic) yet How did zmoelnig fix this I wonder? Ed The article again for anyone reading this in the middle of the thread: http://software.intel.com/en-us/articles/x87-and-sse-floating-point-assists-in-ia-32-flush-to-zero-ftz-and-denormals-are-zero-daz/ ___ Pd-dev mailing list Pd-dev@iem.at http://lists.puredata.info/listinfo/pd-dev
Re: [PD-dev] denormals: svf, freeverb (was Re: [PD] bug in freeverb???)
Hi Damon, I have tried to implement this technique, to fix the svf~ and I am still getting denormal errors pegging the CPU. Is there anything I have missed do you think? After reading a little bit about unions and uint32_t I think I've used them correctly... If this bug can be zapped for good then I'd like to eliminate denormal errors from the svn for good! Best, Ed --- On Fri, 14/8/09, Damon Chaplin wrote: > From: Damon Chaplin > Subject: Re: [PD-dev] denormals: svf, freeverb (was Re: [PD] bug in > freeverb???) > To: "Ed Kelly" > Cc: "PD List" , "pddev" > Date: Friday, 14 August, 2009, 1:51 PM > > On Fri, 2009-08-14 at 13:06 +0100, Damon Chaplin wrote: > > On Fri, 2009-08-14 at 13:03 +0100, Damon Chaplin > wrote: > > > > > if (u.int_value & > 0x7f80) > > > fv = 0.0f; > > > > Oops. That should be: > > > > if (u.int_value & 0x7f80 == 0) > > fv = 0.0f; > > Or even better: > > if ((u.int_value & 0x7f80) == 0) > fv = 0.0f; > > Damon > > > svftest.tgz Description: GNU Unix tar archive ___ Pd-dev mailing list Pd-dev@iem.at http://lists.puredata.info/listinfo/pd-dev
[PD-dev] denormals: svf, freeverb (was Re: [PD] bug in freeverb???)
We have to sort this out! The denormals bug in freeverb~ _seems_ to have been fixed by following Julius' advice. I made a makefile with -fno-trapping-math as a flag and so far so good. I haven't had a problem with the freeverb~ object pegging the CPU. May I advise that this is implemented in PD-extended, since it causes my patch to NOT WORK AT GIGS! I simply cannot take any more embarrassment. I want to play live, otherwise there's simply no point doing anything! The second one I have discovered is in bsaylor/svf~ and there's no makefile for this in the subversion repository. I notice in the source code there is a FLUSH_TO_ZERO definition. Interestingly, when I try to compile this external using a bog-standard makefile on Ubuntu 8.10, it causes an error: cc1: warnings being treated as errors svf~.c: In function ‘run_svf’: svf~.c:59: error: dereferencing type-punned pointer will break strict-aliasing rules svf~.c:60: error: dereferencing type-punned pointer will break strict-aliasing rules Now, I'm trying to unpick the statement: #define FLUSH_TO_ZERO(fv) (((*(unsigned int*)&(fv))&0x7f80)==0)?0.0f:(fv) which is being called on lines 59 and 60 of bsaylor/svf~.c, causing the compiler to choke, and (perhaps) causing my drumsynths to break! And by the way, where is the source code for the _other_ svf~ external? Ed --- On Wed, 1/7/09, Julius Smith wrote: > From: Julius Smith > Subject: Re: [PD] bug in freeverb??? > To: "Matt Barber" > Cc: pd-l...@iem.at > Date: Wednesday, 1 July, 2009, 8:22 PM > Hmmm, this sounds like underflow > traps ("denormals"). You should > also be able to add a small constant to the input signal. > > I notice gcc has the option > > -fno-trapping-math > > which may make the problem disappear if my theory is > correct. (I > hope the FPU simply sets underflows quietly to zero when no > trap can > be generated.) > There is also > > -ffast-math > > which is more aggressive. > > - jos > > At 11:30 AM 7/1/2009, Matt Barber wrote: > >We have also had this problem, and have found that > normally one can > >avoid it by salting the [freeverb~] object with a > minuscule amount of > >noise at all times. > > > >Matt > > > > > > > > > Message: 5 > > > Date: Wed, 1 Jul 2009 09:57:43 -0700 (PDT) > > > From: Andres Ferrari > > > Subject: [PD] bug in freeverb??? > > > To: pd-l...@iem.at > > > Message-ID: <166347.29167...@web111408.mail.gq1.yahoo.com> > > > Content-Type: text/plain; charset=iso-8859-1 > > > > > > > > > when is connected into freeverb any signal > multiplied by zero > > > the CPU usage begin to up and up to the limit, > and if the patch > > is heavy by far exceeds the 100%sound and > everything becomes a mess. > > > > > > This happens to me only in leopard. > > > > > > In osx 10.4 (ppc) and windows I've never had that > problem. > > > Andr?s Ferrari G. > > > > > > http://www.myspace.com/anfex > > > > > > >___ > >pd-l...@iem.at > mailing list > >UNSUBSCRIBE and account-management -> > >http://lists.puredata.info/listinfo/pd-list > > > Julius O. Smith III > Prof. of Music and Assoc. Prof. (by courtesy) of Electrical > Engineering > CCRMA, Stanford University > http://ccrma.stanford.edu/~jos/ > > > ___ > pd-l...@iem.at > mailing list > UNSUBSCRIBE and account-management -> > http://lists.puredata.info/listinfo/pd-list > Send instant messages to your online friends http://uk.messenger.yahoo.com ___ Pd-dev mailing list Pd-dev@iem.at http://lists.puredata.info/listinfo/pd-dev
[PD-dev] bug???!?!?
Hi there, I've encountered this before, but now it has sabotaged one thing I wanted to play at pdcon, I want to work out why it happens. Enclosed is a folder containing two versions of my clinoker~ drum synth. On one of them, the filter for the noise generator does not work, and on the other it does. The only difference between them is an [envrms~] measuring object on the frequency signal to the filter - but it's not even in the chain of signals that affects anything. Have a look. Ideas please? Ed bugs.tgz Description: GNU Unix tar archive ___ Pd-dev mailing list Pd-dev@iem.at http://lists.puredata.info/listinfo/pd-dev
Re: [PD-dev] [PD] VASP troubles on extended 0.40.3 - and on 0.41-RC1
OK. I tried it before with vanilla, but I was using the same pd/extra directory as pd-extended. Now I have isolated the problem by compiling pd-vanilla in a separate folder, and I've found that there is some clash between Gem and vasp. When I remove the Gem (version 0.90, compiled Oct 8 2008 by iohannes) vasp works fine. No warnings in the Pd window with extended, but in the vanilla Pd with the same externals I get this: libdir loader $Revision: 1.8 $ compiled on May 13 2009 at 12:54:42 compiled against Pd version 0.41.4.extended-rc1 warning: old method 'draw' for class 'primTri' renamed 'draw_aliased' warning: old method 'width' for class 'polygon' renamed 'width_aliased' warning: old method 'draw' for class 'polygon' renamed 'draw_aliased' warning: old method 'draw' for class 'curve3d' renamed 'draw_aliased' warning: old method 'width' for class 'curve' renamed 'width_aliased' warning: old method 'draw' for class 'curve' renamed 'draw_aliased' warning: old method 'open' for class 'pix_movieNEW' renamed 'open_aliased' warning: old method 'img_num' for class 'pix_movieNEW' renamed 'img_num_aliased' warning: old method 'auto' for class 'pix_movieNEW' renamed 'auto_aliased' warning: class 'pix_film' overwritten\; old one renamed 'pix_film_aliased' warning: class 'pix_filmQT' overwritten\; old one renamed 'pix_filmQT_aliased' warning: class 'change' overwritten\; old one renamed 'change_aliased' warning: class 'abs~' overwritten\; old one renamed 'abs~_aliased' GEM: Graphics Environment for Multimedia GEM: ver: 0.90 GEM: compiled: Oct 8 2008 GEM: maintained by IOhannes m zmoelnig GEM: Authors : Mark Danks (original version on irix/windows) GEM:Chris Clepper (macOS-X) GEM:Daniel Heckenberg (windows) GEM:James Tittle (macOS-X) GEM:IOhannes m zmoelnig (linux/windows) libdir_loader: added 'cyclone' to the global objectclass path warning: class 'wrap' overwritten\; old one renamed 'wrap_aliased' warning: class 'abs~' overwritten\; old one renamed 'abs~_aliased' ...some clues maybe? Ed --- On Tue, 19/5/09, Thomas Grill wrote: > From: Thomas Grill > Subject: Re: [PD-dev] [PD] VASP troubles on extended 0.40.3 - and on 0.41-RC1 > To: "Ed Kelly" > Cc: "pddev" > Date: Tuesday, 19 May, 2009, 8:13 PM > Hi Ed, > could you also try with vanilla pd? > I can't reproduce the problem. > gr~~~ > > Am 14.05.2009 um 22:37 schrieb Ed Kelly: > > > > > Apologies for posting on the main list first - my > mistake! > > > > Vasp always crashes PD for me. It happens with any > vasp object (inc. all help files) on pd-extended-0.40.3 and > pd-extended 0.41.RC1. The terminal window shows > > watchdog: signaling pd... > > watchdog: signaling pd... etc > > after a "signal 6" message. > > > > but before that the text below appears in the terminal > inside which PD is running. > > > > I've tried pd-extended-0.40.3 and the new RC1 of > pd-extended-0.41.1, and re-compiled vasp several times. The > bug persists whether jack is running or not, and whether rt > mode is on or off. > > > > Some process is aborting inside vasp every time. > Here's the detail. > > Best wishes, > > Ed > > Intel dual core, 2Gb, Ubuntu Intrepid. > > > >> tk scaling is 1.44534291704 > >> *** glibc detected *** /usr/bin/pd: free(): > invalid > >> pointer: 0x09edaf14 *** > >> === Backtrace: = > >> /lib/tls/i686/cmov/libc.so.6[0xb7e45454] > >> > /lib/tls/i686/cmov/libc.so.6(cfree+0x96)[0xb7e474b6] > >> > /usr/lib/pd/extra/vasp.pd_linux(_ZN16flext_root_multidlEPv+0x32)[0xb600b764] > >> > /usr/lib/pd/extra/vasp.pd_linux(_ZN11flext_multi8AtomList4FreeEv+0x25)[0xb600b995] > >> > /usr/lib/pd/extra/vasp.pd_linux(_ZN11flext_multi8AtomListD0Ev+0x29)[0xb600ba29] > >> > /usr/lib/pd/extra/vasp.pd_linux(_ZN9vasp_base9ToOutVaspEiR4Vasp+0x69)[0xb5fe0043] > >> > /usr/lib/pd/extra/vasp.pd_linux(_ZN7vasp_tx6m_bangEv+0x61)[0xb5fe00dd] > >> > /usr/lib/pd/extra/vasp.pd_linux(_ZN7vasp_op8m_dobangEv+0x5f)[0xb5fdffbf] > >> > /usr/lib/pd/extra/vasp.pd_linux(_ZN7vasp_op6m_vaspEiPK5_atom+0x28)[0xb5fdf8d8] > >> /usr/lib/pd/extra/vasp.pd_linux[0xb5fe12b8] > >> > /usr/lib/pd/extra/vasp.pd_linux(_ZN16flext_base_multi10TryMethTagEP
Re: [PD-dev] [PD] VASP troubles on extended 0.40.3 - and on 0.41-RC1
Apologies for posting on the main list first - my mistake! Vasp always crashes PD for me. It happens with any vasp object (inc. all help files) on pd-extended-0.40.3 and pd-extended 0.41.RC1. The terminal window shows watchdog: signaling pd... watchdog: signaling pd... etc after a "signal 6" message. but before that the text below appears in the terminal inside which PD is running. I've tried pd-extended-0.40.3 and the new RC1 of pd-extended-0.41.1, and re-compiled vasp several times. The bug persists whether jack is running or not, and whether rt mode is on or off. Some process is aborting inside vasp every time. Here's the detail. Best wishes, Ed Intel dual core, 2Gb, Ubuntu Intrepid. > tk scaling is 1.44534291704 > *** glibc detected *** /usr/bin/pd: free(): invalid > pointer: 0x09edaf14 *** > === Backtrace: = > /lib/tls/i686/cmov/libc.so.6[0xb7e45454] > /lib/tls/i686/cmov/libc.so.6(cfree+0x96)[0xb7e474b6] > /usr/lib/pd/extra/vasp.pd_linux(_ZN16flext_root_multidlEPv+0x32)[0xb600b764] > /usr/lib/pd/extra/vasp.pd_linux(_ZN11flext_multi8AtomList4FreeEv+0x25)[0xb600b995] > /usr/lib/pd/extra/vasp.pd_linux(_ZN11flext_multi8AtomListD0Ev+0x29)[0xb600ba29] > /usr/lib/pd/extra/vasp.pd_linux(_ZN9vasp_base9ToOutVaspEiR4Vasp+0x69)[0xb5fe0043] > /usr/lib/pd/extra/vasp.pd_linux(_ZN7vasp_tx6m_bangEv+0x61)[0xb5fe00dd] > /usr/lib/pd/extra/vasp.pd_linux(_ZN7vasp_op8m_dobangEv+0x5f)[0xb5fdffbf] > /usr/lib/pd/extra/vasp.pd_linux(_ZN7vasp_op6m_vaspEiPK5_atom+0x28)[0xb5fdf8d8] > /usr/lib/pd/extra/vasp.pd_linux[0xb5fe12b8] > /usr/lib/pd/extra/vasp.pd_linux(_ZN16flext_base_multi10TryMethTagEPNS_4ItemEPK7_symboliPK5_atom+0x1cd)[0xb60127c7] > /usr/lib/pd/extra/vasp.pd_linux(_ZN16flext_base_multi8FindMethEiPK7_symboliPK5_atom+0x6b)[0xb6012971] > /usr/lib/pd/extra/vasp.pd_linux(_ZN16flext_base_multi15CbMethodHandlerEiPK7_symboliPK5_atom+0x43)[0xb6012a9d] > /usr/lib/pd/extra/vasp.pd_linux(_ZN16flext_base_multi11cb_anythingEP9flext_hdrPK7_symboliP5_atom+0x43)[0xb60130b5] > /usr/bin/pd(pd_typedmess+0x26b)[0x80afb2b] > === Memory map: > 08048000-08128000 r-xp 08:15 889688 > /usr/bin/pd > 08128000-08129000 r--p 000df000 08:15 889688 > /usr/bin/pd > 08129000-0812a000 rw-p 000e 08:15 889688 > /usr/bin/pd > 0812a000-0853b000 rw-p 0812a000 00:00 0 > 09de2000-09edc000 rw-p 09de2000 00:00 0 > [heap] > b3e4-b3e97000 rw-p b3e4 00:00 0 > b3e97000-b3fff000 r-xp 08:15 887130 > /usr/lib/libsamplerate.so.0.1.3 > b3fff000-b400 r--p 00167000 08:15 887130 > /usr/lib/libsamplerate.so.0.1.3 > b400-b4001000 rw-p 00168000 08:15 887130 > /usr/lib/libsamplerate.so.0.1.3 > b4001000-b40dd000 r-xp 08:15 887952 > /usr/lib/libfftw3f.so.3.1.2 > b40dd000-b40e3000 r--p 000dc000 08:15 887952 > /usr/lib/libfftw3f.so.3.1.2 > b40e3000-b40e4000 rw-p 000e2000 08:15 887952 > /usr/lib/libfftw3f.so.3.1.2 > b40e4000-b40f r-xp 08:15 889570 > /usr/lib/libaubio.so.2.1.1 > b40f-b40f1000 rw-p b000 08:15 889570 > /usr/lib/libaubio.so.2.1.1 > b410f000-b415f000 r-xp 08:15 887999 > /usr/lib/libImlib2.so.1.4.0 > b415f000-b416 r--p 0004f000 08:15 887999 > /usr/lib/libImlib2.so.1.4.0 > b416-b4161000 rw-p 0005 08:15 887999 > /usr/lib/libImlib2.so.1.4.0 > b4161000-b4175000 rw-p b4161000 00:00 0 > b4175000-b41b7000 r-xp 08:15 886902 > /usr/lib/libmp3lame.so.0.0.0 > b41b7000-b41b9000 rw-p 00042000 08:15 886902 > /usr/lib/libmp3lame.so.0.0.0 > b41b9000-b41ea000 rw-p b41b9000 00:00 0 > b41ea000-b41f5000 r-xp 08:15 887233 > /usr/lib/libvorbisenc.so.2.0.3 > b41f5000-b41f6000 r--p a000 08:15 887233 > /usr/lib/libvorbisenc.so.2.0.3 > b41f6000-b42e4000 rw-p b000 08:15 887233 > /usr/lib/libvorbisenc.so.2.0.3 > b42e4000-b42ff000 r-xp 08:15 887231 > /usr/lib/libvorbis.so.0.4.0 > b42ff000-b430 r--p 0001a000 08:15 887231 > /usr/lib/libvorbis.so.0.4.0 > b430-b430e000 rw-p 0001b000 08:15 887231 > /usr/lib/libvorbis.so.0.4.0 > b430e000-b4357000 r-xp 08:15 887199 > /usr/lib/libtheora.so.0.3.3 > b4357000-b4359000 rw-p 00049000 08:15 887199 > /usr/lib/libtheora.so.0.3.3 > b4359000-b43c4000 r-xp 08:15 1076527 > /usr/lib/pd/extra/pidip.pd_linux > b43c4000-b43c5000 r--p 0006a000 08:15 1076527 > /usr/lib/pd/extra/pidip.pd_linux > b43c5000-b43c7000 rw-p 0006b000 08:15 1076527 > /usr/lib/pd/extra/pidip.pd_linux > b43c7000-b43cc000 rw-p b43c7000 00:00 0 > b43cc000-b43cd000 ---p b43cc000 00:00 0 > b43cd000-b4bcd000 rwxp b43cd000 00:00 0 > b4bcd000-b4da r-xp 08:15 886766 > /usr/lib/libgsl.so.0.12.0 > b4da-b4da9000 rw-p 001d3000 08:15 886766 > /usr/lib/libgsl.so.0.12.0 > b4da9000-b4de r-xp 08:15 886768 > /usr/lib/libgslcblas.so.0.0.0 > b4de-b4de2000 rw-p 00036000 08:15 886768 > /usr/lib/libgslcblas.so.0.0.0 > b4deb000-b4dee000 r-xp 08:15 1076558 > /usr/lib
[PD-dev] SVN access
Hi chaps, I've some new externals on the boil. Could I have write access to the SVN repository? That'd be awesome! Best, Ed Kelly ___ Pd-dev mailing list Pd-dev@iem.at http://lists.puredata.info/listinfo/pd-dev
Re: [PD-dev] poly library
> > Yep, that's true, but OTOH a wrapper is just a Pd > patch, which is > > much easier > > to change than a dynamic patching construct. That has > to be taken into > > account when it comes to longer-term maintainability. > Generally > > less dynamic > > patching is better. Well...if objects to be used within a dynamic patching system conform to some kind of standard, then dynamic patching is a good thing. I'm using it a bit in the forthcoming release of metastudio. It's really time-consuming and cumbersome to create large polyphonic structures in PD. So I'm making a client in which my machines can be dynamically created as patches. Can anyone explain to me why the dynamic patching aspect of PD is not documented? Some have suggested that it "might change" at some point in the future. I can't see how basic [obj $1 $2 myvoice $3 $4...$n-1( syntax could change without a radical change to the structure of PD. Can anyone enlighten me? Happy Xmas, ED Lone Shark: Synchromatic: Out December 1st 2008 http://www.pyramidtransmissions.com/store Also available through the iTunes store ___ Pd-dev mailing list Pd-dev@iem.at http://lists.puredata.info/listinfo/pd-dev
Re: [PD-dev] autobuild mysteries
Haha! I finally worked out how to delete that pesky v3 directory. Well, as much as it can be deleted with CVS (so it's still there, but nobody can get it right?) good riddance! from within maskxor on my local (sync-ed) repository cvs -d:ext:[EMAIL PROTECTED]:/cvsroot/pure-data rm -R v3 cvs commit Q-wq in VI I hope subversion is more user friendly, but I guess it's just slightly different! Best, Ed Hans-Christoph Steiner <[EMAIL PROTECTED]> wrote: Yeah, you can''t officially delete directories in CVS. But -P "prunes" empty directories after checkout, so the effect is the same. .hc On Oct 4, 2007, at 12:45 PM, Thomas O Fredericks wrote: Oh, I just did a cvs up -Pd and they dissapeared. Never mind :) Tom On 10/4/07, Thomas O Fredericks < [EMAIL PROTECTED]> wrote:I did an initial commit of externals/tof/getdollarzero, externals/tof/folderpanel and externals/tof/destroysend but I decided to change my dir layout to work better with pd-extended's build system. How can I delete those three directories (I already delete their contents with the commands noted at the start of the thread). Tom On 9/30/07, IOhannes m zmoelnig < [EMAIL PROTECTED]> wrote: Hans-Christoph Steiner wrote: > If you want them wiped from the repository, yes. But 'cvs rm' keeps > old revisions in the repository.. if you want directories to be deleted in _any_ way, yes. "cvs rm" will only work on ordinary files. cvs has no notion of the revision of a directory. the best thing you can do is to delete all files within a directory. if "v3" has only been committed accidentally and is actually ed's "private" data, then why not delete the directory? fmgasdr. IOhannes ___ PD-dev mailing list PD-dev@iem.at http://lists.puredata.info/listinfo/pd-dev ___ PD-dev mailing list PD-dev@iem.at http://lists.puredata.info/listinfo/pd-dev As we enjoy great advantages from inventions of others, we should be glad of an opportunity to serve others by any invention of ours; and this we should do freely and generously. - Benjamin Franklin ___ PD-dev mailing list PD-dev@iem.at http://lists.puredata.info/listinfo/pd-dev Lone Shark "Aviation" out now on http://www.pyramidtransmissions.com http://www.myspace.com/sharktracks - For ideas on reducing your carbon footprint visit Yahoo! For Good this month.___ PD-dev mailing list PD-dev@iem.at http://lists.puredata.info/listinfo/pd-dev
[PD-dev] autobuild mysteries
OK, so I thought I understood cvs, but what as I thinking? again, the "v3"directory shows up on the autobuild, but I'm sure I deleted that this week. Am I missing something? I sync-ed my (local) externals repository with the cvs on sourceforge, and then from there I deleted all the files in maskxor/v3, removed "v3" and deleted erroneous files in cvs repos, then committed those changes. Yet still the autobuild chews on my old underwear. ? Ek Lone Shark "Aviation" out now on http://www.pyramidtransmissions.com http://www.myspace.com/sharktracks - Yahoo! Answers - Get better answers from someone who knows. Tryit now.___ PD-dev mailing list PD-dev@iem.at http://lists.puredata.info/listinfo/pd-dev
[PD-dev] cvs cleaned up repository
Hi there, I finally got to grips with CVS and sorted out the errors I made last week in uploading messiness to the repository. Should all work now (well, my bit anyway :D ) Best, Ed Lone Shark "Aviation" out now on http://www.pyramidtransmissions.com http://www.myspace.com/sharktracks - For ideas on reducing your carbon footprint visit Yahoo! For Good this month.___ PD-dev mailing list PD-dev@iem.at http://lists.puredata.info/listinfo/pd-dev
[PD-dev] error handlers
Hi list, I've just been looking through source code from cvs, picking at random, and looking for an example of the void error (char *fmt, ...) from the externals howto. I can't find one anywhere! Am I stating the obvious here? It's just that this means that PD patches made using anything other than internals are almost impossible to debug if they're extremely complex like mine is: there simply isn't a way of finding out where the errors are occurring. I think, IOhannes, if you could explain to me precisely how to use this function, I would be willing to (slowly) go through and make some changes. This is a massive hole in PD! Could PD or desiredata have a step-trace function, like MAX? Ouch! Ed Lone Shark "Aviation" out now on http://www.pyramidtransmissions.com http://www.myspace.com/sharktracks - For ideas on reducing your carbon footprint visit Yahoo! For Good this month.___ PD-dev mailing list PD-dev@iem.at http://lists.puredata.info/listinfo/pd-dev
Re: [PD-dev] error in maskxor in CVS
Hey Tim, Sorry, that's my fault. I was a klutz, and uploaded from a messy directory. Can anyone tell me how to get rid of stuff from the repository? I only uploaded before, and it seems that until now I have not made this silly mistake (but I did commit some bad code a week ago ;-( ) These things happen. Until I sort it out you can just delete everything except the files maskxor.c, maskxor.pd_linux, help-maskxor.pd and makefile from the maskxor directory (including that stupid v3 directory) and the compilation will work. Best, Ed Tim Boykett <[EMAIL PROTECTED]> wrote: Hi, compiling pd-extended from CVS, I found a small and new error. in the directory externals/ekext/maskxor there is a subdirectory v3. This contains a pd_linux file that has a name clash. This directory was created 49 hours ago, so I presume it is an archive version of the correct and updated maskxor and should be deleted. Once deleted, make works. I hope someone can fix this in CVS. Cheers, tim ___ PD-dev mailing list PD-dev@iem.at http://lists.puredata.info/listinfo/pd-dev Lone Shark "Aviation" out now on http://www.pyramidtransmissions.com http://www.myspace.com/sharktracks - For ideas on reducing your carbon footprint visit Yahoo! For Good this month.___ PD-dev mailing list PD-dev@iem.at http://lists.puredata.info/listinfo/pd-dev
Re: [PD-dev] I am really confused by this C problem - (solved)
Hi Jamie, and the devlist, Turns out you don't need t_symbol *s after all. It is the cause of the problem, but how I'm not sure, so federico was right about the arguments to the method. I'm sure someone told me in Montreal that you needed the symbol, but since it isn't used in the method it makes perfect sense that it's only for calling the method. Simple really! I'll post to CVS tomorrow when I've tidied up. thanks for testing and proving I wasn't in a dreamworld - so now to bed ;D Ed Jamie Bullock <[EMAIL PROTECTED]> wrote: On Sun, 2007-09-16 at 12:41 +0200, federico wrote: > float (t_float) and int (wich you specified with %d) have an > incompatible bit arrangement. > > so it is wrong doing: > > t_float x = 8.0; > post("%d", x); > > you surely will get an inconsistent result. > better you do an explicit cast: > > post("%d", (int)x); Yes, but that doesn't fix Ed's problem, using the explicit cast just gives a different incorrect result. I had a little play with the code and couldn't get it to work either. I'm also confused by the problem, and curious to know the solution... Jamie -- www.postlude.co.uk ___ PD-dev mailing list PD-dev@iem.at http://lists.puredata.info/listinfo/pd-dev Lone Shark "Aviation" out now on http://www.pyramidtransmissions.com http://www.myspace.com/sharktracks - Yahoo! Answers - Get better answers from someone who knows. Tryit now.___ PD-dev mailing list PD-dev@iem.at http://lists.puredata.info/listinfo/pd-dev
Re: [PD-dev] copybytes - partial array?
Ah well, that's what I've done. Cheers, Ed Charles Henry <[EMAIL PROTECTED]> wrote: It will not work. Here is our function prototype: EXTERN void *copybytes(void *src, size_t nbytes); The thing to see here, is that it doesn't actually copy the data to a location you specify. It creates a copy of the data, somewhere in memory, and returns a pointer to the location. If you want to have a continuous array of numbers, you'd have to copy them one at a time from one array to the other anyhow. I suggest to just use getbytes() and for loops to do the assignment. Chuck On 9/16/07, Ed Kelly wrote: > Hi again to all devs, > > Is there any way to use copybytes to take a chunk out of an array? Say, to > copy elements 0-10 of an array into another buffer, then concatenate > elements 20-30 onto the end of it? > > B3st > Ed++ > > > Lone Shark "Aviation" out now on > http://www.pyramidtransmissions.com > http://www.myspace.com/sharktracks > > > Yahoo! Answers - Get better answers from someone who knows. Try it now. > ___ > PD-dev mailing list > PD-dev@iem.at > http://lists.puredata.info/listinfo/pd-dev > > Lone Shark "Aviation" out now on http://www.pyramidtransmissions.com http://www.myspace.com/sharktracks - Try Yahoo! Mail now with Unlimited Storage and see the difference.___ PD-dev mailing list PD-dev@iem.at http://lists.puredata.info/listinfo/pd-dev
[PD-dev] copybytes - partial array?
Hi again to all devs, Is there any way to use copybytes to take a chunk out of an array? Say, to copy elements 0-10 of an array into another buffer, then concatenate elements 20-30 onto the end of it? B3st Ed++ Lone Shark "Aviation" out now on http://www.pyramidtransmissions.com http://www.myspace.com/sharktracks - Yahoo! Answers - Get better answers from someone who knows. Tryit now.___ PD-dev mailing list PD-dev@iem.at http://lists.puredata.info/listinfo/pd-dev
[PD-dev] I am really confused by this C problem - help?
Hi there, I just don't get this one. I have an object (maskxor) with a [mode $1 ( method. I've attached an extra outlet to this object so I can see what its value is, and I have a post("mode = %d", x->mode); to display it in the PD window. The type of x->mode is t_float. Right, so when I change the mode from 0 to 1, I should see 1 on the mode outlet and "mode = 1" in the PD window, right? wrong. I get -1.463894 or something like that on the mode outlet, and -219478567583 or something in the PD window. Can someone pleease tell me what is going on? Patch code and pd_linux object enclosed. Best, Ed Lone Shark "Aviation" out now on http://www.pyramidtransmissions.com http://www.myspace.com/sharktracks - For ideas on reducing your carbon footprint visit Yahoo! For Good this month. maskxor.tar.gz Description: 327675219-maskxor.tar.gz ___ PD-dev mailing list PD-dev@iem.at http://lists.puredata.info/listinfo/pd-dev
[PD-dev] and
oh, and a bugfix for peakit~ - if anyone has ever used it! (I haven't) Lone Shark "Aviation" out now on http://www.pyramidtransmissions.com http://www.myspace.com/sharktracks - For ideas on reducing your carbon footprint visit Yahoo! For Good this month.___ PD-dev mailing list PD-dev@iem.at http://lists.puredata.info/listinfo/pd-dev
[PD-dev] small changes to ekext
just a new method for cup, cupd and list_sum are new but trivial! Ed Lone Shark "Aviation" out now on http://www.pyramidtransmissions.com http://www.myspace.com/sharktracks - Yahoo! Answers - Get better answers from someone who knows. Tryit now.___ PD-dev mailing list PD-dev@iem.at http://lists.puredata.info/listinfo/pd-dev
Re: [PD-dev] cleanup of CVS
Actually the long and growing project member list to me also is a problem. It's not an urgent problem, but I'd sleep better (as one of the admins) if there was a more fine grained access control. Most people don't need and many don't even want to have write access to everything. It's possible to mess things up even without intending Indeed, but there is quite a lot of stuff on pd cvs that requires some programming/makefile skills to get working anyway, that needs "cleaning up" e.g. cxc doesn't compile from cvs (regexp bangfilt needs to be changed to bfilt in makefile). I won't upload my own working makefile as the external is not my place to do so, but it would be a good idea for those that do not compile, or those that have no makefiles at all, if there were a way of "cvs-suggest" or something. We need an authoritative repository...it's no one person's responsibility to maintain all of cvs, but we could all contribute to its robustness perhaps... Best, Ed Lone Shark "Aviation" out now on http://www.pyramidtransmissions.com http://www.myspace.com/sharktracks - Yahoo! Answers - Get better answers from someone who knows. Tryit now.___ PD-dev mailing list PD-dev@iem.at http://lists.puredata.info/listinfo/pd-dev
Re: [PD-dev] Trouble with memory+pointers
Splendid! It doesn't crash any more. It doesn't work either, but at least I'm in more familiar debugging territory! Thanks. I used a x->firstl, x->firstr and x->firstx variables that were tested and set, so that the first time each list is initialized, the first thing that happens is e.g. x->masking.maskl = getbytes(n * sizeof(t_atom)); and then the freebytes is used the second, third, fourth etc times. Cheers, Ed Martin Peach <[EMAIL PROTECTED]> wrote: Ed Kelly wrote: > Hi devs, > > I'm trying to rewrite some of my externals to be a bit more > effe\icient, clear up after themselves and generally work more > smoothly. I started with maskxor, because I really need this to work > for the ICMC, and it's not working properly in certain situations. > > So I borrowed some code from zexy/src/drip.c and rewrote it. It > compiled OK, but crashes PD. Can anyone tell me what is wrong with my > code, and how to fix it? > I guess because you don't initialize the pointers the first time. Your maskxor_new has: SETFLOAT(&x->masking.maskr[0], 0); SETFLOAT(&x->masking.maskl[0], 0); SETFLOAT(&x->masking.maskxor[0], 0); ...but x->masking.maskr etc. don't yet point to anything, they were declared as: t_atom *maskxor, *maskl, *maskr; ...but not given any value. If it doesn't crash right there it will do so when you try to free the pointers: if (x->masking.maskl) { freebytes(x->masking.maskl, x->lengthl * sizeof(t_atom)); x->masking.maskl = 0; x->lengthl = 0; } Martin > Best, > Ed > > > Lone Shark "Aviation" out now on http://www.pyramidtransmissions.com > http://www.myspace.com/sharktracks > > > Yahoo! Answers - Get better answers from someone who knows. Try it now > . > > > > ___ > PD-dev mailing list > PD-dev@iem.at > http://lists.puredata.info/listinfo/pd-dev > Lone Shark "Aviation" out now on http://www.pyramidtransmissions.com http://www.myspace.com/sharktracks - Yahoo! Answers - Get better answers from someone who knows. Tryit now.___ PD-dev mailing list PD-dev@iem.at http://lists.puredata.info/listinfo/pd-dev
Re: [PD-dev] Trouble with memory+pointers
So... if I initialize the pointers the first time they are used, maybe that will help. It makes sense that the _new routine would be causing the problem, since it crashes when I load the object (PD disappears...) I'll try it! Ta, Ed Martin Peach <[EMAIL PROTECTED]> wrote: Ed Kelly wrote: > Hi devs, > > I'm trying to rewrite some of my externals to be a bit more > effe\icient, clear up after themselves and generally work more > smoothly. I started with maskxor, because I really need this to work > for the ICMC, and it's not working properly in certain situations. > > So I borrowed some code from zexy/src/drip.c and rewrote it. It > compiled OK, but crashes PD. Can anyone tell me what is wrong with my > code, and how to fix it? > I guess because you don't initialize the pointers the first time. Your maskxor_new has: SETFLOAT(&x->masking.maskr[0], 0); SETFLOAT(&x->masking.maskl[0], 0); SETFLOAT(&x->masking.maskxor[0], 0); ...but x->masking.maskr etc. don't yet point to anything, they were declared as: t_atom *maskxor, *maskl, *maskr; ...but not given any value. If it doesn't crash right there it will do so when you try to free the pointers: if (x->masking.maskl) { freebytes(x->masking.maskl, x->lengthl * sizeof(t_atom)); x->masking.maskl = 0; x->lengthl = 0; } Martin > Best, > Ed > > > Lone Shark "Aviation" out now on http://www.pyramidtransmissions.com > http://www.myspace.com/sharktracks > > > Yahoo! Answers - Get better answers from someone who knows. Try it now > . > > > > ___ > PD-dev mailing list > PD-dev@iem.at > http://lists.puredata.info/listinfo/pd-dev > Lone Shark "Aviation" out now on http://www.pyramidtransmissions.com http://www.myspace.com/sharktracks - Yahoo! Answers - Get better answers from someone who knows. Tryit now.___ PD-dev mailing list PD-dev@iem.at http://lists.puredata.info/listinfo/pd-dev
[PD-dev] Trouble with memory+pointers
Hi devs, I'm trying to rewrite some of my externals to be a bit more effe\icient, clear up after themselves and generally work more smoothly. I started with maskxor, because I really need this to work for the ICMC, and it's not working properly in certain situations. So I borrowed some code from zexy/src/drip.c and rewrote it. It compiled OK, but crashes PD. Can anyone tell me what is wrong with my code, and how to fix it? Best, Ed Lone Shark "Aviation" out now on http://www.pyramidtransmissions.com http://www.myspace.com/sharktracks - Yahoo! Answers - Get better answers from someone who knows. Tryit now. maskxor.tgz Description: 2539302602-maskxor.tgz ___ PD-dev mailing list PD-dev@iem.at http://lists.puredata.info/listinfo/pd-dev
[PD-dev] four new polyphony management objects
Greetings all, After a long hiatus there are four new polyphony management objects in my folder - and a bugfix for hasc~ (it wouldn't compile). sieve polymap polystat maskxor - are new, and may be useful for more than just poly stuff. The helpfile for hasc~ is on the way, since I just noticed it's not there! On a day when I am teaching less... Best, Ed -> -> --> ---> -> > -> -> "Genius is attention to detail" Louis Pasteur Send instant messages to your online friends http://uk.messenger.yahoo.com ___ PD-dev mailing list PD-dev@iem.at http://lists.puredata.info/listinfo/pd-dev
[PD-dev] Re: [PD] Pd 0.40-0 test 08
Hi,Just to let you know that the rmstopow~ and powtorms~ objects do not get created on 0.40test8 on OSX. Best,Ed->->-->--->->>-> -> "Genius is attention to detail" Louis Pasteur Copy addresses and emails from any email account to Yahoo! Mail - quick, easy and free. Do it now...___ PD-dev mailing list PD-dev@iem.at http://lists.puredata.info/listinfo/pd-dev