LINUX.ORG.RU
ФорумTalks

«Скучно», дайте баг или запилить куда-то фичу

 , , баги, ,


2

1

Устал байты дрочить и в свой быдлокод втыкать, надо отвлечься. Я в курсе что можно зайти на гитхаб или иное и найти там что угодно себе по душе, но долго объяснять, надоело рыть и править никому ненужное, хоца новенького, временного, отвлечься. Где есть лично вам бесячий баг или чего в чём-то не достаёт.

  • Киньте ссылку на проект tar.gz/гит/фигит или типа того.
  • Что не так или что надо
  • Как сейчас и как должно быть

Всё, больше меня ничего не интересует. C и/или Lua
Может утилита какая падает на C, или очередная шизанутая игра на Lua не запускается на новой версии Love2D. Понятия не имею что можно предложить :)

★★★★★

Последнее исправление: LINUX-ORG-RU (всего исправлений: 1)
Ответ на: комментарий от ann_eesti

может ты случайно работу за деньги ищешь?

У меня с этим в рамках любительского кодирования очень сложные отношения. И не совсем приятный (обоим сторонам) прошлый опыт. Вся моя практика основывалась на том что я сам себе директор, методист, архитектор, разработчик и кодер. Проще говоря я инди. Я художник, я так вижу

Проприетарный код, я пишу только для себя, если в торговые отношения входить то только с ним наверное (моя мечта идиота пилить свои игры, хоть простенькую для начала)

В остальном, на основе своих увлечений и с учётом своих особенностей, крайней неторопливости и отрицательного объёма памяти в гладких тканях внутреннего объёма черепной коробки :D я просто починяю примус пилю общественно полезный или полезный лишь мне СПО/опенсурс/переводы в силу своих, желаний, возможностей и умений. Иногда, ну, раз в пару лет донат прилетает, ну и всё.

Короче не знаю. Должны сложится идеальные условия. Я не вижу приемлемых перспектив и путей чтобы они сложились на данный момент.

LINUX-ORG-RU ★★★★★
() автор топика
Ответ на: комментарий от krasnh

По корректному отображению процентов прошедшего времени думается сделать как-то так

Вроде норм, и обновляться оно будет независимо, но пока есть пробелема что длинные заголовки могут наезжать, они и так наезжают, но не всегда и можно мирится, а тут будут уже чаще, намного. Пока играюсь, смотрю чё как

LINUX-ORG-RU ★★★★★
() автор топика
Ответ на: комментарий от unDEFER

Долго отвечать. А я кашку варю =) Если кратко, из десятка демок ни одна не годится для развития на мой вкус, игра про ЛОР, ну это отдельная песня там не про то, там не для публикации в магазинах и всё встало уже на год, основных задумки две, склоняюсь к одной, но там тоже свои творческие муки и непонятное техническое исполнение, оно на форке Corange :D

LINUX-ORG-RU ★★★★★
() автор топика
Ответ на: комментарий от LINUX-ORG-RU

Мой тебе совет: начинай что-либо делать как можно раньше. С первого раза реализовать скорее всего всë равно не получится - это очень долгая история подбора инструментов. Так что готовься к тому что попыток реализации будет несколько.

unDEFER ★★★★★
()
Ответ на: комментарий от LINUX-ORG-RU

По корректному отображению процентов прошедшего времени

У себя ни разу не видел с процентами проблем. Когда по ходу фильма нажимаю на h, вижу, что не только шкала меняется, но и проценты.

krasnh ★★★★
()
Ответ на: комментарий от krasnh

Да, но в режиме нажатия h когда хочешь почитать (оно само не закрывается) обновляется прогресс бар, часы обновляются, но не проценты. От этого, если ты нажмёшь h и пойдёшь заварить чайку то когда ты вернёшься, то время на часах поменяется, шкала прогресс бара тоже, а вот проценты нет,а на них удобно смотреть по идее, ибо они сейчас проценты вшиты в заголовок, чтобы было корректно всё, тоже надо обновлять по сути, но если обновлять всё (оно же вшито) то будет текст мигать, вот поэтому я и пробую разное, на картинке просто пример, но он тоже плохой, слишком часто текст наезжает, а ужать текст влево нельзя, вернее можно, но лучше не трогать то что уже хорошо работает ибо там не трогать надо будет, а ваще переделывать из за одной мелочи.

А вот вынести проценты во вне, к часа и прогресс бару уже, легко, просто и надёжно, единственный минус ни слева от часов, ни под часами размещать так чтобы в 60% случаев не наезжал на проценты текст не получается, есть идея, но тебе наверное не понравится

В области там где часы, по очереди показывать то проценты, то часы. =)

Я просто думаю пока, хочется чтобы тут было просто всё правильно и красиво тоже.

LINUX-ORG-RU ★★★★★
() автор топика
Ответ на: комментарий от krasnh

О! Придумал! Как блин мне это в голову сразу не пришло, сейчас сделаю и сразу не глядя внесу изменения! А ты как будет у тебя время затестишь

Тестить нужно будет так

  • Открыть телик
  • Жмакруть n

И смотреть, через 30 секунд должно обновится, время, прогресс бар и процент в заголовке телепередачи.

Отпишусь когда будет готово. У меня случилась эврика, я не в ту сторону думал :D

LINUX-ORG-RU ★★★★★
() автор топика
Ответ на: комментарий от krasnh

Готово, теперь если нажать h и ничего не делать будет обновляться и время и бар и проценты в заголовке. Теперь точно графон всё.

Проверь пожалуйста (вернул часты ещё на жирные ибо на прошлых версиях mpv один фиг не работает, а для вида часов если вдруг снова поедет я крутилку добавлю потом, хотя если всё же надо я уберу жирное начертание, напомню именно из за него часы уезжали вправо, но ты сказал что у тебя более не уезжает) Таймер проверки я ставлю на 30 секунд, но срабатывает он раз в минуту, это мне не подконтрольно, ну и ладно. Просто число процентов должно обновляться вместе с часами и всё.

LINUX-ORG-RU ★★★★★
() автор топика
Последнее исправление: LINUX-ORG-RU (всего исправлений: 2)
Ответ на: комментарий от LINUX-ORG-RU

Да, если не закрывать EPG, видно, как проценты обновляются одновременно с часами.

krasnh ★★★★
()
Ответ на: комментарий от krasnh

Если что не обновляйся пока, я там дядьке пробую сделать поддержку вянды вслепую, получится, оставлю, не получится верну всё назад. Ну и попутно, сделаю потом изменения для того о чём ты выше говорил, краткое содержание при автоматическом отображении и прочее. Сейчас я буду делать всякие эксперименты с конфигурацией в любом случае так как что могу что-то сломать, не обновляйся короч пока =)

бранчи для слабаков, мне проще внести изменения и потом откатить их чем пердохаться с ветками в этом конкретном случае

LINUX-ORG-RU ★★★★★
() автор топика
Последнее исправление: LINUX-ORG-RU (всего исправлений: 3)
Ответ на: комментарий от krasnh

Добавил конфигурационные крутилки, в отдельный файл выносить не стал, ибо и так уже размер в 1200+ строк, конфигурация в самом верху скрипта. Что хочешь включай, что хочешь выключай, меняй бинды, отключай/включай автозакрытие, для автопоказа при переключении канала задавай уровень подробностей, меня цвета, заголовков,часов, описаний, прогресс бара, настраивай прозрачность затемняющего задника и его цвет.

Чуть попозже в README описание конфигурации вынесу, на RU/EN там писанины будет много, сща лень. Ну и после этого считай всё. Конец.

И да, единственную просьбу твою что я намеренно проигнорировал и буду игнорировать это режим переключателя для h, ну просто потому что на h завязан сборос прокрутки по n и прочие вещи, не хочется на ровном месте что-то переделывать. Но как вариант, можно отключить автозакрытие отображения программы, или увеличить таймаут закрытия, или нажать n или, в целом варианты есть.

И да, настраиваемый уровень подробности отображения, касается только случая когда переключаются каналы, по умолчанию режим 2 полная детализация, если переключить на режим 1 срабатывает следующая настройка, ниже в строке которая отвечает за то сколько показывать от 1 до сколько хочешь, но покажет не больше чем на сегодня и на завтра (если данные есть)

Фух, вроде всё. Теперь README обновить чтобы всё понятно было и норм будет.

И да, никакие значения конфирурации конечно же не проверяются на корректность, ну лишь некоторые, так что если что-то отвалится, ну, нужно ориентироваться по тем значениям что уже заданы, если числа то числа задавать, если строки то строку и так далее. Это просто скриптик, тут не нужно заморачиваться и именно поэтому я не вынес его отдельно ибо 1200 строк превратятся в 1500, а то и… не надо.

Хотяяяяяяяя, внешний файл конфигурации по сути удобен тем что если скрипт обновить по git pull то изменённая конфигурация сохранится. В этом есть смысл… ну пока доки не написал, мож придумаю как сделать это поудобнее. Но если не придумаю, то оставлю как есть.

LINUX-ORG-RU ★★★★★
() автор топика
Последнее исправление: LINUX-ORG-RU (всего исправлений: 2)
Ответ на: комментарий от krasnh

Я дебил маленько, но это ладно, всё теперь есть внешний конфигурационный файл, который перезаписывает значения скрипта по умолчанию, если удалить какой либо ключ из конфиг файла, тоже будет использовано значение по умолчанию, так можно просто удалить из него то что тебе просто не надо или не хочется трогать.

В случае какой либо ошибки в конфигурационном скрипте он будет тупо игнорироваться. Это сделано потому что его в случае чего можно просто удалить например, и будут использоваться значения по умолчанию. Короче он может быть, а может и не быть, опционально это.

LINUX-ORG-RU ★★★★★
() автор топика
Последнее исправление: LINUX-ORG-RU (всего исправлений: 1)
Ответ на: комментарий от LINUX-ORG-RU

Включил auto_show_mode=1. получил ошибку*:

[EPGTV] Lua error: EPGTV/main.lua:1028: attempt to call field 'unpack' (a nil value)

Погуглив, попробовал с table.unpack = table.unpack or unpack - ошибка пропала (да, знаю, что самолечение не приветствуется, но мы же в России; :) если, что, то подобные эксперименты делал только на копии main.lua).
auto_show_mode=1 все равно не работает. Если же сделать auto_show_details=1, то при переключении каналов видно ожидаемое, но через 1-2 сек подгружается остальное.

*Lua 5.4.6
curl 8.7.1
zcat (gzip) 1.13


Видел, ты добавил возможность отключения показа EPG при переключении каналов, auto_show_program. Тоже подумывал об этом, что не всем может зайти такая фишка. Так что, в плюс.

krasnh ★★★★
()
Ответ на: комментарий от krasnh

Выше писал «Мысли по ходу практического использования EPGTV» и там было «А вот при ручном нажатии h, уже можно показывать полную информацию».
Так вот, заметил, что ни разу не потребовалось узнать полную инфу о передаче, всегда было достаточно краткого изложения (ПазлТВ с дефолтными настройками программы).

Т.е. полная инфа о передаче/фильме, это некая функция-эксклюзив, которая может понадобиться, ну не знаю, раз в неделю, месяц, год… или никогда. Имхо.

krasnh ★★★★
()
Ответ на: комментарий от LINUX-ORG-RU

единственную просьбу твою что я намеренно проигнорировал и буду игнорировать это режим переключателя для h, ну просто потому что на h завязан сборос прокрутки по n и прочие вещи

По ходу использования EPGTV, заметил, что во время просмотра фильма, нет-нет да и нажимаю h, чтобы глянуть далеко ли до окончания или какой фильм будет дальше, или просто напомнить название фильма и о чем он. :)

Так вот, когда надо лишь глянуть шкалу, это занимает меньше 5сек и выбор или ждать сработки таймера или тянуться за Esc. Когда надо освежить содержимое - это уже больше 5сек и надо повторно прожимать h, или жать на n, а затем на Esc.
Поэтому я и просил переключатель, чтоб выбор времени показа определял я сам в реальном моменте и, плюс, не надо было тянуться за второй кнопкой (Esc).


Я согласен, чтоб переключатель был на любой другой кнопке, например e, и она была закомментирована дефолтно. А n я и не использую.

krasnh ★★★★
()
Ответ на: комментарий от krasnh

Спасибо, исправлю. Хотя странно

Я понимаю зачем они определили unpack (чтобы старые стрипты продолжили работать), но вот почему в твоей сборке обнулили table.unpack не понимаю абсолютно. Но это ладно, там что угодно может быть переопределено, это же Lua

Видел, ты добавил возможность отключения показа EPG при переключении каналов

Да, хоть это и удобно, но в некоторых случаях может раздражать.

LINUX-ORG-RU ★★★★★
() автор топика
Ответ на: комментарий от krasnh
  • Исправил table.unpack
  • Добавил теперь и для ручного режима отображения настройку как для автопоказа
    • manual_show_mode = 2 -- 1 вручную, 2 автоматически
    • manual_show_details = 2 -- сколько отображать программ если manual_show_mode = 1
  • Добавил свободную от биндов клавишу y как кнопку переключатель key_show_toggle='y'
    • нажал раз, показало
    • нажал снова, скрыло

Кнопка y игнорируем опцию auto_close_program то есть по таймеру не закрывается, на неё как и на всё кроме автоматического показа влияет параметры что вы выше написал manual_show_mode manual_show_details.

Короче для автопоказа свои настройки отображения, целиком или сколько ты установишь, а для показа по нажатию на одну из кнопок свои опции настройки отображения.

А, ещё, теперь первое отображение, ну типа при старте mpv тепеь считаю автоматическим отображением, тыже кнопку не тыкал.

Вроде всё, я мало успел потыкать, время много, а мне тут ещё надо койчего делать, потыкай там на досуге, под себя настрой, всё ли норм. Я завтра только потестирую уже и то не факт, может после завтра.


Переназначь y на что тебе удобнее. Если например хочется n но она занята скриптом, то задай там где уже прописана n значение nil (это полностью вырубит бинд и освободит кнопочку) или другую кнопку туда впиши, короче не надо одну кнопку вешать на несколько действий сразу.

А, и ещё это, как его, когда показывает сначала сколько задал, а потом прыгает на целиком тоже исправил.

Намана? Подёт? :D

LINUX-ORG-RU ★★★★★
() автор топика
Последнее исправление: LINUX-ORG-RU (всего исправлений: 4)
Ответ на: комментарий от LINUX-ORG-RU

Добавил теперь и для ручного режима отображения настройку как для автопоказа

Legen… wait for it… dary! (c)

Похоже был покорен Пик возможностей кодонаписания - настройки на любой вкус и цвет, и 1323 строчек кода. Хотя в исходном mpvEPG.lua, только 230. Офигеть. :)

krasnh ★★★★
()
Последнее исправление: krasnh (всего исправлений: 1)
Ответ на: комментарий от krasnh

В общем, сделал себе auto_show_mode=1 и auto_show_details=2, хотя поначалу хотел 1 (одна программа отображена), но бывает вдруг, что шкала программы уже заполнена на максимум и надо сразу сориентироваться по следующей программе.

И manual_show_mode=1 с manual_show_details=5. Пусть будет 5 программ, хоть я и говорил, что достаточно в этом режиме и 2-x, но вот сыпанул щедро. Все же, когда идет какой-то сериал, серия за серией в течении дня, полезно это видеть в EPG.

krasnh ★★★★
()
Ответ на: комментарий от krasnh

Ну и норм. Жаль что например на debian stable работать не будет, там mpv 0.35.0 и там нет свойства playlist-path, а только path можно и с ним заставить работать и оно работает, но как уже выше писал там костыль на костыле и чуть что всё разваливается. Может что-то потом придумаю, но пока нет. А этот playlist-path оказывается только в 2023 году добавили, его фича в том что он не меняется из за смены потока, а вот path меняется постоянно и на всё подряд и это адъ, единственный вариант на версиях mpv ниже 0.38.0 сделать возможной работу только обработки только от первого файла что жрёт mpv, всё иное будет отбраковываться, но не будет срабатывать вариант когда ты смотришь телик по одному плейлисту, а тут взял и перетащил ссылку на другой. Ну такое, хотя за неимением лучшего можно и так сделать. Ай ладно, это уже портирование, совсем другая задача и история. Потом. гЫ

LINUX-ORG-RU ★★★★★
() автор топика

Автор Пазла пофиксил в ptv3-3.23.4_public.zip, теперь работает со ссылкой типа http://127.0.0.1:8185/playlist.m3u. А также сдвиг времени теперь настраивается в «Программа - Выбрать часовой пояс», и значит дефолтно в EPGTV можно выставить ignore_tvg_shift = false (conf.lua).

Считаю EPGTV.lua готовым и рабочим. Остались, правда, некоторые мелкие нюансы с отображением EPG, когда пишет «Нет ТВ программы для данного канала», хотя в яндекс.программе этот канал есть. (Программа - Серверы - Yandex).
И второй момент, когда программа отображается, но с припиской «Нет описания», хотя в яндекс.программе есть описание (скрин).

Но возможно это особенности ПазлТВ и вопросы не по адресу, надо проверять с альтернативами, типа smolnp.github.io.

krasnh ★★★★
()
Ответ на: комментарий от krasnh

и значит дефолтно в EPGTV можно выставить ignore_tvg_shift = false

К сожалению нельзя, там часто пишут неправильно, в чём суть, если телепрограмма для MSK то время должно быть для +3 и в EPG должно быть написано +0300 и в этом случае tvg_shift должен быть равным 0, если время программы MSK+3 то это UTC+6 и указано время +0600, а человек смотрит из из Москвы то tvg_shift должен быть -3, но там будет в 90% случаев или +3 или 0 и всё едет. Иначе говоря tvg_shift это чисто пользовательская крутилка, с помощью которой ты можешь сдвинуть всё время в EPG одним махом вручную если у тебя нет других вариантов, в ином случае его приходится игнорировать по умолчанию.

«Нет ТВ программы для данного канала», хотя в яндекс.программе этот канал есть.

Это может случится в нескольких случаях

  • ты вчера смотрел телик, программа телепередач выдавалась пазлом только на день, на следующий день кеш устарел и надо нажать u дабы его обновить.
  • нет соответствия идентификатора каналов в m3u/epg или он там неправильный
  • данные есть в источнике, яндекс.программе, но они не попали в EPG

Попробую проверить, с автообновлением EPG сложнее, я могу сохранить самую дальнюю дату в epg и при проверке кэша смотреть если она преадолена то автоматически прекращать подгрузку кеша и инициировать скачивание новых данных, только вот беда, если данные придут те же самые, то это инициирует снова загрузку и снова и снова и так циклически оно будет пытаться получить новые данные. А они не всегда новые или новые частично и это усложнит всё.

хотя в яндекс.программе есть описание хотя в яндекс.программе этот канал есть

Эт надо глядеть есть ли это всё в итоговом EPG, скорее всего там нет то канала, то описания.


Итого

  • ignore_tvg_shift это чисто пользовательская крутилка и включается чисто пользователем.
  • «Нет ТВ программы для данного канала» попробую проверить, но скорее всего её реально просто нет
  • «Нет описания» тоже попробую проверить, но скорее всего тоже просто нет

ПазлТВ работает не моментально, он сам себе периодически скачивает данные, обрабатывает, обновляет. Он тоже у себя кеширует данные, а не каждый раз тянет их, ты можешь получить лишь часть данных которые он успел собрать/обновить, а через 5 минут их будет больше например. С такими вещами нужно просто мирится. И проверять его данные жмакая u иногда если что-то не показывает, вдруг он у себя там новые данные выдавать начал. Это в корне отличается от smolnp.github.io где огромная программа телепередач сразу на неделю почти идёт, там u нажимать ещё подумаешь ли стоит или нет ибо обновлять тяжёлые EPG это не быстро. Именно поэтому нет автоматической проверки EPG.

LINUX-ORG-RU ★★★★★
() автор топика
Ответ на: комментарий от krasnh

Проверил, у меня были сообщения о «Нет ТВ программы для данного канала» только в случая устаревшего плейлиста, после любой манипуляции в пазле, нужно дожидаться пока пазл обновит всё внутри себя (глядеть в терминал где он запущен, там он иногда пишет мол «update epg blabla»), а затем жмакать u в EPGTV дабы обновить новые данные из пазла в кэш.

Можно добавить опцию ignore_cache в таком случае при каждом открытии плейлиста не будет проверки наличия данных в кеше (но он всё равно будет создаваться, нельзя его просто вырубить целиком для этого надо всё переписывать), а будет всегда при каждом запуске mpv ссылка производится действия взятие новых EPG данных, но это также будет значить что если ты откроешь плейлист не из пазла, то каждый раз будут загружаться и обрабатываться тяжёлые EPG данные, а это херня полная, так же это значит что для разных плейлистов тебе будет надо залезать в конфиг и то включать кэш то выключать, про проверку EPG при переключении каналов я вообще молчу, это будет всё нереально долго. Альтернативой всем этим крайним и сложным случаям является нажатие кнопки u для получения актуальных данных. Не видишь данных, жмакаешь u и всё, это годится и для пазл тв который выдаёт данные на пару дней и всё, это годится и для smolnp.github.io. который выдаёт данные на целую неделю вперёд.

Единственное что я пока сделал это добавил в README упоминание что данные в кеше могут спустя время стать не актульными и можно попробовать нажать u дабы их обновить.

Автоматическое обновление я делать не буду, так как тут может случится циклическая загрузка, данные прошлые устарели, а в источнике EPG ещё не обновлены, получив устаревшие данные оно снова попытается их забрать и так по кругу. Это случается часто, например может быть лаг в час или даже день, когда в источнике EPG данных они старые.

Единственным, простым и понятным решением этой проблемы будет просить пользователя иногда нажимать u для обновления EPG данных. У меня нет механизмов однозначных ни про узнавание устарели ли данные ни про то актуальные ли будут данные если их заново скачать автоматом. И если первое я могу вычислить легко, просто взяв самую новую дату и проверять не прошла ли она на данный момент, то со вторым никак, а эти вещи для атопроверки должны работать парой, опять же, в EPG данных для одного канала может быть программа телепередач на неделю, а для другого на два дня, и если следовать логикой самой дальней даты по которой можно судить о потребности автоматического обновления программы телепередач то она коснётся только того канала в которого программа на неделю, а у того канала что на 2 дня будет 5 дней показывать нет данных. А выборочно я проверять не могу, физически нет такой возможности, только сразу всё качать.

Тут очень много вот таких вот тонкостей, так как всё работает в разнобой, плейлисты сделал Вася, EPG нагенерировал Толя и так далее. Опять же как я уже сказал например пазл тв может в фоне обновлять данные, а это значит что те данные которые ты получил запустив плеер, уже могут быть не теми что сейчас сам себе на обновлял пазл.

Короче, в случае пазла когда у него небольшие данные и могут быть легко и быстро обновлены в любой непонятной ситуации тыкай u. Вот и всё. Любые иные попытки исправления проблемы приведёт к ещё к тысяче строк кода, общему замедлению работы и автоматическим долгим действиям которые не сможет прервать пользователь, а если прервёт, то они начнутся заново.

Итого, если сократить смысл простыни сверху просто тыкай u, обновилось и показало данные, отлично! Нет, опять тоже самое, ну что же ¯\(ツ)/¯ значит не судьба, попробуйте позже. Это в телевизоре всё автоматом ибо там всё синхронизировано, данные друг к другу подогнаны, сигналы про обновление конкретного канала и даже его телепередачи прилетают асинхронно, включая даже учёт времени на рекламу, в реалтайм режиме. Там это инфраструктура с целыми стойками из серверов, кучами микросервисов, поставщиками данных напрямую от провайдеров или даже API телеканалов, штатом сотрудников которые всё это поддерживают. А у нас, плейлист от Васи, EPG от Пети, ты я и скрипт на Lua и всё :D

Так что с пограничными случаями придётся просто смириться.

Но вот если будет момент когда в EPG данных будут данные телеканала, но они не будут показаны то это баг конечно, но я его подтвердить сейчас не могу, скачал, протестировал, нет, если обновить по u то всё появляется.

Фух. Вроде всё расписал.

(Это ещё повезло что разработчик пазл ТВ отзывчивый человек)

LINUX-ORG-RU ★★★★★
() автор топика
Последнее исправление: LINUX-ORG-RU (всего исправлений: 2)
Ответ на: комментарий от krasnh

когда пишет «Нет ТВ программы для данного канала»

Но возможно это особенности ПазлТВ

Да, это пазловские заморочки. Если открыть http://127.0.0.1:8185/editor, то там, где есть EPG - черный кружок, где нет - белый.

На скрине:

  • TV1000 - с EPG
  • TV1000 Русское кино - без EPG
krasnh ★★★★
()
Ответ на: комментарий от krasnh

Я там обновил, на меня виндузятник в иссуе напал и заставил… ой ладно не буду петросянить, короче для винды изменения сделал небольшие, единственное что поменялось теперь в я не использую zcat так как это обёртка над gzip, а использую gzip напрямую, в конфиге для этого ключи поменял zcat_path на gzip_path, но это тебя никак не заденет. Ну, всё вроде.

LINUX-ORG-RU ★★★★★
() автор топика
Ответ на: комментарий от krasnh

Ещё как оказалось (я у себя не могу воспроизвести но…) короче иногда затеняющий фон рисуется поверх текста, и работает это через раз, то сверху, то снизу фон, эта хрень кажется появляется в 0.37.0, в качестве решения вида «то ли сработает, то ли нет» поменял порядок отрисовки, а если не поможет добавил опцию background=true чтобы задник отключить вообще. И ещё мааленький отступ сделал между основным описанием текущей телепрограммы и следующих программ дабы смотрелось чуть по опрятнее.

К слову увидал скрипты где какой-то китаец целый гуй запилил для mpv, менюшки, кнопочки, анимации. Так что если будет кто головастый то сможет запилить программу телепередач прям по максимуму с полноценным гуем внутри mpv, таблицей телепередач и чтобы мышкой скролить и тыкать и тому подобное, но это точно буду не я :D Но это я к тому что можно сделать вполне продвинутый гуй для внутренних дел, только вот беда, в том что если у каждого расширения для mpv будет свой гуй и оно запустятся вместе, всё накладывается друг на друга и получается каша, а ещё оно тормозит не хило так. В целом прикольно, но ну его нахер.

LINUX-ORG-RU ★★★★★
() автор топика
Последнее исправление: LINUX-ORG-RU (всего исправлений: 1)
Ответ на: комментарий от krasnh
  • добавил возможность отключения часов, челик в issue попросил, хрен с ним, пусть будет
clock=true
  • добавил возможность ручного смещения времени, для «кривых» EPG, может пригодится, теперь если у кого неправильное время показывает пусть себе конфигурят как хотят, а код коррекции времени я трогать больше никогда не буду зато :D
force_time_shift=0
LINUX-ORG-RU ★★★★★
() автор топика
Ответ на: комментарий от krasnh

Пока кроме тебя и челика из issue это никому не нужно, я с кодом наигрался. Кому надо будет тот внесёт в список, для этого не надо быть разработчиком. :)

LINUX-ORG-RU ★★★★★
() автор топика
Ответ на: комментарий от LINUX-ORG-RU

Кому надо будет

Внес.


Делай добро и бросай его в воду. (c)

krasnh ★★★★
()

Обнаружился тут очень странный баг. И я не знаю к чему его отнести, к пазлу или EPGTV.

Есть такой достаточно интересный канал на пазле - «Кинопоказ», и у него нет epg. Автор подсказал добавить от «Кинопоказ HD» - найти в http://127.0.0.1:8185/editor сам канал, нажать на белый кружок с тремя точками и в появившемся списке выбрать «Кинопоказ HD».

Способ так себе конечно, все же у этих каналов разнобой по времени воспроизведения фильмов. Но для теста подойдет.

Так вот, я теперь вижу описание для «Кинопоказ» в ~/.cache/EPGTV/http19216811158185epgxmltv, а также в плеере при первом запуске или рестарте сервера или нажатии y/e, но если нажимаю u, то все - «Нет ТВ программы для этого канала».

krasnh ★★★★
()
Последнее исправление: krasnh (всего исправлений: 2)
Ответ на: комментарий от krasnh

Погляжу, u выкидывает из памяти всё, по новой берёт и парсит m3u (так как он мог быть изменён), по новой запрашивает epg данные (их же обновляем), короче это тоже самое что и с нуля открыть плейлист без кэша, кэш тоже для этого конкретного плейлиста перезаписывается целиком. У меня подозрение что пазлТВ отдаёт программу телепередач для этого канала лишь 1 раз, а во всех последующих запросах к нему её нету. Но это предположение как смогу попробую воспроизвести.

LINUX-ORG-RU ★★★★★
() автор топика
Ответ на: комментарий от krasnh

Так, пока вижу что в E[G кэше сейчас это

./http1270018185epgxmltv:77D89F7E "Кинопоказ" 20240923200000 20240923214500 0 "Тюремный романс" "Немолодая женщина-следователь, ведя дело уголовника, замешанного в торгово-финансовых махинациях, ..."
./http1270018185epgxmltv:77D89F7E "Кинопоказ" 20240923214500 20240923233000 0 "Егерь" "Василий - егерь, отставной офицер спецназа. Давний друг егеря Лёнчик - зэк. У обоих за спиной война, потери, ..."
./http1270018185epgxmltv:77D89F7E "Кинопоказ" 20240923233000 20240924012000 0 "Брат" "Дембельнувшись из рядов российской армии, Данила Багров заскочил в родной городок, повидался с матерью и ..."
./http1270018185epgxmltv:77D89F7E "Кинопоказ" 20240924012000 20240924032000 0 "Брат-2" "Данила Багров приехал в Москву, чтобы встретиться с армейскими друзьями Ильей и Костей. Их пригласили на ..."

В M3U данных это

#EXTINF:-1 group-title="ФИЛЬМЫ" tvg-name="Кинопоказ" tvg-id="E1E28468" tvg-logo="http://td-soft.narod.ru/logo/picon/E1E28468.png",Кинопоказ
http://127.0.0.1:8185/stream/E1E28468

А идентификатора 77D89F7E нет вовсе в M3U, а E1E28468 нет в EPG. Короче у канала разные идентификаторы в m3u один, а в epg другой. Короче пазлТВ для одного канала использует разные идентификаторы и EPGTV не может их сопоставить, так как они никак не связаны, это ошибка пазла .

EPGTV умеет искать канал из m3u в epg и просто по его названию, но это сейчас работает только в случае если в m3u просто нет идентификатора tvg-id, тогда вместо идентификаторов используются имена телеканалов которые предположительно используются в epg и m3u как идентификаторы для сопоставления, я видел такие плейлисты, поэтому так и сделал, ещё у некоторых плейлистов в имени канала может быть любая белиберда, но вот посмотри на окончание ссылки на поток http://127.0.0.1:8185/stream/E1E28468 окончание ссылки это соответствует идентификатору канала и EPGTV умеет и по нему искать тоже, но вот беда этого идентификатора нет в EPG.

В теории я могут добавить к трём существующим механизмам поиска канала четвёртый, а именно искать чисто по имени канала, игнорируя момент что у него уже есть tvg-id тогда в теории даже со сломанными данными которые сейчас ты получаешь, всё покажет. Но… Тут есть нюанс, в плейлисте могут быть например 5 одинаковых каналов с одинаковыми названиями, но разными потоками и разными идентификаторами, и если вести поиск по названию, оно будет выдавать первый попавшийся, это не совсем правильно и может вызвать вопросы в будущем, но это можно использовать как последнюю попытку поиска, когда либо вообще ничего, либо вот так.

Ща попробую сделать.

LINUX-ORG-RU ★★★★★
() автор топика
Ответ на: комментарий от LINUX-ORG-RU

Ну да, это EPG от чужого канала, где воспроизводится тот же контент, но со смещением по времени. Т.е. для такого случая надо и сдвиг времени делать для одного единственного канала.

Имхо, это слишком как-то костыльно получается. И если не добавлять в код еще и дополнительный механизм сдвига для отдельного канала (не представляю, как этим возможно управлять через конфиги), то лучше ничего не менять.
Брать epg для «Кинопоказ» от «Кинопоказ HD», это какое-то уж очень ‘опасное’ лекарство, как-бы и не страшней самой ‘болезни’.

krasnh ★★★★
()
Ответ на: комментарий от krasnh

Но ты автору пазла не спеши писать мол что-то не так, я сначала на 142% проверю что это не у меня глюк. Мало ли, может я чего не учитываю

LINUX-ORG-RU ★★★★★
() автор топика
Последнее исправление: LINUX-ORG-RU (всего исправлений: 1)
Ответ на: комментарий от krasnh

Ну да, это EPG от чужого канала

Да эт пофигу, от чужого или нет, просто, ну во первых я болван и забыл что у меня у самого в коде творится, а там есть это

if data[channel][#data[channel]].name ~= '#' then
  data[data[channel][#data[channel]].name] = data[channel]
end

Суть в том что если у канала есть заголовок с названием канала в epg display-title то я делаю обратное сопоставление с имени канала, на идентификатор канала, таким образом в таблице поиска есть и имена, а это значит что оно должно было найти канал, даже если не нашло по идентификатору…

И вот тут у меня к себе самому вопросы, а чего оно не нашло то?… Это должно было сработать, на второй попытке происка, поиск по tvg-id провалился, ладно, далее берётся ссылка потока она сопоставлена с именем канала в m3u, из этого сопоставления я извлекаю имя канала и опять запрашиваю его из ранее составленной обратной пары сопоставления индентификатора канала и его имени и тут всё должно найти так как в epg написано…

Странно. Короче буду думать, не тот момент что в epg или m3u или обоих сразу неверные идентифкаторы это факт, оно по ним и не может найти, но вот почему мой следующий механизм поиска не сработал, когда попытка взять данные по идентификатору провалилась, вот это непонятно. Надо разобраться.

Опишусь когда на 145% буду знать что конкретно происходит, тут возможно ещё проблема плавающая. Йех…

LINUX-ORG-RU ★★★★★
() автор топика
Ответ на: комментарий от krasnh

Я нашёл в чём проблема, короче как я выше говорил у меня три механизма поиска телеканала, через разные сопоставления и даже при неправильном tvg-id оно всё равно должно было найти, а оно и находило, когда я загружал кеш из файла я делал создание дополнительных пар сопоставления, а вот когда я получал данные напрямую, я просто сохранял имя телеканала, но не составлял подолнительных пар. Короче альтернативный поиск работал только в случае использования кеша. Обновись, всё должно работать.

Это даже хорошо что в пазлТВ сломались идентификаторы каналов, так как я бы и не узнал что у меня второй механизм поиска работает, но только в случае использования кэша, а это 99% времени работы программы )))))))))))))))))))

Я уже запушил изменения, там 3 строчки всего то и надо было.

LINUX-ORG-RU ★★★★★
() автор топика
Ответ на: комментарий от mittorn

К слову твой хттп на окошке работает (я правда чтобы разобраться всё раскидал для удобства, но да ладно, не все изменения, а лишь те что нужны точечные потом можно будет предложить уже в твою репу), в виртуалке проверял, я только путь / начал сбрасывать на /files который сбрасывается потом на . и всё (за исключением некоторых моментов), я пока в ужас (в том плане что не разобрался ещё) твоего nolibc не нырял, но единственная проблема это то что пути в процентном кодировании, но эт ладно, я как раз пишу раздутый, но гибкий, процентный декодер/кодер, а потом попробую внедрить. Хотя я так понимаю вся суть и есть в nolibc, но можно расшифровку вот этого

Simple http server for managing data folder on restricted android environment

Этот сервер предполагается запускать в чём то вроде termux? Ладно локально на ПК тут всё понятно. Но если предполагается что этот сервер расчитан на работу в ограниченном окружении андроида, то.

  • Какого андроида?
  • Чем и ты собирал сервер для андроида?
  • Вся суть nolibc в том чтобы собирать просто под ARM на просто ПК, без всяких NDK?

Вот по этому поводу можно пару слов? Я глазами то всё вижу. Не факт что я продолжу/осилю вообще, но всё же, в каких условиях ранее работал этот сервер и в чём ключевая важность реализации nolibc, почему нельзя просто собирать с нужной libc? Верю что так надо, но не совсем въезжаю почему.

Ещё раз по поводу того как выглядит форк, то как он выглядит и как реорганизован значения не имеет, это лишь для удобства, конкретные изменения к работе webdav можно потом выдернуть точечно.

LINUX-ORG-RU ★★★★★
() автор топика
Последнее исправление: LINUX-ORG-RU (всего исправлений: 1)
Ответ на: комментарий от LINUX-ORG-RU

Этот сервер предполагается запускать внутри android приложения чтобы закидывать в негт файлы. Т.к android намертво сломал ФС на нерутованных устройствах, другого способа хранить файлы доступными и приложению и полтзователю нет
nolibc чисто для экономии и по причине того, что на androod до 4.1 нельзя запускать no pie бинари, а начиная с 5.0 - pie, чтобы не держать 2 сервера просто решил убрать libc оттуда т.к серверу нужно от системы только полтора сискола.
В принципе где nolibc запускать разницы нет - я уже проверил что сисколы везде работают одинаково. Там просто могут быть какие-то баги пока я переписывал работу со строками, потому надо всё проверять со всеми webdav клиентами. В общем-то конфиругации, котррые доожны были работать:
1. Windows XP - у него ограниченный webdav, сетевой диск подключить нельзя
2. windows 7 - тут без одной настройки любое действие подвисает на секунду, известный баг
3. Windows 10 - должно работать полностью
4. OSX Finder - проверял на 12й макоси
5. Всякие konqeror и прочие kio - как мне показалось, сам клиент багованный, но файлы показывает. Может всё повесить

mittorn ★★★★★
()
Ответ на: комментарий от mittorn

Ладно, учитывая все нюансы и объективные требования к тестированию, пожалуй приостановлюсь с этим, один фиг в реальных условиях запустить я не могу, тупо не в чем. Проверять тоже не смогу, одна виртулка с семёркой это уже геморой, система не вывозит моя, а чекать да, надо всё, ибо в одном месте починишь в другом отвалится. Ну в общем на меня не надейся, я ещё попробую потыкаться, но уже лишь с целью заставить работать то что сейчас не работает конкретно у меня. Короче попробую хотя бы когда хост это просто ПК разобраться с win7 webdav до конца, предложу изменения по этому поводу, ну и наверное всё.

Я просто изначально наивно подумал что будет достаточно просто покопаться с кодом и хотя бы заставить его собираться. Но нет :) Нужен целый парк виртуалок и как минимум два андроид устройства и множество других нюансов которые я кажется не осилю.

Ладно. Видно будет. Пока тоже откладываю в ящик :) Хотя чисто технически, штука интересная, вроде простая, но с изюминкой :)

P.S. Закинь в репу себе хоть какую-то лицензию, хоть EULA, хоть что. Что-то обязательно должно быть. А то ни туда, ни сюда.

LINUX-ORG-RU ★★★★★
() автор топика
Последнее исправление: LINUX-ORG-RU (всего исправлений: 1)
18 декабря 2024 г.
Ответ на: комментарий от krasnh

@krasnh до меня там виндузятник домогается :D, время старта-стопа просит передвинуть влево. Так как кроме тебя и его никто ЕПГТВ не пользуется то выскажи своё мнение (желательно там в issue), фиг с ним можно добавить вариант с расположением слева, но наверное лучше оставить вариант текущий, а дополнительные конфигом задавать, но может и тебе хочется как и тому человеку слева проценты и время (продолжительности, а не часов)

https://github.com/blogdron/EPGTV/issues/7

Короче скажи там своё за или против, я картинки как может быть по иному приложил.

LINUX-ORG-RU ★★★★★
() автор топика
Последнее исправление: LINUX-ORG-RU (всего исправлений: 1)
Ответ на: комментарий от LINUX-ORG-RU

@krasnh ой короче, я как злюка всё за вас решил :D, добавил три стиля в конфиг, всё оставил как есть, но ещё появилось два варианта отображения.

   --------------------------
   --   playinfo style     --
   --------------------------
   top_title_playinfo_style=1, -- 1 -- time + percent in right
                               -- 2 -- time + percent in left
                               -- 3 -- time + percent under top title

А то потом у меня времени не будет, лучше сразу ща

LINUX-ORG-RU ★★★★★
() автор топика
Последнее исправление: LINUX-ORG-RU (всего исправлений: 1)
Ответ на: комментарий от LINUX-ORG-RU

Так как кроме тебя и его никто ЕПГТВ не пользуется

Нас все еще только двое? Я думал прибавится народу, в смысле количества посещений/просмотров/скачиваний, после того как опубликовал инфу о скрипте в https://github.com/mpv-player/mpv/wiki/User-Scripts.

krasnh ★★★★
()
Последнее исправление: krasnh (всего исправлений: 2)
Ответ на: комментарий от krasnh

Нас все еще только двое?

А куда больше, нормально, хватит =) Да вас только двое. Ну и я ещё, но я редко пользуюсь.

LINUX-ORG-RU ★★★★★
() автор топика
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)