Skip to content

Guide: How to Control CasterSoundboard Using Your Phone or Tablet

Oscar Cerna-Mandujano edited this page May 16, 2017 · 15 revisions

Guide: How to Control CasterSoundboard Using Your Phone or Tablet

Due to the inclusion of Open Sound Control (OSC) support into CasterSoundboard, you can now control your soundboards remotely by using an app on a smartphone or tablet that supports two-way OSC communication over a network.

For this guide, I focus on only one app. Namely, TouchOSC because of it's highly customizable user interface and low cost to purchase (about 5 USD).

Step 1: Purchase TouchOSC

You can buy TouchOSC for iOS or Android. All versions of the app are universal and will run on phones or tablets, so you only have to buy it once.

Android (Google Play Store): https://play.google.com/store/apps/details?id=net.hexler.touchosc_a

Android (Amazon App Store): https://www.amazon.com/gp/product/B00GN83WHQ

iOS (Apple App Store): https://itunes.apple.com/app/touchosc/id288120394

Step 2: Download the Free TouchOSC Layout Editor

Next, you will need to download the layout editor. Even if you plan on using a pre-made layout instead of creating your own, you still need to use it because it's the only way to send layouts to the ToucOSC app. The editor is a Java application, so it will run on any operating system including any Linux distro. Obviously, make sure you have the Java run-time for your platform installed prior to running the application.

Download the version of the editor for your OS from the developers website/product page and scroll to the bottom in the downloads section:

https://hexler.net/software/touchosc

Step 3: Get Familiar with the Editor

Showing you how to use the editor is beyond the scope of this guide. Please, read the manual for the editor or watch tutorials on how to use it.

Here's a decent beginner tutorial on YouTube:

https://www.youtube.com/watch?v=Dq8rzOS1RnI

Here's the documentation for the editor on the developer's website:

https://hexler.net/docs/touchosc-editor-basics

Here's the manual for the iOS/Android App:

https://hexler.net/pub/touchosc/touchosc-manual-v1-1.pdf

Step 4: Creating a Layout

Now that you know, more or less, how to use the editor, I will show you what UI elements to use and how to configure them to work with CasterSoundboard. It's strongly recommended that you read the documentation for the OSC two-way api, so you can more easily follow along with the next part of the guide:

https://github.com/JupiterBroadcasting/CasterSoundboard/wiki/OSC-Two-Way-API-Documentation

OSC Addresses

Here is a screenshot to show you where to write all OSC addresses in the editor.

Controlling Playback Behavior

In order to create buttons that toggle a player's play-state on a soundboard, you need to add a Push Button in the editor, choose the OSC tab, then un-tick the checkbox named auto and write the following in the textbox that just became enabled.

OSC ADDRESS

/cbp/1/m/p_s/resume_pause

This will make the push button toggle between pausing and playing on the player that reacts to pressing 1 on the keyboard, otherwise, known as player 1.

To control player W, for example, you would write:

OSC ADDRESS

/cbp/W/m/p_s/resume_pause

To make player W toggle between stopping and playing from the beginning instead, you would write:

OSC ADDRESS

/cbp/W/m/p_s/play_stop

Now simply repeat this process for each player on the soundboard. All player names are listed here for your convince:

1 | 2 | 3 | 4 | 5 | 6 | 7 | 8
Q | W | E | R | T | Y | U | I
A | S | D | F | G | H | J | K
Z | X | C | V | B | N | M | ,

From here on out, instead of referring to a particular player by name, I will simply write <player-name> to refer to any player name listed above. The previous commands would be written as:

/cbp/<player-name>/m/p_s/resume_pause

and

/cbp/<player-name>/m/p_s/play_stop

Where you replace <player-name> with one of the player names:

<player-name> :

1 | 2 | 3 | 4 | 5 | 6 | 7 | 8
Q | W | E | R | T | Y | U | I
A | S | D | F | G | H | J | K
Z | X | C | V | B | N | M | ,

Controlling the volume

To control the volume of a particular player, you need to add a fader to layout. It's recommend to use the Fader H component.

OSC address:

/cbp/<player-name>/m/vol

Repeat for each volume slider on the rest of the players

Controlling Track Position

To control the track position of a particular player, you need to add a fader to layout. It's recommend to use the Fader V component.

OSC address:

/cbp/<player-name>/m/t_p_p

Repeat for each track bar on the rest of the players

Toggle Looping

To turn looping on or off on a particular player, you need to add a Toggle Button to layout.

OSC address:

/cbp/<player-name>/m/l_s

Repeat for each of the players

Display play-state of player

Add a Label V to layout.

OSC address:

/cbp/<player-name>/m/label/p_s

Repeat for each of the players

Display track title of player

Add a Label V to layout.

OSC address:

/cbp/<player-name>/m/label/tr_name

Repeat for each of the players

Display track position and time remaining of player

Add a Label V to layout.

OSC address:

/cbp/<player-name>/m/label/time

Repeat for each of the players

Stop all soundboards at once

Add a Push Button to layout.

OSC address:

/glo/m/all_p_s/stop

Toggle audio ducking

Add a Toggle Button to layout.

OSC address:

/glo/m/audio_d_s

Switch to next tab

Add a Push Button to layout.

OSC address:

/glo/m/current_tab/next

Switch to previous tab

Add a Push Button to layout.

OSC address:

/glo/m/current_tab/prev

Display current tab name

Add a Label V to layout.

OSC address:

/glo/m/label/tab_name

Force CasterSoundboard to update your UI

Add a Push Button to layout.

OSC address:

/glo/sync

Step 5: Adding Your Layout to Your Device

Once you have finished creating your layout, or if using a pre-made one, start-up the sync server in the editor.

Then go open TouchOSC on your phone or tablet and download it from your editor server.

It's much easier to see it done in a video, so please watch this YouTube video to see how to sync your layout to your device:

https://www.youtube.com/watch?v=VrTyyfZIkB8

Step 6: Starting up the OSC server in CasterSoundboard

Finally, you need to start the OSC server in CasterSoundboard. In the top toolbar in CasterSoundboard, click the button with the icon of a piano on it to open the server configuration dialog.

You will be greeted with this dialog screen:

Under the section called Outbound Traffic, enter the IP Address of your device running TouchOSC. Then enter the Port Number of the device running TouchOSC where CasterSoundboard can send OSC messages to. The default port is set to 9000.

Under the Inbound Traffic section, CasterSoundboard's server IP address is listed to the left and it's Port number is listed on the right. The default is port 5051. Change the port number if port 5051 is already in use. Then start the server by pressing the start button.

In the TouchOSC app, under it's settings, enter CasterSoundboard's IP and Port number.

Once you have done all this, you should be able to control CasterSoundboard via the app.

Here is an example I made for a Galaxy Tab 4 (10.1 inch) tablet:

You can find this layout in the repo.

Final Remarks

As you can see, it's a lot of work to create layouts, so wouldn't it be nice if a layout already existed for your device? If you would like to contribute a layout, please make a pull request with your layout placed in the TouchOSC-Layouts folder of the repository. Please name the layout according to the device it's for or the screen resolution it's designed work with, followed by your name or some nick-name.

Example Filenames

1280x800_some_dude.touchosc
iPhone6s_john_doe.touchosc

If you have any questions, please feel free to use the issue tracker in the repo.