keskiviikko 19. marraskuuta 2014
sunnuntai 16. marraskuuta 2014
Sailfish Midi 2
Midiprojekti etenee, ehkä vähän hitaasti, mutta eteenee silti.
Kuvassa näkyvä numerot on kappaleen hetkellinen kohta ja kappaleen pituus.
Tämä luetaan c koodista python putkituksen ja threadin kautta puhelimen ruudulle.
(kuvassa sekunnin tarkuudella, mahdollista vaikka nanosekunnin tarkkuudella)
C koodi on käännetty suoraan puhelimessa eikä SDK:ssa ... ja miksi näin ?
jostakin syystä minulla ei SDK:n ja emulaattorin kirjastoissa ei vaan kaikki täsmää.
tai sitten en vaan osaa.
Ohjelmassa toimii nyt tällä hetkellä:
Pause ja Resume
Duration ja Position näyttö
Seek eteen ja taakse
Haku tosin kestää noin 3-5 sek. mutta tähän on ehkä olemassa jotain parannusta.
Kappaletta voidaan myös soittaa erillä nopeudella, mutta siitä tuskin on mitään iloa, koska samalla äänenkorkeus muuttuu. Mielenkiintoista olisi yhdistää kuvaa ja ääntä, koska gstreamer mahdollistaa tämän aika helposti.
Se mikä ei toimi vielä.
Audio panorama, bluethoot yhteys, volume säätö ym.
Kuvassa näkyy ohjelman ottamat cpu ajat.
(värjätty punaiseksi)
simple-player - c kielinen ohjelma.
Sound - QML ja PyOtherSide ohjelma
Pulseaudio - tuottaa äänen ulos.
Eli paljon on tehty töitä että ollaan päästy edes tähän, ja tästä sitten varsinainen homma alkaa... eli Midi sävellysohjelman teko.
Tästä myöhemmin lisää.
Tämä luetaan c koodista python putkituksen ja threadin kautta puhelimen ruudulle.
(kuvassa sekunnin tarkuudella, mahdollista vaikka nanosekunnin tarkkuudella)
C koodi on käännetty suoraan puhelimessa eikä SDK:ssa ... ja miksi näin ?
jostakin syystä minulla ei SDK:n ja emulaattorin kirjastoissa ei vaan kaikki täsmää.
tai sitten en vaan osaa.
Ohjelmassa toimii nyt tällä hetkellä:
Pause ja Resume
Duration ja Position näyttö
Seek eteen ja taakse
Haku tosin kestää noin 3-5 sek. mutta tähän on ehkä olemassa jotain parannusta.
Kappaletta voidaan myös soittaa erillä nopeudella, mutta siitä tuskin on mitään iloa, koska samalla äänenkorkeus muuttuu. Mielenkiintoista olisi yhdistää kuvaa ja ääntä, koska gstreamer mahdollistaa tämän aika helposti.
Se mikä ei toimi vielä.
Audio panorama, bluethoot yhteys, volume säätö ym.
Kuvassa näkyy ohjelman ottamat cpu ajat.
(värjätty punaiseksi)
simple-player - c kielinen ohjelma.
Sound - QML ja PyOtherSide ohjelma
Pulseaudio - tuottaa äänen ulos.
Eli paljon on tehty töitä että ollaan päästy edes tähän, ja tästä sitten varsinainen homma alkaa... eli Midi sävellysohjelman teko.
Tästä myöhemmin lisää.
Lisää RAM muistia USB tai SD muistilla
Pc tietokoneen RAM muistia voidaan jatkaa USB tikulla tai SD kortilla sinänsä aika helposti Linux koneissa ... siis jos jotain valmista ohjelmaa tähän ei ole käytettävissä.
Yksinkertaisesti, tehdään tikusta/kortista SWAP osio, liitetään ja asennetaan prioriteetti
swapon -p 32767 /dev/sdf1 -- huom. tarkista osio
swapon -s -- esim. näin tarkistetaan onko toiminnassa
Itseasiassa tässä lisätään swapin kokoa flash muistilla.
Yleensä swap-osio luodaan kiintolevylle käyttöjärjestelmää asennettaessa, mutta mahdollisesti se voi olla liian pieni, suositus kun on tuplaten mitä fyysinen muisti (RAM) on.
Oikeasti fyysistä muistia ei voi lisätä muuten kuin lisäämällä sitä , mutta koska suorittimen muistiavaruus jatkuu fyysisen (RAM) muistin yli näennäismuistille, ohjelmat voi olla myös siellä, niitä tosin ei voi ajaa siellä, vaan ne siirretään RAM muistiin, jolloin jotain on siirrettävä pois tieltä, takaisin näennäismuistille, ja tästä nimi ... SWAP
-------
Tässä sitten vähän tarkemmin miten tehdään swap levy
-Etsitään laite
Laita USB tai SD kortti koneeseen, aluksi siis etsitään mistä laitteesta tehdään swap lisämuisti.kirjoita konsolissa -- (esimerkissä on 2 vaihtoehto -- df tai mount)
df
jos media on mount:ttu (liitetty) niin saadaan ulos jotain tällaista
kuvan alhaalta nähdään että laite on /dev/sdf1
tämän jälkeen meidän täytyy sitten irrottaa tikku
tämän jälkeen meidän täytyy sitten irrottaa tikku
sudo umount /dev/sdf1
----------------
mount
ja jos media on mount:ttu (liitetty) niin saadaan ulos jotain tällaista
/dev/sdf1 on /media/USB DISK type vfat ... riviä lyhennetty
jolloin huomataan että kyseessä on USB tikku ja laite on -- /dev/sdf1
irroita tikku
sudo umount /dev/sdf1
mutta normaalisti median asentaminen Pc:n ei automaagisesti kiinnitä mitään eli mount:aa,
jolloin on ehkä paras käyttää komentoa.
sudo fdisk -l
Huomataan kuvan alhaalta että laite on /dev/sdf1, voi tietenkin olla vaikka esim. /dev/sdb1 .. jne
ylempänä on kiintolevyn osiot /dev/sda.. eikä niihin parane puuttua.
Eli tässä tapauksessa laite on siis /dev/sdf1
varmista vielä ettei laite ole liitetty
umount /dev/sdf1
-Tehdään swap
korvaa tekstissä sdf1 oman laitteesi tiedoilla ... varmista aina mille laitteelle kirjoitat
sudo mkswap / dev/sdf1 --- tehdään swap-osio
sudo swapon-P32767 / dev/sdf1 -- tai (swapon -p 32767 /dev/sdf1) -- liitetään / prioriteetti
Prioriteetti 0 - 32767 väliltä,
jos prioriteettiä ei aseteta, niin saamme oletuksena esim. arvot ..
swap flash -2 ja swap kiintolevy -1
-1 on tällöin korkeampi arvo
Kahdella swapillä prioriteetti voi olla myös sama, jolloin käytetään molempia vastavuoroisesti, ja tämä voi lisätä swapin nopeutta, edellyttäen että swapit on erillä laitteella.
-Varmista
swapon -s -- tai cat /proc/swapsfree -m -- näyttää mikä on swapin koko
huom. Pc uudelleen käynnistettäessä swap pitää liittää uudelleen.
-Swappiness
Arvo väliltä 0-100
Tai ehkä tarkemmin tällä määrätään ohjelman tyhjäkäynti aika, mikä se saa olla ennen kuin ohjelma siirretään swappiin.
pieni arvo -- ohjelmat halutaan pitää fyysisellä muistilla pitkään kuin mahdollista
suuri arvo -- ohjelmat halutaan siirtää swap muistilla, heti kuin mahdollista.
Eli suuri arvo, ohjelmia siirretään herkemmin swap:iin, jolloin muistia vapautuu levyvälimuistille (sekin on keskusmuistissa) ... koska käyttöjärjestelmä haluaa käyttää RAM:a mahdollisimman tehokkaasti.
toisaalta tyhjäkäynnillä olevat ohjelmat, niitten herääminen on hidasta, siirto swap muistista RAM muistille kestää.
toisaalta tyhjäkäynnillä olevat ohjelmat, niitten herääminen on hidasta, siirto swap muistista RAM muistille kestää.
Ubuntussa oletus on 60 ... ehkä turhan korkea, kokeile 30
cat /proc/sys/vm/swappiness --- luetaan arvo
sudo sysctl vm.swappiness=10 --- tässä asetetaan arvoksi 10
Mikä on sitten paras arvo ? -- ylensä suositellaan pientä arvoa, mutta myös vastakkaista mielipidettä löytyy .. koska tietokoneen käyttötapoja on niin monia.
-Swap tiedosto
Voidaan tehdä myös Swap tiedosto, jolloin ulkoisiata mediaa tai kiintolevyn osiointia ei tarvita.
dd if=/dev/zero of=/swapfile bs=1024 count=1048576 --- (1GB)
mkswap /swapfile
swapon /swapfile
-Mitä hyötyä?
Siis ulkoiselle muistille kirjoittaminen ei ole mitenkään nopeata, eikä siksi sillä voida sinänsä korvata RAM muistia, mutta joissain tapauksissa voi olla hyvinkin tarpeellinen lisä, voihan olla että konetta on päivitetty vaikka 2GB muistista 8 GB:n mutta swap on vaan 2GB, eikä haluta kiintolevyä osioida, niin tällaistä systeemiä voisi harkita.
On myös muistettava että flash muistit ei ole ikuisia, mahdollisuus kirjoitottaa on noin > 10 000 kertaa
On myös muistettava että flash muistit ei ole ikuisia, mahdollisuus kirjoitottaa on noin > 10 000 kertaa
Tilaa:
Kommentit (Atom)






