From: Tim <ter...@ro...> - 2009-06-20 23:15:37
|
Hmmm, let's see, while we are on the subject of Jack transport, someone in these lists requested this several months ago. So here it is. Once again find it in Muse CVS REL07 branch... It lets another Jack client, say Ardour, properly display Muse's current bar, beat, and tick. Especially useful for songs with tempo and time-signature changes. It is activated / deactivated by clicking on Muse's transport 'Master', or Muse's graphic Mastertrack window 'Enable'. For now, don't worry about some terminal error messages about releasing or setting the Jack timebase, they *should* simply mean that Muse already is (or not) the Jack master. *** NOTE *** Tested with Ardour - a two year old version. It seems my Ardour doesn't display or use tempos or time-signatures entered into Muse. Therefore the display of bars, beats, and ticks is STILL inaccurate in Ardour. If you could test and let me know how your various apps cope with this... I think that a slave Jack client's sync callback might be able to display current tempo and time-signature, since the sync callback is passed a jack_position_t, hopefully if BBT flag is set. However, it seems to me the concept of master / slave is not well suited (especially for large computer apps). Correct me if I'm wrong here: Suppose a small Jack-aware program, say a drum machine, operating in Jack slave mode, has a small simulated LCD window showing current time and tempo. So in slave mode they are only updated when actually passing through that time period (with information hopefully provided in the Jack sync callback). The concept can apply to HW MIDI clock master / slaves. My (old) keyboard simply displays 'extern' for current tempo in MIDI clock slave mode, but I know that it *could* be calculated and displayed 'on the fly' if the manufacturer wanted to. And with MMC and MTC, current time-signature could be displayed. But an application like Muse, Ardour, or Rosegarden wants to display ALL of time AT ONCE, laid out horizontally in an editor. How can such an app in slave mode know 'ahead of time' what the tempo or time-signature is down the line, so it can render its timescale properly? |