CoolBasic SDK

MidiAddCompose

Include "cbMidi.cb"

KUVAUS
Funktio lisää nuotteja kappaleeseen.
Funktiota voidaan kutsua moneen kertaan eli sillä lisätään kappaleen loppuun nuotteja. Koko kappalleen kaikkia nuotteja ei siis tarvitse syöttää kerralla.

KÄYTTÖ
MidiAddCompose(_track, _channel, _compose$)
_track - Kappaleen tunnus johon instrumentti asetetaan. Tunnus on saatu MidiCreateTrack-funktiolta.

_channel - MIDI-kanava. Numeerinen arvo väliltä 0-15.

_compose - Nuottien kuvaus: HUOM! Nuottimerkinnöissä kirjainkoolla on merkitystä ja toistaiseksi kaikki kirjaimet pitää kirjoittaa ISOLLA.
:n/n Tahtilaji esim. :4/4
Ensimmäinen numero määrittelee lyöntien lukumäärän tahdissa ja toinen määrittelee yhtä lyöntiä vastaavan nuotin pituuden.
Tahtilaji voidaan vaihtaa kesken kappaleen.
Ttempo Tempo eli lyöntejä minuutissa. Oletusarvo on 120.
Voidaan vaihtaa kesken kappaleen.
Ooktaavi Oktaavi. Oletusarvo on 5 jossa keski-C sijaitsee.
Voidaan vaihtaa kesken kappaleen.
< tai > Oktaavin tilapäinen nosto/lasku.
Laskee tai nostaa seuraavan nuotin oktaavin tilapäisesti ja palaa seuraavan nuotin jälkeen takaisin siihen mikä on asetettu O-komennolla.
Voidaan kirjoittaa useampia peräkkäin eli >> nostaa kaksi oktaavia.
[+|-]nuotti[pituus][.] +/- Tekee soitettavalle nuotille ylennyksen/alennuksen.
nuotti A, B, C, D, E, F tai G. Nuottina voi käyttää myös kirjainta P joka tarkoittaa taukoa.
pituus Nuotin pituus 1, 2, 4, 8, 16 jne.
Tätä ei tavitse antaa jos halutaan soittaa nuotti oletuspituudella joka on määritelty tahtilajissa.
. Tämä pidentää nuotin kestoa puolella.
Soinnut Soinnut eli useamman nuotin samanaikainen soitto kirjoitetaan sulkeiden sisään.
Soinnun nuoteissa ei saa olla pituus- eikä pidennysmääritystä vaan ne pitää kirjoittaa soinnun perään )-merkin jälkeen.
Kommentit Nuottimäärirysten sekaan voi laittaa kommentteja /* ja */ määritysten sisälle.
Muut Nuottiparseri ohittaa nuottien välissä olevat seuraavat merkit joita voi käyttää selkeyttämään merkkijonoa.
Välilyönti, pilkku ja pystyviiva (putki eli |).

Katso myös: Midi

ESIMERKKI
Include "SDK/include/cbMIDI.cb"
// Avataan MIDI-laite
midiOutOpen(0)
// Kanavalle 0 soitin 0 eli "Acou Grand Piano" eli flyygeli
MidiSetInstrument(0, 0)
// Luodaan raita
tr = MidiCreateTrack()
// Laitetaan nuotit kanavalle 0
MidiAddCompose(tr, 0, "C16C16C16C2G2F16E16D16O6C2O5G2F16E16D16O6C2O5G2F16E16F16D2.")
// Soitetaan
MidiPlayTrack(tr)
WaitKey