GrandMA2'de Plugin ile Fixture Kontrolü

GrandMA2 plugin sistemi ile Lua dilini kullanarak fixture'ları programatik olarak nasıl kontrol edeceğinizi öğrenin.

GrandMA2 Plugin Sistemi Nedir?

GrandMA2, sahne aydınlatma konsolları arasında en güçlü otomasyon araçlarından birine sahiptir: Plugin sistemi. Lua programlama dili üzerine inşa edilen bu sistem, tekrar eden görevleri otomatikleştirmenize, özel arayüzler oluşturmanıza ve fixture'ları doğrudan kod üzerinden kontrol etmenize olanak tanır.

Temel Kavramlar

Plugin yazmaya başlamadan önce GrandMA2'nin Lua ortamında birkaç temel nesneyi tanımak gerekir:

  • gma.cmd() – Konsol komutlarını string olarak çalıştırır
  • gma.user.getnumber() – Kullanıcıdan sayısal girdi alır
  • gma.sleep() – Belirtilen süre kadar bekler (saniye cinsinden)
  • gma.echo() – Konsol çıktısına mesaj yazar

İlk Plugin: Fixture'a Değer Atamak

Aşağıdaki örnek, belirli bir fixture grubunu seçip Dimmer değerini programatik olarak ayarlar:

local function main() gma.cmd("SelFix 1") gma.cmd("Attribute 'Dimmer' at 80") gma.sleep(1) gma.cmd("Store Cue 1.1 /merge") gma.echo("Dimmer değeri ayarlandı ve cue kaydedildi.") end return main

Bu script çalıştırıldığında 1 numaralı fixture seçilir, Dimmer değeri %80 olarak atanır, 1 saniye beklendikten sonra mevcut cue'ya merge edilerek kaydedilir.

Döngü ile Çoklu Fixture Kontrolü

Birden fazla fixture'ı sırayla kontrol etmek için Lua'nın for döngüsünden yararlanabilirsiniz:

local function main() for i = 1, 12 do gma.cmd("SelFix " .. i) gma.cmd("Attribute 'Pan' at " .. (i * 15)) gma.sleep(0.2) end gma.echo("Tüm fixture Pan değerleri güncellendi.") end return main

Bu örnekte 1'den 12'ye kadar olan fixture'ların Pan değerleri, sırayla artan miktarlarda ayarlanmaktadır. .. operatörü Lua'da string birleştirme için kullanılır.

Plugin'i Konsola Yüklemek

  1. GrandMA2 menüsünden Menu > Plugins bölümüne gidin
  2. New Plugin seçeneğiyle yeni bir plugin oluşturun
  3. Plugin editörü açıldığında Lua kodunuzu yapıştırın
  4. Label alanına anlamlı bir isim verin (örn. FixtureSetup)
  5. Kaydedin ve Run butonuyla test edin
İpucu: Plugin'lerinizi geliştirirken mutlaka bir test show dosyası üzerinde çalışın. Yanlış bir gma.cmd() çağrısı canlı show verinizi etkileyebilir.

Attribute İsimlerini Doğru Kullanmak

GrandMA2'de attribute isimleri büyük/küçük harfe duyarlıdır ve fixture türüne göre değişiklik gösterebilir. En sık kullanılan attribute isimleri şunlardır:

  • Dimmer – Işık şiddeti
  • Pan / Tilt – Yatay ve dikey hareket
  • ColorRGB_R / ColorRGB_G / ColorRGB_B – RGB renk kanalları
  • Zoom – Işık açısı
  • Shutter – Shutter/strobe kontrolü

Fixture'ın hangi attribute'lara sahip olduğunu görmek için konsolda fixture'ı seçip Attribute ekranını inceleyebilir ya da gma.cmd("EditFixtureType ...") komutuyla fixture type editörüne erişebilirsiniz.

Hata Yönetimi Eklemek

Stabil bir plugin için Lua'nın pcall() fonksiyonunu kullanarak hataları yakalayabilirsiniz:

local ok, err = pcall(function() gma.cmd("SelFix 1") gma.cmd("Attribute 'Dimmer' at 100") end) if not ok then gma.echo("Hata olustu: " .. tostring(err)) end

Bu yapı sayesinde bir komut başarısız olduğunda script çökmez, hata mesajı konsol çıktısına yazılır ve akış kontrollü biçimde devam eder.