Dear all, i am sorry, my previous email to the list was obviously GPG-encrypted.
My question is the following: What is the best way to find out the DSP block size within an abstraction/sub patch? It could be set differently than 64 samples using block~ in a parent patch.
Right now, i am counting audio samples but this is not ideal since it is non-instantaneous and can therefore not be used for initialization purposes at the time of loadbang.
thanks, Thomas
-- Thomas Grill http://grrrr.org
Am 11.06.2016 um 18:54 schrieb Thomas Grill gr@grrrr.org:
<encrypted.asc>
Sample rate and block sizes can change as a result of messages to "block" objects. This causes DSP to be re-sorted. The only safe way I know to determine block size is to make a tilde object with a signal input or output and catch "dsp" messages.
cheers Miller
On Sat, Jun 11, 2016 at 08:02:47PM +0200, Thomas Grill wrote:
Sure, thanks, but your answer implies that there is currently no way to do this with Vanilla objects, right? I think there should be a way. gr~~~
-- Thomas Grill http://grrrr.org
On 06/12/2016 12:16 AM, Thomas Grill wrote:
Sure, thanks, but your answer implies that there is currently no way to do this with Vanilla objects, right? I think there should be a way.
attached is a somewhat naive approach to the problem in pure vanilla.
it doesn't take any overlap/oversampling into account, and only works up to blocksizes of 65536-
gmsdr IOhannes
Thanks, i guess there's no way around using DSP right now which is difficult to unite with loadbang initialization after instantiation of the abstraction. This is my approach so far: https://github.com/grrrr/upp/blob/master/upp.blocksize.pd
-- Thomas Grill http://grrrr.org
I might do it the IOhannes way, but put in a [switch~], turn on dsp, and send a bang to the [switch~]s in each instance to get dsp on for one block (and turn it off if desired). I'd send that bang as near to the end of my main patch's initial [loadbang] sequence as possible. If you wanted to get really fancy, if you knew either the maximum block size or the number of abstraction instances, you could close off all your user interface controls with [spigot]s and then open them back up after the requisite delay (if you know the max block size) or after you've counted all of the [bang~]s from the abstraction instances (if you know the number).
On Sat, Jun 11, 2016 at 6:43 PM, Christof Ressi christof.ressi@gmx.at wrote:
On 06/12/2016 12:31 AM, Thomas Grill wrote:
Thanks, i guess there's no way around using DSP right now which is difficult to unite with loadbang initialization after instantiation of the abstraction.
idon't think there is *any* way to get the block size during what you call "loadbang initialization". simple because it is not know at that time (even to Pd).
This is my approach so far: https://github.com/grrrr/upp/blob/master/upp.blocksize.pd
which seems to not behave well with overlapping and upsampling:
mgfr IOhannes
Right! The original intention was to get the time in samples between two block ticks. Your patch and mine should be combined to get the full picture.
-- Thomas Grill http://grrrr.org