Forums > MaxMSP

Cropping a buffer~ with buf.op

May 8, 2007 | 1:30 pm

I am recording quad into a buffer~ that I am setting with a very generous
initial size of 15 minutes. As I record I am keeping track of the time in
milliseconds. When I finish recording and before I write to disk, I want to
crop the buffer to the actual length of the recording. Setting its size
erases the buffer. I don’t see this in buf.op. Have I just missed it?

Cheers
Gary Lee Nelson
Oberlin College
http://www.timara.oberlin.edu/GaryLeeNelson


May 8, 2007 | 1:50 pm

I use waveform~ for this. Unfortunately, you have to be very careful
with the timing of crop and other messages to waveform~, otherwise
crop will not happen/the object will crash.

Best,

Zip

Zip Boterbloem
Media Mechanics
Zwaluwstraat 54
2025 VR Haarlem
The Netherlands
+31627014758
zip@knoware.nl

Op 8-mei-2007, om 15:30 heeft Gary Lee Nelson het volgende geschreven:

> I am recording quad into a buffer~ that I am setting with a very
> generous
> initial size of 15 minutes. As I record I am keeping track of the
> time in
> milliseconds. When I finish recording and before I write to disk, I
> want to
> crop the buffer to the actual length of the recording. Setting its
> size
> erases the buffer. I don’t see this in buf.op. Have I just missed it?
>
> Cheers
> Gary Lee Nelson
> Oberlin College
> http://www.timara.oberlin.edu/GaryLeeNelson
>
>


May 8, 2007 | 3:30 pm

On 8 mai 07, at 15:50, Zip Boterbloem wrote:

> I use waveform~ for this. Unfortunately, you have to be very
> careful with the timing of crop and other messages to waveform~,
> otherwise crop will not happen/the object will crash.

Do you have a reproductible crash?

ej


May 8, 2007 | 4:53 pm

This seems to be a different issue. What I want to do is reduce the size of
a buffer~ to a specific length without erasing its contents.

On 5/8/07 11:30 AM, "Emmanuel Jourdan" wrote:

> On 8 mai 07, at 15:50, Zip Boterbloem wrote:
>
>> I use waveform~ for this. Unfortunately, you have to be very
>> careful with the timing of crop and other messages to waveform~,
>> otherwise crop will not happen/the object will crash.
>
> Do you have a reproductible crash?
>
> ej

Cheers
Gary Lee Nelson
Oberlin College
http://www.timara.oberlin.edu/GaryLeeNelson


May 8, 2007 | 6:58 pm

[waveform~] works for that. It crops to your current selection, if I
remember well.

> This seems to be a different issue. What I want to do is reduce the size of
> a buffer~ to a specific length without erasing its contents.


May 8, 2007 | 8:06 pm


May 8, 2007 | 8:28 pm

Not really. But I see waveform~ mentioned a bit too often in crashed
threads in my Max logs. I am using the crop and normalize messages in
quick succession after a recording.

Zip Boterbloem
Media Mechanics
Zwaluwstraat 54
2025 VR Haarlem
The Netherlands
+31627014758
zip@knoware.nl

Op 8-mei-2007, om 17:30 heeft Emmanuel Jourdan het volgende geschreven:

> On 8 mai 07, at 15:50, Zip Boterbloem wrote:
>
>> I use waveform~ for this. Unfortunately, you have to be very
>> careful with the timing of crop and other messages to waveform~,
>> otherwise crop will not happen/the object will crash.
>
> Do you have a reproductible crash?
>
> ej


May 9, 2007 | 10:42 am

use this hack of buf.Op

http://www.fredrikolofsson.com/pages/code-max.html


May 9, 2007 | 10:15 pm

Firefox "Find" on that page brings you this:

hacks
max java – buf.Op extras

with this copyFrom method you can select and copy into a msp buffer at
any position. to install open the java source code for buf.Op from
within max with ‘viewsource’. then paste this code at the end of that
document – just before the last closing curlybracket. save, press cmd+k
and click compile. last restart max. notice that this will be
overwritten whenever you update max.

//redFrik 050513, 051128, 060927
public void copyFrom(String frombuf, long destoffset) {
copyFrom(frombuf, destoffset, 0);
}
public void copyFrom(String frombuf, long destoffset, long srcoffset) {
long length= MSPBuffer.getSize(frombuf);
copyFrom(frombuf, destoffset, srcoffset, length-srcoffset);
}
public void copyFrom(final String frombuf, final long destoffset, final long srcoffset, final long srcsize) {
MaxSystem.deferLow(new Executable() {
public void execute() {
int channels= MSPBuffer.getChannels(frombuf);
for(int i= 1; i< =channels; i++) {
MSPBuffer.poke(bufname, i, destoffset, MSPBuffer.peek(frombuf, i, srcoffset, srcsize));
}
outlet(0, "done");
}
});
}

and here is a little example patch…
_download (1,2kb)
< http://www.fredrikolofsson.com/software/bufOp-hackExample.zip>

Gary Lee Nelson skrev:
> This pints to the f0 externals which I already have. I don’t see a
> reference to buf.op or cropping.
>
>
> On 5/9/07 6:43 AM, "James Little" wrote:
>
>
>> use this hack of buf.Op
>>
>>
http://www.fredrikolofsson.com/pages/code-max.html
>>
>>
>> –
>> http://www.myspace.com/binray
>>
>
>
> Cheers
> Gary Lee Nelson
> Oberlin College
> http://www.timara.oberlin.edu/GaryLeeNelson
>
>
>
> .
>
>


May 10, 2007 | 8:31 am

Zip Boterbloem schrieb:
> Unfortunately, you have to be very careful with the timing of crop
> and other messages to waveform~, otherwise crop will not happen/the
> object will crash.

If this is reproduceable, it should be reported and fixed…

Stefan


Stefan Tiedje————x——-
–_____———–|————–
–(_|_ —-|—–|—–()——-
– _|_)—-|—–()————–
———-()——–www.ccmix.com


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