17. tammikuu 2010, 12:39

Näyttöjä

Huonojen otsikoiden sarja jatkukoon. Lyhyesti viikonlopun ohjelmista: sain "lahjaksi" 22-tuumaisen Acerin ja koodailin lyhyen skriptin MPD:lle.

Näyttö on ihan mukava. En ehkä ole laajakuvanäyttöjen kovin puolestapuhuja, mutta on tällä etuja, kun korkeutta on kuitenkin about saman verran kuin noissa vanhoissa näytöissäkin. Eikä kukaan pakota sitä selainta pitämään kokoruudulla, joten luulen selviäväni. Pari uutta positiivista, taktista uudistusta tämä toki tuo:

  1. Suuremman pikselikokonsa puolesta fonttikokoa voi joissain tapauksissa pienentää vähän, ja tämä tuo tietty lisää tilaa ruudulle
  2. Edelliseen lisäyksenä 25 lisäpikselin korkeus ei tietty paljoa paina, mutta toisaalta selainikkunan uudelleensijoituksella syntyi mielenkiintoinen asetelma, jossa ruudun koko on jämäkkä 1050×1050
  3. Suuren paneelikoon puolesta elokuvien katselu tietokoneella voi olla kerrankin mukavaa, eikä ainaista tihrustamista. Enpä ole noilla pienillä näytöillä paljoa katsellutkaan leffoja, mutta nyt varmasti on uusi ääni kellossa

Vanha näyttökaksikko

Uusi näyttökaksikko

Näyttö on näitä halpapaneeleita, TN-mallia ja inputtejakin on vain analoogista mallia. No, hyvin tästä näkee, ei siinä mitään. Kuvapinta-alaa on häkellyttävästi, se on sanottava. Kuten joku saattaa muistella eräästä vanhasta kirjoituksestani, voi olla haastavaa suunnitella ja mukautua uuteen näyttöasetelmaan. Minullakin on tässä nyt ollut mietinnän alla, kuinka käyttää tila tehokkaasti. Onhan tässä erilaisia mahdollisuuksia. Äh, nyt kun tutkailin, työpöytälayouttikirjoitukseni kuvat ovat kadonneet jonnekin. No onneksi ne löytyivät. Epäonneksi ne kuvat eivät oikein toimi mustaa vasten. Joko virittelen niitä tahi en. Ehkä kirjoitan uuden kirjoituksen, kuinka nykyisemmin asian hoitaisin.

Toisekseen, nyt minulla on kolme näyttöä, kaksi 17-tuumaista ja uusi 22-tuumainen. Lienee sanomattakin selvää, että otin jo selvää, missä hinnoissa halvimmat näytönohjaimet liikkuvat. Emolevyni asettaa pieniä rajoitteita, esimerkiksi siten, että siinä on vain yksi 16x-väylä (vai onko se 8x?) ja pari 1x-väylää. PCI Express tukee todellakin korttien lisäilyä mihin väylään vain haluaa, eli iso korttikin toimisi kaikkein pienimmästä väylästä käsin, kunhan se siihen fyysisesti mahtuu. Jotkut näistä käytetyistä muovirungoista ovat päästään avoimia, toiset suljettuja. Minun tapauksessani suljettuja. Ratkaisuksi jää pari vaihtoehtoa: joko avaan emolevyn päästä sen aukon jollain työkalulla tai sitten naputan näytönohjaimen puolelta ylimääräiset pinnit pois. Näinkin se kuulema voi tapahtua. Jos ostan 30 euron passiivikortin, ei siinä paljoa jälleenmyyntiarvoakaan menetä. Harmi kun valtaosa 1x-korteista on niin kalliita, pitää sitten ostaa noita täyskokoisia ennemmin. 30 euroon muuten sisältyy jo postikulutkin (Multitronic ja GeForce 6200 TC).

Vielä vähän konffauspuolesta: homma on melko selvä, riippuen toki vähän. Xorg-konffini on hyvin vanha ja käytännössä pariin vuoteen en ole koskenutkaan siihen. Siellä ei ole esimerkiksi mitään mainintaa muista näytöistä taikka muusta sellaisesta, olen vain jotenkin sen saanut toimimaan. Syynä ovatkin NVidian TwinView-toiminnot ajuripuolelta. Sitä kautta saa muuten näppärästi säädettyä resoluutiot sun muut kohdilleen. Oikein hyvä homma, toivottavasti ne asetukset myös säilyvät. Jos eivät säily, joudun purkamaan sen konffin ja kirjoittamaan uudestaan. Sama homma sitten mahdollisesti sen kolmannen näytön kanssa. Nyt eletään lupaavia aikoja, kuomaseni! Kuvaruutukaappaus näyttää, miltä se nyt ainakin tällä hetkellä näyttää. Luultavasti jopa vaihdan näyttöjen paikkaa fyysisesti, jotta pääsen paremmin hallitsemaan tietoa.

Pieni skripti MPD-käyttöä sujuvoittamaan

Amarok-aikoinani kun tutkiskelin MPD:tä, moni asia otti päähän: mm. tiedostopohjaisuus ja se, että useimmat (kaikki kokeilemani) asiakasohjelmat aakkostivat The-alkuiset bändit T:hen. Myös eräs pienempi häiriö oli mukana pelissä, nimittäin Amarokissa oli kiva toiminto "stop at the end of the track". Joskus pitää käydä jättämässä nesteitä ulos taikka muuta sellaista, eikä sitten malta tehdä asiaa jos toista, koska kappale on kesken. Ja voi olla hyväkin kappale! Ja sitten muuta sellaista voi asiaan liittyä. MPD:ssä ei ole sellaista lippua, jota voisi asiakasohjelmat kutsua, ja siten jäljelle jää asiakasohjelman tekemä suoritus. En pidä asiakasohjelmia päällä turhanpäiten, joten sekään ajatus ei käynyt. Asia jäi hautumaan vuosiksi, kunnes tänään tajusin, että eihän se perhana ole homma eikä mikään, kun käyttää vähän skriptausta apunaan. Kirjoitin sen bashilla:

#!/bin/bash
# Pause at the track change

# pause command
pausecommand="mpc pause"

# get remaining time in seconds
remainingtime=`mpc | awk 'BEGIN { FS="[ /]" }
   /playing/ { split($6, curTime, ":"); split($7, wholeTime, ":");
   ct = (curTime[1] * 60)  + curTime[2]; wt = (wholeTime[1]*60)
   + wholeTime[2]; print wt-ct; }'`

# 2 seconds off
(( remainingtime -= 2 ))
sleep $remainingtime

# Now let's poll more frequently for the track change
# (the song is at its end now)
# and compare the track numbers for accurate change point

track=`mpc|awk '/playing/{print $2}'`
newtrack=`mpc|awk '/playing/{print $2}'`
while [ "$track" == "$newtrack" ]
do
 sleep 0.1
 newtrack=`mpc|awk '/playing/{print $2}'`
done

$pausecommand > /dev/null

Tökeröä paikoitellen, myönnetään. Pinkillä maalattu awk-oksennus laskee jäljelläolevien sekuntien määrän kappaleesta (se parsitaan muodosta m:ss/m:ss) ja tulostaa ne bashille, joka laitetaan nukkumaan siten, että se herää paria sekuntia ennen kappaleen päättymistä. Sitten pollataan tiuhemmin, ja vertaillaan (oranssi) milloin MPC:n esittämä kappalenumero vaihtuu. Kyseessä on MPD:n sisäinen soittolistanumero, joten se ei mene sekaisin jos kappale vaihtuu jonkun toisen levyn samannumeroiseen kappaleeseen. Se on muotoa "#2/10″, ja sitä ei parsita, koska vain erilaista lukua etsitään.

Skripti sekoaa tai muuten toimii väärin, jos soittolistalle heitetään uusia kappaleita tai poistetaan vanhoja sillä välin, kun se odottelee tai pyörii loopissansa. Myöskin tulee odottamattomuuksia, jos kappaletta kelaillaan eteenpäin nukkumisvaiheessa (silloin todennäköisesti skripti alkaa pollailemaan liian myöhään, seuraavaa kappaletta) ja taaksepäin kelatessa ei taida tulla ongelmia. Kuitenkin, omaan käyttöön kirjoitettuani sen se tuntuu toimivan hyvin olosuhteisiin nähden (en itse käytä stop-toimintoja kovin usein, vaan kuitenkin joskus sitä tarvitsee). Paussikomennon laitoin ohjelman alkuun, koska paussin lisäksi stop olisi hyvä toteuttaa. Ajattelin ottaa sen argumenttina, ja käyttää paussia oletusarvona.

Tageja: , ,

---
---

---

Aiheen vierestä