|
|
vtv-player - vtv-tools - virtual terminal video tools |
|
|
 |
git clone git://bitreich.org/vtv-tools git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/vtv-tools (git://bitreich.org) |
|
|
 |
Log |
|
|
 |
Files |
|
|
 |
Refs |
|
|
 |
Tags |
|
|
 |
README |
|
|
 |
LICENSE |
|
|
|
--- |
|
|
|
vtv-player (674B) |
|
|
|
--- |
|
|
|
1 #!/bin/sh |
|
|
|
2 # |
|
|
|
3 # Play a single vtv file in an infinite loop. |
|
|
|
4 # |
|
|
|
5 # Copyright 2023 Troels Henriksen <athas@sigkill.dk> |
|
|
|
6 # |
|
|
|
7 # See LICENSE file for licensing information. |
|
|
|
8 |
|
|
|
9 trap 'clear; tput reset; exit 0' SIGINT |
|
|
|
10 |
|
|
|
11 fps=20 |
|
|
|
12 |
|
|
|
13 if [ "$1" = "-r" ]; then |
|
|
|
14 fps=$2 |
|
|
|
15 shift; shift; |
|
|
|
16 fi |
|
|
|
17 |
|
|
|
18 if [ $# -ne 1 ]; then |
|
|
|
19 echo "Usage: $0 FILE" >&2 |
|
|
|
20 exit 1 |
|
|
|
21 fi |
|
|
|
22 |
|
|
|
23 vtv="$1" |
|
|
|
24 frametime=$(echo "scale =2; 1 / $fps" | bc) |
|
|
|
25 framelines=25 |
|
|
|
26 |
|
|
|
27 tput civis |
|
|
|
28 clear |
|
|
|
29 i=0 |
|
|
|
30 nframes=$(echo "$(wc -l < "${vtv}")" / "$framelines" | bc) |
|
|
|
31 while true; do |
|
|
|
32 tput cup 0 0 |
|
|
|
33 tail -n +$(echo "(1+${i} % ${nframes} * ${framelines})" | bc) "$vtv" | head -n $framelines |
|
|
|
34 i=$(($i + 1)) |
|
|
|
35 |
|
|
|
36 userinput="" |
|
|
|
37 sleep $frametime |
|
|
|
38 done |
|
|
|
39 |
|