Lumpik wrote:We also implemented some feature so that every soundfile fot his exact playtime in the config to prevent replays or loops. Don't know if you got that already included in your plugin.
Nop, it's not done in my plugin. It could be but i don't understand why you need to set a duration on each sound.
Why there would be replays / loops you didn't expect ?
I've never tried to send a manialink with a timeout. Setting a timeout prevents this sound to be stopped by another sound ? If so, the next sound will wait the previous sound to finish before playing ?
- I don't remember exactly why we added playtime in ms to the sound config, but i remember it was very important because we had some heavy problems with loops or playbacks in some case and it was very annoying. After we have added playtime, all problems were solved!
- Also after we have added a parameter <blockothersounds>true/false</blockothersounds> to prevent users to skip important sounds (like a server rule sound, or warning, or explanation sound) by just playing an other sound!
- Additionaly we have addded parameter <preload>true/false</preload> to every sound event, so an admin can decide and setup if a file should be preloaded because its important or not, to reduce lag & load on player join if many files are configured.
Here an example configuratin of ONE soundfile:
Code: Select all
<sound>
<event>AdminWarnedPlayer</event>
<url>AdminWarnedPlayer.ogg</url>
<duration>5511</duration>
<preload>true</preload>
<blocktime>0</blocktime>
<blockothersounds>true</blockothersounds>
</sound>
This simple example also shows WHY it is so important for me (and sure for others too), that the sounds are available at the very first play and also are blockable for other sounds. First: In case an admin warns a player because he insults other or broke a server rule, it makes no sense at all if he will NOT hear it at the very first time! I can not warn a player two times jst to get him hear the sound finally

This is just an example, there are many other files which need to be heared on first play. In this case example you also see why it is important why it needs a blockothersound-variable, as this sound of 5511ms does not have to be interupted by another sound.
Lumpik wrote:About the preload option, if i understand your sources, when a player connects or when the plugin initializes, you send to the player (or each player) a ManiaLink which contains all sounds you have but it will last only 10ms ?
So if the player didn't have the sounds, he will download them. And if he already had them, he will download nothing but he'll receive something (all sounds at the same time ?) during only 10ms. That's right ?
i guess so, havn't had a look into the code several years

But basically yes. If a player joins, he will preload every soundfile and also every loadscreen (preload was also implemented in our loadscreen plugin) into his cache. So everything is instantly available if called/used. Of course. If a player joins the server the very first time (or if he cleared his cache manually), he will have a heavy load for some seconds while preloading, but then 100% of all problems are solved. No more loops of sound, no more lag during game because player need to load soundfile on event and of course ever sound was available and hearable already on 1st play!
Lumpik wrote:I would like to see why preloading is so important to you. And maybe you'll give me some new ideas during this presentation

So add me on Shootmania please yamyam : skapik.
I already showed you on the above example why it is so important to me. I also just sent you my whole sounds config file with about 185 sound events on i have on our shootmania servers! Please check your private messages.
While checking the config and sound events, and while hearing the sounds, you will understand why preloading and blocking is so much important in my case. All configed soundfiles are still available so you can listen to them. Please keep the config file and sounds destinations confidential and secret as we have invested a lot of money into all 185 event-sounds. If you hear them, you know why.
I have added you on Maniaplanet

But you will currently see me most time busy at work on our "new" shootmania server, which will be not available for public until im done.
kremsy wrote:But I don't see the big problem in the Sound Manager as you get it anyway the second time the sound get sent, so it makes not really sence to preload, you miss it maximum one time.
Right, and thats (in some of my cases) exactly one time too late.
undef.de wrote:
But it can lag in this case when the client has to get files the first time on a "headshoot" or whatever. The best solution is to preload.
That is 100% correct!
Chris92 wrote:Preload is the best idea.
That is 100% correct!
Lumpik wrote:
Of course you can ask me new features ! My wish is to have the best Sounds plugin ever in ShootMania

Just ask on this thread and i'll write in my TO DO list.
Lumpik, you need to be honored to have such a great goal and thanks for all your efforts. But your goal is reached very fast and easy: Just "copy" the SMART sound plugin with all its features and options and you will have the best sound plugin possible for shootmania. Trust me, vni and me invested 2012 several hundred hours, if not even thousands, to make SMART as excellent as it was, including the sound events and plugins. It had all everyone would need to make dreams true and i had it running oin several server for several months in full stress mode and under heavy load scenarios, all working proper and perfect! ... So if you wanna have the perfect and best working sound plugin, as simple as it sounds, make it 100% identical to the SMART sound plugin ... goal reached
I had some work to do and had some delay in server work, so i hadnt time yet to install and config your plugin. Maybe it already can do what i wish, or most of it (excluding preload function and block feature). But i will start soon, probably this night. so i can give you first feedback and constructive input this night or tomorrow. Maybe you learn some german and join our teamspeak server, would make it easier and faster and more comfortable to work together
