Sftkorjauslista

- Jos laittaa yksinkertaisesti spacen eteen, niin sitten tekstin ympärille tulee laatikko. Tämä tarkoittaa, että asia on tekemättä. Jos space on edessä, niin silloin enterit rivin lopuissa näkyy "julkisessakin" ulkoasussa.

- Sitten kun asia on tehty, niin spacet poistetaan alusta. Tällöin teksti näkyy tällä tavalla ihan normaalisti. Tässä tapauksessa rivi vaihtuu vasta tokalla enterillä "julkisessa" ulkoasussa.

Muut muotoilut mitä voi helposti käyttää on: Bold ja Italic

Tyhjiä rivinvaihtoja (tyhjiä rivejä) voi käyttää. Tabulaattoria ei voi oikein käyttää. Spaceja voi noissa laatikoissa käyttää tabien sijaan.

- Viritysmittarin tulee olla aina aivan reaaliaikainen, muuten sitä ei auta katsoa esim. soittaessa (nyt on jopa noin sekunnin viive). Myös playbackissa soivan äänen pitäisi alkaa aivan heti tai ainakin olla täsmälleen synkassa liikkuvan positiokursorin kanssa.

- Record kuntoon: juuttuva "zzz"-bufferi pois.

- Analyse vibrato on/off pitäisi vaikuttaa areas out of tuneen.

- Areas out of tune: "kalibraatio" alemmaksi eli nyt se on liian korkealla. Ei yksittäisiä viivoja, vaan tasaisia alueita, jotka merkkaavat epäpuhtaat alueet tarkasti riippumatta zoomauslevelistä.

- Biisin alun vasemmalle puolelle ei pitäisi koskaan nähdä.

- Ohjelma sekoaa niin, että volumekäyrä fillaa koko taustan, siis ilmeisesti sekoaa 100% volumeksi, jolloin koko tausta on "tumma".

- Kun esim. gridin, analyse vibraton jne. vaihtaa on/off, niin kuvan pitäisi samalla päivittyä. Myöskin jos maksimoi ikkunan, niin gridit ym. ei saa kadota.

- Ctrl+space ja shift+spacen toiminnassa bugeja: esim. synteesin ollessa päällä bugittaa jos painaa esim. shift+space perätysten useamman kerran. Myös biisin loppumisen jälkeen bugittaa jos uudelleen painaa ctrl+space tai shift+space. Shift+spacen pitäisi huomioida myös jos hiirellä on määritelty alkamiskohta.

- Positiokursorin ja ruudun liikkumisen oikeellisuus playbackin aikana? Ei pysty nyt tarkistamaan, kun ohjelma tuottaa blue screenin jatkuvasti.

- One octave view: * kaikki 13 kosketinta näkyvät aina kaikki kokonaan * kun pitch viewiä venytetään suuremmaksi (viivasta alaspäin), niin joko viiva paljastaa 12px ajan "tyhjää valkoista", kunnes koko koskettimisto suurenee 1px/kosketin TAI viivaa on mahdollista venyttää vain 12px blokeissa (jolloin One octave viewin päälle laittaminen tarkoittaa myös automaattista    pitch-viewin koon mukauttamista 12:lla jaolliseksi). Jälkimmäinen on parempi vaihtoehto!! * pieni numero piirretään aina nuotin alun vasempaan yläkulmaan, jos ja kun oktaaviala vaihtuu edellisen nuotin oktaavialasta * pianorollista (vasen pianopalkki) pystyy klikkaamaan kosketinta, jolloin ko. kosketin siirtyy viewin alimmaksi koskettimeksi (one octave viewissähän    pianoroll on oktaavialaton; oktaaviala ilmaistaan nuottien vieressä)

- Onko vertikaalisuunnassa nyt määritelty joku maksimikoko? Nyt nimittäin ei pitch-view suurennu y-suunnassa yli 600px kokoiseksi. (Jotain sellaista bugia oli myös, että  y-suunta ei lainkaan zoomannut ennen kuin pienensi ikkunan ensin tarpeeksi pieneksi.)

- Oikealle biisin lopun jälkeen tyhjiöön ei pidä pystyä siirtämään positiokursoria eikä pidä pystyä raahaamaan biisiä niin paljon vasemmalle, että ei näy enää biisiä ollenkaan. Biisin lopun oikean puoleisen tyhjiön voi trimmata kokonaan pois.

- Kaikki setupissa olevat ajurit ilmeisesti initialisoidaan ja avataan ohjelman käynnistyessä. Näin ei pitäisi kuitenkaan tapahtua, vaan ajurin pitäisi initialisoitua vasta, kun ajuri valitaan ja sen jälkeen painetaan Ok. (Tietysti default-kortti  avataan kyllä aina suoraan.)

- Biisin alkuun ja loppuun voi laittaa tummanvihreät viivat merkeiksi.

- Positiokursori liikkumaan mousen mukana jos leftMouse on pohjassa. * napin ylöspäästäminen pysäyttää kursorin liikkumisen ja kursori jää siihen, missä mousen coordsit oli silloin kun se päästettiin ylös * kuitenkin leftMousen ensimmäinen painallus iskee ja päivittää kursorin suoraan siihen kohtaan, missä coordsit olivat painettaessa alas (eli kursori ilmestyy välittömästi uuteen paikkaan, vaikka    jättäisi napin vielä pohjaan)

- Positiokursorin klikkaaminen uudelle kohdalle pitäisi toimia playbackin aikanakin. Lisäksi raahauksen tulisi onnistua playbackin aikana JOS mahdollista (sitten kun  päästää irti, niin normaali ruudunsiirto alkaa taas toimia eli kursorin täytyy aina   näkyä playn aikana).

- Zoomin pitäisi toimia playbackin aikana (tai se ei ainakaan saisi bugittaa,  kuten nyt tekee).

- Tone disorderin liittäminen.

- Raahauksen napin pohjaanjäämisongelma (olen todennut, että ylimääräinen  ohjelman instanssi auttaa, eli toisessa samanaikaisessa instanssissa ei   ko. ongelmaa ole).

- Onko min. ja max. zoom levelit kumpaankin suuntaan kunnossa? Luultavasti pitää pystyä zoomaamaan vielä lähemmäs ja saada tihemmin datapisteitä, mutta tätä pitäisi testata vähän kehittyneemmässä versiossa sitten. Zoom outin pitää pystyä zoomaamaan ulos, kunnes koko käyrä näkyy (vaikka se olisi kuinka pitkä).

- Metronomiin vain yksi on/off-nappula. Eli TEMPO muutetaan vain tekstiksi, OFF toimii nappulana, ja muuttuu ON:ksi, kun metronomi on toiminnassa.

- Scoret (näitä ei pysty nyt tarkistamaan, kun ohjelmaan ei ole implementoitu  näitä tai implementaatio on sekaisin): * Score 1/6: Prosentuaalisesti kuinka paljon oli puhdasta (alle 10c pielessä)* * Score 2/6: Prosentuaalisesti kuinka paljon oli alle 25c pielessä (almost in tune) * Score 3/6: In rhythm prosentteina (valittu kvantisointi otetaan huomioon) * Score 4/6: Clean sound prosentteina * Score 5/6: Hyvä vibrato prosentteina (näytetään vain jos analyse vibrato aktivoitu) * Score 6/6: Kokonaispisteet x/1000 (lasketaan painotetusti kaikista muista pisteistä               sisältäen vibratosta lasketut pisteet vain analyse vibrato on päällä)

- Toimiiko Stop, Play ja Record -hiiripainikkieet playbackin aikana? Toisella koneella toimi, Athlon-koneellani ei lainkaan. Ei reagoi Stopin painamiseen. Lisäksi onko esim. Stop-ilmoitukset järkeviä? (Nyt näyttäisi tulevan epälooginen "Recording  already played")

- Vertikaali zoomi bugittaa tällä hetkellä: zoomattaessa view kelautuu alkuun jos view on oikealla.

- WinXP silver -teemassa ei kannattaisi näkyä 10kpl outoja suikaleita skaalautuavana taustakuvana - defaultin sinisen teeman värit on toistaiseksi ihan ok eli tausta voisi aina olla esim. sen värinen, mitä se on sinisessä teemassa (eli ECE9D8 siinä melko reunoilla ja F7F7F5 pitchin taustalla).

- Kuten JPG:ssä on ja jossain Sonicin versiossakin taisi olla jo, ylhäällä pitäisi näkyä siniset palkit, jotka edustavat onsetin ja offsetin välistä ääntä. Näiden avulla siis näkee aina missä on nuotteja vaikka pitch olisikin raahattu pois näkyvistä pystysuunnassa.

- Ensimmäisen tabin pitch-käyrän reunuksen väritys on keltainen.

- Kun painaa Record, niin tulee "Delete recording?". Tässä pitäisi standardinmukaisesti toimia Tab, Y, N ja Enter (= sama kuin Space). Nyt on pakko käyttää hiirtä päästäkseen eteenpäin. Myöskin teksti vaihdetaan: "Discard current recording?".

- Samoin kuin edellisessä, jos menu on auki (esim. File), niin silloin pitää pystyä liikkumaan nuolilla menussa, painamaan entteriä ja esciä. Se on hyvä, että esim. Alt+F toimii nytkin (jolloin File-menu avautuu).

- Main menussa vaihdetaan Edit View:iksi ja siirretään sieltä Settings Fileen siten, että File-menusta tulee: New, Open, Close, Save As kuten nyt on jo       - Audio device settings... -       Exit (kuten on jo)

- Väliaikaiset yksinkertaiset scrollbarit. Tarkoituksena on, että hiirellä voi nopeasti siirtää vaakasuunnassa ja pystysuunnassa biisiä ääripäästä toiseen, ja myöskin siirtää zoomia kummassakin suunnassa ääripäästä toiseen nopeasti. Esim. Wavelabin ratkaisusta voi ottaa mallia (kuva: www.mjochim.com/audio/images/wavelab.jpg <- jos tuohon laittaa http:n  alkuun, niin se kuva tulee tähän wikiin näkyviin..)

- Volumemittari (ks. JPG): muutetaan väri niin, että se on kokovihreä, kun kyseessä on playback ja kokopunainen, kun kyseessä on record/input. Input activityn (= punainen mittariväri) tulisi siis näkyä aina Stop-tilassa jos ääntä inputtiin tulee.

- Volumesliderin pitää muuttaa playback-volumea (nyt se ei tee mitään). Volumea pitää pystyä muuttamaan playbackin aikana.

- Cantilene: nappula top paneliin, Cantilene-moodi lyhyesti kuvailtuna tekee arvostelusta tietyllä tavalla ankaramman (ja spesifimmän). Sen on tarkoitus vaatia soittajaa soittamaan "hyvällä legatolla".

- Reference A -toiminnossa skaalan pitäisi olla yhden desimaalin tarkkuudella 436-448Hz (eikä 420-460Hz).

- Audio device settingsit pitäisi seivaantua esim. sonicft.ini-tiedostoon eli tällöin Sonic muistaisi audio device -asetukset. Myös ikkunan koko (tai maximized-tila) voisi seivaantua automaattisesti.

- Auto-calibrate A from song eli etsi automaattisesti virityksen kalibraatio kappaleesta -toiminto. Tutkitaan biisin In tune -prosenttia eri kalibraatioilla 436 ja  448Hz:n välillä, ja parhaan prosentin kalibraatiotaso sitten valitaan.

- Current time position -lukeman pitäisi päivittyä myös muulloin kuin playbackin aikana.

- View menu: Show advanced functions / Hide advanced functions [= main viewiin Cantilene on/off ja Synthesis on/off] --       (x)  Show areas out of tune [nykyään "Notes out of tune", vaihda] (x) Show barlines [nykyään "Tempo", vaihda] (x) Show volume envelope (x) Show note starting points [onset on liian tekninen termi...] (x) One octave view [13 steps eli esim. A1:stä A2:een] [Näyttää pitch-ikkunassa yhden oktaavin (jos ei sävellajia valittu, niin               oletus C), ja käyrään lisätään pieni oktaavialan numero aina kun oktaaviala vaihtuu. Silloin kun One octave view on päällä, niin pitch-ikkunan scrollbar ei näy.] --       Quantization (quickest note)      > 32th (kuva 32-osa-nuotista) 16th (samoin jne.) 8th 4th Half note [Laitetaan nuo viisi valintaa nuottien kuvina. Huom: kvantisaatio vaikuttaa tahtiviivojen määrään sekä tarvittaessa pitch-algoritmiin siten, että hitaalla kvantisaatiolla lyhyitä virheellisesti tulkittuja hypähdyksiä ei esiinny (tietysti aina parempi mitä parempi               algoritmi on muutenkin).] --       Auto-zoom to whole song [Delete, Shift+Z] Auto-zoom vertically [Insert, Z]

- Help/Shortcut keys: [Luodaan globaali lista, esim. sonicft.ini, johon laitetaan kaikki muuttujat, joita on hyödyllistä säätää, esimerkiksi: .       Vibrato_detection_range_min_freq = 2 Vibrato_detection_range_max_freq = 11 Zoom_out_key = G       Zoom_in_key = H        Play_from_beginning = Ctrl-Space .  Tällöin voidaan myöskin helposti näyttää koko shortcut keys -lista paikassa Help/Shortcut keys ilman, että täytyy jatkuvasti manuaalisesti päivittää sinne jos lisää tai muuttaa shortcut keyssejä.] .  Shortcut keyt on jo nätisti laitettu Helppiin, mutta listaan tulee lisää nappuloita, joten se pitäisi vielä valitettavasti pistää uusiksi. Sen voi laittaa sellaiseen muotoon, että sitä on nopea muokata tai se voi olla kokonaan automaattinenkin (ettei tarvitse muokata  manuaalisesti ehkä juuri ollenkaan). .       SHORTCUT KEYS .       Space		-- Play / Stop Shift+Space	-- Play from last position (Restart) Ctrl+Space	-- Play from beginning Ctrl+R		-- Record .       ArrowLeft	-- Move view left ArrowRight	-- Move view right ArrowUp		-- Move view up       ArrowDown	-- Move view down Shift+ArrowLeft	-- Quickly move view left Shift+ArrowRight	-- Quickly move view right Shift+ArrowUp	-- Quickly move view up       Shift+ArrowDown	-- Quickly move view down Alt+ArrowLeft	-- Very quickly move view left Alt+ArrowRight	-- Very quickly move view right Alt+ArrowUp	-- Very quickly move view up       Alt+ArrowDown	-- Very quickly move view down .       G, Ctrl+ArrowLeft, MouseWheelDown -- Zoom horizontally out (pitch view + distortion view) H, Ctrl+ArrowRight, MouseWheelUp -- Zoom horizontally in (pitch view + distortion view) Ctrl+ArrowUp	-- Zoom vertically out (pitch view) Ctrl+ArrowDown	-- Zoom vertically in (pitch view) .       Home		-- Jump to the beginning [vasempaan reunaan biisin alku] End		-- Jump to the end [oikeaan reunaan biisin loppu] Page Up		-- Align highest pitch up [liikuttaa pitch viewiä vertikaalisti niin, että jos esim. näkyy kohta 1-3s, niin tällä välillä oleva korkein pitch siirretään viewin yläreunaan] Page Down	-- Align lowest pitch down [vastaavasti alareunaan] Insert, Z	-- Auto-zoom vertically [esim. jos ollaan kohdassa 1-3s, niin ko. kohdalla pystysuunnassa näytetään koko käyrä siten, että ylin pitch koskettaa yläreunaa ja alin alareunaa] Delete, Shift+Z	-- Auto-zoom to whole song [näytetään koko biisi siten, että ylin pitch koskettaa yläreunaa ja alin alareunaa] .       Ctrl+1		-- One octave view on/off A		-- Analyse vibrato on/off C		-- Cantilene mode on/off S		-- Synthesis mode on/off T		-- Start/stop metronome (Tempo) .       Ctrl+N		-- New recording Ctrl+O		-- Open file Ctrl+W		-- Close file Ctrl+S		-- Save file as       F4, Ctrl+Q	-- Quit .       Ctrl+G		-- Show/hide piano key grid [= nykyinen grid] Ctrl+A		-- Show/hide areas out of tune Ctrl+T		-- Show/hide barlines (Tempo) Ctrl+E		-- Show/hide note starting points Ctrl+V		-- Show/hide volume envelope .  [Nuolet siis liikuttaa pitch viewiä, ja distortion view liikkuu samalla horisontaalisesti myös, mutta luonnollisestikaan ei vertikaalisti.]

- rightMouse-raahauksen pitäisi muuttaa hiirikursori kädeksi (standardikäsi kuvaksi)

- Tummat koskettimet pitäisi olla tummia gridissä

- Rec-level-detektointi on edelleen vähän auki. Asiaa pitäisi testata vähän enemmän, jonka jälkeen voi sanoa miten rec-levelin kanssa pitäisi toimia.

- CPU usage issuet ja grafiikan päivittymisen nopeus? [Noa tutkii asiaa]

Nämä liittyvät pitkälti Vesan hommiin:

- Noan Vesalle kirjoittama maili Lalo / analyysialgoritmit 22.4.2006 - Vibratossa olevat tasaiset alueet ja terävät kulmat: toivottavasti saisi paremmaksi? - Lisää hiomista uusien kappaleiden kanssa, kun Laloon ollaan tyytyväisiä - Harmonics-analyysimokkula jätettäneen toistaiseksi pois - Tone disorder -analyysimokkula + vibraton hyvyyskäyrä - Arvostelu: ¤ pitch [pääsen evaluoimaan tätä paremmin vasta, kun in tunen kalibrointi on kunnossa ja huonot kohdat näkyy alueina] ¤ in rhythm [Vesa voisi tehdä, kytkeytyy onsettiin, helpohko toteuttaa?] ¤ clean sound [voi olla ohjelman ominaisuus, vaikka algoritmia ei         olisikaan kehitetty niin pitkälle, että "miellyttävä rahina" pystyttäisiin erottamaan "epämiellyttävästä rahinasta"] ¤ good vibrato [suoraan hyvyyskäyrästä] ¤ overall score ¤ jos Cantilene-moodi on päällä, niin vibrato (6-8Hz ja amplitudi         40-60snt) ei saa loppua ennen äänen loppua, ääni ei saa valahtaa kuulumattomiin tai muuten katkeilla (jne.) ¤ Kaikki säännöstöt olisi hyvä olla dokumentoidussa muodossa. Ei tarvitse mitään esseetä niistä kirjoittaa, ihan vaan kompaktisti kirjoitettuna käytössä olevat säännöstöt. Myös mainitsemani globaali muuttujalista voi hoitaa homman tai ainakin olla osa tätä dokumentaatiota. - Synteesissä on sellainen bugi, että jos ei ole tunnistunut pitch-pisteitä, ja sitten alkaa soittaa tällaisen liukumäen kohdalta, niin ensimmäinen soiva ääni alkaa sitten ainakin eräässä kohdassa hyvin matalalta glidena. Joka tapauksessa pitäisi olla siis niin, että synteesi soittaa juuri niin kuin pitch-käyrässä näkyy huolimatta siitä mistä kohtaa aloittaa soittamaan. Ja pitch-käyrässä ei  taas ei tietenkään pitäisi koskaan olla bugisia liukumäkiä. - Synteesi: saw+lowpass+formant (ja volume -> filter freq)?

- Lisäksi mahdollisesti mm. pieniä käyttöliittymää selkeyttäviä lisäyksiä esim. grafiikkaan ym.

Jätettäneen tekemättä toistaiseksi (dynaaminen viritysjärjestelmä olisi kyllä tosi tärkeä!):

- Dynaaminen viritysjärjestelmä: ¤ Johtosävelethän nyt melko kiistatta intonoidaan nykyään viulunsoitossa lähelle seuraavaa perussäveltä. Myöskin kaikki puolisävelaskeleet voidaan hyvin intonoida niin, että seuraava puolen sävelaskeleen päässä oleva sävel ennakoidaan intonoimalla tätä edeltävä sävel tasavireistä korkeammalle. ¤ Yksinkertaistettu määritelmä: - jos tasavireisesti puhtaan sävelen oikealla tai vasemmalla puolella on          puolisävelasekeleen verran korkeampi sävel, niin silloin tämän puolisävelaskeleen päässä olevan sävelen ihannepitchiksi sallitaan vire alueella "tasavireinen ->          tasavireisestä esim. 30 senttiä matalampi" - sama toiseen suuntaan eli: jos tasavireisesti puhtaan sävelen oikealla tai vasemmalla puolella on          puolisävelasekeleen verran matalampi sävel, niin silloin tämän puolisävelaskeleen päässä olevan sävelen ihannepitchiksi sallitaan vire alueella "tasavireinen ->          tasavireisestä esim. 30 senttiä korkeampi" - eli toisinsanoen sallitaan erityisen kapeat puolisävelaskeleet, kunhan säveliä on kaksi vierekkäin ja toinen niistä on "tasavireisesti vireessä" - (tätä yksinkertaista sääntöä voidaan tutkia katsomalla kuuluisien viulistien          soittoa Sonicissa; pääasiassa säännön pitäisi toimia hyvin eli soiton pitäisi           näyttää puhtaalta Sonicin mielestä tämän säännön ansiosta!) ¤ Käytännössä Sonicin pitäisi siis piirtää gridiin pystysuunnassa paksumpi alue näihin puolisävelaskeleen päässä oleviin erikoismataliin tai -korkeisiin säveliin ja      puhtausanalyysissa ko. nuotit kalibroidaan siten, että ihannekorkeus on "paksunnetun      alueen" keskikohdassa (riittää, että tämä erikoisuus toteutuu vasta äänityksen loputtua). - Tabit. Esim. jos laittaa New, niin sen uuden tabin pitäisi tulla näkyviin ja sen pitäisi olla tyhjä. Ja niin edelleen (paljon tehtävää ja bugikorjailua löytyy tässä). Lienee kyllä järkevää disabloida kokonaan tabit toistaiseksi, eli ei saa jättää täysin bugista toimintoa päälle (jos ja kun toiminnosta on pelkkää haittaa). - Luodaan .sft-tiedostot, jotka sisältävät puretun analyysidatan, reference A-kalibraatiotason ym. - Monitoimiset vedettävät ja venytettävät scrollbarit Adobe Premiere -tyyliin - Jos synthesis mode on päällä, niin Save seivaa synteesiwavin eikä alkuperäistä - Viritysmittarin grafiikka hertsi- ja senttietäisyysnäyttöineen: katso JPG - Tempomittari: katso JPG (pallon liike muistuttaa pomppivaa palloa  tai kapellimestarin tahtipuikkoa) - Muu grafiikka: katso JPG - Huom: tone disorder ja ehkä varsinkin äärimmäisen nopeasti ja tiheään päivittyvä Harmonicshan lisäävät grafiikkakuormaa entisestään, joten on ehkä varmaa, että lopulta grafiikka on pakko toteuttaa jollain aivan toisella tavalla (openGL?) ja/tai taidokkaasti optimoituna - Reference A on oletuksena 442Hz. Kun klikkaa Reference-kuvaketta, alkaa 15s kestävä Reference A autodetection. Kun on soitettu sisään sekunnin verran vakaata ääntä, niin sen taajuus otetaan Reference-A:ksi. Käynnistettäessä ohjelma 442Hz välkkyy, mutta lopettaa välkkymisen kun hiiri tuodaan kuvakkeen päälle tai sen alapuolella olevaa slideria säädetään.