GrandMA2 Lua ile Otomatik Cue Oluşturma
GrandMA2 üzerinde Lua betikleri kullanarak cue'ları programatik olarak nasıl otomatik oluşturabileceğinizi öğrenin.
GrandMA2'de Lua Betikleri ile Cue Otomasyonu
GrandMA2, yerleşik Lua 5.1 yorumlayıcısı sayesinde tekrarlayan programlama görevlerini otomatize etmenize olanak tanır. Özellikle büyük prodüksiyonlarda onlarca hatta yüzlerce cue oluşturmak gerektiğinde, Lua betikleri size ciddi zaman kazandırır ve insan kaynaklı hataları minimuma indirir.
Temel Yapı: Plugin Dosyası Oluşturma
GrandMA2 üzerinde bir Lua betiği çalıştırmak için önce bir Plugin nesnesi oluşturmanız gerekir. Konsolun menüsünden Menu > Plugin yolunu izleyerek yeni bir plugin ekleyin ve içine aşağıdaki temel yapıyı yerleştirin.
local function main()
-- Cue oluşturma kodları buraya gelecek
end
return mainİpucu: Plugin editöründe F1 tuşuna basarak GrandMA2'nin yerleşik Lua fonksiyon referansına ulaşabilirsiniz.
GrandMA2 Komutlarını Lua ile Çalıştırma
Lua betiklerinde konsol komutlarını doğrudan çalıştırmak için gma.cmd() fonksiyonu kullanılır. Bu fonksiyon, normalde komut satırına yazdığınız her komutu betik içinden çağırmanızı sağlar.
Örneğin belirli bir executor'daki bir sequence'a cue eklemek için şu yapıyı kullanabilirsiniz:
gma.cmd("Store Cue 1.0 Executor 1")
gma.cmd("Label Cue 1.0 Executor 1 \"Açılış Işığı\"")Döngüyle Toplu Cue Oluşturma
Lua'nın döngü yapısını kullanarak belirli bir pattern'e göre otomatik cue serisi oluşturabilirsiniz. Aşağıdaki örnek, 1 numaralı executor'a 10 adet boş cue oluşturur ve her birine otomatik isim atar:
local function main()
local execNum = 1
local cueCount = 10
for i = 1, cueCount do
local cueNumber = i * 1.0
local cueName = "Sahne " .. i
gma.cmd("Store Cue " .. cueNumber .. " Executor " .. execNum)
gma.cmd("Label Cue " .. cueNumber .. " Executor " .. execNum .. " \"" .. cueName .. "\"")
gma.sleep(0.1) -- Konsola nefes aldır
end
gma.gui.msgbox("Tamamlandı", cueCount .. " cue başarıyla oluşturuldu.")
end
return mainÖnemli Not: gma.sleep() çağrısı kritiktir. Ardışık komutlar arasına küçük gecikmeler eklemezseniz konsol komut kuyruğunu aşırı yükleyebilir ve beklenmedik hatalar alabilirsiniz.Cue Sürelerini Programatik Olarak Ayarlama
Yalnızca cue oluşturmakla kalmayıp her cue'nun fade ve delay sürelerini de betikle ayarlayabilirsiniz:
- Fade süresi için:
gma.cmd("Assign Cue 1 /FadeI=2.5 Executor 1") - Delay süresi için:
gma.cmd("Assign Cue 1 /DelayI=0.5 Executor 1") - Snap cue için fade değerini
0olarak belirleyin
Kullanıcıdan Girdi Alma
Betiği daha esnek hale getirmek için gma.gui.input() fonksiyonuyla kullanıcıdan dinamik değerler alabilirsiniz:
local execNum = gma.gui.input("Executor Numarası", "Hangi executor? ", "1")
local cueCount = tonumber(gma.gui.input("Cue Sayısı", "Kaç cue oluşturulsun? ", "10"))Bu yaklaşım, aynı betiği farklı executor'lar ve farklı cue sayıları için defalarca yeniden kullanmanızı sağlar. Prodüksiyon öncesi hazırlık sürenizi önemli ölçüde kısaltmak için bu tür yeniden kullanılabilir plugin'ler geliştirmeyi alışkanlık haline getirmenizi öneririz.