diff options
| -rw-r--r-- | lass/5pkgs/default.nix | 1 | ||||
| -rw-r--r-- | lass/5pkgs/mpv-poll/default.nix | 40 | 
2 files changed, 41 insertions, 0 deletions
diff --git a/lass/5pkgs/default.nix b/lass/5pkgs/default.nix index 37b61a4bf..0c9dd94ca 100644 --- a/lass/5pkgs/default.nix +++ b/lass/5pkgs/default.nix @@ -8,6 +8,7 @@        ublock = pkgs.callPackage ./firefoxPlugins/ublock.nix {};        vimperator = pkgs.callPackage ./firefoxPlugins/vimperator.nix {};      }; +    mpv-poll = pkgs.callPackage ./mpv-poll/default.nix {};      xmonad-lass =        let src = pkgs.writeNixFromCabal "xmonad-lass.nix" ./xmonad-lass; in        pkgs.haskellPackages.callPackage src {}; diff --git a/lass/5pkgs/mpv-poll/default.nix b/lass/5pkgs/mpv-poll/default.nix new file mode 100644 index 000000000..ee191843e --- /dev/null +++ b/lass/5pkgs/mpv-poll/default.nix @@ -0,0 +1,40 @@ +{ pkgs, ... }: + +pkgs.writeScriptBin "mpv-poll" '' +  #! ${pkgs.bash}/bin/bash + +  pl=$1 +  hist=''${HISTORY:-"./mpv_history"} +  mpv_options=''${MPV_OPTIONS:-""} + +  lastYT="" + +  play_video () { +    toPlay=$1 +    echo $toPlay >> $hist +    mpv $mpv_options $toPlay +  } + +  if ! [ -e $hist ]; then +    touch $hist +  fi + +  while : +  do +    if [ -s $pl ]; then +      toPlay=$(head -1 $pl) +      sed -i '1d' $pl +      if $(echo $toPlay | grep -Eq 'https?://(www.)?youtube.com/watch'); then +        lastYT=$toPlay +      fi +      play_video $toPlay +    else +      if [ -n "$lastYT" ]; then +        next=$(yt-next $lastYT) +        lastYT=$next +        play_video $next +      fi +      sleep 1 +    fi +  done +''  | 
