LINUX.ORG.RU

Создал патч для tvtime для 16:9 и 16:10 мониторов


1

1

Имею монитор 16:9 и телевизор хочу смотреть без искажений, жертвую полями сверху и снизу. Раньше делал так:

tvtime --window & sleep 1.5 && tvtime-command SET_MATTE 16:9 AUTO_ADJUST_WINDOW
но всё равно строка громкости и время уходят за пределы экрана и их не видно.

Патч ставит сразу нужный размер и подгоняет окно к нужному размеру. и строка громкости и время влазят в окно.

--- src/tvtime.c	2011-11-10 20:23:34.000000000 +0400
+++ src/tvtime.c	2011-11-10 20:23:45.000000000 +0400
@@ -1201,10 +1201,10 @@
     deinterlace_method_t *curmethod;
     int curmethodid;
     int matte_x = 0;
-    int matte_w = 0;
-    int matte_y = 0;
-    int matte_h = 0;
-    int matte_mode = 0;
+    int matte_w = 720;
+    int matte_y = 72;  /* for 16:9 = 72 ; for 16:10 = 48 */
+    int matte_h = 432;  /* for 16:9 = 432 ; for 16:10 = 480 */
+    int matte_mode = 1;  /* for 16:9 = 1 ; for 16:10 = 2 */
     int restarttvtime = 0;
     int return_value = 0;
     int last_current_id = -1;
@@ -1581,6 +1581,9 @@
     build_fspos_menu( commands_get_menu( commands, "fspos" ),
                       config_get_fullscreen_position( ct ) );

+    output->set_matte( 768, 432 );  /* for 16:9 = ( 768, 432 ) ; for 16:10 = ( 768, 480 ) */
+    output->set_window_height( output->get_visible_height() );
+
     /* Initialize our timestamps. */
     for(;;) {
         const char *fifo_args = 0;
--- src/tvtimeosd.c	2011-11-10 20:21:35.000000000 +0400
+++ src/tvtimeosd.c	2011-11-10 20:20:55.000000000 +0400
@@ -141,7 +141,7 @@
     unsigned int other_b;
 };

-const int top_size = 7;
+const int top_size = 14;
 const int left_size = 7;
 const int left_inner_size = 10;
 const int bottom_size = 13; 

это для режима 16:9, для режима 16:10 надо поменять некоторые цифры в патче.

оставлю это здесь, так как не знаю куда это девать/отправить... может кому-нибудь и пригодится.. Спасибо тоже приятно...


респект тебе, чувак

int13h ★★★★★ ()

покажите если не лень скрины до и после, ибо на 16:10 в бубунте все нормально уже года 3

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

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

>я слышал, что каноникл именно на сабж весьма полезные патчи во многих местах наложила и он нехило так отличается от оригинала

Если и наложила, то это не сильно заметно: до сих пор сабж не держит альсу, а в юнити его окно не ассоциируется с лаунчером.

lyset ★★★ ()

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

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

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

vaka ()
Ответ на: комментарий от lyset

У меня работает, PulseAudio нет, TV-тюнер подключен к Line In, вот он и регулируется. Проверь у себя, открой регулятор звука на Line In и подвигай звук у TV Time.

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

работает, осильте уже конфиг и пропишите нужный канал альсы. юнити не нужен

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

вот такого в бубунте не было никогда, подозреваю из-за патчей

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

В alsamixer я могу регулировать line in, а в tvtime стрелочками - нет. Ругается на отсутствие /dev/mixer, padsp не помогает.

lyset ★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.