GrandMA2 Plugin ile Kullanıcı Arayüzü (GUI) Oluşturma

GrandMA2 Lua plugin sistemiyle özel GUI bileşenleri oluşturmayı ve sahne aydınlatma iş akışınızı nasıl geliştirebileceğinizi öğrenin.

GrandMA2 Plugin GUI Sistemine Giriş

GrandMA2, yerleşik Lua script motoru sayesinde kullanıcıların kendi arayüzlerini oluşturmasına olanak tanır. Bu özellik, tekrarlayan görevleri otomatikleştirmek, operatörlere özel kontrol panelleri sunmak ve karmaşık makroları daha kullanıcı dostu hale getirmek için son derece güçlü bir araçtır.

Temel GUI Fonksiyonları

GrandMA2 Lua ortamında GUI oluşturmak için gma.gui kütüphanesi kullanılır. Bu kütüphane, dialog pencereleri, butonlar, metin alanları ve listeler gibi temel bileşenleri destekler.

Dialog Penceresi Açmak

En temel GUI bileşeni bir dialog penceresidir. Kullanıcıdan onay almak veya basit bir seçim yaptırmak için aşağıdaki yapı kullanılır:

gma.gui.confirm("Başlık", "Mesaj içeriği")

Bu fonksiyon true veya false döndürür; böylece kullanıcının kararına göre scriptinizi yönlendirebilirsiniz.

Kullanıcıdan Değer Almak

Bir sayısal veya metinsel değer girmesini istediğinizde gma.gui.input() fonksiyonu devreye girer:

local deger = gma.gui.input("Değer Girin", "Başlangıç değeri")

Dönen değer her zaman string tipindedir; sayısal işlem yapacaksanız tonumber() ile dönüştürmeyi unutmayın.

Gelişmiş GUI: Popup Menüler

Popup listeler, operatöre birden fazla seçenek sunmanın en pratik yoludur. Özellikle sahne geçişlerini, renk paletlerini veya fixture gruplarını seçtirmek için idealdir.

local secim = gma.gui.popup("Seçim Yapın", {"Seçenek A", "Seçenek B", "Seçenek C"})

Fonksiyon, seçilen öğenin index numarasını döndürür. İptal durumunda nil gelir, bu yüzden her zaman nil kontrolü yapın.

💡 İpucu: Popup menü seçimlerinde her zaman if secim ~= nil then kontrolü ekleyin. Kullanıcı pencereyi kapatırsa nil döner ve kontrolsüz bırakılan script hata verebilir.

Pratik Bir GUI Plugin Örneği

Aşağıdaki örnek, kullanıcıya bir executor numarası seçtirip o executoru çalıştıran basit bir plugin iskeletidir:

  1. Plugin dosyasını Plugin Pool üzerinden oluşturun
  2. Lua editörünü açın ve aşağıdaki yapıyı kullanın
  3. Plugini bir butona veya makroya atayın
local function main() local exec = gma.gui.input("Executor", "1") if exec ~= nil then gma.cmd("Go Exec " .. tonumber(exec)) end end return main

GUI Tasarımında Dikkat Edilmesi Gerekenler

  • Pencere sayısını minimumda tutun: Gösterinin ortasında çok sayıda dialog açmak operatörü yavaşlatır
  • Varsayılan değerler ekleyin: Input alanlarına mantıklı varsayılan değerler girerek hız kazanın
  • Hata mesajlarını kullanıcı diline çevirin: Teknik hata kodları yerine anlaşılır metinler gösterin
  • Test ortamında deneyin: GUI pluginlerini canlı show öncesinde mutlaka rehearsal modunda test edin

Show Dosyasına Entegrasyon

Oluşturduğunuz GUI pluginlerini Plugin Pool üzerinden show dosyanıza kaydederek taşınabilir hale getirebilirsiniz. Plugini başka bir show dosyasına aktarmak için Import/Export özelliğini ya da gma.store() komutunu kullanabilirsiniz. Bu sayede hazırladığınız araçlar her projede tekrar kullanılabilir.