[PD] send~ and receive~ issues

Piotr Majdak piotr at majdak.com
Mon Feb 7 16:18:55 CET 2005


Piotr Majdak wrote:

> It seems like [readsf~] or [delay] have some timing problems. I reduced 
> my patches to something like that:

I found a solution for my delay-problems: to get accurate delays the 
value for the [delay]-object must be a little bit greater than the block 
size delay, because it will be always truncated to the smaller block 
size without any rounding.

E.g. set delay to 8 to get a delay of 8ms. Set delay to 9.33333333, 
which is the next possible delay using 48kHz and 64samples/block, and 
you won't get 9.333333 - you'll still get 8ms! Set delay to 9.334 and 
you'll get 9.333ms.

I think, the problem is a combination of float-double casting without 
rounding in delay_ft1() (x_time.c) and using if(sys_time < setticks) 
somewhere in m_shed.c.

Truncation and not rounding: is this a bug or a feature? ;-) I propose 
to insert a rounding operation in clock_delay() (m_shed.c).

Piotr Majdak

Piotr Majdak
Institut für Schallforschung
Österreichische Akademie der Wissenschaften
Reichsratsstr. 17
A-1010 Wien
Tel.: +43-1-4277-29511
Fax: +43-1-4277-9296
E-Mail: piotr at majdak.com
WWW: http://www.kfs.oeaw.ac.at

More information about the Pd-list mailing list