Til hovedinnhold

HTPC trinn for trinn - del 11

Innledning

Forrige gang var vi innom en generell oversikt over Girder og noen av de mulighetene det byr på. Disse mulighetene blir jo også stadig utvidet etter hvert som det kommer nye moduler.

Denne gangen skal jeg hjelpe dere igjennom konstruksjonen av en enkel GML, altså et oppsett for styring av programmer, som skal gjøre HTPC-en forholdsvis uavhengig av mus og tastatur til hverdagsbruk.

Den maskinvaren jeg skal bruke til det, er en USB-UIRT og en vanlig infrarød fjernkontroll. Den store fordelen med USB-UIRT-en er at den også kan sende ut IR-signaler som f.eks. slår på en forsterker eller en TV. Men til helt enkelt mottak kan man også bruke andre modeller, også noen som man kan lage selv.

Det som absolutt ikke funker (tro meg, det er ikke få som har forsøkt) er å bruke IRDA, altså den IR-mottakeren og IR-senderen som er i PC-er til kommunikasjon med lomme-PC-er og lignende.

Når det gjelder selve fjernkontrollen, er et godt alternativ fjernkontrollen fra en gammel VHS-spiller eller en DVD-spiller, siden det trengs fire ulike typer taster:

  1. Talltaster - disse brukes til å velge spillelister med.
  2. Transporttaster - play, pause, stopp, neste/forrige og spoling framover og bakover.
  3. Kildevalg - til å velge mellom DVD-avspilling, musikkavspilling og eventuelt andre muligheter dere kan legge til selv.
  4. Mustaster - selvforklarende.

Og ekstrataster er heller ingen ulempe å ha, derfor bruker jeg ofte multifjernkontroller, som er å få kjøpt til en hundrelapp eller to på Biltema og Clas Ohlson. Disse er beregnet til å styre VHS, DVD, TV og iblant enda flere apparater. Den eneste ulempen er at det krever en del fikling å finne koder som fungerer for alle enheter, men det pleier å fungere til slutt.

Enda et alternativ er ATI Remote Wonder, som også er støttet av Girder. De har til og med egne navigasjonstaster som er merket på passende måter, pluss en "muspute" til musestyring med tommelen.

Til slutt: Det nytter ikke å be om å få den ferdige filen av denne første GML-en, av en veldig enkel årsak: Dette er ment å lære dere å bruke Girder selv, det skal ikke bare lære dere å installere Girder og bruke en ferdig programgruppe. Det er ikke mye læring!

Så da ber jeg klassen komme til orden, rektor Mastiff har gått opp på kateteret. Men som alle god rektorer har han en overraskelse til klassen til sist i timen - nemlig oppsettet som lar dere lage spillelister, altså album eller lister dere definerer selv, som kan åpnes uten å ha på en skjerm.

Starting og lukking av programmer

Starting og lukking av programmer

Her går jeg ut fra at dere har funnet ut hvilken fjernstyringsmetode dere skal bruke og har aktivert modulen for den fjernkontrollen (USB-UIRT, Generic X-10 Remote for AIT-en osv.), som nevnt i forrige artikkel. Det fins også en metode for å "mappe" en fjernkontroll, slik at det blir lettere å bytte fjernkontroller senere, men det fører for langt å komme innom her.

Begynn med å fyre opp Girder, og lukk det som måtte være åpent av programgrupper (ved å velge "File" på menyen og så "Close all"). Klikk så igjen i samme meny og velg "New". Man får et av de vanlige åpnevinduene til Windows, så finn frem til et trygt sted. Det er ikke mye som er mer irriterende enn å miste masse arbeid, så husk å ha slike filer på trygge steder, og ha gjerne sikkerhetskopier på flere steder, for eksempel minnepinner. Jeg har valgt å legge min på roten av D, og jeg ga den navnet HTPC. Det vil da se sånn ut:


Klikk for større bilde
(Alle bilder i artikkelen kan åpnes i større versjon)

Endring av navn på ting er enkelt, det er bare å merke dem, bruke høyreklikk og velge "Rename" fra kontekstmenyen, eller så kan man merke dem og bruke F2, Windows' universalknapp for å omdøpe ting. Så jeg endrer navn på denne mappen til "Programveksling".

Neste skritt er å gå til handlingstreet og utvide gruppen "OS", som står for operativsystem. Der blar jeg meg ned til File Execute og klikker og drar den til gruppen "Programveksling".

Idet man slipper, åpner det seg et vindu for redigering av kommandoen, og det ser slik ut:

Et klikk på "Browse", og man får den vanlige åpningsvinduet fra Windows. Her har jeg bladd meg igjennom til Zoom Players mappe og valgt Zoom Player.

Til slutt endrer jeg fra "Hide" (altså å kjøre programmet skjult, noe som må sies å være en tanke håpløst for et videoavspillingsprogram!) til "Show Normal". Dermed vil programmets innstillinger avgjøre hvordan det åpner seg, og Zoom Player er satt opp til å åpne seg i fullskjermmodus, altså uten vindusrammer.

Et kjapt klikk på ikon nummer fire fra høyre, 06 som er for å lagre endringer og lukke vinduet, og hovedvinduet er igjen framme, men nå med en ny kommando.

Den heter riktignok File Execute, men som tidligere, da mappenavnet ble endret, kan kommandonavnet endres til noe passende. Vil det være for dristig å foreslå Zoom Player?

Så gjør jeg akkurat det samme med de fire andre tingene jeg ønsker å ha tilgang. De er J.River Media Center og forumet for den, Promixis-forumet og Hardware.nos forside. De siste går gjennom Maxthon (mitt yndlingsprogram for nettsurfing, det sparer en for utrolig mange åpne vinduer som roter til brukergrensesnittet, og man har fremdeles full kompatibilitet med omtrent alle nettsider, noe andre nettlesere iblant har problemer med), og der har jeg lagt til parametere, som dette:

Dermed er kommandoene for å åpne de programmene som skal kunne åpnes med fjernkontrollen klare. Men disse kommandoene må jo kunne utløses på en måte, og da er det enten Shift+F4 eller et klikk på dette ikonet saken:


Dette åpner vinduet for å legge til utløsere (den som ikke vet hva en utløser er i Girder får lese forrige artikkel om igjen!), og her er det mange alternativer.

Men det enkle er ofte det beste, også kalt KISS (Keep It Simple, Stupid). Den som er standard når man åpner utløservinduet, "Predefined Events (All remotes)", er helt grei.

Et klikk på "Learn"-knappen, og et trykk på fjernkontrollen, og noe sånt dukker opp (hvis dere bruker USB-UIRT-en):

Her har jeg i tillegg endret "Anti Repeat" til 200 millisekunder, slik at et litt for langt knappetrykk ikke skal sende kommandoen to ganger. Det er en fordel å gjøre med alt annet enn spoleknapper som skal spole så lenge man holder dem nede.

Den siste funksjonen jeg vil legge til i denne programgruppen, er muligheten til å lukke et program. Igjen er det handlingstreet, men nå er det gruppen Windows, vinduer, som skjuler saken:

Når denne trekkes bort til programgruppen, åpner dette vinduet seg:

Et klikk på knappen "Window Picker", og man får en oversikt over de i øyeblikket åpne vinduene/programmene. Her kan man velge et spesielt vindu som skal lukkes, og det er kjekt i mer avanserte konfigurasjoner, men her skal vi bare lukke det vinduet som i øyeblikket er i forgrunnen:

"OK", et trykk på lagre og lukke-ikonet (vist tidligere), fulgt av en rask omdøpning og utløserprogrammering, og vår lille programgruppe ser sånn ut:

At det er lagt til utløsere på alle funksjonene vises ved plusstegnet til venstre. Det er forresten ikke noe problem å gjøre dette mer avansert, som for eksempel ved å få et program til forgrunnen istedenfor å åpne det, da bruker man en handling som kalles "Window Exists?", som er søsteren til en funksjon jeg skal vise i neste programgruppe, og som fungerer på omtrent samme måten som den.

Hvis man ikke skal ha PC-en i gang hele tiden (eventuelt hvis man vil la den gå i ventemodus for å spare strøm og støy), kan man også ha en egen kommando for å sette den i ventemodus eller slå den av. Disse ligger under OS på handlingstreet, og man kan velge mellom "Shut Down" og "Stand by/Hibernate". "Shut down" åpner ikke noe handlingsvindu, den har ingenting som kan konfigureres, mens på "Stand By/Hibernate" kan man velge mellom vanlig dvale- og ventemodus, såkalt "Polite", og dvale- og ventemodus som ikke tar hensyn til om noen programmer eller operativsystemet henger ("Forced").

Og det var den første programgruppen. Er vi ikke flinke? Den fortjener noe godt å drikke! (Vel, egentlig fortjener hva som helst noe godt å drikke, men det er fint å ha en noenlunde holdbar unnskyldning.)

Transportkommandoer

De viktigste transportkommandoene er som nevnt play, stopp, pause, neste, forrige og spoling framover og bakover. For å beholde oversikten greit (tro meg, enkelte av de mer avanserte GML-ene mine er alt annet enn oversiktlige, men jeg vet iallfall hvor alt er ) lager vi en egen programgruppe til den også, enten ved å høyreklikke i tomt hovedvindu og velge "Add Group", ved å klikke på dette ikonet øverst i hovedvinduet 16 eller ved å bruke hurtigtasten Skift+F1. Jeg kaller naturlig nok gruppen "Transport". I tillegg må modulen "Send Message" aktiveres, hvis den ikke allerede er aktivert (under File, Settings, Plug-in Settings, Plugins).

For å gjøre det enkelt å finne transportkommandoene til disse to programmene, følger det egne Girder-programgrupper med dem begge. JRMC-programgruppen ligger i katalogen C:\Programfiler\J River\Media Center 11\Data\Extras\Girder ved en normal norsk installasjon av Windows og heter MC9_131.gml.

Som dere kan forstå av det, er det lenge siden den ble oppdatert, men det gjør ikke så mye, for de grunnleggende funksjonene er de samme. Zoom Players gruppe, finner man enten i C:\Programfiler\Promixis\Girder\GML, hvis Girder installert med alle alternativer, eller ved å starte Zoom Player, gå til Options og klikke på "Export":

Denne vil da dukke opp i Zoom Players programkatalog, for vanlige installasjoner er det C:\Programfiler\Zoom Player. Så begge disse programgruppene skal åpnes, og man får noe sånt etter litt utviding:

De interessante gruppene i første omgang er " Zoom Player Professional - Functions" og " Media Center 9 (build 131)\ WMessage Commands\ Zone 0-Direct Playback Cmds". For sone 0 i JRMC betyr den første sonen, og det er denne som først og fremst skal styres av den fjernkontrollen som er knyttet til "nærbruken" av HTPC-en.

Kopier de to nevnte gruppene til HTPC.gml-en (med høyreklikk på programgruppen og "Copy", med merking fulgt av "Kontroll+Alt+C" og så høyreklikk på HTPC.gml og "Paste" eller med merking fulgt av "Kontroll+Alt+V") og lukk gml-filene til Zoom Player og JRMC for nå.

Senere kan dere selv legge til kontroll for de andre sonene ved å bruke andre IR-fjernkontroller og lære de funksjonene direkte inn til de andre sonene, altså uten å bruke det neste skrittet i denne delen.

For et poeng her er at man skal få sendt kommandoene til de riktige programmene. Det blir mer avansert hvis man har mange programmer å velge mellom, men siden det bare er to medieavspillingsprogrammer her, Zoom Player og JRMC, er dette forholdsvis lett. Man kan enten sjekke hvilket program som er åpnet, eller eventuelt, som jeg velger å gjøre, hvilket program som har fokus, altså er i forgrunnen. For hvis man ser film med Zoom Player, må jo den være i forgrunnen, og hvis den ikke er der, kan man gå ut fra at det man vil, er å styre musikk i JRMC.

På handlingstreet er kommandoen "Window Is Foreground?", og dette fører til et vindu som minner om det som dukket opp med lukkekommandoen:

Dette har en "Window Picker", men her er det også noen tillegg. Jeg har valgt å bruke Zoom Player som grunnlag, og her har jeg klikket bort alle andre avkrysninger enn zplayer.exe, siden blant annet tittellinjen ("Name") endrer seg avhengig av hvilken film som blir spilt av.

En "OK" og tilbake i det forrige vinduet. Og så til funksjonen som skal brukes hvis Zoom Player har fokus, altså et trykk på "If is Foreground", som fører til dette vinduet, som viser alle programgruppene og funksjonene i GML-en.

Her har jeg bladd meg fram til Zoom Players veksling mellom avspilling og pause (hvis man har egen pauseknapp og avspillingsknapp bruker man istedenfor "Pause" og " Unpause (Discrete Play)" i Zoom Player, JRMC har ikke atskilte funksjoner for dette). "OK", som fører tilbake til handlingsvinduet, og så et trykk på "If is not foreground".

Her blar jeg meg fram til vekslingen mellom avspilling og pause i JRMC:

En "OK" der, og handlingsvinduet viser hva som er valgt:

Lagre og lukk, og det er lagt til en kommando.

Nøyaktig samme metode brukes for å legge til stopp, neste spor eller kapittel, forrige ditto og spoling framover og bakover. Og utløsere legges til på akkurat samme måte her som i forrige programgruppe, med ett unntak: I JRMC fungerer spoling slik at den spoler så lenge man holder nede knappen, derfor bør man ha "Anti repeat" lik 0 og også krysse av på "Repeat".

Her er en titt på hovedvinduet, som det skal se ut når alt dette er lagt til:

Dermed var det tid for å fylle opp glasset igjen, og gjerne for å kopiere denne gml-filen til en annen PC, en USB-nøkkel eller hva som helst. Som sagt er det irriterende å miste arbeid

Mus, mus og volum

Mus, mus

Så er det menynavigasjon. Det er ikke noe problem å emulere knappetrykking som pil opp, ned, høyre, venstre, enter og så videre. Men jeg syns det er like greit å bruke musfunksjoner til dette, særlig siden ikke alle DVD-er oppfører seg helt pent under Renderless Exclusive-modus.

Så ny programgruppe, kalt "Mus" (hvor tar jeg det egentlig fra? Jeg må være landets første HTPC-poet!), og med handlinger hentet fra "Mouse" på handlingstreet. Her må i tillegg modulen "Mouse actions" være aktivert. Først bevegelsene, som ligger i undergruppen "Movements":

Når en slik dras bort til gruppen (jeg har valgt bevegelse mot høyre), åpner det seg et vindu med flere uutfylte bokser, men ikke få panikk. Det holder å skrive 10 i den øverste (altså ti pikslers hopp for hvert trykk).

Hvis man vil ha mindre hopp, kan man endre det helt ned til 1, men da vil det ta lang tid å bevege seg over skjermen. Dessuten skal det mye til at man ikke klarer seg med ti, det er svært få ting på skjermen som vil være så små at det ikke holder. Slik ser det da ut:

Det samme gjør man med venstre, opp og ned. Dermed kan man styre musa. Og ved å legge til funksjonene "Mouse Left Click" og "Mouse Right Click" har man også klikkingen. Når det skal læres inn utløsere for bevegelsene, må det også være avkrysset for "Repeat", og man trenger ikke å legge inn noen verdi for "Anti Repeat":

Jeg har også lagt til dobbeltklikk, noe man kan legge på hvilken som helst ledig knapp på fjernkontrollen. Og dermed var musfunksjonene klare, så en ny slurk av glasset og en sikkerhetskopiering av GML-filen må til.


Volum

Her kommer vi til det første problemet. Det vil kreve flere fjernkontroller hvis man skal styre volumet, eller en programmerbar fjernkontroll, men det er det som er så fint: Med en USB-UIRT koblet til Girder, fikser man den biffen meget enkelt og greit. For den kan jo som nevnt også sende IR-signaler.

På handlingstreet er det noe som kalles "USB-UIRT Action", og det er å sende IR-signaler (pluss noen andre småting som ikke har noe å si for oss nå).

Når den trekkes bort til en av programgruppene, gjerne en egen for "Volum", får man opp dette vinduet:

Her kan man enten lære en kommando eller lime inn en kommando fra for eksempel en innlært Pronto-kode (som det fins utallige av på Remote Central). Vi velger å lære inn kommandoen, og et trykk på "Learn IR Code" får opp dette vinduet:

Man holder så fjernkontrollen inntil USB-UIRT-en (rundt 15 centimeter fra) og trykker. Mens man holder inne knappen, vil dette vise seg:

Og når koden er godtatt av USB-UIRT-en (hvis den ikke blir godtatt, og man bare kommer et stykke opp på de grønne stripene, kan man velge "Accept burst", altså å godta det den har fått inn. Dette fungerer på enkelte vriene apparater, som en gammel JVC-forsterker jeg har), får man dette vinduet:

Hvis noen skulle lure, er det koden for å skru opp volumet på min trofaste Onkyo 939 nede i kinoen. Et trykk på "Test Transmit", og man burde se at noe skjer på forsterkeren hvis den er innenfor rekkevidde. "Lagre og lukk"-ikonet, og vi har volumkontroll. Det samme kan gjøres for alle andre IR-funksjoner man ønsker å styre.

I stua har jeg selv en programmerbar fjernkontroll som styrer absolutt alt av apparater i rommet, mye via Girder. Blant annet var Nokia-satellittmottakeren umulig å lære inn direkte med den fjernkontrollen, derfor kjøres den via Girder, med en helt annen kode fra den programmerbare fjernkontrollen som utløser.

Ny flaske med noe kaldt i! Hvis dere fremdeles henger med, kommer vi nå til det store glansnummeret som jeg nevnte tidligere: Valg av musikk direkte fra fjernkontrollen.

Her har vi to atskilte problemer: Hvordan man finner frem til en avspillingsliste (som kan være alt fra en liste over favoritter til låtlisten for en CD), og hvordan man starter den i JRMC eller et annet program. Altså får vi ta én ting av gangen. Først til det å lage spillelister:

To ekstramoduler

To hendige ekstramoduler til J.River Media Center

Jeg fikk for noen år siden Neil Thomas, også kjent som Nila, en grei og flink kar på JRMC-forumet, til å lage en liten modul til meg som går igjennom alle hele CD-er (ut fra sorteringen i JRMC, ikke ut fra katalogen de er lagt i) og gir dem et nummer, fra 1 og oppover. Dere finner det her.

(Etter installasjonen, som kan gjøres med alt av standardinnstillinger (der den krever et firmanavn, er det nok med et mellomrom), vil det være en ny modul under "Plug-ins" i JRMC. Men før den kan brukes, må man legge til et nytt felt i biblioteket med det navnet man vil bruke.

Jeg kaller feltet for "ID", og det er det navnet som må brukes hvis dette opplegget skal fungere. Det gjøres i "Options", "Library", "Add".

Det må se slik ut:

Her har jeg valgt ikke å lagre ID-en i filene, for da vil alle endre seg, og det trengs en ny full sikkerhetskopi (for alle har vel sikkerhetskopi av sine omhyggelig sorterte musikkfiler?). Dessuten må det være av typen "String". Deretter kan vi se på selve plug-in-vinduet:

Legg merke til at det er en skrivefeil her: Det står at feltet til å lagre identifikasjonsnummeret i skal være av typen "Integer", men det skal være "String". Jeg har på bildet over bladd meg frem til den katalogen jeg vil bruke, og jeg har endret feltet i JRMCs bibliotek fra "AlbumID" til bare "ID" (altså det samme navnet jeg ga feltet over). "completealbum=1" betyr at bare fullstendige album vil få tildelt et nummer, og "Sort by [album type],[genre],[artist]" vil si at de får nummer etter om det er samlealbum eller ikke (altså mer enn én artist), sjanger (alfabetisk) og artist (alfabetisk).

Her kan man velge hvilket som helst felt å sortere etter. Så er det bare å trykke på "Fill in Album ID's", og den setter i gang med jobbingen etter å ha spurt om man ønsker å fortsette. Og det gjør jeg selvsagt, eller ville jeg ikke trykket på knappen! Hvor lang tid prosessen tar avhenger av hvor mange plater man har, naturlig nok. Er det mange plater på en ikke spesielt rask maskin, kan det ta en god del tid. Men jeg har ennå ikke opplevd at det ikke har fungert. Dette er vinduet man kan glede seg til:

Når så dette er gjort, er neste skritt å lage spillelistene for alle disse platene. Det gjøres med den nederste knappen, etter at man har valgt en grei katalog å legge dem i. Jeg foretrekker å holde sånne ting utenfor operativsystemets partisjon, så det ikke er nødvendig å tilbakeføre dem hvis jeg av en eller annen grunn må gå et skritt tilbake til en tidligere sikkerhetskopi.

Dette tar også en del tid, men her ser man iallfall hvor mange som er gjort klar til nå.

Her kommer det ikke noe vindu, det er bare tilbake til modulvinduet, og "Playlist Created Successfully" nederst i vinduet.

Uansett, denne lille modulen er meget arbeidsbesparende, særlig hvis man har en del plater som skal tildeles spillelistenummer! Man kan selvsagt også legge disse inn manuelt, men det tar tid. Lang tid. Veldig lang tid. Uhyre lang tid. Voldsomt lang tid. Grusomt lang tid. Jeg håper dere har skjønt tegningen nå, ellers må jeg snart finne frem synonymordboka

Men dette er bare halve jobben, for det hjelper ikke noe å ha disse spillelistene klare hvis man ikke har en lett måte for å finne frem til hva som er hva! Og også for å skrive ut oversikten over disse spillelistene, trenger vi en modul. Den heter MC XML Export, er lagd av Scott Raynel og kan lastes ned her (den har navnet 747.zip).

Dere må også ha Windows .Net Framework installert, men det kreves av ganske mange programmer nå. Det lastes ned med Windows Update. I tillegg trengs det et oppsett for plug-inen, og jeg har fått lagd et hos en herre ved navn Scott Raymond, en racer på XML-programmering. Oppsettet heter Mastiff Album Listing, og det kan dere finne her.

Installasjonen av XML Export-programmet er enkel og grei, selv om filtypen og ikonet kan være ukjent for noen. Dette er en MSI-fil, men de installeres akkurat som exe-filer, ved å klikke på dem.

Programmet vil som standard havne i C:\Programfiler\Scott Raynel Software\MC XML Export etter installasjonen. Mastiff Album Listing må pakkes ut til denne katalogen og får automatisk en underkatalog, i mitt tilfelle C:\Programfiler\Scott Raynel Software\MC XML Export\MastiffAlbumListing. Neste gang JRMC startes, vil modulen være der og se sånn ut:

Men her kommer vi til det store problemet med denne: Hvis man starter denne modulen med mange låter i mediebiblioteket, går det lang tid. Veldig lang tid. Uhyre lang tid. Voldsomt lang tid. Grusomt lang tid. Hvor var nå den synonymordboka ? Derfor må de som har et stort mediebibliotek gjøre en liten heksedans, noe i retning av "Alle vakre jenters hambo". Eller var det sambo?

Hvor mye som er "mye" vet jeg faktisk ikke, jeg hadde alt et ganske stort bibliotek da jeg tok i bruk denne modulen. Men jeg vil tro at alt over 5000 låter er mye.

Den som har under 5000 låter, kan godt prøve å starte modulen med en gang og hoppe over den neste siden. På min HTPC tar det omtrent 15 minutter å starte modulen med rundt ti tusen låter i biblioteket (jeg er gammel diskjockey og har noen tusen CD-er som er rippet). Hvis det skulle ta lang tid, så husk at det å behandle låtene etter at modulen har startet, kan ta minst like lang tid. For den som er i tvil, er nok neste side like grei å gå igjennom.

Forberedelser og utskrift

Når modulen så har startet, er det en listeboks der man kan velge oppsett. Her vil MastiffAlbumListing være ett av alternativene hvis den er lagt riktig inn.

Men det kan mangle én ting, og det er ID-nummeret. Hvis det mangler, er det lett å rette på.

Klikk på "Add"-knappen ved siden av "Select Database Field"-vinduet, og skriv inn navnet på ID-feltet.

Og dermed er feltet der.

Da er det faktisk bare å klikke på "Export"-knappen nede i høyre hjørne og vente. Hvis det er et stort mediebibliotek, vil det ta tid. Lang tid. Veldig lang tid. Kjempemessig lang tid. Kosmisk lang tid. Overhendig lang tid. Svimlende lang tid. Ja, jeg sa jo jeg skulle finne synonymordboka! Men dette kan jo bare stå og surre helt for seg selv, og det går sikkert noe bra på en eller annen av de 50 kanalene på digitalparabolen imens.

Når dette så er ferdig, vil det dukke opp i Internet Explorer. Derfra kan det skrives direkte ut, men for å få det helt riktig trengs det en liten endring, eller iallfall en liten sjekk. For ofte er ikke IE satt opp til å skrive ut bakgrunnsfarger, men dette oppsettet har en liten gråtoning på annen hver linje for å gjøre det lettere å følge linjen ut til ID-nummeret, som står helt til høyre.

Gå til "Kontrollpanel", "Alternativer for Internett", "Avansert", og rull ned til "Utskrift". Sjekk der at dette krysset står der, hvis ikke må det settes inn.

Det beste og enkleste er å skrive dette ut på en tosidig laserskriver, men det går an å få det til på en vanlig skriver også og likevel få skrift på begge sider, ved å snu arkene etter at partallsidene er skrevet ut. Metoden varierer fra skriver til skriver, så det står sikkert i bruksanvisningen.

For den som danset de store bibliotekers tango på forrige side, er det nå på tide å hente tilbake den sikkerhetskopien av biblioteket som inneholder det nye oppsettet for å vise alle spor over spor tre, men der låtene ikke er slettet.

Programgruppen for Girder

Siste runde - programgruppen for Girder

Jeg kan ikke annet enn å innrømme at jeg var veldig stolt av første utgave av denne programgruppen. Jeg lagde den helt selv, etter å ha tenkt og lært en del Lua-programmering. Og så fant jeg ut at den antakeligvis var veldig krøkkete, jeg så hva som burde endres, men var ikke selv i stand til å gjøre det. Derfor utnyttet jeg det som er det beste med Girder: brukerne.

Jeg ba om hjelp på Promixis-forumet, og Rob alias rah99, en gammel venn (en jeg har plaget mye når jeg har stått fast på skriptprogrammering), som også er et medlem av Promixis-laget, kom som prinsen på den hvite hesten. Jeg dååånte nesten ... (Den siste setningen bør leses høyt med lys stemme, affektert Oslo vest-dialekt og knekk i håndleddet! Tenk Homsepatruljen, men litt mer ekstremt.)

Så ut fra det jeg har klart å teste, fungerer denne meget stabilt. Den burde også fungere for alle andre som har gjort de riktige skrittene. Hovedpoenget her er å laste ned programgruppen herfra, åpne den i Girder og kopiere den til hovedoppsettet, GML-en.

Det eneste som mangler, er å legge til utløsere og konfigurere den for ens eget oppsett. Utløseren kan være den tidligere nevnte IR-fjernkontrollen, en ATI Remote Wonder eller noe så enkelt som et talltastatur!

Man kan lære inn taster og tastekombinasjoner, akkurat som andre utløsere, så i bilen min har jeg to enkle USB-talltastaturer der Mastiff-valpene kan velge musikk, lydbøker og alt mulig annet som ligger på den rullende medie-PC-en. En annen variant, for å gjøre seg litt mer uavhengig av plassering og kabler, er trådløse talltastaturer, som Logitech DiNovo Desktop, som fungerer med Bluetooth. Jeg bruker det selv og er godt fornøyd.

Jeg går ut fra at dere nå vet hvordan dere skal legge inn utløsere på alt dette, så sett i gang. I programgruppen min er både spillelistevalg og de viktigste transportkommandoene for seks soner ferdig definert, men behold den som ble lagd tidligere i artikkelen til den første sonen hvis den må kunne alternere med Zoom Player.

Så la oss konfigurere denne programgruppen. Det meste er forklart i selve skriptet, men på engelsk, siden jeg vil legge den ut til nedlasting på Girder-forumet også. Derfor går jeg kjapt igjennom tilpasningene her. Og husk for all del dette: Hvis dere endrer noe annet enn det jeg spesifiserer her, får dere klare dere selv! For da kan det rotes til så totalt og fullstendig at det er hinsides all hjelp, og dere må begynne på nytt. Husk også å ta en sikkerhetskopi eller flere når denne er konfigurert for deres bruk, det å miste arbeid er utrolig nok enda mer irriterende enn det stadige maset mitt om å ta sikkerhetskopier!

Først og fremst kommer det en meget viktig linje:

------Do NOT change anything above this line!!!------

Og ikke gjør det. Endringer vil gjøre at hele skriptet svikter. Husk også at hvis noe står i anførselstegn, skal det gjøre det også etter endringen. Ellers bærer det galt av sted.

Den første tingen som kan endres, er forsinkelsene for hver sone, fra PlayList.Z[0].Delay og opp til PlayList.Z[5].Delay. Dette avgjør hvor lang tid Girder skal vente på flere siffer i spillelistenummeret før den åpner listen. Så hvis man trykker færre enn fire siffer, som jeg har satt opp som maksimum, for eksempel 123, går det dette antallet sekunder fra siste siffer er trykket og til spilleliste 123 åpnes. Forsinkelsen er satt til fire sekunder (4000 millisekunder - alt av tid i Girder går på millisekunder) i alle sonene, men hvis barn eller personer med førlighetsproblemer skal bruke en av sonene, kan det godt økes, kanskje til ti sekunder.

Så til stemmegeneratoren. PlayList.Voice avgjør om den skal brukes eller ikke. 1 betyr at den brukes, 0 at den ikke brukes. Velger man å bruke denne, får man høre "one" når man trykker 1 og til slutt "Opening playlist 123 in zone 0", hvis det altså er det man gjør. Det går på engelsk fordi Windows bare har engelsk stemmegenerator, og et forsøk på å gjøre noe norsk ut av det ble så ynkelig at jeg ga opp etter noen få minutter!

Det neste er PlayList.Z[0].SoundCard til PlayList.Z[5].SoundCard, som avgjør hvilket lydkort som skal brukes av Girders stemmegenerator i de ulike sonene. Navnet på lydkortet finner dere ved å gå til "Kontrollpanel", "Lyder og lydenheter" og "Lyd". Sånn:

Navnet må skrives helt riktig, ellers vil ikke adresseringen fungere. Jeg har satt annen hver sone til C-Media Wave Device og Digitallydenhet for SB Live! (ja, utropstegnet må være med), fordi det var disse to lydkortene som satt i testmaskinen. Så skriv inn de lydkortene de ulike sonene skal gå til.

Så følger PlayList.Dir, som er katalogen spillelistene ligger i. Den er nå satt opp med den katalogen listene lå i på min utviklingsmaskin, "d:\\Dokumenter\\Playlists\\". Legg merke til at det alltid må brukes doble skråstreker i kataloger i Lua.

PlayList.Type er naturlig nok typen av spilleliste, den vanligste typen for lydfiler er m3u. Det er også denne typen som lages av Nilas spillelisteprogram. Men hvilket som helst filetternavn kan brukes.

PlayList.OSD fungerer for displayet på samme måte som PlayList.Voice gjør for stemmegeneratoren. Hvis den er satt til 1, vil et lite vindu vise sifrene man trykker etter hvert og til slutt hele spillelisten. Den bør slås av hvis dette er en HTPC som kan bli brukt til dvd-avspilling samtidig som noen i en annen sone ønsker å høre på musikk.

PlayList.OSD1Timeout og PlayList.OSD2Timeout avgjør hvor lenge dette vinduet skal stå oppe. Den første gjelder for de enkelte sifrene og er satt til 0,75 sekunder, mens den andre er satt til fire sekunder og gjelder hele spillelisten og eventuelt feilmeldingen hvis det trykkes inn et nummer det ikke er noen spilleliste til.

PlayList.OSDPress er den teksten som skal vises når man trykker den enkelte sifferet, her er den på engelsk og satt til "You have pressed:", men det er ikke noe problem å skrive "Du har trykket:" istedenfor.

PlayList.OSDOpen1 og PlayList.OSDOpen2 avgjør hva som skal stå når en spilleliste åpnes. Mellom dem kommer nummeret på listen, og etter kommer nummeret på sonen, så det blir i min utgave "Opening play list" 123 "in zone" 0. Eller man kan endre det til "Åpner spilleliste" og "i sone".

PlayList.OSDError1 og PlayList.OSDError2 er det samme, bare for feilmeldingen når det er trykket et feil spillelistenummer. "Play list" 123 "does not exist." Eller "Spilleliste" og "fins ikke."

Jeg har også lagt inn en funksjon for å kunne velge musikk i sone 1 og 2 med fjernkontrollen til sone 0 (husk igjen at 0 er den første sonen). Dette fungerer slik at man tilordner to ulike taster valget av sone 1 og sone 2. I programgruppen er de merket med "Controlling zone 1 with zone 0 remote" og "Controlling zone 2 with zone 0 remote". Man trykker på den tilordnede knappen, og alt man da trykker på sone 0-fjernkontrollen, vil gå til den sonen istedenfor. Det gjelder både spillelister og stopp, pause og så videre. Men stemmegeneratoren går til den sonen der knappene trykkes på. Etter et visst antall sekunder går kontrollen tilbake til sone 0. Og det er antallet sekunder man setter opp i neste punkt som kan redigeres i initialiseringsskriptet, PlayList.OSDControlDelay. Den er satt til 25 sekunder, men kan justeres som man vil.

Man kan også tilordne en tast til å gå tilbake til sone 0, men den utløseren som allerede fins, merket med "Controlling zone 0 with zone 0 remote", må være der for at det skal fungere å gå tilbake til sone 0 etter det bestemte antallet sekunder.

Hvis stemmegeneratoren er slått på, vil stemmen si sonenummeret når det byttes kontrollsone. Og hvis displayet er på, vil det komme en beskjed. Den beskjeden kan også konfigureres for hver sone, i PlayList.OSDControlZone. De leveres på engelsk, "The Zone 0 remote is now controlling zone", men dere finner sikkert på noe kreativt på norsk, som "Fjernkontrollen for sone 0 styrer nå sone". Sonetallet og et punktum til slutt blir automatisk lagt til.

Den siste konfigurerbare tingen her går på om dere vil bruke J.River Media Center eller ikke. Jeg anbefaler selvsagt å bruke det, og multisonelyd går vel ikke i det hele tatt med noen andre programmer, så vidt jeg vet. Det som skjer hvis man setter PlayList.JRMC til 0, er at spillelistene vil bli åpnet i det programmet som er assosiert med den typen spilleliste, enten det nå er WinAmp (æsj!) eller Windows Media Player (dobbelt æsj!!! - sitat Donald Duck).

Hvis man ikke skal bruke multisone, kan jo ZoomPlayer spille alt av musikk. Men da må man lage alle spillelistene selv, og det tar ærlig talt så mye tid at det blir lønnsomt å kjøpe lisens på J.River Media Center!

Som en bonus er det lagt ved en ekstra programgruppe, og det burde vel være ganske selvforklarende hva "Mastiff's playlist selector v. 2 for numerical keyboard" er for noe, men for ordenens skyld: Den er allerede innlært for et talltastatur, og det bør funke på alle talltastatur. 0-9 er selvsagt, + og - er neste og forrige spilleliste, og / og * er satt opp for å velge å styre sone 1 og sone 2 med talltastaturet, mens . er satt opp for å gå tilbake til sone 0.

En liten ting til slutt: Det er viktig å starte Girder på nytt etter at denne programgruppen er ferdig konfigurert eller åpnet, ellers vil ingenting fungere. Hvis Girder åpnes med programgruppen inne, vil det selvsagt fungere.

Avslutning

Og det var så langt jeg vil hjelpe dere på vei med Girder. Jeg kommer ikke til å gi privat hjelp, som jeg har sagt tidligere, det har jeg bare ikke tid til. Hvis det skulle være noen spørsmål angående Girder, må jeg igjen anbefale Promixis-forumet. Det er der de virkelige ekspertene befinner seg.

Og som sagt er mulighetene til Girder nærmest ubegrenset, med Insteon som et av de siste tilleggene. Dette er en mer moderne variant på X-10-temaet, men så vidt jeg vet, er det ennå ikke lagd moduler for 220 V-systemer.

Det har også nettopp dukket opp en liten plug-in for å taste inn tekst på samme måte som man gjør det med et mobiltastatur, altså med talltaster. Og en stemmekontrollmodul er under utvikling. Så snart blir det mulig å si spillelistetallene inn i en mikrofon istedenfor å taste dem!

Stadig kommer det nye ting, og oppdateringer og finpussinger på eksisterende ting. Jeg så et TV-program for en stund siden om et hus til diverse millioner i London, og de var så imponert over at de hadde Crestron-fjernkontroller til mange titusener, en harddiskavspiller til nærmere 50 000, og at dette faktisk kunne spille av forskjellig musikk i tre forskjellige rom samtidig!

Vel, jeg har hatt lignende opplegg i flere år, og det har ikke bare vært tre soner. For ikke å snakke om at det har kostet en brøkdel!

Og neste gang, i min siste artikkel i serien, skal jeg gi dere en liten innføring i det programmet som lager hakkemat av Crestron, også det fra Promixis: NetRemote. I tillegg skal jeg ta en liten gjennomgang av hva som har skjedd med min HTPC, som ble bygd til denne artikkelserien for omtrent et år siden.

Så da kan troppen ta noen ukers hvil. Tre av!

annonse