<div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Feb 20, 2021 at 4:09 AM Francesco Napoleoni <<a href="mailto:mlists@cosmic-odyssey.net">mlists@cosmic-odyssey.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi everyone<br>
<br>
I’m experimenting with netjack (mainly version 1), and I’m quite impressed by <br>
its ability to get different machines march together without (at least <br>
apparently) hassle.<br>
<br>
However I cannot find a way to transmit tempo changes from master machine to <br>
slaves.<br>
<br>
I’ll try to explain myself better: the “master machine” is a PC with a <br>
soundcard, running JACK on a Linux Fedora OS, and is connected with the <br>
“slaves” with a gigabit ethernet link. The “slaves” are currently two, but I <br>
would like to expand this to a wider configuration, maybe with devices such as <br>
Raspberry sharing the load of multiple synths, effects and so on.<br>
<br>
The problem is that I can see the start/stop of the Jack transport synced <br>
between the hosts, but not the tempo. This limits the use of applications <br>
which do make use of tempo changes on slave hosts, forcing me to copy the <br>
tempo map to them and run it in a DAW. As a side effect I can see the BBT <br>
drifting between hosts (apparently its value is computed using the local tempo <br>
mark).<br>
<br>
Is there a way to solve this problem? Or am I missing something?<br></blockquote><div><br></div><div><div style="font-family:arial,helvetica,sans-serif" class="gmail_default">The JACK Transport API does allow the time master client to provide information about position as denoted in musical time.</div><div style="font-family:arial,helvetica,sans-serif" class="gmail_default"><br></div><div style="font-family:arial,helvetica,sans-serif" class="gmail_default">However, the people who developed JACK (which includes me) felt that it would be impossible/too hard to design a tempo map data structure that would serve the needs of, or integrate with, all possible clients, so we decided not to try to do that.</div><div style="font-family:arial,helvetica,sans-serif" class="gmail_default"><br></div><div style="font-family:arial,helvetica,sans-serif" class="gmail_default">In retrospect, this still seems largely correct to me. Clients with simple-minded (correct, but simple) ideas about tempo and meter will not be able to deal with tempo ramping (accelerando and ritardando). Clients with more complex ideas about tempo will need those sorts of features.</div><div style="font-family:arial,helvetica,sans-serif" class="gmail_default"><br></div><div style="font-family:arial,helvetica,sans-serif" class="gmail_default">Ableton Link, which has an open and well-documented API (and even a bridge to Jack Transport c/o Rui), demonstrates a better idea about how to keep a set of distributed "nodes" in sync with each other. It has some of its own limits too (instantaneous substantial and musically meaningful tempo changes and the like can be a problem).<br></div><br></div></div></div>