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

Reply via email to