From d35a5a4b985855566ef39f8e13d8846bfc067e11 Mon Sep 17 00:00:00 2001 From: Tomasz Maciej Nowak Date: Thu, 13 May 2021 18:39:46 +0200 Subject: [PATCH 1/7] Don't load placeholder in "What's on" list view This is a table anyway, so spacing is preserved if stream is not available yet. Should save little loading time and resouces for list with a lot of channels. --- pages/pageelems.ecpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/pageelems.ecpp b/pages/pageelems.ecpp index ab9de040..b704d753 100644 --- a/pages/pageelems.ecpp +++ b/pages/pageelems.ecpp @@ -308,7 +308,7 @@ if (LiveSetup().GetUseStreamdev() && LiveFeatures(). "><& pageelems.event_timer epgid=(epgid) &> "><& pageelems.ajax_action_href action="switch_channel" tip=(tr("Switch to this channel.")) param=(channelId) image="zap.png" alt="" &> "><%cpp>if (LiveFeatures().Recent() && eventId != 0) { " alt="" <& tooltip.hint text=(tr("Search for repeats.")) &>><%cpp> } else { <%cpp> } - "><%cpp>if ((duration == 0) || (elapsed > 0)) { <& pageelems.m3u_playlist_channel channelId=(channelId) &><%cpp> } else { <%cpp> } + "><%cpp>if ((duration == 0) || (elapsed > 0)) { <& pageelems.m3u_playlist_channel channelId=(channelId) &><%cpp> } "> <%cpp> if (eventId != 0) { From f63712953db591f6d79283e449bf67d21cfbc8c3 Mon Sep 17 00:00:00 2001 From: Tomasz Maciej Nowak Date: Wed, 12 May 2021 15:06:02 +0200 Subject: [PATCH 2/7] Restore button for streaming channel to media player This has been removed in e7fd453ad56a "Streaming link added to schedule pages. Small corrections." but not all serving stream computers have enough computing power to recode the TS stream. For consistency pink play button is introduced across all sub-pages. --- live/img/playlist.png | Bin 0 -> 748 bytes pages/multischedule.ecpp | 1 + pages/pageelems.ecpp | 29 ++++++++++++++++++++++++++--- pages/playlist.ecpp | 5 +++++ pages/schedule.ecpp | 1 + pages/whats_on.ecpp | 2 +- 6 files changed, 34 insertions(+), 4 deletions(-) create mode 100644 live/img/playlist.png diff --git a/live/img/playlist.png b/live/img/playlist.png new file mode 100644 index 0000000000000000000000000000000000000000..c197427604a92a19ba70bfa7827778163cbeab8e GIT binary patch literal 748 zcmV_{n}83rw7vsvVFIZ#UBc^*8^ zLz3tt(=<0M%W`ICE6LDcZ?8q;IC{^yfB)Kt0`gZU5H3g%kg@HOBtf^^m5iAmEz5o| zH&;t20C3J7&i(mPsf5HI;B>!_(^ub-dP@*R(eMc&Ff%h_N-5?!=MDgn?d_df5cu!% z`Ag+YCWGMR2`cxh008&P5ddJ~#w5-jMZ--7g8`0@e;%gO*@rBO!UpGlS?dH!DfmB5 z5grEsfXU(%coLwu;{rRt$#V`XXT!E_L{V5Kgf^HEvZA#H=Nz1KWWEA%F&s`~Aed%T z=(T$wk0S(y0R1-rB@~7sD@-X_#6M7|7Jw?yYxlsO`oK*C;u=4yb`L?l; zFQn5}c~sc-T>yZ&ONYV$d{_^|_%M!Tlh*5tEzYA&DV4Y=cHD1>K67~5!>4bd*werl<3FGcZ#Cpto#D6~P1@6AK|lzkl{g2EG1(G7p$$V*G$uFFlJN?gBH)fZsIC6=twD> e%gak+asCacZdp=!xS^K-0000 times_start;
<$ channel_names[channel] $> <# reply.sout() automatically escapes special characters to html entities #> <& pageelems.ajax_action_href action="switch_channel" tip=(tr("Switch to this channel.")) param=(channel_IDs[channel]) image="zap.png" alt="" &> + <& pageelems.hls_channel channelId=(channel_IDs[channel]) &> <& pageelems.m3u_playlist_channel channelId=(channel_IDs[channel]) &>
  diff --git a/pages/pageelems.ecpp b/pages/pageelems.ecpp index b704d753..a3f9fe75 100644 --- a/pages/pageelems.ecpp +++ b/pages/pageelems.ecpp @@ -111,7 +111,7 @@ int update_status(1); <# ---------------------------------------------------------------------- #> -<%def m3u_playlist_channel> +<%def hls_channel> <%args> string channelId; @@ -126,6 +126,27 @@ if (LiveSetup().GetUseStreamdev() && LiveFeatures(). <# ---------------------------------------------------------------------- #> +<%def m3u_playlist_channel> +<%args> + string channelId; + +<%cpp> +if (LiveSetup().GetUseStreamdev() && LiveFeatures().Loaded()) { +#if TNTVERSION >= 30000 + +" alt="" <& tooltip.hint text=(tr("Stream this channel into media player.")) &>> +<%cpp> +#else + +" alt="" <& tooltip.hint text=(tr("Stream this channel into media player.")) &>> +<%cpp> +#endif +} + + + +<# ---------------------------------------------------------------------- #> + <%def m3u_playlist_recording> <%args> string recid; @@ -134,7 +155,7 @@ if (LiveSetup().GetUseStreamdev() && LiveFeatures(). <%cpp> #if TNT_WATCHDOG_SILENCE { -" alt="" <& tooltip.hint text=(tr("Stream this recording into media player.")) &>> <$ linkText $> +" alt="" <& tooltip.hint text=(tr("Stream this recording into media player.")) &>> <$ linkText $> <%cpp> } #endif @@ -294,6 +315,7 @@ if (LiveSetup().GetUseStreamdev() && LiveFeatures(). } if ((duration == 0) || (elapsed >= 0)) { + <& pageelems.hls_channel channelId=(channelId) &> <& pageelems.m3u_playlist_channel channelId=(channelId) &> <%cpp> } @@ -308,7 +330,8 @@ if (LiveSetup().GetUseStreamdev() && LiveFeatures(). "><& pageelems.event_timer epgid=(epgid) &> "><& pageelems.ajax_action_href action="switch_channel" tip=(tr("Switch to this channel.")) param=(channelId) image="zap.png" alt="" &> "><%cpp>if (LiveFeatures().Recent() && eventId != 0) { " alt="" <& tooltip.hint text=(tr("Search for repeats.")) &>><%cpp> } else { <%cpp> } - "><%cpp>if ((duration == 0) || (elapsed > 0)) { <& pageelems.m3u_playlist_channel channelId=(channelId) &><%cpp> } + "><%cpp>if ((duration == 0) || (elapsed > 0)) { <& pageelems.hls_channel channelId=(channelId) &><%cpp> } + "><%cpp>if ((duration == 0) || (elapsed > 0)) { <& pageelems.m3u_playlist_channel channelId=(channelId) &><%cpp> } "> <%cpp> if (eventId != 0) { diff --git a/pages/playlist.ecpp b/pages/playlist.ecpp index 7f323735..93371e4d 100644 --- a/pages/playlist.ecpp +++ b/pages/playlist.ecpp @@ -10,6 +10,7 @@ using namespace vdrlive; <%args> tChannelID channel; + string channel_str; string recid; <%session scope="global"> @@ -20,6 +21,10 @@ using namespace vdrlive; <%include>page_init.eh <%cpp> +#if TNTVERSION >= 30000 + channel = channel.FromString(channel_str.c_str()); // Tntnet30: get struct channel from parameter string +#endif + if (!logged_in && LiveSetup().UseAuth()) return reply.redirect("login.html"); if (!cUser::CurrentUserHasRightTo(UR_STARTREPLAY)) throw HtmlError( tr("Sorry, no permission. Please contact your administrator!") ); diff --git a/pages/schedule.ecpp b/pages/schedule.ecpp index a84fa5d4..cb4a1f7c 100644 --- a/pages/schedule.ecpp +++ b/pages/schedule.ecpp @@ -275,6 +275,7 @@ if(recItemFound) { <& channels_widget name=("channel") selected=(Channel ? *Channel->GetChannelID().ToString() : "") onchange=("document.forms.channels.submit()") &> <& pageelems.ajax_action_href action="switch_channel" tip=(tr("Switch to this channel.")) param=(Channel->GetChannelID()) image="zap.png" alt="" &> + <& pageelems.hls_channel channelId=(Channel->GetChannelID()) &> <& pageelems.m3u_playlist_channel channelId=(Channel->GetChannelID()) &> diff --git a/pages/whats_on.ecpp b/pages/whats_on.ecpp index 97314030..d1afdda3 100644 --- a/pages/whats_on.ecpp +++ b/pages/whats_on.ecpp @@ -111,7 +111,7 @@ if (type == "now") { % if (mode == "list") { - + % } <%cpp> From 9819a3ebfe164551b6ff4725f34f0cd989bfb6d3 Mon Sep 17 00:00:00 2001 From: Tomasz Maciej Nowak Date: Wed, 12 May 2021 18:25:48 +0200 Subject: [PATCH 3/7] Change playlist MIME type This will allow, at least for some browsers, to open stream in external applications on Android. Tested on Firefox with VLC. --- pages/playlist.ecpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/playlist.ecpp b/pages/playlist.ecpp index 93371e4d..3c8667c7 100644 --- a/pages/playlist.ecpp +++ b/pages/playlist.ecpp @@ -50,7 +50,7 @@ using namespace vdrlive; string server = request.getHost(); server = server.substr(0, server.rfind(':')); string videourl; - reply.setContentType("application/vnd.apple.mpegurl"); + reply.setContentType("audio/x-mpegurl"); if (Channel != 0) { string channelname = Channel->Name(); int streamdevPort = LiveSetup().GetStreamdevPort(); From 13f12b30d94cbc2f254562021c73676fc2d50afa Mon Sep 17 00:00:00 2001 From: Tomasz Maciej Nowak Date: Wed, 12 May 2021 18:22:05 +0200 Subject: [PATCH 4/7] Capitalise "mark new recordings" for consistency --- pages/setup.ecpp | 2 +- po/cs_CZ.po | 2 +- po/de_DE.po | 4 ++-- po/es_ES.po | 2 +- po/fi_FI.po | 2 +- po/fr_FR.po | 2 +- po/it_IT.po | 2 +- po/lt_LT.po | 2 +- po/nl_NL.po | 2 +- po/pl_PL.po | 2 +- po/ru_RU.po | 2 +- po/sk_SK.po | 2 +- po/sv_SE.po | 2 +- 13 files changed, 14 insertions(+), 14 deletions(-) diff --git a/pages/setup.ecpp b/pages/setup.ecpp index bb841dbe..edf1ed5b 100644 --- a/pages/setup.ecpp +++ b/pages/setup.ecpp @@ -252,7 +252,7 @@ if (!cUser::CurrentUserHasRightTo(UR_EDITSETUP)) - + diff --git a/po/cs_CZ.po b/po/cs_CZ.po index 95847802..121595bc 100644 --- a/po/cs_CZ.po +++ b/po/cs_CZ.po @@ -854,7 +854,7 @@ msgstr "" msgid "Streamdev stream type" msgstr "Streamdev typ streamu" -msgid "mark new recordings" +msgid "Mark new recordings" msgstr "" msgid "Add links to IMDb" diff --git a/po/de_DE.po b/po/de_DE.po index 813c817a..f6e76c16 100644 --- a/po/de_DE.po +++ b/po/de_DE.po @@ -851,8 +851,8 @@ msgstr "Streamdev Server Port" msgid "Streamdev stream type" msgstr "Streamdev Stream Typ" -msgid "mark new recordings" -msgstr "markiere neue Aufnahmen" +msgid "Mark new recordings" +msgstr "Markiere neue Aufnahmen" msgid "Add links to IMDb" msgstr "Füge Links zur IMDb hinzu" diff --git a/po/es_ES.po b/po/es_ES.po index d1a5f7db..97356f3e 100644 --- a/po/es_ES.po +++ b/po/es_ES.po @@ -846,7 +846,7 @@ msgstr "Puerto del servidor streamdev" msgid "Streamdev stream type" msgstr "Tipo de stream de streamdev" -msgid "mark new recordings" +msgid "Mark new recordings" msgstr "" msgid "Add links to IMDb" diff --git a/po/fi_FI.po b/po/fi_FI.po index 18c6aa9d..07fd0471 100644 --- a/po/fi_FI.po +++ b/po/fi_FI.po @@ -846,7 +846,7 @@ msgstr "Streamdev-palvelimen portti" msgid "Streamdev stream type" msgstr "Streamdev-lähetteen tyyppi" -msgid "mark new recordings" +msgid "Mark new recordings" msgstr "" msgid "Add links to IMDb" diff --git a/po/fr_FR.po b/po/fr_FR.po index 6d7d76f7..e5d13325 100644 --- a/po/fr_FR.po +++ b/po/fr_FR.po @@ -869,7 +869,7 @@ msgstr "Port du serveur streamdev" msgid "Streamdev stream type" msgstr "Type du serveur streamdev" -msgid "mark new recordings" +msgid "Mark new recordings" msgstr "" msgid "Add links to IMDb" diff --git a/po/it_IT.po b/po/it_IT.po index 843194fa..bce7fe92 100644 --- a/po/it_IT.po +++ b/po/it_IT.po @@ -852,7 +852,7 @@ msgstr "Porta server Streamdev" msgid "Streamdev stream type" msgstr "Tipo trasmissione Streamdev" -msgid "mark new recordings" +msgid "Mark new recordings" msgstr "" msgid "Add links to IMDb" diff --git a/po/lt_LT.po b/po/lt_LT.po index 1006a161..ff74fcd4 100644 --- a/po/lt_LT.po +++ b/po/lt_LT.po @@ -847,7 +847,7 @@ msgstr "Streamdev serverio prievadas" msgid "Streamdev stream type" msgstr "Streamdev serverio tipas" -msgid "mark new recordings" +msgid "Mark new recordings" msgstr "" msgid "Add links to IMDb" diff --git a/po/nl_NL.po b/po/nl_NL.po index 7be32845..10bc6ca6 100644 --- a/po/nl_NL.po +++ b/po/nl_NL.po @@ -866,7 +866,7 @@ msgstr "" msgid "Streamdev stream type" msgstr "" -msgid "mark new recordings" +msgid "Mark new recordings" msgstr "" msgid "Add links to IMDb" diff --git a/po/pl_PL.po b/po/pl_PL.po index 3e07eec0..61f0a204 100644 --- a/po/pl_PL.po +++ b/po/pl_PL.po @@ -847,7 +847,7 @@ msgstr "Port serwera Streamdev" msgid "Streamdev stream type" msgstr "Typ strumienia Streamdev" -msgid "mark new recordings" +msgid "Mark new recordings" msgstr "" msgid "Add links to IMDb" diff --git a/po/ru_RU.po b/po/ru_RU.po index b81f4c6f..81e5c538 100644 --- a/po/ru_RU.po +++ b/po/ru_RU.po @@ -846,7 +846,7 @@ msgstr "Streamdev порт" msgid "Streamdev stream type" msgstr "Streamdev тип стриминга" -msgid "mark new recordings" +msgid "Mark new recordings" msgstr "" msgid "Add links to IMDb" diff --git a/po/sk_SK.po b/po/sk_SK.po index d8c79f13..c754172c 100644 --- a/po/sk_SK.po +++ b/po/sk_SK.po @@ -847,7 +847,7 @@ msgstr "Streamdev port servera" msgid "Streamdev stream type" msgstr "Typ prdovho videa" -msgid "mark new recordings" +msgid "Mark new recordings" msgstr "" msgid "Add links to IMDb" diff --git a/po/sv_SE.po b/po/sv_SE.po index a926fdbb..28bab9ce 100644 --- a/po/sv_SE.po +++ b/po/sv_SE.po @@ -846,7 +846,7 @@ msgstr "Streamdev serverns port" msgid "Streamdev stream type" msgstr "Streamdev strömtyp" -msgid "mark new recordings" +msgid "Mark new recordings" msgstr "" msgid "Add links to IMDb" From ad88cd31b86801394286ac491bbb5d342e59b400 Mon Sep 17 00:00:00 2001 From: Tomasz Maciej Nowak Date: Wed, 12 May 2021 19:50:58 +0200 Subject: [PATCH 5/7] Update Polish translation --- po/pl_PL.po | 41 ++++++++++++++++++++++------------------- 1 file changed, 22 insertions(+), 19 deletions(-) diff --git a/po/pl_PL.po b/po/pl_PL.po index 61f0a204..00728295 100644 --- a/po/pl_PL.po +++ b/po/pl_PL.po @@ -2,13 +2,13 @@ # Copyright (C) 2007 LIVE Development team. See http://live.vdr-developer.org # This file is distributed under the same license as the VDR-LIVE package. # Robert Polak , 2011 -# Tomasz Maciej Nowak , 2019 +# Tomasz Maciej Nowak , 2019 2021 # msgid "" msgstr "" "Project-Id-Version: VDR-LIVE 0.2.0\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2019-03-25 16:12+0100\n" +"PO-Revision-Date: 2021-05-12 19:42+0200\n" "Last-Translator: Tomasz Maciej Nowak \n" "Language-Team: see developers in README\n" "Language: pl_PL\n" @@ -180,7 +180,7 @@ msgid "Wrong username or password" msgstr "Błędna nazwa lub hasło użytkownika" msgid "Login" -msgstr "Nazwa" +msgstr "Logowanie" msgid "VDR Live Login" msgstr "Login VDR Live" @@ -247,7 +247,7 @@ msgid "What's on" msgstr "Audycje" msgid "Details view" -msgstr "Widek szczegółowy" +msgstr "Widok szczegółowy" msgid "List view" msgstr "Widok listy" @@ -256,7 +256,7 @@ msgid "Find more at the Internet Movie Database." msgstr "Szukaj w IMDb.com" msgid "Stream this channel into browser." -msgstr "" +msgstr "Oglądaj kanał w przeglądarce" msgid "Stream this recording into media player." msgstr "Oglądaj nagranie w odtwarzaczu multimediów" @@ -386,16 +386,19 @@ msgid "Project Idea" msgstr "Pomysł projektu" msgid "Webserver" -msgstr "" +msgstr "Serwer HTTP" msgid "Current Maintainer" msgstr "Obecny opiekun" +msgid "Previous Maintainer" +msgstr "Poprzedni opiekun" + msgid "Project leader" msgstr "Lider projektu" msgid "Content" -msgstr "Zawrtość" +msgstr "Zawartość" msgid "Graphics" msgstr "Grafika" @@ -440,7 +443,7 @@ msgid "Recordings" msgstr "Nagrania" msgid "Web-Streaming" -msgstr "" +msgstr "Oglądanie" msgid "Logout" msgstr "Wyloguj" @@ -530,7 +533,7 @@ msgid "Title" msgstr "Tytuł" msgid "Server" -msgstr "" +msgstr "Serwer" msgid "Directory" msgstr "Katalog" @@ -794,7 +797,7 @@ msgid "Timer is active." msgstr "Timer jest aktywny." msgid "Toggle timer active/inactive" -msgstr "Aktywuj/deaktywuj timer." +msgstr "Aktywuj/deaktywuj timer" msgid "Delete timer" msgstr "Usuń timer" @@ -830,16 +833,16 @@ msgid "Allow video streaming" msgstr "Zezwól na streamowanie strumienia video" msgid "Web-Streaming h264" -msgstr "" +msgstr "Parametry HLS dla AVC (H.264)" msgid "Web-Streaming HEVC" -msgstr "" +msgstr "Parametry HLS dla HEVC (H.265)" msgid "Web-Streaming MPEG2" -msgstr "" +msgstr "Parametry HLS dla MPEG2 (H.262)" msgid "Web-Streaming others" -msgstr "" +msgstr "Parametry HLS dla innych" msgid "Streamdev server port" msgstr "Port serwera Streamdev" @@ -848,7 +851,7 @@ msgid "Streamdev stream type" msgstr "Typ strumienia Streamdev" msgid "Mark new recordings" -msgstr "" +msgstr "Oznacz nowe nagrania" msgid "Add links to IMDb" msgstr "Pokazuj odnośniki do IMDb" @@ -890,7 +893,7 @@ msgid "no current channel!" msgstr "brak informacji o kanale!" msgid "error retrieving status info!" -msgstr "błąd podczas odczytu stanu" +msgstr "błąd podczas odczytu stanu!" msgid "%I:%M:%S %p" msgstr "%H:%M:%S" @@ -944,7 +947,7 @@ msgid "No timer conflicts" msgstr "Brak kolizji timerów" msgid "local" -msgstr "" +msgstr "lokalny" msgid "Timer has a conflict." msgstr "Timer jest w kolizji." @@ -955,5 +958,5 @@ msgstr "" msgid "No EPG information available" msgstr "Brak informacji EPG" -#~ msgid "Stream this channel into media player." -#~ msgstr "Oglądaj kanał w odtwarzaczu multimediów" +msgid "Stream this channel into media player." +msgstr "Oglądaj kanał w odtwarzaczu multimediów" From 44a80eeb2fae2bcf74b19ea5cbc981b4da6160c5 Mon Sep 17 00:00:00 2001 From: Tomasz Maciej Nowak Date: Fri, 14 May 2021 13:54:03 +0200 Subject: [PATCH 6/7] Center the EPG stripe in "Web-Streaming" Currently it looks disjointed, so let's align it. --- pages/stream.ecpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/stream.ecpp b/pages/stream.ecpp index b53d3ca1..de5a9963 100644 --- a/pages/stream.ecpp +++ b/pages/stream.ecpp @@ -120,7 +120,6 @@ using namespace vdrlive; }); - <%cpp> dsyslog("vdrlive::stream: generating EPG info"); const cSchedule *Schedule = NULL; @@ -190,6 +189,7 @@ string longDescription = StringEscapeAndBreak(StringWordTruncate(epgEvent->LongD
<$ head $>
<$ head $>
<$ tr("mark new recordings") $>:
<$ tr("Mark new recordings") $>:
CHECKIF(!markNewRec.empty()); />
+ %} // if (Event) From 665f6fad688b1e0a733d44de8fa1b6dd845077fe Mon Sep 17 00:00:00 2001 From: Tomasz Maciej Nowak Date: Fri, 14 May 2021 18:07:47 +0200 Subject: [PATCH 7/7] Remove hard-coded color for header Apply theme color if available. Issue was visible when "orange-blue" theme was used. --- pages/pageelems.ecpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/pageelems.ecpp b/pages/pageelems.ecpp index a3f9fe75..36b0e315 100644 --- a/pages/pageelems.ecpp +++ b/pages/pageelems.ecpp @@ -36,7 +36,7 @@ int update_status(1); <%def logo> -