GrandMA2 Lua Plugin Geliştirmeye Giriş | MA Academy

GrandMA2 konsolunda Lua programlama dili ile ilk plugin'inizi nasıl yazacağınızı adım adım öğrenin.

GrandMA2'de Lua Plugin Nedir?

GrandMA2, sahne aydınlatma dünyasının en güçlü konsollarından biridir. Bu gücü bir adım öteye taşıyan özelliklerden biri de Lua tabanlı plugin sistemidir. Plugin'ler sayesinde konsolun varsayılan arayüzüne yeni işlevler ekleyebilir, tekrarlayan görevleri otomatikleştirebilir ve özel iş akışları oluşturabilirsiniz.

Lua, hafif ve öğrenmesi kolay bir scripting dilidir. GrandMA2, Lua 5.1 sürümünü destekler ve konsolun iç API'sine doğrudan erişim sağlar.

İlk Plugin'i Oluşturmak

GrandMA2'de yeni bir plugin oluşturmak için aşağıdaki adımları izleyin:

  1. Konsolda Menu > Plugins ekranına gidin.
  2. Boş bir slot'a tıklayıp New Plugin seçeneğini seçin.
  3. Plugin'e bir isim verin (örneğin HelloStage).
  4. Oluşturulan plugin'e çift tıklayarak Lua editörünü açın.

Temel Plugin Yapısı

Her GrandMA2 plugin'i bir Main fonksiyonu içermek zorundadır. Konsol, plugin çalıştırıldığında bu fonksiyonu çağırır.

Aşağıda en temel plugin örneği görülmektedir:

local function Main(display_handle, argument) Echo("Merhaba Sahne!") return false end return Main

Bu kodda dikkat edilmesi gereken birkaç nokta vardır:

  • Main fonksiyonu iki parametre alır: display_handle (ekran referansı) ve argument (dışarıdan geçirilen argüman).
  • Echo() fonksiyonu, konsolun komut satırına mesaj yazdırır. Debug sürecinde oldukça işe yarar.
  • Fonksiyonun return false ile bitmesi, konsolun plugin'i düzgün şekilde kapatmasını sağlar.
  • Dosyanın sonunda return Main ifadesi zorunludur; konsol bu sayede hangi fonksiyonu çağıracağını bilir.

Temel GrandMA2 API Fonksiyonları

GrandMA2'nin Lua API'si, konsol üzerindeki hemen her şeyi kontrol etmenizi sağlar. En sık kullanılan fonksiyonların bir kısmı şunlardır:

  • Echo(string) — Komut satırına mesaj yazar.
  • Cmd(string) — Konsola bir komut satırı komutu gönderir.
  • GetVar("degisken_adi") — Konsol değişkenlerini okur.
  • SetVar("degisken_adi", deger) — Konsol değişkenine değer atar.
  • SelectDrive() — Dosya sistemi işlemleri için sürücü seçer.

Cmd() Fonksiyonu ile Konsolu Kontrol Etmek

Cmd() fonksiyonu, plugin geliştirmede en çok başvurulan araçlardan biridir. Konsol komut satırına yazabileceğiniz her komutu Lua üzerinden çalıştırmanıza olanak tanır.

Cmd("Go+ Cue 1 Executor 1")

Bu satır, 1 numaralı executor'daki bir sonraki cue'ya geçiş komutunu tetikler. Sahne geçişlerini, fixture kontrollerini ve daha fazlasını bu yöntemle otomatikleştirebilirsiniz.

İpucu: Plugin'lerinizi geliştirirken konsolun komut geçmişini (Command Line History) açık tutun. Cmd() ile göndereceğiniz komutun sözdizimini doğrulamak için önce manuel olarak deneyin, ardından koda ekleyin.

Plugin'i Çalıştırmak ve Test Etmek

Plugin'i kaydetmek için editörde Apply & Close butonuna basın. Ardından plugin listesinde ilgili plugin'i seçip Run butonuyla çalıştırın. Ekran komut satırında Merhaba Sahne! mesajını görüyorsanız ilk Lua plugin'iniz başarıyla çalışıyor demektir.

Daha karmaşık projelere geçmeden önce bu temel yapıyı iyice kavramak önemlidir. Fonksiyon parametrelerini, döngüleri ve koşullu ifadeleri bu temel şablon üzerine inşa ederek giderek daha güçlü otomasyon araçları geliştirebilirsiniz.