2 Commits

2 changed files with 18 additions and 13 deletions

View File

@@ -7,16 +7,12 @@ name = "pypi"
websockets = "*"
watchfiles = "*"
async-tkinter-loop = "*"
mido = "*"
python-rtmidi = "*"
pyaudio = "*"
aubio = "*"
websocket-client = "*"
[dev-packages]
[requires]
python_version = "3.12"
python_version = "3"
[scripts]
main = "python main.py"

View File

@@ -694,13 +694,16 @@ class App:
if self.pending_rgb_update_id:
self.root.after_cancel(self.pending_rgb_update_id)
self.pending_rgb_update_id = None
self.update_rgb(tab)
# Use root.after() to ensure the async event loop is running
# A delay of 0 will execute on the next event loop iteration
self.root.after(0, lambda: self.update_rgb(tab))
self.last_rgb_update_time = current_time
elif current_time - self.last_rgb_update_time >= self.rgb_update_interval_ms:
if self.pending_rgb_update_id:
self.root.after_cancel(self.pending_rgb_update_id)
self.pending_rgb_update_id = None
self.update_rgb(tab)
# Use root.after() to ensure the async event loop is running
self.root.after(0, lambda: self.update_rgb(tab))
self.last_rgb_update_time = current_time
else:
if self.pending_rgb_update_id:
@@ -714,13 +717,15 @@ class App:
if self.pending_brightness_update_id:
self.root.after_cancel(self.pending_brightness_update_id)
self.pending_brightness_update_id = None
self.update_brightness(tab)
# Use root.after() to ensure the async event loop is running
self.root.after(0, lambda: self.update_brightness(tab))
self.last_brightness_update_time = current_time
elif current_time - self.last_brightness_update_time >= self.brightness_update_interval_ms:
if self.pending_brightness_update_id:
self.root.after_cancel(self.pending_brightness_update_id)
self.pending_brightness_update_id = None
self.update_brightness(tab)
# Use root.after() to ensure the async event loop is running
self.root.after(0, lambda: self.update_brightness(tab))
self.last_brightness_update_time = current_time
else:
if self.pending_brightness_update_id:
@@ -734,13 +739,15 @@ class App:
if self.pending_delay_update_id:
self.root.after_cancel(self.pending_delay_update_id)
self.pending_delay_update_id = None
self.update_delay(tab)
# Use root.after() to ensure the async event loop is running
self.root.after(0, lambda: self.update_delay(tab))
self.last_delay_update_time = current_time
elif current_time - self.last_delay_update_time >= self.delay_update_interval_ms:
if self.pending_delay_update_id:
self.root.after_cancel(self.pending_delay_update_id)
self.pending_delay_update_id = None
self.update_delay(tab)
# Use root.after() to ensure the async event loop is running
self.root.after(0, lambda: self.update_delay(tab))
self.last_delay_update_time = current_time
else:
if self.pending_delay_update_id:
@@ -754,13 +761,15 @@ class App:
if self.pending_n_params_update_id:
self.root.after_cancel(self.pending_n_params_update_id)
self.pending_n_params_update_id = None
self.update_n_params(tab)
# Use root.after() to ensure the async event loop is running
self.root.after(0, lambda: self.update_n_params(tab))
self.last_n_params_update_time = current_time
elif current_time - self.last_n_params_update_time >= self.n_params_update_interval_ms:
if self.pending_n_params_update_id:
self.root.after_cancel(self.pending_n_params_update_id)
self.pending_n_params_update_id = None
self.update_n_params(tab)
# Use root.after() to ensure the async event loop is running
self.root.after(0, lambda: self.update_n_params(tab))
self.last_n_params_update_time = current_time
else:
if self.pending_n_params_update_id: