[hostsync~] vs. [transport]
Which is best to sync a Max instrument to Live’s transport?
The problem I’m having is that [transport] needs to be constantly banged to have it’s transport state output, and the easiest way to deal with this is with a [metro]. But when Live’s transport stops so does the [metro] and so the off state of the [transport] does not get output.
The reason I ask about [hostsync~] is that it does not need a bang to report its values. So should we still be using [hostsync~] for tasks like this or is there a better way to do it with [transport]?
Hostsync~ only works with the rewire driver – which is not used in MFL.
You can get transport state in MFL easily.
----------begin_max5_patcher---------- 405.3ocwUtraCBCDEcM7UX40zHLDZHUJKZ+MphpLfK3JvFAF0zFk7sWaCz7P I.4QoalHlYvy8dv1YsoALfuhTBAOAdEXXr1zvPmRkvn4YCXFdUXJtT2FLnRH 3LnUcIVUFkkRD5ZncI4UhiyliEgITV7aEjPQ8DQtONw1Bfl5o9wwtMBV17Nz H8L4Ae7fic6LqWawW4j5UAFfYwPvRU0Mllpf0+fY7rGtWP+AdgQ9Tt1sKrfr RqKHIJlr8BbnSuNDocHx1qSK5zNy24LACmoMH74BJNsaya8KD1aAJoeqaBgl 3M2C4O69AnEK1BrmbRB4bc6A7Qp3zocxG2qfOkzXlr7XQlvD42gKZySunoIp ADx+znAM+7nA7BOM553ibx2OzjmVEmmfK4E20yVNtp3rtwi+MhG4ArTZoXPX R2irc1w+Ig1Bp7GxtRdUQX67ZUKXmOhHkBJCKnxac2qo4GzTBMJhnqa2jIiF kyoLQiHNy8iCUSpyd8pI0EXiolbFhlPiulP8oI6QUSGsU4LZx8Fzj7gMl+fe soAH -----------end_max5_patcher-----------
Ok, thanks for that Andrew. Your example works great for the on/off state. I think my confusion came from the fact that hostsync~ [i]was[/i] working in a M4L device while I was attempting to port the ReWire guts to transport-based guts.
If you don’t mind indulging me a bit here…
I think I was conflating some terminology here, but one of the things I was trying to do was get the bars.beats.sixteenths position from the transport when the transport is not playing. When you click Live’s stop button it resets to 1.1.1, but you can’t get this info from a transport object by banging it with a metro because the metro is run by Live’s transport to begin with. I see the function "get_current_beats_song_time" under the Song class, but I’m just not far enough along with the API to know how to implement that. Should I go down that path or is there a simpler way without using the API?
How about disconnecting the metro from ITM?
metro 5 @active 1
for a metro with a 5 msec granularity which just bangs away constantly. Or maybe you could use the "transport has stopped" bang from my patch above to trigger a final location bang.
Thanks again Andrew. The metro solution is the one I came to last night. (Although I only put "@active" in the object and it worked the same.[?])
I’m porting Lo-Fi Massahka’s DyNAmic instrument for Lemur/Live/Max into a M4L device and the instrument has transport control on the Lemur that also needs to update when transport, tempo, etc. is changed via the mouse.
Excellent – looking forward to checking that out!
Yeah, in order to force updates of tempo you may need to use the API. If you need to keep your Lemur in sync I guess you would need to send it ITM ticks, but if you just want to keep it informed of the value of tempo, you might be able to use
----------begin_max5_patcher---------- 432.3ocuUFrTCBCDF9L7TjImQFBT.q274voiSnrsMNPBCIsV0w2cIKf0pUKh Ut.jcWx9yG6O7hqCMSsGzTxMj6HNNu353fgrAb5V6PK46WVv0XYzUEJ41RpW aplKExBvf4XGBp1Z5iF1EshaVtQHWeeMrzz1QVbnefGIbVh8DK7ZbUfe.YQ2 MIxwlpxd3p488bkRZj7R.ybasfWzmosqlmpf182JVtg5QnYb4Z566pcGzhmw pXMRvF8UWW6AuAhAI7Xin5arA1iORzBwNvWkog5cP8IgT3XgDKrERy+IHkNB HY4yEkMkfVyWCeANU0pJn17Dw.kUpeAcXmkNrTb1YNCWb8ogSxXfyDLzXHYj hKpihMKpcXIwO96GVlMBdfFIuogKnYp4gbyufMQmmMA3nRb7O4ihFqOZx7RM XgXAz8ZvbQsRoHXZ8SemSJ7+xIg0z7hW94eJg50F+XVoUaqW12gtO.RNH4bP aDRtQnjenl4GUyFQdNfoC5hTJxqTBooSBjEm781PUTiKivNihROpl+aEkL.F kN4L5bJJYRUTz.TzrIUQgCPQQ+AE0r3U22fXkFEi -----------end_max5_patcher-----------