#!/bin/zsh # awful things MPV_STREAM_FLAGS="--quiet --autofit=1280x720 --loop-playlist=no --no-resume-playback --no-sub \ --no-initial-audio-sync --mc=0.02 --autosync=30 \ --cache-secs=10 --cache-initial=1024 --cache-pause --cache-backbuffer=0 --cache-seek-min=2048" _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_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_level _M_LEVEL="$REPLY" _nn="$(uname -n | tr A-Z a-z)" earphones() { _M_PROCESS="lowpass=8000:p=1,$_M_KILL,alimiter=level_out=0.707" } if [[ "$_nn" == "spectre" ]]; then _M_PROCESS="$_M_KILL,alimiter=level_out=0.7071" fi if [[ "$_nn" == "neobanshee" ]]; then speakers() { _M_PROCESS="highpass=311,$_M_KILL,\ equalizer=700:o:1.3:-5,\ equalizer=1200:o:1.3:-3,\ equalizer=1090:o:0.5:-5,\ equalizer=970:o:1.2:-10,\ equalizer=4100:o:0.3:-6,\ alimiter=level_in=2" } speakers fi if [[ "$_nn" == "banshee" ]]; then getladspa crap_eq_const_T420 _M_SPEAKERS="$REPLY" speakers() { _M_PROCESS="$_M_LEVEL,$_M_SPEAKERS,alimiter=level_in=0.5" } speakers fi _mpv_flags() { REPLY="$MPV_STREAM_FLAGS --af=lavfi=[$_M_PROCESS]" } watchstream() { pushd ~/play >/dev/null local url="$1" shift _mpv_flags if [ -n "$ZSH_VERSION" ]; then # zsh syntax mpv $=REPLY "$@" "$url" else # bash syntax mpv $REPLY "$@" "$url" fi popd >/dev/null } 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="ytdl://$vid" fi mpv --af=lavfi="[$_M_PROCESS]" \ --audio-samplerate=44100 --audio-format=s16 \ --ytdl-format=22,best "$@" "$vid" popd >/dev/null } ytg() { yt "$@" --ytdl-format=95,best } ai() { # hai domo yt "$@" --slang=en --sub-font='Tekton Pro' --sub-bold=yes \ --sub-font-size=60 --sub-border-color='#DD6180' --sub-margin-y=52 } _nn=