Re: Rob: More trouble with PD-source
- Posted by Elliott Sales de Andrade <quantum_analyst at hotmail.com> Nov 28, 2005
- 558 views
Robert Craig wrote: > > Robert Craig wrote: > > > > It might all be due to the initial bug in the PD source. > > I won't know until I fix that bug. > > He is using fractional subscripts and they aren't > > handled properly by the PD source. > > I'll test his other programs too, after I fix the > > initial bug. > I have updated the examples to use floor() in as many places as I could find that needed it. It should minimize any of these errors. All cases are not completely fixed, though. I should be able to upload the new files tonight. > I looked into this some more. > The PD source had a couple of places > where it was not handling fractional subscripts, > but in the simple, common cases it was actually > handling them ok. > > That didn't fix all the Bass programs though. > Some still don't work with the PD source. > > I then changed all the Bass library routines to be CDECL > by adding a "+" to the names. That didn't seem to make > any difference. > All functions are declared WINAPI; they should be defined stdcall. Those other three were flukes I tell you. Honest. :P > I now have the impression that the PD source might be failing, > simply because it executes too slow. If I turn on "with trace" > and trace(3), and run using exw.exe, it also crashes in a weird way. > If I remove the frequent callback to StatusProc(), the PD source > runs netradio.exw ok. I wonder if there is a high-speed > stream of callbacks coming in, that the PD source, or even > exw (using trace(3)) can't keep up with. Maybe Elliott has an idea. > His documentation suggests that these callbacks should be handled quickly. > I can confirm that without the StatusProc, the example does work correctly. Speed is somewhat important in these cases since audio buffering is involved. The DSPTest, for example, is machine-staggeringly slow when run through the PD source. Still, it is able to run without crashing, albeit quite slowly. However, I do not think speed is as important in the StatusProc since it is meant for saving downloaded data. It may well be that Eu's lack of thread-safety is the cause of this problem. However, I do not know why it would still work with the official interpreter. The errors are quite random. Sometimes, only half an error message is printed, without the actual error showing up, even in the ex.err file. This is sometimes a sign of the problem with thread-safety, but I cannot confirm it. > Regards, > Rob Craig > Rapid Deployment Software > <a href="http://www.RapidEuphoria.com">http://www.RapidEuphoria.com</a> ~[ WingZone ]~ http://wingzone.tripod.com/