Closed DrMcCoy closed 1 year ago
Thank you for suggesting it : I'm working on adding a checkbox for that behavior:
Ok, this is now available in beta releases.
I even extended it to be able to also use 1st level = packs
(and you specify the creator)
See Manifest URLs here : https://www.patreon.com/posts/april-releases-81928148
Nice, thanks! :D
It's maybe a bit off-topic to this issue here, but I have a question about the "indices are now local to the world" bit, because that runs a bit counter to my use-case. But I haven't really considered the clash between a game-local config and a global index, so that change is probably necessary for my request here in the first place anyway. My question is: is the index still stored in custom/index.json (just now, for example, key'd by world id or something)?
Let me explain a bit how I have Foundry set up to get the picture. And sorry for the length in advance.
Because the way I have set up Foundry and Moulinette is maybe a bit "hacky" and unusual. I self-host Foundry on my own little rented server. But I GM a few groups simultaneously, so I run several instances of Foundry (I do have a Foundry VTT license for each). In fact, I currently GM 4 groups, plus I have an infrequent one where I'm the player. Plus I'm already prepping the next campaign for one of the groups. So I have a total of 6 Foundry VTT instances running.
Each instance is their own process, with their own Foundry directory and their own data directory. But I of course don't want my large collections of music and images from Forgotten Adventures , etc. to be duplicated for each instance. So I have those as subfolders in a separate directory and symlink them into the instances. Right now I have symlinked them all as the custom directory of each moulinette module (but I'd like to separate out, for example, music and ambience, hence my request here). That means, that right now, I can just press "Index" in one instance (for each type), and afterwards, I can use the rebuild index in all my instances without reindexing them there. That's pretty useful to me, especially since indexing sounds seems to be pretty slow (*).
With that change to move to a world-local index, I assume I now need to do the indexing process on every instance, I gather? Well, if that's the way, so be it. But I'd prefer if I can just load every single instance, press "Index" on all of them, and then go make myself a cup of coffee or something. If each instance/world indexes into their own index file, that'd be no issue. But if they all index into the same file (just key'd with the world ID), that could lead to problems where one instance overwrites the data of another instance (if they're finished at the same time and write to the file at the same time especially). Then I'd need to press "Index" in one instance, wait for it to finish, move on to the next instance and press "Index" there, etc. That's a bit tedious, I'd rather not do that.
So, TL;DR: are you still writing the index to custom/index.json or does each world index have its own index file?
(*) I have about 7000 files in there, in 55GB. Indexing that in Moulinette Sounds takes 20 minutes. Dunno if that can be sped up?
Thank you for the details and feedback about Moulinette indexing process.
1) The index is now stored in index-mtte.json
. I could re-use index.json
but I wanted to provide a possibility for people to roll-back to older version if needed.
2) You have a pretty advanced setup but it's not unusual. I think and I hope that the way moulinette handles indexing matches your need.
index-mtte.json
) even if each world has it's own configuration. The file acts as a global index for all the worlds. If you have a world with folders A, B and C, and another world with C, D and E, the index will contain A, B, C, D and E. The only disadvantage is that the index never removes old folders unless you use the "clear index" action (which removes everything).
Regarding indexing sounds, this is due to Moulinette accessing each file and extracting the duration. If duration is not important for you, I could implement a configuration to skip that step. It will then be much faster.
Okay, that sounds good, then, thanks!
I played around a bit with the beta now, and yeah, seems to works as intended. Awesome, I'm happy. As far as I'm concerned, this issue can be closed now. :)
Regarding indexing sounds, this is due to Moulinette accessing each file and extracting the duration
Yeah, I suspected as much
If duration is not important for you, I could implement a configuration to skip that step. It will then be much faster
I mean, probably can't hurt to have that switch, yeah. But for me, the duration is important. So I wouldn't disable the duration step, personally.
Latest release 11.+
now include those changes.
I'd like a way to add source paths that behave just like the custom directory, i.e. they consider the first level of subfolders as publisher and the second levels of subfolders as pack.