aboutsummaryrefslogtreecommitdiffstats
path: root/config/hypr/UserScripts
diff options
context:
space:
mode:
authorJa.KooLit <85185940+JaKooLit@users.noreply.github.com>2025-05-20 15:46:50 +0000
committerGitHub <noreply@github.com>2025-05-20 15:46:50 +0000
commit6b7faa119f969e76198307abe765a68625350ba6 (patch)
treeff5c72438c6e6a27e13023e0db9de414204097d9 /config/hypr/UserScripts
parentc14722aa5ecce0783b82945646ffde87413caceb (diff)
parent62c1b8dd31e2273f927e6e1582497b5e16af1273 (diff)
Merge pull request #691 from Mtp81/rofibeats-continuous-playback
feat: Add continuous playback to RofiBeats during choosing next music
Diffstat (limited to 'config/hypr/UserScripts')
-rwxr-xr-xconfig/hypr/UserScripts/RofiBeats.sh61
1 files changed, 40 insertions, 21 deletions
diff --git a/config/hypr/UserScripts/RofiBeats.sh b/config/hypr/UserScripts/RofiBeats.sh
index 781e9f64..1cddce09 100755
--- a/config/hypr/UserScripts/RofiBeats.sh
+++ b/config/hypr/UserScripts/RofiBeats.sh
@@ -58,7 +58,10 @@ play_local_music() {
# Find the corresponding file path based on user's choice and set that to play the song then continue on the list
for (( i=0; i<"${#filenames[@]}"; ++i )); do
if [ "${filenames[$i]}" = "$choice" ]; then
-
+
+ if music_playing; then
+ stop_music
+ fi
notification "$choice"
mpv --playlist-start="$i" --loop-playlist --vid=no "${local_music[@]}"
@@ -69,6 +72,9 @@ play_local_music() {
# Main function for shuffling local music
shuffle_local_music() {
+ if music_playing; then
+ stop_music
+ fi
notification "Shuffle Play local music"
# Play music in $mDIR on shuffle
@@ -87,12 +93,20 @@ play_online_music() {
link="${online_music[$choice]}"
+ if music_playing; then
+ stop_music
+ fi
notification "$choice"
# Play the selected online music using mpv
mpv --shuffle --vid=no "$link"
}
+# Function to check if music is already playing
+music_playing() {
+ pgrep -x "mpv" > /dev/null
+}
+
# Function to stop music and kill mpv processes
stop_music() {
mpv_pids=$(pgrep -x mpv)
@@ -110,25 +124,30 @@ stop_music() {
fi
}
-# Check if music is already playing
-if pgrep -x "mpv" > /dev/null; then
- stop_music
-else
- user_choice=$(printf "Play from Online Stations\nPlay from Music directory\nShuffle Play from Music directory" | rofi -dmenu -config $rofi_theme_1)
+user_choice=$(printf "%s\n" \
+ "Play from Online Stations" \
+ "Play from Music directory" \
+ "Shuffle Play from Music directory" \
+ "Stop RofiBeats" \
+ | rofi -dmenu -config $rofi_theme_1)
- echo "User choice: $user_choice"
+echo "User choice: $user_choice"
- case "$user_choice" in
- "Play from Music directory")
- play_local_music
- ;;
- "Play from Online Stations")
- play_online_music
- ;;
- "Shuffle Play from Music directory")
- shuffle_local_music
- ;;
- *)
- ;;
- esac
-fi \ No newline at end of file
+case "$user_choice" in
+ "Play from Online Stations")
+ play_online_music
+ ;;
+ "Play from Music directory")
+ play_local_music
+ ;;
+ "Shuffle Play from Music directory")
+ shuffle_local_music
+ ;;
+ "Stop RofiBeats")
+ if music_playing; then
+ stop_music
+ fi
+ ;;
+ *)
+ ;;
+esac
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage