Syrinscape ProTip #22-Activating Syrinscape Soundsets using an Xbox360 Controller


#1

I’m a proud Pathfinder GM, and have had the opportunity to GM for a great bunch of friends for the last 18 or so months. As I’ve found my cadence as a GM, and figured out what things work for me, and what things don’t, I’ve made changes to my setup.

It started out innocently enough when I switched from hand-drawn maps to computer-printed maps (and the plethora of 11x17” sheets of paper being cut and taped back together). It later evolved from these printed maps to using a 49” LCD TV as my map surface.

My current focus has been on thematic music at the gaming table, and it’s something I’ve always struggled with, because of all the bits of software I have running on my laptop while I’m running a session:
• Herolab (which I use for custom stat blocks)
• Realmworks (which I use for session flow as an over-glorified flowchart)
• Windows Media Player (for music)
• Syrinscape Fantasy Player
• Syrinscape SciFi Player
• Adobe Acrobat (for scenario and rulebook PDFs)
• Chrome (for access to the wonderful rules repositories that are easily searched online)
• Numerous spreadsheets for tracking various things
• Numerous text documents for recording session progress (for session summaries)
• etc…

But as fate would have it, I seem always seem to forget to change the music (which is just a Windows Media Player playlist) to the appropriate sound track for the scene, or activate the appropriate soundscape in Syrinscape. I even went so far as to simplify it to two lists – one for “battle” and one for “atmosphere”. And even then I’ve been forgetting to switch over to Windows Media Player and changing playlists.

So where does Syrinscape fit into all this? The short answer is, that it hasn’t quite fit into my setup yet, but that’s all about to change. I’m hoping that during my next session, I’ll be able to simplify my ability to change lists, without having to mess up the arrangement of all my screens.

And this will all be done through the use of an Xbox360 controller.

Things/Software I used to make this work

• 1 spare XBox360 wireless controller. Any windows compatible game controller should work as well
• Windows adapter for XBox360 wireless controller. I purchased this one from Amazon (https://goo.gl/xQonRq)
http://xpadder.com This little gem of software only cost me $10.99 CAD, and allows the Xbox360
controller to issue “Keyboard commands”
http://autohotkey.com This gem converts the “Keyboard commands” into executable tasks that windows
can understand

Step 1) Get the Game Controller configured, recognized by your operating system

I’m not going to go through the details of this step, as each adapter, contoller and each operating system is somewhat unique, and will present its own challenges. My biggest hurdle was getting the game controller adapter to be recognized by Windows 10.

Once you get through this step, the rest is reassuringly easy! To confirm that your game controller is working, in Windows 10, open up the “Game Controllers” control panel, click on the properties button, and make sure that the buttons/actions you issue are presented correctly.

Step 2) Purchase, Download and Install Xpadder
• Browse to http://xpadder.com and follow the instructions on the website to purchase a copy of the software.
• Once you’ve purchased the software, a download link will be sent to you
• Download the software
• Install the software

Step 3) Start and configure Xpadder
• The first part of setting up xpadder is to determine how many buttons on your gamepad you’ll want to use. In my case, I only want to use the A, B, X and Y buttons
• In the xpadder app, click on the little game controller button on the top left, and click “New”, which will open a second window. I place these side by side to work with easier.

• From here, use the click on the “buttons” entry on the left side, where the Xpadder will instruct you to press the buttons you want to be setup, in my case, I want A, B, X & Y, so I have pressed these, giving me a screen that looks like this:

• With the four buttons ready to be assigned, (remember which order you pressed these in), you can now close the left hand screen, leaving just the main Xpadder window. I now have the four buttons I pressed, in the order I pressed them, ready to be configured.
• Click the first button (which in my case is “A”) on the xpadder screen, and it will give you a screen similar to this, where I can configure the hot key combination I want xpadder to issue (as though I had pressed them myself).

• On this “virtual keyboard”, I’m going to press the keyboard combination I want to use, CTRL-ALT-SHIFT-A. As I press the A button, the keyboard closes, leaving me with the xpadder screen now looking like this, which shows that I’ve assigned CTRL-ALT-SHIFT-A to the a button of my game controller

• I’m going to repeat this for the other 3 buttons assigning CTRL-ALT-SHIFT-B, CTRL-ALT-SHIFT-X and CTRL-ALT-SHIFT-Y respectively. These “Hot keys” were specifically picked because I don’t think they’ll interfere in any way with Windows. With all of these hotkeys set, the screen now looks like this:

• From here, we can now save our configuration, using the “Save as button” on the left side to save the base configuration of the controller (little game controller), and second time (the little document in the middle) for the specific hot key settings I’ve setup.
• The last step is to have windows autostart this application on start up, and this can be done using the small wrench at the top right (next to the question mark), this gives this screen, where I’ve selected “Start with windows” and “auto open last used profile”

• Click OK on the settings screen, and minimize the xpadder screen (which will shunt the app to your system tray)
Step 3) Download and Install AutoHotKey
• Browse to https://autohotkey.com/ and follow the instructions on the website to download the software
• Install the software

Step 4) Start and configure AutoHotKey

• The AutoHotKey application is a bit odd, in that when you start it, it gives you a helpscreen that gives you all the instructions on how to create an AutoHotKey Script and start it.
• I’ll shortcut the learning curve a bit for you, and just walk through the steps I needed to get a script to work

  1. In a folder of your choosing, Right-click, select “New”, click on “AutoHotKey Script”

  2. This will create a text file called “New AutoHotkey Script.ahk”, which you can rename to whatever makes sense to you, mine is called “RPGs Launch Music.ahk”

  3. Open this file up in your favourite text editor (Notepad, which comes with windows works well, I prefer an app called TextPad.

  4. This file will contain a few lines of pre-written code. Just leave this stuff at the top of the file and add a new line to the bottom. My file looks like this:

    #NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
    ; #Warn ; Enable warnings to assist with detecting common errors.
    SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
    SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.

    ^!+A::
    run, “c:\playlists\Curse of the Crimson Throne (Atmosphere).wpl”
    Return

    ^!+B::
    run, “c:\playlists\Curse of the Crimson Throne - Combat.wpl”
    Return

    ^!+X::
    run, “syrinscape-fantasy:moods/YmFyZ2hlc3QtYmF0dGxlOjpBbmdyeSBCYXJnaGVzdA/play/”
    Return

  5. What does this all mean/do?
    When CTRL-ALT-SHIFT-A is pressed, run “c:\playlists\Curse of the Crimson Throne (Atmosphere).wpl”, which autostarts windows media player (my default application) and plays the playlist

When CTRL-ALT-SHIFT-B is pressed, run “c:\playlists\Curse of the Crimson Throne - Combat.wpl”, which autostarts windows media player (my default application) and plays the playlist

When CTRL-ALT-SHIFT-X is pressed, run “syrinscape-fantasy:moods/YmFyZ2hlc3QtYmF0dGxlOjpBbmdyeSBCYXJnaGVzdA/play/”, which a special URL you can get from Syrinscape (see next step) which will run the specified “mood” in sysrinscape.
6) Where do I get the URL for the syrinscape mood?
Just follow the instructions here: https://syrinscape.com/3rd-party-app-integration/

Step 5) Test it all out

• After saving your .ahk file, go back to the folder, right click on the file and click “Run Script”. A new icon will show up in your system tray (Looks like a letter “H”), indicating your script is running.
• From here, you can issue direct keyboard commands, eg. CTRL-ALT-SHIFT-A, and make sure things start up correctly
• Once that’s been confirmed, use the buttons on your game controller to make sure things are working from there too!


#2

Great post! I was going to modify SyrinScAPP - Remote triggering URI's with imagery onto a screen/TV to take input from joysticks/gamepads but I dont need to now :smile:

Excellent work


#3

Thanks Pyrocam.
I hadn’t even seen your post… but it does have me thinking bigger picture (pardon the pun).

I do have an app I wrote (VB.NET) that lets me display pictures on the big TV at the end of the table (that’s my 58" plasma) where I can show encounter creatures, or scenery relevant to the current encounter. It’s usually controlled from my laptop where I can see the image, and control when it gets displayed.

But as with everything else…it’s the remembering to “switch to this app, and do this”, and then “switch to that app, and do that”, and then “switch to this other app, to do yet something else”.

Don’t get me wrong… table top RPGs isn’t about the technology at the table, but I do find that the use of technology has enhanced my games significantly.

To this end, I’ve been spending a lot of time noodling around with Raspbery Pi Zero W’s lately, and have been thinking about making a 12, 24 or even 36 button box based Adafruit’s “bluelive” … https://learn.adafruit.com/bluelive studio switcher…but I had been thinking of it as a large “button box, to have a lot of different soundscapes setup”, I never thought to combining the soundscape switching with the picture switching…

Now you’ve seriously got my noodle ticking…


#4

I’m gonna check out your app “for sure” and get my ticker around how I might be able to make use of it…
seems like it should be pretty easy to slip into my setup and do more automation.


#5

If you are interested. I would be willing to add joystick input and share the source code (its not well documented sorry)

then you wont need to purchase or install any other apps. single app will do all :smile:


#6

Fantastic write up @ptrudel! Thanks for taking the time to do it up :smile:

Great looking set up as well by the way, it looks sweet!


#7

it’s a decent idea @pyrocam.
I"m in the process of reworking my “at table integration”, working towards doing away with the joystick/gamepad and moving towards a button-box (not unlike the BlueView that Adafruit made, although on a smaller scale.

i’m sure others would appreciate gamepad support in your solution though.


#8

Thanks @Steve. My setup evolves with how I prep and works for my players, this particular setup has been about 2 years in the making and is continually evolving.