Una piccola patch per Kaffeine…
giovedì, novembre 20 2008 - 149 VisualizzazioniMi sono da poco avvicinato a questo Lettore Multimediale, a detta di Wikipedia, il più completo per sistemi Unix-like.
Non è che mi trovavo proprio male con il buon vecchio VLC o con mplayer, ma kaffeine mi offre qualcosa in più, mi permette di vedere la TV satellitare tramite la mia schedina PCI DVB.
Ho trovato subito qualche problemino, tipo la ricerca dei canali è impressionante! Kaffeine tira giù dal satellite tutti (ma proprio tutti!) i canali che vengono trasmessi. Mi sono ritrovato quindi con reti che avrei benissimo potuto farne a meno. Con quasi 700 canali, Hotbird (il “nostro” satellite) offre infatti una copertura che include grossomodo tutta l’Europa, con una parte del Nord Africa e del Medio Oriente.
Immaginate ore quanti canali francesi, arabi, spagnoli e chissà cos’altro il mio Kaffeine aveva in Lista… Nono… Ho dovuto sistemare questa cosa; per farlo ho dovuto scrivermi un piccolo programmino in Java che, tramite un parser per la lista dei canali di kaffeine, un altro per la lista dei kanali (inzio a far confusione fra caffeine e kanali???) di Sky, presi sempre da Wikipedia, mi facesse un grep un po’ più intelligente sui canali italiani (almeno quelli trasmessi da Sky), impostando -cosa molto importante- il numero del canale come in un “normale decoder satellitare” e, visto che ci avevo preso gusto, anche un nome, per così dire, “decente” e una category per suddividere successivamente i canali in kaffeine.
Non è stato proprio banale, sul satellite, ad esempio (è un esempio!), non c’è un unico “Discovery Channel”, ma si trovano:
1059Quali fra questi scegliere? voi direte: è semplice… vai a vedere se la lingua è “ita”, invece no! ’sti canali bastardi a volte omettono la lingua di default, che in alcuni casi è proprio “ita”… Il modo migliore di costruire la cosa è stata creare un file lista (quella di Wikipedia) che mi costruisse un oggetto “CanaleSky” con le proprietà:
TAG | NOME | NUMERO_CANALE
Ove TAG corrisponde al nome atteso del canale della lista di Kaffeine, NOME il nome che mi deve poi sostituire nella lista, e NUMERO_CANALE per impostare il num. come (già detto?) se avessi un “normale decoder satellitare”.
Parallelamente, leggo il file channels.dvb di Kaffeine e creo una lista di oggetti “CanaleKaffeine”, con varie proprietà, fra cui NOME e NUM. Per ogni CanaleSky, faccio poi una ricerca confrontando la ChannelSky.TAG (valore atteso) con ChannelKaffeine.NOME, se coincidono faccio le varie sostituzioni e scrivo il nuovo canale su un file. Un qualcosa tipo:
for (Channel c : skyChannels) { for (KaffeineChannel k : kaffChannels) { if(k.getName().equalsIgnoreCase(c.getTag())){ k.setChannelNum(""+c.getNum()); k.setCategory(c.getCategory()); k.setName(c.getName()); writer.println(k.toString()); } } }
[MODE_INCAZZATO_ON]‘Sto Html è razzista con i tab e i whitespace[/OFF]Il risultato è una lista di canali italiani “decente”…. anche se alcuni canali ancora non funzionano bene, me li ritrovo in qualche lingua strana… Ma grossomodo quelli principali (testati) sono OK. Vabbe’ ripulisco i sorgenti e poi ve lo mostro tutto… magari mi faccio un giro per tutti i canali prima e metto le cose apposto.
Ma oh, che ho fatto fin ora? azz, non era proprio il topic di cui volevo discutere. Porc’… Un altro problema che ho incontrato in kaffeine è stato che facendo “zapping” fra i vari canali in modalità OSD (visualizzando le informazioni del canale tipo il titolo del programma in onda) se mi trovavo al canale 303 e volevo passare al successivo (canale 306) kaffeine non faceva nulla, continuava a mostrarmi le info del canale corrente. Boh… ho preso i sorgenti e ho visto che effettivamente il problema era esistente; praticamente la funzione faceva qualcosa del tipo: nextOSDChannel = currentChannel->num+1; eh, ma se (come nel mio caso) il canale successivo non è sequenziale a quello corrente? return null; Mah dai!…
Ho quindi un po’ modificato la funzione vdbOSDSkip nel file kaffeine/src/input/dvb/dvbpanel.cpp, ora sembra andare perfettamente.
Eccola: dvbOSDSkip.patch
Scaricare e scompattare i sorgenti di Kaffeine dal sito ufficiale Scaricare il file .patch e inserirlo nella cartella dei sorgenti di Kaffeine dare il comando: cat dvbOSDSkip.patch | patch -p0 installare i pacchetti necessari: sudo apt-get build-dep kaffeine successivamente i soliti comandi per la compilazione: ./configure && make && sudo make installHo inviato anche una mail agli sviluppatori con la patch, ma ancora non mi rispondono. Boh.
Taggato come Blogging, Patch, Works, feeders, kaffeine, satelliteScritto da l3on
Altri Articoli Interessanti
Gli ultimi dal Social
gusions
pensa al futuro dell'opensource
@Replica
gabrielbutoeru
Gabriel recupera la password e capisce qualche cosa in più su Chrome OS
@Replica
mcastel
qualche riflessione sul sistema operativo di #Google http://tinyurl.com/laquuc (Qaiku)
@Replica
andreaolivato
Gnome-do 0.8.2 con le Docklets su Gentoo : VIDEO http://bit.ly/UcC8g
@Replica
andreaolivato
Stallman: il software libero non deve dipendere da #Mono http://punto-informatico.it/2657922/PI/News/stallman-liberatevi-mono.aspx
@Replica
Sito webCompletamente Funzionante
GalleryCompletamente Funzionante
Social NetworkCompletamente Funzionante
Server JabberProblemi liste contatti
Servizio MailCompletamente Funzionante
Servizio di RicercaCompletamente Funzionante
















