Forums > MaxMSP

Help with an old patch

June 8, 2010 | 5:20 pm

Hey,
I found an old patch of Stefan on this forum which I quite like and would like to use but I can’t get it modified for reverse playback. I’m sure it’s a simple solution but I just don’t understand the function of trapezoid and can’t find a lot about it which helps.
So I wanted to ask if anybody could modify the patch for reverse playback so I can learn how to use this stuff and/or just tell me more about the function of trapezoid in this context.

Thanx
Peer


June 8, 2010 | 5:21 pm

and here is the patch ;-)


June 8, 2010 | 5:48 pm

The [sig~] object connected to the [groove~]s controlls playback speed. If you make the output of this [sig~] negative it you will have reverse playback.


June 8, 2010 | 5:55 pm

oh….I know that…That’s not the problem at all……the patch doesn’t work with negative values sent to the sig object…that’s the problem….


June 8, 2010 | 6:59 pm

I think the problem is the "startloop" message to groove~.
It will start playback at the min loop position (0.).
If you want to groove~ to play in reverse, you need to trigger it with the end loop position.
You can do this by simply sending it a float with the playback position in ms, instead of the "startloop" message.


June 8, 2010 | 7:33 pm

oke….I really only changed the startloop and replaced it with a float and in my opinion it works fine now (but only for negative values)…but modifying it for both -negative and positive values- will be easy.

Thanx in any case. I’ll try it again tomorrow

– Pasted Max Patch, click to expand. –

June 8, 2010 | 9:38 pm

oh….I know that…That’s not the problem at all……the patch doesn’t work with negative values sent to the sig object…that’s the problem….

Oops, sorry! I guess that’s what I get for trying to be helpful while in the middle of programming other stuff (and actually turning DSP on in your example).


June 10, 2010 | 9:56 pm

Hey Roth,

no problem. That can happen. Thanx anyway for trying to help :-)


June 10, 2010 | 10:01 pm

@Raja
the thing i was saying about < ==~ 1> will only produce a sample’s difference in triggering so it might not be noticeable.
-> found that out, too
with forward playback, the right-outlet of edge~ will trigger when ramp goes back to 0(this is fine because that’s the very beginning), whereas in reverse playback(==~ 1 will cause edge~’s right-outlet to trigger one sample too late, this might not be noticeable but it’s something to think about… you could even leave the ==~ 1 and use the LEFT-outlet of edge~ for reverse playback, instead, that would accomplish the same thing in reverse as having an ==~ 0… see helpfiles for all these objects ==~ and edge~ to trace exactly what i’m saying)
for your purposes this might not be necessary/noticeable, but just pointing it out.
-> found that out, too
I’m still not sure if all this is of great importance because my patcher worked fine the day before yesterday with just changing the ‘startloop’ object. I’ll check it again a bit later today or tomorrow. Had to play yesterday and didn’t have time.
BUT it’s amazing how much you try to help me and how much time you spend for trying to solve my problems.
Wow….I’d like to help you also once but I think that’ll never happen ;-)
Thanx so much
Cheers
Peer


June 11, 2010 | 1:40 pm

Here is my solution.
It is so easy that I’m not sure if it’s right…but the funny thing is that it works perfectly ;-)

Thanx for everybody’s help
Cheers
Peer

– Pasted Max Patch, click to expand. –

June 11, 2010 | 5:42 pm

no…that’s not it…too many bugs in my last patcher. I think I’ll take grooveduck2…though I REALLY loved this left right channel thing in Stefan’s patcher espacially in connection with the crossfade.
Imagine what possibilities there are if you make it with 8 channels (and the same buffer !) which are spread in the room. Wow, fantastic…but I can’t get it to work.
There are also some restrictions in speed compared to cross-fade time. Let’s say you take a very high speed for the sample and a crossfade time of 2000ms, well then it won’t work.
There are so many cross-connections in this patcher which one have to take care of and calculate….I give up….it’s a pity though….


June 11, 2010 | 6:39 pm

that’s the closest I can get, but I can’t change the cross-fade time with negative payback values and sometimes when I change the start loop time I loose the panning…..

– Pasted Max Patch, click to expand. –

June 14, 2010 | 6:05 pm

This is it…works perfectly now, no bugs…..thanx to everybody who participated in this patcher.
Cheers
Peer

– Pasted Max Patch, click to expand. –

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