GrandMA3'te Döngülü (Loop) Macro Kullanımı
GrandMA3 konsolunda döngülü macro yapıları oluşturmayı, GOTO ve LABEL komutlarıyla otomatik tekrar eden senaryolar kurmayı öğrenin.
Döngülü Macro Nedir?
GrandMA3'te bir macro, sırayla çalıştırılan komut satırlarından oluşur. Döngülü macro ise belirli bir komut bloğunun sürekli veya belirli sayıda tekrar etmesi için kullanılan bir yapıdır. Bu yapı; otomatik sahne geçişleri, periyodik fixture kontrolleri veya zamana bağlı tetiklemeler gibi senaryolarda büyük kolaylık sağlar.
Temel Yapı: LABEL ve GOTO
Döngü oluşturmanın en yaygın yöntemi LABEL ve GOTO komutlarını birlikte kullanmaktır. LABEL, makro içinde bir işaret noktası tanımlar; GOTO ise çalışmayı o noktaya geri döndürür.
Basit Sonsuz Döngü Örneği
Aşağıdaki macro satırları, sonsuz bir döngü oluşturur:
LABEL 1Go+ Executor 1Delay 2GOTO 1
Bu yapıda macro çalıştığında Executor 1 üzerinde her 2 saniyede bir ileri adım atar ve bu işlemi sonsuza kadar tekrarlar. Döngüyü durdurmak için macroyu manuel olarak kapatmanız gerekir.
Sayaç ile Kontrollü Döngü
Sonsuz döngüler her zaman istenmeyebilir. Belirli sayıda tekrar eden bir döngü için Variable (değişken) kullanımı devreye girer.
AssignUserVar $sayac = 0LABEL 1AssignUserVar $sayac = $sayac + 1Go+ Executor 1Delay 1If $sayac < 10 GOTO 1
Bu örnekte macro, Executor 1'i 10 kez ilerletip durur. AssignUserVar komutu ile tanımlanan $sayac değişkeni her döngüde bir artırılır ve koşul sağlandığı sürece döngü devam eder.
İpucu: Değişken isimlerinde Türkçe karakter kullanmaktan kaçının.$sayacyerine$countergibi ASCII uyumlu isimler tercih edin.
Döngüde Timing Kullanımı
Döngü hızını kontrol etmek için Delay komutunu kullanabilirsiniz. Değer saniye cinsinden girilir.
Delay 0.5— Yarım saniye bekleDelay 5— 5 saniye bekleDelay 0— Bekleme olmadan anında geç (dikkatli kullanın, konsolu yavaşlatabilir)
Önemli Not: Delay 0 içeren sonsuz döngüler konsolun işlemcisini aşırı yükleyebilir. Döngülerde mutlaka bir bekleme süresi tanımlayın.Döngüyü Dışarıdan Kırmak
Çalışan bir döngülü macroyu durdurmak için birkaç yöntem mevcuttur:
- Macro penceresinden ilgili macroya sağ tıklayıp Stop seçeneğini kullanmak
- Başka bir macro ile
KillMacro [macro adı]komutunu çalıştırmak - Döngü koşuluna bir UserVar bayrağı ekleyerek dışarıdan false'a çekmek
Bayrak ile Döngü Kontrolü
Daha esnek bir yapı için döngüyü bir değişken bayrağıyla kontrol edebilirsiniz:
AssignUserVar $calis = 1LABEL 1Go+ Executor 1Delay 2If $calis = 1 GOTO 1
Döngüyü durdurmak istediğinizde başka bir macro veya buton üzerinden AssignUserVar $calis = 0 komutu çalıştırmanız yeterlidir. Bu yöntem, show sırasında güvenli ve kontrollü bir döngü yönetimi sağlar.