Ciao LucioLux... l'unico consiglio che posso dare a te e a chi come te vuole cimentarsi nel disegnare una Skin è iniziare dalla default installata.
Cominciare a studiarla, modificarla... prima o poi prendereai dimestichezza con il file e riuscirai a muoverti con disinvoltura tra i nodi.
Il file SKIN.xml si trova in USR/SHARE/ENIGMA2
Ti allego delle primissime istruzioni che potranno tornarti utile...
Allora...
FASE 1: --- LA GRAFICA ---
Iniziare con Photoshop (o con Illustrator ). Io preferisco Photoshop perchè lavoro 1:1 quindi su chermate 1280 x 726.
Naturalmente RGB e a 24bit (solo OE2) altrimenti 8bit.
Tutti i file grafici vanno salvati in formato png.
Per le trasparenze ho adottato un Nero all'80%. (Quindi png trasparenti)
La trasposizione della grafica dal bellissimo monitor dell'iMac alla TV fa perdere di contrasto quindi alla fine ho preferito scurire un po tutte le immagini di un 15%
FASE2: --- L'XML ---
Ogni videata è data da:
<screen>
VIDEATA
</screen>
All'interno di screen si applicano gli elementi, che sono:
<epixmap> (per includere le PNG) - NOTA il nodo epixmap non si chiude.
<eLabel> (per i testi) - il nodo non si chiude
<widget></widget> (Per le applicazioni) Il nodo SI chiude
all'interno di WIDGET ci sono le interpretazioni del valore (COVERT)
quindi:
<widget>
<convert>
</widget>
---- FACCIAMO UN ESEMPIO PRATICO ---
CREIAMO UN NUOVO SCHERMO (in questo esempio l'infobar)
<screen name="InfoBar" size="1280,230" position="0,574" title="InfoBar" backgroundColor="transparent2" flags="wfNoBorder">
NAME: il nome dello schermo richiamato dalla funzione INFOBAR
SIZE: Con size indichiamo la larghezza e l'altezza della nostra SCREEN.
POSITION: a quali coordinate posizioniamo la nostra screen
TITLE: il titolo dello schermo (può essere applicato ad alcuni stili di finestra) Le vedremo tra poco...
backgroundColor: colore di sfondo dello screen
flags: qui definiamo il tipo di stile grafico della finestra (precedentemente preimpostato)
posizioniamo una png di fondo alla nostra Screen:
<ePixmap position="0,0" zPosition="-1" size="1280,230" pixmap="infobar_android.png" />
zPosition: indichiamo il livello (Esattamente come i Layer di Photoshop) più e alto, più si troverà in primo piano.
pixmap: il file grafico
ATTENZIONE: da qui in avanti tutte le posizioni sono relative alla screen e non più allo ZERO assoluto.
Aggiungiamo un testo statico:
<eLabel text="CIAO" position="100,90" size="50,18" font="Regular;14" foregroundColor="#ffffff" backgroundColor="#ff0000" />
size: grandezza del contenitore che include il testo
font: FONTDICHIARATO; GRANDEZZA
foregroundColor: colore della scritta
backgroundColor: colore di fondo della scritta (Lo so che sembra un controsenso... ma è utile per creare Antialiasing alla scritta che altrimenti risulterebbe pixelata)
Aggiungiamo un widget - testo dinamico (come ad esempio il nome del canale)
<widget source="session.CurrentService" render="Label" position="171,8" size="440,35" font="Regular;26" foregroundColor="#ffffff" backgroundColor="#ff0000" >
<convert type="ServiceName">Name</convert>
</widget>
e chiudiamo il tutto
</screen>
Capisco che è un esempio veramente banale ma spero possa aiutarti a comprendere almento la struttura dell'XML...
Resto a disposizione per qualsiasi informazione.
PS Purtroppo, a menoche tu non abbia un Sistema Operativo Linux come ad esempio UBUNTU (su cui installare Enigma2), dovrai operare direttamente sul Decoder
e riavviare ogni volta che fai una modifica (Basta il riavvio della GUI)
Ciao
Majika