Programming Keypads - The Basics | UI Design View - AVX Architect
This video shows you how to program BSS OMNI Dynamic Keypads in AVX Architect. You’ll learn how to add keypads to your system, configure them with images, assign parameters like volume mute and level control to buttons and encoders, and prepare the keypad for deployment in a live system.
Transcript
. In this video, we’re going to walk you through the basics of programming a BSS OMNI dynamic keypad. In this example, I’ll be configuring a 6 button keypad with a rotary controller, but these concepts will apply to all OMNI dynamic keypads.
We’re going to start in the SYSTEM view, and add some configurable devices to our design. A DSP will be needed to add audio and logic processing objects to the design, and the keypad should be added from the Dynamic Keypads section of the configurable devices list. Make sure your exact model is selected from this list. In this case, the 6 button wall controller with rotary control. Next, let’s look at the VIRTUAL view. Processing objects are needed in the virtual design for the keypad to interact with. Let’s add a Gain object so we can simulate some volume control, and also enable the master controls for a master mute. A Meter object that we could use to control the LED ring around the rotary control. And a Logic source, just for assigning to one of our buttons.
Next is the UI DESIGN view. When you first open the UI DESIGN view, the workspace area will be empty because no controllers or panels have been added to the design yet. Let’s add one by clicking the plus in the left pane, then selecting “Add OMNI Keypad”. Then, select the keypad model from the template list. This is the “Dynamic Keypad with 6 Buttons and Rotary Control” that we have. Select it, then click the “Create” button. Now we have a visual representation of the keypad in the workspace. If you click the outer area of the keypad, then you’ll be able to change the page name and page background in the Properties window. Page background color is the color that the buttons will display and will be visible behind any images that don’t fill the whole button.
Each button on the page can be clicked to view its properties and parameter binding. Let’s start by assigning a parameter to this first button. Use the Parameters Tree in the left pane to find the gain object we have in the design. We’re going to set this up where the button is going to mute and unmute our source audio, so use the channel 1 mute parameter, and not the master mute. Click and drag it on to our first button. Notice now that the button has a green outline, indicating that a parameter is bound to it. Click the button and let’s look at the Properties window now. The button type can be changed using this drop down. The On value can be changed here. In this case, muted or unmuted. And states, where different images can be assigned for the on, off, and alternate states of the button.
Images can be added using the Image Library in the left pane. The Image Library will contain all images used in this project, and PNG, JPG, and SVG files are supported up to 188 by 188 pixels. Click the plus symbol to add images to the Image Library. I created these two images for our mute and unmute, as well as an arrow for a different button. Remember that transparency is supported for PNG and SVG. With our mute button selected, choose a state from the properties window, then drag an image to the button to assign it to that state. This On state is using the muted image since our On Value is set to Muted. Then you can click the next state and assign the second image. Notice that since these images are not transparent, the background color is visible behind them.
You can add multiple pages to a keypad. Click this plus symbol on the User Interfaces section of the left pane, then select “Add Page to Selection”. Now the keypad has two pages, each with their own set of unique parameter bindings. To allow the user to change between pages, use the Page Flip parameter, which can be found in the Interface section of the Parameters tree. We can make this button our Page Flip and use the arrow image I created to indicate that. Click and drag the Page Flip parameter from the Parameters Tree to the button, and then set the destination page from the Parameter Bindings section of the right pane.
Finally, let’s cover the rotary control. Clicking the button, you can change the button type between toggle and momentary from the Properties window. These three areas around the button are for binding parameters to the rotary control. Rotary Button is the parameter that’s controlled when you press the button. I enabled the Master Mute on the gain object to assign here to mute all outputs of the gain object, in case we had multiple sources or zones being controlled here. The Rotary, is the parameter that’s controlled when you turn the rotary control. This could be assigned a gain or any continuous control. Last is the LED Ring control, which could be assigned the mute, gain, or meter to provide real-time visual feedback using the LED ring around the rotary control.
You can right-click any control with a bound parameter and select “Unbind Parameter” to clear the binding. If you do this to a button with an image, the image will not clear. If you right-click a button with an image, then select “Clear”, then the images for all states will be cleared as well as the parameter binding. Once the keypad has been configured in the UI DESIGN view, don’t forget to go back to the SYSTEM view to assign the keypad panel we created to the device. Select the device, then use the “UI ASSIGNMENT” drop down in the right pane to select the panel. We’ll cover deploying to a live device in a different video.