Forums > MaxMSP

setting the buffer size dynamicly

November 30, 2010 | 5:19 pm

Hi all,
I’m trying to set the buffer~ and record~ object’s sizes dynamically, either by using the timer object, or counter, but none seems to work.
The size of the buffer and record do change, but no input is given, so nothing is being recorded.
I have also tried to set the size to a quite greater length at the beginning (when using counter), so that I’m sure the new size won’t exceed the already existing one, but that won’t work either. I have attached a patch with both efforts.
Any suggestions?



MIB
November 30, 2010 | 5:46 pm

I am not sure what you mean by "no input is given". One thing to be aware of is that when you resize buffer, everything that is in the buffer is lost. for example, you can NOT set the buffer to 5000, start recording and then decide you actually need 10000 worth of sound. You will loose everything you recorded up to the point when you send the "size" message.
If you need to do recordings without knowing the length of the sound in advance, use [sfrecord~] instead.


November 30, 2010 | 5:57 pm

I thought about that too, but everytime you want to record and playback, you need to set the saving location.
The thing is that I want to use this idea for a sound installation, so it has to be there and everything has to be set dynamically and automatically.
I guess then that I’ll have to kill my darlings and go for preset buffer sizes, right?
Thanks for the answer though.
Cheers,
Alex



pid
November 30, 2010 | 6:25 pm

"I thought about that too, but everytime you want to record and playback, you need to set the saving location.
… …it has to be there and everything has to be set dynamically and automatically"

you can automate all this no problem. i have done for an installation. look at help files?



MIB
November 30, 2010 | 6:41 pm

as pid says, it’s easy enough to automate the creation of the filename for sfrecord~ and sfplay~. have a look at the [sprintf] object. if you use it with something like this [sprintf myFileName%d] and then send it a number you will end up with outputs like: myFileName1, myFileName2; From there it should be easy…


Viewing 5 posts - 1 through 5 (of 5 total)