From 59e31041208825fc73bdfce0ab34287cc7f2dd95 Mon Sep 17 00:00:00 2001 From: AmeetZ Date: Fri, 18 Oct 2024 21:55:29 +0530 Subject: [PATCH 1/3] Implemented Typing Sounds --- sounds/keyboardclick.mp3 | Bin 0 -> 48384 bytes src/main.py | 21 ++++++++++++++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 sounds/keyboardclick.mp3 diff --git a/sounds/keyboardclick.mp3 b/sounds/keyboardclick.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..9fe26440ecd729887ca5524ab89c03ac20765343 GIT binary patch literal 48384 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 literal 0 HcmV?d00001 diff --git a/src/main.py b/src/main.py index a8d8349..4ec619d 100644 --- a/src/main.py +++ b/src/main.py @@ -13,6 +13,12 @@ from tkinter import ttk from matplotlib.figure import Figure from matplotlib.backends.backend_tkagg import (FigureCanvasTkAgg) +from pygame import mixer + +mixer.init() +mixer.music.load("sounds\keyboardclick.mp3") + +should_play = True class Window: def td(self, s): @@ -60,7 +66,7 @@ def __init__(self): self.setup() - def clear(self): + def clear(self): for widget in self.window.winfo_children(): widget.destroy() @@ -118,6 +124,8 @@ def restart(self): self.setup() def plot_graph(self): + self.mixer_uninit() + self.fig = Figure(figsize = (3, 2), dpi = 100) self.fig.clf() plot1 = self.fig.add_subplot() @@ -136,6 +144,7 @@ def plot_graph(self): def main_menu(self): self.clear() + self.mixer_uninit() results_label = Label(self.window, text=self.wpm + " " + self.accuracy, font=("roboto", 50, "bold"), background="gray25", fg="#ebc934") results_label.grid(row=1, column=0) @@ -149,6 +158,8 @@ def main_menu(self): self.plot_graph() def key_press(self, event): + self.play_sound() + if not self.write_able: return None if event.keysym == "Shift_L" or event.keysym == "Shift_R": @@ -169,6 +180,14 @@ def key_press(self, event): self.calculate_accuracy() except TclError: pass + def mixer_uninit(self): + mixer.quit() + should_play = False + + def play_sound(self): + if(should_play): + mixer.music.play() + def start_timer(self): self.timer_thread = threading.Thread(target=self.countdown_thread) self.timer_thread.daemon = True From 8b6ec54204ceb80bca96e7c590a3c8d1034841ba Mon Sep 17 00:00:00 2001 From: AmeetZ Date: Fri, 18 Oct 2024 22:47:32 +0530 Subject: [PATCH 2/3] Fixed FilePath Error and Added Multi Sound System --- .../{keyboardclick.mp3 => keyboardclick1.mp3} | Bin sounds/keyboardclick2.wav | Bin 0 -> 81050 bytes sounds/keyboardclick3.wav | Bin 0 -> 214596 bytes src/main.py | 39 ++++++++++++++++-- 4 files changed, 35 insertions(+), 4 deletions(-) rename sounds/{keyboardclick.mp3 => keyboardclick1.mp3} (100%) create mode 100644 sounds/keyboardclick2.wav create mode 100644 sounds/keyboardclick3.wav diff --git a/sounds/keyboardclick.mp3 b/sounds/keyboardclick1.mp3 similarity index 100% rename from sounds/keyboardclick.mp3 rename to sounds/keyboardclick1.mp3 diff --git a/sounds/keyboardclick2.wav b/sounds/keyboardclick2.wav new file mode 100644 index 0000000000000000000000000000000000000000..64aea2a79bea3f82d806960441ee70804b0cf47e GIT binary patch literal 81050 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 literal 0 HcmV?d00001 diff --git a/sounds/keyboardclick3.wav b/sounds/keyboardclick3.wav new file mode 100644 index 0000000000000000000000000000000000000000..555f000d2eda792f6fd43606bd42edcf15becc8b GIT binary patch literal 214596 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%0A7ddy1IVpz3u&AKYaCdc|G12-Vf%+jO&bzyguVX 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 E2TwjT1ONa4 literal 0 HcmV?d00001 diff --git a/src/main.py b/src/main.py index 4ec619d..3984909 100644 --- a/src/main.py +++ b/src/main.py @@ -14,11 +14,15 @@ from matplotlib.figure import Figure from matplotlib.backends.backend_tkagg import (FigureCanvasTkAgg) from pygame import mixer - -mixer.init() -mixer.music.load("sounds\keyboardclick.mp3") +import os + +sounds = [os.path.abspath("sounds\keyboardclick1") + ".mp3", os.path.abspath("sounds\keyboardclick2") + ".wav", os.path.abspath("sounds\keyboardclick3") + ".wav"] should_play = True +soundID = 0 + +mixer.init() +mixer.music.load(sounds[soundID]) class Window: def td(self, s): @@ -48,6 +52,8 @@ def choose_wd(self): def __init__(self): self.stop_threads = False + self.soundID = soundID + self.window = Tk() self.window.title('py-typer') self.window.configure(background="gray25") @@ -71,6 +77,7 @@ def clear(self): widget.destroy() def setup(self): + self.mixer_init() self.x=[] self.y=[] @@ -122,6 +129,7 @@ def restart(self): self.stop_threads = False self.clear() self.setup() + self.mixer_init() def plot_graph(self): self.mixer_uninit() @@ -151,7 +159,10 @@ def main_menu(self): restart_button = Button(self.window, text="Restart", font=("roboto", 30), background="gray25", command=self.restart, highlightbackground="gray25", fg="#ebc934") restart_button.grid(row=2, column=0) - + + change_sound_button = Button(self.window, text="Sound", font=("roboto", 30), background="gray25", command=self.change_sound, highlightbackground="gray25", fg="#ebc934") + change_sound_button.grid(row=2, column=1) + mode_button = Button(self.window, text="Mode", font=("roboto", 30), highlightbackground="gray25", fg="#ebc934", background="gray25", bg="gray25", command=self.modes) mode_button.grid(row=2, column=2) @@ -180,10 +191,30 @@ def key_press(self, event): self.calculate_accuracy() except TclError: pass + def mixer_uninit(self): mixer.quit() should_play = False + def mixer_init(self): + mixer.init() + mixer.music.load(sounds[self.soundID]) + should_play = True + + def change_sound(self): + if(self.soundID == len(sounds) - 1): + self.soundID = 0 + else: + self.soundID += 1 + + print(self.soundID) + + mixer.init() + mixer.music.load(sounds[self.soundID]) + + self.play_sound() + + def play_sound(self): if(should_play): mixer.music.play() From 602263a12856848c7f6223e928f10c4e795a8a05 Mon Sep 17 00:00:00 2001 From: AmeetZ Date: Fri, 18 Oct 2024 23:12:35 +0530 Subject: [PATCH 3/3] Added MacOS and Windows Compatibilites --- src/main.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main.py b/src/main.py index 3984909..0cd093c 100644 --- a/src/main.py +++ b/src/main.py @@ -15,8 +15,14 @@ from matplotlib.backends.backend_tkagg import (FigureCanvasTkAgg) from pygame import mixer import os - -sounds = [os.path.abspath("sounds\keyboardclick1") + ".mp3", os.path.abspath("sounds\keyboardclick2") + ".wav", os.path.abspath("sounds\keyboardclick3") + ".wav"] +import platform + +if(platform.system() == "Darwin"): + sounds = [os.path.abspath("sounds/keyboardclick1") + ".mp3", os.path.abspath("sounds/keyboardclick2") + ".wav", os.path.abspath("sounds/keyboardclick3") + ".wav"] +elif(platform.system() == "Windows"): + sounds = [os.path.abspath("sounds\keyboardclick1") + ".mp3", os.path.abspath("sounds\keyboardclick2") + ".wav", os.path.abspath("sounds\keyboardclick3") + ".wav"] +else: + sounds = [os.path.abspath("sounds\keyboardclick1") + ".mp3", os.path.abspath("sounds\keyboardclick2") + ".wav", os.path.abspath("sounds\keyboardclick3") + ".wav"] should_play = True soundID = 0