Elgato Stream Deck

Main Image.jpg

One of the most recent gadgets that I've picked up is the Elgato Stream Deck, a programmable keypad with mini LCD displays built into keys. Designed primarily for video game streamers, the pad  3 x 5 grid of keys with built in LCD screens can change based on the mode for the pad. In spite of the intended design, the Stream Deck ends up being great for other uses with the easily relabeled keys. This solves one of my biggest problems in the past with other key pads because they end up becoming application specific due to the time and difficulty of changing labels. The Stream Deck solves this by being able to change the labels through the included software which must be run with the pad. The one downside of this is that it prevents the Stream Deck from being an HID device that won't run without the software. Aside from needing the software, the Stream Deck is great for users on the go that want to be able to have programmable user keys for whatever program they are using.

Stream Deck Programming.PNG

The included software for the Stream Deck is easy to work with and makes very easy to set up hot key functions, though it can be a bit limiting if you need more steps than a single key-press. At its heart the Stream Deck is designed to aid video game streamers using Twitch and similar services so majority of the software settings are designed around it but it still offers ways to control things through application hot keys. The programming structure is centered around Profiles which can be application specific and switch to things when that application is in the foreground. Within a profile you can add folders which expand the 15 keys to another 15 in each folder giving you quite a bit of depth to play with. I order to setup a you find what you want from the list of options available on the left panel and drag it onto the space you want to use. You then have the option of entering a label text or dropping picture onto the key. Elgato does offer an online tool for generating your own labels but I just ended up using Photoshop to generate my own. As you work through creating keys they are automatically added to pad for use. The one thing that I found was lacking in the ability to do more complex key macros that can be done in X-Keys. 

Label Making.PNG

Here is an example of how I have two pages (folders) set up to work with Vectorworks. One is for working in 3D and the other is more for general lighting/ use with the Lightning Tapes plugin.  The top part is the action and bottom is the keyboard setup. There may be custom key bindings set in Vectorworks so your mileage may vary

 

 

Lightning Tapes-

Lightning Tape.jpg
Truss Tape.PNG

3D-

3D Stuff.jpg
3D.PNG

Update: ProPresentor Control for ETC Consoles

Just wanted to put out a quick update on using ProPresentor with ETC Eos series consoles. Some recent changes to OSCulator have created problems sending OSC commands to the console after receiving MIDI notes out of ProPresentor. Luckily with Eos 2.5 there is now a way to take commands from MIDI notes directly into the console. Here is the information from the ETC forums: 

1. Create a new event list in Tab 11 (Show Control) (Event 1/ Enter)
2. Set the type to be {Network}
3. Set External to {On}
4. <Event> [1] {MIDI String} {Note On} 
5. Pick the note, octave, and channel. You could use Any if the octave or channel may vary.
6. Set the velocity to the target velocity, or set the velocity threshold to the minimum velocity value for it to respond. You could set it to 1, so it would respond to a note with any velocity.
7. Press OK
8. Add the action as Macro 1 (or whatever macro number you want it to fire).

Full instructions can be found in the newest Eos Show Control Supplement starting around page 39.

I've also set up a series of Macros doing pretty much the same thing that OSCulator was doing. The only additional hardware needed is a USB MIDI dongle to plug into your computer and the console.

Also, here is a show file with only the show control events and macros needed to get this working along with updated simple use instructions.

DIY Programmable Keypads

2016-07-09 16.49.25-1.jpg

In my last post I mentioned off the shelf options for creating custom button options but there is a fairly easy way to do it yourself using an Arduino. To make this work you need and Arduino Leonardo/ Pro Micro because they are able to emulate a HID keyboard device. Luckily they can be found pretty easily and cheaply. Knock off Pro Micro's/ Leonardos can be found all over eBay and Amazon. On my own version I began using cheap arcade buttons which adds gaming fun element when using you keypad. The one downside I've found in this project is that you need to have the Arduino IDE installed on computer you wish to use your keypad with.

My first attempt was a two button module that I could use as a "Go" and "Back button for ETC's Nomad software. After using it for a while I began to think of using it for other things such as a screen switcher for Windows 10 that I can attach below my monitor to control the new desktop features. Luckily its fairly straightforward to add more buttons as needed for a given project on both the hardware side.

 

Hardware

Here is a diagram of the hardware side that can be expanded to as many buttons as needed:

 

Each digital pin as set high and pulled to ground when activated.

My suggested hardware list is:

Arduino Pro Micro

Arcade Buttons

Software

The coding end is also fairly straight forward. Here is my example for the "Go" button:

#include "Keyboard.h"


const int buttonA = 2;
const int buttonB = 3;


void setup() 
{
  pinMode(buttonA, INPUT);
  pinMode(buttonB, INPUT);
  digitalWrite(buttonA, HIGH);
  digitalWrite(buttonB, HIGH);
  Keyboard.begin();
}

void loop() 
{
  int b_A = digitalRead(buttonA);
  int b_B = digitalRead(buttonB);

  if(b_A == LOW)// Green Go Button (Control G)
  {
    Keyboard.press(KEY_LEFT_CTRL);
    Keyboard.press('g');
    delay(100);
    Keyboard.releaseAll();
  }

  if(b_B == LOW) //Red Stop/ Back Button (Control F3)
  {
    Keyboard.press(KEY_LEFT_CTRL);
    Keyboard.press(KEY_F3);
    delay(100);
    Keyboard.releaseAll();
  }
}

To add more buttons replicate the code for the first two.

Keys are added with the Keyboard.press('x') command the desired key going inside the brackets with single quotation marks, here is the full explanation.

If you want to use any special keys (Control, Alt) here is a link to the Arduino reference on keyboard modifiers.

Inserting a delay helps to ensure that everything has to to execute properly and can be tweaked as needed.

Finally remember to use the Keyboard.releaseAll() command otherwise repeating key problems with occur.

ProPresentor Control for ETC Ion

UPDATE- This may not work properly anymore see this instead.

One of the the church's that  I work for regularly uses ProPresenter to control their lyrics/ graphics along with an ETC Ion for lighting. They often have problems staffing the lighting position for normal Sunday services yet want to be able to create some different lighting looks through out the service. With the most recent versions of the Eos software ETC added OSC command functionality to the console allowing just about anything to be remotely triggered. OSC (Open Sound Control)  is somewhat of a successor to the original MIDI protocol that sends data over network connections in a much more user readable format for editing. Through ETC's implementation of the protocol you can get an Eos/ Ion console to remotely complete almost any action you could while sitting at the console. The full guide to what ETC has allowed users to do with OSC is available in their latest Show Control User Guide.

With the added communication module ProPresenter has the ability to send MIDI notes when a slide is advanced making it possible to control external gear. Unfortunately, the Ion is not able to receive MIDI notes and perform actions with them, only MIDI commands. However, the implementation of OSC commands it is possible to make these MIDI notes be useful. A software called OSCulator can run on the same computer as ProPresenter and translate the MIDI notes to OSC commands and send them to the Ion. This unlocks the ability for ProPresenter to control the Ion without having a separate lighting operator present.

In discussions with the worship leader, we were able to figure out the best way for the console and ProPresenter to work together based on their normal usage. For most services only a few looks are needed which could be programmed at any point through out the week and submasters for various areas are brought up throughout the service. We wanted to be able to make this without the need for an extra volunteer operator. To implement this, we decided to use the person running video to help control the the lighting. When setting this up we decided to use the main cue list to control the scenic elements and background while the band, house, and other key lights were still controlled by subs as was being done previously. In order to make this work we decided to make cues 1-200 recallable with MIDI notes and subs 1-10 controllable at 0%, 25%, 50%, 75%, and Full. The decision behind the cue number rather than the "GO" button was that it enabled the slides to be mixed around and not cause a ton of problems if things happened out of order. In the end we did include the GO and BACK functionalities in case we needed to run point cues through ProPresenter control. One setback that I found was that I was unable to control the timing of subs with the OSC sub commands so I ended up using macro commands to set the sub levels even though the console lacks moving faders.

The rest of this post is a how to guide. It is more geared towards ProPresenter but references this guide from the ETC forums by Paul Toben which is referring to QLab which I would suggest following for the initial setup for the computer and console. I'll stick mostly to the ProPresenter side with some OSCulator info thrown in.

Items Need:

  • ETC Eos based console running v2.3 or later
  • Mac OSX based computer
  • Possibly a second NIC card for connecting to your lighting console depending on how the computer is set up
  • ProPresenter with either the MIDI or Full Communications Module

Setup:

  • Ensure OSCulator and ProPresenter with the MIDI/ Communications Module are installed on your computer
  • Complete the network setup as described in the Paul Toben guide
  • In ProPresenter create a MIDI device by following the instructions on pages 126 & 127 of the ProPresenter user guide
  • I forgot to grab a screen shot of this but its fairly simple
  • I chose to name my device OSCulator which appears in the rest of the guide
  • Select a slide and add a not
  • Right click and select “Add Cue> Communication Cue> OSCulator> MIDI Note On”
  • Select the channel and note and send
  • An item should appear in OSCulator
  • This is only the channel which you will want to expand to give yourself more option
  • Highlight the note/ pitch section and "Edit> Demux"
  • Keep changing the notes in ProPresenter and more lines should appear
  • If you change to another channel you'll have to Demux again
  • Keep sending notes to OSCulator until you're satisfied
  • You'll get something like this without the Event Type and Values filled in
  • Set the Event type to OSC Routing
  • Set the value based on what you would like by clicking on the blank field
  • This will bring up the routing table 

  

  • Click the add new address section and type in the desired values in the new window
  • Examples:
  • Go to Cue #= /eos/cue/(list)/(cue)/fire
  • This executes with the time applied to the cue, not the standard goto cue time
  • Go= /eos/key/go_0
  • Back= /eos/key/stop
  • Macro #= /eos/macro/#/fire
  • For subs my macro is "Sub 1 @ Full Time 3 Enter", running in the background mode
  • In my file I used macros 151-200 because that was available in the base show fil

 

  • Test sending note
  • The box by the given note should flash when the command is sent from ProPresenter
  • On the console if you open the Diagnostics Tab (Tab 99) and set it to display incoming OSC you should see the items incomin
  • If you see the notes incoming and you see the message coming in make sure the velocity on ProPresenter is 1 or greater
  • If nothing is coming in check your network setup
  • Once you are sure setup is done you may want to lock OSCulator through "Routing>Lock Routing"

Hopefully this is helpful in getting you started using ProPresenter and OSC. Here is a ZIP file containing the various manuals, a usage guide once set everything is set up, and my OSCulator file withe cues 1-200 mapped and subs 1-10 mapped as well.

What's in My Bag?

On gig sights I often get asked "So what gear do you have in your stuff?" Until recently I didn't really have a good way to answer, so I decided to sit down and figure out all the tools and stuff I had in my various bags. Through the process I realized had a lot of stuff scattered around as I hate not to be able to do a task because I don't have the tools. This results in having a lot of tools in various places.

I do have them organized in a way which allows me to pick and choose what comes to an give gig. For instance any time I go to work I always have my belt holster either on or I my bag because I never know exactly whats going to happen on any given day. My chalk bag and small tool bag come to any gig where I know I'm going to be "working" or doing anything other than sitting behind a console. My pelican case comes out to gigs where I know that things are going to be more involved or I am working as a lead of some kind. Finally I have some things that might come out to a gig if I know what might be needed beyond the basics.

This is just the things that I remember or could find while putting this together so I'm sure there's other stuff. If you have any questions feel free to ask through the contact me page.

Below is a list of tools/gear that I with me along with occasional notes with links to Amazon or other sites to purchase:

 

Belt Tool Holster- Ripoffs CO-44 4-Pocket Flashlight / Tool Holder

Chalk bag/ Pouch-  Venturon Chalk Bag w/ Nite Ize Size-5 S-Biner

Small Gear Bag-  Setwear Tool Pouch

Pelican- Storm iM2620 w/ dividers

Useful Extras Kept Separately 

LED Flicker and Video

One of my activities more common activities during the Christmas season is designing lighting for my church using a variety of fixtures they have acquired overtime. While the majority of their LED product is of good quality they do have some off brand lights that flicker on video. This is a common problem with cheaper LEDs built with lower quality components. So here's and explination of why and a work around for recorded video only.

The video flicker comes from the way that the individual colored diodes are dimmed to color mix or for intensity. In order to dim an LED it is turned on and off rapidly maintaining its nominal operating voltage when in the on state. This helps preserve color integrity and relative brightness throughout the cycle no matter how long the LED is actually on. The process is known as pulse width modulation or PWM. For a look at this see the picture on the right. More often than not, this process happens more rapidly than the eye is able to perceive however sometimes camera's are able to pick this up due to their frame rate and shutter speeds. This process becomes more noticeable as the LED is "dimmed" (turned on less frequently in the waveform) such as when the fixture is at a low level or if certain colors are mixed. While the LED product may work well for live events without video there is no way to fix the problem when using video and the flicker is going to happen any time a camera is used. The best way around this is to buy "camera friendly" products that have a high PWM frequency or rely on other methods of dimming.

After doing some research I was able to find a solution that works decently for RECORDED video. I'm almost positive that this can not be employed on live video. Any ways here are the steps:

Open the video in an editing software that allows you to manipulate tracks (Final Cut, Adobe Primeier, Sony Vegas, etc.)

Copy the video track with the offending LEDs from the main track to a secondary one on top of the main

Delete the audio from the secondary track

Offset the secondary video by a frame or two

Set the opacity of the second track to ~50-60%

After messing around with the opacity and frame offset of the second track you end up with something masking the LED flicker. The video ends up turning out fairly decent but judge for yourself:

ETCP Entertainment Electrician Certification

I recently took and passed by ETCP Entertainment Electricians Exam even though there is a fair amount of discussion in the industry whether or not it is truly needed. One of the main reasons behind my decision is that it add validation to the knowledge that I know I process. Going through the process of studying was also a great way to fill in the gaps of what I already knew. ETCP provides an outline of what will be on the test which is a good guide of what to study and ensure you having a good general working knowledge. Another reason was that when it comes to looking for a job further down the road it may help to influence an employers final decision in my favor of job candidates. The fact that my current local (IATSE) was willing to reimburse the $550 also helped make it seem like a really good idea with minimal downsides.

One of the thing that made me hesitating on taking the exam was the verification process. I wasn't sure exactly what ETCP/PLASA was looking for as far as proving hours and what process they were going to follow. Luckily for me, my primary employer keeps records of total hours worked through payroll. Having worked way more than the 3,000 hours required to qualify on points alone I was more than good to go. With so many hours in the bank I was very confident that at least the required 3,000 hours of electrical was completed. I also ended up submitting an official transcript from school which I had acquired a stack of at some point. Before submitting anything I did send ETCP an email and got a reply to all of the questions that I had which was very helpful. After submitting my paperwork and payment it took about two weeks for the ETCP people to call and verify with my direct report manager at work (yes they did call and check) and give me the go ahead and take the test.

After I got the go ahead to take the test, its a matter of going onto the AMP website and setting up a testing appointment. The test is administered on a computer which is the standard for industry testing. It is possible to take the test at the larger trade events on paper if that is something you desire. In the Southern California area all the testing center locations were located at HR&R Blocks. The actual venue is a back area they have set aside with computers in cubicles for privacy. As far as taking the test, the questions displayed on the computer with the multiple choice answers below them. The software makes it very easy to flag questions to go back to later so its possible to skip the more time consuming questions and come back later which is what I ended up doing to ensure I at least saw everything. In fact, the computer will not allow you to finish the exam without acknowledging unanswered questions and will scroll through them for you so you can answer them. At the end of the test, the computer closes out and asks you to return to the lobby. Once back in the lobby is when you get your results and a printout with the number of questions correct and the number of questions needed to pass. It also mentions that with in 6 weeks you will receive your certificate and ID card.

Since I took the test right before the Christmas/ New Years holidays in the middle of December it wasn't until after the New Year that I heard back from ETCP. They emailed me asking for a picture for my ID card as well as some information to put up on their website for my listing if you search for me there. About a week or so after that (a few days before this posts) I received my packet with my certificate, ID card, and some other goodies. So now all I have to worry about is the recertification process in 5 years or the process of adding one of the rigging certs if I chose to go that way in the future.

Mounting an SD Card as a Standard Hard Drive

In my previous post I mentioned that one of the limitations of the windows tablets I had come across is the small amount of available storage. The simplest way around this is to add an SD card. Unfortunately, windows will not allow you to install programs to an SD card and some programs will not use it as storage. A way around this is to mount the SD card as a virtual hard drive. Here are a list of steps to get this done. This method works with Windows 7 on (upgrading my tablet to Windows 10 broke the logic so I can confirm it for Windows 10):

  • Ensure the card is formated as NTFS (Computer> Right Click on SD Card> Format)
    • You may want to wipe the data even if the card is properly formated
  • Open Disk Management Utility by searching for "diskmgmt" from the search bar
  • In the Disk Management window right click on the left side and select "Change Drive Letters and Path..."
    • Click "Remove"
      • This will cause it to no longer appear in the computer menu
    • Click "Add"
      • Under "Mount in Following Empty NTFS folder" type "C:\Media Container" (Or whatever you'd like just be sure to remember it for later)
    • Click "OK"
  • Return to the main Disk Management Windo
    • Click Actions> Create VHD menu
      • Click browse and specify the location of the SD card (C:\Media Container)
      • Save a the file as "Media Store" (Again can be your choice)
      • Set the size to match the SD card
      • Select the VHDX option
      • Select the Dynamically Expanding option
      • Click "OK"
    • Right click on the left side of the new disk and select "Initialize Disk"
      • Use the GPT option
    • After it completes right click on the right side and select "New Simple Volume"
      • Click through with all defaults
    • Save and exit out

In order to make this a permanent fix there are a few more steps that need to be taken.

  • Create a . txt file in "C:\Media Container"
    • Add the following to the file
select vdisk file = "C:\Media Container\ MediaStore.vhdx"

attach vdisk

assign letter = D
  • Launch the Task Scheduler by searching for it in the start men
    • Click Create Task
    • Name Task "Mount SD" or something along those lines
    • Change the account to "SYSTEM"
    • Goto Triggers Tab
      • Click "New.."
      • Set begin task to "At Startup"
      • Click "OK"
    • Goto Action Tab
      • Click "New"
      • Set Action to "Start Program"
      • Under Program/script add "diskpart"
      • Add arguments "/s "C:\Media Container\Mount Script.txt""
      • Click "OK"
    • Click "OK" and exit out

After rebooting your computer you should see a "D" drive that was formerly an SD card. Now you should be able to use it as a normal hard drive.

The information from this post originally came from the Superuser Forums but has been expanded and simplified to make it easier to follow.