Playing one shot does not use set_parameter?

Hello!

I am trying to get a sound to fire off one shots while using a set parameter but I noticed that this does not work. Is this expected and is there a proper way to do this?

Thanks

I’m afraid I don’t entirely understand what you’re asking about. When you say you’re “using a set parameter,” do you mean you’re using a “set parameter” command instrument, using a parameter to trigger instruments, or something else?

Are you able to post screenshot(s) of your event(s) so that we can get a better idea of what you’re doing? And how does the behavior you’re trying to achieve differ from the behavior you’re seeing?

I apologize for not being clear. For context, I am using Godot.

I have a parameter sheet called “8Scale” that plays a bell sound within an 8 note musical scale. 0.125 representing “C”, 0.25 representing “D”, and so forth up. This is being used for an item that the player is holding and can change the tune of using an item, and banging the object against a wall plays the FMOD event.

The problem I am facing, is that if the player bangs the item against a wall multiple times to create many notes in quick succession, the FMOD event can only play a single event at a time, so the previous bell chime sound will be interrupted by a new bell chime sound upon the item colliding with a wall.

Using a one shot by calling “play_one_shot()” instead of “play()” solves that issues, but then the FMOD event node is unable to take in any parameters which would change the note on the scale. From my understanding this is expected behavior from one shots as they are quickly created for that specific event and then get destroyed?

Essentially I want to be able to pass in parameters for a parameter sheet with a one shot.

Let me know if you have any questions!

Figured it out! I had to call the FmodServer API directly as the FmodEventEmitter3D nodes do not allow this type of behavior. For all my Godot people out there:

var params: Dictionary = {}
params[“yourParameter”] = value
FmodServer.play_one_shot_attached_with_params(“event:/path/to/event”, self, params