media.sh
· 535 B · Bash
Raw
#!/bin/bash
set -e
PW=
PW_FILE="${HOME}/.mediapw"
BASE_URL="https://fs.noahro.at"
function get_pw {
cat "$PW_FILE"
}
function main {
PW="$( get_pw )"
local path="$1"
fetch "$path"
}
function fetch {
local path="$( pathencode "$1" )"
#local path="$1"
curl -s "${BASE_URL}/${path}?pw=${PW}&t"
#--expand-url \
#--variable %path --variable %PW \
}
function pathencode {
#jq --slurp --raw-input --raw-output @uri <<<"$@"
sed -E 's/ /%20/g' <<<"$@" | \
sed -E 's/,/%2C/g'
}
main "$@"
| 1 | #!/bin/bash |
| 2 | |
| 3 | set -e |
| 4 | |
| 5 | PW= |
| 6 | PW_FILE="${HOME}/.mediapw" |
| 7 | BASE_URL="https://fs.noahro.at" |
| 8 | |
| 9 | function get_pw { |
| 10 | cat "$PW_FILE" |
| 11 | } |
| 12 | |
| 13 | function main { |
| 14 | PW="$( get_pw )" |
| 15 | |
| 16 | local path="$1" |
| 17 | fetch "$path" |
| 18 | } |
| 19 | |
| 20 | function fetch { |
| 21 | local path="$( pathencode "$1" )" |
| 22 | #local path="$1" |
| 23 | curl -s "${BASE_URL}/${path}?pw=${PW}&t" |
| 24 | |
| 25 | #--expand-url \ |
| 26 | #--variable %path --variable %PW \ |
| 27 | } |
| 28 | |
| 29 | function pathencode { |
| 30 | #jq --slurp --raw-input --raw-output @uri <<<"$@" |
| 31 | |
| 32 | sed -E 's/ /%20/g' <<<"$@" | \ |
| 33 | sed -E 's/,/%2C/g' |
| 34 | } |
| 35 | |
| 36 | main "$@" |
play-album.sh
· 697 B · Bash
Raw
#!/bin/bash
set -e
function play_album {
local album_path="$1"
[ -z "$album_path" ] && album_path="CrystalCastles/CrystalCastlesI"
local song_names=
#mapfile -t song_names < <( \
# ./media.sh "music/${album_path}" | grep --color=never -Eo '[^ ]+\.mp3$' \
#)
mapfile -t song_names < <( \
./media.sh "music/${album_path}" | tail -n+4 | cut -d' ' -f3- \
)
for song_name in "${song_names[@]}"; do
echo "Playing: ${song_name}"
./media.sh "music/${album_path}/${song_name}" | mpv --quiet -
done
}
function main {
while [ $# -gt 0 ]; do
echo "Playing album: $1"
play_album "$1"
shift
done
}
main "$@"
| 1 | #!/bin/bash |
| 2 | |
| 3 | set -e |
| 4 | |
| 5 | function play_album { |
| 6 | local album_path="$1" |
| 7 | [ -z "$album_path" ] && album_path="CrystalCastles/CrystalCastlesI" |
| 8 | |
| 9 | local song_names= |
| 10 | #mapfile -t song_names < <( \ |
| 11 | # ./media.sh "music/${album_path}" | grep --color=never -Eo '[^ ]+\.mp3$' \ |
| 12 | #) |
| 13 | mapfile -t song_names < <( \ |
| 14 | ./media.sh "music/${album_path}" | tail -n+4 | cut -d' ' -f3- \ |
| 15 | ) |
| 16 | |
| 17 | for song_name in "${song_names[@]}"; do |
| 18 | echo "Playing: ${song_name}" |
| 19 | ./media.sh "music/${album_path}/${song_name}" | mpv --quiet - |
| 20 | done |
| 21 | } |
| 22 | |
| 23 | function main { |
| 24 | while [ $# -gt 0 ]; do |
| 25 | echo "Playing album: $1" |
| 26 | play_album "$1" |
| 27 | shift |
| 28 | done |
| 29 | } |
| 30 | |
| 31 | main "$@" |
| 32 |