Bu sayfadaki yazılar
Sayfanın metni
Sayfa 15
C severler Amiga başına! Bu ayki konumuz, CLI ekranı üzerinde çalışmamızı sağlayan Screen fonksiyonları.
Bildiğiniz gibi, Amiga'da WorkBench disketini ya da herhangi bir çalışma disketimizi taktığımızda karşımıza çıkan ilk şey, AmigaDOS'un CLI ekranıdır, işte Screen fonksiyonları da bu ekran üzerindeki yazı yazma, ekran silme gibi işlemleri yapmamızı sağlayan fonksiyonları kapsıyor. Fakat bu fonksiyonlar C compiler disketinin -lc ya da -lc32 kütüphaneleri içerisinde mevcut değil. Bu nedenle compiler işlemleri sırasında link ederken Screen fonksiyonları içerisinden -ls32 kütüphanesini seçmeliyiz. Aksi taktirde compiler Screen fonksiyonlarını tanıyamaz.
CLI (Command Line Input) aynı zamanda Amiga dos komutlarının icra edildiği pencereyi oluşturuyor. Bildiğiniz gibi bu ekrandan herhangi bir programı da çalıştırmak mümkün. CLI ekranına aynı zamanda 'consol' ekranı da deniyor. Bu nedenle Screen fonksiyonları aynı zamanda 'consol' ekranı üzerinde çalışıyor. Sonradan açacağınız consol ekranı üzerinde de Screen fonksiyonları işlemlerini yapmak mümkün. Consol penceresi örneklerini daha önceki sayılarımızda öğrenmiştik.
Daha önce de söylediğim gibi, CLI ekranı aynı zamanda Dos komutlarını ve hazır programlan kullanmamızı sağlıyor. Bildiğiniz gibi, Amiga'da Utility programları dediğimiz yardımcı programlar mevcut. Tahmin ediyorum siz de en azından bir Xcopy, Diskmaster gibi programları kullanıyorsunuzdur. İşte bu tür programlar için bir menü oluşturmak Screen fonksiyonları ile mümkün. Bu nedenle, ben bir örnek program da bu ayki yazımız için hazırladım.
Şimdi gelelim Screen fonksiyonlarının kullanımlarına ve açıklamalarına:
scr_bs(): Bu fonksiyon, aktif ekran pozisyonunu (kursor) bir karakter geri almak için kullanılır.
scr_tab(): Kursor pozisyonunu tab uzunluğu kadar ileri taşır. scr_lf(): Kursor pozisyonunu bir satır aşağı alır. Eğer satır sonuysa, bütün ekranı bir satır yukarı kaydırır.
scr_cursup(J: Kursor pozisyonunu bir satır yukarı alır. Bu sırada kolon pozisyonunu değiştirmez.
scr_cursrt(): Kursor pozisyonunu bir karakter sağa taşır. Eğer sağda karakter varsa, bu karakteri silmez.
scr_clear(): Ekranı siler ve kursor pozisyonunu sol üst köşeye taşır (home).
scr_home(): Kursor pozisyonunu home noktasına yani sol üst köşeye taşır.
scr_curs(lin,€ol): Kursor pozisyonunu verilen kolon ve satır numarasına getirir.
scr_eol(): Kursor pozisyonundan o satırın sonuna kadar olan karakterleri siler.
scr_linsert(): Kursor pozisyonunun bulunduğu noktaya bir satır boşluk yerleştirir.
Ascr_ldelete(): Kursor pozisyonundan bir karakter siler. scr_cinsert(): Kursor pozisyonuna bir karakter boşluk yerleştirir ve bu pozisyondan sonraki karakterleri ileri atar.
scr_cdelete(): Kursor pozisyonundan bir karakter siler ve diğer karakterleri bir geri alarak arayı doldurur.
main()
{
scr_clear(); } Yukandaki örnek, bir Screen fonksiyonunun kullanımını göste- riyor. Programı yazdıktan sonra link ederken -ls32 kütüphanesini eklemeyi unutmamalıyız. Bu örnek CLI ekranını silmemizi sağ- layacaktır.
Şimdi daha gelişmiş bir örnek üzerinde Screen fonksiyonlarını görelim:
/* Programming by Cenker OZKURT */ /* Amiga Dünyası */
#include <stdio.h>
main()
{
char a[50]: int lin,col,max;
strcpy(a," Amiga Dunyasi"); lin=10; col=10; max=strlen(a); new_print(a.lin,col,max);
return(0): }
new_print(a,lin,col,max) char a[50]: int lin,col,max;
{
int i;
for(i=max;i>=0;i-) { scr_curs(lin,col); printf("%c\n",a[i]); scr_cursup(); scr_cinsert(); Delay(l);
} printf("\n");
Bu örnek ile, CLI penceresi üzerindeki verilen bir pozisyona herhangi bir diziyi yazdırmamız mümkün. Şimdi programımızı bir inceleyelim. #include <stdio.h> satırı ile, standart input/output fonksiyonlarını ve makrolarını compiler tanıyor. Kullandığımız Delay() fonksiyonu da bu dosya içerisinde tanınıyor. Daha sonra., char a[50]; int lin,col,max;
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 14
MÜZİK
EFFECT MENÜSÜNDE YAPILAN DEĞİŞİKLİKLER:
Programdaki en önemli gelişmeler, bu menüde yapılmış. Burada sesin yapısını önemli ölçüde değiştiren iki farklı efekt eklenmiş:
Duration/Pitch: Bu komut ile sesin tamamının veya belli bir bölümünün tınısını ve hızını değiştirebilirsiniz. Bu komut işleme girdiğinde, ekrana küçük bir pencere açılır. Şimdi bu penceredeki komut ve parametreleri inceleyelim.
Duration: Bu parametre ile, sesin uzunluğunun ne kadar olacağını saptarsınız.
Pitch: Bu parametre ile sesin frekansını belirtirsiniz. Böylece bir erkek sesini kadın sesine, bir kadın sesini ise bir erkek sesine çevirebilirsiniz. Hemen aklınıza bu işi "Sample Rate" değiştirerek de yapabileceğiniz gelecek. Doğru, ancak bu seçenekle sesin tınısı değişir, ama bu kez seste bozulmalar meydana gelir. Sesin çalım hızının değişmesiyle, matematiksel olarak tınısının değiştirilmesi arasında dağlar kadar fark var.
Sample Rate: Sesin çalım hızı, bu parametre ile ayarlanır. Yüksek değişimlerde "Aliasing Distortion" oluşumu meydana gelir.
Reset: Tüm parametreleri ilk durumuna getirir. ReSample Data: Değiştirilen parametreleri işleme sokar ve sesin yeni yapısının oluşmasını sağlayan matematiksel işlemi başlatır.
O.K: Bu menüden hiçbir işlem yapmadan ayrılmak istiyorsanız, bu komutu kullanırsınız.
Digital Filter: Bu komut, örneklemiş veya üzerinde çalışmakta olduğumuz ses üzerinde equalizasyon yapmamızı sağlar. Bu komut işleme girdiğinde bizim belirlediğimiz ses frekansları arasında kalan sesleri yok eder, pas geçer veya güçlendirir.
Lower Frequency: Frekans bandının en küçük değeri burada belirtilir.
Upper Frequency: Frekans bandının büyük değeri burada belirtilir.
Filter Effect: Filtre işleminin ne oranda ses üzerinde etkisi olacağı yüzde olarak burada belirtilir.
Boost: Bu komut ile belirlenen frekans aralığındaki sesler yükseltilir.
Cut: Bu komut ile belirlenen frekans aralığındaki sesler kesip atılır.
Pass: Bu komut ile, belirlenen frekans aralığındaki sesler tutulup bu frekans bandı dışında kalan sesler kesip atılır.
O.K: Bu komut ile hiçbir işlem yapmadan menüden çıkabilirsiniz.
OPTIONS MENÜSÜNDE YAPILAN DEĞİŞİKLİKLER:
Bu menüde, Preferences menüsüne yeni bir seçenek eklenmiş (Finished Tone) ve SnapShot Device menüsünde bulunan bilgi kayıt ortamlarına ait liste biraz daha kabarmış.
Evet. AudioMaster IV hakkında söyleyebileceklerimiz bu kadar. Şimdi de programın yanında sunulan ek programcıkları görelim.
MULTI MAKER Bu programcık sayesinde herhangi bir bilgi kayıt ortamından seçtiğiniz en az 3, en çok da 5 enstrümanı tek bir enstrüman haline getirebiliyorsunuz.
Program işleme girdiğinde, hemen küçük bir pencere açılıyor. Burada sol butona basarak programı işletmeye başlıyorsunuz. Program sizden birleştirilecek dosyaları seçmenizi ister ve dosyaları tek tek yüklemeye başlar. Birleştirme işlemi bittikten sonra, bu sefer nereye ve hangi isim altında elde edilen dosyayı kaydetmenizi ister. Şimdi, bu birleştirilen dosyanın mix edildiğini sanabilirsiniz. Yüklenen seslerin hepsi ayrı ayrı oktavlara yerleştirilmiştir. Yani elde edilen bu yeni sesi bir müzik editöründe kullandığınız zaman, 1. oktavdan 1. ses, 2. oktavdan 2. ses ve 3. oktavdan da 3. ses çıkacaktır (4. oktav ve 5. oktav da bu sıralamayla gider). MERGE IFF
Bu programcık da Multi Maker programı gibi çalışır; yalnız yaptığı işlemler farklıdır.
Merge IFF, yüklenen iki sesi birbirinin peşi sıra birleştirir ve tek bir enstrüman haline getirir.
OSCILLOSCOPE İşte en önemli utility'lerden birisi de bu program (Tabii ki bir Sampler ile birlikte çalışmakta). Bu programdan söz etmeden önce biraz "OSCILLOSCOPE" nedir, ondan bahsetmek istiyorum.
OSCILLOSCOPE: Elektriki değerde olan sinyalleri, matematiksel değerler taşıyan grafikler şeklinde görmemizi sağlayan bir elektronik ölçüm aletidir.
Programımız, işte bu aletin çok başarılı bir şekilde uyarlaması. Ancak programa bilgisayarın o eşsiz pratikliği ve üstünlükleri yeterince kazandırılmayıp oldukça sade ve basit tutulmuş.
Şimdi programın komutlarını hep birlikte görelim.
PROJECT MENÜSÜ: About: Programı yazan kişi ve firma hakkında kısa bir bilgi veren bir pencere açılmaktadır. Bu pencerede ayrıca ne kadar boş hafıza kaldığı da belirtilmektedir.
Calibrate Left: Sinyalin ekranın sol tarafında kalan kısmı kalibre edilir.
Calibrate Right: Sinyalin ekranın sağ tarafında kalan kısmı kalibre edilir.
Adjust for Fun: Peak to Peak kalibrasyonu ise buradan yapılır.
SAMPLER LAYER MENÜSÜ: Bu menüde bulunan seçenekler ile, hangi tip Sampler kullanılacaksa o seçilir.
Evet, bu aylık da bu kadar. Başka bir yazıda buluşmak ümidiyle, ESENKALIN!!!
s AudioMaster IV