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