import tkinter as tk import time click_times = [] # to store click times bpm = 0 # to store bpm running = False # to store if the widget is running # Function to calculate the BPM def calculate_bpm(): global click_times, bpm, running if len(click_times) >= 2: #calculate difference between first and last click time_diff = click_times[-1] - click_times[-2] #calculate bpm based on time difference if time_diff > 0: bpm = int(60 / time_diff) bpm_label.config(text=f"BPM: {bpm:.2f}") else: bpm_label.config(text="BPM: Max") else: bpm_label.config(text="BPM: N/A") # Function to handle mouse clicks or space bar taps def handle_click(event): global click_times, running if running: click_times.append(time.time()) calculate_bpm() def start_stops(): global running, click_times, bpm if running: running = False click_times = [] bpm = 0 bpm_label.config(text="BPM: N/A") start_stop_button.config(text="Start") else: running = True start_stop_button.config(text="Stop") root = tk.Tk() root.title("BPM Calculator") root.geometry("300x200") # Create and place bpm label bpm_label = tk.Label(root, text="BPM: N/A", font=("Verdana", 24)) bpm_label.pack(pady=20) # Create and place start/stop button start_stop_button = tk.Button(root, text="Start", font=("Verdana", 18), command=start_stops) start_stop_button.pack(pady=20) root.bind("