#!/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_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_KILL,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() { 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 } if [[ "$_nn" == "banshee" ]]; then alias watchstream=watchstream2 else alias watchstream=watchstream1 fi twitch() { local user="$1" shift watchstream "http://twitch.tv/$user" "$@" } hitbox() { local user="$1" shift watchstream "http://hitbox.tv/$user" "$@" } _nn=