Issues with the 'groove~' and 'transport' combination

Masa's icon

Hi all,

I am using the set of 'groove~' and 'transport' objects via their shared name.
I enabled @lock of 'groove~' in order to dynamically manipulate playback position from 'transport'.
The issues I can't solve are:
1.
When I slow down the playback signal of 'groove~', it will not play back to the end of the audio file.
2.
Even though I disable @loop of 'groove~', it loops when @lock is enabled. I prefer the audio file to stop when it reaches its end.

Thanks a lot in advance,
Masa

Max Patch
Copy patch and select New From Clipboard in Max.

Masa's icon

Here's a screen shot.

Screen-Shot-2017-02-19-at-17.05.57.png
png
Christopher Dobrian's icon

I haven't tested your patch, I've just looked at your screenshot, so I can't say for sure this is your problem, but I do notice that you've set the @transport attribute to a named transport (help), yet you have the @followglobal attribute turned on too, which might be calculating a different (global) tempo for the groove~ than the one you've set in the named (help) transport. I've never tried using both at the same time, so I'm just surmising.

Masa's icon

Hi thank you for your reply Christopher.
It seems that @followglobaltempo needs to be enabled, even for syncing with a named transport. With it disabled, I cannot manipulate the play position of the named transport.

Masa's icon

Perhaps I need to rebuild the system with 'sfplay~' instead of 'groove~', if it is an only option.

Max Patch
Copy patch and select New From Clipboard in Max.

Screen-Shot-2017-02-19-at-20.33.07.png
png
Masa's icon

Hmm, as I need to sync up several tracks and manipulate their play positions in real-time, 'sfplay~’ would not do. Still I need to find a solution for 'groove~'-based system.

Anatol Rennie's icon

I know I'm a little late to the party here, but hopefully this will be usable to other users with this problem, such as myself.

The right outlet of [groove~] is a signal that displays the playback completion ratio (ie: 0 at start, 0.5 at half-way mark, 1.0 at completion). Under this outlet, connect to a [==~ 1.], which will output TRUE/1 [groove~] gets to the end. Connect this to [edge~], whose left outlet will bang when your logical test becomes true. Use the bang and a message to stop your [transport] or [groove~].