GrandMA3 Macro ile Kullanıcı Girişi Alma (Input Komutu)

GrandMA3 makrolarında kullanıcıdan dinamik veri almanın yolu: Input komutu ile etkileşimli ve esnek makrolar oluşturun.

Makrolarda Kullanıcı Girişi Neden Önemli?

GrandMA3 makroları çoğunlukla sabit komut dizileri olarak kullanılır. Ancak bazı durumlarda makronun çalışma anında kullanıcıdan bir değer alması gerekir: hangi fixture grubuna uygulanacak, kaç saniye sürecek, hangi preset kullanılacak gibi. Bu ihtiyacı karşılamak için GrandMA3, Input komutunu sunar.

Input Komutu Nasıl Çalışır?

Input komutu, makro çalışırken ekranda bir diyalog kutusu açar ve kullanıcının bir değer girmesini bekler. Girilen değer otomatik olarak bir değişkene (variable) atanır ve makronun sonraki adımlarında bu değişken kullanılabilir.

Temel sözdizimi şu şekildedir:

Input "Soru metni" Variable "degiskenAdi"

Örneğin kullanıcıdan bir fixture numarası istemek için:

Input "Hangi fixture? " Variable "FixNum"

Bu satır çalıştığında konsol ekranında bir metin kutusu belirir, kullanıcı değeri girer ve makro kaldığı yerden devam eder.

Değişkeni Makro Adımlarında Kullanmak

Input ile alınan değer, sonraki adımlarda $degiskenAdi şeklinde çağrılır. GrandMA3 bu sözdizimini değişken referansı olarak tanır ve komutu çalıştırmadan önce değeri yerleştirir.

Yukarıdaki örnekle devam edersek, bir sonraki adımda şunu yazabilirsiniz:

Fixture $FixNum

Böylece kullanıcının girdiği numara, fixture seçimine dinamik olarak uygulanır.

Pratik Bir Örnek: Dimmer Değeri Alma

Aşağıdaki üç adımlı makro, kullanıcıdan bir dimmer yüzdesi alır ve seçili fixture'lara uygular:

  1. Input "Dimmer yüzdesi girin (0-100): " Variable "DimVal"
  2. Attribute "Dimmer" At $DimVal
  3. Store Cue 1 /Merge

Bu yapı sayesinde her seferinde farklı bir dimmer değeriyle cue güncellemek mümkün olur; makroyu değiştirmenize gerek kalmaz.

Input Komutunda Ek Seçenekler

Input komutu bazı ek parametrelerle daha da esnek hale gelir:

  • Default parametresi: Kullanıcı boş geçerse uygulanacak varsayılan değeri belirler.
    Input "Süre (sn): " Variable "FadeTime" Default "2"
  • Title parametresi: Diyalog kutusunun başlığını özelleştirir.
    Input "Sahne adını girin" Variable "SceneName" Title "Sahne Kaydı"
İpucu: Kullanıcıdan alınan değerlerin geçerliliğini kontrol etmek için If komutuyla birlikte kullanın. Örneğin girilen değer 0'dan küçükse makroyu durduran bir kontrol adımı ekleyebilirsiniz.

Input ile If Kombinasyonu

Daha güvenli makrolar için kullanıcı girişini doğrulamak iyi bir pratiktir. Aşağıdaki yapı, geçersiz değerlerde makroyu sonlandırır:

  1. Input "Preset numarası: " Variable "PNum" Default "1"
  2. If $PNum lt 1 Then StopMacro
  3. Assign Preset $PNum /SelectionFirst

Bu kombinasyon, sahne üzerinde yanlış komut çalışmasını önleyen basit ama etkili bir güvenlik katmanı oluşturur.

Değişkenlerin Ömrü

Input ile oluşturulan değişkenler session değişkenleri olarak saklanır; yani konsol yeniden başlatılana kadar bellekte kalır. Aynı değişken adını farklı makrolarda kullanıyorsanız isim çakışmasına dikkat edin. Kritik makrolarda benzersiz ve açıklayıcı değişken adları kullanmak, olası hataların önüne geçer.