From 832f6f7b28c3f8f4e9cec4f598937bfa8f2ee379 Mon Sep 17 00:00:00 2001 From: Rendevior <93582751+Rendevior@users.noreply.github.com> Date: Thu, 6 Mar 2025 11:15:40 +0900 Subject: [PATCH 1/7] feat: `mpvkt` support + selection of player instead of fallbacks --- mpv | 58 ++++++++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 42 insertions(+), 16 deletions(-) diff --git a/mpv b/mpv index bada7eb..280f4e7 100644 --- a/mpv +++ b/mpv @@ -8,6 +8,7 @@ VERSION="v0.1.8" app_readable_dir="/storage/emulated/0/mpv" app_readable_file="${app_readable_dir}/mpv.tmp.mp4" # mp4 extension to bypass restriction for multimedia only permission +player="default" [ ! -t 0 ] && stdinurl="$(awk '{print $0}')" # Input Colors @@ -48,11 +49,12 @@ show_help(){ ${0##*/} -v | -h | -l Options: - -v Print Version and Exit - -q Only output errors - -lc Use http server (for local termux files) - -h Print Help - -l Dump Log in stdout (default: disabled) + -v Print Version and Exit + -q Only output errors + -lc Use http server (for local termux files) + -p=[player] Specify player (mpvkt, mpvytdl, default) + -h Print Help + -l Dump Log in stdout (default: disabled) Use "-" to receive url from stdin. "--http-header-fields" headers was delimited using "|". @@ -67,7 +69,7 @@ mainstripper(){ printf '%s\n' "${@}" | \ sed -E 's_---__g s_--__g' | \ - sed -E "/^(file:\/\/|http:\/\/|https:\/\/|ytdl:\/\/|smb:\/\/|bd:\/\/)|^-$|^-(h|v|l|q|lc)$/d + sed -E "/^(file:\/\/|http:\/\/|https:\/\/|ytdl:\/\/|smb:\/\/|bd:\/\/)|^-$|^-(h|v|l|q|lc|p=(mpvkt|mpvytdl|default))$/d s_\x27__g s_\x22__g /.*=/ { @@ -126,40 +128,64 @@ start_mpv(){ set -- "http://0.0.0.0:${random_port}" trap "kill_jobs ; exit 0" INT HUP fi - # set mpv+ytdl as fallback # set delay to start activity first before clearing the temp file - if am start --user current -R 2 -a android.intent.action.VIEW -d "${1}" -n 'is.xyz.mpv/.MPVActivity' >/dev/null 2>&1; then - (sleep 5 && : > "${app_readable_file}") & + + case "${player}" in + mpvkt) + am start --user current -R 2 -a android.intent.action.VIEW -d "${1}" -t video/any -p 'live.mehiz.mpvkt' >/dev/null 2>&1 + xcode_mpv="$?" + ;; + mpvytdl) + am start --user current -R 2 -a android.intent.action.VIEW -d "${1}" -n 'is.xyz.mpv.ytdl/is.xyz.mpv.MPVActivity' >/dev/null 2>&1 + xcode_mpv="$?" + ;; + default) + am start --user current -R 2 -a android.intent.action.VIEW -d "${1}" -n 'is.xyz.mpv/.MPVActivity' >/dev/null 2>&1 + xcode_mpv="$?" + ;; + *) + err "Exception: Invalid player" + ;; + esac + if [ "${xcode_mpv}" = 0 ]; then + (sleep 10 && : > "${app_readable_file}") & else - if am start --user current -R 2 -a android.intent.action.VIEW -d "${1}" -n 'is.xyz.mpv.ytdl/is.xyz.mpv.MPVActivity' >/dev/null 2>&1; then - (sleep 5 && : > "${app_readable_file}") & - else - err "Exception: Failed to launch due to restrictions. Or the MPV android isn\'t installed." - fi + err "Exception: Failed to launch due to restrictions. Or the MPV android isn\'t installed." fi [ "${quiet}" = "1" ] || suc "Video Successfully Launched!" } arg_parser(){ - for arg; do - case "${arg}" in + while [ "${#}" -gt 0 ]; do + case "${1}" in -v) printf '%s\n' "Version: ${VERSION}" exit 0 ;; -q) quiet=1 + shift 1 ;; -lc) lc_use=1 + shift 1 ;; -h) show_help exit 0 ;; + -p=mpvkt|-p=mpvytdl|-p=default) + player="${1#*=}" + [ "${player}" = "mpvkt" ] && app_readable_file="/storage/emulated/0/mpv/mpv.conf" + shift 1 + ;; -l) show_log="true" + shift 1 ;; + *) + shift 1 + ;; esac done } From ef7bf858e571c3c4be74deba958446caa25504db Mon Sep 17 00:00:00 2001 From: Rendevior <93582751+Rendevior@users.noreply.github.com> Date: Thu, 6 Mar 2025 11:21:30 +0900 Subject: [PATCH 2/7] docs: mpvkt specification --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 36553cf..86d6eca 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,8 @@ chmod +x "$PREFIX/bin/mpv" - Advanced - Edit mpv.conf - And insert this `include="/storage/emulated/0/mpv/mpv.tmp.mp4"` +> [!NOTE] +> When setting up on `mpvkt` you must add `/storage/emulated/0/mpv` on `pick mpv configuration storage location` - Click "Save" # How to Run Thats it: From fc2f5e4aea69c9d1d1c8473da178df653aab7564 Mon Sep 17 00:00:00 2001 From: Rendevior <93582751+Rendevior@users.noreply.github.com> Date: Thu, 6 Mar 2025 11:52:40 +0900 Subject: [PATCH 3/7] fix (mpvkt): overwriting current user-defined config --- mpv | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/mpv b/mpv index 280f4e7..16141a0 100644 --- a/mpv +++ b/mpv @@ -66,6 +66,7 @@ show_help(){ # main mainstripper(){ + printf '\n\n%s\n' "# wrapper options temporarily applied:" printf '%s\n' "${@}" | \ sed -E 's_---__g s_--__g' | \ @@ -148,7 +149,14 @@ start_mpv(){ ;; esac if [ "${xcode_mpv}" = 0 ]; then - (sleep 10 && : > "${app_readable_file}") & + ( + sleep 5 + if [ "${player}" = "mpvkt" ]; then + mv "${app_readable_file}".bak "${app_readable_file}" + else + : > "${app_readable_file}" + fi + ) & else err "Exception: Failed to launch due to restrictions. Or the MPV android isn\'t installed." fi @@ -176,7 +184,11 @@ arg_parser(){ ;; -p=mpvkt|-p=mpvytdl|-p=default) player="${1#*=}" - [ "${player}" = "mpvkt" ] && app_readable_file="/storage/emulated/0/mpv/mpv.conf" + if [ "${player}" = "mpvkt" ]; then + app_readable_file="/storage/emulated/0/mpv/mpv.conf" + # backup user current mpv config + cp "${app_readable_file}" "${app_readable_file}".bak + fi shift 1 ;; -l) @@ -191,7 +203,7 @@ arg_parser(){ } arg_parser "${@}" -mainstripper "${@}" "--log-file=${app_readable_dir}/var.log" > "${app_readable_file}" +mainstripper "${@}" "--log-file=${app_readable_dir}/var.log" >> "${app_readable_file}" start_mpv "${@}" if [ "${show_log}" = "true" ]; then inter_loop From 3dc91a073389c971bfb4327526dd1f5bef79eea8 Mon Sep 17 00:00:00 2001 From: Rendevior <93582751+Rendevior@users.noreply.github.com> Date: Thu, 6 Mar 2025 12:04:37 +0900 Subject: [PATCH 4/7] style: appraise the linter --- mpv | 286 ++++++++++++++++++++++++++++++------------------------------ 1 file changed, 143 insertions(+), 143 deletions(-) diff --git a/mpv b/mpv index 16141a0..b5b92f4 100644 --- a/mpv +++ b/mpv @@ -7,41 +7,41 @@ VERSION="v0.1.8" app_readable_dir="/storage/emulated/0/mpv" -app_readable_file="${app_readable_dir}/mpv.tmp.mp4" # mp4 extension to bypass restriction for multimedia only permission +app_readable_file="${app_readable_dir}/mpv.tmp.mp4" # mp4 extension to bypass restriction for multimedia only permission player="default" [ ! -t 0 ] && stdinurl="$(awk '{print $0}')" # Input Colors err(){ - printf "\033[38;5;1m%b\033[0m\n" "${1}" >&2 - exit 1 + printf "\033[38;5;1m%b\033[0m\n" "${1}" >&2 + exit 1 } suc(){ - printf "\033[38;5;2m%b\033[0m\n" "${1}" + printf "\033[38;5;2m%b\033[0m\n" "${1}" } kill_jobs(){ - kill "${lc_pid}" >/dev/null 2>&1 || true - kill "${tail_pid}" >/dev/null 2>&1 || true - if [ -n "$(jobs -p)" ]; then - jobs -p | while read -r jobs; do - kill "${jobs}" >/dev/null 2>&1 || true - done - fi + kill "${lc_pid}" >/dev/null 2>&1 || true + kill "${tail_pid}" >/dev/null 2>&1 || true + if [ -n "$(jobs -p)" ]; then + jobs -p | while read -r jobs; do + kill "${jobs}" >/dev/null 2>&1 || true + done + fi } if [ -w "${app_readable_dir%*/mpv}" ]; then - [ -d "${app_readable_dir}" ] || mkdir "${app_readable_dir}" - [ -e "${app_readable_dir}/var.log" ] && : > "${app_readable_dir}/var.log" + [ -d "${app_readable_dir}" ] || mkdir "${app_readable_dir}" + [ -e "${app_readable_dir}/var.log" ] && : > "${app_readable_dir}/var.log" else - err "Exception: \"${app_readable_dir%*/mpv}\" is unwritable, make sure you have storage permission" + err "Exception: \"${app_readable_dir%*/mpv}\" is unwritable, make sure you have storage permission" fi show_help(){ - while IFS= read -r line; do - printf "%b\n" "${line}" - done <<-EOF + while IFS= read -r line; do + printf "%b\n" "${line}" + done <<-EOF Program that lets you pass argument to mpv-android. Usage: @@ -67,146 +67,146 @@ show_help(){ # main mainstripper(){ printf '\n\n%s\n' "# wrapper options temporarily applied:" - printf '%s\n' "${@}" | \ - sed -E 's_---__g - s_--__g' | \ - sed -E "/^(file:\/\/|http:\/\/|https:\/\/|ytdl:\/\/|smb:\/\/|bd:\/\/)|^-$|^-(h|v|l|q|lc|p=(mpvkt|mpvytdl|default))$/d - s_\x27__g - s_\x22__g - /.*=/ { - s_(=)(.*)_\1\x22\2\x22_ - s_[[:space:]]\x22\$_\x22_g - } - /msg-level/ { - s_\x22__g - } - /http-header/ { - s_\x22__g - s_(=)(.*)_\1\x27\2\x27_ - s_\|_\x27, \x27_g - } - s_[[:space:]]\$__g - s_\x27[[:space:]]_\x27_g" + printf '%s\n' "${@}" | \ + sed -E 's_---__g + s_--__g' | \ + sed -E "/^(file:\/\/|http:\/\/|https:\/\/|ytdl:\/\/|smb:\/\/|bd:\/\/)|^-$|^-(h|v|l|q|lc|p=(mpvkt|mpvytdl|default))$/d + s_\x27__g + s_\x22__g + /.*=/ { + s_(=)(.*)_\1\x22\2\x22_ + s_[[:space:]]\x22\$_\x22_g + } + /msg-level/ { + s_\x22__g + } + /http-header/ { + s_\x22__g + s_(=)(.*)_\1\x27\2\x27_ + s_\|_\x27, \x27_g + } + s_[[:space:]]\$__g + s_\x27[[:space:]]_\x27_g" } inter_loop(){ - tail -f "${app_readable_dir}/var.log" 2>/dev/null | grep -a --line-buffer -v "vo/gpu/opengl" & - tail_pid="${!}" - trap "kill_jobs ; exit 0" INT HUP - while true; do - sleep 3 - grep -a -Pq '\[(main|cplayer)\] (Exiting.*|.*quit\,)|(EOF reached.)' "${app_readable_dir}/var.log" && { kill_jobs ; exit 0 ;} - done + tail -f "${app_readable_dir}/var.log" 2>/dev/null | grep -a --line-buffer -v "vo/gpu/opengl" & + tail_pid="${!}" + trap "kill_jobs ; exit 0" INT HUP + while true; do + sleep 3 + grep -a -Pq '\[(main|cplayer)\] (Exiting.*|.*quit\,)|(EOF reached.)' "${app_readable_dir}/var.log" && { kill_jobs ; exit 0 ;} + done } start_mpv(){ - for iter; do - if printf '%s' "${iter}" | grep -qEo "^(file://|http://|https://|ytdl://|smb://|bd://)[^'\"<>]*|^-$"; then - [ "${iter}" = "-" ] && set -- "${stdinurl}" && break - set -- "${iter}" && break - fi - done - [ -z "${1}" ] && err 'Exception: No Video URL provided' - printf '%s' "${1}" | grep -qEo "^(file://|http://|https://|ytdl://|smb://|bd://)[^'\"<>]*|^-$" || err "Invalid type of URL" - if printf '%s' "${1}" | grep -qEo "file://[^'\"<>]*"; then - if printf '%s' "${1#file://}" | grep -qE '~'; then - path_file=~/"${1#*~/}" - path_file="$(realpath -q "${path_file#file://}")" - else - path_file="$(realpath -q "${1#file://}")" - fi - [ -e "${path_file}" ] || err "mpv: ${path_file#file://}: No such file or directory" - set -- "file://${path_file}" - fi - if [ "${lc_use}" = "1" ] && printf '%s' "${1}" | grep -qEo "file://[^'\"<>]*"; then - command -v "darkhttpd" >/dev/null || err "Install darkhttpd first!" - random_port="$(awk -v lh="3000" -v rh="7000" 'BEGIN{srand(); print int(lh+rand()*(rh-lh+1))}')" - dir_file="${1#file://}" dir_file="${dir_file%/*}" - name_file="${1##*/}" - darkhttpd "${dir_file}" --index "${name_file}" --port "${random_port}" >/dev/null 2>&1 & - lc_pid="${!}" - [ "${quiet}" = "1" ] || suc 'press "CTRL + C" to quit' - set -- "http://0.0.0.0:${random_port}" - trap "kill_jobs ; exit 0" INT HUP - fi - # set delay to start activity first before clearing the temp file - - case "${player}" in - mpvkt) - am start --user current -R 2 -a android.intent.action.VIEW -d "${1}" -t video/any -p 'live.mehiz.mpvkt' >/dev/null 2>&1 - xcode_mpv="$?" - ;; - mpvytdl) - am start --user current -R 2 -a android.intent.action.VIEW -d "${1}" -n 'is.xyz.mpv.ytdl/is.xyz.mpv.MPVActivity' >/dev/null 2>&1 - xcode_mpv="$?" - ;; - default) - am start --user current -R 2 -a android.intent.action.VIEW -d "${1}" -n 'is.xyz.mpv/.MPVActivity' >/dev/null 2>&1 - xcode_mpv="$?" - ;; - *) - err "Exception: Invalid player" - ;; - esac - if [ "${xcode_mpv}" = 0 ]; then - ( - sleep 5 - if [ "${player}" = "mpvkt" ]; then - mv "${app_readable_file}".bak "${app_readable_file}" - else - : > "${app_readable_file}" - fi - ) & - else - err "Exception: Failed to launch due to restrictions. Or the MPV android isn\'t installed." - fi - [ "${quiet}" = "1" ] || suc "Video Successfully Launched!" + for iter; do + if printf '%s' "${iter}" | grep -qEo "^(file://|http://|https://|ytdl://|smb://|bd://)[^'\"<>]*|^-$"; then + [ "${iter}" = "-" ] && set -- "${stdinurl}" && break + set -- "${iter}" && break + fi + done + [ -z "${1}" ] && err 'Exception: No Video URL provided' + printf '%s' "${1}" | grep -qEo "^(file://|http://|https://|ytdl://|smb://|bd://)[^'\"<>]*|^-$" || err "Invalid type of URL" + if printf '%s' "${1}" | grep -qEo "file://[^'\"<>]*"; then + if printf '%s' "${1#file://}" | grep -qE '~'; then + path_file=~/"${1#*~/}" + path_file="$(realpath -q "${path_file#file://}")" + else + path_file="$(realpath -q "${1#file://}")" + fi + [ -e "${path_file}" ] || err "mpv: ${path_file#file://}: No such file or directory" + set -- "file://${path_file}" + fi + if [ "${lc_use}" = "1" ] && printf '%s' "${1}" | grep -qEo "file://[^'\"<>]*"; then + command -v "darkhttpd" >/dev/null || err "Install darkhttpd first!" + random_port="$(awk -v lh="3000" -v rh="7000" 'BEGIN{srand(); print int(lh+rand()*(rh-lh+1))}')" + dir_file="${1#file://}" dir_file="${dir_file%/*}" + name_file="${1##*/}" + darkhttpd "${dir_file}" --index "${name_file}" --port "${random_port}" >/dev/null 2>&1 & + lc_pid="${!}" + [ "${quiet}" = "1" ] || suc 'press "CTRL + C" to quit' + set -- "http://0.0.0.0:${random_port}" + trap "kill_jobs ; exit 0" INT HUP + fi + # set delay to start activity first before clearing the temp file + + case "${player}" in + mpvkt) + am start --user current -R 2 -a android.intent.action.VIEW -d "${1}" -t video/any -p 'live.mehiz.mpvkt' >/dev/null 2>&1 + xcode_mpv="$?" + ;; + mpvytdl) + am start --user current -R 2 -a android.intent.action.VIEW -d "${1}" -n 'is.xyz.mpv.ytdl/is.xyz.mpv.MPVActivity' >/dev/null 2>&1 + xcode_mpv="$?" + ;; + default) + am start --user current -R 2 -a android.intent.action.VIEW -d "${1}" -n 'is.xyz.mpv/.MPVActivity' >/dev/null 2>&1 + xcode_mpv="$?" + ;; + *) + err "Exception: Invalid player" + ;; + esac + if [ "${xcode_mpv}" = 0 ]; then + ( + sleep 5 + if [ "${player}" = "mpvkt" ]; then + mv "${app_readable_file}".bak "${app_readable_file}" + else + : > "${app_readable_file}" + fi + ) & + else + err "Exception: Failed to launch due to restrictions. Or the MPV android isn\'t installed." + fi + [ "${quiet}" = "1" ] || suc "Video Successfully Launched!" } arg_parser(){ - while [ "${#}" -gt 0 ]; do - case "${1}" in - -v) - printf '%s\n' "Version: ${VERSION}" - exit 0 - ;; - -q) - quiet=1 - shift 1 - ;; - -lc) - lc_use=1 - shift 1 - ;; - -h) - show_help - exit 0 - ;; - -p=mpvkt|-p=mpvytdl|-p=default) - player="${1#*=}" - if [ "${player}" = "mpvkt" ]; then - app_readable_file="/storage/emulated/0/mpv/mpv.conf" - # backup user current mpv config - cp "${app_readable_file}" "${app_readable_file}".bak - fi - shift 1 - ;; - -l) - show_log="true" - shift 1 - ;; - *) - shift 1 - ;; - esac - done + while [ "${#}" -gt 0 ]; do + case "${1}" in + -v) + printf '%s\n' "Version: ${VERSION}" + exit 0 + ;; + -q) + quiet=1 + shift 1 + ;; + -lc) + lc_use=1 + shift 1 + ;; + -h) + show_help + exit 0 + ;; + -p=mpvkt|-p=mpvytdl|-p=default) + player="${1#*=}" + if [ "${player}" = "mpvkt" ]; then + app_readable_file="/storage/emulated/0/mpv/mpv.conf" + # backup user current mpv config + cp "${app_readable_file}" "${app_readable_file}".bak + fi + shift 1 + ;; + -l) + show_log="true" + shift 1 + ;; + *) + shift 1 + ;; + esac + done } arg_parser "${@}" mainstripper "${@}" "--log-file=${app_readable_dir}/var.log" >> "${app_readable_file}" start_mpv "${@}" if [ "${show_log}" = "true" ]; then - inter_loop + inter_loop else - [ -n "${lc_pid}" ] && wait "${lc_pid}" + [ -n "${lc_pid}" ] && wait "${lc_pid}" fi From 8d73fdc1e2db272f01e9fd15be367eb391c50201 Mon Sep 17 00:00:00 2001 From: Rendevior <93582751+Rendevior@users.noreply.github.com> Date: Thu, 6 Mar 2025 12:16:38 +0900 Subject: [PATCH 5/7] bump: version `0.1.8` -> `0.1.9` --- mpv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mpv b/mpv index b5b92f4..db2ca1c 100644 --- a/mpv +++ b/mpv @@ -4,7 +4,7 @@ # # Github: https://github.com/Rendevior/mpv-android-argparse -VERSION="v0.1.8" +VERSION="v0.1.9" app_readable_dir="/storage/emulated/0/mpv" app_readable_file="${app_readable_dir}/mpv.tmp.mp4" # mp4 extension to bypass restriction for multimedia only permission From 159fee83389e8b9fca5250137f7a6a4339ff2436 Mon Sep 17 00:00:00 2001 From: Rendevior <93582751+Rendevior@users.noreply.github.com> Date: Thu, 6 Mar 2025 21:15:20 +0900 Subject: [PATCH 6/7] fix (general): force exiting causing mpv config to append again --- mpv | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/mpv b/mpv index db2ca1c..f54911d 100644 --- a/mpv +++ b/mpv @@ -31,13 +31,6 @@ kill_jobs(){ fi } -if [ -w "${app_readable_dir%*/mpv}" ]; then - [ -d "${app_readable_dir}" ] || mkdir "${app_readable_dir}" - [ -e "${app_readable_dir}/var.log" ] && : > "${app_readable_dir}/var.log" -else - err "Exception: \"${app_readable_dir%*/mpv}\" is unwritable, make sure you have storage permission" -fi - show_help(){ while IFS= read -r line; do printf "%b\n" "${line}" @@ -202,6 +195,14 @@ arg_parser(){ done } +if [ -w "${app_readable_dir%*/mpv}" ]; then + [ -d "${app_readable_dir}" ] || mkdir "${app_readable_dir}" + [ -e "${app_readable_dir}/var.log" ] && : > "${app_readable_dir}/var.log" + [ -e "${app_readable_file}" ] && : > "${app_readable_file}" +else + err "Exception: \"${app_readable_dir%*/mpv}\" is unwritable, make sure you have storage permission" +fi + arg_parser "${@}" mainstripper "${@}" "--log-file=${app_readable_dir}/var.log" >> "${app_readable_file}" start_mpv "${@}" From 3b70e1f8fe5931a3c79fb73ab0b84254d6bc5eb6 Mon Sep 17 00:00:00 2001 From: SonaliBendre <73757361+SonaliBendre@users.noreply.github.com> Date: Thu, 6 Mar 2025 15:29:18 +0000 Subject: [PATCH 7/7] fix: mpvkt & feature: added mpvkt-preview (#12) --- mpv | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/mpv b/mpv index f54911d..d76ce33 100644 --- a/mpv +++ b/mpv @@ -45,7 +45,7 @@ show_help(){ -v Print Version and Exit -q Only output errors -lc Use http server (for local termux files) - -p=[player] Specify player (mpvkt, mpvytdl, default) + -p=[player] Specify player (mpvkt, mpvktpre, mpvytdl, default) -h Print Help -l Dump Log in stdout (default: disabled) @@ -63,7 +63,7 @@ mainstripper(){ printf '%s\n' "${@}" | \ sed -E 's_---__g s_--__g' | \ - sed -E "/^(file:\/\/|http:\/\/|https:\/\/|ytdl:\/\/|smb:\/\/|bd:\/\/)|^-$|^-(h|v|l|q|lc|p=(mpvkt|mpvytdl|default))$/d + sed -E "/^(file:\/\/|http:\/\/|https:\/\/|ytdl:\/\/|smb:\/\/|bd:\/\/)|^-$|^-(h|v|l|q|lc|p=(mpvkt|mpvktpre|mpvytdl|default))$/d s_\x27__g s_\x22__g /.*=/ { @@ -126,7 +126,11 @@ start_mpv(){ case "${player}" in mpvkt) - am start --user current -R 2 -a android.intent.action.VIEW -d "${1}" -t video/any -p 'live.mehiz.mpvkt' >/dev/null 2>&1 + am start --user current -R 2 -a android.intent.action.VIEW -d "${1}" -t video/any -n 'live.mehiz.mpvkt/.ui.player.PlayerActivity' >/dev/null 2>&1 + xcode_mpv="$?" + ;; + mpvktpre) + am start --user current -R 2 -a android.intent.action.VIEW -d "${1}" -t video/any -n 'live.mehiz.mpvkt.preview/live.mehiz.mpvkt.ui.player.PlayerActivity' >/dev/null 2>&1 xcode_mpv="$?" ;; mpvytdl) @@ -144,7 +148,7 @@ start_mpv(){ if [ "${xcode_mpv}" = 0 ]; then ( sleep 5 - if [ "${player}" = "mpvkt" ]; then + if [ "${player}" = "mpvkt" ] || [ "${player}" = "mpvktpre" ]; then mv "${app_readable_file}".bak "${app_readable_file}" else : > "${app_readable_file}" @@ -175,9 +179,9 @@ arg_parser(){ show_help exit 0 ;; - -p=mpvkt|-p=mpvytdl|-p=default) + -p=mpvkt|-p=mpvktpre|-p=mpvytdl|-p=default) player="${1#*=}" - if [ "${player}" = "mpvkt" ]; then + if [ "${player}" = "mpvkt" ] || [ "${player}" = "mpvktpre" ]; then app_readable_file="/storage/emulated/0/mpv/mpv.conf" # backup user current mpv config cp "${app_readable_file}" "${app_readable_file}".bak