GrandMA3 Plugin ile Phaser Kontrolü: Adım Adım Rehber
GrandMA3 ortamında Lua tabanlı plugin yazarak Phaser parametrelerini dinamik olarak nasıl kontrol edeceğinizi öğrenin.
GrandMA3'te Plugin ile Phaser Kontrolü
GrandMA3'ün güçlü Lua tabanlı plugin sistemi, sahne aydınlatmacılarına Phaser motorunu yazılım düzeyinde kontrol etme imkânı sunar. Manuel encoder kullanımının ötesine geçerek, tekrar eden görevleri otomatikleştirebilir ve sahneye özgü Phaser davranışları oluşturabilirsiniz.
Phaser Nedir? Kısa Hatırlatma
GrandMA3'te Phaser, fixture'lar arasında döngüsel efektler oluşturmak için kullanılan bir yapıdır. Her Phaser'ın Rate, Speed, Fade ve Phase gibi temel parametreleri vardır. Plugin ile bu parametreleri dinamik olarak değiştirmek, sahne geçişlerinde büyük esneklik sağlar.
Plugin Ortamını Hazırlamak
Plugin yazmaya başlamadan önce GrandMA3 arayüzünde bir Plugin Havuzu (Plugin Pool) nesnesi oluşturmanız gerekir.
- Menu > Plugins yolunu izleyin
- Boş bir slot'a tıklayıp New Plugin seçin
- Plugin adını belirleyin (örn.
PhaserController) - Edit butonuyla Lua editörünü açın
Temel Plugin Yapısı
Her GrandMA3 plugin'i bir giriş fonksiyonu ile başlar. Phaser kontrolü için aşağıdaki temel yapıyı kullanabilirsiniz:
local function main() local handle = programmer() -- Seçili fixture'lara eriş SetPhaser(handle, "Rate", 1.5) SetPhaser(handle, "Phase", 0.25) end return main
İpucu: programmer() fonksiyonu aktif programmer handle'ını döndürür. Phaser değişikliklerini her zaman doğru handle üzerinden yapın, aksi hâlde değişiklikler uygulanmaz.Phaser Parametrelerini Dinamik Değiştirmek
Plugin'in gerçek gücü, parametreleri koşullara veya dış girdilere göre değiştirebildiğinizde ortaya çıkar. Örneğin bir BPM değerine göre Phaser Rate ayarlayan fonksiyon şu şekilde yazılabilir:
local function setBpmRate(bpm) local rate = bpm / 60 SetPhaser(programmer(), "Rate", rate) Echo("Phaser Rate: " .. tostring(rate)) end
Bu yaklaşımla müzik temposunu manuel olarak girerek Phaser'ı ritme senkronize edebilirsiniz.
Birden Fazla Phaser Adımını Kontrol Etmek
GrandMA3 plugin'leri, bir Phaser içindeki Step (adım) değerlerini de ayrı ayrı hedef alabilir. Adım bazlı kontrol için şu parametrelere odaklanın:
- StepCount: Phaser'daki toplam adım sayısı
- StepFade: Adımlar arası geçiş süresi
- StepDelay: Her adımın başlamadan önceki bekleme süresi
- Offset: Fixture'lar arasındaki faz kayması
Plugin'i Tetiklemek
Yazdığınız plugin'i sahne akışına entegre etmek için birkaç farklı yöntem kullanabilirsiniz:
- Executor Butonu: Plugin'i doğrudan bir executor'a atayarak fiziksel butonla tetikleyin
- Cue İçinden Çağırma:
Lua "PhaserController()"komutunu bir cue'nun macro alanına ekleyin - Timecode: Timecode olaylarına bağlı olarak otomatik tetikleyin
Dikkat: Plugin'leri cue içinden çalıştırırken asenkron çalışma davranışına dikkat edin. Uzun döngüler içeren plugin'ler, show akışını bloke edebilir. Gerektiğinde coroutine yapısı kullanın.Hata Ayıklama İçin Echo Kullanımı
Plugin geliştirirken Echo() fonksiyonu vazgeçilmez bir araçtır. GrandMA3 sistem log'una mesaj göndererek değişken değerlerini ve akış durumunu gerçek zamanlı takip edebilirsiniz.
Echo("Mevcut Rate degeri: " .. tostring(currentRate))
Log ekranına Menu > System > System Monitor üzerinden erişebilirsiniz. Özellikle sahne öncesi yapılan testlerde bu ekranı açık tutmak, beklenmedik davranışları hızla tespit etmenizi sağlar.