Question about transport , and stopping toggle while transport is playing
As you can see fro the sreen shot , al is set to follow the transport
Red metro is banging out bars ( cycle~ 440 hz) , green metro bangs out forths , ycle 880 Hz
Now when I start the master toggle it waits for the global transport to be turned on , so far so good , let's show up the master transport and press play
Now when the global transport is playing , stop the toggle in between bars , when re-activating the toggle the number readout of bars (red ) don't line up anymore with the actual sound playing , red metro @ 440hz
What is now correct , the actual readout or the sound playing ?

you are currently banging transport and make it report its current status.
wouldnt be turning it on and off be what you wanted?
and note the order; tranport is beeing triggered before 2n
I thought banging the transport was the way to make it show bars, beat, units at it's output
Is there another way ?
Here 's the same is happening , using metro4n @ active 1 directly to transport , and a metro 1n@active 1(red ) same sync problems .
This is all getting pretty confusing

Here I got rid of the toggle
Just using @ active argument , beat and bars are out of sync
I assume the @ active means that the metro is synced to the master clock , and doesn't need a toggle to start , both are set @active 1 , meaning first transport ?
The manual is not clear about any of this
It would be great if you could alter the patch so it syncs after stopping re-starting the toggle

Here both metros set to @active 1 , one is 4n the other 1n
Totally out of sync when transport starts
that there is a transport object doesnt mean that you would require that weird thing to do simple stuff. it somehow seems easier to use the metro output to make you own bars and beats display.
the invisible crosslinks between metro and transports are a mystery, i live in a world of milliseconds and counter objects, that seems easier.
back in the days when transport did not exist we had to build it on our own and then it does what you want. :)
i think when you set it to "resetbarcount 1" it should be enough to resend the time signature and it should fully reset to other objects on restart. but i just didnt get it working in m7 either.
the 1n (your last patch) always comes on the "3", it´s wicked.
This is unlocked misterious global transport.
I would not in a dream try to build any tight sequencing around that

I am not sure wht you guys are trying to say , avoid the transport because it's not tight and use the metro's milliseconds approach ?
That's not a solution at all and merely indicates there is in underlying roblem
For me the metro set to n-values are pretty tight when scheduler overdrive and audio interrupt is on , even when using 32n for rapid hi-hats .
The problem was when stopping and restarting metro's , it loses sync with the main transport .
I wan't to use max for composing and am used to rock solid timing with reaktor ,renoise + architect ( seriously check out loomer's architect , i'ts an amazingmodular midi environment )
If global transport should be avoided and max Millisec. timing is the way to do it I'll probably won't get a subscription ( my demo will run out in a few days )
i know that you are about to check out all objects atm and not build on a concrete project, but transport is one of these objects you usually do not need to make thing work. if can save you a lot of time if you need exactly that - but the more "high level" an object is, the less it contains a general approach useful in many situations.
it is a good all in one solution if you really need to be able to pause and restart a song at any given time position, but everything else seems easier with simple objects.
when i first saw the global transport and it didnt even have buttons for "start" "stop" and "resume" like DAWs usually have, i decided to ignore it.
you can see here how fun it can be already only to discuss all the philosophical aspects of bars, beats, crotchets, PPQ, BPM, milliseconds, industry standards and personal needs, the "correct" music theory and best practice programming https://cycling74.com/forums/tempo-doesnt-respect-time-signature
so it is no wonder that sometimes there are objects not everybody loves or which do not work for you.
like i recently said in a similar thread, if something doesnt work for you, use something different. it doesnt matter if it is a bug or your fault or whatever.
i know that this doesnt answer your original question how to make transport work with metro.
oh yeah and architect is fun, that´s a good piece of work. it is very close to what i do with max, but has the better user interface. unfortunately it is very midi focused.
note that transport is the global transport. as soon as you want to run two tempi side by side, it is already useless. with premade solutions you are bound in chains.
I am just trying to see the bigger picture how I could merge the projects together
I have made some nice patches , some for straight 4/4 techie stuff , some more esoteric groove~mangling etc ..all pretty nice .
So the next logical step for me is to tie all these sequences together , I am well aware this wil take effort and time
About architect , yes I am pretty much blown away by it , bought it from day one , and we're almost 2 years in beta stage , amazing knowing it's a one man's creation
THe developer colin as an all round great guy , constantly lisening to user input and updating it , the next update will have gui objects directly accesable from the structure view .
@ roman , you wrote that you use the standard max timing format , may I ask you how you keep things in sync ?
Are you using a master metro clock and simple division, multiplication for other metros ( ake from master metro time 0) ?
first of all i never mix sequencing at data rate with sequencing at audio rate, it is either...or for me.
and secondly, with one exception, all my "sequencing" releated projects dont offer pause/resume functionality - so to sync two metros they just would both receive a global (or sub-global) 0 and 1.
say i would have to make two clocks, one for beats and one for bars.
there would somewhere be a global BPM setting for the user, and then one metro can be set to "1/8" and the other one to "1/16".
the resulting time values are given to the metro objects in millisecond (fyi: in my old version of max there is only milliseconds for most objects!) and to start both i would send "1" to both.
further need of "sychronisation" is not needed for such a system (unless you turn the high priority thread off and need to collect the data into lists later or something like that.)
if i want to add "SMPTE time" i would control an independent clock from the global start/stop.
if i need a "bar count" display/number output i would have to use a 1/1 or 1/2 or whatever metro and count bangs since last start.
in an audio rate sequencer (which i believe is the less good solution for complex sequencing) i calculate everything in samples (in float, then round or truncate)
in my first sequencing project i once had a hard time to decide what functions go into a global patch and how to organize it.
in 2008 i have given up on a seperate pause/resume and my "transport" in 110.modular has been limited to the following basic functions:
- a start/stop toggle going to a [send] (which can be used by other objects or ignored)
- a BPM numberbox going to a [send] (which can be used by other objects or ignored)
the BPM value also goes to a global [var] for other parts of the patch to fetch it from there,
the BPM value also has its own outlet in case you need it this way elsewhere in the patch.
most metros and some del and pipe objects across the program now can receive these "master values" (running, not running, leght of 1/16 note in milliseconds)
(need muliple clocks? no problem, when you know how long a 1/16 note at 120 bpm is, you also know how long it would be at 130 BPM. or how long a 5/7 note would be at 33,7% slower than 120 BPM, you get the idea: it is all there by a simple rule of three.)
wherever required, the "stop" 0 from the global "transport" will also lead to reinitialization of everything which has to be initialized. (mostly counters)
so, to sum it up: the position of 0.0 in my "timeline" is the only one which is known everywhere, the rest runs "independent" from each other.
we are at stop/0 - or we run. with the global speed, with something releated to it, or with its own speed.


Thanks for the answer , are you still on max 4.5 ?
mostly 4.1, 4.6, and sometimes 6 & 7, but i consider everything which is not available for max 4 an "third party object" and ignore it. :)
source audio elaborated on [transport] for polyrythm/polymetrics here https://cycling74.com/forums/help-with-polyrhythm-sequencer-quantized-to-transport-ticks thats where you want to continue reading.
if you would be a newbie, i would now recommend you to build your own "metro" patch from more basic objects - and then change it to your liking. great training.
Ha, ha Roman you nailed it -
"i consider everything which is not available for max 4 an "third party object" and ignore it. :)"
I am almost as restrictive, only sometimes one gets forced to use some of this new stuff.
But I would never use translate object for example, just dislike it.
My worst one is that loudspeaker ezdac gibberish
it is both at the same time: my personal filterbubble (why should i use soundfileplayer and transport when i a kind of invented that before c74 had it? or translate or zl.stream - i also have my own) - and at the same time also a philosophy / method (which i could substantiate on request)
to be honest... what i also do is to add 4.6 vanilla externals to MacOS9 where possible (regexp, deferlow, pak(!!!), some 5-10 more)
and of course i am sometimes jealous about the bugfixes in lcd, about the new [cycle] which takes lists now, or mpe & co, things which i could really need but have locked myself out with my downwards compatibilty disorder (not so much about [jit.weirdparticleexplosion] for GL4 and all those sissie objects)
i am cuuuurious for the day when stefan t. manages to get the pace interlok driver installed under 10.15, so that the use of m4 is secured for another year (and possibly hardware generation) more.