GrandMA2 Lua ile Otomatik Cue Oluşturma
GrandMA2 üzerinde Lua scripting kullanarak otomatik cue oluşturmayı ve plugin geliştirmeyi adım adım öğrenin.
GrandMA2'de Lua Scripting ile Cue Otomasyonu
GrandMA2, yerleşik Lua scripting motoru sayesinde tekrarlayan görevleri otomatikleştirmenize olanak tanır. Özellikle büyük prodüksiyonlarda onlarca cue'yu elle girmek yerine, bir Lua scripti birkaç saniyede tüm bu işi halleder. Bu yaklaşım hem zaman kazandırır hem de insan kaynaklı hataları minimuma indirir.
Temel Yapı: Bir Plugin Nasıl Başlar?
GrandMA2 plugin'leri, konsolun Plugin Pool'una yüklenen Lua dosyalarıdır. Her plugin bir return ifadesiyle bir fonksiyon döndürmelidir. Konsolun çalıştırabileceği en basit plugin yapısı şöyledir:
local function main() gma.echo('Plugin başlatıldı') end return main
Bu yapıyı anladıktan sonra, cue oluşturma komutlarını bu fonksiyonun içine yerleştirmeye başlayabilirsiniz.
gma.cmd() ile Konsol Komutları Çalıştırma
Lua'dan GrandMA2 komut satırına erişmenin temel yolu gma.cmd() fonksiyonudur. Bu fonksiyon, konsolun komut satırına yazabileceğiniz her şeyi çalıştırabilir.
Örneğin belirli bir executor'da yeni bir cue oluşturmak için:
gma.cmd('Store Cue 1.0 Executor 1')
Birden fazla cue oluşturmak istediğinizde ise bir döngü kullanmak çok daha pratiktir:
for i = 1, 10 do gma.cmd('Store Cue ' .. i .. '.0 Executor 1') gma.sleep(0.1) end
Önemli Not: gma.sleep() çağrıları, komutlar arasına küçük gecikmeler ekler. Konsol her komutu işlemeden bir sonrakine geçmemesi için bu gecikmeleri ihmal etmeyin; aksi takdirde bazı komutlar kaybolabilir.Cue Özelliklerini Otomatik Atamak
Sadece cue oluşturmakla kalmayıp, her cue'ya otomatik olarak fade süresi, delay ve label atayabilirsiniz. Aşağıdaki örnek, 5 cue oluşturur ve her birine artan fade süreleri uygular:
- Executor ve sequence numarasını belirleyin
- Döngü içinde cue'yu
Storekomutuyla kaydedin - Hemen ardından
AttributeveyaAssignkomutuyla özellik atayın - Her cue için anlamlı bir label ekleyin
for i = 1, 5 do local fadeTime = i * 0.5 gma.cmd('Store Cue ' .. i .. ' Executor 1') gma.sleep(0.1) gma.cmd('Assign Cue ' .. i .. ' Executor 1 /Fade=' .. fadeTime) gma.sleep(0.1) gma.cmd('Label Cue ' .. i .. ' Executor 1 "Sahne ' .. i .. '"') gma.sleep(0.1) end
Kullanıcıdan Input Almak
Plugin'inizi daha esnek hale getirmek için gma.textinput() fonksiyonuyla kullanıcıdan değer alabilirsiniz. Bu sayede kaç cue oluşturulacağını script çalışırken belirlemek mümkün olur:
local cueSayisi = tonumber(gma.textinput('Kaç cue oluşturulsun?', '10'))
- Kullanıcı bir sayı girmezse
tonumber()nil döner; mutlaka kontrol edin - Maksimum cue sayısı için bir üst limit koymak scripti güvenli kılar
- İptal durumunda
nilkontrolü yaparak scripti zarif biçimde sonlandırın
Plugin'i Konsolda Test Etmek
Yazdığınız Lua dosyasını USB ile konsola aktardıktan sonra Plugin Pool penceresini açın, dosyayı import edin ve Edit modunda son kez gözden geçirin. Test sırasında gerçek bir sequence yerine boş bir executor kullanmak, mevcut programınızı korumanızı sağlar.
İpucu: gma.echo() fonksiyonunu debug aracı olarak kullanın. Konsolun sistem log ekranında mesajlarınız görünür; bu şekilde döngünün nerede olduğunu veya hangi değerin üretildiğini kolayca takip edebilirsiniz.