Hello, This issue seems somehow related to changing 'float' into Pd's type 't_float' about a year ago. I checked a few builds to find out where the issue started. Most changes were made 2011-11-16 (by me). The 2011-11-25 build does not show the issue yet.
Apparently I had overlooked a few instances of 'float', and Hans did more changes on 2012-01-12. Most of these are in lines which are commented out anyway, there is only one change that has effect, and it is in line 230 of define_loudspeakers.c. Leaving commented-out lines away, it reads: t_float azi = 0; if(av[pointer].a_type == A_FLOAT) azi = av[pointer].a_w.w_float; else { error("define-loudspeakers: direction angle #%d NaN",i+1); x->x_ls_read = 0; return; } In the 20120216 build, the message 'param xxxx is not a float' pops up. However, Pd does not crash (also not when closing the patch). So, there may be an extra issue, introduced later. I can't imagine how 't_float' could be a problem here, as it is perfectly equivalent to 'float', if m_pd.h is included. Without m_pd.h it should not compile, but m_pd.h is included via other headers. Also on 2012-01-12, a variable 'epsilon' of type t_float was introduced in the same file, but this seems less related to the issue. Katja On Wed, Jan 9, 2013 at 1:02 AM, Hans-Christoph Steiner <h...@at.or.at> wrote: > > Ah, that's an important tidbit of info! If that's not in the bug report, > please include which version is working. > > .hc > > On 01/08/2013 06:53 PM, Zack Settel wrote: >> Hi HC- Yeah, I kind of gave up at a certain point, figuring that I was >> poorly equipped to get to the bottom of that one quickly. I posted a ticket. >> For now, I suppose I'll grab an earlier version that seems to work, and >> switch back, once the bug gets sorted out. >> >> cheers, >> >> Zack >> >> >> >> >> >> On 2013-01-07, at 12:28 PM, Hans-Christoph Steiner wrote: >> >>> >>> Hey Zach, >>> >>> Looks like you've gone deep into it :) Sounds like those MAX macros are set >>> because the code can't currently handle longer lists. I won't have time to >>> look at this for a while. Could you post a bug report to the bug tracker >>> (Help menu --> report bug) with the info in this email? Also it might be >>> worth your while to see if anyone has tried this when using this object in >>> Max/MSP. Its the same code. >>> >>> .hc >>> >>> On 01/07/2013 09:45 AM, Zack Settel wrote: >>>> Hi Hans-Christoph, >>>> >>>> Thanks for your previous reply before the holidays. >>>> >>>> Just to refresh the subject: >>>> >>>> using Pd-0.42.5-extended.app, Pd-0.43-3.app, and >>>> Pd-0.43.4-extended-20121101 >>>> on OSX 10.6x and 10.7x, >>>> >>>> vbap 1.0.3.2 crashes when sent longer "define_loudspeakers" messages >>>> >>>> >>>> the PD console displays: vbap: Loudspeaker setup configured! pd: >>>> getbytes() failed -- out of memory vbap: Configure loudspeakers first! >>>> and the program crashes. >>>> >>>> >>>> (It appears to be failing in the "vbap_matrix" method. But, perhaps, the >>>> data sent to that message is already bad). >>>> >>>> >>>> >>>> >>>> Following your suggestion, >>>> >>>> I tried doubling both MAX_LS_AMOUNT as well as MAX_LS_SETS. Now the >>>> program does not crash, vbap fails each time: when sent the >>>> define_loudspeakers, the PD console displays: >>>> >>>> >>>> "vbap loudspeaker-matrices: param 475 is not a float." (from vbap_matrix >>>> method) >>>> >>>> >>>> Things I have noticed: >>>> >>>> --The above param number in the error message will be different each time >>>> pd is relaunched and a new attempt is made. >>>> --increasing MAX_LS_AMOUNT and MAX_LS_SETS 10 times introduces >>>> intermittency: Some times the same error message above will be >>>> displayed, sometimes it the define_loudspeakers message will succeed, and >>>> VBAP will function correctly. >>>> -- occasionally, a different error message in the pd console will result: >>>> "Dimension can be only 2 or 3" (from vbap_matrix method) >>>> >>>> --And of course, the problem does not manifest when smaller configurations >>>> are used (i.e. shorter define_loudspeakers messages). >>>> >>>> >>>> >>>> I wrestled with the problem for a long time without getting any further. >>>> Maybe you, or someone out there, will have some greater insight into this >>>> problem. Any assistance or additional suggestions would be greatly >>>> appreciated, since the problem above comes with the latest pd-extended. >>>> >>>> >>>> Below is the the vbap message that provokes the problem: >>>> >>>> >>>> define_loudspeakers 3 0 90 -7.5 55 52.5 55 112.5 55 172.5 >>>> 55 -127.5 55 -67.5 55 7.5 20 37.5 20 67.5 20 97.5 20 127.5 20 157.5 >>>> 20 -172.5 20 -142.5 20 -112.5 20 -82.5 20 -52.5 20 -22.5 20 7.5 -15 >>>> 37.5 -15 67.5 -15 97.5 -15 127.5 -15 157.5 -15 -172.5 -15 -142.5 -15 >>>> -112.5 -15 -82.5 -15 -52.5 -15 -22.5 -15 >>>> >>>> >>>> thanks >>>> >>>> Zack >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> On Dec 22, 2012, at 0:55, Hans-Christoph Steiner wrote: >>>> >>>>> >>>>> Sounds like you are the first to try it with that many speakers! My >>>>> guess is that something that allocates memory is hard-coded to a pretty >>>>> short number. I've used it a lot for 6 speakers and had no crashes. >>>>> >>>>> Try changing this in vbap.h: >>>>> #define MAX_LS_AMOUNT 55 >>>>> >>>>> .hc >>>>> >>>>> On Dec 21, 2012, at 6:41 PM, Zack Settel wrote: >>>>> >>>>>> Hi List, >>>>>> >>>>>> >>>>>> It seems that VBAP v 1.0.3.2 (downloaded sources from >>>>>> puredata.info/downloads/vbap/releases/1.0.3.2) is crashing when send >>>>>> the define-loudspeakers message. >>>>>> >>>>>> When sent: >>>>>> >>>>>> define_loudspeakers 3 0 90 -7.5 55 52.5 55 112.5 55 172.5 >>>>>> 55 -127.5 55 -67.5 55 7.5 20 37.5 20 67.5 20 97.5 20 127.5 20 157.5 >>>>>> 20 -172.5 20 -142.5 20 -112.5 20 -82.5 20 -52.5 20 -22.5 20 7.5 -15 >>>>>> 37.5 -15 67.5 -15 97.5 -15 127.5 -15 157.5 -15 -172.5 -15 -142.5 -15 >>>>>> -112.5 -15 -82.5 -15 -52.5 -15 -22.5 -15 >>>>>> >>>>>> >>>>>> the length of the list is 64 >>>>>> >>>>>> >>>>>> an error appears on the PD console : >>>>>> >>>>>> vbap loudspeaker-matrices: param 11132 is not a float >>>>>> pd: getbytes() failed -- out of memory >>>>>> vbap: Configure loudspeakers first! >>>>>> >>>>>> >>>>>> >>>>>> context: pd vanilla 0.43-3 >>>>>> vbap: 1.0.3.2 >>>>>> >>>>>> mac OSX 10.8.2 >>>>>> >>>>>> >>>>>> Note: does not crash when same message is truncated to a length of 16, >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>> >>>>> _______________________________________________ >>>>> 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 >> > > _______________________________________________ > 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