-
Notifications
You must be signed in to change notification settings - Fork 17
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).
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
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
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
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
Here is a screenshot to show you where to write all OSC addresses in the editor.
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 | ,
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
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
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
Add a Label V to layout.
OSC address:
/cbp/<player-name>/m/label/p_s
Repeat for each of the players
Add a Label V to layout.
OSC address:
/cbp/<player-name>/m/label/tr_name
Repeat for each of the players
Add a Label V to layout.
OSC address:
/cbp/<player-name>/m/label/time
Repeat for each of the players
Add a Push Button to layout.
OSC address:
/glo/m/all_p_s/stop
Add a Toggle Button to layout.
OSC address:
/glo/m/audio_d_s
Add a Push Button to layout.
OSC address:
/glo/m/current_tab/next
Add a Push Button to layout.
OSC address:
/glo/m/current_tab/prev
Add a Label V to layout.
OSC address:
/glo/m/label/tab_name
Add a Push Button to layout.
OSC address:
/glo/sync
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
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.
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.