home
products
contribute
download
documentation
forum
Home
Forums
New posts
Search forums
What's new
New posts
All posts
Latest activity
Members
Registered members
Current visitors
Donate
Log in
Register
What's new
Search
Search
Search titles only
By:
New posts
Search forums
Search titles only
By:
Menu
Log in
Register
Navigation
Install the app
Install
More options
Contact us
Close Menu
Forums
Language specific support
Deutsches MediaPortal Forum
Plugins & Skins für das MediaPortal
Skins
Skin Modifikationen
[Workshop] Titan Basic Home nach eigenen Bedürfnissen anpassen
Contact us
RSS
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an
alternative browser
.
Reply to thread
Message
<blockquote data-quote="bta489" data-source="post: 1025287" data-attributes="member: 138471"><p style="text-align: center"><strong><span style="font-size: 18px">Einleitung</span></strong></p><p></p><p>Hallo und herzlich Willkommen in meinem kleinen Workshop. Auslöser bei mir war das ich die Plugins die ich regelmäßig nutze über gefühlt tausende Untermenüs aufrufen musste, und PlugIns die ich nur höchst selten (oder gar nicht) verwende wertvollen Platz auf der Startseite wegnehmen. Da der offizielle Editor wohl noch ein Weilchen braucht bis er veröffentlicht wird bleibt einem im Moment nur die Möglichkeit die Skindateien manuell zu editieren. Mir persönlich gefällt das 2x3 Kachel-Design besser als die Extended-Variante (für die ja schon ein Editor existiert), deswegen werde ich hier auch nur darauf eingehen. Auf der Suche nach Tutorials wurde ich leider nicht fündig, also hab ich mir mit Hilfe der Informations-Schnipsel mal die Skindateien angesehen und etwas rumgespielt und eine (‘eine‘, nicht ‘Die‘) Lösung gefunden. Dieser Thread soll die Informationen hier also Bündeln um auch unerfahrenen Benutzern die Möglichkeit zu geben den Skin nach dem eigenen Nutzungsverhalten anzupassen.</p><p>Noch eins vorweg: Ich erhebe keinen Anspruch auf Perfektion. Angefangen habe ich in der Schulzeit mit Pascal und Delphi, mittlerweile bin ich auch etwas mit C vertraut, aber XML kannte ich so vorher nicht. Alles Nachfolgende hab ich mir selbst zusammengereimt (durch ‚Trial and Error‘), es mag also vielleicht nicht die sauberste und eleganteste Lösung sein, auf meinem System funktioniert es allerdings (bislang) ohne Probleme.</p><p></p><p></p><p style="text-align: center"><span style="font-size: 18px"><strong>Bevor es losgeht</strong></span></p><p></p><p>Was wird also benötigt? Nicht viel, ein Texteditor reicht (Grundlegende Computerkenntnisse sind sicherlich auch von Vorteil). Für Puristen tut es der eingebaute Windows-Editor (notepad.exe), etwas komfortabler geht’s zum Beispiel mit der Freeware notepad++ (<a href="http://notepad-plus-plus.org/download/v6.4.5.html" target="_blank">Link</a>). Die Vorteile: Das Programm bietet Tabs, man kann also komfortabel zwischen mehreren Dateien hin- und herschalten. Zudem erkennt es die Syntax und hebt sie farblich hervor, was für eine deutlich bessere Übersicht sorgt, Hilfestellungen gibt (markiert man z.B. eine öffnende Klammer wird die schließende Klammer mit hervorgehoben) und somit hilft Fehler zu vermeiden oder schneller zu finden.</p><p>Wer noch etwas mehr zum Thema .XML und Skindateien erfahren will, der sollte sich mal in Lehmden’s Thread „<a href="https://forum.team-mediaportal.com/threads/wie-modifiziert-man-einen-skin.103407/" target="_blank">Wie modifizert man einen Skin?</a>" umsehen. Da kann man noch ein paar Grundlagen erlernen.</p><p></p><p style="text-align: center"><span style="font-size: 18px"><strong>Theme erstellen</strong></span></p><p></p><p>Nachdem das geklärt ist können wir uns an die Arbeit machen. Zunächst erstellen wir ein eigenes Theme. Auf diese Weise zerschiessen wir uns nicht unser laufendes System. Außerdem erleichtert es die Arbeit bei ‘Trial and Error‘-Vorgehensweise, dazu aber später mehr.</p><p>Dazu öffnen wir den Skinordner. Standardmäßig sollte der unter <span style="color: #0000ff"><em>C:\ProgramData\Team MediaPortal\MediaPortal\Skin\Titan</em></span> zu finden sein. Im Unterordner <em><span style="color: #0000ff">Themes</span></em> (der dürfte schon existieren, falls nicht wird er einfach angelegt) erstellen wir jetzt einen neuen Ordner und benennen ihn zum Beispiel <em><span style="color: #0000ff">angepasst</span></em>. Dieser Name ist dann auch der mit dem ihr das Theme später anwählt. Damit Mediaportal auch weiss dass sich darin ein Theme befindet kopieren wir aus einem anderen Theme-Ordner (z.B. aus „blue background“) die Datei <em><span style="color: #0000ff">theme.xml</span></em> und editieren sie mit einem Texteditor (nicht mit dem Internet-Explorer, der kann nur lesen) und füllen unseren Namen zwischen <strong><author></strong> und <strong></author></strong> ein. Alternativ kann man natürlich auch eine neue theme.xml erstellen die folgendes enthält:</p><p></p><p>[CODE=xml]<?xml version="1.0" encoding="UTF-8" standalone="true"?></p><p> <controls></p><p><theme></p><p><version>1.4.0.0</version></p><p><author>bta489</author></p><p></theme></p><p></controls> [/CODE]</p><p></p><p></p><p>Und auch hier wieder bei <strong><author></strong> euren Namen eintragen, hier im Beispiel ist es meiner.</p><p></p><p>Jetzt haben wir schonmal ein eigenes Theme, was noch fehlt sind die geänderten Skindateien. Je nachdem was wir ändern wollen kopieren wir diese aus dem <span style="color: #0000ff"><em>Titan</em></span>-Ordner. Benötigt werden nur die Dateien die vom Original abweichen, für die erste BasicHome-Seite sollten es also</p><p></p><p><span style="color: #0000ff"><em>BasicHome.xml</em></span> und <em><span style="color: #0000ff">BasicHome.Submenus.xml</span></em> sein,</p><p></p><p>will man auch auf der zweiten Seite was ändern kommen noch die <em><span style="color: #0000ff">include.BasicHomeButton. … .xml</span></em> –Dateien hinzu. Wisst ihr schon welche Kachel ihr verschieben/ändern wollt reicht es nur die zugehörige .xml zu kopieren (also z.B. <em><span style="color: #0000ff">include.BasicHomeButton.onlinevideos.xml</span></em> für die Online-Videos-Kachel)</p><p></p><p style="text-align: center"><strong><span style="font-size: 18px">Editieren</span></strong></p><p></p><p><u><strong>I. Kacheln ersetzen</strong></u></p><p></p><p>Eine Kachel zu ersetzen ist, wie ich feststellen konnte, recht problemlos möglich. Wir öffnen zunächst die <em><span style="color: #0000ff">BasicHome.xml</span></em> in unserem Texteditor. Hier gibt es jetzt mehrere Dinge zu tun. Je nachdem um welche Kachel es sich handelt müssen verschiedene Einzelteile der Kachel editiert werden. In diesem Beispiel möchte ich die Radio-Kachel durch eine Wetter-Kachel ersetzen:</p><p></p><p>Zunächst werden wir das Bild editieren (Wer noch nach passenden Bildern sucht: <a href="https://forum.team-mediaportal.com/threads/post-your-customized-home-buttons-here.116634/" target="_blank">Hier</a> ist der offizielle Thread dazu). Haben wir ein passendes Bild gefunden erstellen wir in unserem gerade erstellten Theme-Ordner (Bsp.: <em><span style="color: #0000ff">C:\ProgramData\Team MediaPortal\MediaPortal\Skin\Titan\Themes\angepasst</span></em>) einen neuen Unterordner mit der Bezeichnung <em><span style="color: #0000ff">Media</span></em> und legen das Bild dort ab. Den Dateinamen können wir schonmal in die Zwischenablage kopieren oder uns zumindest merken)</p><p>In der <em><span style="color: #0000ff">BasicHome.xml</span> </em>scrollen wir nun soweit runter bis die Zeile <span style="color: #008000"><!-- :: ITEM IMAGES :: --></span> erscheint (Für die, die mit XML so gar nix am Hut haben: <span style="color: #008000"><!--</span> und <span style="color: #008000">--></span> umschließen Kommentare. Alles was dazwischen steht ist für den Computer irrelevant und wird ignoriert. Es sind Anmerkungen für Menschen wie eben uns, die sich in der Datei zurechtfinden wollen).</p><p>Nachfolgend werden die Bilder der Kacheln geregelt. Wir suchen also nach etwas wo Radio drin auftaucht, was praktischerweise schon der dritte Textblock ist:</p><p></p><p>[CODE=xml]<control></p><p><description>BasicHome Radio NoFocus</description></p><p><type>image</type></p><p><id>0</id></p><p><posX>42</posX></p><p><posY>607</posY></p><p><width>623</width></p><p><height>271</height></p><p><texture>basichome_button_radio.png</texture></p><p><animation effect="zoom" start="100,100" end="102,102" time="200" condition="control.hasfocus(3)">conditional</animation></p><p><animation effect="fade" time="250" reversible="false">visiblechange</animation></p><p><visible>![Control.IsVisible(3000)|control.HasFocus(200) | control.HasFocus(300) | control.HasFocus(400) | control.HasFocus(500) | control.HasFocus(600) | control.HasFocus(700)]</visible></p><p></control>[/CODE]</p><p></p><p>Wer sicher gehen will kopiert den ganzen Textblock, kommentiert das original aus (also <span style="color: #008000"><!--</span> davor schreiben, <span style="color: #008000">--></span> danach) und editiert die Kopie. So haben wir das Original zur Hand wenn wir zurückwechseln wollen. Ganz hartgesottene editieren einfach das Original.</p><p>Als erstes ändern wir den Wert des Description Feldes, das wir später auch wissen was der neue Button machen soll. Aus <strong><description>BasicHome Radio NoFocus</description></strong> wird also beispielsweise <strong><description>BasicHome Weather NoFocus</description></strong>.</p><p>Zwischen <strong><texture></strong> und <strong></texture></strong> ersetzen wir <span style="color: #0000ff"><em>basichome_button_radio.png</em></span> mit dem Dateinamen des neuen Bildes den wir zuvor in die Zwischenablage kopiert haben (etwa <em><span style="color: #0000ff">basichome_button_weather.png </span></em>um die ‚offizielle‘ Nomenklatur zu verwenden).</p><p>An der Position und dem generellen Verhalten wollen wir nichts ändern deswegen bleibt der Rest dieser Control-Einheit unangetastet.</p><p></p><p>Wir scrollen weiter bis wir in die <span style="color: #008000"><!-- :: BUTTONS:: --></span>-Sektion gelangen. Hier werden jetzt die eigentlichen Schalter geregelt, also was beim anwählen aufgerufen wird. Auch hier suchen wir eine Control-Einheit in der Radio auftaucht und werden beim zweiten Block fündig:</p><p></p><p>[CODE=xml]<control></p><p> <description>BasicHome Radio</description></p><p> <type>button</type></p><p> <id>3</id></p><p> <posX>52</posX></p><p> <posY>613</posY></p><p> <width>594</width></p><p> <height>241</height></p><p> <textureFocus>basichome_menu_item_label_overlay.png</textureFocus></p><p> <textureNoFocus>basichome_menu_item_label_overlay.png</textureNoFocus></p><p> <hyperlink>30</hyperlink></p><p> <label>665</label></p><p> <font>TitanLight20</font></p><p> <textcolor>FFFFFF</textcolor></p><p> <textalign>center</textalign></p><p> <textcolorNoFocus>FFFFFFFF</textcolorNoFocus></p><p> <textYOff>88</textYOff></p><p> <onright>5</onright></p><p> <onleft>7</onleft></p><p> <onup>2</onup></p><p> <ondown>12</ondown></p><p><animation effect="fade" time="250" reversible="false">visiblechange</animation></p><p><animation effect="zoom" start="100,100" end="102,102" time="200">focus</animation></p><p><animation effect="zoom" start="102,102" end="100,100" time="150">unfocus</animation></p><p><animation effect="fade" time="250">WindowOpen</animation></p><p><animation effect="fade" time="250">WindowClose</animation></p><p><visible allowhiddenfocus="true">![control.hasfocus(12)|control.hasfocus(13)|control.hasfocus(14)|control.hasfocus(99999)|Control.IsVisible(3000)|control.HasFocus(200) | control.HasFocus(300) | control.HasFocus(400) | control.HasFocus(500) | control.HasFocus(600) | control.HasFocus(700)]</visible></p><p></control>[/CODE]</p><p></p><p>Auch hier passen wir zunächst die Beschreibung (<strong><description> BasicHome Weather</description></strong>) des Blocks an. Nun ändern wir die Verknüpfung mit dem Radio-Modul und sagen Mediaportal dass der Button WorldWeatherLite aufrufen soll. Dazu benötigen wir die ID des PlugIns. Im <em><span style="color: #0000ff">Titan</span></em>-Ordner suchen wir also die Haupt-XML des PlugIns (Hier: <span style="color: #0000ff"><em>WorldWeatherLite.xml</em></span>) und öffnen sie. Hier wollen wir nur die ID lesen, deswegen tuts auch der InternetExplorer der standardmäßig XMLs öffnet. Wir finden in der dritten Zeile ein Feld mit <strong><id>79770</id></strong>. Das haben wir gesucht. Wir merken uns die Zahl (oder kopieren sie), schliessen die Datei wieder und editieren nun das zugehörige Feld in der <em><span style="color: #0000ff">BasicHome.xml</span></em>: Aus <strong><hyperlink>30</hyperlink></strong> wird also <strong><hyperlink>79770</hyperlink></strong>. Die Beschriftung wird bei <strong><label> ... </label></strong> eingetragen. Hier steht nun nicht „Radio“ oder ähnliches drin, sondern eine Nummer (665). Das kommt daher dass Mediaportal verschiedene Sprachen unterstützt. Die Nummer verweist auf eine Tabelle von Variablen, deren Inhalt die Übersetzung eines Begriffs ist. Wer sich die Mühe machen will kann sich den Verweis auf ‚Wetter‘ in den Sprachdateien suchen und diese Nummer eintragen, hier geht es ja mehr um den Heimgebrauch, also können wir auch einfach Wetter hineinschreiben.</p><p></p><p>Nachdem wir gespeichert haben können wir Mediaportal starten, und in <em>Einstellungen > GUI > Skin</em> bei Thema das neue Theme<em> angepasst</em> wählen.</p><p>Auf diese Weise kann man auch während Mediaportal läuft editieren und spart sich so lange Ladezeiten. Die XMLs bearbeiten und speichern und anschliessend das Thema neu auswählen. so werden die XMLs neu geladen. Andere Kacheln lassen sich natürlich auf die selbe Weise ändern.</p><p></p><p>Die Kacheln der zweiten Seite werden in den <span style="color: #0000ff"><em>include.BasicHome. ... .xml</em></span> geregelt, die ich editiert habe. Das mag nicht die eleganteste Lösung sein, ist aber recht einfach. OnlineVideos war zB auf der zweiten Seite rechts oben (ist glaub ich Standard so), mit der oben erwähnten Methode habe ich es an die Stelle des Bilder-Buttons gesetzt, da ich den recht selten brauche. Was liegt da näher als die beiden gerade zu tauschen:</p><p>Hierzu öffnen wir jetzt die <em><span style="color: #0000ff">include.BasicHomeButton.onlinevideos.xml</span></em>, welche recht einfach aufgebaut ist. Im ersten Control-Block legen wir das neue Bild in <strong><texture>basichome_button_pictures.png</texture></strong> fest (<strong><description></strong> natürlich auch editieren) und im zweiten Block genauso <strong><description></strong> und <strong><label></strong> neu benennen und in <strong><hyperlink></strong> die neue ID eintragen (Bilder ist die 2). Fertig!</p><p></p><p>Wer will kann auch noch einen Schritt weiter gehen und die schönen blauen Untermenüs anpassen:</p><p></p><p></p><p><u><strong>II. Untermenüs editieren</strong></u></p><p></p><p>Wem die existierenden Unterpunkte der Untermenüs nicht passen der kann auch hier sein Unwesen treiben. Dazu will ich zwei Beispiele präsentieren:</p><p></p><p><strong>1</strong>. Im TV-Untermenü brauch ich z.B. den Punkt TV-Programm nicht, ich hab nen Knopf auf der Fernbedienung der mich dorthinbringt. Stattdessen möchte ich NoFear23m’s fabelhaftes Videoschnitt-Plugin „<a href="https://forum.team-mediaportal.com/threads/neues-plugin-myvideoredo.89995/" target="_blank">MyVideoRedo</a>“ aufrufen. Hierzu bearbeiten wir jetzt die <em><span style="color: #0000ff">BasicHome.submenus.xml</span></em>.</p><p>Nach dem Öffnen sehen wir schon gleich die <span style="color: #008000"><!-- :: TV :: --></span>-Sektion. Den ersten Control-Block ignorieren wir (hier wird der blaue Hintergrund und dessen Verhalten geregelt), wir suchen nach dem Block mit TV-Programm und werden beim fünften Block fündig:</p><p></p><p></p><p>[CODE=xml]<control></p><p></p><p> <description>TVGuide</description></p><p></p><p> <type>button</type></p><p></p><p></p><p> <id>1002</id></p><p></p><p></p><p> <width>500</width></p><p></p><p></p><p> <height>40</height></p><p></p><p> <textureFocus>-</textureFocus></p><p></p><p> <textureNoFocus>-</textureNoFocus></p><p></p><p> <hyperlink>600</hyperlink></p><p></p><p> <label>600</label></p><p></p><p> <font>font12</font></p><p></p><p> <textcolor>FFFFFFFF</textcolor></p><p></p><p> <textalign>left</textalign></p><p></p><p> <textcolorNoFocus>FF000000</textcolorNoFocus></p><p></p><p> <textYOff>0</textYOff></p><p></p><p> <onright>6</onright></p><p></p><p> <onleft>4</onleft></p><p></p><p> <onup>1001</onup></p><p></p><p> <ondown>1003</ondown></p><p></p><p> <visible allowhiddenfocus="true">control.HasFocus(1000) | control.HasFocus(1001) | control.HasFocus(1002) | control.HasFocus(1003) | control.HasFocus(1004)</visible></p><p></p><p></control>[/CODE]</p><p></p><p></p><p>Selbes Spiel wie Zuvor:</p><p><strong><description></strong> anpassen, unter <strong><hyperlink></strong> die neue ID eintragen (Hier findet man die passende ID in der <em><span style="color: #0000ff">MyVideoReDoStart.xml</span></em>. z.B. 1208) und dem Menüpunkt bei <strong><label></strong> einen neuen Namen geben (z.B. ‘VideoRedo‘), speichern und das Theme neu laden. Das wars schon.</p><p></p><p></p><p><strong>2</strong>. Sehr ärgerlich sind die kaputten Menüpunkte bei MovingPictures. Wenn man an den Kategorien rumgespielt hat führten die Punkte ‚Alle Filme‘ ‚neu hinzugefügt‘ und ‚ungesehen‘ lediglich zu einer Fehlermeldung. Auch das kann man beheben (oder auch andere Kategorien auswählen):</p><p></p><p>Wir öffnen die <span style="color: #0000ff"><em>BasicHome.submenus.xml</em></span> und scrollen bis zum <span style="color: #008000"><!-- :: Moving Pictures :: --></span>-Segment und suchen den zu bearbeitenden Control-Block (etwa den mit <strong><description>All Movies</description></strong> für den Menüpunkt Alle Filme). Bei <strong><hyperlinkParameter>categoryname:${AllMovies}</hyperlinkParameter></strong> wird die entsprechende Kategorie aufgerufen.</p><p>Jetzt brauchen wir den internen Namen der Kategorie. Um die zu finden benötigen wir ein Programm das SQL-Datenbanken lesen kann. Ein solches findet man zum Beispiel hier: <a href="http://sourceforge.net/projects/sqlitebrowser/" target="_blank">SQLite Database Browser</a>.</p><p>Ist es installiert öffnet man die MovingPictures Datenbank (Standardpfad sollte <em><span style="color: #0000ff">C:\ProgramData\Team MediaPortal\MediaPortal\Database\movingpictures.db3</span></em> sein) wählt das <em>Browse Data</em>-Tab und wählt bei <em>Table node aus, </em>um die Kategorien anzuzeigen. Ich hatte wohl in der Anfangszeit (als ich noch gar keine Ahnung hatte) die Lokalisierung überschrieben und die Kategorie fest <em>alle Filme</em> genannt. Also habe ich den Hyperlink-Parameter in <strong><hyperlinkParameter>categoryname:Alle Filme</hyperlinkParameter></strong> geändert und siehe da, es funktioniert wunderbar.</p><p>Will man eine Kategorie erstzen kann man hier natürlich auch eine andere Kategorie eintragen. Dazu dann noch die Felder <strong><description></strong> und <strong><label></strong> entsprechend mit anpassen.</p><p></p><p></p><p></p><p>Soweit also erstmal von mir. Als nächstes wird noch ein Beitrag kommen wie man ein eigenes Submenü erstellt, da das aber etwas umfangreicher ist wird das ein neuer Beitrag. Ich hoffe bisher war das halbwegs verständlich und informativ. Ich hoffe der Ein oder Andere kann seine Mediaportal-Installation nach seinen Bedürfnissen anpassen. Sollten Fragen auftauchen stellt sie, ich werde versuchen sie zu benatworten.</p><p></p><p>Viel Spaß beim editieren!</p></blockquote><p></p>
[QUOTE="bta489, post: 1025287, member: 138471"] [CENTER][B][SIZE=5]Einleitung[/SIZE][/B][/CENTER] Hallo und herzlich Willkommen in meinem kleinen Workshop. Auslöser bei mir war das ich die Plugins die ich regelmäßig nutze über gefühlt tausende Untermenüs aufrufen musste, und PlugIns die ich nur höchst selten (oder gar nicht) verwende wertvollen Platz auf der Startseite wegnehmen. Da der offizielle Editor wohl noch ein Weilchen braucht bis er veröffentlicht wird bleibt einem im Moment nur die Möglichkeit die Skindateien manuell zu editieren. Mir persönlich gefällt das 2x3 Kachel-Design besser als die Extended-Variante (für die ja schon ein Editor existiert), deswegen werde ich hier auch nur darauf eingehen. Auf der Suche nach Tutorials wurde ich leider nicht fündig, also hab ich mir mit Hilfe der Informations-Schnipsel mal die Skindateien angesehen und etwas rumgespielt und eine (‘eine‘, nicht ‘Die‘) Lösung gefunden. Dieser Thread soll die Informationen hier also Bündeln um auch unerfahrenen Benutzern die Möglichkeit zu geben den Skin nach dem eigenen Nutzungsverhalten anzupassen. Noch eins vorweg: Ich erhebe keinen Anspruch auf Perfektion. Angefangen habe ich in der Schulzeit mit Pascal und Delphi, mittlerweile bin ich auch etwas mit C vertraut, aber XML kannte ich so vorher nicht. Alles Nachfolgende hab ich mir selbst zusammengereimt (durch ‚Trial and Error‘), es mag also vielleicht nicht die sauberste und eleganteste Lösung sein, auf meinem System funktioniert es allerdings (bislang) ohne Probleme. [CENTER][SIZE=5][B]Bevor es losgeht[/B][/SIZE][/CENTER] Was wird also benötigt? Nicht viel, ein Texteditor reicht (Grundlegende Computerkenntnisse sind sicherlich auch von Vorteil). Für Puristen tut es der eingebaute Windows-Editor (notepad.exe), etwas komfortabler geht’s zum Beispiel mit der Freeware notepad++ ([URL='http://notepad-plus-plus.org/download/v6.4.5.html']Link[/URL]). Die Vorteile: Das Programm bietet Tabs, man kann also komfortabel zwischen mehreren Dateien hin- und herschalten. Zudem erkennt es die Syntax und hebt sie farblich hervor, was für eine deutlich bessere Übersicht sorgt, Hilfestellungen gibt (markiert man z.B. eine öffnende Klammer wird die schließende Klammer mit hervorgehoben) und somit hilft Fehler zu vermeiden oder schneller zu finden. Wer noch etwas mehr zum Thema .XML und Skindateien erfahren will, der sollte sich mal in Lehmden’s Thread „[URL='https://forum.team-mediaportal.com/threads/wie-modifiziert-man-einen-skin.103407/']Wie modifizert man einen Skin?[/URL]" umsehen. Da kann man noch ein paar Grundlagen erlernen. [CENTER][SIZE=5][B]Theme erstellen[/B][/SIZE][/CENTER] Nachdem das geklärt ist können wir uns an die Arbeit machen. Zunächst erstellen wir ein eigenes Theme. Auf diese Weise zerschiessen wir uns nicht unser laufendes System. Außerdem erleichtert es die Arbeit bei ‘Trial and Error‘-Vorgehensweise, dazu aber später mehr. Dazu öffnen wir den Skinordner. Standardmäßig sollte der unter [COLOR=#0000ff][I]C:\ProgramData\Team MediaPortal\MediaPortal\Skin\Titan[/I][/COLOR] zu finden sein. Im Unterordner [I][COLOR=#0000ff]Themes[/COLOR][/I] (der dürfte schon existieren, falls nicht wird er einfach angelegt) erstellen wir jetzt einen neuen Ordner und benennen ihn zum Beispiel [I][COLOR=#0000ff]angepasst[/COLOR][/I]. Dieser Name ist dann auch der mit dem ihr das Theme später anwählt. Damit Mediaportal auch weiss dass sich darin ein Theme befindet kopieren wir aus einem anderen Theme-Ordner (z.B. aus „blue background“) die Datei [I][COLOR=#0000ff]theme.xml[/COLOR][/I] und editieren sie mit einem Texteditor (nicht mit dem Internet-Explorer, der kann nur lesen) und füllen unseren Namen zwischen [B]<author>[/B] und [B]</author>[/B] ein. Alternativ kann man natürlich auch eine neue theme.xml erstellen die folgendes enthält: [CODE=xml]<?xml version="1.0" encoding="UTF-8" standalone="true"?> <controls> <theme> <version>1.4.0.0</version> <author>bta489</author> </theme> </controls> [/CODE] Und auch hier wieder bei [B]<author>[/B] euren Namen eintragen, hier im Beispiel ist es meiner. Jetzt haben wir schonmal ein eigenes Theme, was noch fehlt sind die geänderten Skindateien. Je nachdem was wir ändern wollen kopieren wir diese aus dem [COLOR=#0000ff][I]Titan[/I][/COLOR]-Ordner. Benötigt werden nur die Dateien die vom Original abweichen, für die erste BasicHome-Seite sollten es also [COLOR=#0000ff][I]BasicHome.xml[/I][/COLOR] und [I][COLOR=#0000ff]BasicHome.Submenus.xml[/COLOR][/I] sein, will man auch auf der zweiten Seite was ändern kommen noch die [I][COLOR=#0000ff]include.BasicHomeButton. … .xml[/COLOR][/I] –Dateien hinzu. Wisst ihr schon welche Kachel ihr verschieben/ändern wollt reicht es nur die zugehörige .xml zu kopieren (also z.B. [I][COLOR=#0000ff]include.BasicHomeButton.onlinevideos.xml[/COLOR][/I] für die Online-Videos-Kachel) [CENTER][B][SIZE=5]Editieren[/SIZE][/B][/CENTER] [U][B]I. Kacheln ersetzen[/B][/U] Eine Kachel zu ersetzen ist, wie ich feststellen konnte, recht problemlos möglich. Wir öffnen zunächst die [I][COLOR=#0000ff]BasicHome.xml[/COLOR][/I] in unserem Texteditor. Hier gibt es jetzt mehrere Dinge zu tun. Je nachdem um welche Kachel es sich handelt müssen verschiedene Einzelteile der Kachel editiert werden. In diesem Beispiel möchte ich die Radio-Kachel durch eine Wetter-Kachel ersetzen: Zunächst werden wir das Bild editieren (Wer noch nach passenden Bildern sucht: [URL='https://forum.team-mediaportal.com/threads/post-your-customized-home-buttons-here.116634/']Hier[/URL] ist der offizielle Thread dazu). Haben wir ein passendes Bild gefunden erstellen wir in unserem gerade erstellten Theme-Ordner (Bsp.: [I][COLOR=#0000ff]C:\ProgramData\Team MediaPortal\MediaPortal\Skin\Titan\Themes\angepasst[/COLOR][/I]) einen neuen Unterordner mit der Bezeichnung [I][COLOR=#0000ff]Media[/COLOR][/I] und legen das Bild dort ab. Den Dateinamen können wir schonmal in die Zwischenablage kopieren oder uns zumindest merken) In der [I][COLOR=#0000ff]BasicHome.xml[/COLOR] [/I]scrollen wir nun soweit runter bis die Zeile [COLOR=#008000]<!-- :: ITEM IMAGES :: -->[/COLOR] erscheint (Für die, die mit XML so gar nix am Hut haben: [COLOR=#008000]<!--[/COLOR] und [COLOR=#008000]-->[/COLOR] umschließen Kommentare. Alles was dazwischen steht ist für den Computer irrelevant und wird ignoriert. Es sind Anmerkungen für Menschen wie eben uns, die sich in der Datei zurechtfinden wollen). Nachfolgend werden die Bilder der Kacheln geregelt. Wir suchen also nach etwas wo Radio drin auftaucht, was praktischerweise schon der dritte Textblock ist: [CODE=xml]<control> <description>BasicHome Radio NoFocus</description> <type>image</type> <id>0</id> <posX>42</posX> <posY>607</posY> <width>623</width> <height>271</height> <texture>basichome_button_radio.png</texture> <animation effect="zoom" start="100,100" end="102,102" time="200" condition="control.hasfocus(3)">conditional</animation> <animation effect="fade" time="250" reversible="false">visiblechange</animation> <visible>![Control.IsVisible(3000)|control.HasFocus(200) | control.HasFocus(300) | control.HasFocus(400) | control.HasFocus(500) | control.HasFocus(600) | control.HasFocus(700)]</visible> </control>[/CODE] Wer sicher gehen will kopiert den ganzen Textblock, kommentiert das original aus (also [COLOR=#008000]<!--[/COLOR] davor schreiben, [COLOR=#008000]-->[/COLOR] danach) und editiert die Kopie. So haben wir das Original zur Hand wenn wir zurückwechseln wollen. Ganz hartgesottene editieren einfach das Original. Als erstes ändern wir den Wert des Description Feldes, das wir später auch wissen was der neue Button machen soll. Aus [B]<description>BasicHome Radio NoFocus</description>[/B] wird also beispielsweise [B]<description>BasicHome Weather NoFocus</description>[/B]. Zwischen [B]<texture>[/B] und [B]</texture>[/B] ersetzen wir [COLOR=#0000ff][I]basichome_button_radio.png[/I][/COLOR] mit dem Dateinamen des neuen Bildes den wir zuvor in die Zwischenablage kopiert haben (etwa [I][COLOR=#0000ff]basichome_button_weather.png [/COLOR][/I]um die ‚offizielle‘ Nomenklatur zu verwenden). An der Position und dem generellen Verhalten wollen wir nichts ändern deswegen bleibt der Rest dieser Control-Einheit unangetastet. Wir scrollen weiter bis wir in die [COLOR=#008000]<!-- :: BUTTONS:: -->[/COLOR]-Sektion gelangen. Hier werden jetzt die eigentlichen Schalter geregelt, also was beim anwählen aufgerufen wird. Auch hier suchen wir eine Control-Einheit in der Radio auftaucht und werden beim zweiten Block fündig: [CODE=xml]<control> <description>BasicHome Radio</description> <type>button</type> <id>3</id> <posX>52</posX> <posY>613</posY> <width>594</width> <height>241</height> <textureFocus>basichome_menu_item_label_overlay.png</textureFocus> <textureNoFocus>basichome_menu_item_label_overlay.png</textureNoFocus> <hyperlink>30</hyperlink> <label>665</label> <font>TitanLight20</font> <textcolor>FFFFFF</textcolor> <textalign>center</textalign> <textcolorNoFocus>FFFFFFFF</textcolorNoFocus> <textYOff>88</textYOff> <onright>5</onright> <onleft>7</onleft> <onup>2</onup> <ondown>12</ondown> <animation effect="fade" time="250" reversible="false">visiblechange</animation> <animation effect="zoom" start="100,100" end="102,102" time="200">focus</animation> <animation effect="zoom" start="102,102" end="100,100" time="150">unfocus</animation> <animation effect="fade" time="250">WindowOpen</animation> <animation effect="fade" time="250">WindowClose</animation> <visible allowhiddenfocus="true">![control.hasfocus(12)|control.hasfocus(13)|control.hasfocus(14)|control.hasfocus(99999)|Control.IsVisible(3000)|control.HasFocus(200) | control.HasFocus(300) | control.HasFocus(400) | control.HasFocus(500) | control.HasFocus(600) | control.HasFocus(700)]</visible> </control>[/CODE] Auch hier passen wir zunächst die Beschreibung ([B]<description> BasicHome Weather</description>[/B]) des Blocks an. Nun ändern wir die Verknüpfung mit dem Radio-Modul und sagen Mediaportal dass der Button WorldWeatherLite aufrufen soll. Dazu benötigen wir die ID des PlugIns. Im [I][COLOR=#0000ff]Titan[/COLOR][/I]-Ordner suchen wir also die Haupt-XML des PlugIns (Hier: [COLOR=#0000ff][I]WorldWeatherLite.xml[/I][/COLOR]) und öffnen sie. Hier wollen wir nur die ID lesen, deswegen tuts auch der InternetExplorer der standardmäßig XMLs öffnet. Wir finden in der dritten Zeile ein Feld mit [B]<id>79770</id>[/B]. Das haben wir gesucht. Wir merken uns die Zahl (oder kopieren sie), schliessen die Datei wieder und editieren nun das zugehörige Feld in der [I][COLOR=#0000ff]BasicHome.xml[/COLOR][/I]: Aus [B]<hyperlink>30</hyperlink>[/B] wird also [B]<hyperlink>79770</hyperlink>[/B]. Die Beschriftung wird bei [B]<label> ... </label>[/B] eingetragen. Hier steht nun nicht „Radio“ oder ähnliches drin, sondern eine Nummer (665). Das kommt daher dass Mediaportal verschiedene Sprachen unterstützt. Die Nummer verweist auf eine Tabelle von Variablen, deren Inhalt die Übersetzung eines Begriffs ist. Wer sich die Mühe machen will kann sich den Verweis auf ‚Wetter‘ in den Sprachdateien suchen und diese Nummer eintragen, hier geht es ja mehr um den Heimgebrauch, also können wir auch einfach Wetter hineinschreiben. Nachdem wir gespeichert haben können wir Mediaportal starten, und in [I]Einstellungen > GUI > Skin[/I] bei Thema das neue Theme[I] angepasst[/I] wählen. Auf diese Weise kann man auch während Mediaportal läuft editieren und spart sich so lange Ladezeiten. Die XMLs bearbeiten und speichern und anschliessend das Thema neu auswählen. so werden die XMLs neu geladen. Andere Kacheln lassen sich natürlich auf die selbe Weise ändern. Die Kacheln der zweiten Seite werden in den [COLOR=#0000ff][I]include.BasicHome. ... .xml[/I][/COLOR] geregelt, die ich editiert habe. Das mag nicht die eleganteste Lösung sein, ist aber recht einfach. OnlineVideos war zB auf der zweiten Seite rechts oben (ist glaub ich Standard so), mit der oben erwähnten Methode habe ich es an die Stelle des Bilder-Buttons gesetzt, da ich den recht selten brauche. Was liegt da näher als die beiden gerade zu tauschen: Hierzu öffnen wir jetzt die [I][COLOR=#0000ff]include.BasicHomeButton.onlinevideos.xml[/COLOR][/I], welche recht einfach aufgebaut ist. Im ersten Control-Block legen wir das neue Bild in [B]<texture>basichome_button_pictures.png</texture>[/B] fest ([B]<description>[/B] natürlich auch editieren) und im zweiten Block genauso [B]<description>[/B] und [B]<label>[/B] neu benennen und in [B]<hyperlink>[/B] die neue ID eintragen (Bilder ist die 2). Fertig! Wer will kann auch noch einen Schritt weiter gehen und die schönen blauen Untermenüs anpassen: [U][B]II. Untermenüs editieren[/B][/U] Wem die existierenden Unterpunkte der Untermenüs nicht passen der kann auch hier sein Unwesen treiben. Dazu will ich zwei Beispiele präsentieren: [B]1[/B]. Im TV-Untermenü brauch ich z.B. den Punkt TV-Programm nicht, ich hab nen Knopf auf der Fernbedienung der mich dorthinbringt. Stattdessen möchte ich NoFear23m’s fabelhaftes Videoschnitt-Plugin „[URL='https://forum.team-mediaportal.com/threads/neues-plugin-myvideoredo.89995/']MyVideoRedo[/URL]“ aufrufen. Hierzu bearbeiten wir jetzt die [I][COLOR=#0000ff]BasicHome.submenus.xml[/COLOR][/I]. Nach dem Öffnen sehen wir schon gleich die [COLOR=#008000]<!-- :: TV :: -->[/COLOR]-Sektion. Den ersten Control-Block ignorieren wir (hier wird der blaue Hintergrund und dessen Verhalten geregelt), wir suchen nach dem Block mit TV-Programm und werden beim fünften Block fündig: [CODE=xml]<control> <description>TVGuide</description> <type>button</type> <id>1002</id> <width>500</width> <height>40</height> <textureFocus>-</textureFocus> <textureNoFocus>-</textureNoFocus> <hyperlink>600</hyperlink> <label>600</label> <font>font12</font> <textcolor>FFFFFFFF</textcolor> <textalign>left</textalign> <textcolorNoFocus>FF000000</textcolorNoFocus> <textYOff>0</textYOff> <onright>6</onright> <onleft>4</onleft> <onup>1001</onup> <ondown>1003</ondown> <visible allowhiddenfocus="true">control.HasFocus(1000) | control.HasFocus(1001) | control.HasFocus(1002) | control.HasFocus(1003) | control.HasFocus(1004)</visible> </control>[/CODE] Selbes Spiel wie Zuvor: [B]<description>[/B] anpassen, unter [B]<hyperlink>[/B] die neue ID eintragen (Hier findet man die passende ID in der [I][COLOR=#0000ff]MyVideoReDoStart.xml[/COLOR][/I]. z.B. 1208) und dem Menüpunkt bei [B]<label>[/B] einen neuen Namen geben (z.B. ‘VideoRedo‘), speichern und das Theme neu laden. Das wars schon. [B]2[/B]. Sehr ärgerlich sind die kaputten Menüpunkte bei MovingPictures. Wenn man an den Kategorien rumgespielt hat führten die Punkte ‚Alle Filme‘ ‚neu hinzugefügt‘ und ‚ungesehen‘ lediglich zu einer Fehlermeldung. Auch das kann man beheben (oder auch andere Kategorien auswählen): Wir öffnen die [COLOR=#0000ff][I]BasicHome.submenus.xml[/I][/COLOR] und scrollen bis zum [COLOR=#008000]<!-- :: Moving Pictures :: -->[/COLOR]-Segment und suchen den zu bearbeitenden Control-Block (etwa den mit [B]<description>All Movies</description>[/B] für den Menüpunkt Alle Filme). Bei [B]<hyperlinkParameter>categoryname:${AllMovies}</hyperlinkParameter>[/B] wird die entsprechende Kategorie aufgerufen. Jetzt brauchen wir den internen Namen der Kategorie. Um die zu finden benötigen wir ein Programm das SQL-Datenbanken lesen kann. Ein solches findet man zum Beispiel hier: [URL='http://sourceforge.net/projects/sqlitebrowser/']SQLite Database Browser[/URL]. Ist es installiert öffnet man die MovingPictures Datenbank (Standardpfad sollte [I][COLOR=#0000ff]C:\ProgramData\Team MediaPortal\MediaPortal\Database\movingpictures.db3[/COLOR][/I] sein) wählt das [I]Browse Data[/I]-Tab und wählt bei [I]Table node aus, [/I]um die Kategorien anzuzeigen. Ich hatte wohl in der Anfangszeit (als ich noch gar keine Ahnung hatte) die Lokalisierung überschrieben und die Kategorie fest [I]alle Filme[/I] genannt. Also habe ich den Hyperlink-Parameter in [B]<hyperlinkParameter>categoryname:Alle Filme</hyperlinkParameter>[/B] geändert und siehe da, es funktioniert wunderbar. Will man eine Kategorie erstzen kann man hier natürlich auch eine andere Kategorie eintragen. Dazu dann noch die Felder [B]<description>[/B] und [B]<label>[/B] entsprechend mit anpassen. Soweit also erstmal von mir. Als nächstes wird noch ein Beitrag kommen wie man ein eigenes Submenü erstellt, da das aber etwas umfangreicher ist wird das ein neuer Beitrag. Ich hoffe bisher war das halbwegs verständlich und informativ. Ich hoffe der Ein oder Andere kann seine Mediaportal-Installation nach seinen Bedürfnissen anpassen. Sollten Fragen auftauchen stellt sie, ich werde versuchen sie zu benatworten. Viel Spaß beim editieren! [/QUOTE]
Insert quotes…
Verification
Post reply
Forums
Language specific support
Deutsches MediaPortal Forum
Plugins & Skins für das MediaPortal
Skins
Skin Modifikationen
[Workshop] Titan Basic Home nach eigenen Bedürfnissen anpassen
Contact us
RSS
Top
Bottom