GrandMA2 Lua ile Otomatik Cue Oluşturma
GrandMA2'de Lua plugin yazarak cue'ları programatik olarak nasıl oluşturacağınızı adım adım öğrenin.
GrandMA2'de Lua Plugin ile Cue Otomasyonu
GrandMA2'nin güçlü plugin sistemi, tekrarlayan programlama görevlerini otomatikleştirmenizi sağlar. Özellikle büyük prodüksiyonlarda onlarca cue'u tek tek girmek yerine, Lua script yazarak bu süreci dakikalar içinde tamamlayabilirsiniz.
Geliştirme Ortamını Hazırlamak
Plugin yazmaya başlamadan önce GrandMA2 konsolunuzda veya MA onPC yazılımında bir plugin slotu açmanız gerekir. Menu > Plugins yolunu izleyerek boş bir slot seçin ve Edit butonuna basın. Karşınıza çıkan Lua editörü, script yazacağınız alandır.
İpucu: Gerçek konsolda test etmeden önce MA onPC üzerinde çalışmanız, olası hataların show dosyanızı etkilemesini önler.
Temel Plugin Yapısı
Her GrandMA2 Lua plugini bir return ifadesiyle biten fonksiyon tablosu döndürür. En basit haliyle bir plugin şu şekilde başlar:
local function Main(display_handle, argument) ... end return Main
Bu yapı içinde GrandMA2 Lua API'sinin sunduğu komutlara erişebilirsiniz. Cue işlemleri için en çok kullanılan fonksiyon Cmd()'dir. Bu fonksiyon, konsolun komut satırına yazabileceğiniz her komutu script içinden çalıştırmanıza olanak tanır.
Otomatik Cue Oluşturma Scripti
Aşağıdaki örnek, belirli bir executor üzerinde sırasıyla 10 cue oluşturur ve her birine otomatik isim atar:
local function Main(display_handle, argument) local seq = 1 local startCue = 1 local endCue = 10 for i = startCue, endCue do Cmd("Store Sequence " .. seq .. " Cue " .. i .. " /merge") Cmd("Label Sequence " .. seq .. " Cue " .. i .. " \"Auto Cue " .. i .. "\"") end return "Tamamlandi" end return Main
Script satır satır incelendiğinde, for döngüsü her iterasyonda önce ilgili cue'yu merge modunda kaydeder, ardından otomatik bir etiket atar. /merge parametresi, mevcut sahnedeki değerlerin üzerine yazmak yerine birleştirme yapılmasını sağlar.
Cue Sürelerini Programatik Olarak Ayarlamak
Cue'ları oluşturduktan sonra fade ve delay sürelerini de script içinden tanımlayabilirsiniz:
Cmd("Cue " .. i .. " Fade 2")— 2 saniyelik fade süresiCmd("Cue " .. i .. " OutFade 1.5")— 1.5 saniyelik çıkış fade'iCmd("Cue " .. i .. " Delay 0.5")— 0.5 saniyelik gecikme
Bu parametreleri döngü içine ekleyerek her cue için farklı değerler atayabilirsiniz. Örneğin bir tablo (table) oluşturup cue başına özel süreler tanımlayabilirsiniz.
Hata Yönetimi ve Kullanıcı Geri Bildirimi
Uzun süren scriptlerde kullanıcıya ilerleme bildirmek önemlidir. Printf() fonksiyonu bu amaçla kullanılır:
Printf("Cue %d olusturuldu", i)
Ayrıca script çalışırken konsolun yanıt vermemesini engellemek için coroutine yapısını veya Delay() fonksiyonunu kullanarak işlem adımları arasına kısa bekleme süreleri ekleyebilirsiniz.
Önemli Not: Cmd() fonksiyonu, GrandMA2'nin komut geçmişine her çağrıyı kaydeder. Çok sayıda cue oluşturuyorsanız bu durum undo stack'ini doldurabilir; gerekirse işlem öncesinde stack'i temizleyin.Plugini Çalıştırmak
- Plugin editöründe script kodunu girin ve kaydedin.
- Komut satırına
Plugin [slot numarası]yazarak çalıştırın. - Alternatif olarak bir executor butonuna
Pluginmakrosu atayabilirsiniz.
Lua tabanlı otomasyon, özellikle touring prodüksiyonlarda ve değişen set listeleriyle çalışılan gösterilerde programlama süresini dramatik biçimde kısaltır. Temel yapıyı kavradıktan sonra fixture grupları, preset atamaları ve hatta timecode senkronizasyonu gibi daha karmaşık otomasyon senaryolarına kolayca geçiş yapabilirsiniz.