Skip to content

Commit a3abc88

Browse files
Created resume method in AudioLooper.
1 parent 7a24255 commit a3abc88

File tree

3 files changed

+18
-4
lines changed

3 files changed

+18
-4
lines changed

ui/sura_player_ui/audio_looper.py

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,18 @@ def restart_loop(self):
8181
self.player.set_position(self.loop_start)
8282
self.player.play()
8383
self.monitor_timer.start()
84-
84+
85+
def resume(self):
86+
"""
87+
Resume the looping playback if it was paused.
88+
89+
This method will start the player's playback and restart the monitor timer if it is not active,
90+
"""
91+
if self.loop_active:
92+
self.player.play()
93+
if not self.monitor_timer.isActive():
94+
self.monitor_timer.start()
95+
8596
def set_loop_delay(self, delay: int):
8697
"""
8798
Set the delay time (in milliseconds) before restarting the loop.

ui/sura_player_ui/key_handler.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ def __init__(self, parent):
1616
1717
:param parent: The main application window (QMainWindow).
1818
"""
19-
self.parent = parent # Reference to the main window
19+
self.parent = parent
2020

2121
# Mapping arrow keys to their respective functions
2222
self.arrow_actions = {
@@ -58,7 +58,6 @@ def handle_key_press(self, event: QKeyEvent) -> bool:
5858
if self.process_arrows(event):
5959
return True
6060

61-
# Ignore unknown shortcuts if Ctrl, Shift, or Alt is held
6261
if event.modifiers() & (Qt.ControlModifier | Qt.ShiftModifier | Qt.AltModifier):
6362
return True
6463

ui/sura_player_ui/sura_player_ui.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
from utils.settings import SettingsManager
2121
from.menubar import MenuBar
2222
from .key_handler import KeyHandler
23+
from .audio_looper import AudioLooper
2324

2425

2526
class SuraPlayerWindow(QMainWindow):
@@ -36,6 +37,7 @@ def __init__(self, parent=None) -> None:
3637
self.audio_player_thread = AudioPlayerThread(self.player, self)
3738
self.filter_manager = FilterManager()
3839
self.key_handler = KeyHandler(self)
40+
self.audio_looper = AudioLooper(self.player)
3941

4042
central_widget = QWidget()
4143
layout = QVBoxLayout(central_widget)
@@ -264,7 +266,9 @@ def update_current_surah(self):
264266
self.statusBar().showMessage(f"السورة الحالية: {self.surah_combo.currentText()}")
265267

266268
def toggle_play_pause(self):
267-
if self.player.is_playing():
269+
if self.audio_looper.loop_active and self.player.is_paused():
270+
self.audio_looper .resume()
271+
elif self.player.is_playing():
268272
self.player.pause()
269273
else:
270274
self.play_current_surah()

0 commit comments

Comments
 (0)