GrandMA2 Plugin ile Fixture Kontrolü: Temel Rehber

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

GrandMA2'de Plugin ile Fixture Kontrolü

GrandMA2, sahne aydınlatma konsolları arasında en güçlü otomasyon araçlarından birini sunar: Lua tabanlı plugin sistemi. Bu sistem sayesinde tekrarlayan görevleri otomatikleştirebilir, özel kontrol arayüzleri oluşturabilir ve fixture parametrelerini doğrudan kod üzerinden yönetebilirsiniz.

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 takip edin.
  2. Boş bir plugin slotu seçin ve Edit butonuna basın.
  3. Açılan Lua editörüne kodunuzu yazın.
  4. Plugin'i kaydetmek için Store butonunu kullanın.
İpucu: Plugin editörü GrandMA2'nin kendi arayüzünde oldukça kısıtlıdır. Kodu önce bir metin editöründe (Notepad++, VS Code) yazıp yapıştırmanız çok daha verimli bir iş akışı sağlar.

Temel Fixture Erişimi

GrandMA2 plugin API'si, fixture'lara erişmek için DataPool ve SelectionFirst gibi yerleşik fonksiyonlar sunar. Aşağıdaki örnek, seçili ilk fixture'ın adını konsol komut satırına yazdırır:

local fixture = SelectionFirst() if fixture then EchoReturn(fixture.name) end

Daha gelişmiş senaryolarda tüm seçili fixture'lar üzerinde döngü kurabilirsiniz. Bunun için SelectionNext() fonksiyonu kullanılır.

Fixture Parametrelerini Okumak ve Yazmak

Fixture kontrolünün özü, attribute değerlerine erişmek ve bu değerleri değiştirmektir. GrandMA2 plugin API'sinde bu işlem GetAttributeValue ve SetAttributeValue fonksiyonlarıyla gerçekleştirilir.

Değer Okuma

local dimmerVal = GetAttributeValue(fixture, "Dimmer") EchoReturn("Dimmer: " .. tostring(dimmerVal))

Değer Yazma

SetAttributeValue(fixture, "Dimmer", 100) SetAttributeValue(fixture, "ColorRGB_R", 255) SetAttributeValue(fixture, "ColorRGB_G", 0) SetAttributeValue(fixture, "ColorRGB_B", 128)
Önemli Not: SetAttributeValue ile yapılan değişiklikler, o an aktif olan Executor veya Programmer üzerine yazılır. Sahneye kalıcı olarak işlemek için değişikliğin ardından Store komutunu plugin içinden çağırmanız gerekebilir.

Konsol Komutlarını Plugin İçinden Çalıştırmak

Zaman zaman fixture kontrolü için doğrudan GrandMA2 komut sözdizimini kullanmak daha pratiktir. Cmd() fonksiyonu bu işi üstlenir:

Cmd("Fixture 1 Thru 10 At 80") Cmd("Store Cue 5 /merge")

Bu yaklaşım özellikle karmaşık seçim ifadelerini veya executor kontrolünü yönetirken büyük kolaylık sağlar.

Pratik Bir Kullanım Senaryosu

Aşağıdaki örnek plugin, sahnedeki tüm seçili fixture'ların dimmer değerini kullanıcıdan alınan bir input ile ayarlar:

  • Adım 1: GetInput() ile kullanıcıdan bir yüzde değeri alınır.
  • Adım 2: Seçili fixture'lar üzerinde döngü kurulur.
  • Adım 3: Her fixture için SetAttributeValue çağrısı yapılır.
  • Adım 4: İşlem tamamlandığında EchoReturn() ile bildirim gösterilir.
local val = GetInput("Dimmer Değeri (0-100)") local fix = SelectionFirst() while fix do SetAttributeValue(fix, "Dimmer", tonumber(val)) fix = SelectionNext(fix) end EchoReturn("Tüm fixture'lar güncellendi.")

API Sürüm Uyumluluğuna Dikkat Edin

GrandMA2'nin farklı yazılım sürümleri arasında plugin API'sinde küçük farklılıklar bulunabilir. Plugin'lerinizi geliştirirken konsol yazılımınızın sürümünü not edin ve MA Lighting'in resmi dokümantasyonunu referans olarak kullanın. Özellikle 3.x sürümlerinde bazı fonksiyon adları değiştirilmiştir.