Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FEAT] Χρήση του mpg123 ως εναλλατικός lightweight player #118

Draft
wants to merge 5 commits into
base: stable
Choose a base branch
from
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 25 additions & 13 deletions shelldio.sh
Original file line number Diff line number Diff line change
Expand Up @@ -198,19 +198,24 @@ remove_station() {
fi
}

mpv_msg() {
player_installation_inctructions() {
if grep debian /etc/os-release &>/dev/null; then
echo "Τρέξτε 'sudo apt install mpv' για να εγκαταστήσετε τον player"
echo "Τρέξτε 'sudo apt install mpv' για να εγκαταστήσετε τον mpv player"
echo "ή 'sudo apt install mpg123' για να εγκαταστήσετε τον mpg123 player"
elif grep fedora /etc/os-release &>/dev/null; then
echo "Τρέξτε 'sudo dnf -y install mpv' για να εγκαταστήσετε τον player"
echo "Τρέξτε 'sudo dnf -y install mpv' για να εγκαταστήσετε τον mpv player"
elif grep suse /etc/os-release &>/dev/null; then
echo "Τρέξτε 'sudo zypper in mpv' για να εγκαταστήσετε τον player"
echo "Τρέξτε 'sudo zypper in mpv' για να εγκαταστήσετε τον mpv player"
echo "ή 'sudo zypper in mpg123' για να εγκαταστήσετε τον mpg123 player"
elif grep centos /etc/os-release &>/dev/null; then
echo "Τρέξτε 'sudo yum -y install mpv' για να εγκαταστήσετε τον player"
echo "Τρέξτε 'sudo yum -y install mpv' για να εγκαταστήσετε τον mpv player"
echo "ή 'sudo yum -y install mpg123' για να εγκαταστήσετε τον mpg123 player"
elif uname -a | grep Darwin &>/dev/null; then
echo "Τρέξτε 'sudo brew install mpv' για να εγκαταστήσετε τον player"
echo "Τρέξτε 'brew install mpg123' για να εγκαταστήσετε τον mpg123 player"
echo "ή 'brew install mpv' για να εγκαταστήσετε τον mpv player"
elif uname -a | grep BSD &>/dev/null; then
echo "Τρέξτε 'sudo pkg install mpv' για να εγκαταστήσετε τον player"
echo "Τρέξτε 'sudo pkg install mpv' για να εγκαταστήσετε τον mpv player"
echo "ή 'sudo pkg install mpg123' για να εγκαταστήσετε τον mpg123 player"
else
echo "Δεν μπορέσαμε να εντοπίσουμε το λειτουργικό σας σύστημα."
echo "Παρακαλούμε επισκεφτείτε τον παρακάτω σύνδεσμο για οδηγίες εγκατάστασης του MPV"
Expand Down Expand Up @@ -473,13 +478,14 @@ done

### Base script
# Έλεγχος προαπαιτούμενων binaries
player=$(command -v mpv 2>/dev/null || echo "1")
player=$( (command -v mpg123 2>/dev/null && echo "mpg123") || (command -v mpv 2>/dev/null && echo "mpv") || echo "1" )

if [[ $player = 1 ]]; then
if [[ "$player" = "1" ]]; then
echo "Έλεγχος προαπαιτούμενων για το Shelldio"
sleep 1
echo -e "Το Shelldio χρειάζεται το MPV player αλλά δεν βρέθηκε στο σύστημά σας.\nΠαρακαλούμε εγκαταστήστε το MPV πριν τρέξετε το Shelldio"
mpv_msg
echo -e "Το Shelldio χρειάζεται είτε το MPV player είτε το mpg123 player αλλά δεν βρέθηκαν στο σύστημά σας."
echo -e "Παρακαλούμε εγκαταστήστε ένα από τα 2 πριν τρέξετε το Shelldio\n"
player_installation_inctructions
exit 1
fi
for binary in grep curl info sleep clear killall; do
Expand All @@ -489,6 +495,8 @@ for binary in grep curl info sleep clear killall; do
fi
done

player=$( (command -v mpg123 2>/dev/null && echo "mpg123") || (command -v mpv 2>/dev/null && echo "mpv") )

# Έλεγχος εγκυρότητας λίστας σταθμών
validate_station_lists

Expand Down Expand Up @@ -562,7 +570,11 @@ while true; do
fi
done

mpv "$stathmos_url" &>/dev/null &
if [[ "$player" = "mpg123" ]]; then
mpg123 "$stathmos_url" &>/dev/null &
else
mpv "$stathmos_url" &>/dev/null &
fi

while true; do
trap '{ clear; echo "Έξοδος..."; tput cnorm; exit 1; }' SIGINT
Expand All @@ -576,7 +588,7 @@ while true; do
tput cnorm # Εμφάνιση cursor
exit 0
elif [[ $input_play = "r" ]] || [[ $input_play = "R" ]]; then
for pid in $(pgrep '^mpv$'); do
for pid in $(pgrep '^(mpv|mpg123)$'); do
url="$(ps -o command= -p "$pid" | awk '{print $2}')"
if [[ "$url" == "$stathmos_url" ]]; then
echo "Έξοδος..."
Expand Down