GrandMA3 Plugin ile Phaser Kontrolü: Lua Temelleri

GrandMA3'te Lua tabanlı plugin yazarak Phaser oluşturma, düzenleme ve tetikleme işlemlerini programatik olarak nasıl yönetirsiniz.

GrandMA3'te Plugin ile Phaser Kontrolü

GrandMA3'ün güçlü Lua tabanlı plugin sistemi, sahne aydınlatma iş akışınızı otomatikleştirmenin en etkili yollarından birini sunar. Phaser'lar, dinamik chase ve efekt sekansları oluşturmak için kritik bir araçtır; ancak büyük ölçekli prodüksiyonlarda onlarca Phaser'ı elle yönetmek zaman kaybına yol açar. İşte tam bu noktada plugin yazımı devreye girer.

Phaser Nedir ve Neden Plugin Kullanmalısınız?

GrandMA3'te Phaser, fixture'ların belirli parametrelerini döngüsel ve faz kaymalı biçimde kontrol eden bir efekt motorudur. Bir Phaser'ın Step'leri, Rate'i, Width'i ve Phase değerleri vardır. Küçük showlarda bu değerleri GUI üzerinden ayarlamak yeterliyken, 50+ fixture'lı karmaşık riglerde aynı işlemi tekrar tekrar yapmak verimsizdir.

Plugin kullanarak şunları kazanırsınız:

  • Phaser oluşturma ve adlandırma işlemlerini tek tıkla otomatikleştirme
  • Rate ve Width değerlerini dinamik olarak hesaplama
  • Birden fazla Phaser'ı senkronize tetikleme
  • Show anında kullanıcıdan parametre alarak anlık Phaser üretme

Plugin Ortamını Hazırlamak

GrandMA3 menüsünden Menu > Plugin yolunu izleyerek yeni bir plugin oluşturun. Plugin türünü Lua olarak seçin. Editör açıldığında temel yapı şu şekilde görünmelidir:

function Main(display_handle, argument) -- kodunuz buraya end return Main

Bu yapı, GrandMA3'ün her plugin çalıştırmasında çağırdığı giriş fonksiyonudur.

Phaser Üzerinde Temel Okuma ve Yazma

Var olan bir Phaser'ın Rate değerini okumak için DataPool nesnesi üzerinden erişim sağlarsınız:

local phaser = DataPool().Phasers[1] local currentRate = phaser.Rate Echo("Mevcut Rate: " .. tostring(currentRate))

Rate değerini programatik olarak değiştirmek için ise şu yaklaşımı kullanın:

phaser.Rate = 2.0
İpucu: GrandMA3 Lua API'sinde doğrudan atama her zaman çalışmayabilir. Güvenli yol olarak Cmd("Assign Phaser 1 /Rate 2") biçiminde konsol komutlarını Lua içinden çağırabilirsiniz.

Komut Satırı ile Phaser Kontrolü

GrandMA3 Lua ortamında Cmd() fonksiyonu, konsolun komut satırına doğrudan erişim sağlar. Bu yöntem, API'nin henüz Lua tarafına açmadığı bazı Phaser özelliklerini kontrol etmek için tercih edilir:

Cmd("Store Phaser 5 \"MyChase\"")Cmd("Assign Phaser 5 /Rate 1.5 /Width 50")Cmd("Go+ Phaser 5")

Kullanıcıdan Parametre Almak

Daha interaktif bir plugin için TextInput() fonksiyonu ile kullanıcıdan Rate değeri talep edebilirsiniz:

local rateValue = TextInput("Rate değerini girin (örn: 1.5):") Cmd("Assign Phaser 1 /Rate " .. rateValue)

Pratik Senaryo: Tüm Phaserlara Toplu Rate Ataması

Prodüksiyon sırasında tüm aktif Phaser'ların temposunu bir anda değiştirmek gerekebilir. Aşağıdaki döngü, DataPool'daki ilk 10 Phaser'a aynı Rate değerini atar:

local newRate = 2 for i = 1, 10 do Cmd("Assign Phaser " .. i .. " /Rate " .. newRate) end
Önemli Not: Bu işlem geri alınamaz değildir; ancak Show'u etkilememek için önce bir kopyası alınmış Phaser'lar üzerinde test etmenizi tavsiye ederiz.

Plugin'i Macro'ya Bağlamak

Yazılan plugin'i sık kullanmak için bir Macro oluşturup içine Plugin [PluginID] komutunu ekleyin. Bu Macro'yu bir Executor butonuna atadığınızda, sahne anında tek dokunuşla Phaser kontrolünüzü devreye alabilirsiniz.

GrandMA3 plugin sistemi, Phaser yönetimini sıradan bir konsolun çok ötesine taşır. Lua'nın esnekliğiyle kendi iş akışınıza özel araçlar geliştirmek, hem hata oranını düşürür hem de show sürecinizi önemli ölçüde hızlandırır.