Für alle Skinner: Skin Scaler - Ein Linux-Script zur Skalierung von Skins

Antworten
Nachricht
Autor
Benutzeravatar
Fischreiher
VIP
VIP
Beiträge: 1349
Registriert: 22 Dez 2013 13:01
Wohnort: an der Havel
Receiver 1: Gigablue Quad
Receiver 2: Gigablue Quad
Receiver 3: Xtrend ET8000
Hat gedankt: 381 Mal
Hat Dank erhalten: 673 Mal

Für alle Skinner: Skin Scaler - Ein Linux-Script zur Skalierung von Skins

#1

Beitrag von Fischreiher »

Wer die Auflösung einer existierenden Skin verändern möchte, zum Beispiel für die neuen 4k-Boxen, kennt das Problem: Jede Positions- und Größenangabe muss angepasst werden, was recht aufwändig sein kann.

Diese Aufgabe kann mein kleines Script übernehmen. Es findet Größen- und Positionsangaben und skaliert diese.

Aus

Code: Alles auswählen

[...] position="[color=#00ff00]100[/color],[color=#00ff00]200[/color]" size="[color=#00ff00]10[/color],[color=#00ff00]20[/color]" [...]

wird z.B.

Code: Alles auswählen

[...] position="[color=#00ff00]150[/color],[color=#00ff00]300[/color]" size="[color=#00ff00]15[/color],[color=#00ff00]30[/color]" [...]


Das Script ist in perl geschrieben und ist unter Linux lauffähig. Aufgerufen wird es mit

Code: Alles auswählen

skin_scale.pl old_res new_res in_file out_file

also z.B.

Code: Alles auswählen

skin_scale.pl 400 480 display400/skin_display_picon.xml display480/skin_display_picon.xml


Aus dem Verhältnis der neuen zur alten Auflösung ergibt sich der Skalierungsfaktor.

Bei diesem Script handelt es sich um eine Alpha-Version. Es beherrscht momentan nur die Anpassung von "size" und "position". Um eine Skin komplett umzusetzen, sind noch erhebliche Erweiterungen erforderlich, von denen sich einige sicher einfach nach dem gleichen Schema ergänzen lassen. Bitte postet Änderungs- und Erweiterungswünsche hier oder erweitert das Script einfach selbst und veröffentlicht die neue Version hier. Ich werde mich auch darum bemühen, es in ein git Repository einzuchecken.

Die Alpha-Version gibt es hier: [ATTACH]29102[/ATTACH]
Dateianhänge
skin_scale.zip
(778 Bytes) 22-mal heruntergeladen
SpecialJump: Plugin zum schnellen manuellen Überspringen von Werbung (und mehr)
http://www.opena.tv/plugins/6240-specia ... -mehr.html
Feature der Woche:
* Fast Zap Mode (beschleunigte Umschaltzeiten durch vorausschauendes Vorladen des nächsten Senders auf einem weiteren Tuner)
Benutzeravatar
Fischreiher
VIP
VIP
Beiträge: 1349
Registriert: 22 Dez 2013 13:01
Wohnort: an der Havel
Receiver 1: Gigablue Quad
Receiver 2: Gigablue Quad
Receiver 3: Xtrend ET8000
Hat gedankt: 381 Mal
Hat Dank erhalten: 673 Mal

#2

Beitrag von Fischreiher »

Hier kommt eine neue Version:

- Anpassung an Ubuntu (line endings: kein chomp)
- Skalierung unabhängig in x und y
- Textgröße wird im Verhältnis der x-Größen skaliert, damit die Breite stimmt

Aufruf z.B. mit

Code: Alles auswählen

skin_scale.pl 400x200 480x320 display400/skin_display_picon.xml display480/skin_display_picon.xml


[ATTACH]29110[/ATTACH]
Dateianhänge
skin_scale.zip
(974 Bytes) 16-mal heruntergeladen
SpecialJump: Plugin zum schnellen manuellen Überspringen von Werbung (und mehr)
http://www.opena.tv/plugins/6240-specia ... -mehr.html
Feature der Woche:
* Fast Zap Mode (beschleunigte Umschaltzeiten durch vorausschauendes Vorladen des nächsten Senders auf einem weiteren Tuner)
Benutzeravatar
Fischreiher
VIP
VIP
Beiträge: 1349
Registriert: 22 Dez 2013 13:01
Wohnort: an der Havel
Receiver 1: Gigablue Quad
Receiver 2: Gigablue Quad
Receiver 3: Xtrend ET8000
Hat gedankt: 381 Mal
Hat Dank erhalten: 673 Mal

#3

Beitrag von Fischreiher »

Hier kommt eine neue Version mit eigenem Parameter für die Textgrößen-Skalierung (hilfreich, wenn in x und y nicht mit dem gleichen Faktor skaliert wird):

Code: Alles auswählen

# skin scaler
#
# usage:
# skin_scale.pl old_res new_res text_scale in_file out_file
#
# text_scale options:
#   auto_x    ... scale like ratio new/old res. in x (for matching text width)
#   auto_y    ... scale like ratio new/old res. in y (for matching text height)
#   auto      ... scale like ratio new/old res., average of x and y
#   105       ... scale by factor (in percent, 100 = no scaling)
#
# example:
# skin_scale.pl 400x200 480x320 auto_x display400/skin_display_picon.xml display480/skin_display_picon.xml


[ATTACH]29265[/ATTACH]
Dateianhänge
skin_scale.zip
(1.18 KiB) 18-mal heruntergeladen
SpecialJump: Plugin zum schnellen manuellen Überspringen von Werbung (und mehr)
http://www.opena.tv/plugins/6240-specia ... -mehr.html
Feature der Woche:
* Fast Zap Mode (beschleunigte Umschaltzeiten durch vorausschauendes Vorladen des nächsten Senders auf einem weiteren Tuner)
Benutzeravatar
Fischreiher
VIP
VIP
Beiträge: 1349
Registriert: 22 Dez 2013 13:01
Wohnort: an der Havel
Receiver 1: Gigablue Quad
Receiver 2: Gigablue Quad
Receiver 3: Xtrend ET8000
Hat gedankt: 381 Mal
Hat Dank erhalten: 673 Mal

#4

Beitrag von Fischreiher »

Hier ein Update mit mehr Skalierungen und besserem Umgang mit "white spaces", es wird fast alles skaliert außer pixmaps natürlich:

[ATTACH]45198[/ATTACH]
Dateianhänge
skin_scale.zip
(1.52 KiB) 20-mal heruntergeladen
SpecialJump: Plugin zum schnellen manuellen Überspringen von Werbung (und mehr)
http://www.opena.tv/plugins/6240-specia ... -mehr.html
Feature der Woche:
* Fast Zap Mode (beschleunigte Umschaltzeiten durch vorausschauendes Vorladen des nächsten Senders auf einem weiteren Tuner)
Antworten

Zurück zu „Skins“