mirror of
https://github.com/Ponce/slackbuilds
synced 2024-11-04 20:29:09 +01:00
multimedia/straw-viewer: Updated for version 0.0.3+20200516_820ebc7.
Signed-off-by: B. Watson <yalhcru@gmail.com> Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
This commit is contained in:
parent
768d7de53e
commit
16027fe8c5
4 changed files with 131 additions and 17 deletions
|
@ -1,7 +1,7 @@
|
|||
straw-viewer (search and stream videos from youtube)
|
||||
|
||||
straw-viewer is a lightweight application for searching and streaming
|
||||
videos from YouTube, using the API of invidio.us. The project is in its
|
||||
videos from YouTube, using the API of invidio.us[2]. The project is in its
|
||||
early development stages and some features are not implemented yet.
|
||||
|
||||
straw-viewer is a fork of youtube-viewer that does not require a Google
|
||||
|
@ -9,8 +9,9 @@ API key. Usage and user interface are identical to youtube-viewer.
|
|||
|
||||
For playing videos, this uses mplayer, vlc, or mpv. However, the mplayer
|
||||
that ships with Slackware 14.2 has some issues with straw-viewer (or
|
||||
actually with youtube: the audio stream cuts out randomly). Using vlc
|
||||
or mpv is highly recommended.
|
||||
actually with youtube: the audio stream cuts out randomly, and can be
|
||||
fixed by pressing the left arrow usually). Using vlc or mpv is highly
|
||||
recommended.
|
||||
|
||||
Optional dependencies:
|
||||
|
||||
|
@ -27,17 +28,24 @@ Counting optional ones, straw-viewer has over 40 dependencies. To make
|
|||
life easier, there's a "straw-viewer.sqf" queue file included with this
|
||||
build, which includes everything listed above.
|
||||
|
||||
[1] A small caveat about youtube-dl: straw-viewer works without it,
|
||||
though occasionally it'll choose a lower quality than is available
|
||||
for some videos. However, if youtube-dl is present but outdated,
|
||||
straw-viewer will fail to play videos at all! If you suspect this,
|
||||
remove youtube-dl and try without it.
|
||||
|
||||
This build always includes the command-line client (straw-viewer). For the
|
||||
GTK client (gtk-straw-viewer), install perl-Gtk3 and perl-File-ShareDir
|
||||
GTK client (gtk-straw-viewer[3]), install perl-Gtk3 and perl-File-ShareDir
|
||||
before running this script. If you have them installed but don't want
|
||||
gtk-straw-viewer, you can set GTK=no in the script's environment.
|
||||
|
||||
To force gtk-straw-viewer to use your preferred terminal for downloading
|
||||
with wget and watching in a terminal, set TERMINAL in the script's
|
||||
environment (e.g. TERMINAL="xterm" or TERMINAL="urxvt").
|
||||
Notes:
|
||||
|
||||
[1] A small caveat about youtube-dl: straw-viewer works without it,
|
||||
though occasionally it'll choose a lower quality than is available
|
||||
for some videos. However, if youtube-dl is present but outdated,
|
||||
straw-viewer will fail to play videos at all! If you suspect this,
|
||||
remove youtube-dl and try without it.
|
||||
|
||||
[2] The default API host is https://invidio.us. If straw-viewer gives "Bad
|
||||
gateway" or "Too many requests" errors, try changing the api_host in
|
||||
~/.config/straw-viewer/straw-viewer.conf or via the --api-host option.
|
||||
A list of API hosts can be found at: https://instances.invidio.us/
|
||||
|
||||
[3] To force gtk-straw-viewer to use your preferred terminal for downloading
|
||||
with wget and watching in a terminal, set TERMINAL in the script's
|
||||
environment (e.g. TERMINAL="xterm" or TERMINAL="urxvt").
|
||||
|
|
95
multimedia/straw-viewer/restore_mplayer.diff
Normal file
95
multimedia/straw-viewer/restore_mplayer.diff
Normal file
|
@ -0,0 +1,95 @@
|
|||
diff --git a/bin/gtk-straw-viewer b/bin/gtk-straw-viewer
|
||||
index c6c17dd..9bd9bd8 100755
|
||||
--- a/bin/gtk-straw-viewer
|
||||
+++ b/bin/gtk-straw-viewer
|
||||
@@ -161,6 +161,13 @@ my %CONFIG = (
|
||||
fs => q{--fullscreen},
|
||||
arg => q{--really-quiet --title=*TITLE* --no-ytdl},
|
||||
},
|
||||
+ mplayer => {
|
||||
+ cmd => q{mplayer},
|
||||
+ srt => q{-sub *SUB*},
|
||||
+ audio => q{-audiofile *AUDIO*},
|
||||
+ fs => q{-fs},
|
||||
+ arg => q{-prefer-ipv4 -really-quiet -title *TITLE*},
|
||||
+ },
|
||||
smplayer => {
|
||||
cmd => q{smplayer},
|
||||
srt => q{-sub *SUB*},
|
||||
@@ -3042,9 +3049,8 @@ sub get_player_command {
|
||||
my ($streaming, $video) = @_;
|
||||
|
||||
my %MPLAYER;
|
||||
-
|
||||
- $MPLAYER{fullscreen} = $CONFIG{fullscreen} ? $CONFIG{video_players}{$CONFIG{video_player_selected}}{fs} : q{};
|
||||
- $MPLAYER{arguments} = $CONFIG{video_players}{$CONFIG{video_player_selected}}{arg} // q{};
|
||||
+ $MPLAYER{fullscreen} = $CONFIG{fullscreen} ? $CONFIG{video_players}{$CONFIG{video_player_selected}}{fs} : q{};
|
||||
+ $MPLAYER{mplayer_arguments} = $CONFIG{video_players}{$CONFIG{video_player_selected}}{arg} // q{};
|
||||
|
||||
my $cmd = join(
|
||||
q{ },
|
||||
diff --git a/bin/straw-viewer b/bin/straw-viewer
|
||||
index 9292f7e..5e4d5b2 100755
|
||||
--- a/bin/straw-viewer
|
||||
+++ b/bin/straw-viewer
|
||||
@@ -19,7 +19,7 @@
|
||||
# https://github.com/trizen/straw-viewer
|
||||
#-------------------------------------------------------
|
||||
|
||||
-# straw-viewer is a command line utility for streaming YouTube videos in mpv/vlc.
|
||||
+# straw-viewer is a command line utility for streaming YouTube videos in mpv/vlc/mplayer.
|
||||
|
||||
# This is a fork of youtube-viewer:
|
||||
# https://github.com/trizen/youtube-viewer
|
||||
@@ -167,11 +167,19 @@ my %CONFIG = (
|
||||
arg => q{--really-quiet --title=*TITLE* --no-ytdl},
|
||||
novideo => q{--no-video},
|
||||
},
|
||||
+ mplayer => {
|
||||
+ cmd => q{mplayer},
|
||||
+ srt => q{-sub *SUB*},
|
||||
+ audio => q{-audiofile *AUDIO*},
|
||||
+ fs => q{-fs},
|
||||
+ arg => q{-prefer-ipv4 -really-quiet -title *TITLE*},
|
||||
+ novideo => q{-novideo},
|
||||
+ },
|
||||
},
|
||||
|
||||
video_player_selected => (
|
||||
$constant{win32}
|
||||
- ? 'vlc'
|
||||
+ ? 'mplayer'
|
||||
: undef # auto-defined
|
||||
),
|
||||
|
||||
@@ -1769,6 +1777,21 @@ sub apply_input_arguments {
|
||||
return 1;
|
||||
}
|
||||
|
||||
+# Get mplayer
|
||||
+sub get_mplayer {
|
||||
+ if ($constant{win32}) {
|
||||
+ my $smplayer = catfile($ENV{ProgramFiles}, qw(SMPlayer mplayer mplayer.exe));
|
||||
+
|
||||
+ if (not -e $smplayer) {
|
||||
+ warn "\n\n!!! Please install SMPlayer in order to stream YouTube videos.\n\n";
|
||||
+ }
|
||||
+
|
||||
+ return $smplayer; # Windows MPlayer
|
||||
+ }
|
||||
+
|
||||
+ return 'mplayer'; # *NIX MPlayer
|
||||
+}
|
||||
+
|
||||
# Get term width
|
||||
sub get_term_width {
|
||||
return $term_width if $constant{win32};
|
||||
@@ -3319,7 +3342,7 @@ sub get_player_command {
|
||||
|
||||
$MPLAYER{fullscreen} = $opt{fullscreen} ? $opt{video_players}{$opt{video_player_selected}}{fs} // '' : q{};
|
||||
$MPLAYER{novideo} = $opt{novideo} ? $opt{video_players}{$opt{video_player_selected}}{novideo} // '' : q{};
|
||||
- $MPLAYER{arguments} = $opt{video_players}{$opt{video_player_selected}}{arg} // q{};
|
||||
+ $MPLAYER{mplayer_arguments} = $opt{video_players}{$opt{video_player_selected}}{arg} // q{};
|
||||
|
||||
my $cmd = join(
|
||||
q{ },
|
|
@ -6,6 +6,11 @@
|
|||
|
||||
# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
|
||||
|
||||
# 20200525 bkw:
|
||||
# - update to latest git.
|
||||
# - add patch to re-enable mplayer.
|
||||
# - add note in README about new --api-host option.
|
||||
|
||||
# 20200310 bkw: update to not-quite-latest git. Next commit after 9089523
|
||||
# removes mplayer support, which kinda sucks for Slackware users since
|
||||
# mplayer ships with the OS (but mpv and vlc don't). My next update will
|
||||
|
@ -17,7 +22,7 @@
|
|||
# issues that have been fixed.
|
||||
|
||||
PRGNAM=straw-viewer
|
||||
VERSION=${VERSION:-0.0.2+20200307_9089523}
|
||||
VERSION=${VERSION:-0.0.3+20200516_820ebc7}
|
||||
BUILD=${BUILD:-1}
|
||||
TAG=${TAG:-_SBo}
|
||||
|
||||
|
@ -76,6 +81,12 @@ esac
|
|||
|
||||
echo "=== GTK=$GTK BUILD_GTK=$BUILD_GTK GTKOPT=$GTKOPT"
|
||||
|
||||
# 20200525 bkw: Upstream removed mplayer support because it's flaky.
|
||||
# That's as may be, but mplayer is included in core Slackware and the
|
||||
# other players aren't. So we'll give the user the option to at least
|
||||
# try it. Patch made with: git diff 9c9bbdf4..9089523
|
||||
patch -p1 < $CWD/restore_mplayer.diff
|
||||
|
||||
# 20200228 bkw: upstream claims gtk+3-3.20 is required, but everything
|
||||
# actually works fine with 14.2's 3.18. So:
|
||||
sed -i 's,"3.20","3.18",' share/gtk-$PRGNAM.glade
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
PRGNAM="straw-viewer"
|
||||
VERSION="0.0.2+20200307_9089523"
|
||||
VERSION="0.0.3+20200516_820ebc7"
|
||||
HOMEPAGE="https://github.com/trizen/straw-viewer/"
|
||||
DOWNLOAD="http://urchlay.naptime.net/~urchlay/src/straw-viewer-0.0.2+20200307_9089523.tar.xz"
|
||||
MD5SUM="60675a74c96dd9d7fa0f1096f32977c5"
|
||||
DOWNLOAD="http://urchlay.naptime.net/~urchlay/src/straw-viewer-0.0.3+20200516_820ebc7.tar.xz"
|
||||
MD5SUM="c626d1adc40db23d8517ccdc98d81596"
|
||||
DOWNLOAD_x86_64=""
|
||||
MD5SUM_x86_64=""
|
||||
REQUIRES="perl-data-dump perl-LWP-Protocol-https perl-JSON perl-Module-Build perl-List-MoreUtils"
|
||||
|
|
Loading…
Reference in a new issue