frondeus / fvtt-syrin-control

Syrinscape Online Control plugin for FoundryVTT
MIT License
15 stars 5 forks source link

Search function and/or show Product/Pack #27

Open JamzTheMan opened 2 years ago

JamzTheMan commented 2 years ago

Took me a while to find the mood I was looking for in Foundry. The Online interface shows product_or_pack for the Mood unlike the old installable client which I think showed the older Soundset name. which is what you are also showing in the dropdown?

I had to open the spreadsheet to find that the soundset was ss Part 1&2 (I always hated their short naming scheme).

Anyhoo, being a sub for several years, the collection is VERY large and cumbersome to find what you want.

Another useful idea would be if they let us get our Campaigns via API or in Foundry let us mark sets as Favorites? For instance, while prepping a Pathfinder AP, I'll be using one book, and in Syrinscape that is usually around 6 soundsets. So I only need the moods/elements for these while prepping.

Another alternate idea is to let us search via Remote Control Link so in Syrinscape I find the mood I need, copy the link like https://syrinscape.com/online/frontend-api/moods/506/play/?auth_token=13442someauthtoken1344 and chop off the base URL and parameters and find the match?

image

image

FWIW I was pretty close to cancelling my Syrinscape sub because dealing with it along with Foundry audio was just too much trouble. I'm excited to have my Scenes associated with Syrinscape moods and prep ahead of time! Keep of the good work!!!

JamzTheMan commented 2 years ago

Note: I did just find I can add moods in the playlist so that's nice! But the drop down interface is still just too large to find and scroll.

frondeus commented 2 years ago

About the search function - yes, it is indeed desired feature. I'm working on it :)

What's worth noting - the short name "mon1" etc. is used only in the CSV. So technically in the future when Syrinscape Team fixes the CORS issue you should be able to see "Masks of Nyarlathotep part 1" instead.

Campaign - yes, that would be cool, however, unfortunately the API for campaigns is completely undocumented. I would have to reverse-engineer online control panel.

JamzTheMan commented 2 years ago

Ahh, will have to look into setting up CORS then! I'm hosting via docker on a VPS using traefik and subdomains so not sure what sort of PITA that may be.

I wonder if felddy could incorporate it into his docker image as an option?

https://github.com/felddy/foundryvtt-docker

karpana commented 2 years ago

I'm with you Jamz, the current organization, which is absolutely reasonable, makes it difficult to find moods to use (in my case, I'm only using moods). I'm wondering in addition to (or instead of) the current dual-drop-down box, whether a single combo-search-box would be viable?

In the meantime, because there aren't any existing soundsets for the campaign I'm running, I created a small MS Access App, which has an imported copy of the same CSV I put into FVTT-Syrin-Control, and allows me to "wildcard search" any of the subcategory, product_or_pack, soundset or name columns to try and find a mood that suits my purposes.

Like you, I'm debating whether to move to CORS-based solution is the answer and use the online syrinscape campaign editor to create "drag-and-drop" my sounds is the right answer. For me, I'm not yet using the Felddy's docker container (but I'm close to trying it out), but will probably put the CORS stuff in my docker setup (which happens to not be the server hosting my foundry). I suppose my mileage will vary with this approach.

karpana commented 2 years ago

@JamzTheMan

hey as per @frondeus, in #30, the CORS issue has been resolved on the Syrinscape end, and we can now use the API directly. No new module needed, It Just works! Huzzah!!

I switched over my 4 active campaigns, and in doing so, got a different view of the data soundscape categories and moods, even getting access to some what I think are community soundsets, which is awesome, since i'm running one of the campaigns that has a communityh soundset, and will use it as I transition to this particular Adventure Path's book 6.

A search function is still needed, but for now, at least using the online Syrinscape search function seems to get the same results as shown when using the SyrinControl API-based method.

frondeus commented 2 years ago

@JamzTheMan @karpana I hope you will like this one I just released a pre-release version of SyrinControl which adds UI with simple searching.

https://github.com/frondeus/fvtt-syrin-control/releases/tag/0.4.0-alpha-1

I still plan to extend it by adding categories/subcategories filter.

Note, that this filtering works only for soundsets. Since SyrinscapeAPI does not provide the list of all available moods, I would have to ask server one-by-one and that could cause DDoS. I don't want to do it :)

However, it seems that there is a search capability in the online master panel made by Syrinscape so I might need to reverse-engineer it or ask them for help :)

karpana commented 2 years ago

Oooh. Compatible with 9 series I assume? (I'll check this out shortly)

frondeus commented 2 years ago

With nine yes, I haven't tested it yet with 10.

karpana commented 2 years ago

Finally getting a chance to test this out. I think this is a really good start, if only to quickly sort through the soundsets.

Is there any way that it could also search into the moods?

For example, if I search for "beautiful", it would show (possibly amongst other things) the Flooded Cavern soundset and the This place is so beautiful mood.

I'd be happy with it showing just the Soundsets (but knowing one of them has the word Beautiful in it would be helpful)

The reason, is that sometimes, the mood I'm looking for has a reasonable name in the soundset, and sometimes not.
example... If I'm looking for a vampire battle, I know there's the Fire vampire battle soundset, but I personally also know that at leaste one of the ravenloft soundsets has a vampire mood too (actually I think almost all of the ravenloft soundsets have a vampire related mood)

image

frondeus commented 2 years ago

Well there are two answers. First - not really. Since SyrinControl does not know what moods are inside soundset until the soundset is expanded - i can't return it in search results. I would have to send a request "what moods are in the soundset" per each soundset and that is heavily discouraged by Syrinscape Team.

On the other hand you might have noticed that original app has this functionality! In fact there is an API endpoint to pass search query and it should return soundset if the mood with matching name is in the soundset.

BUT... Unfortunately the endpoint lives not under syrinscape.com/online backend but under syrinscape.com/search . Which suffers from the same issue called CORS . Therefore i need to contact Syrinscape Team about it.

The best i could do right now to search for a mood in soundsets that were already expanded and also probably save in a cache expanded results

frondeus commented 1 year ago

While the basic search functionality has been implemented in 0.4.0, I'm going to keep this task open for a better search using syrinscape.com/search.