AMOS The Creator

Merhaba arkadaşlar. Bu sayımızda da yine bir aradayız. Bu ay ses komutlarını bitirip yeniden grafik komutlarına başlayacağız. Ama bundan önce sizlere iyi ve daha iyi olmak üzere iki tane haberim var:

İlk olarak Amiga meraklıları için dünyaca ünlü 'Amiga World'ün yaptığı bir araştırmadan kısaca bahsedeceğim. Geçtiğimiz sayılarından birinde bu dergi Amiga için mevcut olan Basic yorumlayıcılarını (interpreter) değişik yönlerden karşılaştırmış. Sonuç olarak ortaya çıkan gerçek, AMOS'un bir oyun yazma programı olmakla kalmayıp, yüksek düzeyde gelişmiş ve yapısallaşmış programlar yazmaya gerek hız, gerek de esneklik yönünden en uygun Basic türü olduğu.

İkinci ve daha iyi olan haber, artık AMOS için bir derleyicinin (compiler) hazırlanmış olduğu. Bu program şu anda Türkiye içinde de mevcut. Henüz kullanma fırsatım olmadı, ama en kısa zamanda göz atıp incelemeyi düşünüyorum.

Gelelim bu ayki komutlarımıza. Bu ay AMOS'un örneklenmiş sesleri kullanmaya yarayan komutlarını ve müzik çalma komutlarını göreceğiz. Bu komutlar sırasıyla 'sam play', 'sam bank', 'sam raw', 'music', 'music stop', 'music off', 'tempo', 'mvolume', 'voice', 'vumeter' ve 'sample' komutları. Şimdi bunları teker teker inceleyelim:

KOMUT: Sam play KULLANILIŞI:

sam play ö 
sam play s,ö 
sam play s,ö,f

Bu komut yardımıyla Amiga'nızda örneklenmiş sesleri çalabilirsiniz. Hafıza bankanızda depolayabileceğiniz örneklenmiş ses sayısı, sadece sahip olduğunuz hafıza miktarıyla sınırlıdır. Burada 'ö', ses numarasıdır.

Komutun ikinci kullanılış biçiminde 's' parametresi yardımıyla, sesin hangi kanallar üzerinden verileceği ayarlanır. Bunlardan başka ek olarak vereceğiniz bir T parametresiyle, bu sesin 'playback' hızını ayarlayabilmeniz mümkün. Burada T, saniyedeki tarama sayısıdır. Böylece tek bir örneklenmiş ses kullanarak değişik efektler elde edebilirsiniz.

Şimdi bu komuta örnek bir program görelim. Programı kullanmak için, AMOS'un data disketi veya içinde AMOS formatında kayıt edilmiş seslere sahip bir disket gerekiyor.

Rem **        AMIGA DÜNYASI 
** 
Rem **    AMOS Demo Program 
** 
Rem ** Written by Burak Ozdemir ** 
Rem**    AMOS Copyright 1990 
** 
Rem ** 
Mandarin/Jawx 
**
F$=Fsel$("SYS:") 
LoadF$,l 
Sam Bank 1 
ForF=1 To 11 
Locate 0,0 
Print "sample ";F;" caliyor" 
Do 
Sam Play F 
Locate 0,20 
Centre "Mouse tuşuna basin" 
If Mouse Click>0 Then Exit 
Wait 30 
Loop 
Next F

KOMUT: Sam bank KULLANILIŞI:

sam bank n

Bu komut seslerinizin depo edildiği hafıza bankasını değiştirmek için kullanılır. Bu sayede aynı anda değişik ses gruplarını hafızada bulundurabilirsiniz.

KOMUT: Sam raw KULLANILIŞI:

sam raw s,a,u,f

Genelde kullanılan seslerin hepsi AMOS'un kendi hafıza bankalarında depolanır. Fakat bazı durumlarda hafızanın herhangi bir yerine depolamış olduğunuz sesleri kullanmak veya daha önce çalıştırılmış olan bir programa ait sesleri aramak gerekebilir. İşte bu komut o zaman devreye girer. Burada 's', yine kanal bilgisini, ve T de yine tarama frekansını belirler. 'a' sayısı, ses bilgisinin hafızadaki başlangıç adresidir, 'u' ise bu bilginin uzunluğunu belirtir.

KOMUT: Sam loop KULLANILIŞI:

sam loop on sam loop off

Sam play ve sam raw komutları sesi sadece bir kez verir. Eğer bunu tekrarlayarak yapmasını istiyorsanız, bu komut çok işinize yarayacaktır.

Rem **        AMIGA DÜNYASI 
Rem **    AMOS Demo Program      ** 
Rem ** Written by Burak Ozdemir ** 
Rem**     AMOS Copyright 1990    ** 
Rem ** 
Mandarin/Jawx
F$=Fsel$("SYS:") 
LoadF$,l 
Sam Bank 1 
Sam Loop On 
ForF=1 To 11 
Locate 0,0 
Print "sample ";F;" caliyor" 
Sam Play F 
Locate 0,20 
Centre "Mouse tuşuna basin" 
Do 
If Mouse Click>0 Then Exit 
Loop 
Next F 
Sam Loop Off

KOMUT: Sample KULLANILIŞI: sample ö to v

Bu komut belirli bir sample'ı ses kanallarına atar. Bu sayede play komutuyla örneklenmiş seslere ulaşabilirsiniz. Burada 'ö' ses numarası, V de kanal bilgisidir. Evet arkadaşlar, AMOS'un ses komutları bu kadar. Şimdi sıra geldi müzik komutlarına:

KOMUT: Music KULLANILIŞI: music n

Bu komut müzik bankasında kayıtlı olan bir parçayı çalmaya başlar, 'n' parça numarasıdır. Üst üste üçe kadar parçayı çalabilirsiniz. Eğer bir parça çalarken bir diğerini çalıştıracak olursanız, o anki parça durdurulur ve yenisine başlanır. Bu parça bitince eski parça kaldığı yerden devam eder.

KOMUT: Music stop KULLANILIŞI: music stop

O an çalmakta olan müziği durdurur.

KOMUT: Music off KULLANILIŞI: music off

Bütün müzikleri durdurur. Sıra geldi ilk müzik programımıza. Bakalım nasıl bulacaksınız:

Rem *'*        AMIGA DÜNYASI 
** 
Rem **    AMOS Demo Program 
** 
Rem ** Written by Burak Ozdemir ** 
Rem**    AMOS Copyright 1990 
** 
Rem ** 
Mandarin/Jawx 
**
Curs Off 
Flash Off 
F$=Fsel$("SYS:") 
Load F$,3 
Music 1 
Print "Muzigi durdurmak için mouse tu- 
nuna basin" 
Do
If Mouse Key>0 Then Exit 
Loop 
Music Off

KOMUT: Tempo KULLANILIŞI: tempo t

Bu komut, çalınan parçanın hızını ayarlar. 't', 1 ile 100 arasında değerler alabilir. Değeri büyüdükçe parça hızlanır.

Şimdi deminki programa bir de hız kontrolü ekleyelim. Çalma hızını mouse'u yatay doğrultuda hareket ettirerek ayarlayabilirsiniz.

Rem**        AMIGA DÜNYASI 
Rem **    AMOS Demo Program      ** 
Rem ** Written by Burak Ozdemir ** 
Rem**    AMOS Copyright 1990    ** 
Rem ** 
Mandarin/Jawx
Curs Off 
Flash Off 
F$=Fsel$("SYS:") 
Load F$,3 
Music 1 
Print "Muzigi durdurmak için mouse tu- 
şuna basin" 
Do
If Mouse Key>0 Then Exit 
T=60*(X Mouse-120)/328.0 
Tempo T 
Loop 
Music Off

KOMUT: Mvolume KULLANILIŞI:

mvolume v

Bu komut, adından da anlaşıldığı gibi müziğin sesini ayarlar.

Sıra geldi programa ses kontrolü eklemeye. Bunu da mouse'un dikey hareketleriyle yapıyorsunuz.

Rem **        AMIGA DÜNYASI 
Rem **    AMOS Demo Program , ** 
Rem ** Written by Burak Ozdemir ** 
Rem**    AMOS Copyright 1990 
** 
Rem ** 
Mandarin/Jawx 
**
Curs Off 
Flash Off 
F$=Fsel$("SYS:") 
Load F$,3 
Music 1 
Print "Muzigi durdurmak için mouse tu- 
şuna basin" 
Do
If Mouse Key>0 Then Exit 
T=60*(X Mouse-120)/328.0 
V=63*(YMouse-46)/241.0 
Tempo T 
Mvolume 63-V 
Loop 
Music Off

KOMUT: Voice KULLANILIŞI: voice m

AMOS'ta çalan bir müzik parçası, aynı anda dört ses kanalına birden kumanda edebilir. Bu komut yardımıyla çalan bir parçanın istediğiniz kanalını açıp kapayabilirsiniz. İsterseniz bunu hep yapabilirsiniz.

Aşağıda buna örnek bir program var:

Rem**        AMIGA DÜNYASI        ** 
Rem **    AMOS Demo Program      **
Rem ** Written by Burak Ozdemir ** 
Rem** AMOS Copyright 1990 ** 
Rem ** 
Mandarin/Jawx
Curs Off 
Flash Off 
V=0 
F$=Fsel$("SYS:") 
Load F$,3 
Music I 
Print "Muzigi durdurmak için mouse tu- 
şuna basin"
Print "Kanal değiştirmek için bir tuşa 
basin"
Do 
If Mouse Key>0 Then Exit 
Iflnkey$<>"" 
Inc V 
If V=I6 
V=0 
End If 
Voice V 
Locate 5,5 
Print "Kanal numarasi ";V;" 
End If 
Loop 
Music Off

KOMUT: Vumeter KULLANILIŞI:

x=vumeter(v)

Bu komut 'v' numaralı kanala ait anlık ses şiddetini verir. V, 0 ile 3 arasında değerler alır.

Bu komut için AMOS'un manual programlarından birini biraz değiştirerek yazıyorum:

Rem* 
AMIGA DÜNYASI 
Rem **    AMOS Demo Program 
** 
Rem ** Written by Burak Ozdemir ** 
Rem**    AMOS Copyright 1990 
** 
Rem ** 
Mandarin/Jawx 
**
Load "amos_data:music/funkey.abk" 
Load "amos_data:sprites/Octopus.abk" 
Music I : Led Off 
Flash Off: Fade 1 To-1 
Curs Off 
Dim Y(4) 
Rem Main loop 
Repeat 
For N=0 To 3 
Add Y(N),Vumeter(N) 
If Y(N)>64 Then Y(N)=64 
If Y(N)>0 Then Add Y(N),-3 
Sprite 8+N,128+Y(N)*3,50+N*32,l 
Next 
Until Mouse Key

KOMUT: Auto reverse KULLANILIŞI:

Böyle bir komut yoktur. Bu yüzden kullanmanızı pek tavsiye etmem.

Bu aylık bu kadar sevgili okurlar. Gelecek ay buluşmak üzere. Hoşçakalın...