DOE sounds extenshion

No problem, it’s just a couple lines (80-90, a good deal of it is boilerplate) of C#.

Works fine for us, we consider the issue “solved”/good enough for now.

I just shared the source with @Dulux_Oz - I wanted confirm with someone that knows something about FG (I know little) and Syrinscape (I know next to nothing) that this isn’t a stupid idea. But if you’re interested and have a way to compile C# code (you shouldn’t run a binary from someone on the internet after all) I can just dump the code into a GH repository or something. Whatever’s easiest for you.

2 Likes

Yeah. We are DEFINITELY gonna get Fantasy Grounds + Online Player going. I’m happy to help out however i/we can! :beers: :pancakes:

1 Like

FWIW: I just dropped the quick hack at https://github.com/darklajid/SyrinscapeTrigger - this is a working solution for us right now. Maybe you can incorporate something similar (potentially … adding some logging/better error handling ¯\_(ツ)_/¯) in the default online player installation?

Using this hack and turning sounds off for all players (they don’t have this thing registered, would otherwise get a “How do you want to open Syrinscape:elements/20/play/” questions) all DOE features seem to work as expected for us - we merely had to change the sound links to replace ‘https://www.syrinscape.com/online/frontend-api/’ with ‘Syrinscape:’ (and configure the personal auth_token in the .exe.config).

3 Likes

I grabbed the sln and compiled. The code looks pretty straight forward and simple. It would be awesome if this could be included with the online player install perhaps? Just tossing the idea out for Benjamin to marinate over.

That being said, Ill give it test run sometime today. Thanks again for sharing.

Sure. It’s a (minimal) hack, there’s nothing weird/special in there I hope.

For a “distributable hack” on this board I could maybe offer a .reg file (easier to verify, doesn’t require to run the binary as admin) and the thing itself.

But obviously it would be best if Syrinscape would provide this. Maybe syrinscape-player: for one (exists) and syrinscape-online: for the other?

2 Likes

Wanna post some good info here that I can show to the dev team?

Also: yay!

1 Like

I think all the info is there already. The dev team seemingly (see Dulux_Oz posts above) already knows how to use/implement a protocol handler, because it is used in the old (“non cloud”) player.

We need the same. This thread has the discussion of everything involved, the Github link above has the full source for the C# solution we’re using. Even if your dev team uses a different stack (?), the code is very short and basically just

  • register protocol handler (Windows registry stuff)
  • when called with a protocol “url”, call Syrinscape Online player api via web request and discard the response

That’s all it seems to take

2 Likes

Love it! :cake::pancakes::beers:

1 Like

Just for the record:

I’m NOT part of the Syrinscape Dev Team.

I’m also NOT part of the Fantasy Grounds Dev Team.

I am, however, one of the Fantasy Grounds Community Devs (& a professional ICT Consultant, for what ts worth) :smile:

1 Like

Blame it on English not being my first language - but what I wanted to say above is: The Syrinscape Devs should already know how to implement a protocol handler like the one I did, because you mentioned that their other player - (never installed it, dk anything about it, I’m clueless) the older one, not the Syrinscape Online one - uses exactly this mechanism to allow integration. Into DOE amongst other things.

Basically I just quoted you for the information you gave above:

hence Syrinscape Devs do know how to do that. Sorry for the confusion.

1 Like

So is this just a little applet to catch the URL call to the syrinscape server and:

  1. instead of opening the default browser
  2. do the page request to our server
  3. throw away the returned info

Correct?

Can we filter out requests that we DO want to go through to the browser, like clicking on the username at the top of the Online Player, or clicking the PIN connect thingy?

1 Like

Kinda. Not quite. This is an application¹ that registers a new protocol (in my code that’s syrinscape: but that’s my own choice).

It doesn’t change anything about the behavior of normal links at all. If you want to go to a user’s profile or anything, you’re talking to https://www.syrinscape.com/online/ and that happens in the browser.

But the DOE links are changed by the GM to point at, say syrinscape:elements/20/play/ for a fireball effect. DOE tells the OS to ‘open’ that, the OS calls the application, the application builds a request to the Syrinscape API and throws the result away, terminating afterwards (no windows pop up). If you keep https links in FG/DOE nothing changes and you get browser popups.

So if you bundle a small tool like this / register a protocol handler during installation, you’d support DOE (and potentially other stuff that works similarly) without changing your current behavior/player at all, for all I can tell.

①: Nitpicking, but applets remind me of a dead Java thing that’s unrelated :slight_smile:

2 Likes

Just want to follow up and say I hope this is something which can be integrated into the player installer. It would be HUGE for Fantasy Grounds folks like myself!

1 Like

Yeah. We are looking at this. :slight_smile:

Something you could turn on or off to catch the calls as required.

Do you know if anything changes in regards to getting the online player integrated with Fantasy Grounds Unity? I guess the real question there is did Smiteworks provide you with Alpha access to be able to look at this ahead of the upcoming public release?

No, SW did not give me alpha access (even though I asked), so I’m waiting for beta access.

But I have serious doubts that Syrinscape Online will work with FGU - the issue isn’t with how FG and/or (suppossedly) FGU work, its how Syrinscape Online works, which is different from how Syrinscape Desktop Works.

Still, we’ll see once I can get access to FGU.

I have been in good commications with the guys at Smiteworks. Making sure integration works well for FGU is something important for both teams. Syrinscape Online works well with FG, and there’s no reason that will change. :slight_smile:

I’m sorry @benjamin, but can you explain to me exactly how “Syrinscape Online works well with FG” - because as far as I am aware, it does not work with the DOE:Sound, which is how the majority of people who use FG and Syrinscape (in an automated way) use the two products - FG=>DOE:Sound=>Syrinscape Desktop (not Syrinscape Online).

I thiiiiiink we can look up above on this thread @Dulux_Oz at the comments by @ben?

No?

We just need to impliment a way of catching the calls rather than opening a browser every time AND change over to the new links.

I thought we had this discussion already?!? :smiley:

Yes, we had - but the Thread is on the DOE:Sound Extension, and the question from @mike1 yesterday was if I had gotten the DOE:Sound working with FGU and with Syrinscape Online - the answer to which, in short, was no, and I added I had doubts because of the issues getting Syrinscape Online working with FG because of the differences oin how Syrinscape Online works compared to how Syrinscape Desktop works.

I also said we’ll have to wait and see.

Your comment - “Syrinscape Online works well with FG” - is, as I pointed out, (to the best of my knowledge) not correct: Syrinscape Online does not work well with FG (and the DOE:Sound) - it doesn’t work at all - this is (as unpalatable as it is for me and, I’m sure, you) an objective fact - unless something has changed in the last couple of months that I’m not aware of - and if something has changed then I’ll be happy to confirm it does now work and promote it heavily both here and on the FG Forums.

Not, if you have proof that Syrinscape works with FG Unity (know as FGU) because you’ve been able to test it out with the Alpha release of FGU, than that’s absolutely fantastic - and I’ll confirm as such as soon as I can get my hands on a copy of FGU myself, but even if that is th case, accidetly misleading your customers in saying that “Syrinscape Online works well with FG” in a DOE:Sound thread is something I have to correct and/or clarify.