mirror of
https://github.com/notwa/rc
synced 2024-11-05 07:19:02 -08:00
98 lines
2.6 KiB
Bash
98 lines
2.6 KiB
Bash
#!/bin/zsh
|
|
# awful things
|
|
|
|
MPV_STREAM_FLAGS="--quiet --no-sub --loop=force --cache-secs=10 --cache-initial=1024 --cache-pause --cache-backbuffer=0 --cache-seek-min=2048"
|
|
LIVESTREAMER_FLAGS="--player-http --player-continuous-http --default-stream=source,best"
|
|
LIVESTREAMER_FLAGS+=" --player-passthrough=http --player-no-close"
|
|
|
|
_M_STEREO='aformat=channel_layouts=stereo'
|
|
_M_PRE_EMPH='equalizer=f=50.0:g=-10:width_type=o:w=4,equalizer=f=5000:g=+05:width_type=o:w=4'
|
|
_M_POST_EMPH='equalizer=f=50.0:g=+10:width_type=o:w=4,equalizer=f=5000:g=-05:width_type=o:w=4'
|
|
_M_COMPRESS='compand=0.001|0.001:0.25|0.25:-42/-42|0/-21:6:18:-30:0.001'
|
|
_M_LIMIT='compand=0.000|0.000:0.10|0.10:-9/-9|0/-6.:3:4.5:-9'
|
|
_M_COMPRESS_SOFT='acompressor=threshold=0.01:ratio=1.667:attack=50:release=3200:makeup=6.7:knee=8:mix=0.67'
|
|
_M_KILL="$_M_STEREO,$_M_PRE_EMPH,$_M_COMPRESS,$_M_POST_EMPH"
|
|
|
|
getladspa() {
|
|
REPLY="volume"
|
|
if [ -e "/usr/lib/ladspa/${1}.so" ]; then
|
|
REPLY="ladspa=f=${1}:p=${1}"
|
|
fi
|
|
}
|
|
|
|
getladspa crap_eq_const_T420
|
|
_M_SPEAKERS="$REPLY"
|
|
getladspa crap_level
|
|
_M_LEVEL="$REPLY"
|
|
|
|
_nn="$(uname -n | tr A-Z a-z)"
|
|
|
|
if [[ "$_nn" == "spectre" ]]; then
|
|
_M_PROCESS="$_M_PRE_EMPH,$_M_COMPRESS_SOFT,$_M_POST_EMPH,alimiter=level_out=0.7071"
|
|
fi
|
|
if [[ "$_nn" == "banshee" ]]; then
|
|
_M_PROCESS="$_M_LEVEL,$_M_SPEAKERS,alimiter=level_in=0.5"
|
|
fi
|
|
|
|
_mpv_flags() {
|
|
REPLY="$MPV_STREAM_FLAGS --af=lavfi=[$_M_PROCESS]"
|
|
}
|
|
|
|
watchstream1() {
|
|
local url="$1"
|
|
shift
|
|
_mpv_flags
|
|
if [ -n "$ZSH_VERSION" ]; then
|
|
# zsh syntax
|
|
mpv $=REPLY "$@" "$url"
|
|
else
|
|
# bash syntax
|
|
mpv $REPLY "$@" "$url"
|
|
fi
|
|
}
|
|
|
|
watchstream2() {
|
|
pushd ~/play >/dev/null
|
|
local url="$1"
|
|
shift
|
|
_mpv_flags
|
|
if [ -n "$ZSH_VERSION" ]; then
|
|
# zsh syntax
|
|
livestreamer "$url" "$@" -p mpv $=LIVESTREAMER_FLAGS -a \
|
|
"$REPLY {filename}"
|
|
else
|
|
# bash syntax
|
|
livestreamer "$url" "$@" -p mpv $LIVESTREAMER_FLAGS -a \
|
|
"$REPLY {filename}"
|
|
fi
|
|
popd >/dev/null
|
|
}
|
|
|
|
alias watchstream=watchstream1
|
|
|
|
twitch() {
|
|
local user="$1"
|
|
shift
|
|
watchstream "http://twitch.tv/$user" "$@"
|
|
}
|
|
|
|
hitbox() {
|
|
local user="$1"
|
|
shift
|
|
watchstream "http://hitbox.tv/$user" "$@"
|
|
}
|
|
|
|
yt() {
|
|
pushd ~/play >/dev/null
|
|
local vid="$1"
|
|
# can't be bothered to use substrings since they differ across bash/zsh
|
|
if [[ "$(head -c4 <<< "$vid")" != "http" ]]; then
|
|
vid="https://www.youtube.com/watch?v=$vid"
|
|
fi
|
|
mpv --af=lavfi="[$_M_PROCESS]" \
|
|
--audio-samplerate=44100 --audio-format=s16 \
|
|
--ytdl-format=22,best "$@" "$vid"
|
|
popd >/dev/null
|
|
}
|
|
|
|
_nn=
|