GrandMA2 Plugin ile Fixture Kontrolü: Temel Rehber

GrandMA2'de Lua tabanlı plugin yazarak fixture parametrelerini programatik olarak nasıl kontrol edeceğinizi öğrenin.

GrandMA2 Plugin Sistemi Nedir?

GrandMA2, sahne aydınlatma kontrolünü bir üst seviyeye taşımak isteyenler için güçlü bir Lua tabanlı plugin sistemi sunar. Bu sistem sayesinde tekrarlayan görevleri otomatikleştirebilir, özel kullanıcı arayüzleri oluşturabilir ve fixture parametrelerini kod aracılığıyla doğrudan kontrol edebilirsiniz.

Plugin Ortamını Hazırlamak

GrandMA2'de yeni bir plugin oluşturmak için sırasıyla şu adımları izleyin:

  1. Ana menüden Menu > Plugin yolunu izleyin.
  2. Boş bir plugin slotuna basın ve New Plugin seçeneğini seçin.
  3. Plugin türü olarak Lua seçeneğini tercih edin.
  4. Plugin editörü açıldıktan sonra kodunuzu yazmaya başlayabilirsiniz.
İpucu: GrandMA2, Lua 5.1 sürümünü kullanır. Standart Lua kütüphanelerinin tamamına erişiminiz olmayabilir; bu nedenle GrandMA2'ye özgü API fonksiyonlarını kullanmaya özen gösterin.

Fixture Parametrelerine Erişim

Plugin üzerinden fixture kontrolünün temeli, SelectionFirst() ve GetFader() gibi yerleşik fonksiyonlara dayanır. Bir fixture'ın dimmer değerini okumak için aşağıdaki yapıyı kullanabilirsiniz:

local handle = SelectionFirst() local dimValue = GetFader(handle, "Dimmer")

Burada SelectionFirst(), sahnede o an seçili olan ilk fixture'ın referansını döndürür. GetFader() ise belirtilen parametrenin mevcut değerini 0-100 arasında bir sayı olarak verir.

Fixture Değerini Programatik Olarak Ayarlamak

Bir fixture parametresine değer atamak için SetFader() fonksiyonu kullanılır. Aşağıdaki örnek, seçili fixture'ın dimmer değerini %75'e çeker:

local handle = SelectionFirst() SetFader(handle, "Dimmer", 75)

Aynı yaklaşımla Pan, Tilt, Color ve Gobo gibi diğer parametrelere de müdahale edebilirsiniz. Parametre adlarının fixture tipine göre değişebileceğini unutmayın.

Birden Fazla Fixture ile Çalışmak

Seçili tüm fixture'ları döngüyle işlemek için SelectionNext() fonksiyonundan yararlanılır:

local handle = SelectionFirst() while handle ~= nil do SetFader(handle, "Dimmer", 50) handle = SelectionNext(handle) end

Bu döngü yapısı, seçili grubun tamamına aynı değeri uygulamak için oldukça etkili bir yöntemdir.

Sık Kullanılan GrandMA2 Plugin Fonksiyonları

  • Printf() – Ekrana veya log penceresine mesaj yazdırır; hata ayıklamada vazgeçilmezdir.
  • gma.cmd() – Konsol komut satırına doğrudan komut gönderir.
  • gma.sleep() – Plugin yürütmesini belirli süre duraklatır; animasyon efektleri için kullanılır.
  • gma.show.getobj.handle() – Nesne adını kullanarak fixture veya grup referansı döndürür.
Önemli Not: Plugin içinde gma.cmd("Store Cue 1") gibi komutlar çalıştırırken dikkatli olun. Yanlış bir komut mevcut show verinizin üzerine yazabilir. Test aşamasında her zaman yedek bir show dosyası kullanın.

Pratik Kullanım Senaryoları

GrandMA2 pluginleri yalnızca fixture değeri atamakla sınırlı değildir. Aşağıdaki senaryolarda bu sistemi etkin biçimde kullanabilirsiniz:

  • Belirli fixture gruplarına otomatik sahne başlangıç değerleri atamak
  • OSC veya MIDI verisine göre fixture parametrelerini dinamik olarak güncellemek
  • Toplu fixture yeniden adlandırma veya patch düzenleme işlemlerini hızlandırmak
  • Özel chase efektlerini matematiksel fonksiyonlarla üretmek