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üresi
  • Cmd("Cue " .. i .. " OutFade 1.5") — 1.5 saniyelik çıkış fade'i
  • Cmd("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

  1. Plugin editöründe script kodunu girin ve kaydedin.
  2. Komut satırına Plugin [slot numarası] yazarak çalıştırın.
  3. Alternatif olarak bir executor butonuna Plugin makrosu 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.