diff --git a/extensions/community/SoundNamer.json b/extensions/community/SoundNamer.json new file mode 100644 index 000000000..1277cf678 --- /dev/null +++ b/extensions/community/SoundNamer.json @@ -0,0 +1,899 @@ +{ + "author": "", + "category": "Audio", + "extensionNamespace": "", + "fullName": "Sound namer", + "helpPath": "", + "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMy4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iSWNvbnMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMzIgMzIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KCS5zdDB7ZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQoJLnN0MXtmaWxsOm5vbmU7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjI7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30NCjwvc3R5bGU+DQo8bGluZSBjbGFzcz0ic3QxIiB4MT0iMyIgeTE9IjI5IiB4Mj0iOSIgeTI9IjI5Ii8+DQo8bGluZSBjbGFzcz0ic3QxIiB4MT0iMTMiIHkxPSIyOSIgeDI9IjE5IiB5Mj0iMjkiLz4NCjxsaW5lIGNsYXNzPSJzdDEiIHgxPSIyMyIgeTE9IjI5IiB4Mj0iMjkiIHkyPSIyOSIvPg0KPGxpbmUgY2xhc3M9InN0MSIgeDE9IjMiIHkxPSIyNSIgeDI9IjkiIHkyPSIyNSIvPg0KPGxpbmUgY2xhc3M9InN0MSIgeDE9IjEzIiB5MT0iMjUiIHgyPSIxOSIgeTI9IjI1Ii8+DQo8bGluZSBjbGFzcz0ic3QxIiB4MT0iMjMiIHkxPSIyNSIgeDI9IjI5IiB5Mj0iMjUiLz4NCjxsaW5lIGNsYXNzPSJzdDEiIHgxPSIzIiB5MT0iMjEiIHgyPSI5IiB5Mj0iMjEiLz4NCjxsaW5lIGNsYXNzPSJzdDEiIHgxPSIxMyIgeTE9IjIxIiB4Mj0iMTkiIHkyPSIyMSIvPg0KPGxpbmUgY2xhc3M9InN0MSIgeDE9IjIzIiB5MT0iMjEiIHgyPSIyOSIgeTI9IjIxIi8+DQo8bGluZSBjbGFzcz0ic3QxIiB4MT0iMyIgeTE9IjE3IiB4Mj0iOSIgeTI9IjE3Ii8+DQo8bGluZSBjbGFzcz0ic3QxIiB4MT0iMjMiIHkxPSIxNyIgeDI9IjI5IiB5Mj0iMTciLz4NCjxsaW5lIGNsYXNzPSJzdDEiIHgxPSIzIiB5MT0iMTMiIHgyPSI5IiB5Mj0iMTMiLz4NCjxsaW5lIGNsYXNzPSJzdDEiIHgxPSIyMyIgeTE9IjEzIiB4Mj0iMjkiIHkyPSIxMyIvPg0KPGxpbmUgY2xhc3M9InN0MSIgeDE9IjMiIHkxPSI5IiB4Mj0iOSIgeTI9IjkiLz4NCjxsaW5lIGNsYXNzPSJzdDEiIHgxPSIzIiB5MT0iNSIgeDI9IjkiIHkyPSI1Ii8+DQo8L3N2Zz4NCg==", + "name": "SoundNamer", + "previewIconUrl": "https://asset-resources.gdevelop.io/public-resources/Icons/Line Hero Pack/Master/SVG/Music/8bb8284615f4b32554b8d25156692eb38e4ac2d24b9c350b0b20dff72a6f4f17_Music_studio_audio_levels_mastering.svg", + "shortDescription": "Manage sounds by using string identifiers as sound names.", + "version": "1.0.0", + "description": "This extension is for sound management via names (strings) instead of channels. To manage sounds with the conditions, expressions and actions included in the extension, the sounds must have a name, give a name to a sound by playing it on SoundNamer::GiveName(\"Name\"), you can then manipulate sounds by using SoundNamer::SoundName(\"Name\").", + "tags": [ + "Audio" + ], + "authorIds": [ + "SEnxPnvGuQhQmTXJ3xwZa1lQFdr1" + ], + "dependencies": [], + "eventsFunctions": [ + { + "description": "Returns the channel of the audio with this name.", + "fullName": "Channel of audio", + "functionType": "Expression", + "group": "Audio", + "name": "Name", + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Variable(AudiPlayAudioExt.AudioName[GetArgumentAsString(\"AudioName\")])" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Returns the channel of the sound with the string identifier", + "name": "AudioName", + "type": "string" + } + ], + "objectGroups": [] + }, + { + "description": "Preset audio for the list by playing it on this channel.", + "fullName": "SoundListChannel", + "functionType": "Expression", + "name": "GiveName", + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ModVarScene" + }, + "parameters": [ + "AudiPlayAudioExt.AudioID", + "+", + "1" + ] + }, + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Variable(AudiPlayAudioExt.AudioID)" + ] + }, + { + "type": { + "value": "ModVarScene" + }, + "parameters": [ + "AudiPlayAudioExt.AudioName[GetArgumentAsString(\"AudioName\")]", + "=", + "Variable(AudiPlayAudioExt.AudioID)" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "The sound will be identified with this string ", + "name": "AudioName", + "type": "string" + } + ], + "objectGroups": [] + }, + { + "description": "Stop the audio with the specified name.", + "fullName": "Stop the audio", + "functionType": "Action", + "group": "Audio", + "name": "StopAudio", + "sentence": "Stop the audio _PARAM1_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "StopSoundCanal" + }, + "parameters": [ + "", + "Variable(AudiPlayAudioExt.AudioName[GetArgumentAsString(\"AudioName\")])" + ] + }, + { + "type": { + "value": "VariableRemoveChild" + }, + "parameters": [ + "AudiPlayAudioExt.AudioName", + "GetArgumentAsString(\"AudioName\")" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Name of the audio", + "name": "AudioName", + "type": "string" + } + ], + "objectGroups": [] + }, + { + "description": "Resume playing an audio with this name that was paused.", + "fullName": "Resume the audio", + "functionType": "Action", + "group": "Audio", + "name": "ResumeAudio", + "sentence": "Resume the audio _PARAM1_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "RePlaySoundCanal" + }, + "parameters": [ + "", + "Variable(AudiPlayAudioExt.AudioName[GetArgumentAsString(\"AudioName\")])" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Name of the audio", + "name": "AudioName", + "type": "string" + } + ], + "objectGroups": [] + }, + { + "description": "Pause the audio with this name.", + "fullName": "Pause the audio", + "functionType": "Action", + "group": "Audio", + "name": "PauseAudio", + "sentence": "Pause the audio _PARAM1_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "PauseSoundCanal" + }, + "parameters": [ + "", + "Variable(AudiPlayAudioExt.AudioName[GetArgumentAsString(\"AudioName\")])" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Name of the audio", + "name": "AudioName", + "type": "string" + } + ], + "objectGroups": [] + }, + { + "description": "Change the sound volume", + "fullName": "Volume of the sound", + "functionType": "ActionWithOperator", + "getterName": "VolumeAudioC", + "group": "Sounds", + "name": "VolumeAudioA", + "sentence": "Change the volume of the sound _PARAM1_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ModVolumeSoundCanal" + }, + "parameters": [ + "", + "Variable(AudiPlayAudioExt.AudioName[GetArgumentAsString(\"AudioName\")])", + "=", + "GetArgumentAsNumber(\"Value\")" + ] + } + ] + } + ], + "parameters": [ + { + "description": "The name for the latest sound played", + "name": "SoundName", + "type": "string" + } + ], + "objectGroups": [] + }, + { + "description": "the volume of the audio with this name.", + "fullName": "Volume of the audio", + "functionType": "ExpressionAndCondition", + "group": "Audio", + "name": "VolumeAudioC", + "sentence": "the volume of the audio _PARAM1_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "SoundChannelVolume(Variable(AudiPlayAudioExt.AudioName[GetArgumentAsString(\"AudioName\")]))" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Name of the audio", + "name": "AudioName", + "type": "string" + } + ], + "objectGroups": [] + }, + { + "description": "Change the playing offset of the audio (in Minutes:Seconds).", + "fullName": "Timestamp of the audio", + "functionType": "Action", + "group": "Audio", + "name": "TimestampOffsetAudio", + "sentence": "Change the playing offset of the audio _PARAM1_ to _PARAM2_ minutes and _PARAM3_ seconds", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ModVarScene" + }, + "parameters": [ + "AudiPlayAudioExt.AudioLastVolume", + "=", + "SoundChannelVolume(Variable(AudiPlayAudioExt.AudioName[GetArgumentAsString(\"AudioName\")]))" + ] + }, + { + "type": { + "value": "ModVolumeSoundCanal" + }, + "parameters": [ + "", + "Variable(AudiPlayAudioExt.AudioName[GetArgumentAsString(\"AudioName\")])", + "=", + "0" + ] + }, + { + "type": { + "value": "ModPlayingOffsetSoundChannel" + }, + "parameters": [ + "", + "Variable(AudiPlayAudioExt.AudioName[GetArgumentAsString(\"AudioName\")])", + "=", + "(GetArgumentAsNumber(\"AudioMinute\") * 60) + GetArgumentAsNumber(\"AudioSecond\")" + ] + }, + { + "type": { + "value": "ModVolumeSoundCanal" + }, + "parameters": [ + "", + "Variable(AudiPlayAudioExt.AudioName[GetArgumentAsString(\"AudioName\")])", + "=", + "Variable(AudiPlayAudioExt.AudioLastVolume)" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Name of the audio", + "name": "AudioName", + "type": "string" + }, + { + "description": "Time of the audio in minutes", + "name": "AudioMinute", + "type": "expression" + }, + { + "description": "Time of the audio in seconds", + "name": "AudioSecond", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "the minute playing offset of the audio.", + "fullName": "Minute time of the audio", + "functionType": "ExpressionAndCondition", + "group": "Audio", + "name": "TimestampOffsetAudioInMinute", + "sentence": "the minute playing offset of the audio _PARAM1_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "SoundChannelPlayingOffset(Variable(AudiPlayAudioExt.AudioName[GetArgumentAsString(\"AudioName\")])) / 60 " + ] + } + ] + }, + { + "disabled": true, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "floor(SoundChannelPlayingOffset(Variable(AudiPlayAudioExt.AudioName[GetArgumentAsString(\"AudioName\")])) / 60)" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Name of the audio", + "name": "AudioName", + "type": "string" + } + ], + "objectGroups": [] + }, + { + "description": "the second playing offset of the audio.", + "fullName": "Second time of the audio", + "functionType": "ExpressionAndCondition", + "group": "Audio", + "name": "TimestampOffsetAudioInSecond", + "sentence": "the second playing offset of the audio _PARAM1_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "SoundChannelPlayingOffset(Variable(AudiPlayAudioExt.AudioName[GetArgumentAsString(\"AudioName\")])) - (60 * floor(SoundChannelPlayingOffset(Variable(AudiPlayAudioExt.AudioName[GetArgumentAsString(\"AudioName\")])) / 60))" + ] + } + ] + }, + { + "disabled": true, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "floor(SoundChannelPlayingOffset(Variable(AudiPlayAudioExt.AudioName[GetArgumentAsString(\"AudioName\")]))) - (60 * floor(SoundChannelPlayingOffset(Variable(AudiPlayAudioExt.AudioName[GetArgumentAsString(\"AudioName\")])) / 60))" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Name of the audio", + "name": "AudioName", + "type": "string" + } + ], + "objectGroups": [] + }, + { + "description": "Change the sound volume", + "fullName": "Volume of the sound", + "functionType": "ActionWithOperator", + "getterName": "OffsetAudioC", + "group": "Sounds", + "name": "OffsetAudioA", + "sentence": "Change the volume of the sound _PARAM1_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ModPlayingOffsetSoundChannel" + }, + "parameters": [ + "", + "Variable(AudiPlayAudioExt.AudioName[GetArgumentAsString(\"AudioName\")])", + "=", + "GetArgumentAsNumber(\"Value\")" + ] + } + ] + } + ], + "parameters": [ + { + "description": "The name for the latest sound played", + "name": "SoundName", + "type": "string" + } + ], + "objectGroups": [] + }, + { + "description": "the playing offset of the audio with this name.", + "fullName": "Playing offset of the audio", + "functionType": "ExpressionAndCondition", + "group": "Audio", + "name": "OffsetAudioC", + "sentence": "the playing offset of the audio _PARAM1_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "SoundChannelPlayingOffset(Variable(AudiPlayAudioExt.AudioName[GetArgumentAsString(\"AudioName\")]))" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Name of the audio", + "name": "AudioName", + "type": "string" + } + ], + "objectGroups": [] + }, + { + "description": "Change the sound volume", + "fullName": "Volume of the sound", + "functionType": "ActionWithOperator", + "getterName": "PitchAudioC", + "group": "Sounds", + "name": "PitchAudioA", + "sentence": "Change the volume of the sound _PARAM1_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ModPitchSoundChannel" + }, + "parameters": [ + "", + "Variable(AudiPlayAudioExt.AudioName[GetArgumentAsString(\"AudioName\")])", + "=", + "GetArgumentAsNumber(\"Value\")" + ] + } + ] + } + ], + "parameters": [ + { + "description": "The name for the latest sound played", + "name": "SoundName", + "type": "string" + } + ], + "objectGroups": [] + }, + { + "description": "the pitch of the audio with this name.", + "fullName": "Pitch of the audio", + "functionType": "ExpressionAndCondition", + "group": "Audio", + "name": "PitchAudioC", + "sentence": "the pitch of the audio _PARAM1_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "SoundChannelPitch((Variable(AudiPlayAudioExt.AudioName[GetArgumentAsString(\"AudioName\")])))" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Name of the audio", + "name": "AudioName", + "type": "string" + } + ], + "objectGroups": [] + }, + { + "description": "Fade the volume of an audio with this name to the specified volume within the specified duration.", + "fullName": "Fade the volume of an audio", + "functionType": "Action", + "getterName": "PitchSoundC", + "group": "Audio", + "name": "FadeAudio", + "sentence": "Fade the audio _PARAM1_ to volume _PARAM2_ within _PARAM3_ seconds", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "FadeSoundVolume" + }, + "parameters": [ + "", + "Variable(AudiPlayAudioExt.AudioName[GetArgumentAsString(\"AudioName\")])", + "GetArgumentAsNumber(\"AudioFinalVolume\")", + "GetArgumentAsNumber(\"FadeInSec\")" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Name of the audio", + "name": "AudioName", + "type": "string" + }, + { + "description": "Final volume (0 - 100)", + "name": "AudioFinalVolume", + "type": "expression" + }, + { + "description": "Fading time in seconds", + "name": "FadeInSec", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Set the spatial position of the audio. When an audio is at a distance of 1 to the listener, it's heard at a 100% volume. Then, it follows an *inverse distance model*. At a distance of 2, it's heard at 50%, and at a distance of 4 it's heard at 25%.", + "fullName": "Set position of audio", + "functionType": "Action", + "getterName": "PitchSoundC", + "group": "Spatial audio", + "name": "SpatialXYZAudio", + "sentence": "Set the audio _PARAM1_ to position _PARAM2_, _PARAM3_, _PARAM4_ ", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SpatialSound::SetSoundPosition" + }, + "parameters": [ + "", + "Variable(AudiPlayAudioExt.AudioName[GetArgumentAsString(\"AudioName\")])", + "GetArgumentAsNumber(\"AudioX\")", + "GetArgumentAsNumber(\"AudioY\")", + "GetArgumentAsNumber(\"AudioZ\")" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Name of the audio", + "name": "AudioName", + "type": "string" + }, + { + "description": "X position", + "name": "AudioX", + "type": "expression" + }, + { + "description": "Y position", + "name": "AudioY", + "type": "expression" + }, + { + "description": "Z position", + "name": "AudioZ", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Test if the audio with this name is paused.", + "fullName": "Audio is paused", + "functionType": "Condition", + "group": "Audio", + "name": "IsAudioPaused", + "sentence": "Audio _PARAM1_ is paused", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SoundPaused" + }, + "parameters": [ + "", + "Variable(AudiPlayAudioExt.AudioName[GetArgumentAsString(\"AudioName\")])" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Name of the audio", + "name": "AudioName", + "type": "string" + } + ], + "objectGroups": [] + }, + { + "description": "Test if the audio with this name is stopped.", + "fullName": "Audio is stopped", + "functionType": "Condition", + "group": "Audio", + "name": "IsAudioStopped", + "sentence": "Audio _PARAM1_ is stopped", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SoundStopped" + }, + "parameters": [ + "", + "Variable(AudiPlayAudioExt.AudioName[GetArgumentAsString(\"AudioName\")])" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Name of the audio", + "name": "AudioName", + "type": "string" + } + ], + "objectGroups": [] + }, + { + "description": "Test if the audio with this name is being played.", + "fullName": "Audio is being played", + "functionType": "Condition", + "group": "Audio", + "name": "IsAudioPlaying", + "sentence": "Audio _PARAM1_ is being played", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SoundPlaying" + }, + "parameters": [ + "", + "Variable(AudiPlayAudioExt.AudioName[GetArgumentAsString(\"AudioName\")])" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Name of the audio", + "name": "AudioName", + "type": "string" + } + ], + "objectGroups": [] + }, + { + "description": "Test if the audio with this name is loaded and playing.", + "fullName": "Audio loaded and playing", + "functionType": "Condition", + "group": "Audio", + "name": "IsAudioPlayingAndRunning", + "sentence": "Audio _PARAM1_ is loaded and playing", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SoundPlaying" + }, + "parameters": [ + "", + "Variable(AudiPlayAudioExt.AudioName[GetArgumentAsString(\"AudioName\")])" + ] + }, + { + "type": { + "value": "SoundChannelPlayingOffset" + }, + "parameters": [ + "", + "Variable(AudiPlayAudioExt.AudioName[GetArgumentAsString(\"AudioName\")])", + ">", + "0" + ] + }, + { + "type": { + "value": "SoundChannelPitch" + }, + "parameters": [ + "", + "Variable(AudiPlayAudioExt.AudioName[GetArgumentAsString(\"AudioName\")])", + ">", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Name of the audio", + "name": "AudioName", + "type": "string" + } + ], + "objectGroups": [] + } + ], + "eventsBasedBehaviors": [], + "eventsBasedObjects": [] +} \ No newline at end of file