When @lock is enabled, playback position of groove~ jumps by changing speed

    MaxMSPbugs/issues

    Masa's icon
    Masa's icon
    Masa
    Feb 25 2017 | 10:36 am
    When @lock of groove~ is enabled, the playback position of groove~ jumps when the playback speed changes. Is it a bug?
    Max Patcher
    In Max, select New From Clipboard.
    Show Text
    Screen-Shot-2017-02-20-at-22.32.501.png
    png

    • Masa's icon
      Masa's icon
      Masa
      Mar 02 2017 | 11:46 am
      The other possibly related bug is that when playback speed is half (the signal of 0.5), 'groove~' plays only the half of the buffer content.
      Share
    • Masa's icon
      Masa's icon
      Masa
      Mar 02 2017 | 12:22 pm
      Also, I wish 'groove~' does not loop its buffer content when it is set to '@loop 0 @lock 1'.
    • Sjoerd's icon
      Sjoerd's icon
      Sjoerd
      Mar 02 2017 | 12:29 pm
      Have you checked that you have to set the loop points in bbu's while in @lock 1 ? You should also check out the phase message. When groove~ is in @lock 1, the cursor has to change position in order to stick to the position of the global transport.
    • Masa's icon
      Masa's icon
      Masa
      Mar 02 2017 | 1:02 pm
      Thanks a lot Sjoerd. No I'm afraid I haven't. Could you elaborate a bit more about 'set loop points in bbu’s'? Can the phase message be used to flip the play position? Not sure how to deal with the unit of '10 atoms' of the phase message.
    • Sjoerd's icon
      Sjoerd's icon
      Sjoerd
      Mar 02 2017 | 1:15 pm
      You could check out the 'lock' menu in the groove~ helpfile. Phase is explained pretty well there. With bbu's I mean '1 0 0' is one bar. I found the 'translate' object very useful for calculating different units of time.
      Sometimes you have to send the 'reset' message to groove~ in order to reset all the settings (originallength, originaltempo etc), I found out that I have to send 'reset' at least 5 times after another in order to really reset all the parameters.
    • Masa's icon
      Masa's icon
      Masa
      Mar 02 2017 | 1:22 pm
      Thanks again. I was looking at the helpfile, but I could not figure out the unit used for the phase message. I can send 'phase 100', but not sure 100 of what unit.
    • musinou's icon
      musinou's icon
      musinou
      Mar 02 2017 | 9:11 pm
      @MASA I can not reproduce the behaviour you seams to have. I never had 1/2 the buffer played, nor jump while changing speed. Could you stage the steps you go through to have this behaviour?
    • Masa's icon
      Masa's icon
      Masa
      Mar 02 2017 | 9:21 pm
      Hi Musinou. Did you have a chance to try the patch above? When the groove~ is linked to a transport and @lock is enabled, you should see the behaviour. Thank you, Masa
    • musinou's icon
      musinou's icon
      musinou
      Mar 02 2017 | 10:04 pm
      @Masa Yes, I tried your patch.
      - Turn audio on - Turn loop, lock and transport on - Play around with the top red num box - Play around with the num box under the [loadmess 70]
      no jump, no 1/2 buffer
    • Masa's icon
      Masa's icon
      Masa
      Mar 03 2017 | 11:03 am
      Sure.
      Please change the top numbox from 0.1 to -0.1, and see if the buffer position jumps.
      For 1/2 buffer, I realised the pasted patcher is designed to avoid the issue by using transport BPM.
      Please try the following one.
    • Masa's icon
      Masa's icon
      Masa
      Mar 03 2017 | 11:05 am
      Thank you. Sure. Please change the top numbox from 0.1 to -0.1, and see if the buffer position jumps.
      For 1/2 buffer, I realised the pasted patcher is designed to avoid the issue by using transport BPM. Please try the following one.
      Max Patcher
      In Max, select New From Clipboard.
    • Sjoerd's icon
      Sjoerd's icon
      Sjoerd
      Mar 06 2017 | 12:13 pm
      What would you like to achieve exactly? Groove~ does things completely different when in @lock 1 and @followglobaltempo 1. My experience is leave sig~ at 1 when followglobaltempo is set on 1. Play with the originallength in combination with pitch, this will mangel with the playback speed and pitch.
      If you don't want groove~ to loop, you have to set followglobaltempo on 0 as well.
      Good luck!
    • Masa's icon
      Masa's icon
      Masa
      Mar 06 2017 | 1:28 pm
      Hi Sjoerd,
      What I am trying to achieve is: - Being able to sync and manipulate multiple groove~ via a master transport - Being able to manipulate each transport independently - Being able to manipulate the speed and the pitch of each groove~
      I have come very close to what I want by flipping the bar location of a relevant transport when sending '-1' signal to the related groove~. The downside is that it is not very accurate obviously (only having bar accuracy).