Avancerad användning

Uppdatera tablåer från lokal fil

För tillfället finns två sätt att uppdatera AirTimes tablåer. Antingen direkt över Internet eller via en xml-fil med tablådata som kopierats till telefonen. Det senare alternativet gör att man kan komma undan mobiloperatörens trafikavgifter, men det kräver också betydligt mer av användaren. Känner du dig händig kan det vara värt att läsa vidare.

Nödvändiga förutsättningar

  • Användaren laddar ner tablåer till sin dator med hjälp av XMLTVs tablåhämtare och kopierar över xml-filerna till telefonen.
  • Telefonen måste låta Java-program läsa det lokala filsystemet (dvs stödja JSR-75).

XMLTV är gratis att ladda ner och finns för både PC, Linux och Mac OS X. Däremot är det inte särskilt många telefonmodeller som stödjer Java-standarden JSR-75, vilket krävs för att uppfylla punkt två ovan. I AirTimes kan du lätt kontrollera om telefonen stödjer läsning av lokala filer genom att välja Inställningar | Om AirTimes och kolla vad som står efter "Läsning av lokala filer". Står det "ja" kan du läsa vidare, annars är det uppdatering över Internet som gäller.

Att skapa XMLTV-filer på datorn

Installation och konfigurering av XMLTV täcks inte av det här dokumentet, det får du läsa om på t.ex. tv.swedb.se eller XMLTVs hemsida. När väl XMLTV är igång och konfigurerat kan du skapa en xml-fil med tablådata som passar AirTimes med kommandon i stil med följande (om du kör Windows ser de lite annorlunda ut):

tv_grab_se_swedb > listing.xml

tv_sort --by-channel < listing.xml > listing_sorted.xml

Se hjälpen för tv_grab_se_swedb för info om vilka argument du kan skicka med (t.ex. hur många dagars tablåer som laddas ner).

Sorteringen gör att tablåuppdateringar går betydligt snabbare. Det beror på att tablåleverantören och AirTimes bryter tablådygnen vid olika klockslag, och AirTimes jobb underlättas därför av att alla tablåer för en kanal ligger direkt efter varandra i filen.

Hur du kopierar över filen till telefonen är upp till dig, men USB-kabel, Bluetooth eller IR är heta tips.

Att uppdatera från lokal fil i AirTimes

För att AirTimes ska kunna läsa xml-filen måste det kunna hitta den. Inställningen för det hittar du under Inställningar | Tablåer | Uppdateringar. Det knepiga är att veta hur sökvägen på telefonen ska anges. Den sökväg som är förinställd går till filen listing.xml i mappen Annat på minneskortet på en Sony Ericsson K750. För andra telefonmodeller måste du ta reda på den rätta sökvägen på egen hand (maila gärna vad du kommer fram till så kan informationen postas här på sajten och kanske hjälpa någon annan). Ett j2me-program som kan hjälpa dig att hitta rätt sökväg är filhanteraren File Protect. Du kan ladda ner det här. Tänk på att sökvägen du skriver in i AirTimes måste börja med "file:///" och att bara framåtlutande snedstreck ('/') ska användas.

För att kunna auto-uppdatera från lokal fil måste du ändra inställningen Källa för auto-uppdatering under Inställningar | Tablåer | Uppdateringar. Om du bara kommer att uppdatera från lokal fil kan du välja Lokal fil, annars är Fråga alltid ett bra tips. Observera att auto-uppdateringen bara uppdaterar tablåer när källan är lokal fil. Kanallista och ikoner måste uppdateras manuellt (vilket inte borde vara någon större begränsning eftersom de sällan ändras).

När filen är på plats och inställningarna ovan är gjorda är en uppdatering inte svårare än att välja Uppdatera tablåer | Auto. Värt att notera är att endast program för kanaler som är aktiva i AirTimes kommer att sparas, men för dessa kanaler sparas alla tablåer som finns i filen, oavsett inställningen för antal dagar i Inställningar | Tablåer | Uppdateringar (det här beteendet är inkonsekvent och kan komma att ändras i en senare version).

Läsa in utländskt tablådata från lokal fil

Genom att uppdatera från lokal fil kan du även läsa in utländskt tablådata i AirTimes. Xmltv-data finns att få tag på för ganska många länder, och eftersom du själv kopierar över filen med tablådata till telefonen kan du använda vilket lands tablåhämtare som helst när du skapar filen. Några saker att tänka på när du använder utländskt tablådata:

Kanalikoner ramlar inte från himlen

När AirTimes skickas från fabriken kan det bara ladda ner ikoner för svenska kanaler, och mer exakt bara de svenska kanaler som tv.swedb.se har ikoner för. När det gäller utländska kanaler måste du fixa ikonerna själv, och ett tips på hur du kan göra det finns längre ner på den här sidan.

Xmltv-datat bestämmer tablåtiderna

Tablådatat som importeras bestämmer hur programmens start- och sluttider visas i AirTimes. Programmet tar också hänsyn till vilken tidszon som anges i datat och får på så sätt en korrekt bild av vilka program som pågår "nu". Om en tid anges som "20061122134500 -0500" i xml-filen kommer den alltid att visas som 13.45 i programmet, oavsett tidsinställningarna i telefonen.

Om du till exempel vill ha amerikanskt tablådata vill du förmodligen ange en amerikansk tidszon i xmltv-grabbern när du hämtar datat (t.ex. -0400 för östkusttid under sommaren). Då kommer tablån att visa den lokala amerikanska tiden, och när ett program markeras som pågående i På tv nu är det också pågående i USA vid den tidpunkten.

Notera att det även är upp till tablådatat att styra övergångar mellan vinter- och sommartid. I tv.swedb.se:s data ändras tidszonen korrekt under övergångarna, men alla tablåhämtare gör inte det. Var därför beredd på att behöva tömma tablådatabasen och ladda in nytt data, med ny tidszonsinställning, efter en övergång.

Ändra och packa om AirTimes.jar

Resterande aktiviteter som beskrivs på den här sidan kräver att man modifierar AirTimes.jar innan den installeras i telefonen. Att göra det är enkelt. En jar-fil är i själva verket en vanlig zip-fil, och kan därför packas upp och packas ihop som en sådan. Gör så här för att bygga din egen version av AirTimes.jar och installera programmet i mobilen:

  1. Döp om AirTimes.jar till AirTimes.zip och zippa upp den till en tom katalog.
  2. Gör önskade ändringar i de uppackade filerna (t.ex. en ändring i app.properties eller tillägg av nya ikoner).
  3. Zippa ihop innehållet i katalogen och döp om utfilen till AirTimes.jar. Observera att katalogstrukturen i filen måste stämma med hur det såg ut från början.
  4. Skicka filen till telefonen.

Lägg till egna kanalikoner i AirTimes.jar

Om du läser in xmltv-tablåer från andra källor än tv.swedb.se i AirTimes kommer du förmodligen sakna ikoner för de kanalerna. Det kan du åtgärda genom att lägga till egna ikoner direkt i AirTimes.jar. Följande gäller:

  • Ikonerna ska vara 16x16 pixlar och i png-format.
  • Filnamnen måste vara <xmltv:s kanalid>.png. Kanal-id hittar du i channel-elementen i xmltv-filen.
    Exempel: Du läser in amerikanskt xmltv-data och vill lägga till en ikon för NBC (som kan heta t.ex. 4 WNBC i din xml-fil). Du letar upp kanalens channel-element i xml-filen och ser att id:t är "I11705.labs.zap2it.com". Din ikon ska alltså döpas till I11705.labs.zap2it.com.png.
  • Ikonerna ska ligga i jar-filens rot, dvs tillsammans med den redan existerande ikonen default.png.
  • Kanaler som har ikoner i AirTimes.jar kommer inte att inkluderas vid ikonuppdateringar som görs inifrån programmet. Ikonen i jaren är den som alltid kommer att användas.

Själva ikonerna får du jaga fatt på själv. Om någon fixar ikoner för t.ex. de vanligaste norska och danska kanalerna är det möjligt att vi kan erbjuda nedladdning av dem från sajten, men det är lika möjligt att ett sådant tilltag skulle stoppas av upphovsrättsinnehavarna. Tills vidare får du i alla fall pyssla ihop ikonerna själv på något sätt.

Ändra datakällor för uppdateringar över nätet

Inställningarna för varifrån tablådata och ikoner hämtas ligger i textfilen app.properties i AirTimes.jar. Den kan du ändra i om du vill, och det finns några olika anledningar till att man kan tänkas vilja göra det.

OBS 1: Om du hämtar ikoner och/eller tablådata från tv.swedb.se och lägger det på en egen server som AirTimes hämtar sitt data ifrån, måste du vara medveten om, och följa, tv.swedb.se:s användningsvillkor. Så länge bara du själv använder datat är allt grönt, men det är inte okej att erbjuda datat till andra via en egen server. Se tv.swedb.se för mer info.

OBS 2: För att undvika att dina ändrade inställningar skrivs över vid automatiska programuppdateringar (se nedan) måste du lägga till strängen "sticky." i början på namnen. När det står att du ska ändra värdet för httpprovider.<nånting> ska du alltså dessutom döpa om inställningen till sticky.httpprovider.<nånting>.

Hämta ikoner från egen server

Du kan ändra inställningen httpprovider.channelIconUrlPattern i app.properties för att styra varifrån kanalikoner laddas ner. "<channel_id>" ersätts av respektive kanals xmltv-id. Hur du hittar id:t finns beskrivet under Lägg till egna ikoner i AirTimes.jar. Vill du ändra några av standardikonerna eller lägga till ikoner för fler kanaler är det här ett sätt att göra det. Oftast är det nog enklare att lägga dem direkt i jaren i så fall, såvida du inte uppdaterar även tablåerna från en egen server.

Hämta tablåer från egen server

AirTimes är i nuvarande version skräddarsytt för att passa hur tv.swedb.se levererar sitt data, vilket är som en gzippad xmltv-fil per kanal och dag. Vill du hämta tablåerna från en egen server får du gilla läget och se till att data för eventuella extrakanaler paketeras på samma sätt.

Vill du hämta tablådata från en egen server kan du ändra inställningen httpprovider.listingBaseUrl. Du måste även sätta httpprovider.listingBaseUrlOverridesXML till true för att rätt url ska användas. Hur filerna ska namnges, och vad de ska innehålla, ser du enklast genom att gå till den förinställda url:en i en webbläsare och titta på filerna som finns där.

Att sätta upp en egen tablåserver är förmodligen bara vettigt om du vill ha ett annat kanalutbud än det som erbjuds från början, och det är definitivt inget för nybörjaren. Men det går att göra, och det är därför det beskrivs här. Fördelen jämfört med att uppdatera från lokal fil (vilket också låter dig skräddarsy kanalutbud och tablåinnehåll som du vill) är att du slipper böket med att skicka nya filer till telefonen.

Flera AirTimes-instanser i samma telefon

Genom att ändra en textfil i AirTimes.jar kan du enkelt installera flera parallella AirTimes-instanser i din mobil. Kombinerat med xmltv-data från utländska kanaler kan du t.ex. skapa en AirTimes U.S.-installation som hjälper dig hålla koll på när nästa avsnitt av dina favoritserier sänds i USA.

Att skapa en ny AirTimes-instans är enkelt. Allt du behöver göra är att ge programmet ett nytt namn så att det installeras som ett separat program i mobilen. Det gör du så här:

  1. Packa upp AirTimes.jar enligt instruktionerna ovan.
  2. Öppna filen META-INF/MANIFEST.MF i en texteditor och ange det önskade namnet på raden MIDlet-Name (t.ex. "AirTimes U.S.").
  3. Packa ihop en ny AirTimes.jar och skicka den till telefonen.

Sedan är det bara att tuta och köra. Ur telefonens synvinkel är programmen helt separata, och du kan installera hur många varianter du vill (så länge lagringsutrymmet i telefonen räcker till).

OBS! Var försiktig med automatiska programuppgraderingar (mer info här) när du har flera AirTimes-instanser i telefonen. Uppgraderingar som startas inifrån AirTimes kommer alltid att uppgradera midleten som heter just "AirTimes", vilket inte nödvändigtvis är den som startade uppgraderingen. Det bästa tipset är förmodligen att stänga av automatisk sökning efter uppdateringar i specialinstanserna.