GrandMA2'de Koşullu Macro Yazımı: If/Else Kullanımı
GrandMA2 konsolunda If/Else mantığıyla koşullu macro yazmayı ve sahne senaryolarında nasıl kullanacağınızı öğrenin.
GrandMA2'de Koşullu Macro Mantığı
GrandMA2'nin macro sistemi, yalnızca komut sıralamasından ibaret değildir. Koşullu ifadeler kullanarak konsolunuzun mevcut durumuna göre farklı aksiyonlar tetikleyebilirsiniz. Bu yapı, özellikle karmaşık show dosyalarında tekrarlayan işlemleri otomatize etmek için güçlü bir araçtır.
If/Else Yapısının Temelleri
GrandMA2 macro editöründe koşullu kontrol için If komutu kullanılır. Temel sözdizimi şu şekildedir:
If [koşul] Then [komut] Else [alternatif komut]Bu yapıda konsol, belirtilen koşulu değerlendirir; koşul doğruysa Then bloğundaki komutu, yanlışsa Else bloğundaki komutu çalıştırır.
Macro Editöründe Satır Satır Yazım
GrandMA2 macro editörü, her satırı ayrı bir komut olarak işler. If/Else bloğunu doğru kurmak için satırları şu sırayla oluşturun:
- Macro editörünü açın:
Menu > Macroyolunu izleyin ve yeni bir macro oluşturun. - İlk satıra koşulunuzu yazın.
- Gerekirse Label komutunu kullanarak atlama noktaları tanımlayın.
- Goto komutuyla akışı yönlendirin.
Label ve Goto ile Koşullu Akış
GrandMA2 doğrudan blok tabanlı If/Else yazmayı desteklemediğinden, koşullu dallanmayı Label ve Goto kombinasyonuyla kurmanız gerekir. Örnek bir yapı:
If Fader 1 > 0 Goto Label 2Label 1Off Seq 5Goto Label 3Label 2On Seq 5Label 3Bu örnekte Fader 1'in değeri 0'dan büyükse Sequence 5 açılır, aksi takdirde kapatılır. Akış her iki durumda da Label 3'te birleşir.
Fader ve Executor Değerlerine Göre Koşul
Koşul ifadelerinde kullanabileceğiniz yaygın değer kaynakları şunlardır:
- Fader [numara] – Executor fader pozisyonu (0-100 arası)
- Exec [numara] – Executor'ın aktif olup olmadığı
- Var [isim] – Kullanıcı tanımlı değişken
- UserVar [isim] – Kullanıcı profil değişkeni
Değişkenlerle Dinamik Koşullar
Daha esnek senaryolar için SetVar ve UserVar komutlarıyla değişken tabanlı koşullar yazabilirsiniz:
SetVar "durum" 1If Var "durum" = 1 Goto Label 10Değişkenler, show dosyası boyunca farklı macro'lar arasında veri aktarımı yapmanıza olanak tanır.
İpucu: Koşullu macro yazarken Label numaralarının her macro içinde benzersiz olmasına dikkat edin. Aynı macro içinde tekrar eden Label numaraları beklenmedik davranışlara yol açabilir.
Gerçek Bir Senaryo: Sahne Durumuna Göre Chase Kontrolü
Aşağıdaki örnek, bir executor'ın açık olup olmadığını kontrol edip buna göre farklı bir sekans başlatır:
If Exec 2.1 = On Goto Label 5On Seq 10Goto Label 6Label 5On Seq 11Label 6Bu mantıkla toggle davranışı, sahne geçiş kontrolleri veya yedek ışık senaryoları gibi pek çok durumda koşullu macro'lardan yararlanabilirsiniz.
Not: GrandMA2'de koşul ifadeleri büyük/küçük harf duyarlı değildir; ancak komutlar arasındaki boşluklara dikkat etmek gerekir. Hatalı syntax, macro'nun sessizce durmasına neden olabilir.