So, I’ve been trying to build together a one-shot. Now, I have a specific way I like to have things so they are organized, so its been absolutely frustrating in having to figure out how Syrinscape’s idiosyncrasies are able to be bypassed.
For context, I’m using the Syrinscape Plugin for Foundry VTT through HTTPS. I use a combination of Chrome, Opera GX, and Edge to solve problems with Syrinscape’s problems. I have two computers I’m testing on: computer 1 is the master. Logged in as a GM on Foundry, with Syrinscape logged in as the master. Computer 2 is the client. Logged in as a player on Foundry through Chrome, no other windows.
So far, as I have figured out, there are multiple parts to Syrinscape:
- The Syrinscape Master Interface (/online/master)
- The Syrinscape App Interface (app.syrinscape.com)
- The Syrinscape Foundry API Interface (through foundry as an API Key)
- The Syrinscape direct API (/online/frontend-api)
- The Syrinscape Downloaded Interface (an app you can run on Windows)
Not all of these talk to each other, and some are plain incompatible, depending on the scenario.
Let’s take scenario 1: I’m trying to make a Soundset. If you access the Master Interface, search for an item, and click any audio, it fails. You try to click the Plus symbol, nothing happens. So, if you check the Developer interface, you get a 403 status error that was uncaught, and didn’t notify the user. However, if you try accessing the address (which leads to the direct API), it doesn’t produce a 403 error, it actually plays on the Master Interface.
HOWEVER the weirdness doesn’t stop there. This item that was played by accessing the direct API it played only on the Master Interface. You also cannot stop that, and the stop button does not work to stop the sound from playing. So, if you played a really long music or sound, well, get ready to wait until it is done, or just F5 the entire interface.
Now, how you actually make this work is that you go to the App website, click Start, and then click New Game. Now, you can search for stuff, add it as an element in a Soundset, etc. However, there were no notifications or items that told you this problem.
So, already we have quite a few problems:
- The App Interface does not play to other Interfaces.
- The Master Interface cannot play or import sounds from the Search bar.
- The Master Interface does not produce error messages when problems occur.
- There’s no way to stop a sound that’s been played through the API directly.
- There’s no indication that a sound is playing through the Master Interface.
- When you actually click the + symbol, there is no notification or indication if it did or did not get added as an item, you need to investigate yourself if something happened.
Scenario 2: You’re trying to find a specific sound for a Soundset.
Let’s take this scenario. In one scenario, the players are going to be messing with boxes, and there’s a chance they can drop the boxes, which come crashing to the ground. So, you search Box. However, the search system seemingly is using a fuzzy search algorithm that does not have a sorting that makes sense:
- 3x Box
- 10x Bog
- 1x Zox
- 5x Box
- 2x Nox
- 5x Bog
If I search for “box,” I want box to be at the top. While I can use quotations to make sure that it is a “box,” expected search should be similar to how most search engine searches work: If you search for box, it finds box. If you want to find something similar to a word, you should append ~, which means “like” or “about” or “synonym.” Having items in your search that are not what you searched for makes it incredibly frustrating.
What’s even worse is that if there are more than 100 Elements on your search and you want to continue to find more, there’s no “page 2” button, it just ends with element 100 being half cut off.
Then, if you do find the element, then the add button is kind of confusing.
So, let’s add to the list of things that are problems:
7. Search function uses “like” instead of “exact” by default.
8. There is no Page 2 button.
9. When you click the button, it doesn’t really indicate what happens, or if something didn’t work. It should ask you what do you want to do (add to Soundset, add to selected element, etc.), and it should provide a popup saying the item was successfully imported (or failed in an error).
10. There is no global stop for the Search menu.
Now, let’s move on to figuring out how to play items.
There is very little interface that shows you what exactly is playing if you switch soundsets. There’s no audio waveform underneath Global Volume or OneShot Volume that indicates that is what is playing, and that’s the volume you need to adjust. There’s no text that tells you what is playing. If you want to stop something individually, you have to locate the soundset and stop it there, or you have to stop all sounds.
Finally, there’s interconnectivity.
A reminder, there is three major parts to this system: The Foundry API, the App Interface, and the Master Interface. Both the master and the app interface look exactly the same. However, the app interface plays through the app browser, and not to the master or Foundry API. The Master Interface plays through Foundry API, but not the Master Interface.
You also cannot tell whom Syrinscape is broadcasting to. You just have to have faith that everyone is getting the sound data.
- The app and the master interfaces need to be merged, or at least operate interoperably.
- There needs to be a determination on what Syrinscape is playing to: How many clients, and where its going.
These are 12 frustrating things that made me quite annoyed to even use the interface. While its nothing I can’t work with because I’m a developer and a tester, it probably is annoying for any first-time Syrin users that don’t understand these problems, and how to work around them.
Lastly, I have two ADD things:
13. If I reorder Elements, they should stay in that order, even if I reload the page. If you reorder Elements, the order each category of elements is preserved, but music stays with music, SFX with SFX, and OneShots with OneShots. It annoys the hell out of me.
14. You can’t click on Global OneShots and delete them. I have, so far, been unable to figure out how to delete GOS.