Parallax Panda

Veteran
Veteran
Joined
Oct 29, 2015
Messages
1,095
Reaction score
1,338
First Language
Swedish
Primarily Uses
RMMV
Right... how dumb of me. :kaoswt: Of course. Here you go:

eXsMHee.png
 

OcRam

Servant of the Universe
Veteran
Joined
Aug 2, 2016
Messages
770
Reaction score
893
First Language
Finnish
Primarily Uses
RMMZ
Right... how dumb of me. :kaoswt: Of course. Here you go:

eXsMHee.png
Now I got it!

This error occurs only if SE is forced. So <aex:d:25:0:false:default_trigger> to all SE commands will work, but I'll fix this bug to next version.

EDIT: Thank you for the report and it is not obvious to take screen shot from console tab if you don't do JS much ;)

EDIT2: @Parallax Panda I have now fixed this and updated Terms of Use to follow forum rules and law.
 
Last edited:

Ace of Spades

Veteran
Veteran
Joined
Jan 19, 2017
Messages
162
Reaction score
240
First Language
English
Primarily Uses
Hey OcRam, thanks for another quality plugin! One suggestion: Would it be possible to adjust volume levels of BGS2 and BGS3 based on the BGS volume level selected from the Options Menu? Right now there's no way for the player to mute or lower the environmental or weather BGS layers from the menu.
 

OcRam

Servant of the Universe
Veteran
Joined
Aug 2, 2016
Messages
770
Reaction score
893
First Language
Finnish
Primarily Uses
RMMZ
Hey OcRam, thanks for another quality plugin! One suggestion: Would it be possible to adjust volume levels of BGS2 and BGS3 based on the BGS volume level selected from the Options Menu? Right now there's no way for the player to mute or lower the environmental or weather BGS layers from the menu.
Thank you for the great idea!

I'll see what I can do.
 

Anyone

Veteran
Veteran
Joined
Aug 24, 2019
Messages
257
Reaction score
353
First Language
German
Primarily Uses
RMMV
Currenly, when using a dynamic event BGS, the distance not only affects the volume but also which speakers are used.

Would it be possible to add a command that ensures that the dynamic event bgs does not limit itself to one speaker but only changes in volume?
In a top-down RPG with just two speakers, it's odd, at least to my ears, when proximity is simulated through more than the volume level.
 

OcRam

Servant of the Universe
Veteran
Joined
Aug 2, 2016
Messages
770
Reaction score
893
First Language
Finnish
Primarily Uses
RMMZ
Currenly, when using a dynamic event BGS, the distance not only affects the volume but also which speakers are used.

Would it be possible to add a command that ensures that the dynamic event bgs does not limit itself to one speaker but only changes in volume?
In a top-down RPG with just two speakers, it's odd, at least to my ears, when proximity is simulated through more than the volume level.
Thank you for the message,

Have you tried bg type? <aex:bg:...what ever other params...> bg type shouldn't effect speaker panning.
 

Anyone

Veteran
Veteran
Joined
Aug 24, 2019
Messages
257
Reaction score
353
First Language
German
Primarily Uses
RMMV
Thank you for the message,

Have you tried bg type? <aex:bg:...what ever other params...> bg type shouldn't effect speaker panning.
Yeah, but BG is also map-wide, right? At least the river I've got on the map can be heard from anywhere.

I'd like to use a dynamic event BGS on, say, a campfire. As you get closer, it gets louder, except it shouldn't switch off the Speaker of the other direction and imitate surround sound.
 

OcRam

Servant of the Universe
Veteran
Joined
Aug 2, 2016
Messages
770
Reaction score
893
First Language
Finnish
Primarily Uses
RMMZ
Yeah, but BG is also map-wide, right? At least the river I've got on the map can be heard from anywhere.

I'd like to use a dynamic event BGS on, say, a campfire. As you get closer, it gets louder, except it shouldn't switch off the Speaker of the other direction and imitate surround sound.
Ok now I got it :)

Yes BG type can be heard anywhere on map with same volume level.

I'll think about adding "disable panning" parameter to "aex" notation.

EDIT: Thinking time is over - I'll do it ;)
 

Anyone

Veteran
Veteran
Joined
Aug 24, 2019
Messages
257
Reaction score
353
First Language
German
Primarily Uses
RMMV
Ok now I got it :)

Yes BG type can be heard anywhere on map with same volume level.

I'll think about adding "disable panning" parameter to "aex" notation.

EDIT: Thinking time is over - I'll do it ;)
Awesome. :D
I've tested this plugin to see whether it adds the functionality we need for our commercial project (currently ******* based), and with the panning being optional, it'll have everything I can think of.

It's really liberating how you can finally have multiple BGS playing, which allows much more complex sounddesign. An incredibly helpful plugin. Well worth paying for a commercial license.
 

Anyone

Veteran
Veteran
Joined
Aug 24, 2019
Messages
257
Reaction score
353
First Language
German
Primarily Uses
RMMV
I've got a second request:

Could you add greater flexibility when it comes to event-based x/y/d commands?

Right now, from how I understand it, the plugin picks the xy coordinates and then calculates the distance from there.

Could you add additional functionality that allows you to create a zone larger than a single tile for the maximum sound effect and the distance calculation? Or the ability to set an index to a sound emitter and override it via a different emitter? (Leaving BGS2&3 untouched, so they can be dedicated to weather sounds)

Example problem:
There's a river flowing across the map and not in a straight line.
Right now, you'd have to create multiple sound events to cover the correct areas, but doing so is problematic because every new sound event will create sound overlap due to the sounds coming from different sources. And if you use too few emitters, broad sound areas will seem off because the volume level will vary based on the distance even though the area itself is so large that no volume change should happen.
(Like a lake, for example. If you put the emitter into the middle of the lake, the sound will be lower in volume at its edges, even though it's still at the lake and should have the same volume level)

There's a couple of things I imagine would help:
1. Instead of using the base xy coordinate of the event, the calculations are done based on a range.
Example:
<aex:dr:5,3,3:2:true:forced>
dr would activate a dynamic range, which then will check for additional parameters in the next entry and detect 3,3 which give the number of tiles the full volume emitter zone should be extended.
In this case, the area in a 3 tile radius around the emitter will have full volume and all distance based volume calculations & adjustments only follow after.

Something like <aex:dr:5,3,15:2:true:forced> would cover a large area of up to +-3 tiles on the x coordinate and +-15 tiles on the y coordinate.

Additionally, commands like dr+ and dr- could be used to force the emitter to draw the box only into one direction. (+, extending the emitter only from left to right and downwards, while - does the reverse, just as the xy coordinates on the map work)

2. Allowing the emitter to be based off specifically designated tiles.
Example:
<aex:dt:5:2:true:forced:3,6;4,5;4,6;4,7;5,6>
dt forces the command to use as base tiles the nearest of any of the tiles specified after the last forced command. This may be tedious for large areas, but it allows one to be very precise in the emitter area.

3. Linking an emitter to an index.
Example:
<aex:di[3]:5:2:true:forced>
di links the emitter to the index in brackets, in this case [3]. Only one indexed emitter can only ever play sound and the nearest one is always picked.
So if two di[3] emitters are near each other, the closest one will play its sound, the other will be silent.

--------------------------------------------------------------------------------------

Also, I think I found a bug.
The plugin command stop_bgs2 isn't working.
stop_bgs3 works as intended, but for some reason, the stop_bgs2 neither works, nor is it (in debug mode) even registered in the console.
 
Last edited:

OcRam

Servant of the Universe
Veteran
Joined
Aug 2, 2016
Messages
770
Reaction score
893
First Language
Finnish
Primarily Uses
RMMZ
I've got a second request:

Could you add greater flexibility when it comes to event-based x/y/d commands?

Right now, from how I understand it, the plugin picks the xy coordinates and then calculates the distance from there.

Could you add additional functionality that allows you to create a zone larger than a single tile for the maximum sound effect and the distance calculation? Or the ability to set an index to a sound emitter and override it via a different emitter? (Leaving BGS2&3 untouched, so they can be dedicated to weather sounds)

Example problem:
There's a river flowing across the map and not in a straight line.
Right now, you'd have to create multiple sound events to cover the correct areas, but doing so is problematic because every new sound event will create sound overlap due to the sounds coming from different sources. And if you use too few emitters, broad sound areas will seem off because the volume level will vary based on the distance even though the area itself is so large that no volume change should happen.
(Like a lake, for example. If you put the emitter into the middle of the lake, the sound will be lower in volume at its edges, even though it's still at the lake and should have the same volume level)

There's a couple of things I imagine would help:
1. Instead of using the base xy coordinate of the event, the calculations are done based on a range.
Example:
<aex:dr:5,3,3:2:true:forced>
dr would activate a dynamic range, which then will check for additional parameters in the next entry and detect 3,3 which give the number of tiles the full volume emitter zone should be extended.
In this case, the area in a 3 tile radius around the emitter will have full volume and all distance based volume calculations & adjustments only follow after.

Something like <aex:dr:5,3,15:2:true:forced> would cover a large area of up to +-3 tiles on the x coordinate and +-15 tiles on the y coordinate.

Additionally, commands like dr+ and dr- could be used to force the emitter to draw the box only into one direction. (+, extending the emitter only from left to right and downwards, while - does the reverse, just as the xy coordinates on the map work)

2. Allowing the emitter to be based off specifically designated tiles.
Example:
<aex:dt:5:2:true:forced:3,6;4,5;4,6;4,7;5,6>
dt forces the command to use as base tiles the nearest of any of the tiles specified after the last forced command. This may be tedious for large areas, but it allows one to be very precise in the emitter area.

3. Linking an emitter to an index.
Example:
<aex:di[3]:5:2:true:forced>
di links the emitter to the index in brackets, in this case [3]. Only one indexed emitter can only ever play sound and the nearest one is always picked.
So if two di[3] emitters are near each other, the closest one will play its sound, the other will be silent.

--------------------------------------------------------------------------------------

Also, I think I found a bug.
The plugin command stop_bgs2 isn't working.
stop_bgs3 works as intended, but for some reason, the stop_bgs2 neither works, nor is it (in debug mode) even registered in the console.
Thank you for the great ideas (and bug report, will be fixed in next version)!

I'm sure some of these ideas will be seen in next version of this plugin! :kaojoy:
 

Ace of Spades

Veteran
Veteran
Joined
Jan 19, 2017
Messages
162
Reaction score
240
First Language
English
Primarily Uses
Thank you for the great idea!

I'll see what I can do.
Thank you for taking a look. One other bug to report; if the player tries to adjust the BGM volume from the Options Menu, the BGM will abruptly stop. Also, if player has BGM volume set to 0%, or lower than the default setting, the BGM will always play full volume when starting the game, regardless of what setting is selected from options.
 

Anyone

Veteran
Veteran
Joined
Aug 24, 2019
Messages
257
Reaction score
353
First Language
German
Primarily Uses
RMMV
Thank you for the great ideas (and bug report, will be fixed in next version)!

I'm sure some of these ideas will be seen in next version of this plugin! :kaojoy:
Great, looking forward to it!

An addendum to the bug report:
The problem doesn't seem to be with stop_bgs2 itself, but something about the way the plugin command is called or the commands work.

I've switched the plugin commands inside the event for called common events that execute the plugin commands.
So instead of using "stop_bgs2" I call common event x that consists solely of the plugin command "stop_bgs2" and the same for bgs_3.
Now the role oddly is reversed. stop_bgs2 works, stop_bgs3 doesn't (but is detected in the console)

I hope that helps narrow down the problem, because it sure seems like an odd one.
 

OcRam

Servant of the Universe
Veteran
Joined
Aug 2, 2016
Messages
770
Reaction score
893
First Language
Finnish
Primarily Uses
RMMZ
Thank you for taking a look. One other bug to report; if the player tries to adjust the BGM volume from the Options Menu, the BGM will abruptly stop. Also, if player has BGM volume set to 0%, or lower than the default setting, the BGM will always play full volume when starting the game, regardless of what setting is selected from options.
Noted and thank you for the report!

Great, looking forward to it!

An addendum to the bug report:
The problem doesn't seem to be with stop_bgs2 itself, but something about the way the plugin command is called or the commands work.

I've switched the plugin commands inside the event for called common events that execute the plugin commands.
So instead of using "stop_bgs2" I call common event x that consists solely of the plugin command "stop_bgs2" and the same for bgs_3.
Now the role oddly is reversed. stop_bgs2 works, stop_bgs3 doesn't (but is detected in the console)

I hope that helps narrow down the problem, because it sure seems like an odd one.
Noted and thank you for the report!

I will now start Audio_EX v2.00 -project.
 

Anyone

Veteran
Veteran
Joined
Aug 24, 2019
Messages
257
Reaction score
353
First Language
German
Primarily Uses
RMMV
Noted and thank you for the report!


Noted and thank you for the report!

I will now start Audio_EX v2.00 -project.
I've done some more testing, created a much more detailed bug report for the issue I've mentioned...only to notice that I'm an idiot.

There seems to be no bug with the stop_bgs2. I've simply not noticed that when duplicating entries for a second event, I still had the bgs linked to bgs2 instead of bgs 3. That's why one bgs didn't get switched off.
I've fixed it, and now everything works.

So yeah, right now, no bug.

It does leave me utterly stumped how the original "bug" came to pass, though.
Since both wind and rain were mistakenly linked to the same bgs2, they should never have played at the same time...yet they did?
Testing right now confirms that only one bgs can play in the dedicated slots...so I have no idea how I ever had both sound effects at the same time when I'd messed up the commands.

Similarily, since the mistake was in me messing up calling the wind as bgs2 instead of bgs3 as it should have been...how on earth was the mistake originally that stop_bgs2 wasn't working, when that track did actually have a bgs assigned to it?

So I'm really confused.
Even though I called both BGS by accident as Bgs2, the first time around both sounds were actually playing despite this and it was stop_bgs2 that wasn't working. Then I turned the plugin commands to common event calls that contained those plugin calls, and then stop_bgs3 wasn't working. Then I switched of all plugins except yours and only then noticed that wind and rain shared the same dedicated bgs2...
And once I fixed that, everything now works?

Like I said, no idea how the original issues even came to exist like that, but right now, everything works again. So not sure if there is a problem or if it was just me messing up the plugin commands & causing some odd things to happen that otherwise can't occur.

EDIT: My original suspicion was that the plugins were having issues when other plugins calls happen earlier. But this now seems to be no issue. The event pictures of the original bug report I'd intended before I noticed my mistake are still attached, maybe they might be useful it there is an issue somewhere that only popped up under these odd circumstances.
Still, I wouldn't spend too much time looking into it, since right now it works. Might be useful in the future though.
 

Attachments

  • test.png
    test.png
    205.2 KB · Views: 7
  • no rain.png
    no rain.png
    193.4 KB · Views: 6
  • wind off.png
    wind off.png
    188.5 KB · Views: 7

Parallax Panda

Veteran
Veteran
Joined
Oct 29, 2015
Messages
1,095
Reaction score
1,338
First Language
Swedish
Primarily Uses
RMMV
Question: Can this plugin help with fading IN BGM's as well? The engine allows us to fade out music but not the other way around unfortunately.
 

OcRam

Servant of the Universe
Veteran
Joined
Aug 2, 2016
Messages
770
Reaction score
893
First Language
Finnish
Primarily Uses
RMMZ
Question: Can this plugin help with fading IN BGM's as well? The engine allows us to fade out music but not the other way around unfortunately.
Thank you for the message,

Yes you should be able to fade in/out also BGM.

Play BGM with 0 volume and then for example * Plugin Command * fade bgm_name to 90 in 4 sec

Also default fade time in plugin parameters should apply when ever BGM is played.
 

Parallax Panda

Veteran
Veteran
Joined
Oct 29, 2015
Messages
1,095
Reaction score
1,338
First Language
Swedish
Primarily Uses
RMMV
@OcRam

Thanks. Yeah the default parameter settings seems just fine for what I wanted (smoother transitions for audio when transferring maps).
 

OcRam

Servant of the Universe
Veteran
Joined
Aug 2, 2016
Messages
770
Reaction score
893
First Language
Finnish
Primarily Uses
RMMZ
Latest version - v2.00 (released 2019/12/22)
  • Fixed forced playback on SE command

  • Re-factored code structure + OcRam_Core featured:
    OcRam_Core will be embedded in each of my plugins
    New (more efficient) AEX data object structure


  • Debugging consumes CPU time ONLY when it is activated!
    Activated == Plugin parameter "Debug mode" == true

  • Obsoleted parameter "loop" (replaced by "new"/"link")
    Use SE to play NON-LOOPING SFX (parallel to loop)
    Use BGS to play LOOPING SFX (stop to not loop)


  • <aex> notation parameters has been made easier to read
    Example: <aex:d:20+5:1:2:nopan:forced:link>
    Example2: <aex:y:18+2:0: pan:default:new>


  • IF Local_Coop is in use: Target nearest player!
    Import Local_Coop before Audio_EX! (Credits: @Martin )

  • BGS2&3 volume control (Credits: @Ace of Spades )
    true Will be shown in options menu
    false Linked to main BGS volume
    Also BGS2 and 3 option caption parameters added!


  • Fixed BGM bug if BGM volume was adjusted + BGM volume
    is now correctly set on new/load game (Ace of Spades)

  • Fade to 100% won't exceed configured max volume

  • Allows multiple AEX notations on same event page!

  • Fixed some Audio bugs on loading saved game

  • New <aex> notation parameters (Credits: @Anyone ):
    • radius (radius where BGS volume is 100%)
    • new/link (link will use existing buffer if found)
      (new > will always creates new buffer)
    • nopan/pan (use pan or not to use?)
 

Ace of Spades

Veteran
Veteran
Joined
Jan 19, 2017
Messages
162
Reaction score
240
First Language
English
Primarily Uses
Latest version - v2.00 (released 2019/12/22)
Hey OcRam, thank you for the update! Unfortunately the latest update introduced a new, unusual bug. Any SE played through an event command plays at a pitch and volume of 100, even if specified otherwise. SE's used in battle animations also play at pitch and volume of 100. Strangely, this didn't seem to effect system SE's.

Also worth noting, when using this with your Time system plugin, the daytime/nighttime BGS levels aren't effected by volume level either, but this may not be the right thread for that. Thank you for the hard work, your time and effort is appreciated.
 
Last edited:

Latest Threads

Latest Posts

Latest Profile Posts

you know, some days you get resentful that game dev is even considered a "fun job" and other days it's like, welp, time to roll up my sleeves and code these molotov cocktails
If you suck at playing trumpets, that is probably why.
Been sick with a stomach virus for seven days now. Not going to work tomorrow because I'm still contagious according to my doctor.
Much as I love my job, I really hate playing "office politics". It would be nice if I didn't have to pretend to be someone else all day long.
I wanna get back into showing off Battlers and other assets I create again. But i'm always haunted by the "It's not good/realistic enough" voices that keep me from doing so.

Maybe I should get back to it, I did enjoy showing off whatever I came up with!

Forum statistics

Threads
115,958
Messages
1,094,378
Members
151,220
Latest member
Dolton
Top