Ace of Spades

Veteran
Veteran
Joined
Jan 19, 2017
Messages
162
Reaction score
241
First Language
English
Primarily Uses
Thank you for the message,

And have no worries we'll fix this (and it is a pleasure). Are you calling save functions before Scene_Map.start() or after it? Also semicolon ( ; ) is missing on the line $gameSystem.onBeforeSave()
Thanks for the quick reply! To clarify, I'm running the script call from a Common Event that is called by a Parallel Process event, then erased, so I believe that'd be after Scene_Map start because the Map Scene is currently active while this is happening.

I tried adding in that semicolon, but it didn't change the results. It used to function correctly prior to this most recent update; I believe it might have been something that bugged out when dynamic audio for Moving Events was integrated.

EDIT: So I just tried it in a brand new project, no other plugins. Tried to Save next an event with a AEX BGS from the menu, and it played the default XLC sound as if it wasn't allowing the Save function... upon backing out of Save Menu, I get the same error. I'm using 1.5.1 if it makes a difference.

bug report3.jpg
 
Last edited:

OcRam

Servant of the Universe
Veteran
Joined
Aug 2, 2016
Messages
796
Reaction score
913
First Language
Finnish
Primarily Uses
RMMZ
Thanks for the quick reply! To clarify, I'm running the script call from a Common Event that is called by a Parallel Process event, then erased, so I believe that'd be after Scene_Map start because the Map Scene is currently active while this is happening.

I tried adding in that semicolon, but it didn't change the results. It used to function correctly prior to this most recent update; I believe it might have been something that bugged out when dynamic audio for Moving Events was integrated.

EDIT: So I just tried it in a brand new project, no other plugins. Tried to Save next an event with a AEX BGS from the menu, and it played the default XLC sound as if it wasn't allowing the Save function... upon backing out of Save Menu, I get the same error. I'm using 1.5.1 if it makes a difference.

View attachment 135400
Thank you for the message,

I'm always developing my plugins with latest version of RMMV (ATM 1.6.2) so it might be the issue with 1.5.x. I will try to find time to test it on 1.5.1, but it might take some time...
 

Ace of Spades

Veteran
Veteran
Joined
Jan 19, 2017
Messages
162
Reaction score
241
First Language
English
Primarily Uses
Thank you for the message,

I'm always developing my plugins with latest version of RMMV (ATM 1.6.2) so it might be the issue with 1.5.x. I will try to find time to test it on 1.5.1, but it might take some time...
Take your time with it; it'd also be worth checking to see if it happens in the most up-to-date version of RMMV as well.... the only reason I'm still running 1.5.1 is for compatibility issues for other plugins.... seems the more moving parts you have behind the scenes, the more that can go wrong. I appreciate it.
 

OcRam

Servant of the Universe
Veteran
Joined
Aug 2, 2016
Messages
796
Reaction score
913
First Language
Finnish
Primarily Uses
RMMZ
Latest version - v2.04 (released 2020/03/14)
  • OcRam core v1.04 (requirement for all of my latest plugins)
    ...And prepares this plugin for OcRam demo project

  • Fixed AEX SE audio bug
 

Ace of Spades

Veteran
Veteran
Joined
Jan 19, 2017
Messages
162
Reaction score
241
First Language
English
Primarily Uses
Latest version - v2.04 (released 2020/03/14)
  • OcRam core v1.04 (requirement for all of my latest plugins)
    ...And prepares this plugin for OcRam demo project

  • Fixed AEX SE audio bug
Hey there, just a heads up I'm not sure if the original post got updated with the new 2.04 version... I downloaded and replaced the prior version, but still appears to be linked to 2.03?

I'm still running into the same error I was having before.
 

OcRam

Servant of the Universe
Veteran
Joined
Aug 2, 2016
Messages
796
Reaction score
913
First Language
Finnish
Primarily Uses
RMMZ
Hey there, just a heads up I'm not sure if the original post got updated with the new 2.04 version... I downloaded and replaced the prior version, but still appears to be linked to 2.03?

I'm still running into the same error I was having before.
Thank you for the message,

For some reason latest version was in my upload folder, but not here... Anyways now it should be correct version.
Oh and I havn't yet tested this with RMMV 1.5.x. But this should work any version above 1.6.

Actually I don't know where to get RMMV 1.5.2 core files easily...
 

Ace of Spades

Veteran
Veteran
Joined
Jan 19, 2017
Messages
162
Reaction score
241
First Language
English
Primarily Uses
Thank you for the message,

For some reason latest version was in my upload folder, but not here... Anyways now it should be correct version.
Oh and I havn't yet tested this with RMMV 1.5.x. But this should work any version above 1.6.

Actually I don't know where to get RMMV 1.5.2 core files easily...
Okay, so I spent the day updating my project to RMMV 1.6.1 and now everything is finally working as intended. Just wanted to stop by and say thank you!
 

Parallax Panda

Veteran
Veteran
Joined
Oct 29, 2015
Messages
1,106
Reaction score
1,340
First Language
Swedish
Primarily Uses
RMMV
Hm, does this plugin make it possible to preload BGM tracks before the map finish loading? If not, is it possible to arrange something like it?

It can completely break immersion on some maps when it takes several seconds for the background music to load.
 

Chainer07

Veteran
Veteran
Joined
Mar 16, 2018
Messages
48
Reaction score
17
First Language
English
Primarily Uses
RMMV
idk if this is a necro post but i am having issues with the plug. Sure it runs fine but what im trying to do is give monster sound effects so you can hear how close they are, it works well enough BUT when the monster dies in ABS mode the sound effects remain and continue even tho the event is gone. is there a way to fix this issue?
 

OcRam

Servant of the Universe
Veteran
Joined
Aug 2, 2016
Messages
796
Reaction score
913
First Language
Finnish
Primarily Uses
RMMZ
idk if this is a necro post but i am having issues with the plug. Sure it runs fine but what im trying to do is give monster sound effects so you can hear how close they are, it works well enough BUT when the monster dies in ABS mode the sound effects remain and continue even tho the event is gone. is there a way to fix this issue?
Thank you for the message,
Have you tried plugin command "clear_aex" on event you wish to stop playing BGS/SE?

Edit: @Parallax Panda I'll try to take a look at pre-loading BGS/BGM files as plugin command. And if I remember correctly there's already some pre-loader plugins available?
 
Last edited:

Chainer07

Veteran
Veteran
Joined
Mar 16, 2018
Messages
48
Reaction score
17
First Language
English
Primarily Uses
RMMV
Thank you for the message,
Have you tried plugin command "clear_aex" on event you wish to stop playing BGS/SE?

Edit: @Parallax Panda I'll try to take a look at pre-loading BGS/BGM files as plugin command. And if I remember correctly there's already some pre-loader plugins available?
yes i did try that. the problem is that the event i set this on is a creature in ABS mode. so when the creature dies the Sound event doesn't go away when the event does. is there a way to update this? i can show you what i mean if you have a discord.
 

Parallax Panda

Veteran
Veteran
Joined
Oct 29, 2015
Messages
1,106
Reaction score
1,340
First Language
Swedish
Primarily Uses
RMMV
@OcRam
Thank you. And actually, there seems to be no currently supoorted and well functioning pre-loader (so as a skilled coder, maybe you’d rather make a dedicated plugin for it? If it interests you).

For the time being I’m been using a workaround solution which is to play all BGM’s that’s to be used in ten scene with 0 volume (for ~1 frame), before I fade in the scene (at which point I play it for reals).
It’s a kind of an ugly way to manually pre-load data I guess, but it works (somewhat) and I’ve looked far and wide for plugins to pre-load images and/or sound but nothing seems reliable.
 

Anyone

Veteran
Veteran
Joined
Aug 24, 2019
Messages
257
Reaction score
355
First Language
German
Primarily Uses
RMMV
I just realized that there's a pretty interesting feature you could add:

The ability to play a sound effect via script command with parameters, much like the BGS & sound effects.

One example where it would be really helpful is in movement routes of NPCs.

Say you've got a blacksmith NPC who's hammering away at at his anvil, and you create a move event where he's going from furnace to the anvil and then starts hammering, it'd be awesome if the sound effects that then play have their volume distance based.
So if you're close to the blacksmith's shop, every sound effect plays loud - if you're far away, it's gonna be quieter. If you're to far away, you don't hear it.

Essentially the functionality of your current event notes, except as script commands (or plugin commands) to allow sound effects that are variable based on the player's distance to them.
 

OcRam

Servant of the Universe
Veteran
Joined
Aug 2, 2016
Messages
796
Reaction score
913
First Language
Finnish
Primarily Uses
RMMZ
I just realized that there's a pretty interesting feature you could add:

The ability to play a sound effect via script command with parameters, much like the BGS & sound effects.

One example where it would be really helpful is in movement routes of NPCs.

Say you've got a blacksmith NPC who's hammering away at at his anvil, and you create a move event where he's going from furnace to the anvil and then starts hammering, it'd be awesome if the sound effects that then play have their volume distance based.
So if you're close to the blacksmith's shop, every sound effect plays loud - if you're far away, it's gonna be quieter. If you're to far away, you don't hear it.

Essentially the functionality of your current event notes, except as script commands (or plugin commands) to allow sound effects that are variable based on the player's distance to them.
Thank you for the idea,

I'll let you know if this feature is added. It is great idea, but its larger job to do than it appears to be (preventing memory leaks / ensuring that buffers are cleared and how to stop specific BGS on this event - not to mention how would it impact existing audio handling etc...).

At the moment you must use event pages to achieve this - each event page can have its own dynamic BGS/SE.
 

Anyone

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

I'll let you know if this feature is added. It is great idea, but its larger job to do than it appears to be (preventing memory leaks / ensuring that buffers are cleared and how to stop specific BGS on this event - not to mention how would it impact existing audio handling etc...).

At the moment you must use event pages to achieve this - each event page can have its own dynamic BGS/SE.
For movement route sound effects, it's probably better not to do BGS but just dynamic Sound effects.

I don't know a situation where I'd need a looping BGS to play during a movement route, but I can absolutely see a benefit in single sound effects being launched in dynamic fashion.

You could probably use a plugin command to basically execute the normal "Play Sound Effect" movement route command, just with altering volume & stuff based on the plugin commands and your dynamic calculations?
 

ShadowDragon

Realist
Veteran
Joined
Oct 8, 2018
Messages
4,678
Reaction score
1,797
First Language
Dutch
Primarily Uses
RMMV
Finally a demo and a nice spot of your plugin, which makes things easier to learn of
most of your plugin :)

Keep up the awesome work you do ^^
 

OcRam

Servant of the Universe
Veteran
Joined
Aug 2, 2016
Messages
796
Reaction score
913
First Language
Finnish
Primarily Uses
RMMZ
For movement route sound effects, it's probably better not to do BGS but just dynamic Sound effects.

I don't know a situation where I'd need a looping BGS to play during a movement route, but I can absolutely see a benefit in single sound effects being launched in dynamic fashion.

You could probably use a plugin command to basically execute the normal "Play Sound Effect" movement route command, just with altering volume & stuff based on the plugin commands and your dynamic calculations?
Hi I fiddled a bit with AudioManager.playSe and I got it working quite easily ...which means it's not not easy to use... buuuuut here it goes.

In next version of this plugin you may call dynamic SE via JS calls (for example in move routes etc...).

...
* Move left *
* Script *
Code:
var se = {name: "My_SE", volume: 90, pitch: 100, pan: 0};
var aex = OcRam.Audio_EX.makeNewAEXObject(this.eventId());
aex.distance = 10; AudioManager.playSe(se, aex);
* Turn Right *
....

All parameters for AEX object:
Code:
var aex = {
            "type": "d",
            "distance": 20,
            "radius": 0,
            "fade": 1,
            "pan": 0,
            "forced": false,
            "new": true,
            "started": false,
            "dynamic": true,
            "commandIndex": 0,
            "eventId": event_id || 0,
            "linkedEvents": event_id ? [event_id] : []
        };

EDIT: ONLY SE can be used this way!
 

Anyone

Veteran
Veteran
Joined
Aug 24, 2019
Messages
257
Reaction score
355
First Language
German
Primarily Uses
RMMV
Hi I fiddled a bit with AudioManager.playSe and I got it working quite easily ...which means it's not not easy to use... buuuuut here it goes.

In next version of this plugin you may call dynamic SE via JS calls (for example in move routes etc...).

...
* Move left *
* Script *
Code:
var se = {name: "My_SE", volume: 90, pitch: 100, pan: 0};
var aex = OcRam.Audio_EX.makeNewAEXObject(this.eventId());
aex.distance = 10; AudioManager.playSe(se, aex);
* Turn Right *
....

All parameters for AEX object:
Code:
var aex = {
            "type": "d",
            "distance": 20,
            "radius": 0,
            "fade": 1,
            "pan": 0,
            "forced": false,
            "new": true,
            "started": false,
            "dynamic": true,
            "commandIndex": 0,
            "eventId": event_id || 0,
            "linkedEvents": event_id ? [event_id] : []
        };

EDIT: ONLY SE can be used this way!
Mhm, it should be possible to use the script very much like a plugin manager command, shouldn't it?

e.g.
"maex_se(parameters);"

Which could link to...
JavaScript:
maex_se = function(SfxName, distance, radius, fade) {
var se = {name: "SfxName", volume: 90, pitch: 100, pan: 0};
var aex = OcRam.Audio_EX.makeNewAEXObject(this.eventId());
aex.distance = distance || 10;
aex.radius = radius || 1;
aex.fade = fade || 1;
AudioManager.playSe(se, aex);
}

Basically, a specific function you can call that feeds the parameters into the actual function.
I'm also pretty sure you wouldn't need all those parameters, since some stuff (linked etc.) wouldn't be needed and probably wouldn't work anyway.

All you need is the distance, the radius in which it can be heard at full volume, and perhaps the fade?
 

OcRam

Servant of the Universe
Veteran
Joined
Aug 2, 2016
Messages
796
Reaction score
913
First Language
Finnish
Primarily Uses
RMMZ
Mhm, it should be possible to use the script very much like a plugin manager command, shouldn't it?

e.g.
"maex_se(parameters);"

Which could link to...
JavaScript:
maex_se = function(SfxName, distance, radius, fade) {
var se = {name: "SfxName", volume: 90, pitch: 100, pan: 0};
var aex = OcRam.Audio_EX.makeNewAEXObject(this.eventId());
aex.distance = distance || 10;
aex.radius = radius || 1;
aex.fade = fade || 1;
AudioManager.playSe(se, aex);
}

Basically, a specific function you can call that feeds the parameters into the actual function.
I'm also pretty sure you wouldn't need all those parameters, since some stuff (linked etc.) wouldn't be needed and probably wouldn't work anyway.

All you need is the distance, the radius in which it can be heard at full volume, and perhaps the fade?
Almost same as I thought to do, here is what I've done so far...
Code:
    AudioManager.playDynamicSe = function (event_id, se_name, distance, radius, auto_pan) {
        this.playSe(
            { name: se_name, volume: 100, pitch: 100, pan: 0 },
            {
                "type": "d",
                "distance": distance || 20,
                "radius": radius || 1,
                "fade": 0,
                "pan": auto_pan || true,
                "forced": true,
                "new": true,
                "started": false,
                "dynamic": true,
                "commandIndex": 0,
                "eventId": event_id || 0,
                "linkedEvents": event_id ? [event_id] : []
            }
        );
    };

Event id is required because otherwise this plugin don't know which event is emitting the SE.

EDIT: I have now released new version v2.06
 
Last edited:

Latest Threads

Latest Posts

Latest Profile Posts

edit: third time's the charm? some graphic text I whipped up that I like for the mid-game intertitle, now with all of the actual letters in the stupid damn words I was trying to spell :uswt2:
kcsmall.png
It is december, my dudes

badge_xmas.png
I love it when a plan comes together, and especially when Ruby decides to work with me when I decide to code. :kaopride:
Got sick and had to take a few days off work in order to get tested and make sure it wasn't the big one. Felt a lot better today and thought to myself, "Hey now, I can't get tested until tomorrow anyway, I can get so much character art done today!"
....I watched Youtube and browsed this site for hours instead.
>.>
But at least I'm doing the art now! Yaaaaay.......
1638314262144.png
Didn't wanna spam the feed by posting Denzel's spritelayer separae, but I'm real happy with how this concept is coming along so wanted to share it, innit :D

Forum statistics

Threads
117,092
Messages
1,104,509
Members
153,096
Latest member
SLuckyCat
Top