Browse Source

Tweaked Rofi Beats

pull/293/head
JaKooLit 2 years ago
parent
commit
8f5c2af4cf
  1. 34
      config/hypr/UserScripts/RofiBeats.sh

34
config/hypr/UserScripts/RofiBeats.sh

@ -1,12 +1,14 @@
#!/bin/bash
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
# For Rofi Beats to play online Music or Locally save media files
# Directory music folder
# Directory local music folder
mDIR="$HOME/Music/"
# Directory for icons
iDIR="$HOME/.config/swaync/icons"
# Online Stations
# Online Stations. Edit as required
declare -A online_music=(
["AfroBeatz 2024 🎧"]="https://www.youtube.com/watch?v=7uB-Eh9XVZQ"
["Lofi Girl ☕🎶"]="https://play.streamafrica.net/lofiradio"
@ -22,7 +24,6 @@ declare -A online_music=(
["Korean Drama OST 📻🎶"]="https://youtube.com/playlist?list=PLUge_o9AIFp4HuA-A3e3ZqENh63LuRRlQ"
)
# Local Music
# Populate local_music array with files from music directory and subdirectories
populate_local_music() {
local_music=()
@ -52,13 +53,14 @@ 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
notification "$choice"
notification "$choice"
# For some reason wont start playlist at 0
if [[ $i -eq 0 ]]; then
# Play the selected local music file using mpv
mpv --loop-playlist --vid=no "$mDIR"
mpv --loop-playlist --vid=no "$mDIR"
else
file=$i
# Play the selected local music file using mpv
@ -69,6 +71,14 @@ play_local_music() {
done
}
# Main function for shuffling local music
shuffle_local_music() {
notification "Shuffle local music"
# Play music in $mDIR on shuffle
mpv --shuffle --loop-playlist --vid=no "$mDIR"
}
# Main function for playing online music
play_online_music() {
choice=$(printf "%s\n" "${!online_music[@]}" | rofi -i -dmenu -config ~/.config/rofi/config-rofi-Beats.rasi -p "Online Music")
@ -85,19 +95,11 @@ play_online_music() {
mpv --shuffle --vid=no "$link"
}
# Main function for shuffling local music
shuffle_local_music() {
notification "Shuffle local music"
# Play music in $mDIR on shuffle
mpv --shuffle --loop-playlist --vid=no "$mDIR"
}
# Check if an online music process is running and send a notification, otherwise run the main function
pkill mpv && notify-send -u low -i "$iDIR/music.png" "Music stopped" || {
# Prompt the user to choose between local and online music
user_choice=$(printf "Play from Online Stations\nPlay from Music Folder\nShuffle from Music Folder" | rofi -dmenu -config ~/.config/rofi/config-rofi-Beats-menu.rasi -p "Select music source")
user_choice=$(printf "Play from Online Stations\nPlay from Music Folder\nShuffle Play from Music Folder" | rofi -dmenu -config ~/.config/rofi/config-rofi-Beats-menu.rasi -p "Select music source")
case "$user_choice" in
"Play from Music Folder")
@ -106,7 +108,7 @@ user_choice=$(printf "Play from Online Stations\nPlay from Music Folder\nShuffle
"Play from Online Stations")
play_online_music
;;
"Shuffle from Music Folder")
"Shuffle Play from Music Folder")
shuffle_local_music
;;
*)

Loading…
Cancel
Save