Visualize the metronome?

Thanks for getting me started on replicating this @pianopaul. I was figuring out how to display the bar and beat number in a widget label…and why not include LEDs as well!

GP_Bar_Beat_Counter_Widgets

// Script to display bar and beat numbers in a widget label and LEDs
Var 
    bar,beat : Integer
    position_label,led1,led2,led3,led4 : Widget
    bar_s,beat_s,label : String
    
On BeatChanged(barNumber : Integer, BeatNumber : Integer, tick : Integer) // Called every time the beatNumber increments
// Note that barNumber and tick are not currently implemented

    // Calculate bar and beat number
    bar := Floor(BeatNumber / 4) + 1
    beat := BeatNumber % 4 + 1
    
    // Update widget label
    bar_s := bar
    beat_s := beat
    label := bar_s + "." + beat_s
    SetWidgetLabel (position_label, label)
    
    // Update LEDS
    If beat == 1 Then SetWidgetValue(led1,1) Else SetWidgetValue(led1,0) End
    If beat == 2 Then SetWidgetValue(led2,1) Else SetWidgetValue(led2,0) End
    If beat == 3 Then SetWidgetValue(led3,1) Else SetWidgetValue(led3,0) End
    If beat == 4 Then SetWidgetValue(led4,1) Else SetWidgetValue(led4,0) End
End
3 Likes