Wirecast Controller dengan Arduino

Wirecast Controller Bagian 1

SALAM KBI…!

Saya akan membahas sedikit banyak tentang wirecast controller, stapi sebelumnya masuk ke bab perkenalan dulu

Controller
Suatu fungsi pengguna (user interface) yang memudahkan kita mengontrol suatu program/command/alat dengan menggunakan alat bantu, kurang lebih begitu definisinya.

Shortcut
Jalan pintas untuk memudahkan pengendalian suatu program/command/alat.

Contoh gambar dibawah adalah controller mapping untuk Wirecast buatan x-keys

contoh paling gampang suatu kontroller yang kita gunakan sehari2 adalah keyboard komputer, dan kita bisa membuat suatu kombinasi tombol untuk mengendalikan shortcut. misalnya :
Ctrl + C = kopi
Ctrl + V = Paste
Windows + P = setting dual screen/projector
dan sebagainya.

 

Untuk wirecast, saya menggunakan “Shift + Ctrl + 1” untuk memilih preview 1, (sudah pasti disetting dulu shortcutnya di wirecast, hehe). bagaimana jika kita cukup menekan satu tombol untuk menjalankan kombinasi “Shift + ctrl + 1”?

Nah, ini yang akan kita bahas. dan bisa digunakan bukan hanya di wirecast saja, software yang lain misalnya, photoshop, premiere pro, pinnacle studio, final cut pro, DAN MASIH BANYAK LAGI .

Arduino & Shortcut

Sekarang masuk di tahap pemrograman. pasti sudah banyak yang kenal Arduino. disini akan lebih spesifik lagi membahas khusus Arduino HID.

Arduino seperti yang kita tau ruang lingkupnya sangat luas, klo didunia broadcasting, kita menggunakan arduino untuk kontroller, tally lights.wirelles tally, lanc controller, jib controller, dll.

sekarang arduino akan kita gunakan sebagai controller wirecast. yang paling mudah adalah dengan sistem shortcut. Jadi, kasarnya, kita akan membuat “arduino menjadi keyboard”.

Software Arduino IDE sudah disertakan dengan libraryuntuk membuat usb keyboard sendiri. Itu yang akan kita manfaatkan sebagai Shotcut controller untuk wirecast

coba pelajari gambar dibawah :
cukup dengan menambahkan #include “Keyboard.h” maka adruino sudah siap diprogram menjadi keyboard>

Tahap selanjutnya adalah mempersiapkan Arduino. yang akan kita gunakan adalah Arduino Pro Micro karena sudah bersifat HID (yang sudah ikut kursus vMix Controller pasti sudah paham)

Sekarang masuk ke bagian mapping/setting shortcut :

Shortcut dibuat sendiri :
Untuk preview, saya mengunakan kombinasi tombol “Ctrl + Shift + 1”, Mengapa? kemungkinan penggunaan angka 1 ketika kita mengetik sesuatu, secara tidak sengaja akan mengeksekusi perintah shortcut yang sudah kita buat untuk tombol “1”. Jadi lebih aman klo dikombinasikan dengan tombol “Function (Caps, Shift, Tab, Ctrl, alt),

Tombol shift ada di kiri dan kanan, juga tombol alt, ctrl, dipilih menurut selera.

Misalkan untuk preview 1 kita menggunakan kombinasi tombol “Ctrl + Shift + 1” di arduino dibuat seperti ini :

———————————————–
Keyboard.press(KEY_RIGHT_CTRL);
Keyboard.press(KEY_LEFT_SHIFT);
delay(100);
Keyboard.press(‘1’);
delay(100);
Keyboard.releaseAll();
————————————————–

Basic Shortcut Wirecast (bawaan):
Ctrl +1 = Cut
Ctrl +2 = Smooth (Fade/Take)
Ctrl G = Go

Untuk shortcut di arduino bisa kita kombinasikan, misalkan dengan Ctrl + 1, cukup dengan menekan 1 tombol saja, hasilnya seperti ini :

—————————————————————-
Keyboard.press(KEY_RIGHT_CTRL); —> eksekusi Ctrl
Keyboard.press(‘1’); —. Kemudian eksekusi angka 1
—————————————————————–

Jadi untuk melakukan transisi atau cut harus tekan tombol “Cut” (Ctrl +1 ) kemudian tombol “Go” (Ctrl g). Untuk menghemat tombol, maka kita kombinasikan saja di arduino. Cukup dengan menekan satu tombol maka perintah yang dieksekusi :

————————————————————–
Keyboard.press(KEY_RIGHT_CTRL);
Keyboard.press(‘1’);
delay(100);
Keyboard.press(KEY_RIGHT_CTRL);
Keyboard.press(‘g’);
delay(100);
Keyboard.releaseAll();
—————————————————————


Koding arduino

berikut contoh ksketch arduino untuk 4 tombol preview, tombol cut & smooth/fade. Arduino yang wajib digunakan adalah “Arduino Pro Micro” atau “Arduino Leonardo”, alasannya agar tidak perlu software serial lagi sehingga arduinonya bisa “plug and play”

Silahkan dikopi paste / dicuri.. atau download sketchnya di grup ini :
https://www.facebook.com/groups/1800901769946722/
skema menyusul

//—————————————–kopi coding mulai dari sini————————–
/*
* WIRECAST Controller for Arduino
*/
#include <Keyboard.h>

int keys[] = {2, 3, 4, 5, 6, 7, 8, 9, 10};

void setup() {
// put your setup code here, to run once:
Keyboard.begin(); // setup keyboard
for (int i = 2; i < 11; ++i) {
// initilize pins
pinMode(i, INPUT);
}
}

void loop() {
// put your main code here, to run repeatedly:
for (int i = 2; i < 11; ++i) {
// check buttons
if(readButton(i)) {
doAction(i);
}
}
}

boolean readButton(int pin) {
// check and debounce buttons
if (digitalRead(pin) == HIGH) {
delay(10);
if (digitalRead(pin) == HIGH) {
return true;
}
}
return false;
}

void doAction(int pin) {
// perform tasks
switch (pin) {
case 2:
Keyboard.press(KEY_RIGHT_CTRL);
Keyboard.press(KEY_LEFT_SHIFT);
delay(100);
Keyboard.press(‘1’);
delay(100);
Keyboard.releaseAll();
break;
case 3:
Keyboard.press(KEY_RIGHT_CTRL);
Keyboard.press(KEY_LEFT_SHIFT);
delay(100);
Keyboard.press(‘2’);
delay(100);
Keyboard.releaseAll();
break;
case 4:
Keyboard.press(KEY_RIGHT_CTRL);
Keyboard.press(KEY_LEFT_SHIFT);
delay(100);
Keyboard.press(‘3’);
delay(100);
Keyboard.releaseAll();
break;
case 5:
Keyboard.press(KEY_RIGHT_CTRL);
Keyboard.press(KEY_LEFT_SHIFT);
delay(100);
Keyboard.press(‘4’);
delay(100);
Keyboard.releaseAll();
break;
case 6:
Keyboard.press(KEY_RIGHT_CTRL); //CTRL + 1 = Cut
Keyboard.press(‘1’);
delay(100);
Keyboard.press(KEY_RIGHT_CTRL);//CTRL + g = GO
Keyboard.press(‘g’);
delay(100);
Keyboard.releaseAll();
break;
case 7:
Keyboard.press(KEY_RIGHT_CTRL);//CTRL + 2 = Smooth/Fade
Keyboard.press(‘2’);
delay(100);
Keyboard.press(KEY_RIGHT_CTRL);//CTRL + g = GO
Keyboard.press(‘g’);
delay(100);
Keyboard.releaseAll();
break;
case 8:
// your task here
break;
case 9:
// your task here
break;

}
}
//—————–kopi hingga disini—————

Leave a Reply

Your email address will not be published. Required fields are marked *