robbielyman / seamstress

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

feat: add beat info to clock params UI #82

Closed dndrks closed 1 year ago

dndrks commented 1 year 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!