Skip to content

Commit c74dd1b

Browse files
committed
Added new options.
1 parent 66b6870 commit c74dd1b

File tree

3 files changed

+22
-4
lines changed

3 files changed

+22
-4
lines changed

ui/sura_player_ui/audio_looper.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ def __init__(self, player: SurahPlayer, loop_check_interval: int = 100):
1818
:param player: Reference to the main player for controlling playback.
1919
:param loop_check_interval: Interval (in milliseconds) to check the player's position.
2020
"""
21+
2122
self.player = player
2223
self.loop_start = 0 # Start point (A)
2324
self.loop_end = 0 # End point (B)
@@ -97,6 +98,16 @@ def resume(self):
9798
if not self.monitor_timer.isActive():
9899
self.monitor_timer.start()
99100

101+
def return_to_start(self):
102+
"""Return playback to the loop start point."""
103+
if self.loop_start == 0:
104+
UniversalSpeech.say("Loop start point not set.")
105+
return
106+
107+
self.player.set_position(self.loop_start)
108+
UniversalSpeech.say(f"Returned to start point: {self.loop_start} seconds.")
109+
110+
100111
def clear_loop(self):
101112
"""Clear the loop points and stop the loop."""
102113
self.loop_start = 0

ui/sura_player_ui/menubar.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,12 @@ def __init__(self, parent=None):
5454
self.set_start_action = QAction("تحديد نقطة البداية", self)
5555
self.set_end_action = QAction("تحديد نقطة النهاية", self)
5656
self.toggle_loop_action = QAction("تشغيل/إيقاف التكرار", self)
57+
self.return_to_start_action = QAction("تشغيل بداية التحديد", self)
58+
self.clear_loop_action = QAction("تجاهل التحديد", self)
59+
5760

5861
loop_menu.addActions([
59-
self.set_start_action, self.set_end_action,
62+
self.set_start_action, self.set_end_action, self.return_to_start_action, self.clear_loop_action,
6063
self.toggle_loop_action
6164
])
6265
self.installEventFilter(self)

ui/sura_player_ui/sura_player_ui.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,8 @@ def connect_signals(self):
178178
self.menubar.set_start_action.triggered.connect(self.audio_looper.set_loop_start)
179179
self.menubar.set_end_action.triggered.connect(self.audio_looper.set_loop_end)
180180
self.menubar.toggle_loop_action.triggered.connect(self.audio_looper.toggle_loop)
181+
self.menubar.return_to_start_action.triggered.connect(self.audio_looper.return_to_start)
182+
self.menubar.clear_loop_action.triggered.connect(self.audio_looper.clear_loop)
181183
self.close_button.clicked.connect(self.OnClose)
182184
self.volume_slider.valueChanged.connect(self.update_volume)
183185
self.time_slider.valueChanged.connect(self.update_time)
@@ -210,7 +212,7 @@ def setup_shortcuts(self, disable=False,):
210212
self.menubar.play_pause_action: ["Space", "K"],
211213
self.menubar.forward_action: ["Right", "L"],
212214
self.menubar.rewind_action: ["Left", "J"],
213-
self.menubar.replay_action: ["Home"], # Wrapped in a list for consistency
215+
self.menubar.replay_action: ["Home"],
214216
self.menubar.up_volume_action: ["Up"],
215217
self.menubar.down_volume_action: ["Down"],
216218
self.menubar.previous_surah_action: ["Alt+Left"],
@@ -220,9 +222,11 @@ def setup_shortcuts(self, disable=False,):
220222
self.menubar.stop_action: ["S", "Ctrl+Space"],
221223
self.menubar.close_window_action: ["Ctrl+W", "Ctrl+F4"],
222224
self.menubar.close_program_action: ["Ctrl+X"],
223-
self.menubar.set_start_action: ["["],
224-
self.menubar.set_end_action: ["]"],
225+
self.menubar.set_start_action: ["[", "ج"],
226+
self.menubar.set_end_action: ["]", "د"],
225227
self.menubar.toggle_loop_action: ["Ctrl+R"],
228+
self.menubar.return_to_start_action: ["Shift+R"],
229+
self.menubar.clear_loop_action: ["Ctrl+shift+R"],
226230
}
227231

228232

0 commit comments

Comments
 (0)