robbielyman / seamstress

seamstress is an art engine
GNU General Public License v3.0
123 stars 12 forks source link

feat: add beat info to clock params UI #82

Closed dndrks closed 11 months ago

dndrks commented 11 months ago

hihiii!

this PR adds some additional insights into current beat count, which i'm hoping can be helpful for making the often-on nature of the clock system a little more legible for general use.

beat counter

in PARAMETERS > CLOCK, there's now a tracker for the current beat in the top right:

image

it flashes white on every whole-beat, grey on every quarter.

Link

when clock source is set to Link, seamstress will show the quantum parameter as well as whether it has received a transport start message from Link:

image

once a transport start message is received, the beats draw to the window:

image

other changes

beat-synced paramsMenu redraw

the beat reporting + highlighting required a quarter-beat-synced paramsMenu.redraw() call, which is only enabled when the clock params menu is open.

new var: _seamstress.transport_active

i added a new var: _seamstress.transport_active, which is set to true with _seamstress.transport.start() and false with _seamstress.transport.stop(). this allows the Link transport messaging, but seems like tracking this state could eventually be useful if you want to add more complex transport UI controls :)

specify quantum is in 'beats'

just dropped in a string formatter after the quantum param :)

lmk if anything tests weird!