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 0 olarak 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.