GrandMA2 Plugin ile Harici Cihaz Entegrasyonu
GrandMA2 plugin sistemi kullanarak MIDI, OSC ve seri port üzerinden harici cihazları konsolunuza nasıl entegre edeceğinizi öğrenin.
GrandMA2 Plugin Sistemi ile Harici Cihaz Entegrasyonu
GrandMA2, kendi Lua tabanlı plugin motoru sayesinde yalnızca bir aydınlatma konsolu olmanın ötesine geçer. Harici cihazları sisteme dahil etmek; gösterilerinize interaktif kontrol, otomasyon ve özel iş akışları kazandırır. MIDI kontrolörler, OSC protokolü destekleyen uygulamalar veya seri port üzerinden bağlanan sensörler bu entegrasyonun en yaygın örnekleridir.
Entegrasyon Yöntemleri
1. MIDI ile Entegrasyon
GrandMA2, MIDI mesajlarını doğrudan plugin içinde işleyebilir. Bir MIDI kontrolörü konsola bağladıktan sonra, plugin aracılığıyla gelen Note On/Off veya Control Change mesajlarını okuyabilirsiniz.
Aşağıdaki Lua kodu, gelen MIDI mesajını yakalamak için temel bir yapı gösterir:
function MidiReceive(midiMsg) local status = midiMsg:getStatus() local data1 = midiMsg:getData1() local data2 = midiMsg:getData2() if status == 144 then -- Note On gma.cmd('Go+ Sequence ' .. data1) end endİpucu: MIDI kanallarını karıştırmamak için status byte değerini kontrol edin. Note On için kanal 1'de bu değer 144'tür; kanal 2 için 145 olarak değişir.
2. OSC Protokolü ile Entegrasyon
OSC (Open Sound Control), ağ üzerinden çalışan ve müzik/medya uygulamalarında yaygın kullanılan bir protokoldür. TouchOSC, Lemur veya özel geliştirilmiş uygulamalar bu yöntemle GrandMA2'ye bağlanabilir.
Plugin içinde OSC mesajı dinlemek için şu yapıyı kullanabilirsiniz:
function OscReceive(address, value) if address == '/sahne/perde' then gma.cmd('Go Sequence 5') end endOSC entegrasyonunda dikkat edilmesi gereken noktalar:
- Konsolun network ayarlarından OSC port numarasını (varsayılan: 8000) doğru tanımlayın.
- Gönderen cihazın IP adresiyle konsolun aynı subnet üzerinde olduğundan emin olun.
- Mesaj adreslerini (address string) hem gönderen hem alan tarafta birebir eşleştirin.
3. Seri Port (RS-232) Entegrasyonu
Sahne makineleri, turntable sistemleri veya özel sensörler gibi eski donanımlar çoğunlukla RS-232 seri iletişim kullanır. GrandMA2 plugin motoru, seri port okuma için temel destek sunar.
- Konsolun arka panelindeki seri port bağlantısını kontrol edin.
- Plugin içinde
gma.serial.open(port, baudrate)fonksiyonuyla portu açın. gma.serial.read()ile veri okuyun ve gelen string'i parse edin.- İşlem bittiğinde
gma.serial.close()ile portu kapatın.
Önemli Not: Seri port fonksiyonları konsol modeline ve yazılım sürümüne göre farklılık gösterebilir. GrandMA2 3.x sürümlerinde bu özellik tam desteklenirken, daha eski sürümlerde kısıtlamalar olabilir.
Plugin'i Etkinleştirme ve Hata Ayıklama
Yazdığınız plugin'i konsola yükledikten sonra Plugin Pool penceresinden çalıştırın. Hata ayıklama için gma.echo() fonksiyonu ile değerleri System Monitor penceresine yazdırabilirsiniz.
gma.echo('Gelen MIDI değeri: ' .. tostring(data2))Entegrasyon testlerini mutlaka gösteri öncesinde gerçek donanımla yapın. Ağ gecikmesi, MIDI tamponu taşması veya seri port zaman aşımı gibi sorunlar yalnızca canlı testte ortaya çıkabilir. Plugin'lerinizi modüler tutun; her cihaz için ayrı bir plugin dosyası oluşturmak hem okunabilirliği hem de hata tespitini kolaylaştırır.