Radio infobar im Skin erstellen

Aus Gemini-Wiki
Zur Navigation springen Zur Suche springen
Baustelle.png An diesem Artikel wird derzeit gearbeitet. Achtung: Der Artikel kann unvollständig und fehlerhaft sein!

Einleitung

Der Screen name="RadioInfoBar" ist die Grafische Darstellung der Infobar die man angezeigt bekommt wenn wir uns Im Radiomodus befinden und die OK Taste drücken.

Ambox notice.png Diese Infobar wird man nur zu Gesicht bekommen, wenn in den System-Optionen der Alternative Radiomodus auf aus gestellt ist!


RadioInfobar im Skin des OE 2.0

Wie beim jedem Fenster selbst beginnt der Screen 'name="RadioInfoBar" mittels :

	<!-- Radio infobar -->
	<screen name="RadioInfoBar" flags="wfNoBorder" position="80,500" size="1130,190" title="InfoBar" backgroundColor="transparent" >
 
        <!-- Hier können etliche Unterelemente (widget, pixmap, eLabel usw.) eingebettet sein! --> 
 
	</screen>   <!-- und endet erst mit diesem Abschluss -->

In diesem Beispiel wurde die Grafik des Skins "BlackdreamHD" als Vorlage erstellt und verwendet.

Funktionen die Hier nicht vorgesehen sind werden ggf, auf Grundlage des Default-HD skins nachgestellt.


Erklärung skin.xml Radio InfoBar

  • Mit flags="wfNoBorder" wird festgelegt das man keinen Rahmen (Border) haben will. Alternative diesen Eintrag weglassen und es gibt einen Rahmen
  • position="80,500" gibt an wo der Screen dargestellt werden soll in Bildpunkten, 80 = vom Rand Links in die Mitte, 500 = vom Rand oben nach unten
  • size="1130,190" gibt an wie Groß in Bildpunkten (Breite mal Höhe) der Screen sein soll
  • title="InfoBar" wie erwartet der Name des des Titelfenster
  • backgroundColor="transparent" hier wird die Farbe "transparent" als Hintergrundfarbe benutzt (Farbe muss im Element "color" definiert sein, sonst Crasht es). Alternativ können die Farben sonst auch im HTML-Code dargestellt werden


Zurück zum Inhaltsverzeichnis:


Background

Nun setzt man als Background seine InfoBar-Grafik ein. Hierzu nun die Infobar des BlackdreamHD-Skins. Der Screen-Code würde in diesem Beispiel so komplett aussehen:

	<!-- Radio infobar -->
	<screen name="RadioInfoBar" flags="wfNoBorder" position="80,500" size="1130,190" title="InfoBar" backgroundColor="transparent" >
 
		<!-- Background -->
		<ePixmap position="0,0" zPosition="-1" size="1130,190" pixmap="BlackDreamHD/infobar.png" />
 
	</screen>


Background der RadioInfoBar im Skin BlackdreamHD des OE 2.0


Erklärung skin.xml des Background

  • Wert ePixmap ist zum einfügen von Grafiken.
  • position="0,0" damit die Grafik den kompletten Screen auch ausfüllt, da die Größe (size) der Grafik und des Screens identisch sind
  • Mittels pixmap= wird nun die Tatsächliche Grafik geladen
Ambox notice.png Es ist leider nicht möglich bei den Grafiken kleinere zu verwenden und diese dann einfach mittels der size-angabe vergrößert darzustellen.

Genauso ist es auch so das wenn man eine größere Grafik verwendet und die size-angaben verkleinert, wird das entsprechende Bild nicht skaliert, sondern einfach nur abgeschnitten!

Merke: also die Grafiken sollten immer die gewünschte Größen haben da diese nicht skaliert werden!


Zurück zum Inhaltsverzeichnis:


Radio Text

Die Definition des Radio Text bedeutet eigentlich nur die Textausgabe die Der jeweilige Sender wie beim RDS als Radiotext ausstrahlt.

Innerhalb dieses "widget" geben wir nun an wo denn innerhalb der Infobar der Radio Text erscheinen soll.

		<!-- Radio Text -->
		<widget source="RdsDecoder" render="Label" position="20,0" size="1040,40" font="LCD;35" halign="center" backgroundColor="background" foregroundColor="foreyellow" shadowColor="black" shadowOffset="-2,-2" transparent="1">
			<convert type="RdsInfo">RadioText</convert>
		</widget>
Radiotext (RDS) der RadioInfoBar im Skin BlackdreamHD des OE 2.0
Radiotext(RDS) der RadioInfoBar im Skin BlackdreamHD des OE 2.0

Erklärung skin.xml des Radio Text

  • Wie bekannt die Postion, den gewünschten Font incl. der Größe und der Farbe der Schrift
  • Mittels dem Renderer source="RdsDecoder"und dem Type <convert type="RdsInfo">RadioText</convert> wird nun die Tatsächliche RDS Information des Radiotext geladen


Zurück zum Inhaltsverzeichnis:


Ras Interactive Available

Strahlt ein Sender auch RASS aus wird hiermit einfach ein kleines RASS-Logo angezeigt.

		<!-- Ras Interactive Available -->
		<widget source="RdsDecoder" render="Pixmap" pixmap="skin_default/icons/rass_logo.png" position="1060,15" size="50,21" alphatest="on">
			<convert type="RdsInfo">RasInteractiveAvailable</convert>
			<convert type="ConditionalShowHide" />
		</widget>
Ambox notice.png Um RASS auf dem TV auszugeben, muss in den System-Optionen der Alternative Radiomodus auf an gestellt sein und diese Radio-Infobar ist dann nicht mehr Sichtbar!
Rass-Logo in der RadioInfoBar im Skin BlackdreamHD des OE 2.0


Zurück zum Inhaltsverzeichnis:


Channellogo (Picon)

Wie auch in der Main-Infobar kann man auch in der Radio-Infobar sich die Channellogo (Picon) anzeigen lassen.

Wer sich also Picons (Senderlogos) installiert kann sich diese auch in der Infobar anzeigen lassen.

Dies geschieht mittels dem folgenden einfachen Widget:

		<!-- Channellogo (Picon) -->
		<widget source="session.CurrentService" render="Picon" position="30,70" size="100,60" zPosition="1" alphatest="blend">
			<convert type="ServiceName">Reference</convert>
		</widget>
Channellogo (Picon) in der RadioInfoBar im Skin BlackdreamHD des OE 2.0
Ambox notice.png leider ist da immer noch ein Bug im Enigma2, daher sollte man hier lieber dies auskommentieren und Anstelle des Picons eine einfache Grafik azeigen lassen

Mehr zu diesem Bug findet man im DMM eigenen Forum: Radiomodus schmiert die box ab und an ab

Ihr könntet ja im DMM Forum dort posten falls Ihr auch wünscht das dieser Bug mal behoben wird...


Um nun diesem Bug zu umgehen hier meine Persönliche Alternative:

		<!-- Channellogo (Picon) -->
		<!--widget source="session.CurrentService" render="Picon" position="30,70" size="100,60" zPosition="1" alphatest="blend">
			<convert type="ServiceName">Reference</convert>
		</widget-->
		<ePixmap position="30,70" size="100,60" pixmap="BlackDreamHD/icons/multimedia.png" alphatest="blend"/>

Picon wurde auskommentiert und durch ein einfache PNG-Grafik ersetzt, bis der Bug mal behoben wurde ...

Multimedia-Grafik in der RadioInfoBar im Skin BlackdreamHD des OE 2.0


Zurück zum Inhaltsverzeichnis:


Event Now StartTime

Hier soll nun dargestellt werden wann die aktuelle Sendung gestartet ist die gerade Läuft.

		<!-- Event Now StartTime -->
		<ePixmap pixmap="skin_default/icons/icon_event.png" position="170,66" zPosition="1" size="15,10" transparent="1" alphatest="on" />
		<widget source="session.Event_Now" render="Label" position="190,59" size="70,24" font="Regular;24" halign="right" backgroundColor="background" transparent="1">
			<convert type="EventTime">StartTime</convert>
			<convert type="ClockToText">Default</convert>
		</widget>
 
		<eLabel text="-" position="265,55" size="15,24" font="Regular;24" halign="center" backgroundColor="background" foregroundColor="grey" transparent="1"/>


Event Now StartTime in der RadioInfoBar im Skin BlackdreamHD des OE 2.0


Erklärung skin.xml des Event Now StartTime

  • Mit dem ersten ePixmap setzen wir unsere Doppelpfeilgrafik
  • Mit dem Widget ermitteln wir die Startzeit der Sendung und setzten diese wie bereits bekannt sein dürfte auf unsere Infobar
  • Mit dem Letzten eLabel setzten wir uns hinter der Startzeit noch ein Bindestrich, da dort im Anschluss noch die Endzeit eingetragen werden soll


Zurück zum Inhaltsverzeichnis:


Event Now EndTime

Hier soll nun dargestellt werden wann die aktuelle Sendung endet ist die gerade Läuft.

		<!-- Event Now EndTime -->
		<widget source="session.Event_Now" render="Label" position="287,59" size="70,24" font="Regular;24" halign="left" backgroundColor="background" transparent="1">
			<convert type="EventTime">EndTime</convert>
			<convert type="ClockToText">Default</convert>
		</widget>


Event Now EndTime in der RadioInfoBar im Skin BlackdreamHD des OE 2.0


Erklärung skin.xml des Event Now StartTime

  • Mit dem Widget ermitteln wir die Endzeit der Sendung und setzten diese wie bereits bekannt sein dürfte auf unsere Infobar


Zurück zum Inhaltsverzeichnis: