404
+ +Page not found
+ + +diff --git a/CompleteCook.resource_order b/CompleteCook.resource_order
index 59829e84c..e4abe47e2 100644
--- a/CompleteCook.resource_order
+++ b/CompleteCook.resource_order
@@ -3,6 +3,8 @@
{"name":"Animation Curves","order":9,"path":"folders/Animation Curves.yy",},
{"name":"Extensions","order":11,"path":"folders/Extensions.yy",},
{"name":"Gameframe","order":1,"path":"folders/Extensions/Gameframe.yy",},
+ {"name":"FMOD","order":16,"path":"folders/FMOD.yy",},
+ {"name":"Extensions","order":1,"path":"folders/FMOD/Extensions.yy",},
{"name":"Fonts","order":4,"path":"folders/Fonts.yy",},
{"name":"Notes","order":10,"path":"folders/Notes.yy",},
{"name":"Objects","order":6,"path":"folders/Objects.yy",},
@@ -26,16 +28,13 @@
{"name":"Particle Systems","order":12,"path":"folders/Particle Systems.yy",},
{"name":"Paths","order":2,"path":"folders/Paths.yy",},
{"name":"Rooms","order":7,"path":"folders/Rooms.yy",},
+ {"name":"Dynamic Music Example","order":17,"path":"folders/Rooms/Dynamic Music Example.yy",},
{"name":"Example Level","order":5,"path":"folders/Rooms/Example Level.yy",},
{"name":"John Gutter","order":14,"path":"folders/Rooms/John Gutter.yy",},
{"name":"Scripts","order":15,"path":"folders/Scripts.yy",},
{"name":"Player States","order":13,"path":"folders/Scripts/Player States.yy",},
{"name":"Sequences","order":8,"path":"folders/Sequences.yy",},
{"name":"Shaders","order":3,"path":"folders/Shaders.yy",},
- {"name":"Sounds","order":13,"path":"folders/Sounds.yy",},
- {"name":"Music","order":95,"path":"folders/Sounds/Music.yy",},
- {"name":"SFX","order":94,"path":"folders/Sounds/SFX.yy",},
- {"name":"Voice","order":96,"path":"folders/Sounds/Voice.yy",},
{"name":"Backgrounds","order":7,"path":"folders/Sprites/Backgrounds.yy",},
{"name":"Boss","order":10,"path":"folders/Sprites/Boss.yy",},
{"name":"Pepperman","order":4,"path":"folders/Sprites/Boss/Pepperman.yy",},
@@ -51,7 +50,8 @@
{"name":"Panic","order":9,"path":"folders/Sprites/HUD/Panic.yy",},
{"name":"Pause","order":29,"path":"folders/Sprites/HUD/Pause.yy",},
{"name":"Score","order":5,"path":"folders/Sprites/HUD/Score.yy",},
- {"name":"Transfos","order":17,"path":"folders/Sprites/HUD/TV/Transfos.yy",},
+ {"name":"Noise","order":29,"path":"folders/Sprites/HUD/TV/Noise.yy",},
+ {"name":"Peppino","order":28,"path":"folders/Sprites/HUD/TV/Peppino.yy",},
{"name":"Level Specific","order":22,"path":"folders/Sprites/Level Specific.yy",},
{"name":"John Gutter","order":1,"path":"folders/Sprites/Level Specific/John Gutter.yy",},
{"name":"Level Structure","order":4,"path":"folders/Sprites/Level Structure.yy",},
@@ -77,8 +77,10 @@
{"name":"Miscellaneous","order":6,"path":"folders/Sprites/Miscellaneous.yy",},
{"name":"Particles","order":2,"path":"folders/Sprites/Particles.yy",},
{"name":"Clothes","order":126,"path":"folders/Sprites/Player/Clothes.yy",},
- {"name":"Ranks","order":105,"path":"folders/Sprites/Player/Ranks.yy",},
- {"name":"Shotgun","order":136,"path":"folders/Sprites/Player/Shotgun.yy",},
+ {"name":"Noise","order":145,"path":"folders/Sprites/Player/Noise.yy",},
+ {"name":"Ranks","order":105,"path":"folders/Sprites/Player/Noise/Ranks.yy",},
+ {"name":"Peppino","order":144,"path":"folders/Sprites/Player/Peppino.yy",},
+ {"name":"Ranks","order":136,"path":"folders/Sprites/Player/Peppino/Ranks.yy",},
{"name":"Tile Sets","order":1,"path":"folders/Tile Sets.yy",},
{"name":"John Gutter","order":4,"path":"folders/Tile Sets/John Gutter.yy",},
{"name":"Secret","order":1,"path":"folders/Tile Sets/Secret.yy",},
@@ -89,6 +91,7 @@
{"name":"gameframe_native","order":2,"path":"extensions/gameframe_native/gameframe_native.yy",},
{"name":"fnt_caption","order":3,"path":"fonts/fnt_caption/fnt_caption.yy",},
{"name":"Credits","order":3,"path":"notes/Credits/Credits.yy",},
+ {"name":"DM Note","order":2,"path":"notes/DM Note/DM Note.yy",},
{"name":"Location of binds & Commands","order":2,"path":"notes/Location of binds & Commands/Location of binds & Commands.yy",},
{"name":"Main Menu Guide","order":1,"path":"notes/Main Menu Guide/Main Menu Guide.yy",},
{"name":"obj_plug is obj_outlet","order":10,"path":"notes/obj_plug is obj_outlet/obj_plug is obj_outlet.yy",},
@@ -122,6 +125,7 @@
{"name":"obj_escapesiren","order":4,"path":"objects/obj_escapesiren/obj_escapesiren.yy",},
{"name":"obj_exitgate","order":5,"path":"objects/obj_exitgate/obj_exitgate.yy",},
{"name":"obj_exitsign","order":5,"path":"objects/obj_exitsign/obj_exitsign.yy",},
+ {"name":"obj_fmodhandler","order":2,"path":"objects/obj_fmodhandler/obj_fmodhandler.yy",},
{"name":"obj_followerhandler","order":3,"path":"objects/obj_followerhandler/obj_followerhandler.yy",},
{"name":"obj_forknight","order":3,"path":"objects/obj_forknight/obj_forknight.yy",},
{"name":"obj_gatehats","order":7,"path":"objects/obj_gatehats/obj_gatehats.yy",},
@@ -147,6 +151,7 @@
{"name":"obj_lapportalexit","order":12,"path":"objects/obj_lapportalexit/obj_lapportalexit.yy",},
{"name":"obj_loading","order":4,"path":"objects/obj_loading/obj_loading.yy",},
{"name":"obj_lockdebris","order":7,"path":"objects/obj_lockdebris/obj_lockdebris.yy",},
+ {"name":"obj_logo_credits","order":4,"path":"objects/obj_logo_credits/obj_logo_credits.yy",},
{"name":"obj_menuhandler","order":1,"path":"objects/obj_menuhandler/obj_menuhandler.yy",},
{"name":"obj_menupeppino","order":2,"path":"objects/obj_menupeppino/obj_menupeppino.yy",},
{"name":"obj_metalblock_secret","order":13,"path":"objects/obj_metalblock_secret/obj_metalblock_secret.yy",},
@@ -224,6 +229,8 @@
{"name":"par_collision","order":6,"path":"objects/par_collision/par_collision.yy",},
{"name":"boss_test","order":12,"path":"rooms/boss_test/boss_test.yy",},
{"name":"depth_test","order":13,"path":"rooms/depth_test/depth_test.yy",},
+ {"name":"dm_2","order":1,"path":"rooms/dm_2/dm_2.yy",},
+ {"name":"enemy_extreme_mass","order":16,"path":"rooms/enemy_extreme_mass/enemy_extreme_mass.yy",},
{"name":"entrance_10","order":10,"path":"rooms/entrance_10/entrance_10.yy",},
{"name":"entrance_2","order":1,"path":"rooms/entrance_2/entrance_2.yy",},
{"name":"entrance_3","order":2,"path":"rooms/entrance_3/entrance_3.yy",},
@@ -239,6 +246,7 @@
{"name":"entrance_secret2","order":14,"path":"rooms/entrance_secret2/entrance_secret2.yy",},
{"name":"entrance_secret3","order":15,"path":"rooms/entrance_secret3/entrance_secret3.yy",},
{"name":"init_objs_room","order":3,"path":"rooms/init_objs_room/init_objs_room.yy",},
+ {"name":"logo_credits","order":18,"path":"rooms/logo_credits/logo_credits.yy",},
{"name":"mainmenu","order":11,"path":"rooms/mainmenu/mainmenu.yy",},
{"name":"rank_room","order":7,"path":"rooms/rank_room/rank_room.yy",},
{"name":"rm_timesup","order":10,"path":"rooms/rm_timesup/rm_timesup.yy",},
@@ -258,6 +266,10 @@
{"name":"create_ghost_obj","order":19,"path":"scripts/create_ghost_obj/create_ghost_obj.yy",},
{"name":"destroyable_util","order":12,"path":"scripts/destroyable_util/destroyable_util.yy",},
{"name":"enemy_scripts","order":8,"path":"scripts/enemy_scripts/enemy_scripts.yy",},
+ {"name":"ExtBufferIO","order":1,"path":"scripts/ExtBufferIO/ExtBufferIO.yy",},
+ {"name":"Fmod_Definitions","order":2,"path":"scripts/Fmod_Definitions/Fmod_Definitions.yy",},
+ {"name":"Fmod_Functions","order":3,"path":"scripts/Fmod_Functions/Fmod_Functions.yy",},
+ {"name":"fmod_studio_event_instance_oneshot","order":3,"path":"scripts/fmod_studio_event_instance_oneshot/fmod_studio_event_instance_oneshot.yy",},
{"name":"gameframe_macros","order":1,"path":"scripts/gameframe_macros/gameframe_macros.yy",},
{"name":"generic_functions_util","order":2,"path":"scripts/generic_functions_util/generic_functions_util.yy",},
{"name":"hud_get_visible","order":20,"path":"scripts/hud_get_visible/hud_get_visible.yy",},
@@ -270,7 +282,9 @@
{"name":"player_bump","order":7,"path":"scripts/player_bump/player_bump.yy",},
{"name":"player_climbwall","order":5,"path":"scripts/player_climbwall/player_climbwall.yy",},
{"name":"player_crouch","order":12,"path":"scripts/player_crouch/player_crouch.yy",},
+ {"name":"player_crusher","order":33,"path":"scripts/player_crusher/player_crusher.yy",},
{"name":"player_defeat","order":25,"path":"scripts/player_defeat/player_defeat.yy",},
+ {"name":"player_divebomb","order":31,"path":"scripts/player_divebomb/player_divebomb.yy",},
{"name":"player_fireass","order":27,"path":"scripts/player_fireass/player_fireass.yy",},
{"name":"player_grab","order":9,"path":"scripts/player_grab/player_grab.yy",},
{"name":"player_grind","order":20,"path":"scripts/player_grind/player_grind.yy",},
@@ -282,19 +296,21 @@
{"name":"player_mach2","order":2,"path":"scripts/player_mach2/player_mach2.yy",},
{"name":"player_mach3","order":3,"path":"scripts/player_mach3/player_mach3.yy",},
{"name":"player_noclip","order":23,"path":"scripts/player_noclip/player_noclip.yy",},
+ {"name":"player_noise_util","order":34,"path":"scripts/player_noise_util/player_noise_util.yy",},
{"name":"player_parry","order":22,"path":"scripts/player_parry/player_parry.yy",},
{"name":"player_piledriver","order":19,"path":"scripts/player_piledriver/player_piledriver.yy",},
{"name":"player_punch","order":15,"path":"scripts/player_punch/player_punch.yy",},
{"name":"player_punchenemy","order":18,"path":"scripts/player_punchenemy/player_punchenemy.yy",},
{"name":"player_punchstun","order":26,"path":"scripts/player_punchstun/player_punchstun.yy",},
{"name":"player_shotgunshoot","order":28,"path":"scripts/player_shotgunshoot/player_shotgunshoot.yy",},
- {"name":"player_sip","order":30,"path":"scripts/player_sip/player_sip.yy",},
{"name":"player_slide","order":6,"path":"scripts/player_slide/player_slide.yy",},
+ {"name":"player_slip","order":30,"path":"scripts/player_slip/player_slip.yy",},
{"name":"player_superjump","order":10,"path":"scripts/player_superjump/player_superjump.yy",},
{"name":"player_swingding","order":17,"path":"scripts/player_swingding/player_swingding.yy",},
{"name":"player_taunt","order":11,"path":"scripts/player_taunt/player_taunt.yy",},
{"name":"player_tumble","order":4,"path":"scripts/player_tumble/player_tumble.yy",},
{"name":"player_util","order":6,"path":"scripts/player_util/player_util.yy",},
+ {"name":"player_wallbounce","order":32,"path":"scripts/player_wallbounce/player_wallbounce.yy",},
{"name":"scr_pattern_utilities","order":4,"path":"scripts/scr_pattern_utilities/scr_pattern_utilities.yy",},
{"name":"scr_retro_pal_swapper_utilities","order":1,"path":"scripts/scr_retro_pal_swapper_utilities/scr_retro_pal_swapper_utilities.yy",},
{"name":"scr_savesystem","order":16,"path":"scripts/scr_savesystem/scr_savesystem.yy",},
@@ -303,6 +319,7 @@
{"name":"text_util","order":17,"path":"scripts/text_util/text_util.yy",},
{"name":"tv_util","order":9,"path":"scripts/tv_util/tv_util.yy",},
{"name":"util_pause","order":3,"path":"scripts/util_pause/util_pause.yy",},
+ {"name":"shd_afterimage_noise","order":7,"path":"shaders/shd_afterimage_noise/shd_afterimage_noise.yy",},
{"name":"shd_blur","order":1,"path":"shaders/shd_blur/shd_blur.yy",},
{"name":"shd_gui_bg_remove","order":2,"path":"shaders/shd_gui_bg_remove/shd_gui_bg_remove.yy",},
{"name":"shd_gui_brighten","order":3,"path":"shaders/shd_gui_brighten/shd_gui_brighten.yy",},
@@ -311,156 +328,6 @@
{"name":"shd_pattern","order":3,"path":"shaders/shd_pattern/shd_pattern.yy",},
{"name":"shd_rank_brown","order":5,"path":"shaders/shd_rank_brown/shd_rank_brown.yy",},
{"name":"shd_solidcolor","order":4,"path":"shaders/shd_solidcolor/shd_solidcolor.yy",},
- {"name":"mu_entrance_secret","order":18,"path":"sounds/mu_entrance_secret/mu_entrance_secret.yy",},
- {"name":"mu_entrance","order":19,"path":"sounds/mu_entrance/mu_entrance.yy",},
- {"name":"mu_hub","order":1,"path":"sounds/mu_hub/mu_hub.yy",},
- {"name":"mu_lap2","order":2,"path":"sounds/mu_lap2/mu_lap2.yy",},
- {"name":"mu_mainmenu","order":3,"path":"sounds/mu_mainmenu/mu_mainmenu.yy",},
- {"name":"mu_pause","order":4,"path":"sounds/mu_pause/mu_pause.yy",},
- {"name":"mu_pepperman","order":5,"path":"sounds/mu_pepperman/mu_pepperman.yy",},
- {"name":"mu_pillar","order":6,"path":"sounds/mu_pillar/mu_pillar.yy",},
- {"name":"mu_pizzatime","order":7,"path":"sounds/mu_pizzatime/mu_pizzatime.yy",},
- {"name":"mu_ranka","order":8,"path":"sounds/mu_ranka/mu_ranka.yy",},
- {"name":"mu_rankb","order":9,"path":"sounds/mu_rankb/mu_rankb.yy",},
- {"name":"mu_rankc","order":10,"path":"sounds/mu_rankc/mu_rankc.yy",},
- {"name":"mu_rankd","order":11,"path":"sounds/mu_rankd/mu_rankd.yy",},
- {"name":"mu_rankp","order":13,"path":"sounds/mu_rankp/mu_rankp.yy",},
- {"name":"mu_ranks","order":12,"path":"sounds/mu_ranks/mu_ranks.yy",},
- {"name":"mu_secret","order":14,"path":"sounds/mu_secret/mu_secret.yy",},
- {"name":"mu_timesup","order":16,"path":"sounds/mu_timesup/mu_timesup.yy",},
- {"name":"mu_title_john","order":17,"path":"sounds/mu_title_john/mu_title_john.yy",},
- {"name":"sfx_ballroll","order":1,"path":"sounds/sfx_ballroll/sfx_ballroll.yy",},
- {"name":"sfx_beatbox","order":13,"path":"sounds/sfx_beatbox/sfx_beatbox.yy",},
- {"name":"sfx_bossintro","order":2,"path":"sounds/sfx_bossintro/sfx_bossintro.yy",},
- {"name":"sfx_bottlepop","order":3,"path":"sounds/sfx_bottlepop/sfx_bottlepop.yy",},
- {"name":"sfx_box","order":11,"path":"sounds/sfx_box/sfx_box.yy",},
- {"name":"sfx_break","order":8,"path":"sounds/sfx_break/sfx_break.yy",},
- {"name":"sfx_breakblock1","order":4,"path":"sounds/sfx_breakblock1/sfx_breakblock1.yy",},
- {"name":"sfx_breakblock2","order":7,"path":"sounds/sfx_breakblock2/sfx_breakblock2.yy",},
- {"name":"sfx_breakdance","order":5,"path":"sounds/sfx_breakdance/sfx_breakdance.yy",},
- {"name":"sfx_breakmetal","order":6,"path":"sounds/sfx_breakmetal/sfx_breakmetal.yy",},
- {"name":"sfx_bumpenemy","order":101,"path":"sounds/sfx_bumpenemy/sfx_bumpenemy.yy",},
- {"name":"sfx_bumpwall","order":9,"path":"sounds/sfx_bumpwall/sfx_bumpwall.yy",},
- {"name":"sfx_checkpoint","order":10,"path":"sounds/sfx_checkpoint/sfx_checkpoint.yy",},
- {"name":"sfx_clothesswitch","order":12,"path":"sounds/sfx_clothesswitch/sfx_clothesswitch.yy",},
- {"name":"sfx_collect","order":71,"path":"sounds/sfx_collect/sfx_collect.yy",},
- {"name":"sfx_collectbig","order":49,"path":"sounds/sfx_collectbig/sfx_collectbig.yy",},
- {"name":"sfx_collecttoppin","order":25,"path":"sounds/sfx_collecttoppin/sfx_collecttoppin.yy",},
- {"name":"sfx_comboend","order":24,"path":"sounds/sfx_comboend/sfx_comboend.yy",},
- {"name":"sfx_comboup1","order":22,"path":"sounds/sfx_comboup1/sfx_comboup1.yy",},
- {"name":"sfx_comboup2","order":19,"path":"sounds/sfx_comboup2/sfx_comboup2.yy",},
- {"name":"sfx_comboup4","order":17,"path":"sounds/sfx_comboup4/sfx_comboup4.yy",},
- {"name":"sfx_dashpad","order":14,"path":"sounds/sfx_dashpad/sfx_dashpad.yy",},
- {"name":"sfx_dive","order":15,"path":"sounds/sfx_dive/sfx_dive.yy",},
- {"name":"sfx_door","order":20,"path":"sounds/sfx_door/sfx_door.yy",},
- {"name":"sfx_electricity","order":18,"path":"sounds/sfx_electricity/sfx_electricity.yy",},
- {"name":"sfx_enemyprojectile","order":16,"path":"sounds/sfx_enemyprojectile/sfx_enemyprojectile.yy",},
- {"name":"sfx_escapecollect","order":21,"path":"sounds/sfx_escapecollect/sfx_escapecollect.yy",},
- {"name":"sfx_escapecollectbig","order":23,"path":"sounds/sfx_escapecollectbig/sfx_escapecollectbig.yy",},
- {"name":"sfx_escaperumble","order":35,"path":"sounds/sfx_escaperumble/sfx_escaperumble.yy",},
- {"name":"sfx_explosion","order":48,"path":"sounds/sfx_explosion/sfx_explosion.yy",},
- {"name":"sfx_fileselect1","order":36,"path":"sounds/sfx_fileselect1/sfx_fileselect1.yy",},
- {"name":"sfx_fileselect2","order":32,"path":"sounds/sfx_fileselect2/sfx_fileselect2.yy",},
- {"name":"sfx_fileselect3","order":42,"path":"sounds/sfx_fileselect3/sfx_fileselect3.yy",},
- {"name":"sfx_fireass","order":31,"path":"sounds/sfx_fireass/sfx_fireass.yy",},
- {"name":"sfx_genericfire","order":30,"path":"sounds/sfx_genericfire/sfx_genericfire.yy",},
- {"name":"sfx_geromecollect","order":29,"path":"sounds/sfx_geromecollect/sfx_geromecollect.yy",},
- {"name":"sfx_grabcancel","order":126,"path":"sounds/sfx_grabcancel/sfx_grabcancel.yy",},
- {"name":"sfx_groundpound","order":27,"path":"sounds/sfx_groundpound/sfx_groundpound.yy",},
- {"name":"sfx_groundpoundloop","order":28,"path":"sounds/sfx_groundpoundloop/sfx_groundpoundloop.yy",},
- {"name":"sfx_hurt","order":34,"path":"sounds/sfx_hurt/sfx_hurt.yy",},
- {"name":"sfx_jump","order":33,"path":"sounds/sfx_jump/sfx_jump.yy",},
- {"name":"sfx_killenemy","order":43,"path":"sounds/sfx_killenemy/sfx_killenemy.yy",},
- {"name":"sfx_killingblow","order":40,"path":"sounds/sfx_killingblow/sfx_killingblow.yy",},
- {"name":"sfx_lap2ring","order":38,"path":"sounds/sfx_lap2ring/sfx_lap2ring.yy",},
- {"name":"sfx_lapportal","order":47,"path":"sounds/sfx_lapportal/sfx_lapportal.yy",},
- {"name":"sfx_mach1","order":26,"path":"sounds/sfx_mach1/sfx_mach1.yy",},
- {"name":"sfx_mach2","order":37,"path":"sounds/sfx_mach2/sfx_mach2.yy",},
- {"name":"sfx_mach3","order":39,"path":"sounds/sfx_mach3/sfx_mach3.yy",},
- {"name":"sfx_mach4","order":41,"path":"sounds/sfx_mach4/sfx_mach4.yy",},
- {"name":"sfx_machslideboost","order":45,"path":"sounds/sfx_machslideboost/sfx_machslideboost.yy",},
- {"name":"sfx_menulight","order":44,"path":"sounds/sfx_menulight/sfx_menulight.yy",},
- {"name":"sfx_menustatic","order":46,"path":"sounds/sfx_menustatic/sfx_menustatic.yy",},
- {"name":"sfx_otherbump","order":117,"path":"sounds/sfx_otherbump/sfx_otherbump.yy",},
- {"name":"sfx_outtransfo","order":70,"path":"sounds/sfx_outtransfo/sfx_outtransfo.yy",},
- {"name":"sfx_parry","order":69,"path":"sounds/sfx_parry/sfx_parry.yy",},
- {"name":"sfx_peppermanrun","order":67,"path":"sounds/sfx_peppermanrun/sfx_peppermanrun.yy",},
- {"name":"sfx_peppinopunch","order":120,"path":"sounds/sfx_peppinopunch/sfx_peppinopunch.yy",},
- {"name":"sfx_pepsticker","order":60,"path":"sounds/sfx_pepsticker/sfx_pepsticker.yy",},
- {"name":"sfx_pillarimpact","order":57,"path":"sounds/sfx_pillarimpact/sfx_pillarimpact.yy",},
- {"name":"sfx_pillarspawn","order":56,"path":"sounds/sfx_pillarspawn/sfx_pillarspawn.yy",},
- {"name":"sfx_pizzaface","order":59,"path":"sounds/sfx_pizzaface/sfx_pizzaface.yy",},
- {"name":"sfx_pizzafacemove","order":54,"path":"sounds/sfx_pizzafacemove/sfx_pizzafacemove.yy",},
- {"name":"sfx_pray","order":119,"path":"sounds/sfx_pray/sfx_pray.yy",},
- {"name":"sfx_punch","order":52,"path":"sounds/sfx_punch/sfx_punch.yy",},
- {"name":"sfx_rankdown1","order":68,"path":"sounds/sfx_rankdown1/sfx_rankdown1.yy",},
- {"name":"sfx_rankdown2","order":50,"path":"sounds/sfx_rankdown2/sfx_rankdown2.yy",},
- {"name":"sfx_rankdown3","order":55,"path":"sounds/sfx_rankdown3/sfx_rankdown3.yy",},
- {"name":"sfx_rankdown4","order":51,"path":"sounds/sfx_rankdown4/sfx_rankdown4.yy",},
- {"name":"sfx_rankdown5","order":53,"path":"sounds/sfx_rankdown5/sfx_rankdown5.yy",},
- {"name":"sfx_rankup1","order":63,"path":"sounds/sfx_rankup1/sfx_rankup1.yy",},
- {"name":"sfx_rankup2","order":58,"path":"sounds/sfx_rankup2/sfx_rankup2.yy",},
- {"name":"sfx_rankup3","order":61,"path":"sounds/sfx_rankup3/sfx_rankup3.yy",},
- {"name":"sfx_rankup4","order":62,"path":"sounds/sfx_rankup4/sfx_rankup4.yy",},
- {"name":"sfx_rankup5","order":64,"path":"sounds/sfx_rankup5/sfx_rankup5.yy",},
- {"name":"sfx_ratdead","order":66,"path":"sounds/sfx_ratdead/sfx_ratdead.yy",},
- {"name":"sfx_ratsniff","order":92,"path":"sounds/sfx_ratsniff/sfx_ratsniff.yy",},
- {"name":"sfx_rollgetup","order":65,"path":"sounds/sfx_rollgetup/sfx_rollgetup.yy",},
- {"name":"sfx_secretenter","order":90,"path":"sounds/sfx_secretenter/sfx_secretenter.yy",},
- {"name":"sfx_secretexit","order":79,"path":"sounds/sfx_secretexit/sfx_secretexit.yy",},
- {"name":"sfx_shotgunload","order":98,"path":"sounds/sfx_shotgunload/sfx_shotgunload.yy",},
- {"name":"sfx_shotgunshot","order":80,"path":"sounds/sfx_shotgunshot/sfx_shotgunshot.yy",},
- {"name":"sfx_slip","order":112,"path":"sounds/sfx_slip/sfx_slip.yy",},
- {"name":"sfx_slipend1","order":113,"path":"sounds/sfx_slipend1/sfx_slipend1.yy",},
- {"name":"sfx_slipend2","order":115,"path":"sounds/sfx_slipend2/sfx_slipend2.yy",},
- {"name":"sfx_slipend3","order":116,"path":"sounds/sfx_slipend3/sfx_slipend3.yy",},
- {"name":"sfx_sliphit1","order":104,"path":"sounds/sfx_sliphit1/sfx_sliphit1.yy",},
- {"name":"sfx_sliphit2","order":105,"path":"sounds/sfx_sliphit2/sfx_sliphit2.yy",},
- {"name":"sfx_sliphit3","order":106,"path":"sounds/sfx_sliphit3/sfx_sliphit3.yy",},
- {"name":"sfx_sliphit4","order":107,"path":"sounds/sfx_sliphit4/sfx_sliphit4.yy",},
- {"name":"sfx_sliphit5","order":108,"path":"sounds/sfx_sliphit5/sfx_sliphit5.yy",},
- {"name":"sfx_sliphit6","order":109,"path":"sounds/sfx_sliphit6/sfx_sliphit6.yy",},
- {"name":"sfx_sliphit7","order":110,"path":"sounds/sfx_sliphit7/sfx_sliphit7.yy",},
- {"name":"sfx_sliphit8","order":111,"path":"sounds/sfx_sliphit8/sfx_sliphit8.yy",},
- {"name":"sfx_spin","order":89,"path":"sounds/sfx_spin/sfx_spin.yy",},
- {"name":"sfx_splat","order":81,"path":"sounds/sfx_splat/sfx_splat.yy",},
- {"name":"sfx_step","order":78,"path":"sounds/sfx_step/sfx_step.yy",},
- {"name":"sfx_stompenemy","order":77,"path":"sounds/sfx_stompenemy/sfx_stompenemy.yy",},
- {"name":"sfx_superjumpcancel","order":83,"path":"sounds/sfx_superjumpcancel/sfx_superjumpcancel.yy",},
- {"name":"sfx_superjumphold","order":73,"path":"sounds/sfx_superjumphold/sfx_superjumphold.yy",},
- {"name":"sfx_superjumprelease","order":72,"path":"sounds/sfx_superjumprelease/sfx_superjumprelease.yy",},
- {"name":"sfx_superspring","order":75,"path":"sounds/sfx_superspring/sfx_superspring.yy",},
- {"name":"sfx_supertaunt","order":74,"path":"sounds/sfx_supertaunt/sfx_supertaunt.yy",},
- {"name":"sfx_supertauntnotif","order":82,"path":"sounds/sfx_supertauntnotif/sfx_supertauntnotif.yy",},
- {"name":"sfx_suplexdash","order":76,"path":"sounds/sfx_suplexdash/sfx_suplexdash.yy",},
- {"name":"sfx_taunt","order":86,"path":"sounds/sfx_taunt/sfx_taunt.yy",},
- {"name":"sfx_teleportenter","order":84,"path":"sounds/sfx_teleportenter/sfx_teleportenter.yy",},
- {"name":"sfx_teleportexit","order":85,"path":"sounds/sfx_teleportexit/sfx_teleportexit.yy",},
- {"name":"sfx_timesup","order":88,"path":"sounds/sfx_timesup/sfx_timesup.yy",},
- {"name":"sfx_toppinhelp","order":87,"path":"sounds/sfx_toppinhelp/sfx_toppinhelp.yy",},
- {"name":"sfx_transfo","order":118,"path":"sounds/sfx_transfo/sfx_transfo.yy",},
- {"name":"sfx_treasurefind","order":91,"path":"sounds/sfx_treasurefind/sfx_treasurefind.yy",},
- {"name":"sfx_tvswitch","order":94,"path":"sounds/sfx_tvswitch/sfx_tvswitch.yy",},
- {"name":"sfx_tvswitchback","order":93,"path":"sounds/sfx_tvswitchback/sfx_tvswitchback.yy",},
- {"name":"sfx_ui_accept1","order":121,"path":"sounds/sfx_ui_accept1/sfx_ui_accept1.yy",},
- {"name":"sfx_ui_accept2","order":122,"path":"sounds/sfx_ui_accept2/sfx_ui_accept2.yy",},
- {"name":"sfx_ui_accept3","order":123,"path":"sounds/sfx_ui_accept3/sfx_ui_accept3.yy",},
- {"name":"sfx_ui_back","order":125,"path":"sounds/sfx_ui_back/sfx_ui_back.yy",},
- {"name":"sfx_ui_pausemove","order":124,"path":"sounds/sfx_ui_pausemove/sfx_ui_pausemove.yy",},
- {"name":"sfx_unlock","order":95,"path":"sounds/sfx_unlock/sfx_unlock.yy",},
- {"name":"sfx_uppercut","order":96,"path":"sounds/sfx_uppercut/sfx_uppercut.yy",},
- {"name":"sfx_vulnerable","order":97,"path":"sounds/sfx_vulnerable/sfx_vulnerable.yy",},
- {"name":"v_option_frog","order":11,"path":"sounds/v_option_frog/v_option_frog.yy",},
- {"name":"v_pep_alright_high","order":1,"path":"sounds/v_pep_alright_high/v_pep_alright_high.yy",},
- {"name":"v_pep_bah","order":8,"path":"sounds/v_pep_bah/v_pep_bah.yy",},
- {"name":"v_pep_hurt","order":2,"path":"sounds/v_pep_hurt/v_pep_hurt.yy",},
- {"name":"v_pep_hurt2","order":6,"path":"sounds/v_pep_hurt2/v_pep_hurt2.yy",},
- {"name":"v_pep_paParanoid","order":3,"path":"sounds/v_pep_paParanoid/v_pep_paParanoid.yy",},
- {"name":"v_pep_paranoid","order":4,"path":"sounds/v_pep_paranoid/v_pep_paranoid.yy",},
- {"name":"v_pep_shuk","order":5,"path":"sounds/v_pep_shuk/v_pep_shuk.yy",},
- {"name":"v_peppinoscream","order":7,"path":"sounds/v_peppinoscream/v_peppinoscream.yy",},
- {"name":"v_rarescream1","order":9,"path":"sounds/v_rarescream1/v_rarescream1.yy",},
- {"name":"v_rarescream2","order":10,"path":"sounds/v_rarescream2/v_rarescream2.yy",},
{"name":"bg_arena_pepperman","order":3,"path":"sprites/bg_arena_pepperman/bg_arena_pepperman.yy",},
{"name":"bg_bossversus","order":5,"path":"sprites/bg_bossversus/bg_bossversus.yy",},
{"name":"bg_dragonlair","order":6,"path":"sprites/bg_dragonlair/bg_dragonlair.yy",},
@@ -472,6 +339,7 @@
{"name":"bg_medieval2","order":7,"path":"sprites/bg_medieval2/bg_medieval2.yy",},
{"name":"bg_pepperman_clouds","order":21,"path":"sprites/bg_pepperman_clouds/bg_pepperman_clouds.yy",},
{"name":"bg_pepperman","order":2,"path":"sprites/bg_pepperman/bg_pepperman.yy",},
+ {"name":"bg_rankN_P","order":9,"path":"sprites/bg_rankN_P/bg_rankN_P.yy",},
{"name":"bg_secret","order":9,"path":"sprites/bg_secret/bg_secret.yy",},
{"name":"bg_tower","order":3,"path":"sprites/bg_tower/bg_tower.yy",},
{"name":"bg_tower2","order":5,"path":"sprites/bg_tower2/bg_tower2.yy",},
@@ -485,25 +353,39 @@
{"name":"mask_pepperman","order":3,"path":"sprites/mask_pepperman/mask_pepperman.yy",},
{"name":"mask_player_small","order":1,"path":"sprites/mask_player_small/mask_player_small.yy",},
{"name":"pal_combo","order":14,"path":"sprites/pal_combo/pal_combo.yy",},
- {"name":"pal_peppino","order":1,"path":"sprites/pal_peppino/pal_peppino.yy",},
+ {"name":"pal_combobubble","order":32,"path":"sprites/pal_combobubble/pal_combobubble.yy",},
+ {"name":"pal_playerN","order":23,"path":"sprites/pal_playerN/pal_playerN.yy",},
+ {"name":"pal_playerP","order":1,"path":"sprites/pal_playerP/pal_playerP.yy",},
+ {"name":"pal_playerpattenrcolorsN","order":24,"path":"sprites/pal_playerpattenrcolorsN/pal_playerpattenrcolorsN.yy",},
+ {"name":"pal_tv","order":31,"path":"sprites/pal_tv/pal_tv.yy",},
{"name":"pat_autumn","order":10,"path":"sprites/pat_autumn/pat_autumn.yy",},
+ {"name":"pat_banana","order":29,"path":"sprites/pat_banana/pat_banana.yy",},
{"name":"pat_bloodstained","order":9,"path":"sprites/pat_bloodstained/pat_bloodstained.yy",},
{"name":"pat_bones","order":20,"path":"sprites/pat_bones/pat_bones.yy",},
+ {"name":"pat_bubbly","order":32,"path":"sprites/pat_bubbly/pat_bubbly.yy",},
{"name":"pat_candy","order":8,"path":"sprites/pat_candy/pat_candy.yy",},
+ {"name":"pat_comedian","order":28,"path":"sprites/pat_comedian/pat_comedian.yy",},
+ {"name":"pat_cow","order":33,"path":"sprites/pat_cow/pat_cow.yy",},
{"name":"pat_eyes","order":13,"path":"sprites/pat_eyes/pat_eyes.yy",},
{"name":"pat_funny","order":4,"path":"sprites/pat_funny/pat_funny.yy",},
{"name":"pat_fur","order":12,"path":"sprites/pat_fur/pat_fur.yy",},
{"name":"pat_goldemanne","order":19,"path":"sprites/pat_goldemanne/pat_goldemanne.yy",},
+ {"name":"pat_granny","order":34,"path":"sprites/pat_granny/pat_granny.yy",},
{"name":"pat_itchy","order":17,"path":"sprites/pat_itchy/pat_itchy.yy",},
{"name":"pat_john","order":7,"path":"sprites/pat_john/pat_john.yy",},
+ {"name":"pat_madman","order":31,"path":"sprites/pat_madman/pat_madman.yy",},
+ {"name":"pat_ntv","order":30,"path":"sprites/pat_ntv/pat_ntv.yy",},
{"name":"pat_pizza","order":3,"path":"sprites/pat_pizza/pat_pizza.yy",},
{"name":"pat_pp","order":21,"path":"sprites/pat_pp/pat_pp.yy",},
{"name":"pat_pumpkin","order":11,"path":"sprites/pat_pumpkin/pat_pumpkin.yy",},
+ {"name":"pat_racer","order":27,"path":"sprites/pat_racer/pat_racer.yy",},
{"name":"pat_stripes","order":18,"path":"sprites/pat_stripes/pat_stripes.yy",},
+ {"name":"pat_tower","order":35,"path":"sprites/pat_tower/pat_tower.yy",},
{"name":"pat_war","order":6,"path":"sprites/pat_war/pat_war.yy",},
{"name":"sfopiopogrjkbjldv","order":20,"path":"sprites/sfopiopogrjkbjldv/sfopiopogrjkbjldv.yy",},
{"name":"spr_angrycloud","order":46,"path":"sprites/spr_angrycloud/spr_angrycloud.yy",},
{"name":"spr_bangeffect","order":1,"path":"sprites/spr_bangeffect/spr_bangeffect.yy",},
+ {"name":"spr_beatboxN","order":16,"path":"sprites/spr_beatboxN/spr_beatboxN.yy",},
{"name":"spr_bigcollectmushroom","order":4,"path":"sprites/spr_bigcollectmushroom/spr_bigcollectmushroom.yy",},
{"name":"spr_bigcollectpineapple","order":3,"path":"sprites/spr_bigcollectpineapple/spr_bigcollectpineapple.yy",},
{"name":"spr_bigcollectsausage","order":2,"path":"sprites/spr_bigcollectsausage/spr_bigcollectsausage.yy",},
@@ -547,6 +429,8 @@
{"name":"spr_destroyable_smoke","order":24,"path":"sprites/spr_destroyable_smoke/spr_destroyable_smoke.yy",},
{"name":"spr_destroyable","order":1,"path":"sprites/spr_destroyable/spr_destroyable.yy",},
{"name":"spr_dresser","order":7,"path":"sprites/spr_dresser/spr_dresser.yy",},
+ {"name":"spr_drilldebris","order":51,"path":"sprites/spr_drilldebris/spr_drilldebris.yy",},
+ {"name":"spr_drilleffect","order":52,"path":"sprites/spr_drilleffect/spr_drilleffect.yy",},
{"name":"spr_enemybird","order":47,"path":"sprites/spr_enemybird/spr_enemybird.yy",},
{"name":"spr_entrance_bgtile2","order":1,"path":"sprites/spr_entrance_bgtile2/spr_entrance_bgtile2.yy",},
{"name":"spr_entrance_bgtile3","order":2,"path":"sprites/spr_entrance_bgtile3/spr_entrance_bgtile3.yy",},
@@ -589,6 +473,7 @@
{"name":"spr_gustavo_exitidle","order":13,"path":"sprites/spr_gustavo_exitidle/spr_gustavo_exitidle.yy",},
{"name":"spr_highjumpcloud2","order":19,"path":"sprites/spr_highjumpcloud2/spr_highjumpcloud2.yy",},
{"name":"spr_hurtstars","order":14,"path":"sprites/spr_hurtstars/spr_hurtstars.yy",},
+ {"name":"spr_intro_fmod","order":35,"path":"sprites/spr_intro_fmod/spr_intro_fmod.yy",},
{"name":"spr_jumpdust","order":12,"path":"sprites/spr_jumpdust/spr_jumpdust.yy",},
{"name":"spr_key","order":16,"path":"sprites/spr_key/spr_key.yy",},
{"name":"spr_keydoor","order":1,"path":"sprites/spr_keydoor/spr_keydoor.yy",},
@@ -596,6 +481,7 @@
{"name":"spr_kungfueffect","order":43,"path":"sprites/spr_kungfueffect/spr_kungfueffect.yy",},
{"name":"spr_ladder","order":2,"path":"sprites/spr_ladder/spr_ladder.yy",},
{"name":"spr_landeffect","order":32,"path":"sprites/spr_landeffect/spr_landeffect.yy",},
+ {"name":"spr_landeffectbig","order":53,"path":"sprites/spr_landeffectbig/spr_landeffectbig.yy",},
{"name":"spr_lap2","order":15,"path":"sprites/spr_lap2/spr_lap2.yy",},
{"name":"spr_lap2warning","order":18,"path":"sprites/spr_lap2warning/spr_lap2warning.yy",},
{"name":"spr_lapflag","order":21,"path":"sprites/spr_lapflag/spr_lapflag.yy",},
@@ -632,6 +518,8 @@
{"name":"spr_mp_bird","order":6,"path":"sprites/spr_mp_bird/spr_mp_bird.yy",},
{"name":"spr_mushroomcollect","order":2,"path":"sprites/spr_mushroomcollect/spr_mushroomcollect.yy",},
{"name":"spr_negativenumber_font","order":7,"path":"sprites/spr_negativenumber_font/spr_negativenumber_font.yy",},
+ {"name":"spr_noisebump","order":50,"path":"sprites/spr_noisebump/spr_noisebump.yy",},
+ {"name":"spr_noiseicon","order":5,"path":"sprites/spr_noiseicon/spr_noiseicon.yy",},
{"name":"spr_notes","order":14,"path":"sprites/spr_notes/spr_notes.yy",},
{"name":"spr_null","order":3,"path":"sprites/spr_null/spr_null.yy",},
{"name":"spr_olddoor","order":1,"path":"sprites/spr_olddoor/spr_olddoor.yy",},
@@ -640,11 +528,13 @@
{"name":"spr_onewaydead","order":3,"path":"sprites/spr_onewaydead/spr_onewaydead.yy",},
{"name":"spr_optionbg","order":30,"path":"sprites/spr_optionbg/spr_optionbg.yy",},
{"name":"spr_outlet","order":25,"path":"sprites/spr_outlet/spr_outlet.yy",},
- {"name":"spr_palettedresserdebris","order":22,"path":"sprites/spr_palettedresserdebris/spr_palettedresserdebris.yy",},
+ {"name":"spr_palettedresserdebrisN","order":22,"path":"sprites/spr_palettedresserdebrisN/spr_palettedresserdebrisN.yy",},
+ {"name":"spr_palettedresserdebrisP","order":25,"path":"sprites/spr_palettedresserdebrisP/spr_palettedresserdebrisP.yy",},
{"name":"spr_parryflash","order":6,"path":"sprites/spr_parryflash/spr_parryflash.yy",},
{"name":"spr_pause_icons","order":2,"path":"sprites/spr_pause_icons/spr_pause_icons.yy",},
{"name":"spr_pause_treasuretext","order":3,"path":"sprites/spr_pause_treasuretext/spr_pause_treasuretext.yy",},
{"name":"spr_pause_vines","order":1,"path":"sprites/spr_pause_vines/spr_pause_vines.yy",},
+ {"name":"spr_pepicon","order":4,"path":"sprites/spr_pepicon/spr_pepicon.yy",},
{"name":"spr_pepperman_idle","order":2,"path":"sprites/spr_pepperman_idle/spr_pepperman_idle.yy",},
{"name":"spr_pepperman_run","order":4,"path":"sprites/spr_pepperman_run/spr_pepperman_run.yy",},
{"name":"spr_pepperman_shoulderhurt","order":5,"path":"sprites/spr_pepperman_shoulderhurt/spr_pepperman_shoulderhurt.yy",},
@@ -689,152 +579,268 @@
{"name":"spr_pizzasona1","order":1,"path":"sprites/spr_pizzasona1/spr_pizzasona1.yy",},
{"name":"spr_pizzatime","order":6,"path":"sprites/spr_pizzatime/spr_pizzatime.yy",},
{"name":"spr_platform","order":2,"path":"sprites/spr_platform/spr_platform.yy",},
- {"name":"spr_player_backslide","order":18,"path":"sprites/spr_player_backslide/spr_player_backslide.yy",},
- {"name":"spr_player_ball","order":21,"path":"sprites/spr_player_ball/spr_player_ball.yy",},
- {"name":"spr_player_ballend","order":137,"path":"sprites/spr_player_ballend/spr_player_ballend.yy",},
- {"name":"spr_player_bodyslamfall","order":37,"path":"sprites/spr_player_bodyslamfall/spr_player_bodyslamfall.yy",},
- {"name":"spr_player_bodyslamland","order":27,"path":"sprites/spr_player_bodyslamland/spr_player_bodyslamland.yy",},
- {"name":"spr_player_bodyslamstart","order":38,"path":"sprites/spr_player_bodyslamstart/spr_player_bodyslamstart.yy",},
- {"name":"spr_player_bossdefeated","order":133,"path":"sprites/spr_player_bossdefeated/spr_player_bossdefeated.yy",},
- {"name":"spr_player_breakdance","order":65,"path":"sprites/spr_player_breakdance/spr_player_breakdance.yy",},
- {"name":"spr_player_bump","order":30,"path":"sprites/spr_player_bump/spr_player_bump.yy",},
- {"name":"spr_player_ceilinghit","order":25,"path":"sprites/spr_player_ceilinghit/spr_player_ceilinghit.yy",},
- {"name":"spr_player_climbwall","order":7,"path":"sprites/spr_player_climbwall/spr_player_climbwall.yy",},
- {"name":"spr_player_clingwall","order":85,"path":"sprites/spr_player_clingwall/spr_player_clingwall.yy",},
- {"name":"spr_player_crawl","order":53,"path":"sprites/spr_player_crawl/spr_player_crawl.yy",},
- {"name":"spr_player_crazyrun","order":5,"path":"sprites/spr_player_crazyrun/spr_player_crazyrun.yy",},
- {"name":"spr_player_crouch","order":54,"path":"sprites/spr_player_crouch/spr_player_crouch.yy",},
- {"name":"spr_player_crouchdown","order":55,"path":"sprites/spr_player_crouchdown/spr_player_crouchdown.yy",},
- {"name":"spr_player_crouchfall","order":52,"path":"sprites/spr_player_crouchfall/spr_player_crouchfall.yy",},
- {"name":"spr_player_crouchslip","order":22,"path":"sprites/spr_player_crouchslip/spr_player_crouchslip.yy",},
- {"name":"spr_player_dashpad","order":90,"path":"sprites/spr_player_dashpad/spr_player_dashpad.yy",},
- {"name":"spr_player_dead","order":87,"path":"sprites/spr_player_dead/spr_player_dead.yy",},
- {"name":"spr_player_defeat","order":127,"path":"sprites/spr_player_defeat/spr_player_defeat.yy",},
- {"name":"spr_player_defeatland","order":128,"path":"sprites/spr_player_defeatland/spr_player_defeatland.yy",},
- {"name":"spr_player_dive","order":19,"path":"sprites/spr_player_dive/spr_player_dive.yy",},
- {"name":"spr_player_downpizzabox","order":60,"path":"sprites/spr_player_downpizzabox/spr_player_downpizzabox.yy",},
- {"name":"spr_player_entergate","order":113,"path":"sprites/spr_player_entergate/spr_player_entergate.yy",},
- {"name":"spr_player_enterkeydoor","order":109,"path":"sprites/spr_player_enterkeydoor/spr_player_enterkeydoor.yy",},
- {"name":"spr_player_facehurt","order":35,"path":"sprites/spr_player_facehurt/spr_player_facehurt.yy",},
- {"name":"spr_player_fall","order":31,"path":"sprites/spr_player_fall/spr_player_fall.yy",},
- {"name":"spr_player_fallface","order":119,"path":"sprites/spr_player_fallface/spr_player_fallface.yy",},
- {"name":"spr_player_finishingblow1","order":80,"path":"sprites/spr_player_finishingblow1/spr_player_finishingblow1.yy",},
- {"name":"spr_player_finishingblow2","order":79,"path":"sprites/spr_player_finishingblow2/spr_player_finishingblow2.yy",},
- {"name":"spr_player_finishingblow3","order":78,"path":"sprites/spr_player_finishingblow3/spr_player_finishingblow3.yy",},
- {"name":"spr_player_finishingblow4","order":77,"path":"sprites/spr_player_finishingblow4/spr_player_finishingblow4.yy",},
- {"name":"spr_player_finishingblow5","order":76,"path":"sprites/spr_player_finishingblow5/spr_player_finishingblow5.yy",},
- {"name":"spr_player_fireass","order":134,"path":"sprites/spr_player_fireass/spr_player_fireass.yy",},
- {"name":"spr_player_fireassground","order":135,"path":"sprites/spr_player_fireassground/spr_player_fireassground.yy",},
- {"name":"spr_player_freefall","order":120,"path":"sprites/spr_player_freefall/spr_player_freefall.yy",},
- {"name":"spr_player_freefallland","order":121,"path":"sprites/spr_player_freefallland/spr_player_freefallland.yy",},
- {"name":"spr_player_gottreasure","order":103,"path":"sprites/spr_player_gottreasure/spr_player_gottreasure.yy",},
- {"name":"spr_player_grind","order":84,"path":"sprites/spr_player_grind/spr_player_grind.yy",},
- {"name":"spr_player_haulingfall","order":68,"path":"sprites/spr_player_haulingfall/spr_player_haulingfall.yy",},
- {"name":"spr_player_haulingidle","order":71,"path":"sprites/spr_player_haulingidle/spr_player_haulingidle.yy",},
- {"name":"spr_player_haulingjump","order":69,"path":"sprites/spr_player_haulingjump/spr_player_haulingjump.yy",},
- {"name":"spr_player_haulingland","order":67,"path":"sprites/spr_player_haulingland/spr_player_haulingland.yy",},
- {"name":"spr_player_haulingmove","order":70,"path":"sprites/spr_player_haulingmove/spr_player_haulingmove.yy",},
- {"name":"spr_player_haulingrise","order":72,"path":"sprites/spr_player_haulingrise/spr_player_haulingrise.yy",},
- {"name":"spr_player_hurt","order":88,"path":"sprites/spr_player_hurt/spr_player_hurt.yy",},
- {"name":"spr_player_hurtbehind","order":104,"path":"sprites/spr_player_hurtbehind/spr_player_hurtbehind.yy",},
- {"name":"spr_player_hurtidle","order":99,"path":"sprites/spr_player_hurtidle/spr_player_hurtidle.yy",},
- {"name":"spr_player_hurtjump","order":106,"path":"sprites/spr_player_hurtjump/spr_player_hurtjump.yy",},
- {"name":"spr_player_hurtmove","order":97,"path":"sprites/spr_player_hurtmove/spr_player_hurtmove.yy",},
- {"name":"spr_player_idlebite","order":91,"path":"sprites/spr_player_idlebite/spr_player_idlebite.yy",},
- {"name":"spr_player_idlecareless","order":93,"path":"sprites/spr_player_idlecareless/spr_player_idlecareless.yy",},
- {"name":"spr_player_idledance","order":95,"path":"sprites/spr_player_idledance/spr_player_idledance.yy",},
- {"name":"spr_player_idlefrown","order":96,"path":"sprites/spr_player_idlefrown/spr_player_idlefrown.yy",},
- {"name":"spr_player_idlehand","order":94,"path":"sprites/spr_player_idlehand/spr_player_idlehand.yy",},
- {"name":"spr_player_idlewhat","order":92,"path":"sprites/spr_player_idlewhat/spr_player_idlewhat.yy",},
- {"name":"spr_player_jump","order":34,"path":"sprites/spr_player_jump/spr_player_jump.yy",},
- {"name":"spr_player_keyget","order":107,"path":"sprites/spr_player_keyget/spr_player_keyget.yy",},
- {"name":"spr_player_kungfu1","order":131,"path":"sprites/spr_player_kungfu1/spr_player_kungfu1.yy",},
- {"name":"spr_player_kungfu2","order":130,"path":"sprites/spr_player_kungfu2/spr_player_kungfu2.yy",},
- {"name":"spr_player_kungfu3","order":129,"path":"sprites/spr_player_kungfu3/spr_player_kungfu3.yy",},
- {"name":"spr_player_ladder","order":63,"path":"sprites/spr_player_ladder/spr_player_ladder.yy",},
- {"name":"spr_player_ladderdown","order":61,"path":"sprites/spr_player_ladderdown/spr_player_ladderdown.yy",},
- {"name":"spr_player_laddermove","order":62,"path":"sprites/spr_player_laddermove/spr_player_laddermove.yy",},
- {"name":"spr_player_land","order":33,"path":"sprites/spr_player_land/spr_player_land.yy",},
- {"name":"spr_player_landmove","order":32,"path":"sprites/spr_player_landmove/spr_player_landmove.yy",},
- {"name":"spr_player_longjump","order":43,"path":"sprites/spr_player_longjump/spr_player_longjump.yy",},
- {"name":"spr_player_lookdoor","order":57,"path":"sprites/spr_player_lookdoor/spr_player_lookdoor.yy",},
- {"name":"spr_player_lungehit","order":132,"path":"sprites/spr_player_lungehit/spr_player_lungehit.yy",},
- {"name":"spr_player_mach1","order":2,"path":"sprites/spr_player_mach1/spr_player_mach1.yy",},
- {"name":"spr_player_mach2","order":3,"path":"sprites/spr_player_mach2/spr_player_mach2.yy",},
- {"name":"spr_player_mach2jump","order":23,"path":"sprites/spr_player_mach2jump/spr_player_mach2jump.yy",},
- {"name":"spr_player_mach3","order":4,"path":"sprites/spr_player_mach3/spr_player_mach3.yy",},
- {"name":"spr_player_mach3hit","order":66,"path":"sprites/spr_player_mach3hit/spr_player_mach3hit.yy",},
- {"name":"spr_player_mach3hitwall","order":29,"path":"sprites/spr_player_mach3hitwall/spr_player_mach3hitwall.yy",},
- {"name":"spr_player_mach3jump","order":6,"path":"sprites/spr_player_mach3jump/spr_player_mach3jump.yy",},
- {"name":"spr_player_machfreefall","order":46,"path":"sprites/spr_player_machfreefall/spr_player_machfreefall.yy",},
- {"name":"spr_player_machroll","order":20,"path":"sprites/spr_player_machroll/spr_player_machroll.yy",},
- {"name":"spr_player_machslideboost","order":12,"path":"sprites/spr_player_machslideboost/spr_player_machslideboost.yy",},
- {"name":"spr_player_machslideboost3","order":13,"path":"sprites/spr_player_machslideboost3/spr_player_machslideboost3.yy",},
- {"name":"spr_player_machslideboost3fall","order":14,"path":"sprites/spr_player_machslideboost3fall/spr_player_machslideboost3fall.yy",},
- {"name":"spr_player_machslideboostfall","order":15,"path":"sprites/spr_player_machslideboostfall/spr_player_machslideboostfall.yy",},
- {"name":"spr_player_machslideend","order":16,"path":"sprites/spr_player_machslideend/spr_player_machslideend.yy",},
- {"name":"spr_player_machslidestart","order":17,"path":"sprites/spr_player_machslidestart/spr_player_machslidestart.yy",},
- {"name":"spr_player_madidle","order":139,"path":"sprites/spr_player_madidle/spr_player_madidle.yy",},
- {"name":"spr_player_madmove","order":140,"path":"sprites/spr_player_madmove/spr_player_madmove.yy",},
- {"name":"spr_player_move","order":1,"path":"sprites/spr_player_move/spr_player_move.yy",},
- {"name":"spr_player_panic","order":98,"path":"sprites/spr_player_panic/spr_player_panic.yy",},
- {"name":"spr_player_parry1","order":101,"path":"sprites/spr_player_parry1/spr_player_parry1.yy",},
- {"name":"spr_player_parry2","order":102,"path":"sprites/spr_player_parry2/spr_player_parry2.yy",},
- {"name":"spr_player_parry3","order":100,"path":"sprites/spr_player_parry3/spr_player_parry3.yy",},
- {"name":"spr_player_piledriver","order":74,"path":"sprites/spr_player_piledriver/spr_player_piledriver.yy",},
- {"name":"spr_player_piledriverjump","order":75,"path":"sprites/spr_player_piledriverjump/spr_player_piledriverjump.yy",},
- {"name":"spr_player_piledriverland","order":73,"path":"sprites/spr_player_piledriverland/spr_player_piledriverland.yy",},
- {"name":"spr_player_poundcancel1","order":36,"path":"sprites/spr_player_poundcancel1/spr_player_poundcancel1.yy",},
- {"name":"spr_player_poundcancel2","order":26,"path":"sprites/spr_player_poundcancel2/spr_player_poundcancel2.yy",},
- {"name":"spr_player_presentboxspring","order":138,"path":"sprites/spr_player_presentboxspring/spr_player_presentboxspring.yy",},
- {"name":"spr_player_rageidle","order":141,"path":"sprites/spr_player_rageidle/spr_player_rageidle.yy",},
- {"name":"spr_player_ragemove","order":142,"path":"sprites/spr_player_ragemove/spr_player_ragemove.yy",},
- {"name":"spr_player_rockethitwall","order":112,"path":"sprites/spr_player_rockethitwall/spr_player_rockethitwall.yy",},
- {"name":"spr_player_rollgetup","order":24,"path":"sprites/spr_player_rollgetup/spr_player_rollgetup.yy",},
- {"name":"spr_player_scared","order":89,"path":"sprites/spr_player_scared/spr_player_scared.yy",},
- {"name":"spr_player_secondjump","order":8,"path":"sprites/spr_player_secondjump/spr_player_secondjump.yy",},
- {"name":"spr_player_secondjumploop","order":9,"path":"sprites/spr_player_secondjumploop/spr_player_secondjumploop.yy",},
- {"name":"spr_player_shotgun_crouch","order":7,"path":"sprites/spr_player_shotgun_crouch/spr_player_shotgun_crouch.yy",},
- {"name":"spr_player_shotgun_crouchfall","order":9,"path":"sprites/spr_player_shotgun_crouchfall/spr_player_shotgun_crouchfall.yy",},
- {"name":"spr_player_shotgun_crouchmove","order":8,"path":"sprites/spr_player_shotgun_crouchmove/spr_player_shotgun_crouchmove.yy",},
- {"name":"spr_player_shotgun_crouchstart","order":6,"path":"sprites/spr_player_shotgun_crouchstart/spr_player_shotgun_crouchstart.yy",},
- {"name":"spr_player_shotgun_fall","order":3,"path":"sprites/spr_player_shotgun_fall/spr_player_shotgun_fall.yy",},
- {"name":"spr_player_shotgun_idle","order":1,"path":"sprites/spr_player_shotgun_idle/spr_player_shotgun_idle.yy",},
- {"name":"spr_player_shotgun_jump","order":4,"path":"sprites/spr_player_shotgun_jump/spr_player_shotgun_jump.yy",},
- {"name":"spr_player_shotgun_land","order":12,"path":"sprites/spr_player_shotgun_land/spr_player_shotgun_land.yy",},
- {"name":"spr_player_shotgun_move","order":2,"path":"sprites/spr_player_shotgun_move/spr_player_shotgun_move.yy",},
- {"name":"spr_player_shotgun_shoot","order":5,"path":"sprites/spr_player_shotgun_shoot/spr_player_shotgun_shoot.yy",},
- {"name":"spr_player_shotgun_shootdown","order":10,"path":"sprites/spr_player_shotgun_shootdown/spr_player_shotgun_shootdown.yy",},
- {"name":"spr_player_shotgun_shootdownland","order":11,"path":"sprites/spr_player_shotgun_shootdownland/spr_player_shotgun_shootdownland.yy",},
- {"name":"spr_player_Sjumpcancel","order":44,"path":"sprites/spr_player_Sjumpcancel/spr_player_Sjumpcancel.yy",},
- {"name":"spr_player_Sjumpcancelstart","order":45,"path":"sprites/spr_player_Sjumpcancelstart/spr_player_Sjumpcancelstart.yy",},
- {"name":"spr_player_slipbanana1","order":110,"path":"sprites/spr_player_slipbanana1/spr_player_slipbanana1.yy",},
- {"name":"spr_player_slipbanana2","order":111,"path":"sprites/spr_player_slipbanana2/spr_player_slipbanana2.yy",},
- {"name":"spr_player_stomp","order":86,"path":"sprites/spr_player_stomp/spr_player_stomp.yy",},
- {"name":"spr_player_superjump","order":47,"path":"sprites/spr_player_superjump/spr_player_superjump.yy",},
- {"name":"spr_player_superjumpflash","order":50,"path":"sprites/spr_player_superjumpflash/spr_player_superjumpflash.yy",},
- {"name":"spr_player_superjumpmove","order":48,"path":"sprites/spr_player_superjumpmove/spr_player_superjumpmove.yy",},
- {"name":"spr_player_superjumpprep","order":49,"path":"sprites/spr_player_superjumpprep/spr_player_superjumpprep.yy",},
- {"name":"spr_player_supertaunt1","order":122,"path":"sprites/spr_player_supertaunt1/spr_player_supertaunt1.yy",},
- {"name":"spr_player_supertaunt2","order":123,"path":"sprites/spr_player_supertaunt2/spr_player_supertaunt2.yy",},
- {"name":"spr_player_supertaunt3","order":124,"path":"sprites/spr_player_supertaunt3/spr_player_supertaunt3.yy",},
- {"name":"spr_player_supertaunt4","order":125,"path":"sprites/spr_player_supertaunt4/spr_player_supertaunt4.yy",},
- {"name":"spr_player_suplexbump","order":41,"path":"sprites/spr_player_suplexbump/spr_player_suplexbump.yy",},
- {"name":"spr_player_suplexcancel","order":39,"path":"sprites/spr_player_suplexcancel/spr_player_suplexcancel.yy",},
- {"name":"spr_player_suplexdash","order":42,"path":"sprites/spr_player_suplexdash/spr_player_suplexdash.yy",},
- {"name":"spr_player_suplexgrabjump","order":40,"path":"sprites/spr_player_suplexgrabjump/spr_player_suplexgrabjump.yy",},
- {"name":"spr_player_swingding","order":82,"path":"sprites/spr_player_swingding/spr_player_swingding.yy",},
- {"name":"spr_player_swingdingend","order":83,"path":"sprites/spr_player_swingdingend/spr_player_swingdingend.yy",},
- {"name":"spr_player_taunt","order":51,"path":"sprites/spr_player_taunt/spr_player_taunt.yy",},
- {"name":"spr_player_timesup","order":58,"path":"sprites/spr_player_timesup/spr_player_timesup.yy",},
- {"name":"spr_player_uppercut","order":64,"path":"sprites/spr_player_uppercut/spr_player_uppercut.yy",},
- {"name":"spr_player_uppercutfinishingblow","order":81,"path":"sprites/spr_player_uppercutfinishingblow/spr_player_uppercutfinishingblow.yy",},
- {"name":"spr_player_uppizzabox","order":59,"path":"sprites/spr_player_uppizzabox/spr_player_uppizzabox.yy",},
- {"name":"spr_player_walkfront","order":56,"path":"sprites/spr_player_walkfront/spr_player_walkfront.yy",},
- {"name":"spr_player_walljumpend","order":11,"path":"sprites/spr_player_walljumpend/spr_player_walljumpend.yy",},
- {"name":"spr_player_walljumpstart","order":10,"path":"sprites/spr_player_walljumpstart/spr_player_walljumpstart.yy",},
- {"name":"spr_player_wallsplat","order":28,"path":"sprites/spr_player_wallsplat/spr_player_wallsplat.yy",},
- {"name":"spr_player_winding","order":143,"path":"sprites/spr_player_winding/spr_player_winding.yy",},
+ {"name":"spr_playerN_backslide","order":100,"path":"sprites/spr_playerN_backslide/spr_playerN_backslide.yy",},
+ {"name":"spr_playerN_bodyslamfall","order":67,"path":"sprites/spr_playerN_bodyslamfall/spr_playerN_bodyslamfall.yy",},
+ {"name":"spr_playerN_bodyslamland","order":65,"path":"sprites/spr_playerN_bodyslamland/spr_playerN_bodyslamland.yy",},
+ {"name":"spr_playerN_bodyslamstart","order":66,"path":"sprites/spr_playerN_bodyslamstart/spr_playerN_bodyslamstart.yy",},
+ {"name":"spr_playerN_breakdance","order":21,"path":"sprites/spr_playerN_breakdance/spr_playerN_breakdance.yy",},
+ {"name":"spr_playerN_bump","order":90,"path":"sprites/spr_playerN_bump/spr_playerN_bump.yy",},
+ {"name":"spr_playerN_ceilinghit","order":104,"path":"sprites/spr_playerN_ceilinghit/spr_playerN_ceilinghit.yy",},
+ {"name":"spr_playerN_crawl","order":113,"path":"sprites/spr_playerN_crawl/spr_playerN_crawl.yy",},
+ {"name":"spr_playerN_crazyrun","order":26,"path":"sprites/spr_playerN_crazyrun/spr_playerN_crazyrun.yy",},
+ {"name":"spr_playerN_crouch","order":110,"path":"sprites/spr_playerN_crouch/spr_playerN_crouch.yy",},
+ {"name":"spr_playerN_crouchdown","order":111,"path":"sprites/spr_playerN_crouchdown/spr_playerN_crouchdown.yy",},
+ {"name":"spr_playerN_crouchfall","order":112,"path":"sprites/spr_playerN_crouchfall/spr_playerN_crouchfall.yy",},
+ {"name":"spr_playerN_crouchslip","order":36,"path":"sprites/spr_playerN_crouchslip/spr_playerN_crouchslip.yy",},
+ {"name":"spr_playerN_crusher","order":56,"path":"sprites/spr_playerN_crusher/spr_playerN_crusher.yy",},
+ {"name":"spr_playerN_crusherland","order":57,"path":"sprites/spr_playerN_crusherland/spr_playerN_crusherland.yy",},
+ {"name":"spr_playerN_dashpad","order":39,"path":"sprites/spr_playerN_dashpad/spr_playerN_dashpad.yy",},
+ {"name":"spr_playerN_dead","order":123,"path":"sprites/spr_playerN_dead/spr_playerN_dead.yy",},
+ {"name":"spr_playerN_divebomb","order":27,"path":"sprites/spr_playerN_divebomb/spr_playerN_divebomb.yy",},
+ {"name":"spr_playerN_divebombfall","order":29,"path":"sprites/spr_playerN_divebombfall/spr_playerN_divebombfall.yy",},
+ {"name":"spr_playerN_divebombland","order":28,"path":"sprites/spr_playerN_divebombland/spr_playerN_divebombland.yy",},
+ {"name":"spr_playerN_downpizzabox","order":138,"path":"sprites/spr_playerN_downpizzabox/spr_playerN_downpizzabox.yy",},
+ {"name":"spr_playerN_entergate","order":108,"path":"sprites/spr_playerN_entergate/spr_playerN_entergate.yy",},
+ {"name":"spr_playerN_enterkeydoor","order":106,"path":"sprites/spr_playerN_enterkeydoor/spr_playerN_enterkeydoor.yy",},
+ {"name":"spr_playerN_facehurt","order":94,"path":"sprites/spr_playerN_facehurt/spr_playerN_facehurt.yy",},
+ {"name":"spr_playerN_fall","order":41,"path":"sprites/spr_playerN_fall/spr_playerN_fall.yy",},
+ {"name":"spr_playerN_fallface","order":61,"path":"sprites/spr_playerN_fallface/spr_playerN_fallface.yy",},
+ {"name":"spr_playerN_finishingblow1","order":93,"path":"sprites/spr_playerN_finishingblow1/spr_playerN_finishingblow1.yy",},
+ {"name":"spr_playerN_finishingblow2","order":92,"path":"sprites/spr_playerN_finishingblow2/spr_playerN_finishingblow2.yy",},
+ {"name":"spr_playerN_finishingblow3","order":73,"path":"sprites/spr_playerN_finishingblow3/spr_playerN_finishingblow3.yy",},
+ {"name":"spr_playerN_finishingblow4","order":91,"path":"sprites/spr_playerN_finishingblow4/spr_playerN_finishingblow4.yy",},
+ {"name":"spr_playerN_finishingblow5","order":89,"path":"sprites/spr_playerN_finishingblow5/spr_playerN_finishingblow5.yy",},
+ {"name":"spr_playerN_freefall","order":62,"path":"sprites/spr_playerN_freefall/spr_playerN_freefall.yy",},
+ {"name":"spr_playerN_gottreasure","order":117,"path":"sprites/spr_playerN_gottreasure/spr_playerN_gottreasure.yy",},
+ {"name":"spr_playerN_haulingfall","order":101,"path":"sprites/spr_playerN_haulingfall/spr_playerN_haulingfall.yy",},
+ {"name":"spr_playerN_haulingidle","order":54,"path":"sprites/spr_playerN_haulingidle/spr_playerN_haulingidle.yy",},
+ {"name":"spr_playerN_haulingjump","order":40,"path":"sprites/spr_playerN_haulingjump/spr_playerN_haulingjump.yy",},
+ {"name":"spr_playerN_haulingland","order":55,"path":"sprites/spr_playerN_haulingland/spr_playerN_haulingland.yy",},
+ {"name":"spr_playerN_haulingmove","order":42,"path":"sprites/spr_playerN_haulingmove/spr_playerN_haulingmove.yy",},
+ {"name":"spr_playerN_haulingrise","order":43,"path":"sprites/spr_playerN_haulingrise/spr_playerN_haulingrise.yy",},
+ {"name":"spr_playerN_hurt","order":95,"path":"sprites/spr_playerN_hurt/spr_playerN_hurt.yy",},
+ {"name":"spr_playerN_hurtbehind","order":96,"path":"sprites/spr_playerN_hurtbehind/spr_playerN_hurtbehind.yy",},
+ {"name":"spr_playerN_hurtidle","order":7,"path":"sprites/spr_playerN_hurtidle/spr_playerN_hurtidle.yy",},
+ {"name":"spr_playerN_hurtmove","order":8,"path":"sprites/spr_playerN_hurtmove/spr_playerN_hurtmove.yy",},
+ {"name":"spr_playerN_idle1","order":10,"path":"sprites/spr_playerN_idle1/spr_playerN_idle1.yy",},
+ {"name":"spr_playerN_idle2","order":11,"path":"sprites/spr_playerN_idle2/spr_playerN_idle2.yy",},
+ {"name":"spr_playerN_idle3","order":12,"path":"sprites/spr_playerN_idle3/spr_playerN_idle3.yy",},
+ {"name":"spr_playerN_idle4","order":13,"path":"sprites/spr_playerN_idle4/spr_playerN_idle4.yy",},
+ {"name":"spr_playerN_idle5","order":14,"path":"sprites/spr_playerN_idle5/spr_playerN_idle5.yy",},
+ {"name":"spr_playerN_idle6","order":15,"path":"sprites/spr_playerN_idle6/spr_playerN_idle6.yy",},
+ {"name":"spr_playerN_jump","order":60,"path":"sprites/spr_playerN_jump/spr_playerN_jump.yy",},
+ {"name":"spr_playerN_ladder","order":119,"path":"sprites/spr_playerN_ladder/spr_playerN_ladder.yy",},
+ {"name":"spr_playerN_ladderdown","order":118,"path":"sprites/spr_playerN_ladderdown/spr_playerN_ladderdown.yy",},
+ {"name":"spr_playerN_laddermove","order":120,"path":"sprites/spr_playerN_laddermove/spr_playerN_laddermove.yy",},
+ {"name":"spr_playerN_land","order":63,"path":"sprites/spr_playerN_land/spr_playerN_land.yy",},
+ {"name":"spr_playerN_landmove","order":64,"path":"sprites/spr_playerN_landmove/spr_playerN_landmove.yy",},
+ {"name":"spr_playerN_longjump","order":35,"path":"sprites/spr_playerN_longjump/spr_playerN_longjump.yy",},
+ {"name":"spr_playerN_lookdoor","order":81,"path":"sprites/spr_playerN_lookdoor/spr_playerN_lookdoor.yy",},
+ {"name":"spr_playerN_mach1","order":53,"path":"sprites/spr_playerN_mach1/spr_playerN_mach1.yy",},
+ {"name":"spr_playerN_mach2","order":52,"path":"sprites/spr_playerN_mach2/spr_playerN_mach2.yy",},
+ {"name":"spr_playerN_mach2jump","order":77,"path":"sprites/spr_playerN_mach2jump/spr_playerN_mach2jump.yy",},
+ {"name":"spr_playerN_mach3","order":22,"path":"sprites/spr_playerN_mach3/spr_playerN_mach3.yy",},
+ {"name":"spr_playerN_mach3hit","order":97,"path":"sprites/spr_playerN_mach3hit/spr_playerN_mach3hit.yy",},
+ {"name":"spr_playerN_mach3hitwall","order":98,"path":"sprites/spr_playerN_mach3hitwall/spr_playerN_mach3hitwall.yy",},
+ {"name":"spr_playerN_mach3jump","order":23,"path":"sprites/spr_playerN_mach3jump/spr_playerN_mach3jump.yy",},
+ {"name":"spr_playerN_machroll","order":99,"path":"sprites/spr_playerN_machroll/spr_playerN_machroll.yy",},
+ {"name":"spr_playerN_machslideboost","order":74,"path":"sprites/spr_playerN_machslideboost/spr_playerN_machslideboost.yy",},
+ {"name":"spr_playerN_machslideboost3","order":24,"path":"sprites/spr_playerN_machslideboost3/spr_playerN_machslideboost3.yy",},
+ {"name":"spr_playerN_machslideboost3fall","order":25,"path":"sprites/spr_playerN_machslideboost3fall/spr_playerN_machslideboost3fall.yy",},
+ {"name":"spr_playerN_machslideboostfall","order":75,"path":"sprites/spr_playerN_machslideboostfall/spr_playerN_machslideboostfall.yy",},
+ {"name":"spr_playerN_machslideend","order":79,"path":"sprites/spr_playerN_machslideend/spr_playerN_machslideend.yy",},
+ {"name":"spr_playerN_machslidestart","order":78,"path":"sprites/spr_playerN_machslidestart/spr_playerN_machslidestart.yy",},
+ {"name":"spr_playerN_madidle","order":2,"path":"sprites/spr_playerN_madidle/spr_playerN_madidle.yy",},
+ {"name":"spr_playerN_madmove","order":3,"path":"sprites/spr_playerN_madmove/spr_playerN_madmove.yy",},
+ {"name":"spr_playerN_move","order":1,"path":"sprites/spr_playerN_move/spr_playerN_move.yy",},
+ {"name":"spr_playerN_panic","order":6,"path":"sprites/spr_playerN_panic/spr_playerN_panic.yy",},
+ {"name":"spr_playerN_parry1","order":114,"path":"sprites/spr_playerN_parry1/spr_playerN_parry1.yy",},
+ {"name":"spr_playerN_parry2","order":115,"path":"sprites/spr_playerN_parry2/spr_playerN_parry2.yy",},
+ {"name":"spr_playerN_parry3","order":116,"path":"sprites/spr_playerN_parry3/spr_playerN_parry3.yy",},
+ {"name":"spr_playerN_piledriver","order":46,"path":"sprites/spr_playerN_piledriver/spr_playerN_piledriver.yy",},
+ {"name":"spr_playerN_piledriverjump","order":47,"path":"sprites/spr_playerN_piledriverjump/spr_playerN_piledriverjump.yy",},
+ {"name":"spr_playerN_piledriverland","order":59,"path":"sprites/spr_playerN_piledriverland/spr_playerN_piledriverland.yy",},
+ {"name":"spr_playerN_presentboxspring","order":103,"path":"sprites/spr_playerN_presentboxspring/spr_playerN_presentboxspring.yy",},
+ {"name":"spr_playerN_rageidle","order":4,"path":"sprites/spr_playerN_rageidle/spr_playerN_rageidle.yy",},
+ {"name":"spr_playerN_ragemove","order":5,"path":"sprites/spr_playerN_ragemove/spr_playerN_ragemove.yy",},
+ {"name":"spr_playerN_rockethitwall","order":48,"path":"sprites/spr_playerN_rockethitwall/spr_playerN_rockethitwall.yy",},
+ {"name":"spr_playerN_rollgetup","order":49,"path":"sprites/spr_playerN_rollgetup/spr_playerN_rollgetup.yy",},
+ {"name":"spr_playerN_secondjump","order":50,"path":"sprites/spr_playerN_secondjump/spr_playerN_secondjump.yy",},
+ {"name":"spr_playerN_secondjumploop","order":51,"path":"sprites/spr_playerN_secondjumploop/spr_playerN_secondjumploop.yy",},
+ {"name":"spr_playerN_slipbanana1","order":121,"path":"sprites/spr_playerN_slipbanana1/spr_playerN_slipbanana1.yy",},
+ {"name":"spr_playerN_slipbanana2","order":122,"path":"sprites/spr_playerN_slipbanana2/spr_playerN_slipbanana2.yy",},
+ {"name":"spr_playerN_spincancel","order":31,"path":"sprites/spr_playerN_spincancel/spr_playerN_spincancel.yy",},
+ {"name":"spr_playerN_stomp","order":44,"path":"sprites/spr_playerN_stomp/spr_playerN_stomp.yy",},
+ {"name":"spr_playerN_superjump","order":69,"path":"sprites/spr_playerN_superjump/spr_playerN_superjump.yy",},
+ {"name":"spr_playerN_superjumpflash","order":70,"path":"sprites/spr_playerN_superjumpflash/spr_playerN_superjumpflash.yy",},
+ {"name":"spr_playerN_superjumpmove","order":72,"path":"sprites/spr_playerN_superjumpmove/spr_playerN_superjumpmove.yy",},
+ {"name":"spr_playerN_superjumpprep","order":71,"path":"sprites/spr_playerN_superjumpprep/spr_playerN_superjumpprep.yy",},
+ {"name":"spr_playerN_supertaunt1","order":17,"path":"sprites/spr_playerN_supertaunt1/spr_playerN_supertaunt1.yy",},
+ {"name":"spr_playerN_supertaunt2","order":18,"path":"sprites/spr_playerN_supertaunt2/spr_playerN_supertaunt2.yy",},
+ {"name":"spr_playerN_supertaunt3","order":19,"path":"sprites/spr_playerN_supertaunt3/spr_playerN_supertaunt3.yy",},
+ {"name":"spr_playerN_supertaunt4","order":20,"path":"sprites/spr_playerN_supertaunt4/spr_playerN_supertaunt4.yy",},
+ {"name":"spr_playerN_suplexbump","order":102,"path":"sprites/spr_playerN_suplexbump/spr_playerN_suplexbump.yy",},
+ {"name":"spr_playerN_suplexcancel","order":34,"path":"sprites/spr_playerN_suplexcancel/spr_playerN_suplexcancel.yy",},
+ {"name":"spr_playerN_suplexdash","order":32,"path":"sprites/spr_playerN_suplexdash/spr_playerN_suplexdash.yy",},
+ {"name":"spr_playerN_suplexgrabjump","order":33,"path":"sprites/spr_playerN_suplexgrabjump/spr_playerN_suplexgrabjump.yy",},
+ {"name":"spr_playerN_swingding","order":45,"path":"sprites/spr_playerN_swingding/spr_playerN_swingding.yy",},
+ {"name":"spr_playerN_swingdingend","order":58,"path":"sprites/spr_playerN_swingdingend/spr_playerN_swingdingend.yy",},
+ {"name":"spr_playerN_taunt","order":16,"path":"sprites/spr_playerN_taunt/spr_playerN_taunt.yy",},
+ {"name":"spr_playerN_timesup","order":109,"path":"sprites/spr_playerN_timesup/spr_playerN_timesup.yy",},
+ {"name":"spr_playerN_uppercut","order":38,"path":"sprites/spr_playerN_uppercut/spr_playerN_uppercut.yy",},
+ {"name":"spr_playerN_uppercutfinishingblow","order":80,"path":"sprites/spr_playerN_uppercutfinishingblow/spr_playerN_uppercutfinishingblow.yy",},
+ {"name":"spr_playerN_uppizzabox","order":137,"path":"sprites/spr_playerN_uppizzabox/spr_playerN_uppizzabox.yy",},
+ {"name":"spr_playerN_walkfront","order":107,"path":"sprites/spr_playerN_walkfront/spr_playerN_walkfront.yy",},
+ {"name":"spr_playerN_wallbounce","order":30,"path":"sprites/spr_playerN_wallbounce/spr_playerN_wallbounce.yy",},
+ {"name":"spr_playerN_wallsplat","order":37,"path":"sprites/spr_playerN_wallsplat/spr_playerN_wallsplat.yy",},
+ {"name":"spr_playerN_winding","order":9,"path":"sprites/spr_playerN_winding/spr_playerN_winding.yy",},
+ {"name":"spr_playerP_backslide","order":1,"path":"sprites/spr_playerP_backslide/spr_playerP_backslide.yy",},
+ {"name":"spr_playerP_ball","order":2,"path":"sprites/spr_playerP_ball/spr_playerP_ball.yy",},
+ {"name":"spr_playerP_ballend","order":3,"path":"sprites/spr_playerP_ballend/spr_playerP_ballend.yy",},
+ {"name":"spr_playerP_bodyslamfall","order":4,"path":"sprites/spr_playerP_bodyslamfall/spr_playerP_bodyslamfall.yy",},
+ {"name":"spr_playerP_bodyslamland","order":5,"path":"sprites/spr_playerP_bodyslamland/spr_playerP_bodyslamland.yy",},
+ {"name":"spr_playerP_bodyslamstart","order":6,"path":"sprites/spr_playerP_bodyslamstart/spr_playerP_bodyslamstart.yy",},
+ {"name":"spr_playerP_bossdefeated","order":7,"path":"sprites/spr_playerP_bossdefeated/spr_playerP_bossdefeated.yy",},
+ {"name":"spr_playerP_breakdance","order":8,"path":"sprites/spr_playerP_breakdance/spr_playerP_breakdance.yy",},
+ {"name":"spr_playerP_bump","order":9,"path":"sprites/spr_playerP_bump/spr_playerP_bump.yy",},
+ {"name":"spr_playerP_ceilinghit","order":10,"path":"sprites/spr_playerP_ceilinghit/spr_playerP_ceilinghit.yy",},
+ {"name":"spr_playerP_climbwall","order":11,"path":"sprites/spr_playerP_climbwall/spr_playerP_climbwall.yy",},
+ {"name":"spr_playerP_clingwall","order":12,"path":"sprites/spr_playerP_clingwall/spr_playerP_clingwall.yy",},
+ {"name":"spr_playerP_crawl","order":13,"path":"sprites/spr_playerP_crawl/spr_playerP_crawl.yy",},
+ {"name":"spr_playerP_crazyrun","order":14,"path":"sprites/spr_playerP_crazyrun/spr_playerP_crazyrun.yy",},
+ {"name":"spr_playerP_crouch","order":15,"path":"sprites/spr_playerP_crouch/spr_playerP_crouch.yy",},
+ {"name":"spr_playerP_crouchdown","order":16,"path":"sprites/spr_playerP_crouchdown/spr_playerP_crouchdown.yy",},
+ {"name":"spr_playerP_crouchfall","order":17,"path":"sprites/spr_playerP_crouchfall/spr_playerP_crouchfall.yy",},
+ {"name":"spr_playerP_crouchslip","order":18,"path":"sprites/spr_playerP_crouchslip/spr_playerP_crouchslip.yy",},
+ {"name":"spr_playerP_dashpad","order":19,"path":"sprites/spr_playerP_dashpad/spr_playerP_dashpad.yy",},
+ {"name":"spr_playerP_dead","order":20,"path":"sprites/spr_playerP_dead/spr_playerP_dead.yy",},
+ {"name":"spr_playerP_defeat","order":21,"path":"sprites/spr_playerP_defeat/spr_playerP_defeat.yy",},
+ {"name":"spr_playerP_defeatland","order":22,"path":"sprites/spr_playerP_defeatland/spr_playerP_defeatland.yy",},
+ {"name":"spr_playerP_dive","order":23,"path":"sprites/spr_playerP_dive/spr_playerP_dive.yy",},
+ {"name":"spr_playerP_downpizzabox","order":24,"path":"sprites/spr_playerP_downpizzabox/spr_playerP_downpizzabox.yy",},
+ {"name":"spr_playerP_entergate","order":25,"path":"sprites/spr_playerP_entergate/spr_playerP_entergate.yy",},
+ {"name":"spr_playerP_enterkeydoor","order":26,"path":"sprites/spr_playerP_enterkeydoor/spr_playerP_enterkeydoor.yy",},
+ {"name":"spr_playerP_facehurt","order":27,"path":"sprites/spr_playerP_facehurt/spr_playerP_facehurt.yy",},
+ {"name":"spr_playerP_fall","order":28,"path":"sprites/spr_playerP_fall/spr_playerP_fall.yy",},
+ {"name":"spr_playerP_fallface","order":29,"path":"sprites/spr_playerP_fallface/spr_playerP_fallface.yy",},
+ {"name":"spr_playerP_finishingblow1","order":30,"path":"sprites/spr_playerP_finishingblow1/spr_playerP_finishingblow1.yy",},
+ {"name":"spr_playerP_finishingblow2","order":31,"path":"sprites/spr_playerP_finishingblow2/spr_playerP_finishingblow2.yy",},
+ {"name":"spr_playerP_finishingblow3","order":32,"path":"sprites/spr_playerP_finishingblow3/spr_playerP_finishingblow3.yy",},
+ {"name":"spr_playerP_finishingblow4","order":33,"path":"sprites/spr_playerP_finishingblow4/spr_playerP_finishingblow4.yy",},
+ {"name":"spr_playerP_finishingblow5","order":34,"path":"sprites/spr_playerP_finishingblow5/spr_playerP_finishingblow5.yy",},
+ {"name":"spr_playerP_fireass","order":35,"path":"sprites/spr_playerP_fireass/spr_playerP_fireass.yy",},
+ {"name":"spr_playerP_fireassground","order":36,"path":"sprites/spr_playerP_fireassground/spr_playerP_fireassground.yy",},
+ {"name":"spr_playerP_freefall","order":37,"path":"sprites/spr_playerP_freefall/spr_playerP_freefall.yy",},
+ {"name":"spr_playerP_freefallland","order":38,"path":"sprites/spr_playerP_freefallland/spr_playerP_freefallland.yy",},
+ {"name":"spr_playerP_gottreasure","order":39,"path":"sprites/spr_playerP_gottreasure/spr_playerP_gottreasure.yy",},
+ {"name":"spr_playerP_grind","order":40,"path":"sprites/spr_playerP_grind/spr_playerP_grind.yy",},
+ {"name":"spr_playerP_haulingfall","order":41,"path":"sprites/spr_playerP_haulingfall/spr_playerP_haulingfall.yy",},
+ {"name":"spr_playerP_haulingidle","order":42,"path":"sprites/spr_playerP_haulingidle/spr_playerP_haulingidle.yy",},
+ {"name":"spr_playerP_haulingjump","order":43,"path":"sprites/spr_playerP_haulingjump/spr_playerP_haulingjump.yy",},
+ {"name":"spr_playerP_haulingland","order":44,"path":"sprites/spr_playerP_haulingland/spr_playerP_haulingland.yy",},
+ {"name":"spr_playerP_haulingmove","order":45,"path":"sprites/spr_playerP_haulingmove/spr_playerP_haulingmove.yy",},
+ {"name":"spr_playerP_haulingrise","order":46,"path":"sprites/spr_playerP_haulingrise/spr_playerP_haulingrise.yy",},
+ {"name":"spr_playerP_hurt","order":47,"path":"sprites/spr_playerP_hurt/spr_playerP_hurt.yy",},
+ {"name":"spr_playerP_hurtbehind","order":48,"path":"sprites/spr_playerP_hurtbehind/spr_playerP_hurtbehind.yy",},
+ {"name":"spr_playerP_hurtidle","order":49,"path":"sprites/spr_playerP_hurtidle/spr_playerP_hurtidle.yy",},
+ {"name":"spr_playerP_hurtjump","order":50,"path":"sprites/spr_playerP_hurtjump/spr_playerP_hurtjump.yy",},
+ {"name":"spr_playerP_hurtmove","order":51,"path":"sprites/spr_playerP_hurtmove/spr_playerP_hurtmove.yy",},
+ {"name":"spr_playerP_idle","order":52,"path":"sprites/spr_playerP_idle/spr_playerP_idle.yy",},
+ {"name":"spr_playerP_idle1","order":56,"path":"sprites/spr_playerP_idle1/spr_playerP_idle1.yy",},
+ {"name":"spr_playerP_idle2","order":55,"path":"sprites/spr_playerP_idle2/spr_playerP_idle2.yy",},
+ {"name":"spr_playerP_idle3","order":57,"path":"sprites/spr_playerP_idle3/spr_playerP_idle3.yy",},
+ {"name":"spr_playerP_idle4","order":54,"path":"sprites/spr_playerP_idle4/spr_playerP_idle4.yy",},
+ {"name":"spr_playerP_idle5","order":58,"path":"sprites/spr_playerP_idle5/spr_playerP_idle5.yy",},
+ {"name":"spr_playerP_idle6","order":53,"path":"sprites/spr_playerP_idle6/spr_playerP_idle6.yy",},
+ {"name":"spr_playerP_jump","order":59,"path":"sprites/spr_playerP_jump/spr_playerP_jump.yy",},
+ {"name":"spr_playerP_keyget","order":60,"path":"sprites/spr_playerP_keyget/spr_playerP_keyget.yy",},
+ {"name":"spr_playerP_kungfu1","order":61,"path":"sprites/spr_playerP_kungfu1/spr_playerP_kungfu1.yy",},
+ {"name":"spr_playerP_kungfu2","order":62,"path":"sprites/spr_playerP_kungfu2/spr_playerP_kungfu2.yy",},
+ {"name":"spr_playerP_kungfu3","order":63,"path":"sprites/spr_playerP_kungfu3/spr_playerP_kungfu3.yy",},
+ {"name":"spr_playerP_ladder","order":64,"path":"sprites/spr_playerP_ladder/spr_playerP_ladder.yy",},
+ {"name":"spr_playerP_ladderdown","order":65,"path":"sprites/spr_playerP_ladderdown/spr_playerP_ladderdown.yy",},
+ {"name":"spr_playerP_laddermove","order":66,"path":"sprites/spr_playerP_laddermove/spr_playerP_laddermove.yy",},
+ {"name":"spr_playerP_land","order":67,"path":"sprites/spr_playerP_land/spr_playerP_land.yy",},
+ {"name":"spr_playerP_landmove","order":68,"path":"sprites/spr_playerP_landmove/spr_playerP_landmove.yy",},
+ {"name":"spr_playerP_longjump","order":69,"path":"sprites/spr_playerP_longjump/spr_playerP_longjump.yy",},
+ {"name":"spr_playerP_lookdoor","order":70,"path":"sprites/spr_playerP_lookdoor/spr_playerP_lookdoor.yy",},
+ {"name":"spr_playerP_lungehit","order":71,"path":"sprites/spr_playerP_lungehit/spr_playerP_lungehit.yy",},
+ {"name":"spr_playerP_mach1","order":72,"path":"sprites/spr_playerP_mach1/spr_playerP_mach1.yy",},
+ {"name":"spr_playerP_mach2","order":73,"path":"sprites/spr_playerP_mach2/spr_playerP_mach2.yy",},
+ {"name":"spr_playerP_mach2jump","order":74,"path":"sprites/spr_playerP_mach2jump/spr_playerP_mach2jump.yy",},
+ {"name":"spr_playerP_mach3","order":75,"path":"sprites/spr_playerP_mach3/spr_playerP_mach3.yy",},
+ {"name":"spr_playerP_mach3hit","order":76,"path":"sprites/spr_playerP_mach3hit/spr_playerP_mach3hit.yy",},
+ {"name":"spr_playerP_mach3hitwall","order":77,"path":"sprites/spr_playerP_mach3hitwall/spr_playerP_mach3hitwall.yy",},
+ {"name":"spr_playerP_mach3jump","order":78,"path":"sprites/spr_playerP_mach3jump/spr_playerP_mach3jump.yy",},
+ {"name":"spr_playerP_machfreefall","order":79,"path":"sprites/spr_playerP_machfreefall/spr_playerP_machfreefall.yy",},
+ {"name":"spr_playerP_machroll","order":80,"path":"sprites/spr_playerP_machroll/spr_playerP_machroll.yy",},
+ {"name":"spr_playerP_machslideboost","order":81,"path":"sprites/spr_playerP_machslideboost/spr_playerP_machslideboost.yy",},
+ {"name":"spr_playerP_machslideboost3","order":82,"path":"sprites/spr_playerP_machslideboost3/spr_playerP_machslideboost3.yy",},
+ {"name":"spr_playerP_machslideboost3fall","order":83,"path":"sprites/spr_playerP_machslideboost3fall/spr_playerP_machslideboost3fall.yy",},
+ {"name":"spr_playerP_machslideboostfall","order":84,"path":"sprites/spr_playerP_machslideboostfall/spr_playerP_machslideboostfall.yy",},
+ {"name":"spr_playerP_machslideend","order":85,"path":"sprites/spr_playerP_machslideend/spr_playerP_machslideend.yy",},
+ {"name":"spr_playerP_machslidestart","order":86,"path":"sprites/spr_playerP_machslidestart/spr_playerP_machslidestart.yy",},
+ {"name":"spr_playerP_madidle","order":87,"path":"sprites/spr_playerP_madidle/spr_playerP_madidle.yy",},
+ {"name":"spr_playerP_madmove","order":88,"path":"sprites/spr_playerP_madmove/spr_playerP_madmove.yy",},
+ {"name":"spr_playerP_move","order":89,"path":"sprites/spr_playerP_move/spr_playerP_move.yy",},
+ {"name":"spr_playerP_panic","order":90,"path":"sprites/spr_playerP_panic/spr_playerP_panic.yy",},
+ {"name":"spr_playerP_parry1","order":91,"path":"sprites/spr_playerP_parry1/spr_playerP_parry1.yy",},
+ {"name":"spr_playerP_parry2","order":92,"path":"sprites/spr_playerP_parry2/spr_playerP_parry2.yy",},
+ {"name":"spr_playerP_parry3","order":93,"path":"sprites/spr_playerP_parry3/spr_playerP_parry3.yy",},
+ {"name":"spr_playerP_piledriver","order":94,"path":"sprites/spr_playerP_piledriver/spr_playerP_piledriver.yy",},
+ {"name":"spr_playerP_piledriverjump","order":95,"path":"sprites/spr_playerP_piledriverjump/spr_playerP_piledriverjump.yy",},
+ {"name":"spr_playerP_piledriverland","order":96,"path":"sprites/spr_playerP_piledriverland/spr_playerP_piledriverland.yy",},
+ {"name":"spr_playerP_poundcancel1","order":97,"path":"sprites/spr_playerP_poundcancel1/spr_playerP_poundcancel1.yy",},
+ {"name":"spr_playerP_poundcancel2","order":98,"path":"sprites/spr_playerP_poundcancel2/spr_playerP_poundcancel2.yy",},
+ {"name":"spr_playerP_presentboxspring","order":99,"path":"sprites/spr_playerP_presentboxspring/spr_playerP_presentboxspring.yy",},
+ {"name":"spr_playerP_rageidle","order":100,"path":"sprites/spr_playerP_rageidle/spr_playerP_rageidle.yy",},
+ {"name":"spr_playerP_ragemove","order":101,"path":"sprites/spr_playerP_ragemove/spr_playerP_ragemove.yy",},
+ {"name":"spr_playerP_rockethitwall","order":102,"path":"sprites/spr_playerP_rockethitwall/spr_playerP_rockethitwall.yy",},
+ {"name":"spr_playerP_rollgetup","order":103,"path":"sprites/spr_playerP_rollgetup/spr_playerP_rollgetup.yy",},
+ {"name":"spr_playerP_scared","order":104,"path":"sprites/spr_playerP_scared/spr_playerP_scared.yy",},
+ {"name":"spr_playerP_secondjump","order":105,"path":"sprites/spr_playerP_secondjump/spr_playerP_secondjump.yy",},
+ {"name":"spr_playerP_secondjumploop","order":106,"path":"sprites/spr_playerP_secondjumploop/spr_playerP_secondjumploop.yy",},
+ {"name":"spr_playerP_shotgun_crouch","order":7,"path":"sprites/spr_playerP_shotgun_crouch/spr_playerP_shotgun_crouch.yy",},
+ {"name":"spr_playerP_shotgun_crouchfall","order":9,"path":"sprites/spr_playerP_shotgun_crouchfall/spr_playerP_shotgun_crouchfall.yy",},
+ {"name":"spr_playerP_shotgun_crouchmove","order":8,"path":"sprites/spr_playerP_shotgun_crouchmove/spr_playerP_shotgun_crouchmove.yy",},
+ {"name":"spr_playerP_shotgun_crouchstart","order":6,"path":"sprites/spr_playerP_shotgun_crouchstart/spr_playerP_shotgun_crouchstart.yy",},
+ {"name":"spr_playerP_shotgun_fall","order":3,"path":"sprites/spr_playerP_shotgun_fall/spr_playerP_shotgun_fall.yy",},
+ {"name":"spr_playerP_shotgun_idle","order":1,"path":"sprites/spr_playerP_shotgun_idle/spr_playerP_shotgun_idle.yy",},
+ {"name":"spr_playerP_shotgun_jump","order":4,"path":"sprites/spr_playerP_shotgun_jump/spr_playerP_shotgun_jump.yy",},
+ {"name":"spr_playerP_shotgun_land","order":12,"path":"sprites/spr_playerP_shotgun_land/spr_playerP_shotgun_land.yy",},
+ {"name":"spr_playerP_shotgun_move","order":2,"path":"sprites/spr_playerP_shotgun_move/spr_playerP_shotgun_move.yy",},
+ {"name":"spr_playerP_shotgun_shoot","order":5,"path":"sprites/spr_playerP_shotgun_shoot/spr_playerP_shotgun_shoot.yy",},
+ {"name":"spr_playerP_shotgun_shootdown","order":10,"path":"sprites/spr_playerP_shotgun_shootdown/spr_playerP_shotgun_shootdown.yy",},
+ {"name":"spr_playerP_shotgun_shootdownland","order":11,"path":"sprites/spr_playerP_shotgun_shootdownland/spr_playerP_shotgun_shootdownland.yy",},
+ {"name":"spr_playerP_Sjumpcancel","order":107,"path":"sprites/spr_playerP_Sjumpcancel/spr_playerP_Sjumpcancel.yy",},
+ {"name":"spr_playerP_Sjumpcancelstart","order":108,"path":"sprites/spr_playerP_Sjumpcancelstart/spr_playerP_Sjumpcancelstart.yy",},
+ {"name":"spr_playerP_slipbanana1","order":109,"path":"sprites/spr_playerP_slipbanana1/spr_playerP_slipbanana1.yy",},
+ {"name":"spr_playerP_slipbanana2","order":110,"path":"sprites/spr_playerP_slipbanana2/spr_playerP_slipbanana2.yy",},
+ {"name":"spr_playerP_stomp","order":111,"path":"sprites/spr_playerP_stomp/spr_playerP_stomp.yy",},
+ {"name":"spr_playerP_superjump","order":112,"path":"sprites/spr_playerP_superjump/spr_playerP_superjump.yy",},
+ {"name":"spr_playerP_superjumpflash","order":113,"path":"sprites/spr_playerP_superjumpflash/spr_playerP_superjumpflash.yy",},
+ {"name":"spr_playerP_superjumpmove","order":114,"path":"sprites/spr_playerP_superjumpmove/spr_playerP_superjumpmove.yy",},
+ {"name":"spr_playerP_superjumpprep","order":115,"path":"sprites/spr_playerP_superjumpprep/spr_playerP_superjumpprep.yy",},
+ {"name":"spr_playerP_supertaunt1","order":116,"path":"sprites/spr_playerP_supertaunt1/spr_playerP_supertaunt1.yy",},
+ {"name":"spr_playerP_supertaunt2","order":117,"path":"sprites/spr_playerP_supertaunt2/spr_playerP_supertaunt2.yy",},
+ {"name":"spr_playerP_supertaunt3","order":118,"path":"sprites/spr_playerP_supertaunt3/spr_playerP_supertaunt3.yy",},
+ {"name":"spr_playerP_supertaunt4","order":119,"path":"sprites/spr_playerP_supertaunt4/spr_playerP_supertaunt4.yy",},
+ {"name":"spr_playerP_suplexbump","order":120,"path":"sprites/spr_playerP_suplexbump/spr_playerP_suplexbump.yy",},
+ {"name":"spr_playerP_suplexcancel","order":121,"path":"sprites/spr_playerP_suplexcancel/spr_playerP_suplexcancel.yy",},
+ {"name":"spr_playerP_suplexdash","order":122,"path":"sprites/spr_playerP_suplexdash/spr_playerP_suplexdash.yy",},
+ {"name":"spr_playerP_suplexgrabjump","order":123,"path":"sprites/spr_playerP_suplexgrabjump/spr_playerP_suplexgrabjump.yy",},
+ {"name":"spr_playerP_swingding","order":124,"path":"sprites/spr_playerP_swingding/spr_playerP_swingding.yy",},
+ {"name":"spr_playerP_swingdingend","order":125,"path":"sprites/spr_playerP_swingdingend/spr_playerP_swingdingend.yy",},
+ {"name":"spr_playerP_taunt","order":126,"path":"sprites/spr_playerP_taunt/spr_playerP_taunt.yy",},
+ {"name":"spr_playerP_timesup","order":127,"path":"sprites/spr_playerP_timesup/spr_playerP_timesup.yy",},
+ {"name":"spr_playerP_uppercut","order":128,"path":"sprites/spr_playerP_uppercut/spr_playerP_uppercut.yy",},
+ {"name":"spr_playerP_uppercutfinishingblow","order":129,"path":"sprites/spr_playerP_uppercutfinishingblow/spr_playerP_uppercutfinishingblow.yy",},
+ {"name":"spr_playerP_uppizzabox","order":130,"path":"sprites/spr_playerP_uppizzabox/spr_playerP_uppizzabox.yy",},
+ {"name":"spr_playerP_walkfront","order":131,"path":"sprites/spr_playerP_walkfront/spr_playerP_walkfront.yy",},
+ {"name":"spr_playerP_walljumpend","order":132,"path":"sprites/spr_playerP_walljumpend/spr_playerP_walljumpend.yy",},
+ {"name":"spr_playerP_walljumpstart","order":133,"path":"sprites/spr_playerP_walljumpstart/spr_playerP_walljumpstart.yy",},
+ {"name":"spr_playerP_wallsplat","order":134,"path":"sprites/spr_playerP_wallsplat/spr_playerP_wallsplat.yy",},
+ {"name":"spr_playerP_winding","order":135,"path":"sprites/spr_playerP_winding/spr_playerP_winding.yy",},
{"name":"spr_presentbottle_idle","order":6,"path":"sprites/spr_presentbottle_idle/spr_presentbottle_idle.yy",},
{"name":"spr_presentbottle_spring","order":8,"path":"sprites/spr_presentbottle_spring/spr_presentbottle_spring.yy",},
{"name":"spr_presentbox_idle","order":5,"path":"sprites/spr_presentbox_idle/spr_presentbox_idle.yy",},
@@ -846,14 +852,21 @@
{"name":"spr_priest","order":3,"path":"sprites/spr_priest/spr_priest.yy",},
{"name":"spr_rail","order":3,"path":"sprites/spr_rail/spr_rail.yy",},
{"name":"spr_railslope","order":4,"path":"sprites/spr_railslope/spr_railslope.yy",},
- {"name":"spr_rankA","order":5,"path":"sprites/spr_rankA/spr_rankA.yy",},
- {"name":"spr_rankB","order":6,"path":"sprites/spr_rankB/spr_rankB.yy",},
- {"name":"spr_rankC","order":7,"path":"sprites/spr_rankC/spr_rankC.yy",},
- {"name":"spr_rankD","order":8,"path":"sprites/spr_rankD/spr_rankD.yy",},
- {"name":"spr_rankP","order":3,"path":"sprites/spr_rankP/spr_rankP.yy",},
+ {"name":"spr_rankN_B","order":5,"path":"sprites/spr_rankN_B/spr_rankN_B.yy",},
+ {"name":"spr_rankN_C","order":1,"path":"sprites/spr_rankN_C/spr_rankN_C.yy",},
+ {"name":"spr_rankN_D","order":2,"path":"sprites/spr_rankN_D/spr_rankN_D.yy",},
+ {"name":"spr_rankN_P_fall","order":8,"path":"sprites/spr_rankN_P_fall/spr_rankN_P_fall.yy",},
+ {"name":"spr_rankN_P_loose","order":7,"path":"sprites/spr_rankN_P_loose/spr_rankN_P_loose.yy",},
+ {"name":"spr_rankN_P","order":3,"path":"sprites/spr_rankN_P/spr_rankN_P.yy",},
+ {"name":"spr_rankN_S","order":4,"path":"sprites/spr_rankN_S/spr_rankN_S.yy",},
+ {"name":"spr_rankP_A","order":1,"path":"sprites/spr_rankP_A/spr_rankP_A.yy",},
+ {"name":"spr_rankP_B","order":2,"path":"sprites/spr_rankP_B/spr_rankP_B.yy",},
+ {"name":"spr_rankP_C","order":3,"path":"sprites/spr_rankP_C/spr_rankP_C.yy",},
+ {"name":"spr_rankP_D","order":4,"path":"sprites/spr_rankP_D/spr_rankP_D.yy",},
+ {"name":"spr_rankP_P","order":5,"path":"sprites/spr_rankP_P/spr_rankP_P.yy",},
+ {"name":"spr_rankP_S","order":6,"path":"sprites/spr_rankP_S/spr_rankP_S.yy",},
{"name":"spr_ranks_hud","order":10,"path":"sprites/spr_ranks_hud/spr_ranks_hud.yy",},
{"name":"spr_ranks_hudfill","order":11,"path":"sprites/spr_ranks_hudfill/spr_ranks_hudfill.yy",},
- {"name":"spr_rankS","order":4,"path":"sprites/spr_rankS/spr_rankS.yy",},
{"name":"spr_ranktoppins","order":19,"path":"sprites/spr_ranktoppins/spr_ranktoppins.yy",},
{"name":"spr_ratblock_bump","order":10,"path":"sprites/spr_ratblock_bump/spr_ratblock_bump.yy",},
{"name":"spr_ratblock_dead","order":9,"path":"sprites/spr_ratblock_dead/spr_ratblock_dead.yy",},
@@ -877,6 +890,7 @@
{"name":"spr_secretportal_spawnclose","order":23,"path":"sprites/spr_secretportal_spawnclose/spr_secretportal_spawnclose.yy",},
{"name":"spr_secretportal_spawnidle","order":24,"path":"sprites/spr_secretportal_spawnidle/spr_secretportal_spawnidle.yy",},
{"name":"spr_secretportal","order":20,"path":"sprites/spr_secretportal/spr_secretportal.yy",},
+ {"name":"spr_shineeffect","order":49,"path":"sprites/spr_shineeffect/spr_shineeffect.yy",},
{"name":"spr_shotgun_debris","order":11,"path":"sprites/spr_shotgun_debris/spr_shotgun_debris.yy",},
{"name":"spr_shotgun_targetblock","order":38,"path":"sprites/spr_shotgun_targetblock/spr_shotgun_targetblock.yy",},
{"name":"spr_shotgun_targetblockdebris","order":39,"path":"sprites/spr_shotgun_targetblockdebris/spr_shotgun_targetblockdebris.yy",},
@@ -918,9 +932,11 @@
{"name":"spr_supertauntspark4","order":30,"path":"sprites/spr_supertauntspark4/spr_supertauntspark4.yy",},
{"name":"spr_supertauntspark5","order":31,"path":"sprites/spr_supertauntspark5/spr_supertauntspark5.yy",},
{"name":"spr_taunteffect","order":7,"path":"sprites/spr_taunteffect/spr_taunteffect.yy",},
- {"name":"spr_techdiff_bg","order":2,"path":"sprites/spr_techdiff_bg/spr_techdiff_bg.yy",},
{"name":"spr_techdiff_static","order":3,"path":"sprites/spr_techdiff_static/spr_techdiff_static.yy",},
- {"name":"spr_techdiff","order":1,"path":"sprites/spr_techdiff/spr_techdiff.yy",},
+ {"name":"spr_techdiffN_bg","order":35,"path":"sprites/spr_techdiffN_bg/spr_techdiffN_bg.yy",},
+ {"name":"spr_techdiffN","order":1,"path":"sprites/spr_techdiffN/spr_techdiffN.yy",},
+ {"name":"spr_techdiffP_bg","order":2,"path":"sprites/spr_techdiffP_bg/spr_techdiffP_bg.yy",},
+ {"name":"spr_techdiffP","order":36,"path":"sprites/spr_techdiffP/spr_techdiffP.yy",},
{"name":"spr_teleportdebris","order":10,"path":"sprites/spr_teleportdebris/spr_teleportdebris.yy",},
{"name":"spr_teleporteffect","order":11,"path":"sprites/spr_teleporteffect/spr_teleporteffect.yy",},
{"name":"spr_teleportmachine","order":9,"path":"sprites/spr_teleportmachine/spr_teleportmachine.yy",},
@@ -960,33 +976,57 @@
{"name":"spr_tutorialbubble_bg","order":4,"path":"sprites/spr_tutorialbubble_bg/spr_tutorialbubble_bg.yy",},
{"name":"spr_tutorialbubble_rope","order":5,"path":"sprites/spr_tutorialbubble_rope/spr_tutorialbubble_rope.yy",},
{"name":"spr_tutorialfont","order":1,"path":"sprites/spr_tutorialfont/spr_tutorialfont.yy",},
- {"name":"spr_tv_ball","order":2,"path":"sprites/spr_tv_ball/spr_tv_ball.yy",},
{"name":"spr_tv_bg","order":9,"path":"sprites/spr_tv_bg/spr_tv_bg.yy",},
- {"name":"spr_tv_bighurt1","order":18,"path":"sprites/spr_tv_bighurt1/spr_tv_bighurt1.yy",},
- {"name":"spr_tv_bighurt10","order":20,"path":"sprites/spr_tv_bighurt10/spr_tv_bighurt10.yy",},
- {"name":"spr_tv_bighurt2","order":19,"path":"sprites/spr_tv_bighurt2/spr_tv_bighurt2.yy",},
- {"name":"spr_tv_bighurt3","order":27,"path":"sprites/spr_tv_bighurt3/spr_tv_bighurt3.yy",},
- {"name":"spr_tv_bighurt4","order":26,"path":"sprites/spr_tv_bighurt4/spr_tv_bighurt4.yy",},
- {"name":"spr_tv_bighurt5","order":25,"path":"sprites/spr_tv_bighurt5/spr_tv_bighurt5.yy",},
- {"name":"spr_tv_bighurt6","order":24,"path":"sprites/spr_tv_bighurt6/spr_tv_bighurt6.yy",},
- {"name":"spr_tv_bighurt7","order":23,"path":"sprites/spr_tv_bighurt7/spr_tv_bighurt7.yy",},
- {"name":"spr_tv_bighurt8","order":22,"path":"sprites/spr_tv_bighurt8/spr_tv_bighurt8.yy",},
- {"name":"spr_tv_bighurt9","order":21,"path":"sprites/spr_tv_bighurt9/spr_tv_bighurt9.yy",},
{"name":"spr_tv_c_bubble","order":6,"path":"sprites/spr_tv_c_bubble/spr_tv_c_bubble.yy",},
{"name":"spr_tv_c_font","order":8,"path":"sprites/spr_tv_c_font/spr_tv_c_font.yy",},
{"name":"spr_tv_c_ghost","order":7,"path":"sprites/spr_tv_c_ghost/spr_tv_c_ghost.yy",},
- {"name":"spr_tv_combo","order":1,"path":"sprites/spr_tv_combo/spr_tv_combo.yy",},
- {"name":"spr_tv_highcombo","order":13,"path":"sprites/spr_tv_highcombo/spr_tv_highcombo.yy",},
- {"name":"spr_tv_hurt","order":12,"path":"sprites/spr_tv_hurt/spr_tv_hurt.yy",},
- {"name":"spr_tv_idle","order":2,"path":"sprites/spr_tv_idle/spr_tv_idle.yy",},
- {"name":"spr_tv_idleangry","order":16,"path":"sprites/spr_tv_idleangry/spr_tv_idleangry.yy",},
- {"name":"spr_tv_idlelook","order":15,"path":"sprites/spr_tv_idlelook/spr_tv_idlelook.yy",},
- {"name":"spr_tv_mach3","order":3,"path":"sprites/spr_tv_mach3/spr_tv_mach3.yy",},
- {"name":"spr_tv_mach4","order":4,"path":"sprites/spr_tv_mach4/spr_tv_mach4.yy",},
+ {"name":"spr_tv_empty","order":30,"path":"sprites/spr_tv_empty/spr_tv_empty.yy",},
{"name":"spr_tv_off","order":10,"path":"sprites/spr_tv_off/spr_tv_off.yy",},
- {"name":"spr_tv_panic","order":11,"path":"sprites/spr_tv_panic/spr_tv_panic.yy",},
- {"name":"spr_tv_shotgun","order":1,"path":"sprites/spr_tv_shotgun/spr_tv_shotgun.yy",},
{"name":"spr_tv_trans","order":5,"path":"sprites/spr_tv_trans/spr_tv_trans.yy",},
+ {"name":"spr_tvN_bighurt1","order":1,"path":"sprites/spr_tvN_bighurt1/spr_tvN_bighurt1.yy",},
+ {"name":"spr_tvN_bighurt10","order":2,"path":"sprites/spr_tvN_bighurt10/spr_tvN_bighurt10.yy",},
+ {"name":"spr_tvN_bighurt2","order":3,"path":"sprites/spr_tvN_bighurt2/spr_tvN_bighurt2.yy",},
+ {"name":"spr_tvN_bighurt3","order":4,"path":"sprites/spr_tvN_bighurt3/spr_tvN_bighurt3.yy",},
+ {"name":"spr_tvN_bighurt4","order":5,"path":"sprites/spr_tvN_bighurt4/spr_tvN_bighurt4.yy",},
+ {"name":"spr_tvN_bighurt5","order":6,"path":"sprites/spr_tvN_bighurt5/spr_tvN_bighurt5.yy",},
+ {"name":"spr_tvN_bighurt6","order":7,"path":"sprites/spr_tvN_bighurt6/spr_tvN_bighurt6.yy",},
+ {"name":"spr_tvN_bighurt7","order":8,"path":"sprites/spr_tvN_bighurt7/spr_tvN_bighurt7.yy",},
+ {"name":"spr_tvN_bighurt8","order":9,"path":"sprites/spr_tvN_bighurt8/spr_tvN_bighurt8.yy",},
+ {"name":"spr_tvN_bighurt9","order":10,"path":"sprites/spr_tvN_bighurt9/spr_tvN_bighurt9.yy",},
+ {"name":"spr_tvN_collect","order":11,"path":"sprites/spr_tvN_collect/spr_tvN_collect.yy",},
+ {"name":"spr_tvN_combo","order":12,"path":"sprites/spr_tvN_combo/spr_tvN_combo.yy",},
+ {"name":"spr_tvN_fireass","order":1,"path":"sprites/spr_tvN_fireass/spr_tvN_fireass.yy",},
+ {"name":"spr_tvN_highcombo","order":13,"path":"sprites/spr_tvN_highcombo/spr_tvN_highcombo.yy",},
+ {"name":"spr_tvN_hurt","order":14,"path":"sprites/spr_tvN_hurt/spr_tvN_hurt.yy",},
+ {"name":"spr_tvN_idle","order":15,"path":"sprites/spr_tvN_idle/spr_tvN_idle.yy",},
+ {"name":"spr_tvN_idle1","order":16,"path":"sprites/spr_tvN_idle1/spr_tvN_idle1.yy",},
+ {"name":"spr_tvN_idle2","order":17,"path":"sprites/spr_tvN_idle2/spr_tvN_idle2.yy",},
+ {"name":"spr_tvN_mach3","order":18,"path":"sprites/spr_tvN_mach3/spr_tvN_mach3.yy",},
+ {"name":"spr_tvN_mach4","order":19,"path":"sprites/spr_tvN_mach4/spr_tvN_mach4.yy",},
+ {"name":"spr_tvN_panic","order":20,"path":"sprites/spr_tvN_panic/spr_tvN_panic.yy",},
+ {"name":"spr_tvN_shotgun","order":2,"path":"sprites/spr_tvN_shotgun/spr_tvN_shotgun.yy",},
+ {"name":"spr_tvP_ball","order":2,"path":"sprites/spr_tvP_ball/spr_tvP_ball.yy",},
+ {"name":"spr_tvP_bighurt1","order":1,"path":"sprites/spr_tvP_bighurt1/spr_tvP_bighurt1.yy",},
+ {"name":"spr_tvP_bighurt10","order":2,"path":"sprites/spr_tvP_bighurt10/spr_tvP_bighurt10.yy",},
+ {"name":"spr_tvP_bighurt2","order":3,"path":"sprites/spr_tvP_bighurt2/spr_tvP_bighurt2.yy",},
+ {"name":"spr_tvP_bighurt3","order":4,"path":"sprites/spr_tvP_bighurt3/spr_tvP_bighurt3.yy",},
+ {"name":"spr_tvP_bighurt4","order":5,"path":"sprites/spr_tvP_bighurt4/spr_tvP_bighurt4.yy",},
+ {"name":"spr_tvP_bighurt5","order":6,"path":"sprites/spr_tvP_bighurt5/spr_tvP_bighurt5.yy",},
+ {"name":"spr_tvP_bighurt6","order":7,"path":"sprites/spr_tvP_bighurt6/spr_tvP_bighurt6.yy",},
+ {"name":"spr_tvP_bighurt7","order":8,"path":"sprites/spr_tvP_bighurt7/spr_tvP_bighurt7.yy",},
+ {"name":"spr_tvP_bighurt8","order":9,"path":"sprites/spr_tvP_bighurt8/spr_tvP_bighurt8.yy",},
+ {"name":"spr_tvP_bighurt9","order":10,"path":"sprites/spr_tvP_bighurt9/spr_tvP_bighurt9.yy",},
+ {"name":"spr_tvP_collect","order":11,"path":"sprites/spr_tvP_collect/spr_tvP_collect.yy",},
+ {"name":"spr_tvP_combo","order":12,"path":"sprites/spr_tvP_combo/spr_tvP_combo.yy",},
+ {"name":"spr_tvP_highcombo","order":13,"path":"sprites/spr_tvP_highcombo/spr_tvP_highcombo.yy",},
+ {"name":"spr_tvP_hurt","order":14,"path":"sprites/spr_tvP_hurt/spr_tvP_hurt.yy",},
+ {"name":"spr_tvP_idle","order":15,"path":"sprites/spr_tvP_idle/spr_tvP_idle.yy",},
+ {"name":"spr_tvP_idle1","order":16,"path":"sprites/spr_tvP_idle1/spr_tvP_idle1.yy",},
+ {"name":"spr_tvP_idle2","order":17,"path":"sprites/spr_tvP_idle2/spr_tvP_idle2.yy",},
+ {"name":"spr_tvP_mach3","order":18,"path":"sprites/spr_tvP_mach3/spr_tvP_mach3.yy",},
+ {"name":"spr_tvP_mach4","order":19,"path":"sprites/spr_tvP_mach4/spr_tvP_mach4.yy",},
+ {"name":"spr_tvP_panic","order":20,"path":"sprites/spr_tvP_panic/spr_tvP_panic.yy",},
+ {"name":"spr_tvP_shotgun","order":1,"path":"sprites/spr_tvP_shotgun/spr_tvP_shotgun.yy",},
{"name":"spr_uparrow","order":33,"path":"sprites/spr_uparrow/spr_uparrow.yy",},
{"name":"Sprite181","order":12,"path":"sprites/Sprite181/Sprite181.yy",},
{"name":"Sprite214","order":5,"path":"sprites/Sprite214/Sprite214.yy",},
diff --git a/CompleteCook.yyp b/CompleteCook.yyp
index 503bd78e9..833ea8c54 100644
--- a/CompleteCook.yyp
+++ b/CompleteCook.yyp
@@ -15,6 +15,8 @@
{"$GMFolder":"","%Name":"Animation Curves","folderPath":"folders/Animation Curves.yy","name":"Animation Curves","resourceType":"GMFolder","resourceVersion":"2.0",},
{"$GMFolder":"","%Name":"Extensions","folderPath":"folders/Extensions.yy","name":"Extensions","resourceType":"GMFolder","resourceVersion":"2.0",},
{"$GMFolder":"","%Name":"Gameframe","folderPath":"folders/Extensions/Gameframe.yy","name":"Gameframe","resourceType":"GMFolder","resourceVersion":"2.0",},
+ {"$GMFolder":"","%Name":"FMOD","folderPath":"folders/FMOD.yy","name":"FMOD","resourceType":"GMFolder","resourceVersion":"2.0",},
+ {"$GMFolder":"","%Name":"Extensions","folderPath":"folders/FMOD/Extensions.yy","name":"Extensions","resourceType":"GMFolder","resourceVersion":"2.0",},
{"$GMFolder":"","%Name":"Fonts","folderPath":"folders/Fonts.yy","name":"Fonts","resourceType":"GMFolder","resourceVersion":"2.0",},
{"$GMFolder":"","%Name":"Notes","folderPath":"folders/Notes.yy","name":"Notes","resourceType":"GMFolder","resourceVersion":"2.0",},
{"$GMFolder":"","%Name":"Objects","folderPath":"folders/Objects.yy","name":"Objects","resourceType":"GMFolder","resourceVersion":"2.0",},
@@ -40,16 +42,13 @@
{"$GMFolder":"","%Name":"Particle Systems","folderPath":"folders/Particle Systems.yy","name":"Particle Systems","resourceType":"GMFolder","resourceVersion":"2.0",},
{"$GMFolder":"","%Name":"Paths","folderPath":"folders/Paths.yy","name":"Paths","resourceType":"GMFolder","resourceVersion":"2.0",},
{"$GMFolder":"","%Name":"Rooms","folderPath":"folders/Rooms.yy","name":"Rooms","resourceType":"GMFolder","resourceVersion":"2.0",},
+ {"$GMFolder":"","%Name":"Dynamic Music Example","folderPath":"folders/Rooms/Dynamic Music Example.yy","name":"Dynamic Music Example","resourceType":"GMFolder","resourceVersion":"2.0",},
{"$GMFolder":"","%Name":"Example Level","folderPath":"folders/Rooms/Example Level.yy","name":"Example Level","resourceType":"GMFolder","resourceVersion":"2.0",},
{"$GMFolder":"","%Name":"John Gutter","folderPath":"folders/Rooms/John Gutter.yy","name":"John Gutter","resourceType":"GMFolder","resourceVersion":"2.0",},
{"$GMFolder":"","%Name":"Scripts","folderPath":"folders/Scripts.yy","name":"Scripts","resourceType":"GMFolder","resourceVersion":"2.0",},
{"$GMFolder":"","%Name":"Player States","folderPath":"folders/Scripts/Player States.yy","name":"Player States","resourceType":"GMFolder","resourceVersion":"2.0",},
{"$GMFolder":"","%Name":"Sequences","folderPath":"folders/Sequences.yy","name":"Sequences","resourceType":"GMFolder","resourceVersion":"2.0",},
{"$GMFolder":"","%Name":"Shaders","folderPath":"folders/Shaders.yy","name":"Shaders","resourceType":"GMFolder","resourceVersion":"2.0",},
- {"$GMFolder":"","%Name":"Sounds","folderPath":"folders/Sounds.yy","name":"Sounds","resourceType":"GMFolder","resourceVersion":"2.0",},
- {"$GMFolder":"","%Name":"Music","folderPath":"folders/Sounds/Music.yy","name":"Music","resourceType":"GMFolder","resourceVersion":"2.0",},
- {"$GMFolder":"","%Name":"SFX","folderPath":"folders/Sounds/SFX.yy","name":"SFX","resourceType":"GMFolder","resourceVersion":"2.0",},
- {"$GMFolder":"","%Name":"Voice","folderPath":"folders/Sounds/Voice.yy","name":"Voice","resourceType":"GMFolder","resourceVersion":"2.0",},
{"$GMFolder":"","%Name":"Sprites","folderPath":"folders/Sprites.yy","name":"Sprites","resourceType":"GMFolder","resourceVersion":"2.0",},
{"$GMFolder":"","%Name":"Backgrounds","folderPath":"folders/Sprites/Backgrounds.yy","name":"Backgrounds","resourceType":"GMFolder","resourceVersion":"2.0",},
{"$GMFolder":"","%Name":"Boss","folderPath":"folders/Sprites/Boss.yy","name":"Boss","resourceType":"GMFolder","resourceVersion":"2.0",},
@@ -68,7 +67,10 @@
{"$GMFolder":"","%Name":"Pause","folderPath":"folders/Sprites/HUD/Pause.yy","name":"Pause","resourceType":"GMFolder","resourceVersion":"2.0",},
{"$GMFolder":"","%Name":"Score","folderPath":"folders/Sprites/HUD/Score.yy","name":"Score","resourceType":"GMFolder","resourceVersion":"2.0",},
{"$GMFolder":"","%Name":"TV","folderPath":"folders/Sprites/HUD/TV.yy","name":"TV","resourceType":"GMFolder","resourceVersion":"2.0",},
- {"$GMFolder":"","%Name":"Transfos","folderPath":"folders/Sprites/HUD/TV/Transfos.yy","name":"Transfos","resourceType":"GMFolder","resourceVersion":"2.0",},
+ {"$GMFolder":"","%Name":"Noise","folderPath":"folders/Sprites/HUD/TV/Noise.yy","name":"Noise","resourceType":"GMFolder","resourceVersion":"2.0",},
+ {"$GMFolder":"","%Name":"Transfos","folderPath":"folders/Sprites/HUD/TV/Noise/Transfos.yy","name":"Transfos","resourceType":"GMFolder","resourceVersion":"2.0",},
+ {"$GMFolder":"","%Name":"Peppino","folderPath":"folders/Sprites/HUD/TV/Peppino.yy","name":"Peppino","resourceType":"GMFolder","resourceVersion":"2.0",},
+ {"$GMFolder":"","%Name":"Transfos","folderPath":"folders/Sprites/HUD/TV/Peppino/Transfos.yy","name":"Transfos","resourceType":"GMFolder","resourceVersion":"2.0",},
{"$GMFolder":"","%Name":"Level Specific","folderPath":"folders/Sprites/Level Specific.yy","name":"Level Specific","resourceType":"GMFolder","resourceVersion":"2.0",},
{"$GMFolder":"","%Name":"John Gutter","folderPath":"folders/Sprites/Level Specific/John Gutter.yy","name":"John Gutter","resourceType":"GMFolder","resourceVersion":"2.0",},
{"$GMFolder":"","%Name":"Level Structure","folderPath":"folders/Sprites/Level Structure.yy","name":"Level Structure","resourceType":"GMFolder","resourceVersion":"2.0",},
@@ -99,17 +101,28 @@
{"$GMFolder":"","%Name":"Particles","folderPath":"folders/Sprites/Particles.yy","name":"Particles","resourceType":"GMFolder","resourceVersion":"2.0",},
{"$GMFolder":"","%Name":"Player","folderPath":"folders/Sprites/Player.yy","name":"Player","resourceType":"GMFolder","resourceVersion":"2.0",},
{"$GMFolder":"","%Name":"Clothes","folderPath":"folders/Sprites/Player/Clothes.yy","name":"Clothes","resourceType":"GMFolder","resourceVersion":"2.0",},
- {"$GMFolder":"","%Name":"Ranks","folderPath":"folders/Sprites/Player/Ranks.yy","name":"Ranks","resourceType":"GMFolder","resourceVersion":"2.0",},
- {"$GMFolder":"","%Name":"Shotgun","folderPath":"folders/Sprites/Player/Shotgun.yy","name":"Shotgun","resourceType":"GMFolder","resourceVersion":"2.0",},
+ {"$GMFolder":"","%Name":"Noise","folderPath":"folders/Sprites/Player/Noise.yy","name":"Noise","resourceType":"GMFolder","resourceVersion":"2.0",},
+ {"$GMFolder":"","%Name":"Ranks","folderPath":"folders/Sprites/Player/Noise/Ranks.yy","name":"Ranks","resourceType":"GMFolder","resourceVersion":"2.0",},
+ {"$GMFolder":"","%Name":"Peppino","folderPath":"folders/Sprites/Player/Peppino.yy","name":"Peppino","resourceType":"GMFolder","resourceVersion":"2.0",},
+ {"$GMFolder":"","%Name":"Ranks","folderPath":"folders/Sprites/Player/Peppino/Ranks.yy","name":"Ranks","resourceType":"GMFolder","resourceVersion":"2.0",},
+ {"$GMFolder":"","%Name":"Shotgun","folderPath":"folders/Sprites/Player/Peppino/Shotgun.yy","name":"Shotgun","resourceType":"GMFolder","resourceVersion":"2.0",},
{"$GMFolder":"","%Name":"Tile Sets","folderPath":"folders/Tile Sets.yy","name":"Tile Sets","resourceType":"GMFolder","resourceVersion":"2.0",},
{"$GMFolder":"","%Name":"John Gutter","folderPath":"folders/Tile Sets/John Gutter.yy","name":"John Gutter","resourceType":"GMFolder","resourceVersion":"2.0",},
{"$GMFolder":"","%Name":"Secret","folderPath":"folders/Tile Sets/Secret.yy","name":"Secret","resourceType":"GMFolder","resourceVersion":"2.0",},
{"$GMFolder":"","%Name":"Tower","folderPath":"folders/Tile Sets/Tower.yy","name":"Tower","resourceType":"GMFolder","resourceVersion":"2.0",},
{"$GMFolder":"","%Name":"Timelines","folderPath":"folders/Timelines.yy","name":"Timelines","resourceType":"GMFolder","resourceVersion":"2.0",},
],
- "ForcedPrefabProjectReferences":[],
+ "ForcedPrefabProjectReferences":[
+ {"link":"io.gamemaker.gm_filter_ripples-1.0.0","name":"io.gamemaker.gm_filter_ripples-1.0.0","path":"io.gamemaker.gm_filter_ripples-1.0.0.yyp",},
+ {"link":"io.gamemaker.gm_filter_parallax-1.0.0","name":"io.gamemaker.gm_filter_parallax-1.0.0","path":"io.gamemaker.gm_filter_parallax-1.0.0.yyp",},
+ {"link":"io.gamemaker.gm_filter_heathaze-1.0.0","name":"io.gamemaker.gm_filter_heathaze-1.0.0","path":"io.gamemaker.gm_filter_heathaze-1.0.0.yyp",},
+ ],
"IncludedFiles":[
{"$GMIncludedFile":"","%Name":"gameframe.html","CopyToMask":-1,"filePath":"datafiles","name":"gameframe.html","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
+ {"$GMIncludedFile":"","%Name":"Master.bank","CopyToMask":-1,"filePath":"datafiles","name":"Master.bank","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
+ {"$GMIncludedFile":"","%Name":"Master.strings.bank","CopyToMask":-1,"filePath":"datafiles","name":"Master.strings.bank","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
+ {"$GMIncludedFile":"","%Name":"Music.bank","CopyToMask":-1,"filePath":"datafiles","name":"Music.bank","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
+ {"$GMIncludedFile":"","%Name":"SFX.bank","CopyToMask":-1,"filePath":"datafiles","name":"SFX.bank","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
],
"isEcma":false,
"LibraryEmitters":[],
@@ -118,10 +131,12 @@
},
"name":"CompleteCook",
"resources":[
+ {"id":{"name":"FMOD","path":"extensions/FMOD/FMOD.yy",},},
{"id":{"name":"gameframe_native","path":"extensions/gameframe_native/gameframe_native.yy",},},
{"id":{"name":"fnt_caption","path":"fonts/fnt_caption/fnt_caption.yy",},},
{"id":{"name":"font_console","path":"fonts/font_console/font_console.yy",},},
{"id":{"name":"Credits","path":"notes/Credits/Credits.yy",},},
+ {"id":{"name":"DM Note","path":"notes/DM Note/DM Note.yy",},},
{"id":{"name":"Guide","path":"notes/Guide/Guide.yy",},},
{"id":{"name":"Location of binds & Commands","path":"notes/Location of binds & Commands/Location of binds & Commands.yy",},},
{"id":{"name":"Main Menu Guide","path":"notes/Main Menu Guide/Main Menu Guide.yy",},},
@@ -164,6 +179,7 @@
{"id":{"name":"obj_exitsign","path":"objects/obj_exitsign/obj_exitsign.yy",},},
{"id":{"name":"obj_fade","path":"objects/obj_fade/obj_fade.yy",},},
{"id":{"name":"obj_fadevisual","path":"objects/obj_fadevisual/obj_fadevisual.yy",},},
+ {"id":{"name":"obj_fmodhandler","path":"objects/obj_fmodhandler/obj_fmodhandler.yy",},},
{"id":{"name":"obj_followerhandler","path":"objects/obj_followerhandler/obj_followerhandler.yy",},},
{"id":{"name":"obj_forknight","path":"objects/obj_forknight/obj_forknight.yy",},},
{"id":{"name":"obj_gatehats","path":"objects/obj_gatehats/obj_gatehats.yy",},},
@@ -190,6 +206,7 @@
{"id":{"name":"obj_levelcontroller","path":"objects/obj_levelcontroller/obj_levelcontroller.yy",},},
{"id":{"name":"obj_loading","path":"objects/obj_loading/obj_loading.yy",},},
{"id":{"name":"obj_lockdebris","path":"objects/obj_lockdebris/obj_lockdebris.yy",},},
+ {"id":{"name":"obj_logo_credits","path":"objects/obj_logo_credits/obj_logo_credits.yy",},},
{"id":{"name":"obj_menuhandler","path":"objects/obj_menuhandler/obj_menuhandler.yy",},},
{"id":{"name":"obj_menupeppino","path":"objects/obj_menupeppino/obj_menupeppino.yy",},},
{"id":{"name":"obj_metalblock_secret","path":"objects/obj_metalblock_secret/obj_metalblock_secret.yy",},},
@@ -273,6 +290,9 @@
{"id":{"name":"par_enemy","path":"objects/par_enemy/par_enemy.yy",},},
{"id":{"name":"boss_test","path":"rooms/boss_test/boss_test.yy",},},
{"id":{"name":"depth_test","path":"rooms/depth_test/depth_test.yy",},},
+ {"id":{"name":"dm_1","path":"rooms/dm_1/dm_1.yy",},},
+ {"id":{"name":"dm_2","path":"rooms/dm_2/dm_2.yy",},},
+ {"id":{"name":"enemy_extreme_mass","path":"rooms/enemy_extreme_mass/enemy_extreme_mass.yy",},},
{"id":{"name":"entrance_1","path":"rooms/entrance_1/entrance_1.yy",},},
{"id":{"name":"entrance_10","path":"rooms/entrance_10/entrance_10.yy",},},
{"id":{"name":"entrance_2","path":"rooms/entrance_2/entrance_2.yy",},},
@@ -290,6 +310,7 @@
{"id":{"name":"entrance_secret3","path":"rooms/entrance_secret3/entrance_secret3.yy",},},
{"id":{"name":"init_objs_room","path":"rooms/init_objs_room/init_objs_room.yy",},},
{"id":{"name":"loadingroom","path":"rooms/loadingroom/loadingroom.yy",},},
+ {"id":{"name":"logo_credits","path":"rooms/logo_credits/logo_credits.yy",},},
{"id":{"name":"mainmenu","path":"rooms/mainmenu/mainmenu.yy",},},
{"id":{"name":"rank_room","path":"rooms/rank_room/rank_room.yy",},},
{"id":{"name":"rm_timesup","path":"rooms/rm_timesup/rm_timesup.yy",},},
@@ -311,6 +332,10 @@
{"id":{"name":"create_ghost_obj","path":"scripts/create_ghost_obj/create_ghost_obj.yy",},},
{"id":{"name":"destroyable_util","path":"scripts/destroyable_util/destroyable_util.yy",},},
{"id":{"name":"enemy_scripts","path":"scripts/enemy_scripts/enemy_scripts.yy",},},
+ {"id":{"name":"ExtBufferIO","path":"scripts/ExtBufferIO/ExtBufferIO.yy",},},
+ {"id":{"name":"Fmod_Definitions","path":"scripts/Fmod_Definitions/Fmod_Definitions.yy",},},
+ {"id":{"name":"Fmod_Functions","path":"scripts/Fmod_Functions/Fmod_Functions.yy",},},
+ {"id":{"name":"fmod_studio_event_instance_oneshot","path":"scripts/fmod_studio_event_instance_oneshot/fmod_studio_event_instance_oneshot.yy",},},
{"id":{"name":"gameframe_macros","path":"scripts/gameframe_macros/gameframe_macros.yy",},},
{"id":{"name":"gameframe","path":"scripts/gameframe/gameframe.yy",},},
{"id":{"name":"generic_functions_util","path":"scripts/generic_functions_util/generic_functions_util.yy",},},
@@ -324,7 +349,9 @@
{"id":{"name":"player_bump","path":"scripts/player_bump/player_bump.yy",},},
{"id":{"name":"player_climbwall","path":"scripts/player_climbwall/player_climbwall.yy",},},
{"id":{"name":"player_crouch","path":"scripts/player_crouch/player_crouch.yy",},},
+ {"id":{"name":"player_crusher","path":"scripts/player_crusher/player_crusher.yy",},},
{"id":{"name":"player_defeat","path":"scripts/player_defeat/player_defeat.yy",},},
+ {"id":{"name":"player_divebomb","path":"scripts/player_divebomb/player_divebomb.yy",},},
{"id":{"name":"player_fireass","path":"scripts/player_fireass/player_fireass.yy",},},
{"id":{"name":"player_grab","path":"scripts/player_grab/player_grab.yy",},},
{"id":{"name":"player_grind","path":"scripts/player_grind/player_grind.yy",},},
@@ -336,6 +363,7 @@
{"id":{"name":"player_mach2","path":"scripts/player_mach2/player_mach2.yy",},},
{"id":{"name":"player_mach3","path":"scripts/player_mach3/player_mach3.yy",},},
{"id":{"name":"player_noclip","path":"scripts/player_noclip/player_noclip.yy",},},
+ {"id":{"name":"player_noise_util","path":"scripts/player_noise_util/player_noise_util.yy",},},
{"id":{"name":"player_normal","path":"scripts/player_normal/player_normal.yy",},},
{"id":{"name":"player_parry","path":"scripts/player_parry/player_parry.yy",},},
{"id":{"name":"player_piledriver","path":"scripts/player_piledriver/player_piledriver.yy",},},
@@ -343,13 +371,14 @@
{"id":{"name":"player_punchenemy","path":"scripts/player_punchenemy/player_punchenemy.yy",},},
{"id":{"name":"player_punchstun","path":"scripts/player_punchstun/player_punchstun.yy",},},
{"id":{"name":"player_shotgunshoot","path":"scripts/player_shotgunshoot/player_shotgunshoot.yy",},},
- {"id":{"name":"player_sip","path":"scripts/player_sip/player_sip.yy",},},
{"id":{"name":"player_slide","path":"scripts/player_slide/player_slide.yy",},},
+ {"id":{"name":"player_slip","path":"scripts/player_slip/player_slip.yy",},},
{"id":{"name":"player_superjump","path":"scripts/player_superjump/player_superjump.yy",},},
{"id":{"name":"player_swingding","path":"scripts/player_swingding/player_swingding.yy",},},
{"id":{"name":"player_taunt","path":"scripts/player_taunt/player_taunt.yy",},},
{"id":{"name":"player_tumble","path":"scripts/player_tumble/player_tumble.yy",},},
{"id":{"name":"player_util","path":"scripts/player_util/player_util.yy",},},
+ {"id":{"name":"player_wallbounce","path":"scripts/player_wallbounce/player_wallbounce.yy",},},
{"id":{"name":"scr_pattern_utilities","path":"scripts/scr_pattern_utilities/scr_pattern_utilities.yy",},},
{"id":{"name":"scr_retro_pal_swapper_utilities","path":"scripts/scr_retro_pal_swapper_utilities/scr_retro_pal_swapper_utilities.yy",},},
{"id":{"name":"scr_retro_pal_swapper","path":"scripts/scr_retro_pal_swapper/scr_retro_pal_swapper.yy",},},
@@ -359,6 +388,7 @@
{"id":{"name":"text_util","path":"scripts/text_util/text_util.yy",},},
{"id":{"name":"tv_util","path":"scripts/tv_util/tv_util.yy",},},
{"id":{"name":"util_pause","path":"scripts/util_pause/util_pause.yy",},},
+ {"id":{"name":"shd_afterimage_noise","path":"shaders/shd_afterimage_noise/shd_afterimage_noise.yy",},},
{"id":{"name":"shd_blur","path":"shaders/shd_blur/shd_blur.yy",},},
{"id":{"name":"shd_flash","path":"shaders/shd_flash/shd_flash.yy",},},
{"id":{"name":"shd_gui_bg_remove","path":"shaders/shd_gui_bg_remove/shd_gui_bg_remove.yy",},},
@@ -368,159 +398,6 @@
{"id":{"name":"shd_pattern","path":"shaders/shd_pattern/shd_pattern.yy",},},
{"id":{"name":"shd_rank_brown","path":"shaders/shd_rank_brown/shd_rank_brown.yy",},},
{"id":{"name":"shd_solidcolor","path":"shaders/shd_solidcolor/shd_solidcolor.yy",},},
- {"id":{"name":"mu_bossdefeat","path":"sounds/mu_bossdefeat/mu_bossdefeat.yy",},},
- {"id":{"name":"mu_entrance_secret","path":"sounds/mu_entrance_secret/mu_entrance_secret.yy",},},
- {"id":{"name":"mu_entrance","path":"sounds/mu_entrance/mu_entrance.yy",},},
- {"id":{"name":"mu_hub","path":"sounds/mu_hub/mu_hub.yy",},},
- {"id":{"name":"mu_lap2","path":"sounds/mu_lap2/mu_lap2.yy",},},
- {"id":{"name":"mu_mainmenu","path":"sounds/mu_mainmenu/mu_mainmenu.yy",},},
- {"id":{"name":"mu_pause","path":"sounds/mu_pause/mu_pause.yy",},},
- {"id":{"name":"mu_pepperman","path":"sounds/mu_pepperman/mu_pepperman.yy",},},
- {"id":{"name":"mu_pillar","path":"sounds/mu_pillar/mu_pillar.yy",},},
- {"id":{"name":"mu_pizzatime","path":"sounds/mu_pizzatime/mu_pizzatime.yy",},},
- {"id":{"name":"mu_ranka","path":"sounds/mu_ranka/mu_ranka.yy",},},
- {"id":{"name":"mu_rankb","path":"sounds/mu_rankb/mu_rankb.yy",},},
- {"id":{"name":"mu_rankc","path":"sounds/mu_rankc/mu_rankc.yy",},},
- {"id":{"name":"mu_rankd","path":"sounds/mu_rankd/mu_rankd.yy",},},
- {"id":{"name":"mu_rankp","path":"sounds/mu_rankp/mu_rankp.yy",},},
- {"id":{"name":"mu_ranks","path":"sounds/mu_ranks/mu_ranks.yy",},},
- {"id":{"name":"mu_secret","path":"sounds/mu_secret/mu_secret.yy",},},
- {"id":{"name":"mu_timesup","path":"sounds/mu_timesup/mu_timesup.yy",},},
- {"id":{"name":"mu_title_john","path":"sounds/mu_title_john/mu_title_john.yy",},},
- {"id":{"name":"sfx_ballhitwall","path":"sounds/sfx_ballhitwall/sfx_ballhitwall.yy",},},
- {"id":{"name":"sfx_ballroll","path":"sounds/sfx_ballroll/sfx_ballroll.yy",},},
- {"id":{"name":"sfx_beatbox","path":"sounds/sfx_beatbox/sfx_beatbox.yy",},},
- {"id":{"name":"sfx_bossintro","path":"sounds/sfx_bossintro/sfx_bossintro.yy",},},
- {"id":{"name":"sfx_bottlepop","path":"sounds/sfx_bottlepop/sfx_bottlepop.yy",},},
- {"id":{"name":"sfx_box","path":"sounds/sfx_box/sfx_box.yy",},},
- {"id":{"name":"sfx_break","path":"sounds/sfx_break/sfx_break.yy",},},
- {"id":{"name":"sfx_breakblock1","path":"sounds/sfx_breakblock1/sfx_breakblock1.yy",},},
- {"id":{"name":"sfx_breakblock2","path":"sounds/sfx_breakblock2/sfx_breakblock2.yy",},},
- {"id":{"name":"sfx_breakdance","path":"sounds/sfx_breakdance/sfx_breakdance.yy",},},
- {"id":{"name":"sfx_breakmetal","path":"sounds/sfx_breakmetal/sfx_breakmetal.yy",},},
- {"id":{"name":"sfx_bumpenemy","path":"sounds/sfx_bumpenemy/sfx_bumpenemy.yy",},},
- {"id":{"name":"sfx_bumpwall","path":"sounds/sfx_bumpwall/sfx_bumpwall.yy",},},
- {"id":{"name":"sfx_checkpoint","path":"sounds/sfx_checkpoint/sfx_checkpoint.yy",},},
- {"id":{"name":"sfx_clothesswitch","path":"sounds/sfx_clothesswitch/sfx_clothesswitch.yy",},},
- {"id":{"name":"sfx_collect","path":"sounds/sfx_collect/sfx_collect.yy",},},
- {"id":{"name":"sfx_collectbig","path":"sounds/sfx_collectbig/sfx_collectbig.yy",},},
- {"id":{"name":"sfx_collecttoppin","path":"sounds/sfx_collecttoppin/sfx_collecttoppin.yy",},},
- {"id":{"name":"sfx_comboend","path":"sounds/sfx_comboend/sfx_comboend.yy",},},
- {"id":{"name":"sfx_comboup1","path":"sounds/sfx_comboup1/sfx_comboup1.yy",},},
- {"id":{"name":"sfx_comboup2","path":"sounds/sfx_comboup2/sfx_comboup2.yy",},},
- {"id":{"name":"sfx_comboup4","path":"sounds/sfx_comboup4/sfx_comboup4.yy",},},
- {"id":{"name":"sfx_dashpad","path":"sounds/sfx_dashpad/sfx_dashpad.yy",},},
- {"id":{"name":"sfx_dive","path":"sounds/sfx_dive/sfx_dive.yy",},},
- {"id":{"name":"sfx_door","path":"sounds/sfx_door/sfx_door.yy",},},
- {"id":{"name":"sfx_electricity","path":"sounds/sfx_electricity/sfx_electricity.yy",},},
- {"id":{"name":"sfx_enemyprojectile","path":"sounds/sfx_enemyprojectile/sfx_enemyprojectile.yy",},},
- {"id":{"name":"sfx_escapecollect","path":"sounds/sfx_escapecollect/sfx_escapecollect.yy",},},
- {"id":{"name":"sfx_escapecollectbig","path":"sounds/sfx_escapecollectbig/sfx_escapecollectbig.yy",},},
- {"id":{"name":"sfx_escaperumble","path":"sounds/sfx_escaperumble/sfx_escaperumble.yy",},},
- {"id":{"name":"sfx_explosion","path":"sounds/sfx_explosion/sfx_explosion.yy",},},
- {"id":{"name":"sfx_fileselect1","path":"sounds/sfx_fileselect1/sfx_fileselect1.yy",},},
- {"id":{"name":"sfx_fileselect2","path":"sounds/sfx_fileselect2/sfx_fileselect2.yy",},},
- {"id":{"name":"sfx_fileselect3","path":"sounds/sfx_fileselect3/sfx_fileselect3.yy",},},
- {"id":{"name":"sfx_fireass","path":"sounds/sfx_fireass/sfx_fireass.yy",},},
- {"id":{"name":"sfx_genericfire","path":"sounds/sfx_genericfire/sfx_genericfire.yy",},},
- {"id":{"name":"sfx_geromecollect","path":"sounds/sfx_geromecollect/sfx_geromecollect.yy",},},
- {"id":{"name":"sfx_grabcancel","path":"sounds/sfx_grabcancel/sfx_grabcancel.yy",},},
- {"id":{"name":"sfx_groundpound","path":"sounds/sfx_groundpound/sfx_groundpound.yy",},},
- {"id":{"name":"sfx_groundpoundloop","path":"sounds/sfx_groundpoundloop/sfx_groundpoundloop.yy",},},
- {"id":{"name":"sfx_hurt","path":"sounds/sfx_hurt/sfx_hurt.yy",},},
- {"id":{"name":"sfx_jump","path":"sounds/sfx_jump/sfx_jump.yy",},},
- {"id":{"name":"sfx_killenemy","path":"sounds/sfx_killenemy/sfx_killenemy.yy",},},
- {"id":{"name":"sfx_killingblow","path":"sounds/sfx_killingblow/sfx_killingblow.yy",},},
- {"id":{"name":"sfx_lap2ring","path":"sounds/sfx_lap2ring/sfx_lap2ring.yy",},},
- {"id":{"name":"sfx_lapportal","path":"sounds/sfx_lapportal/sfx_lapportal.yy",},},
- {"id":{"name":"sfx_mach1","path":"sounds/sfx_mach1/sfx_mach1.yy",},},
- {"id":{"name":"sfx_mach2","path":"sounds/sfx_mach2/sfx_mach2.yy",},},
- {"id":{"name":"sfx_mach3","path":"sounds/sfx_mach3/sfx_mach3.yy",},},
- {"id":{"name":"sfx_mach4","path":"sounds/sfx_mach4/sfx_mach4.yy",},},
- {"id":{"name":"sfx_machslideboost","path":"sounds/sfx_machslideboost/sfx_machslideboost.yy",},},
- {"id":{"name":"sfx_menulight","path":"sounds/sfx_menulight/sfx_menulight.yy",},},
- {"id":{"name":"sfx_menustatic","path":"sounds/sfx_menustatic/sfx_menustatic.yy",},},
- {"id":{"name":"sfx_otherbump","path":"sounds/sfx_otherbump/sfx_otherbump.yy",},},
- {"id":{"name":"sfx_outtransfo","path":"sounds/sfx_outtransfo/sfx_outtransfo.yy",},},
- {"id":{"name":"sfx_parry","path":"sounds/sfx_parry/sfx_parry.yy",},},
- {"id":{"name":"sfx_peppermanrun","path":"sounds/sfx_peppermanrun/sfx_peppermanrun.yy",},},
- {"id":{"name":"sfx_peppinopunch","path":"sounds/sfx_peppinopunch/sfx_peppinopunch.yy",},},
- {"id":{"name":"sfx_pepsticker","path":"sounds/sfx_pepsticker/sfx_pepsticker.yy",},},
- {"id":{"name":"sfx_pillarimpact","path":"sounds/sfx_pillarimpact/sfx_pillarimpact.yy",},},
- {"id":{"name":"sfx_pillarspawn","path":"sounds/sfx_pillarspawn/sfx_pillarspawn.yy",},},
- {"id":{"name":"sfx_pizzaface","path":"sounds/sfx_pizzaface/sfx_pizzaface.yy",},},
- {"id":{"name":"sfx_pizzafacemove","path":"sounds/sfx_pizzafacemove/sfx_pizzafacemove.yy",},},
- {"id":{"name":"sfx_pray","path":"sounds/sfx_pray/sfx_pray.yy",},},
- {"id":{"name":"sfx_punch","path":"sounds/sfx_punch/sfx_punch.yy",},},
- {"id":{"name":"sfx_rankdown1","path":"sounds/sfx_rankdown1/sfx_rankdown1.yy",},},
- {"id":{"name":"sfx_rankdown2","path":"sounds/sfx_rankdown2/sfx_rankdown2.yy",},},
- {"id":{"name":"sfx_rankdown3","path":"sounds/sfx_rankdown3/sfx_rankdown3.yy",},},
- {"id":{"name":"sfx_rankdown4","path":"sounds/sfx_rankdown4/sfx_rankdown4.yy",},},
- {"id":{"name":"sfx_rankdown5","path":"sounds/sfx_rankdown5/sfx_rankdown5.yy",},},
- {"id":{"name":"sfx_rankup1","path":"sounds/sfx_rankup1/sfx_rankup1.yy",},},
- {"id":{"name":"sfx_rankup2","path":"sounds/sfx_rankup2/sfx_rankup2.yy",},},
- {"id":{"name":"sfx_rankup3","path":"sounds/sfx_rankup3/sfx_rankup3.yy",},},
- {"id":{"name":"sfx_rankup4","path":"sounds/sfx_rankup4/sfx_rankup4.yy",},},
- {"id":{"name":"sfx_rankup5","path":"sounds/sfx_rankup5/sfx_rankup5.yy",},},
- {"id":{"name":"sfx_ratdead","path":"sounds/sfx_ratdead/sfx_ratdead.yy",},},
- {"id":{"name":"sfx_ratsniff","path":"sounds/sfx_ratsniff/sfx_ratsniff.yy",},},
- {"id":{"name":"sfx_rollgetup","path":"sounds/sfx_rollgetup/sfx_rollgetup.yy",},},
- {"id":{"name":"sfx_secretenter","path":"sounds/sfx_secretenter/sfx_secretenter.yy",},},
- {"id":{"name":"sfx_secretexit","path":"sounds/sfx_secretexit/sfx_secretexit.yy",},},
- {"id":{"name":"sfx_shotgunload","path":"sounds/sfx_shotgunload/sfx_shotgunload.yy",},},
- {"id":{"name":"sfx_shotgunshot","path":"sounds/sfx_shotgunshot/sfx_shotgunshot.yy",},},
- {"id":{"name":"sfx_slip","path":"sounds/sfx_slip/sfx_slip.yy",},},
- {"id":{"name":"sfx_slipend1","path":"sounds/sfx_slipend1/sfx_slipend1.yy",},},
- {"id":{"name":"sfx_slipend2","path":"sounds/sfx_slipend2/sfx_slipend2.yy",},},
- {"id":{"name":"sfx_slipend3","path":"sounds/sfx_slipend3/sfx_slipend3.yy",},},
- {"id":{"name":"sfx_sliphit1","path":"sounds/sfx_sliphit1/sfx_sliphit1.yy",},},
- {"id":{"name":"sfx_sliphit2","path":"sounds/sfx_sliphit2/sfx_sliphit2.yy",},},
- {"id":{"name":"sfx_sliphit3","path":"sounds/sfx_sliphit3/sfx_sliphit3.yy",},},
- {"id":{"name":"sfx_sliphit4","path":"sounds/sfx_sliphit4/sfx_sliphit4.yy",},},
- {"id":{"name":"sfx_sliphit5","path":"sounds/sfx_sliphit5/sfx_sliphit5.yy",},},
- {"id":{"name":"sfx_sliphit6","path":"sounds/sfx_sliphit6/sfx_sliphit6.yy",},},
- {"id":{"name":"sfx_sliphit7","path":"sounds/sfx_sliphit7/sfx_sliphit7.yy",},},
- {"id":{"name":"sfx_sliphit8","path":"sounds/sfx_sliphit8/sfx_sliphit8.yy",},},
- {"id":{"name":"sfx_spin","path":"sounds/sfx_spin/sfx_spin.yy",},},
- {"id":{"name":"sfx_splat","path":"sounds/sfx_splat/sfx_splat.yy",},},
- {"id":{"name":"sfx_step","path":"sounds/sfx_step/sfx_step.yy",},},
- {"id":{"name":"sfx_stompenemy","path":"sounds/sfx_stompenemy/sfx_stompenemy.yy",},},
- {"id":{"name":"sfx_superjumpcancel","path":"sounds/sfx_superjumpcancel/sfx_superjumpcancel.yy",},},
- {"id":{"name":"sfx_superjumphold","path":"sounds/sfx_superjumphold/sfx_superjumphold.yy",},},
- {"id":{"name":"sfx_superjumprelease","path":"sounds/sfx_superjumprelease/sfx_superjumprelease.yy",},},
- {"id":{"name":"sfx_superspring","path":"sounds/sfx_superspring/sfx_superspring.yy",},},
- {"id":{"name":"sfx_supertaunt","path":"sounds/sfx_supertaunt/sfx_supertaunt.yy",},},
- {"id":{"name":"sfx_supertauntnotif","path":"sounds/sfx_supertauntnotif/sfx_supertauntnotif.yy",},},
- {"id":{"name":"sfx_suplexdash","path":"sounds/sfx_suplexdash/sfx_suplexdash.yy",},},
- {"id":{"name":"sfx_taunt","path":"sounds/sfx_taunt/sfx_taunt.yy",},},
- {"id":{"name":"sfx_teleportenter","path":"sounds/sfx_teleportenter/sfx_teleportenter.yy",},},
- {"id":{"name":"sfx_teleportexit","path":"sounds/sfx_teleportexit/sfx_teleportexit.yy",},},
- {"id":{"name":"sfx_timesup","path":"sounds/sfx_timesup/sfx_timesup.yy",},},
- {"id":{"name":"sfx_toppinhelp","path":"sounds/sfx_toppinhelp/sfx_toppinhelp.yy",},},
- {"id":{"name":"sfx_transfo","path":"sounds/sfx_transfo/sfx_transfo.yy",},},
- {"id":{"name":"sfx_treasurefind","path":"sounds/sfx_treasurefind/sfx_treasurefind.yy",},},
- {"id":{"name":"sfx_tvswitch","path":"sounds/sfx_tvswitch/sfx_tvswitch.yy",},},
- {"id":{"name":"sfx_tvswitchback","path":"sounds/sfx_tvswitchback/sfx_tvswitchback.yy",},},
- {"id":{"name":"sfx_ui_accept1","path":"sounds/sfx_ui_accept1/sfx_ui_accept1.yy",},},
- {"id":{"name":"sfx_ui_accept2","path":"sounds/sfx_ui_accept2/sfx_ui_accept2.yy",},},
- {"id":{"name":"sfx_ui_accept3","path":"sounds/sfx_ui_accept3/sfx_ui_accept3.yy",},},
- {"id":{"name":"sfx_ui_back","path":"sounds/sfx_ui_back/sfx_ui_back.yy",},},
- {"id":{"name":"sfx_ui_pausemove","path":"sounds/sfx_ui_pausemove/sfx_ui_pausemove.yy",},},
- {"id":{"name":"sfx_unlock","path":"sounds/sfx_unlock/sfx_unlock.yy",},},
- {"id":{"name":"sfx_uppercut","path":"sounds/sfx_uppercut/sfx_uppercut.yy",},},
- {"id":{"name":"sfx_vulnerable","path":"sounds/sfx_vulnerable/sfx_vulnerable.yy",},},
- {"id":{"name":"v_option_frog","path":"sounds/v_option_frog/v_option_frog.yy",},},
- {"id":{"name":"v_pep_alright_high","path":"sounds/v_pep_alright_high/v_pep_alright_high.yy",},},
- {"id":{"name":"v_pep_alright","path":"sounds/v_pep_alright/v_pep_alright.yy",},},
- {"id":{"name":"v_pep_bah","path":"sounds/v_pep_bah/v_pep_bah.yy",},},
- {"id":{"name":"v_pep_hurt","path":"sounds/v_pep_hurt/v_pep_hurt.yy",},},
- {"id":{"name":"v_pep_hurt2","path":"sounds/v_pep_hurt2/v_pep_hurt2.yy",},},
- {"id":{"name":"v_pep_paParanoid","path":"sounds/v_pep_paParanoid/v_pep_paParanoid.yy",},},
- {"id":{"name":"v_pep_paranoid","path":"sounds/v_pep_paranoid/v_pep_paranoid.yy",},},
- {"id":{"name":"v_pep_shuk","path":"sounds/v_pep_shuk/v_pep_shuk.yy",},},
- {"id":{"name":"v_peppinoscream","path":"sounds/v_peppinoscream/v_peppinoscream.yy",},},
- {"id":{"name":"v_rarescream1","path":"sounds/v_rarescream1/v_rarescream1.yy",},},
- {"id":{"name":"v_rarescream2","path":"sounds/v_rarescream2/v_rarescream2.yy",},},
{"id":{"name":"bg_arena_pepperman","path":"sprites/bg_arena_pepperman/bg_arena_pepperman.yy",},},
{"id":{"name":"bg_bossversus","path":"sprites/bg_bossversus/bg_bossversus.yy",},},
{"id":{"name":"bg_dragonlair","path":"sprites/bg_dragonlair/bg_dragonlair.yy",},},
@@ -532,6 +409,7 @@
{"id":{"name":"bg_medieval2","path":"sprites/bg_medieval2/bg_medieval2.yy",},},
{"id":{"name":"bg_pepperman_clouds","path":"sprites/bg_pepperman_clouds/bg_pepperman_clouds.yy",},},
{"id":{"name":"bg_pepperman","path":"sprites/bg_pepperman/bg_pepperman.yy",},},
+ {"id":{"name":"bg_rankN_P","path":"sprites/bg_rankN_P/bg_rankN_P.yy",},},
{"id":{"name":"bg_secret","path":"sprites/bg_secret/bg_secret.yy",},},
{"id":{"name":"bg_tower","path":"sprites/bg_tower/bg_tower.yy",},},
{"id":{"name":"bg_tower2","path":"sprites/bg_tower2/bg_tower2.yy",},},
@@ -548,29 +426,43 @@
{"id":{"name":"mask_player_small","path":"sprites/mask_player_small/mask_player_small.yy",},},
{"id":{"name":"mask_player","path":"sprites/mask_player/mask_player.yy",},},
{"id":{"name":"pal_combo","path":"sprites/pal_combo/pal_combo.yy",},},
- {"id":{"name":"pal_peppatterncolors","path":"sprites/pal_peppatterncolors/pal_peppatterncolors.yy",},},
- {"id":{"name":"pal_peppino","path":"sprites/pal_peppino/pal_peppino.yy",},},
+ {"id":{"name":"pal_combobubble","path":"sprites/pal_combobubble/pal_combobubble.yy",},},
+ {"id":{"name":"pal_playerN","path":"sprites/pal_playerN/pal_playerN.yy",},},
+ {"id":{"name":"pal_playerP","path":"sprites/pal_playerP/pal_playerP.yy",},},
+ {"id":{"name":"pal_playerpattenrcolorsN","path":"sprites/pal_playerpattenrcolorsN/pal_playerpattenrcolorsN.yy",},},
+ {"id":{"name":"pal_playerpattenrcolorsP","path":"sprites/pal_playerpattenrcolorsP/pal_playerpattenrcolorsP.yy",},},
+ {"id":{"name":"pal_tv","path":"sprites/pal_tv/pal_tv.yy",},},
{"id":{"name":"particle_1","path":"sprites/particle_1/particle_1.yy",},},
{"id":{"name":"pat_autumn","path":"sprites/pat_autumn/pat_autumn.yy",},},
+ {"id":{"name":"pat_banana","path":"sprites/pat_banana/pat_banana.yy",},},
{"id":{"name":"pat_bloodstained","path":"sprites/pat_bloodstained/pat_bloodstained.yy",},},
{"id":{"name":"pat_bones","path":"sprites/pat_bones/pat_bones.yy",},},
+ {"id":{"name":"pat_bubbly","path":"sprites/pat_bubbly/pat_bubbly.yy",},},
{"id":{"name":"pat_candy","path":"sprites/pat_candy/pat_candy.yy",},},
+ {"id":{"name":"pat_comedian","path":"sprites/pat_comedian/pat_comedian.yy",},},
+ {"id":{"name":"pat_cow","path":"sprites/pat_cow/pat_cow.yy",},},
{"id":{"name":"pat_eyes","path":"sprites/pat_eyes/pat_eyes.yy",},},
{"id":{"name":"pat_funny","path":"sprites/pat_funny/pat_funny.yy",},},
{"id":{"name":"pat_fur","path":"sprites/pat_fur/pat_fur.yy",},},
{"id":{"name":"pat_goldemanne","path":"sprites/pat_goldemanne/pat_goldemanne.yy",},},
+ {"id":{"name":"pat_granny","path":"sprites/pat_granny/pat_granny.yy",},},
{"id":{"name":"pat_itchy","path":"sprites/pat_itchy/pat_itchy.yy",},},
{"id":{"name":"pat_john","path":"sprites/pat_john/pat_john.yy",},},
+ {"id":{"name":"pat_madman","path":"sprites/pat_madman/pat_madman.yy",},},
+ {"id":{"name":"pat_ntv","path":"sprites/pat_ntv/pat_ntv.yy",},},
{"id":{"name":"pat_pizza","path":"sprites/pat_pizza/pat_pizza.yy",},},
{"id":{"name":"pat_pp","path":"sprites/pat_pp/pat_pp.yy",},},
{"id":{"name":"pat_pumpkin","path":"sprites/pat_pumpkin/pat_pumpkin.yy",},},
+ {"id":{"name":"pat_racer","path":"sprites/pat_racer/pat_racer.yy",},},
{"id":{"name":"pat_stripes","path":"sprites/pat_stripes/pat_stripes.yy",},},
+ {"id":{"name":"pat_tower","path":"sprites/pat_tower/pat_tower.yy",},},
{"id":{"name":"pat_war","path":"sprites/pat_war/pat_war.yy",},},
{"id":{"name":"sfopiopogrjkbjldv","path":"sprites/sfopiopogrjkbjldv/sfopiopogrjkbjldv.yy",},},
{"id":{"name":"spr_angrycloud","path":"sprites/spr_angrycloud/spr_angrycloud.yy",},},
{"id":{"name":"spr_banana","path":"sprites/spr_banana/spr_banana.yy",},},
{"id":{"name":"spr_bangeffect","path":"sprites/spr_bangeffect/spr_bangeffect.yy",},},
- {"id":{"name":"spr_beatbox","path":"sprites/spr_beatbox/spr_beatbox.yy",},},
+ {"id":{"name":"spr_beatboxN","path":"sprites/spr_beatboxN/spr_beatboxN.yy",},},
+ {"id":{"name":"spr_beatboxP","path":"sprites/spr_beatboxP/spr_beatboxP.yy",},},
{"id":{"name":"spr_bigcollectcheese","path":"sprites/spr_bigcollectcheese/spr_bigcollectcheese.yy",},},
{"id":{"name":"spr_bigcollectmushroom","path":"sprites/spr_bigcollectmushroom/spr_bigcollectmushroom.yy",},},
{"id":{"name":"spr_bigcollectpineapple","path":"sprites/spr_bigcollectpineapple/spr_bigcollectpineapple.yy",},},
@@ -623,6 +515,8 @@
{"id":{"name":"spr_destroyable","path":"sprites/spr_destroyable/spr_destroyable.yy",},},
{"id":{"name":"spr_door","path":"sprites/spr_door/spr_door.yy",},},
{"id":{"name":"spr_dresser","path":"sprites/spr_dresser/spr_dresser.yy",},},
+ {"id":{"name":"spr_drilldebris","path":"sprites/spr_drilldebris/spr_drilldebris.yy",},},
+ {"id":{"name":"spr_drilleffect","path":"sprites/spr_drilleffect/spr_drilleffect.yy",},},
{"id":{"name":"spr_enemybird","path":"sprites/spr_enemybird/spr_enemybird.yy",},},
{"id":{"name":"spr_entrance_bgtile1","path":"sprites/spr_entrance_bgtile1/spr_entrance_bgtile1.yy",},},
{"id":{"name":"spr_entrance_bgtile2","path":"sprites/spr_entrance_bgtile2/spr_entrance_bgtile2.yy",},},
@@ -670,6 +564,7 @@
{"id":{"name":"spr_gustavo_exitidle","path":"sprites/spr_gustavo_exitidle/spr_gustavo_exitidle.yy",},},
{"id":{"name":"spr_highjumpcloud2","path":"sprites/spr_highjumpcloud2/spr_highjumpcloud2.yy",},},
{"id":{"name":"spr_hurtstars","path":"sprites/spr_hurtstars/spr_hurtstars.yy",},},
+ {"id":{"name":"spr_intro_fmod","path":"sprites/spr_intro_fmod/spr_intro_fmod.yy",},},
{"id":{"name":"spr_jumpdust","path":"sprites/spr_jumpdust/spr_jumpdust.yy",},},
{"id":{"name":"spr_key","path":"sprites/spr_key/spr_key.yy",},},
{"id":{"name":"spr_keydoor","path":"sprites/spr_keydoor/spr_keydoor.yy",},},
@@ -677,6 +572,7 @@
{"id":{"name":"spr_kungfueffect","path":"sprites/spr_kungfueffect/spr_kungfueffect.yy",},},
{"id":{"name":"spr_ladder","path":"sprites/spr_ladder/spr_ladder.yy",},},
{"id":{"name":"spr_landeffect","path":"sprites/spr_landeffect/spr_landeffect.yy",},},
+ {"id":{"name":"spr_landeffectbig","path":"sprites/spr_landeffectbig/spr_landeffectbig.yy",},},
{"id":{"name":"spr_lap2","path":"sprites/spr_lap2/spr_lap2.yy",},},
{"id":{"name":"spr_lap2warning","path":"sprites/spr_lap2warning/spr_lap2warning.yy",},},
{"id":{"name":"spr_lapflag","path":"sprites/spr_lapflag/spr_lapflag.yy",},},
@@ -715,6 +611,8 @@
{"id":{"name":"spr_mp_bird","path":"sprites/spr_mp_bird/spr_mp_bird.yy",},},
{"id":{"name":"spr_mushroomcollect","path":"sprites/spr_mushroomcollect/spr_mushroomcollect.yy",},},
{"id":{"name":"spr_negativenumber_font","path":"sprites/spr_negativenumber_font/spr_negativenumber_font.yy",},},
+ {"id":{"name":"spr_noisebump","path":"sprites/spr_noisebump/spr_noisebump.yy",},},
+ {"id":{"name":"spr_noiseicon","path":"sprites/spr_noiseicon/spr_noiseicon.yy",},},
{"id":{"name":"spr_notes","path":"sprites/spr_notes/spr_notes.yy",},},
{"id":{"name":"spr_null","path":"sprites/spr_null/spr_null.yy",},},
{"id":{"name":"spr_olddoor","path":"sprites/spr_olddoor/spr_olddoor.yy",},},
@@ -723,12 +621,14 @@
{"id":{"name":"spr_onewaydead","path":"sprites/spr_onewaydead/spr_onewaydead.yy",},},
{"id":{"name":"spr_optionbg","path":"sprites/spr_optionbg/spr_optionbg.yy",},},
{"id":{"name":"spr_outlet","path":"sprites/spr_outlet/spr_outlet.yy",},},
- {"id":{"name":"spr_palettedresserdebris","path":"sprites/spr_palettedresserdebris/spr_palettedresserdebris.yy",},},
+ {"id":{"name":"spr_palettedresserdebrisN","path":"sprites/spr_palettedresserdebrisN/spr_palettedresserdebrisN.yy",},},
+ {"id":{"name":"spr_palettedresserdebrisP","path":"sprites/spr_palettedresserdebrisP/spr_palettedresserdebrisP.yy",},},
{"id":{"name":"spr_parryflash","path":"sprites/spr_parryflash/spr_parryflash.yy",},},
{"id":{"name":"spr_pause_border","path":"sprites/spr_pause_border/spr_pause_border.yy",},},
{"id":{"name":"spr_pause_icons","path":"sprites/spr_pause_icons/spr_pause_icons.yy",},},
{"id":{"name":"spr_pause_treasuretext","path":"sprites/spr_pause_treasuretext/spr_pause_treasuretext.yy",},},
{"id":{"name":"spr_pause_vines","path":"sprites/spr_pause_vines/spr_pause_vines.yy",},},
+ {"id":{"name":"spr_pepicon","path":"sprites/spr_pepicon/spr_pepicon.yy",},},
{"id":{"name":"spr_pepperman_idle","path":"sprites/spr_pepperman_idle/spr_pepperman_idle.yy",},},
{"id":{"name":"spr_pepperman_run","path":"sprites/spr_pepperman_run/spr_pepperman_run.yy",},},
{"id":{"name":"spr_pepperman_scared","path":"sprites/spr_pepperman_scared/spr_pepperman_scared.yy",},},
@@ -777,154 +677,270 @@
{"id":{"name":"spr_pizzasona1","path":"sprites/spr_pizzasona1/spr_pizzasona1.yy",},},
{"id":{"name":"spr_pizzatime","path":"sprites/spr_pizzatime/spr_pizzatime.yy",},},
{"id":{"name":"spr_platform","path":"sprites/spr_platform/spr_platform.yy",},},
- {"id":{"name":"spr_player_backslide","path":"sprites/spr_player_backslide/spr_player_backslide.yy",},},
- {"id":{"name":"spr_player_ball","path":"sprites/spr_player_ball/spr_player_ball.yy",},},
- {"id":{"name":"spr_player_ballend","path":"sprites/spr_player_ballend/spr_player_ballend.yy",},},
- {"id":{"name":"spr_player_bodyslamfall","path":"sprites/spr_player_bodyslamfall/spr_player_bodyslamfall.yy",},},
- {"id":{"name":"spr_player_bodyslamland","path":"sprites/spr_player_bodyslamland/spr_player_bodyslamland.yy",},},
- {"id":{"name":"spr_player_bodyslamstart","path":"sprites/spr_player_bodyslamstart/spr_player_bodyslamstart.yy",},},
- {"id":{"name":"spr_player_bossdefeated","path":"sprites/spr_player_bossdefeated/spr_player_bossdefeated.yy",},},
- {"id":{"name":"spr_player_breakdance","path":"sprites/spr_player_breakdance/spr_player_breakdance.yy",},},
- {"id":{"name":"spr_player_bump","path":"sprites/spr_player_bump/spr_player_bump.yy",},},
- {"id":{"name":"spr_player_ceilinghit","path":"sprites/spr_player_ceilinghit/spr_player_ceilinghit.yy",},},
- {"id":{"name":"spr_player_climbwall","path":"sprites/spr_player_climbwall/spr_player_climbwall.yy",},},
- {"id":{"name":"spr_player_clingwall","path":"sprites/spr_player_clingwall/spr_player_clingwall.yy",},},
- {"id":{"name":"spr_player_crawl","path":"sprites/spr_player_crawl/spr_player_crawl.yy",},},
- {"id":{"name":"spr_player_crazyrun","path":"sprites/spr_player_crazyrun/spr_player_crazyrun.yy",},},
- {"id":{"name":"spr_player_crouch","path":"sprites/spr_player_crouch/spr_player_crouch.yy",},},
- {"id":{"name":"spr_player_crouchdown","path":"sprites/spr_player_crouchdown/spr_player_crouchdown.yy",},},
- {"id":{"name":"spr_player_crouchfall","path":"sprites/spr_player_crouchfall/spr_player_crouchfall.yy",},},
- {"id":{"name":"spr_player_crouchslip","path":"sprites/spr_player_crouchslip/spr_player_crouchslip.yy",},},
- {"id":{"name":"spr_player_dashpad","path":"sprites/spr_player_dashpad/spr_player_dashpad.yy",},},
- {"id":{"name":"spr_player_dead","path":"sprites/spr_player_dead/spr_player_dead.yy",},},
- {"id":{"name":"spr_player_defeat","path":"sprites/spr_player_defeat/spr_player_defeat.yy",},},
- {"id":{"name":"spr_player_defeatland","path":"sprites/spr_player_defeatland/spr_player_defeatland.yy",},},
- {"id":{"name":"spr_player_dive","path":"sprites/spr_player_dive/spr_player_dive.yy",},},
- {"id":{"name":"spr_player_downpizzabox","path":"sprites/spr_player_downpizzabox/spr_player_downpizzabox.yy",},},
- {"id":{"name":"spr_player_entergate","path":"sprites/spr_player_entergate/spr_player_entergate.yy",},},
- {"id":{"name":"spr_player_enterkeydoor","path":"sprites/spr_player_enterkeydoor/spr_player_enterkeydoor.yy",},},
- {"id":{"name":"spr_player_facehurt","path":"sprites/spr_player_facehurt/spr_player_facehurt.yy",},},
- {"id":{"name":"spr_player_fall","path":"sprites/spr_player_fall/spr_player_fall.yy",},},
- {"id":{"name":"spr_player_fallface","path":"sprites/spr_player_fallface/spr_player_fallface.yy",},},
- {"id":{"name":"spr_player_finishingblow1","path":"sprites/spr_player_finishingblow1/spr_player_finishingblow1.yy",},},
- {"id":{"name":"spr_player_finishingblow2","path":"sprites/spr_player_finishingblow2/spr_player_finishingblow2.yy",},},
- {"id":{"name":"spr_player_finishingblow3","path":"sprites/spr_player_finishingblow3/spr_player_finishingblow3.yy",},},
- {"id":{"name":"spr_player_finishingblow4","path":"sprites/spr_player_finishingblow4/spr_player_finishingblow4.yy",},},
- {"id":{"name":"spr_player_finishingblow5","path":"sprites/spr_player_finishingblow5/spr_player_finishingblow5.yy",},},
- {"id":{"name":"spr_player_fireass","path":"sprites/spr_player_fireass/spr_player_fireass.yy",},},
- {"id":{"name":"spr_player_fireassground","path":"sprites/spr_player_fireassground/spr_player_fireassground.yy",},},
- {"id":{"name":"spr_player_freefall","path":"sprites/spr_player_freefall/spr_player_freefall.yy",},},
- {"id":{"name":"spr_player_freefallland","path":"sprites/spr_player_freefallland/spr_player_freefallland.yy",},},
- {"id":{"name":"spr_player_gottreasure","path":"sprites/spr_player_gottreasure/spr_player_gottreasure.yy",},},
- {"id":{"name":"spr_player_grind","path":"sprites/spr_player_grind/spr_player_grind.yy",},},
- {"id":{"name":"spr_player_haulingfall","path":"sprites/spr_player_haulingfall/spr_player_haulingfall.yy",},},
- {"id":{"name":"spr_player_haulingidle","path":"sprites/spr_player_haulingidle/spr_player_haulingidle.yy",},},
- {"id":{"name":"spr_player_haulingjump","path":"sprites/spr_player_haulingjump/spr_player_haulingjump.yy",},},
- {"id":{"name":"spr_player_haulingland","path":"sprites/spr_player_haulingland/spr_player_haulingland.yy",},},
- {"id":{"name":"spr_player_haulingmove","path":"sprites/spr_player_haulingmove/spr_player_haulingmove.yy",},},
- {"id":{"name":"spr_player_haulingrise","path":"sprites/spr_player_haulingrise/spr_player_haulingrise.yy",},},
- {"id":{"name":"spr_player_hurt","path":"sprites/spr_player_hurt/spr_player_hurt.yy",},},
- {"id":{"name":"spr_player_hurtbehind","path":"sprites/spr_player_hurtbehind/spr_player_hurtbehind.yy",},},
- {"id":{"name":"spr_player_hurtidle","path":"sprites/spr_player_hurtidle/spr_player_hurtidle.yy",},},
- {"id":{"name":"spr_player_hurtjump","path":"sprites/spr_player_hurtjump/spr_player_hurtjump.yy",},},
- {"id":{"name":"spr_player_hurtmove","path":"sprites/spr_player_hurtmove/spr_player_hurtmove.yy",},},
- {"id":{"name":"spr_player_idle","path":"sprites/spr_player_idle/spr_player_idle.yy",},},
- {"id":{"name":"spr_player_idlebite","path":"sprites/spr_player_idlebite/spr_player_idlebite.yy",},},
- {"id":{"name":"spr_player_idlecareless","path":"sprites/spr_player_idlecareless/spr_player_idlecareless.yy",},},
- {"id":{"name":"spr_player_idledance","path":"sprites/spr_player_idledance/spr_player_idledance.yy",},},
- {"id":{"name":"spr_player_idlefrown","path":"sprites/spr_player_idlefrown/spr_player_idlefrown.yy",},},
- {"id":{"name":"spr_player_idlehand","path":"sprites/spr_player_idlehand/spr_player_idlehand.yy",},},
- {"id":{"name":"spr_player_idlewhat","path":"sprites/spr_player_idlewhat/spr_player_idlewhat.yy",},},
- {"id":{"name":"spr_player_jump","path":"sprites/spr_player_jump/spr_player_jump.yy",},},
- {"id":{"name":"spr_player_keyget","path":"sprites/spr_player_keyget/spr_player_keyget.yy",},},
- {"id":{"name":"spr_player_kungfu1","path":"sprites/spr_player_kungfu1/spr_player_kungfu1.yy",},},
- {"id":{"name":"spr_player_kungfu2","path":"sprites/spr_player_kungfu2/spr_player_kungfu2.yy",},},
- {"id":{"name":"spr_player_kungfu3","path":"sprites/spr_player_kungfu3/spr_player_kungfu3.yy",},},
- {"id":{"name":"spr_player_ladder","path":"sprites/spr_player_ladder/spr_player_ladder.yy",},},
- {"id":{"name":"spr_player_ladderdown","path":"sprites/spr_player_ladderdown/spr_player_ladderdown.yy",},},
- {"id":{"name":"spr_player_laddermove","path":"sprites/spr_player_laddermove/spr_player_laddermove.yy",},},
- {"id":{"name":"spr_player_land","path":"sprites/spr_player_land/spr_player_land.yy",},},
- {"id":{"name":"spr_player_landmove","path":"sprites/spr_player_landmove/spr_player_landmove.yy",},},
- {"id":{"name":"spr_player_longjump","path":"sprites/spr_player_longjump/spr_player_longjump.yy",},},
- {"id":{"name":"spr_player_lookdoor","path":"sprites/spr_player_lookdoor/spr_player_lookdoor.yy",},},
- {"id":{"name":"spr_player_lungehit","path":"sprites/spr_player_lungehit/spr_player_lungehit.yy",},},
- {"id":{"name":"spr_player_mach1","path":"sprites/spr_player_mach1/spr_player_mach1.yy",},},
- {"id":{"name":"spr_player_mach2","path":"sprites/spr_player_mach2/spr_player_mach2.yy",},},
- {"id":{"name":"spr_player_mach2jump","path":"sprites/spr_player_mach2jump/spr_player_mach2jump.yy",},},
- {"id":{"name":"spr_player_mach3","path":"sprites/spr_player_mach3/spr_player_mach3.yy",},},
- {"id":{"name":"spr_player_mach3hit","path":"sprites/spr_player_mach3hit/spr_player_mach3hit.yy",},},
- {"id":{"name":"spr_player_mach3hitwall","path":"sprites/spr_player_mach3hitwall/spr_player_mach3hitwall.yy",},},
- {"id":{"name":"spr_player_mach3jump","path":"sprites/spr_player_mach3jump/spr_player_mach3jump.yy",},},
- {"id":{"name":"spr_player_machfreefall","path":"sprites/spr_player_machfreefall/spr_player_machfreefall.yy",},},
- {"id":{"name":"spr_player_machroll","path":"sprites/spr_player_machroll/spr_player_machroll.yy",},},
- {"id":{"name":"spr_player_machslideboost","path":"sprites/spr_player_machslideboost/spr_player_machslideboost.yy",},},
- {"id":{"name":"spr_player_machslideboost3","path":"sprites/spr_player_machslideboost3/spr_player_machslideboost3.yy",},},
- {"id":{"name":"spr_player_machslideboost3fall","path":"sprites/spr_player_machslideboost3fall/spr_player_machslideboost3fall.yy",},},
- {"id":{"name":"spr_player_machslideboostfall","path":"sprites/spr_player_machslideboostfall/spr_player_machslideboostfall.yy",},},
- {"id":{"name":"spr_player_machslideend","path":"sprites/spr_player_machslideend/spr_player_machslideend.yy",},},
- {"id":{"name":"spr_player_machslidestart","path":"sprites/spr_player_machslidestart/spr_player_machslidestart.yy",},},
- {"id":{"name":"spr_player_madidle","path":"sprites/spr_player_madidle/spr_player_madidle.yy",},},
- {"id":{"name":"spr_player_madmove","path":"sprites/spr_player_madmove/spr_player_madmove.yy",},},
- {"id":{"name":"spr_player_move","path":"sprites/spr_player_move/spr_player_move.yy",},},
- {"id":{"name":"spr_player_panic","path":"sprites/spr_player_panic/spr_player_panic.yy",},},
- {"id":{"name":"spr_player_parry1","path":"sprites/spr_player_parry1/spr_player_parry1.yy",},},
- {"id":{"name":"spr_player_parry2","path":"sprites/spr_player_parry2/spr_player_parry2.yy",},},
- {"id":{"name":"spr_player_parry3","path":"sprites/spr_player_parry3/spr_player_parry3.yy",},},
- {"id":{"name":"spr_player_piledriver","path":"sprites/spr_player_piledriver/spr_player_piledriver.yy",},},
- {"id":{"name":"spr_player_piledriverjump","path":"sprites/spr_player_piledriverjump/spr_player_piledriverjump.yy",},},
- {"id":{"name":"spr_player_piledriverland","path":"sprites/spr_player_piledriverland/spr_player_piledriverland.yy",},},
- {"id":{"name":"spr_player_poundcancel1","path":"sprites/spr_player_poundcancel1/spr_player_poundcancel1.yy",},},
- {"id":{"name":"spr_player_poundcancel2","path":"sprites/spr_player_poundcancel2/spr_player_poundcancel2.yy",},},
- {"id":{"name":"spr_player_presentboxspring","path":"sprites/spr_player_presentboxspring/spr_player_presentboxspring.yy",},},
- {"id":{"name":"spr_player_rageidle","path":"sprites/spr_player_rageidle/spr_player_rageidle.yy",},},
- {"id":{"name":"spr_player_ragemove","path":"sprites/spr_player_ragemove/spr_player_ragemove.yy",},},
- {"id":{"name":"spr_player_rockethitwall","path":"sprites/spr_player_rockethitwall/spr_player_rockethitwall.yy",},},
- {"id":{"name":"spr_player_rollgetup","path":"sprites/spr_player_rollgetup/spr_player_rollgetup.yy",},},
- {"id":{"name":"spr_player_scared","path":"sprites/spr_player_scared/spr_player_scared.yy",},},
- {"id":{"name":"spr_player_secondjump","path":"sprites/spr_player_secondjump/spr_player_secondjump.yy",},},
- {"id":{"name":"spr_player_secondjumploop","path":"sprites/spr_player_secondjumploop/spr_player_secondjumploop.yy",},},
- {"id":{"name":"spr_player_shotgun_crouch","path":"sprites/spr_player_shotgun_crouch/spr_player_shotgun_crouch.yy",},},
- {"id":{"name":"spr_player_shotgun_crouchfall","path":"sprites/spr_player_shotgun_crouchfall/spr_player_shotgun_crouchfall.yy",},},
- {"id":{"name":"spr_player_shotgun_crouchmove","path":"sprites/spr_player_shotgun_crouchmove/spr_player_shotgun_crouchmove.yy",},},
- {"id":{"name":"spr_player_shotgun_crouchstart","path":"sprites/spr_player_shotgun_crouchstart/spr_player_shotgun_crouchstart.yy",},},
- {"id":{"name":"spr_player_shotgun_fall","path":"sprites/spr_player_shotgun_fall/spr_player_shotgun_fall.yy",},},
- {"id":{"name":"spr_player_shotgun_idle","path":"sprites/spr_player_shotgun_idle/spr_player_shotgun_idle.yy",},},
- {"id":{"name":"spr_player_shotgun_jump","path":"sprites/spr_player_shotgun_jump/spr_player_shotgun_jump.yy",},},
- {"id":{"name":"spr_player_shotgun_land","path":"sprites/spr_player_shotgun_land/spr_player_shotgun_land.yy",},},
- {"id":{"name":"spr_player_shotgun_move","path":"sprites/spr_player_shotgun_move/spr_player_shotgun_move.yy",},},
- {"id":{"name":"spr_player_shotgun_pickup","path":"sprites/spr_player_shotgun_pickup/spr_player_shotgun_pickup.yy",},},
- {"id":{"name":"spr_player_shotgun_shoot","path":"sprites/spr_player_shotgun_shoot/spr_player_shotgun_shoot.yy",},},
- {"id":{"name":"spr_player_shotgun_shootdown","path":"sprites/spr_player_shotgun_shootdown/spr_player_shotgun_shootdown.yy",},},
- {"id":{"name":"spr_player_shotgun_shootdownland","path":"sprites/spr_player_shotgun_shootdownland/spr_player_shotgun_shootdownland.yy",},},
- {"id":{"name":"spr_player_Sjumpcancel","path":"sprites/spr_player_Sjumpcancel/spr_player_Sjumpcancel.yy",},},
- {"id":{"name":"spr_player_Sjumpcancelstart","path":"sprites/spr_player_Sjumpcancelstart/spr_player_Sjumpcancelstart.yy",},},
- {"id":{"name":"spr_player_slipbanana1","path":"sprites/spr_player_slipbanana1/spr_player_slipbanana1.yy",},},
- {"id":{"name":"spr_player_slipbanana2","path":"sprites/spr_player_slipbanana2/spr_player_slipbanana2.yy",},},
- {"id":{"name":"spr_player_stomp","path":"sprites/spr_player_stomp/spr_player_stomp.yy",},},
- {"id":{"name":"spr_player_superjump","path":"sprites/spr_player_superjump/spr_player_superjump.yy",},},
- {"id":{"name":"spr_player_superjumpflash","path":"sprites/spr_player_superjumpflash/spr_player_superjumpflash.yy",},},
- {"id":{"name":"spr_player_superjumpmove","path":"sprites/spr_player_superjumpmove/spr_player_superjumpmove.yy",},},
- {"id":{"name":"spr_player_superjumpprep","path":"sprites/spr_player_superjumpprep/spr_player_superjumpprep.yy",},},
- {"id":{"name":"spr_player_supertaunt1","path":"sprites/spr_player_supertaunt1/spr_player_supertaunt1.yy",},},
- {"id":{"name":"spr_player_supertaunt2","path":"sprites/spr_player_supertaunt2/spr_player_supertaunt2.yy",},},
- {"id":{"name":"spr_player_supertaunt3","path":"sprites/spr_player_supertaunt3/spr_player_supertaunt3.yy",},},
- {"id":{"name":"spr_player_supertaunt4","path":"sprites/spr_player_supertaunt4/spr_player_supertaunt4.yy",},},
- {"id":{"name":"spr_player_suplexbump","path":"sprites/spr_player_suplexbump/spr_player_suplexbump.yy",},},
- {"id":{"name":"spr_player_suplexcancel","path":"sprites/spr_player_suplexcancel/spr_player_suplexcancel.yy",},},
- {"id":{"name":"spr_player_suplexdash","path":"sprites/spr_player_suplexdash/spr_player_suplexdash.yy",},},
- {"id":{"name":"spr_player_suplexgrabjump","path":"sprites/spr_player_suplexgrabjump/spr_player_suplexgrabjump.yy",},},
- {"id":{"name":"spr_player_swingding","path":"sprites/spr_player_swingding/spr_player_swingding.yy",},},
- {"id":{"name":"spr_player_swingdingend","path":"sprites/spr_player_swingdingend/spr_player_swingdingend.yy",},},
- {"id":{"name":"spr_player_taunt","path":"sprites/spr_player_taunt/spr_player_taunt.yy",},},
- {"id":{"name":"spr_player_timesup","path":"sprites/spr_player_timesup/spr_player_timesup.yy",},},
- {"id":{"name":"spr_player_uppercut","path":"sprites/spr_player_uppercut/spr_player_uppercut.yy",},},
- {"id":{"name":"spr_player_uppercutfinishingblow","path":"sprites/spr_player_uppercutfinishingblow/spr_player_uppercutfinishingblow.yy",},},
- {"id":{"name":"spr_player_uppizzabox","path":"sprites/spr_player_uppizzabox/spr_player_uppizzabox.yy",},},
- {"id":{"name":"spr_player_walkfront","path":"sprites/spr_player_walkfront/spr_player_walkfront.yy",},},
- {"id":{"name":"spr_player_walljumpend","path":"sprites/spr_player_walljumpend/spr_player_walljumpend.yy",},},
- {"id":{"name":"spr_player_walljumpstart","path":"sprites/spr_player_walljumpstart/spr_player_walljumpstart.yy",},},
- {"id":{"name":"spr_player_wallsplat","path":"sprites/spr_player_wallsplat/spr_player_wallsplat.yy",},},
- {"id":{"name":"spr_player_winding","path":"sprites/spr_player_winding/spr_player_winding.yy",},},
+ {"id":{"name":"spr_playerN_backslide","path":"sprites/spr_playerN_backslide/spr_playerN_backslide.yy",},},
+ {"id":{"name":"spr_playerN_bodyslamfall","path":"sprites/spr_playerN_bodyslamfall/spr_playerN_bodyslamfall.yy",},},
+ {"id":{"name":"spr_playerN_bodyslamland","path":"sprites/spr_playerN_bodyslamland/spr_playerN_bodyslamland.yy",},},
+ {"id":{"name":"spr_playerN_bodyslamstart","path":"sprites/spr_playerN_bodyslamstart/spr_playerN_bodyslamstart.yy",},},
+ {"id":{"name":"spr_playerN_breakdance","path":"sprites/spr_playerN_breakdance/spr_playerN_breakdance.yy",},},
+ {"id":{"name":"spr_playerN_bump","path":"sprites/spr_playerN_bump/spr_playerN_bump.yy",},},
+ {"id":{"name":"spr_playerN_ceilinghit","path":"sprites/spr_playerN_ceilinghit/spr_playerN_ceilinghit.yy",},},
+ {"id":{"name":"spr_playerN_crawl","path":"sprites/spr_playerN_crawl/spr_playerN_crawl.yy",},},
+ {"id":{"name":"spr_playerN_crazyrun","path":"sprites/spr_playerN_crazyrun/spr_playerN_crazyrun.yy",},},
+ {"id":{"name":"spr_playerN_crouch","path":"sprites/spr_playerN_crouch/spr_playerN_crouch.yy",},},
+ {"id":{"name":"spr_playerN_crouchdown","path":"sprites/spr_playerN_crouchdown/spr_playerN_crouchdown.yy",},},
+ {"id":{"name":"spr_playerN_crouchfall","path":"sprites/spr_playerN_crouchfall/spr_playerN_crouchfall.yy",},},
+ {"id":{"name":"spr_playerN_crouchslip","path":"sprites/spr_playerN_crouchslip/spr_playerN_crouchslip.yy",},},
+ {"id":{"name":"spr_playerN_crusher","path":"sprites/spr_playerN_crusher/spr_playerN_crusher.yy",},},
+ {"id":{"name":"spr_playerN_crusherland","path":"sprites/spr_playerN_crusherland/spr_playerN_crusherland.yy",},},
+ {"id":{"name":"spr_playerN_dashpad","path":"sprites/spr_playerN_dashpad/spr_playerN_dashpad.yy",},},
+ {"id":{"name":"spr_playerN_dead","path":"sprites/spr_playerN_dead/spr_playerN_dead.yy",},},
+ {"id":{"name":"spr_playerN_divebomb","path":"sprites/spr_playerN_divebomb/spr_playerN_divebomb.yy",},},
+ {"id":{"name":"spr_playerN_divebombfall","path":"sprites/spr_playerN_divebombfall/spr_playerN_divebombfall.yy",},},
+ {"id":{"name":"spr_playerN_divebombland","path":"sprites/spr_playerN_divebombland/spr_playerN_divebombland.yy",},},
+ {"id":{"name":"spr_playerN_downpizzabox","path":"sprites/spr_playerN_downpizzabox/spr_playerN_downpizzabox.yy",},},
+ {"id":{"name":"spr_playerN_entergate","path":"sprites/spr_playerN_entergate/spr_playerN_entergate.yy",},},
+ {"id":{"name":"spr_playerN_enterkeydoor","path":"sprites/spr_playerN_enterkeydoor/spr_playerN_enterkeydoor.yy",},},
+ {"id":{"name":"spr_playerN_facehurt","path":"sprites/spr_playerN_facehurt/spr_playerN_facehurt.yy",},},
+ {"id":{"name":"spr_playerN_fall","path":"sprites/spr_playerN_fall/spr_playerN_fall.yy",},},
+ {"id":{"name":"spr_playerN_fallface","path":"sprites/spr_playerN_fallface/spr_playerN_fallface.yy",},},
+ {"id":{"name":"spr_playerN_finishingblow1","path":"sprites/spr_playerN_finishingblow1/spr_playerN_finishingblow1.yy",},},
+ {"id":{"name":"spr_playerN_finishingblow2","path":"sprites/spr_playerN_finishingblow2/spr_playerN_finishingblow2.yy",},},
+ {"id":{"name":"spr_playerN_finishingblow3","path":"sprites/spr_playerN_finishingblow3/spr_playerN_finishingblow3.yy",},},
+ {"id":{"name":"spr_playerN_finishingblow4","path":"sprites/spr_playerN_finishingblow4/spr_playerN_finishingblow4.yy",},},
+ {"id":{"name":"spr_playerN_finishingblow5","path":"sprites/spr_playerN_finishingblow5/spr_playerN_finishingblow5.yy",},},
+ {"id":{"name":"spr_playerN_freefall","path":"sprites/spr_playerN_freefall/spr_playerN_freefall.yy",},},
+ {"id":{"name":"spr_playerN_gottreasure","path":"sprites/spr_playerN_gottreasure/spr_playerN_gottreasure.yy",},},
+ {"id":{"name":"spr_playerN_haulingfall","path":"sprites/spr_playerN_haulingfall/spr_playerN_haulingfall.yy",},},
+ {"id":{"name":"spr_playerN_haulingidle","path":"sprites/spr_playerN_haulingidle/spr_playerN_haulingidle.yy",},},
+ {"id":{"name":"spr_playerN_haulingjump","path":"sprites/spr_playerN_haulingjump/spr_playerN_haulingjump.yy",},},
+ {"id":{"name":"spr_playerN_haulingland","path":"sprites/spr_playerN_haulingland/spr_playerN_haulingland.yy",},},
+ {"id":{"name":"spr_playerN_haulingmove","path":"sprites/spr_playerN_haulingmove/spr_playerN_haulingmove.yy",},},
+ {"id":{"name":"spr_playerN_haulingrise","path":"sprites/spr_playerN_haulingrise/spr_playerN_haulingrise.yy",},},
+ {"id":{"name":"spr_playerN_hurt","path":"sprites/spr_playerN_hurt/spr_playerN_hurt.yy",},},
+ {"id":{"name":"spr_playerN_hurtbehind","path":"sprites/spr_playerN_hurtbehind/spr_playerN_hurtbehind.yy",},},
+ {"id":{"name":"spr_playerN_hurtidle","path":"sprites/spr_playerN_hurtidle/spr_playerN_hurtidle.yy",},},
+ {"id":{"name":"spr_playerN_hurtmove","path":"sprites/spr_playerN_hurtmove/spr_playerN_hurtmove.yy",},},
+ {"id":{"name":"spr_playerN_idle","path":"sprites/spr_playerN_idle/spr_playerN_idle.yy",},},
+ {"id":{"name":"spr_playerN_idle1","path":"sprites/spr_playerN_idle1/spr_playerN_idle1.yy",},},
+ {"id":{"name":"spr_playerN_idle2","path":"sprites/spr_playerN_idle2/spr_playerN_idle2.yy",},},
+ {"id":{"name":"spr_playerN_idle3","path":"sprites/spr_playerN_idle3/spr_playerN_idle3.yy",},},
+ {"id":{"name":"spr_playerN_idle4","path":"sprites/spr_playerN_idle4/spr_playerN_idle4.yy",},},
+ {"id":{"name":"spr_playerN_idle5","path":"sprites/spr_playerN_idle5/spr_playerN_idle5.yy",},},
+ {"id":{"name":"spr_playerN_idle6","path":"sprites/spr_playerN_idle6/spr_playerN_idle6.yy",},},
+ {"id":{"name":"spr_playerN_jump","path":"sprites/spr_playerN_jump/spr_playerN_jump.yy",},},
+ {"id":{"name":"spr_playerN_ladder","path":"sprites/spr_playerN_ladder/spr_playerN_ladder.yy",},},
+ {"id":{"name":"spr_playerN_ladderdown","path":"sprites/spr_playerN_ladderdown/spr_playerN_ladderdown.yy",},},
+ {"id":{"name":"spr_playerN_laddermove","path":"sprites/spr_playerN_laddermove/spr_playerN_laddermove.yy",},},
+ {"id":{"name":"spr_playerN_land","path":"sprites/spr_playerN_land/spr_playerN_land.yy",},},
+ {"id":{"name":"spr_playerN_landmove","path":"sprites/spr_playerN_landmove/spr_playerN_landmove.yy",},},
+ {"id":{"name":"spr_playerN_longjump","path":"sprites/spr_playerN_longjump/spr_playerN_longjump.yy",},},
+ {"id":{"name":"spr_playerN_lookdoor","path":"sprites/spr_playerN_lookdoor/spr_playerN_lookdoor.yy",},},
+ {"id":{"name":"spr_playerN_mach1","path":"sprites/spr_playerN_mach1/spr_playerN_mach1.yy",},},
+ {"id":{"name":"spr_playerN_mach2","path":"sprites/spr_playerN_mach2/spr_playerN_mach2.yy",},},
+ {"id":{"name":"spr_playerN_mach2jump","path":"sprites/spr_playerN_mach2jump/spr_playerN_mach2jump.yy",},},
+ {"id":{"name":"spr_playerN_mach3","path":"sprites/spr_playerN_mach3/spr_playerN_mach3.yy",},},
+ {"id":{"name":"spr_playerN_mach3hit","path":"sprites/spr_playerN_mach3hit/spr_playerN_mach3hit.yy",},},
+ {"id":{"name":"spr_playerN_mach3hitwall","path":"sprites/spr_playerN_mach3hitwall/spr_playerN_mach3hitwall.yy",},},
+ {"id":{"name":"spr_playerN_mach3jump","path":"sprites/spr_playerN_mach3jump/spr_playerN_mach3jump.yy",},},
+ {"id":{"name":"spr_playerN_machroll","path":"sprites/spr_playerN_machroll/spr_playerN_machroll.yy",},},
+ {"id":{"name":"spr_playerN_machslideboost","path":"sprites/spr_playerN_machslideboost/spr_playerN_machslideboost.yy",},},
+ {"id":{"name":"spr_playerN_machslideboost3","path":"sprites/spr_playerN_machslideboost3/spr_playerN_machslideboost3.yy",},},
+ {"id":{"name":"spr_playerN_machslideboost3fall","path":"sprites/spr_playerN_machslideboost3fall/spr_playerN_machslideboost3fall.yy",},},
+ {"id":{"name":"spr_playerN_machslideboostfall","path":"sprites/spr_playerN_machslideboostfall/spr_playerN_machslideboostfall.yy",},},
+ {"id":{"name":"spr_playerN_machslideend","path":"sprites/spr_playerN_machslideend/spr_playerN_machslideend.yy",},},
+ {"id":{"name":"spr_playerN_machslidestart","path":"sprites/spr_playerN_machslidestart/spr_playerN_machslidestart.yy",},},
+ {"id":{"name":"spr_playerN_madidle","path":"sprites/spr_playerN_madidle/spr_playerN_madidle.yy",},},
+ {"id":{"name":"spr_playerN_madmove","path":"sprites/spr_playerN_madmove/spr_playerN_madmove.yy",},},
+ {"id":{"name":"spr_playerN_move","path":"sprites/spr_playerN_move/spr_playerN_move.yy",},},
+ {"id":{"name":"spr_playerN_panic","path":"sprites/spr_playerN_panic/spr_playerN_panic.yy",},},
+ {"id":{"name":"spr_playerN_parry1","path":"sprites/spr_playerN_parry1/spr_playerN_parry1.yy",},},
+ {"id":{"name":"spr_playerN_parry2","path":"sprites/spr_playerN_parry2/spr_playerN_parry2.yy",},},
+ {"id":{"name":"spr_playerN_parry3","path":"sprites/spr_playerN_parry3/spr_playerN_parry3.yy",},},
+ {"id":{"name":"spr_playerN_piledriver","path":"sprites/spr_playerN_piledriver/spr_playerN_piledriver.yy",},},
+ {"id":{"name":"spr_playerN_piledriverjump","path":"sprites/spr_playerN_piledriverjump/spr_playerN_piledriverjump.yy",},},
+ {"id":{"name":"spr_playerN_piledriverland","path":"sprites/spr_playerN_piledriverland/spr_playerN_piledriverland.yy",},},
+ {"id":{"name":"spr_playerN_presentboxspring","path":"sprites/spr_playerN_presentboxspring/spr_playerN_presentboxspring.yy",},},
+ {"id":{"name":"spr_playerN_rageidle","path":"sprites/spr_playerN_rageidle/spr_playerN_rageidle.yy",},},
+ {"id":{"name":"spr_playerN_ragemove","path":"sprites/spr_playerN_ragemove/spr_playerN_ragemove.yy",},},
+ {"id":{"name":"spr_playerN_rockethitwall","path":"sprites/spr_playerN_rockethitwall/spr_playerN_rockethitwall.yy",},},
+ {"id":{"name":"spr_playerN_rollgetup","path":"sprites/spr_playerN_rollgetup/spr_playerN_rollgetup.yy",},},
+ {"id":{"name":"spr_playerN_secondjump","path":"sprites/spr_playerN_secondjump/spr_playerN_secondjump.yy",},},
+ {"id":{"name":"spr_playerN_secondjumploop","path":"sprites/spr_playerN_secondjumploop/spr_playerN_secondjumploop.yy",},},
+ {"id":{"name":"spr_playerN_slipbanana1","path":"sprites/spr_playerN_slipbanana1/spr_playerN_slipbanana1.yy",},},
+ {"id":{"name":"spr_playerN_slipbanana2","path":"sprites/spr_playerN_slipbanana2/spr_playerN_slipbanana2.yy",},},
+ {"id":{"name":"spr_playerN_spincancel","path":"sprites/spr_playerN_spincancel/spr_playerN_spincancel.yy",},},
+ {"id":{"name":"spr_playerN_stomp","path":"sprites/spr_playerN_stomp/spr_playerN_stomp.yy",},},
+ {"id":{"name":"spr_playerN_superjump","path":"sprites/spr_playerN_superjump/spr_playerN_superjump.yy",},},
+ {"id":{"name":"spr_playerN_superjumpflash","path":"sprites/spr_playerN_superjumpflash/spr_playerN_superjumpflash.yy",},},
+ {"id":{"name":"spr_playerN_superjumpmove","path":"sprites/spr_playerN_superjumpmove/spr_playerN_superjumpmove.yy",},},
+ {"id":{"name":"spr_playerN_superjumpprep","path":"sprites/spr_playerN_superjumpprep/spr_playerN_superjumpprep.yy",},},
+ {"id":{"name":"spr_playerN_supertaunt1","path":"sprites/spr_playerN_supertaunt1/spr_playerN_supertaunt1.yy",},},
+ {"id":{"name":"spr_playerN_supertaunt2","path":"sprites/spr_playerN_supertaunt2/spr_playerN_supertaunt2.yy",},},
+ {"id":{"name":"spr_playerN_supertaunt3","path":"sprites/spr_playerN_supertaunt3/spr_playerN_supertaunt3.yy",},},
+ {"id":{"name":"spr_playerN_supertaunt4","path":"sprites/spr_playerN_supertaunt4/spr_playerN_supertaunt4.yy",},},
+ {"id":{"name":"spr_playerN_suplexbump","path":"sprites/spr_playerN_suplexbump/spr_playerN_suplexbump.yy",},},
+ {"id":{"name":"spr_playerN_suplexcancel","path":"sprites/spr_playerN_suplexcancel/spr_playerN_suplexcancel.yy",},},
+ {"id":{"name":"spr_playerN_suplexdash","path":"sprites/spr_playerN_suplexdash/spr_playerN_suplexdash.yy",},},
+ {"id":{"name":"spr_playerN_suplexgrabjump","path":"sprites/spr_playerN_suplexgrabjump/spr_playerN_suplexgrabjump.yy",},},
+ {"id":{"name":"spr_playerN_swingding","path":"sprites/spr_playerN_swingding/spr_playerN_swingding.yy",},},
+ {"id":{"name":"spr_playerN_swingdingend","path":"sprites/spr_playerN_swingdingend/spr_playerN_swingdingend.yy",},},
+ {"id":{"name":"spr_playerN_taunt","path":"sprites/spr_playerN_taunt/spr_playerN_taunt.yy",},},
+ {"id":{"name":"spr_playerN_timesup","path":"sprites/spr_playerN_timesup/spr_playerN_timesup.yy",},},
+ {"id":{"name":"spr_playerN_uppercut","path":"sprites/spr_playerN_uppercut/spr_playerN_uppercut.yy",},},
+ {"id":{"name":"spr_playerN_uppercutfinishingblow","path":"sprites/spr_playerN_uppercutfinishingblow/spr_playerN_uppercutfinishingblow.yy",},},
+ {"id":{"name":"spr_playerN_uppizzabox","path":"sprites/spr_playerN_uppizzabox/spr_playerN_uppizzabox.yy",},},
+ {"id":{"name":"spr_playerN_walkfront","path":"sprites/spr_playerN_walkfront/spr_playerN_walkfront.yy",},},
+ {"id":{"name":"spr_playerN_wallbounce","path":"sprites/spr_playerN_wallbounce/spr_playerN_wallbounce.yy",},},
+ {"id":{"name":"spr_playerN_wallsplat","path":"sprites/spr_playerN_wallsplat/spr_playerN_wallsplat.yy",},},
+ {"id":{"name":"spr_playerN_winding","path":"sprites/spr_playerN_winding/spr_playerN_winding.yy",},},
+ {"id":{"name":"spr_playerP_backslide","path":"sprites/spr_playerP_backslide/spr_playerP_backslide.yy",},},
+ {"id":{"name":"spr_playerP_ball","path":"sprites/spr_playerP_ball/spr_playerP_ball.yy",},},
+ {"id":{"name":"spr_playerP_ballend","path":"sprites/spr_playerP_ballend/spr_playerP_ballend.yy",},},
+ {"id":{"name":"spr_playerP_bodyslamfall","path":"sprites/spr_playerP_bodyslamfall/spr_playerP_bodyslamfall.yy",},},
+ {"id":{"name":"spr_playerP_bodyslamland","path":"sprites/spr_playerP_bodyslamland/spr_playerP_bodyslamland.yy",},},
+ {"id":{"name":"spr_playerP_bodyslamstart","path":"sprites/spr_playerP_bodyslamstart/spr_playerP_bodyslamstart.yy",},},
+ {"id":{"name":"spr_playerP_bossdefeated","path":"sprites/spr_playerP_bossdefeated/spr_playerP_bossdefeated.yy",},},
+ {"id":{"name":"spr_playerP_breakdance","path":"sprites/spr_playerP_breakdance/spr_playerP_breakdance.yy",},},
+ {"id":{"name":"spr_playerP_bump","path":"sprites/spr_playerP_bump/spr_playerP_bump.yy",},},
+ {"id":{"name":"spr_playerP_ceilinghit","path":"sprites/spr_playerP_ceilinghit/spr_playerP_ceilinghit.yy",},},
+ {"id":{"name":"spr_playerP_climbwall","path":"sprites/spr_playerP_climbwall/spr_playerP_climbwall.yy",},},
+ {"id":{"name":"spr_playerP_clingwall","path":"sprites/spr_playerP_clingwall/spr_playerP_clingwall.yy",},},
+ {"id":{"name":"spr_playerP_crawl","path":"sprites/spr_playerP_crawl/spr_playerP_crawl.yy",},},
+ {"id":{"name":"spr_playerP_crazyrun","path":"sprites/spr_playerP_crazyrun/spr_playerP_crazyrun.yy",},},
+ {"id":{"name":"spr_playerP_crouch","path":"sprites/spr_playerP_crouch/spr_playerP_crouch.yy",},},
+ {"id":{"name":"spr_playerP_crouchdown","path":"sprites/spr_playerP_crouchdown/spr_playerP_crouchdown.yy",},},
+ {"id":{"name":"spr_playerP_crouchfall","path":"sprites/spr_playerP_crouchfall/spr_playerP_crouchfall.yy",},},
+ {"id":{"name":"spr_playerP_crouchslip","path":"sprites/spr_playerP_crouchslip/spr_playerP_crouchslip.yy",},},
+ {"id":{"name":"spr_playerP_dashpad","path":"sprites/spr_playerP_dashpad/spr_playerP_dashpad.yy",},},
+ {"id":{"name":"spr_playerP_dead","path":"sprites/spr_playerP_dead/spr_playerP_dead.yy",},},
+ {"id":{"name":"spr_playerP_defeat","path":"sprites/spr_playerP_defeat/spr_playerP_defeat.yy",},},
+ {"id":{"name":"spr_playerP_defeatland","path":"sprites/spr_playerP_defeatland/spr_playerP_defeatland.yy",},},
+ {"id":{"name":"spr_playerP_dive","path":"sprites/spr_playerP_dive/spr_playerP_dive.yy",},},
+ {"id":{"name":"spr_playerP_downpizzabox","path":"sprites/spr_playerP_downpizzabox/spr_playerP_downpizzabox.yy",},},
+ {"id":{"name":"spr_playerP_entergate","path":"sprites/spr_playerP_entergate/spr_playerP_entergate.yy",},},
+ {"id":{"name":"spr_playerP_enterkeydoor","path":"sprites/spr_playerP_enterkeydoor/spr_playerP_enterkeydoor.yy",},},
+ {"id":{"name":"spr_playerP_facehurt","path":"sprites/spr_playerP_facehurt/spr_playerP_facehurt.yy",},},
+ {"id":{"name":"spr_playerP_fall","path":"sprites/spr_playerP_fall/spr_playerP_fall.yy",},},
+ {"id":{"name":"spr_playerP_fallface","path":"sprites/spr_playerP_fallface/spr_playerP_fallface.yy",},},
+ {"id":{"name":"spr_playerP_finishingblow1","path":"sprites/spr_playerP_finishingblow1/spr_playerP_finishingblow1.yy",},},
+ {"id":{"name":"spr_playerP_finishingblow2","path":"sprites/spr_playerP_finishingblow2/spr_playerP_finishingblow2.yy",},},
+ {"id":{"name":"spr_playerP_finishingblow3","path":"sprites/spr_playerP_finishingblow3/spr_playerP_finishingblow3.yy",},},
+ {"id":{"name":"spr_playerP_finishingblow4","path":"sprites/spr_playerP_finishingblow4/spr_playerP_finishingblow4.yy",},},
+ {"id":{"name":"spr_playerP_finishingblow5","path":"sprites/spr_playerP_finishingblow5/spr_playerP_finishingblow5.yy",},},
+ {"id":{"name":"spr_playerP_fireass","path":"sprites/spr_playerP_fireass/spr_playerP_fireass.yy",},},
+ {"id":{"name":"spr_playerP_fireassground","path":"sprites/spr_playerP_fireassground/spr_playerP_fireassground.yy",},},
+ {"id":{"name":"spr_playerP_freefall","path":"sprites/spr_playerP_freefall/spr_playerP_freefall.yy",},},
+ {"id":{"name":"spr_playerP_freefallland","path":"sprites/spr_playerP_freefallland/spr_playerP_freefallland.yy",},},
+ {"id":{"name":"spr_playerP_gottreasure","path":"sprites/spr_playerP_gottreasure/spr_playerP_gottreasure.yy",},},
+ {"id":{"name":"spr_playerP_grind","path":"sprites/spr_playerP_grind/spr_playerP_grind.yy",},},
+ {"id":{"name":"spr_playerP_haulingfall","path":"sprites/spr_playerP_haulingfall/spr_playerP_haulingfall.yy",},},
+ {"id":{"name":"spr_playerP_haulingidle","path":"sprites/spr_playerP_haulingidle/spr_playerP_haulingidle.yy",},},
+ {"id":{"name":"spr_playerP_haulingjump","path":"sprites/spr_playerP_haulingjump/spr_playerP_haulingjump.yy",},},
+ {"id":{"name":"spr_playerP_haulingland","path":"sprites/spr_playerP_haulingland/spr_playerP_haulingland.yy",},},
+ {"id":{"name":"spr_playerP_haulingmove","path":"sprites/spr_playerP_haulingmove/spr_playerP_haulingmove.yy",},},
+ {"id":{"name":"spr_playerP_haulingrise","path":"sprites/spr_playerP_haulingrise/spr_playerP_haulingrise.yy",},},
+ {"id":{"name":"spr_playerP_hurt","path":"sprites/spr_playerP_hurt/spr_playerP_hurt.yy",},},
+ {"id":{"name":"spr_playerP_hurtbehind","path":"sprites/spr_playerP_hurtbehind/spr_playerP_hurtbehind.yy",},},
+ {"id":{"name":"spr_playerP_hurtidle","path":"sprites/spr_playerP_hurtidle/spr_playerP_hurtidle.yy",},},
+ {"id":{"name":"spr_playerP_hurtjump","path":"sprites/spr_playerP_hurtjump/spr_playerP_hurtjump.yy",},},
+ {"id":{"name":"spr_playerP_hurtmove","path":"sprites/spr_playerP_hurtmove/spr_playerP_hurtmove.yy",},},
+ {"id":{"name":"spr_playerP_idle","path":"sprites/spr_playerP_idle/spr_playerP_idle.yy",},},
+ {"id":{"name":"spr_playerP_idle1","path":"sprites/spr_playerP_idle1/spr_playerP_idle1.yy",},},
+ {"id":{"name":"spr_playerP_idle2","path":"sprites/spr_playerP_idle2/spr_playerP_idle2.yy",},},
+ {"id":{"name":"spr_playerP_idle3","path":"sprites/spr_playerP_idle3/spr_playerP_idle3.yy",},},
+ {"id":{"name":"spr_playerP_idle4","path":"sprites/spr_playerP_idle4/spr_playerP_idle4.yy",},},
+ {"id":{"name":"spr_playerP_idle5","path":"sprites/spr_playerP_idle5/spr_playerP_idle5.yy",},},
+ {"id":{"name":"spr_playerP_idle6","path":"sprites/spr_playerP_idle6/spr_playerP_idle6.yy",},},
+ {"id":{"name":"spr_playerP_jump","path":"sprites/spr_playerP_jump/spr_playerP_jump.yy",},},
+ {"id":{"name":"spr_playerP_keyget","path":"sprites/spr_playerP_keyget/spr_playerP_keyget.yy",},},
+ {"id":{"name":"spr_playerP_kungfu1","path":"sprites/spr_playerP_kungfu1/spr_playerP_kungfu1.yy",},},
+ {"id":{"name":"spr_playerP_kungfu2","path":"sprites/spr_playerP_kungfu2/spr_playerP_kungfu2.yy",},},
+ {"id":{"name":"spr_playerP_kungfu3","path":"sprites/spr_playerP_kungfu3/spr_playerP_kungfu3.yy",},},
+ {"id":{"name":"spr_playerP_ladder","path":"sprites/spr_playerP_ladder/spr_playerP_ladder.yy",},},
+ {"id":{"name":"spr_playerP_ladderdown","path":"sprites/spr_playerP_ladderdown/spr_playerP_ladderdown.yy",},},
+ {"id":{"name":"spr_playerP_laddermove","path":"sprites/spr_playerP_laddermove/spr_playerP_laddermove.yy",},},
+ {"id":{"name":"spr_playerP_land","path":"sprites/spr_playerP_land/spr_playerP_land.yy",},},
+ {"id":{"name":"spr_playerP_landmove","path":"sprites/spr_playerP_landmove/spr_playerP_landmove.yy",},},
+ {"id":{"name":"spr_playerP_longjump","path":"sprites/spr_playerP_longjump/spr_playerP_longjump.yy",},},
+ {"id":{"name":"spr_playerP_lookdoor","path":"sprites/spr_playerP_lookdoor/spr_playerP_lookdoor.yy",},},
+ {"id":{"name":"spr_playerP_lungehit","path":"sprites/spr_playerP_lungehit/spr_playerP_lungehit.yy",},},
+ {"id":{"name":"spr_playerP_mach1","path":"sprites/spr_playerP_mach1/spr_playerP_mach1.yy",},},
+ {"id":{"name":"spr_playerP_mach2","path":"sprites/spr_playerP_mach2/spr_playerP_mach2.yy",},},
+ {"id":{"name":"spr_playerP_mach2jump","path":"sprites/spr_playerP_mach2jump/spr_playerP_mach2jump.yy",},},
+ {"id":{"name":"spr_playerP_mach3","path":"sprites/spr_playerP_mach3/spr_playerP_mach3.yy",},},
+ {"id":{"name":"spr_playerP_mach3hit","path":"sprites/spr_playerP_mach3hit/spr_playerP_mach3hit.yy",},},
+ {"id":{"name":"spr_playerP_mach3hitwall","path":"sprites/spr_playerP_mach3hitwall/spr_playerP_mach3hitwall.yy",},},
+ {"id":{"name":"spr_playerP_mach3jump","path":"sprites/spr_playerP_mach3jump/spr_playerP_mach3jump.yy",},},
+ {"id":{"name":"spr_playerP_machfreefall","path":"sprites/spr_playerP_machfreefall/spr_playerP_machfreefall.yy",},},
+ {"id":{"name":"spr_playerP_machroll","path":"sprites/spr_playerP_machroll/spr_playerP_machroll.yy",},},
+ {"id":{"name":"spr_playerP_machslideboost","path":"sprites/spr_playerP_machslideboost/spr_playerP_machslideboost.yy",},},
+ {"id":{"name":"spr_playerP_machslideboost3","path":"sprites/spr_playerP_machslideboost3/spr_playerP_machslideboost3.yy",},},
+ {"id":{"name":"spr_playerP_machslideboost3fall","path":"sprites/spr_playerP_machslideboost3fall/spr_playerP_machslideboost3fall.yy",},},
+ {"id":{"name":"spr_playerP_machslideboostfall","path":"sprites/spr_playerP_machslideboostfall/spr_playerP_machslideboostfall.yy",},},
+ {"id":{"name":"spr_playerP_machslideend","path":"sprites/spr_playerP_machslideend/spr_playerP_machslideend.yy",},},
+ {"id":{"name":"spr_playerP_machslidestart","path":"sprites/spr_playerP_machslidestart/spr_playerP_machslidestart.yy",},},
+ {"id":{"name":"spr_playerP_madidle","path":"sprites/spr_playerP_madidle/spr_playerP_madidle.yy",},},
+ {"id":{"name":"spr_playerP_madmove","path":"sprites/spr_playerP_madmove/spr_playerP_madmove.yy",},},
+ {"id":{"name":"spr_playerP_move","path":"sprites/spr_playerP_move/spr_playerP_move.yy",},},
+ {"id":{"name":"spr_playerP_panic","path":"sprites/spr_playerP_panic/spr_playerP_panic.yy",},},
+ {"id":{"name":"spr_playerP_parry1","path":"sprites/spr_playerP_parry1/spr_playerP_parry1.yy",},},
+ {"id":{"name":"spr_playerP_parry2","path":"sprites/spr_playerP_parry2/spr_playerP_parry2.yy",},},
+ {"id":{"name":"spr_playerP_parry3","path":"sprites/spr_playerP_parry3/spr_playerP_parry3.yy",},},
+ {"id":{"name":"spr_playerP_piledriver","path":"sprites/spr_playerP_piledriver/spr_playerP_piledriver.yy",},},
+ {"id":{"name":"spr_playerP_piledriverjump","path":"sprites/spr_playerP_piledriverjump/spr_playerP_piledriverjump.yy",},},
+ {"id":{"name":"spr_playerP_piledriverland","path":"sprites/spr_playerP_piledriverland/spr_playerP_piledriverland.yy",},},
+ {"id":{"name":"spr_playerP_poundcancel1","path":"sprites/spr_playerP_poundcancel1/spr_playerP_poundcancel1.yy",},},
+ {"id":{"name":"spr_playerP_poundcancel2","path":"sprites/spr_playerP_poundcancel2/spr_playerP_poundcancel2.yy",},},
+ {"id":{"name":"spr_playerP_presentboxspring","path":"sprites/spr_playerP_presentboxspring/spr_playerP_presentboxspring.yy",},},
+ {"id":{"name":"spr_playerP_rageidle","path":"sprites/spr_playerP_rageidle/spr_playerP_rageidle.yy",},},
+ {"id":{"name":"spr_playerP_ragemove","path":"sprites/spr_playerP_ragemove/spr_playerP_ragemove.yy",},},
+ {"id":{"name":"spr_playerP_rockethitwall","path":"sprites/spr_playerP_rockethitwall/spr_playerP_rockethitwall.yy",},},
+ {"id":{"name":"spr_playerP_rollgetup","path":"sprites/spr_playerP_rollgetup/spr_playerP_rollgetup.yy",},},
+ {"id":{"name":"spr_playerP_scared","path":"sprites/spr_playerP_scared/spr_playerP_scared.yy",},},
+ {"id":{"name":"spr_playerP_secondjump","path":"sprites/spr_playerP_secondjump/spr_playerP_secondjump.yy",},},
+ {"id":{"name":"spr_playerP_secondjumploop","path":"sprites/spr_playerP_secondjumploop/spr_playerP_secondjumploop.yy",},},
+ {"id":{"name":"spr_playerP_shotgun_crouch","path":"sprites/spr_playerP_shotgun_crouch/spr_playerP_shotgun_crouch.yy",},},
+ {"id":{"name":"spr_playerP_shotgun_crouchfall","path":"sprites/spr_playerP_shotgun_crouchfall/spr_playerP_shotgun_crouchfall.yy",},},
+ {"id":{"name":"spr_playerP_shotgun_crouchmove","path":"sprites/spr_playerP_shotgun_crouchmove/spr_playerP_shotgun_crouchmove.yy",},},
+ {"id":{"name":"spr_playerP_shotgun_crouchstart","path":"sprites/spr_playerP_shotgun_crouchstart/spr_playerP_shotgun_crouchstart.yy",},},
+ {"id":{"name":"spr_playerP_shotgun_fall","path":"sprites/spr_playerP_shotgun_fall/spr_playerP_shotgun_fall.yy",},},
+ {"id":{"name":"spr_playerP_shotgun_idle","path":"sprites/spr_playerP_shotgun_idle/spr_playerP_shotgun_idle.yy",},},
+ {"id":{"name":"spr_playerP_shotgun_jump","path":"sprites/spr_playerP_shotgun_jump/spr_playerP_shotgun_jump.yy",},},
+ {"id":{"name":"spr_playerP_shotgun_land","path":"sprites/spr_playerP_shotgun_land/spr_playerP_shotgun_land.yy",},},
+ {"id":{"name":"spr_playerP_shotgun_move","path":"sprites/spr_playerP_shotgun_move/spr_playerP_shotgun_move.yy",},},
+ {"id":{"name":"spr_playerP_shotgun_pickup","path":"sprites/spr_playerP_shotgun_pickup/spr_playerP_shotgun_pickup.yy",},},
+ {"id":{"name":"spr_playerP_shotgun_shoot","path":"sprites/spr_playerP_shotgun_shoot/spr_playerP_shotgun_shoot.yy",},},
+ {"id":{"name":"spr_playerP_shotgun_shootdown","path":"sprites/spr_playerP_shotgun_shootdown/spr_playerP_shotgun_shootdown.yy",},},
+ {"id":{"name":"spr_playerP_shotgun_shootdownland","path":"sprites/spr_playerP_shotgun_shootdownland/spr_playerP_shotgun_shootdownland.yy",},},
+ {"id":{"name":"spr_playerP_Sjumpcancel","path":"sprites/spr_playerP_Sjumpcancel/spr_playerP_Sjumpcancel.yy",},},
+ {"id":{"name":"spr_playerP_Sjumpcancelstart","path":"sprites/spr_playerP_Sjumpcancelstart/spr_playerP_Sjumpcancelstart.yy",},},
+ {"id":{"name":"spr_playerP_slipbanana1","path":"sprites/spr_playerP_slipbanana1/spr_playerP_slipbanana1.yy",},},
+ {"id":{"name":"spr_playerP_slipbanana2","path":"sprites/spr_playerP_slipbanana2/spr_playerP_slipbanana2.yy",},},
+ {"id":{"name":"spr_playerP_stomp","path":"sprites/spr_playerP_stomp/spr_playerP_stomp.yy",},},
+ {"id":{"name":"spr_playerP_superjump","path":"sprites/spr_playerP_superjump/spr_playerP_superjump.yy",},},
+ {"id":{"name":"spr_playerP_superjumpflash","path":"sprites/spr_playerP_superjumpflash/spr_playerP_superjumpflash.yy",},},
+ {"id":{"name":"spr_playerP_superjumpmove","path":"sprites/spr_playerP_superjumpmove/spr_playerP_superjumpmove.yy",},},
+ {"id":{"name":"spr_playerP_superjumpprep","path":"sprites/spr_playerP_superjumpprep/spr_playerP_superjumpprep.yy",},},
+ {"id":{"name":"spr_playerP_supertaunt1","path":"sprites/spr_playerP_supertaunt1/spr_playerP_supertaunt1.yy",},},
+ {"id":{"name":"spr_playerP_supertaunt2","path":"sprites/spr_playerP_supertaunt2/spr_playerP_supertaunt2.yy",},},
+ {"id":{"name":"spr_playerP_supertaunt3","path":"sprites/spr_playerP_supertaunt3/spr_playerP_supertaunt3.yy",},},
+ {"id":{"name":"spr_playerP_supertaunt4","path":"sprites/spr_playerP_supertaunt4/spr_playerP_supertaunt4.yy",},},
+ {"id":{"name":"spr_playerP_suplexbump","path":"sprites/spr_playerP_suplexbump/spr_playerP_suplexbump.yy",},},
+ {"id":{"name":"spr_playerP_suplexcancel","path":"sprites/spr_playerP_suplexcancel/spr_playerP_suplexcancel.yy",},},
+ {"id":{"name":"spr_playerP_suplexdash","path":"sprites/spr_playerP_suplexdash/spr_playerP_suplexdash.yy",},},
+ {"id":{"name":"spr_playerP_suplexgrabjump","path":"sprites/spr_playerP_suplexgrabjump/spr_playerP_suplexgrabjump.yy",},},
+ {"id":{"name":"spr_playerP_swingding","path":"sprites/spr_playerP_swingding/spr_playerP_swingding.yy",},},
+ {"id":{"name":"spr_playerP_swingdingend","path":"sprites/spr_playerP_swingdingend/spr_playerP_swingdingend.yy",},},
+ {"id":{"name":"spr_playerP_taunt","path":"sprites/spr_playerP_taunt/spr_playerP_taunt.yy",},},
+ {"id":{"name":"spr_playerP_timesup","path":"sprites/spr_playerP_timesup/spr_playerP_timesup.yy",},},
+ {"id":{"name":"spr_playerP_uppercut","path":"sprites/spr_playerP_uppercut/spr_playerP_uppercut.yy",},},
+ {"id":{"name":"spr_playerP_uppercutfinishingblow","path":"sprites/spr_playerP_uppercutfinishingblow/spr_playerP_uppercutfinishingblow.yy",},},
+ {"id":{"name":"spr_playerP_uppizzabox","path":"sprites/spr_playerP_uppizzabox/spr_playerP_uppizzabox.yy",},},
+ {"id":{"name":"spr_playerP_walkfront","path":"sprites/spr_playerP_walkfront/spr_playerP_walkfront.yy",},},
+ {"id":{"name":"spr_playerP_walljumpend","path":"sprites/spr_playerP_walljumpend/spr_playerP_walljumpend.yy",},},
+ {"id":{"name":"spr_playerP_walljumpstart","path":"sprites/spr_playerP_walljumpstart/spr_playerP_walljumpstart.yy",},},
+ {"id":{"name":"spr_playerP_wallsplat","path":"sprites/spr_playerP_wallsplat/spr_playerP_wallsplat.yy",},},
+ {"id":{"name":"spr_playerP_winding","path":"sprites/spr_playerP_winding/spr_playerP_winding.yy",},},
{"id":{"name":"spr_presentbottle_idle","path":"sprites/spr_presentbottle_idle/spr_presentbottle_idle.yy",},},
{"id":{"name":"spr_presentbottle_spring","path":"sprites/spr_presentbottle_spring/spr_presentbottle_spring.yy",},},
{"id":{"name":"spr_presentbox_idle","path":"sprites/spr_presentbox_idle/spr_presentbox_idle.yy",},},
@@ -936,14 +952,22 @@
{"id":{"name":"spr_priest","path":"sprites/spr_priest/spr_priest.yy",},},
{"id":{"name":"spr_rail","path":"sprites/spr_rail/spr_rail.yy",},},
{"id":{"name":"spr_railslope","path":"sprites/spr_railslope/spr_railslope.yy",},},
- {"id":{"name":"spr_rankA","path":"sprites/spr_rankA/spr_rankA.yy",},},
- {"id":{"name":"spr_rankB","path":"sprites/spr_rankB/spr_rankB.yy",},},
- {"id":{"name":"spr_rankC","path":"sprites/spr_rankC/spr_rankC.yy",},},
- {"id":{"name":"spr_rankD","path":"sprites/spr_rankD/spr_rankD.yy",},},
- {"id":{"name":"spr_rankP","path":"sprites/spr_rankP/spr_rankP.yy",},},
+ {"id":{"name":"spr_rankN_A","path":"sprites/spr_rankN_A/spr_rankN_A.yy",},},
+ {"id":{"name":"spr_rankN_B","path":"sprites/spr_rankN_B/spr_rankN_B.yy",},},
+ {"id":{"name":"spr_rankN_C","path":"sprites/spr_rankN_C/spr_rankN_C.yy",},},
+ {"id":{"name":"spr_rankN_D","path":"sprites/spr_rankN_D/spr_rankN_D.yy",},},
+ {"id":{"name":"spr_rankN_P_fall","path":"sprites/spr_rankN_P_fall/spr_rankN_P_fall.yy",},},
+ {"id":{"name":"spr_rankN_P_loose","path":"sprites/spr_rankN_P_loose/spr_rankN_P_loose.yy",},},
+ {"id":{"name":"spr_rankN_P","path":"sprites/spr_rankN_P/spr_rankN_P.yy",},},
+ {"id":{"name":"spr_rankN_S","path":"sprites/spr_rankN_S/spr_rankN_S.yy",},},
+ {"id":{"name":"spr_rankP_A","path":"sprites/spr_rankP_A/spr_rankP_A.yy",},},
+ {"id":{"name":"spr_rankP_B","path":"sprites/spr_rankP_B/spr_rankP_B.yy",},},
+ {"id":{"name":"spr_rankP_C","path":"sprites/spr_rankP_C/spr_rankP_C.yy",},},
+ {"id":{"name":"spr_rankP_D","path":"sprites/spr_rankP_D/spr_rankP_D.yy",},},
+ {"id":{"name":"spr_rankP_P","path":"sprites/spr_rankP_P/spr_rankP_P.yy",},},
+ {"id":{"name":"spr_rankP_S","path":"sprites/spr_rankP_S/spr_rankP_S.yy",},},
{"id":{"name":"spr_ranks_hud","path":"sprites/spr_ranks_hud/spr_ranks_hud.yy",},},
{"id":{"name":"spr_ranks_hudfill","path":"sprites/spr_ranks_hudfill/spr_ranks_hudfill.yy",},},
- {"id":{"name":"spr_rankS","path":"sprites/spr_rankS/spr_rankS.yy",},},
{"id":{"name":"spr_ranktoppins","path":"sprites/spr_ranktoppins/spr_ranktoppins.yy",},},
{"id":{"name":"spr_ratblock_bump","path":"sprites/spr_ratblock_bump/spr_ratblock_bump.yy",},},
{"id":{"name":"spr_ratblock_dead","path":"sprites/spr_ratblock_dead/spr_ratblock_dead.yy",},},
@@ -969,6 +993,7 @@
{"id":{"name":"spr_secretportal_spawnclose","path":"sprites/spr_secretportal_spawnclose/spr_secretportal_spawnclose.yy",},},
{"id":{"name":"spr_secretportal_spawnidle","path":"sprites/spr_secretportal_spawnidle/spr_secretportal_spawnidle.yy",},},
{"id":{"name":"spr_secretportal","path":"sprites/spr_secretportal/spr_secretportal.yy",},},
+ {"id":{"name":"spr_shineeffect","path":"sprites/spr_shineeffect/spr_shineeffect.yy",},},
{"id":{"name":"spr_shotgun_debris","path":"sprites/spr_shotgun_debris/spr_shotgun_debris.yy",},},
{"id":{"name":"spr_shotgun_targetblock","path":"sprites/spr_shotgun_targetblock/spr_shotgun_targetblock.yy",},},
{"id":{"name":"spr_shotgun_targetblockdebris","path":"sprites/spr_shotgun_targetblockdebris/spr_shotgun_targetblockdebris.yy",},},
@@ -1011,9 +1036,11 @@
{"id":{"name":"spr_supertauntspark4","path":"sprites/spr_supertauntspark4/spr_supertauntspark4.yy",},},
{"id":{"name":"spr_supertauntspark5","path":"sprites/spr_supertauntspark5/spr_supertauntspark5.yy",},},
{"id":{"name":"spr_taunteffect","path":"sprites/spr_taunteffect/spr_taunteffect.yy",},},
- {"id":{"name":"spr_techdiff_bg","path":"sprites/spr_techdiff_bg/spr_techdiff_bg.yy",},},
{"id":{"name":"spr_techdiff_static","path":"sprites/spr_techdiff_static/spr_techdiff_static.yy",},},
- {"id":{"name":"spr_techdiff","path":"sprites/spr_techdiff/spr_techdiff.yy",},},
+ {"id":{"name":"spr_techdiffN_bg","path":"sprites/spr_techdiffN_bg/spr_techdiffN_bg.yy",},},
+ {"id":{"name":"spr_techdiffN","path":"sprites/spr_techdiffN/spr_techdiffN.yy",},},
+ {"id":{"name":"spr_techdiffP_bg","path":"sprites/spr_techdiffP_bg/spr_techdiffP_bg.yy",},},
+ {"id":{"name":"spr_techdiffP","path":"sprites/spr_techdiffP/spr_techdiffP.yy",},},
{"id":{"name":"spr_teleportdebris","path":"sprites/spr_teleportdebris/spr_teleportdebris.yy",},},
{"id":{"name":"spr_teleporteffect","path":"sprites/spr_teleporteffect/spr_teleporteffect.yy",},},
{"id":{"name":"spr_teleportmachine","path":"sprites/spr_teleportmachine/spr_teleportmachine.yy",},},
@@ -1056,35 +1083,59 @@
{"id":{"name":"spr_tutorialbubble_rope","path":"sprites/spr_tutorialbubble_rope/spr_tutorialbubble_rope.yy",},},
{"id":{"name":"spr_tutorialbubble","path":"sprites/spr_tutorialbubble/spr_tutorialbubble.yy",},},
{"id":{"name":"spr_tutorialfont","path":"sprites/spr_tutorialfont/spr_tutorialfont.yy",},},
- {"id":{"name":"spr_tv_ball","path":"sprites/spr_tv_ball/spr_tv_ball.yy",},},
{"id":{"name":"spr_tv_bg","path":"sprites/spr_tv_bg/spr_tv_bg.yy",},},
- {"id":{"name":"spr_tv_bighurt1","path":"sprites/spr_tv_bighurt1/spr_tv_bighurt1.yy",},},
- {"id":{"name":"spr_tv_bighurt10","path":"sprites/spr_tv_bighurt10/spr_tv_bighurt10.yy",},},
- {"id":{"name":"spr_tv_bighurt2","path":"sprites/spr_tv_bighurt2/spr_tv_bighurt2.yy",},},
- {"id":{"name":"spr_tv_bighurt3","path":"sprites/spr_tv_bighurt3/spr_tv_bighurt3.yy",},},
- {"id":{"name":"spr_tv_bighurt4","path":"sprites/spr_tv_bighurt4/spr_tv_bighurt4.yy",},},
- {"id":{"name":"spr_tv_bighurt5","path":"sprites/spr_tv_bighurt5/spr_tv_bighurt5.yy",},},
- {"id":{"name":"spr_tv_bighurt6","path":"sprites/spr_tv_bighurt6/spr_tv_bighurt6.yy",},},
- {"id":{"name":"spr_tv_bighurt7","path":"sprites/spr_tv_bighurt7/spr_tv_bighurt7.yy",},},
- {"id":{"name":"spr_tv_bighurt8","path":"sprites/spr_tv_bighurt8/spr_tv_bighurt8.yy",},},
- {"id":{"name":"spr_tv_bighurt9","path":"sprites/spr_tv_bighurt9/spr_tv_bighurt9.yy",},},
{"id":{"name":"spr_tv_c_bubble","path":"sprites/spr_tv_c_bubble/spr_tv_c_bubble.yy",},},
{"id":{"name":"spr_tv_c_font","path":"sprites/spr_tv_c_font/spr_tv_c_font.yy",},},
{"id":{"name":"spr_tv_c_ghost","path":"sprites/spr_tv_c_ghost/spr_tv_c_ghost.yy",},},
- {"id":{"name":"spr_tv_collect","path":"sprites/spr_tv_collect/spr_tv_collect.yy",},},
- {"id":{"name":"spr_tv_combo","path":"sprites/spr_tv_combo/spr_tv_combo.yy",},},
- {"id":{"name":"spr_tv_fireass","path":"sprites/spr_tv_fireass/spr_tv_fireass.yy",},},
- {"id":{"name":"spr_tv_highcombo","path":"sprites/spr_tv_highcombo/spr_tv_highcombo.yy",},},
- {"id":{"name":"spr_tv_hurt","path":"sprites/spr_tv_hurt/spr_tv_hurt.yy",},},
- {"id":{"name":"spr_tv_idle","path":"sprites/spr_tv_idle/spr_tv_idle.yy",},},
- {"id":{"name":"spr_tv_idleangry","path":"sprites/spr_tv_idleangry/spr_tv_idleangry.yy",},},
- {"id":{"name":"spr_tv_idlelook","path":"sprites/spr_tv_idlelook/spr_tv_idlelook.yy",},},
- {"id":{"name":"spr_tv_mach3","path":"sprites/spr_tv_mach3/spr_tv_mach3.yy",},},
- {"id":{"name":"spr_tv_mach4","path":"sprites/spr_tv_mach4/spr_tv_mach4.yy",},},
+ {"id":{"name":"spr_tv_empty","path":"sprites/spr_tv_empty/spr_tv_empty.yy",},},
{"id":{"name":"spr_tv_off","path":"sprites/spr_tv_off/spr_tv_off.yy",},},
- {"id":{"name":"spr_tv_panic","path":"sprites/spr_tv_panic/spr_tv_panic.yy",},},
- {"id":{"name":"spr_tv_shotgun","path":"sprites/spr_tv_shotgun/spr_tv_shotgun.yy",},},
{"id":{"name":"spr_tv_trans","path":"sprites/spr_tv_trans/spr_tv_trans.yy",},},
+ {"id":{"name":"spr_tvN_ball","path":"sprites/spr_tvN_ball/spr_tvN_ball.yy",},},
+ {"id":{"name":"spr_tvN_bighurt1","path":"sprites/spr_tvN_bighurt1/spr_tvN_bighurt1.yy",},},
+ {"id":{"name":"spr_tvN_bighurt10","path":"sprites/spr_tvN_bighurt10/spr_tvN_bighurt10.yy",},},
+ {"id":{"name":"spr_tvN_bighurt2","path":"sprites/spr_tvN_bighurt2/spr_tvN_bighurt2.yy",},},
+ {"id":{"name":"spr_tvN_bighurt3","path":"sprites/spr_tvN_bighurt3/spr_tvN_bighurt3.yy",},},
+ {"id":{"name":"spr_tvN_bighurt4","path":"sprites/spr_tvN_bighurt4/spr_tvN_bighurt4.yy",},},
+ {"id":{"name":"spr_tvN_bighurt5","path":"sprites/spr_tvN_bighurt5/spr_tvN_bighurt5.yy",},},
+ {"id":{"name":"spr_tvN_bighurt6","path":"sprites/spr_tvN_bighurt6/spr_tvN_bighurt6.yy",},},
+ {"id":{"name":"spr_tvN_bighurt7","path":"sprites/spr_tvN_bighurt7/spr_tvN_bighurt7.yy",},},
+ {"id":{"name":"spr_tvN_bighurt8","path":"sprites/spr_tvN_bighurt8/spr_tvN_bighurt8.yy",},},
+ {"id":{"name":"spr_tvN_bighurt9","path":"sprites/spr_tvN_bighurt9/spr_tvN_bighurt9.yy",},},
+ {"id":{"name":"spr_tvN_collect","path":"sprites/spr_tvN_collect/spr_tvN_collect.yy",},},
+ {"id":{"name":"spr_tvN_combo","path":"sprites/spr_tvN_combo/spr_tvN_combo.yy",},},
+ {"id":{"name":"spr_tvN_fireass","path":"sprites/spr_tvN_fireass/spr_tvN_fireass.yy",},},
+ {"id":{"name":"spr_tvN_highcombo","path":"sprites/spr_tvN_highcombo/spr_tvN_highcombo.yy",},},
+ {"id":{"name":"spr_tvN_hurt","path":"sprites/spr_tvN_hurt/spr_tvN_hurt.yy",},},
+ {"id":{"name":"spr_tvN_idle","path":"sprites/spr_tvN_idle/spr_tvN_idle.yy",},},
+ {"id":{"name":"spr_tvN_idle1","path":"sprites/spr_tvN_idle1/spr_tvN_idle1.yy",},},
+ {"id":{"name":"spr_tvN_idle2","path":"sprites/spr_tvN_idle2/spr_tvN_idle2.yy",},},
+ {"id":{"name":"spr_tvN_mach3","path":"sprites/spr_tvN_mach3/spr_tvN_mach3.yy",},},
+ {"id":{"name":"spr_tvN_mach4","path":"sprites/spr_tvN_mach4/spr_tvN_mach4.yy",},},
+ {"id":{"name":"spr_tvN_panic","path":"sprites/spr_tvN_panic/spr_tvN_panic.yy",},},
+ {"id":{"name":"spr_tvN_shotgun","path":"sprites/spr_tvN_shotgun/spr_tvN_shotgun.yy",},},
+ {"id":{"name":"spr_tvP_ball","path":"sprites/spr_tvP_ball/spr_tvP_ball.yy",},},
+ {"id":{"name":"spr_tvP_bighurt1","path":"sprites/spr_tvP_bighurt1/spr_tvP_bighurt1.yy",},},
+ {"id":{"name":"spr_tvP_bighurt10","path":"sprites/spr_tvP_bighurt10/spr_tvP_bighurt10.yy",},},
+ {"id":{"name":"spr_tvP_bighurt2","path":"sprites/spr_tvP_bighurt2/spr_tvP_bighurt2.yy",},},
+ {"id":{"name":"spr_tvP_bighurt3","path":"sprites/spr_tvP_bighurt3/spr_tvP_bighurt3.yy",},},
+ {"id":{"name":"spr_tvP_bighurt4","path":"sprites/spr_tvP_bighurt4/spr_tvP_bighurt4.yy",},},
+ {"id":{"name":"spr_tvP_bighurt5","path":"sprites/spr_tvP_bighurt5/spr_tvP_bighurt5.yy",},},
+ {"id":{"name":"spr_tvP_bighurt6","path":"sprites/spr_tvP_bighurt6/spr_tvP_bighurt6.yy",},},
+ {"id":{"name":"spr_tvP_bighurt7","path":"sprites/spr_tvP_bighurt7/spr_tvP_bighurt7.yy",},},
+ {"id":{"name":"spr_tvP_bighurt8","path":"sprites/spr_tvP_bighurt8/spr_tvP_bighurt8.yy",},},
+ {"id":{"name":"spr_tvP_bighurt9","path":"sprites/spr_tvP_bighurt9/spr_tvP_bighurt9.yy",},},
+ {"id":{"name":"spr_tvP_collect","path":"sprites/spr_tvP_collect/spr_tvP_collect.yy",},},
+ {"id":{"name":"spr_tvP_combo","path":"sprites/spr_tvP_combo/spr_tvP_combo.yy",},},
+ {"id":{"name":"spr_tvP_fireass","path":"sprites/spr_tvP_fireass/spr_tvP_fireass.yy",},},
+ {"id":{"name":"spr_tvP_highcombo","path":"sprites/spr_tvP_highcombo/spr_tvP_highcombo.yy",},},
+ {"id":{"name":"spr_tvP_hurt","path":"sprites/spr_tvP_hurt/spr_tvP_hurt.yy",},},
+ {"id":{"name":"spr_tvP_idle","path":"sprites/spr_tvP_idle/spr_tvP_idle.yy",},},
+ {"id":{"name":"spr_tvP_idle1","path":"sprites/spr_tvP_idle1/spr_tvP_idle1.yy",},},
+ {"id":{"name":"spr_tvP_idle2","path":"sprites/spr_tvP_idle2/spr_tvP_idle2.yy",},},
+ {"id":{"name":"spr_tvP_mach3","path":"sprites/spr_tvP_mach3/spr_tvP_mach3.yy",},},
+ {"id":{"name":"spr_tvP_mach4","path":"sprites/spr_tvP_mach4/spr_tvP_mach4.yy",},},
+ {"id":{"name":"spr_tvP_panic","path":"sprites/spr_tvP_panic/spr_tvP_panic.yy",},},
+ {"id":{"name":"spr_tvP_shotgun","path":"sprites/spr_tvP_shotgun/spr_tvP_shotgun.yy",},},
{"id":{"name":"spr_uparrow","path":"sprites/spr_uparrow/spr_uparrow.yy",},},
{"id":{"name":"spr_wall","path":"sprites/spr_wall/spr_wall.yy",},},
{"id":{"name":"Sprite181","path":"sprites/Sprite181/Sprite181.yy",},},
@@ -1145,6 +1196,10 @@
{"roomId":{"name":"entrance_secret3","path":"rooms/entrance_secret3/entrance_secret3.yy",},},
{"roomId":{"name":"entrance_secret1","path":"rooms/entrance_secret1/entrance_secret1.yy",},},
{"roomId":{"name":"tile_test","path":"rooms/tile_test/tile_test.yy",},},
+ {"roomId":{"name":"enemy_extreme_mass","path":"rooms/enemy_extreme_mass/enemy_extreme_mass.yy",},},
+ {"roomId":{"name":"dm_1","path":"rooms/dm_1/dm_1.yy",},},
+ {"roomId":{"name":"dm_2","path":"rooms/dm_2/dm_2.yy",},},
+ {"roomId":{"name":"logo_credits","path":"rooms/logo_credits/logo_credits.yy",},},
],
"templateType":"game",
"TextureGroups":[
diff --git a/datafiles/Master.bank b/datafiles/Master.bank
new file mode 100644
index 000000000..1eca6e4cd
Binary files /dev/null and b/datafiles/Master.bank differ
diff --git a/datafiles/Master.strings.bank b/datafiles/Master.strings.bank
new file mode 100644
index 000000000..44591d714
Binary files /dev/null and b/datafiles/Master.strings.bank differ
diff --git a/datafiles/Music.bank b/datafiles/Music.bank
new file mode 100644
index 000000000..1c58dab2a
Binary files /dev/null and b/datafiles/Music.bank differ
diff --git a/datafiles/SFX.bank b/datafiles/SFX.bank
new file mode 100644
index 000000000..0a918cb92
Binary files /dev/null and b/datafiles/SFX.bank differ
diff --git a/extensions/FMOD/AndroidSource/Java/Fmod_Android.java b/extensions/FMOD/AndroidSource/Java/Fmod_Android.java
new file mode 100644
index 000000000..b244baeb1
--- /dev/null
+++ b/extensions/FMOD/AndroidSource/Java/Fmod_Android.java
@@ -0,0 +1,1996 @@
+package ${YYAndroidPackageName};
+import ${YYAndroidPackageName}.R;
+import com.yoyogames.runner.RunnerJNILib;
+import java.lang.String;
+import java.nio.ByteBuffer;
+import android.util.Log;
+import static com.ACOMPANY.APROJECT.MainActivity.*;
+public class Fmod_Android extends RunnerSocial {
+public Fmod_Android()
+{
+ org.fmod.FMOD.init(RunnerActivity.CurrentActivity);
+}
+public void onDestroy()
+{
+ fmod_system_mixer_resume();
+ org.fmod.FMOD.close();
+}
+public void onStart()
+{
+ fmod_system_mixer_resume();
+}
+public void onStop()
+{
+ fmod_system_mixer_suspend();
+}
+
+public double fmod_channel_set_frequency(double arg0,double arg1)
+{
+ return JNIfmodchannelsetfrequency(arg0,arg1);
+}
+public double fmod_channel_get_frequency(double arg0)
+{
+ return JNIfmodchannelgetfrequency(arg0);
+}
+public double fmod_channel_set_priority(double arg0,double arg1)
+{
+ return JNIfmodchannelsetpriority(arg0,arg1);
+}
+public double fmod_channel_get_priority(double arg0)
+{
+ return JNIfmodchannelgetpriority(arg0);
+}
+public double fmod_channel_set_position(double arg0,double arg1,double arg2)
+{
+ return JNIfmodchannelsetposition(arg0,arg1,arg2);
+}
+public double fmod_channel_get_position(double arg0,double arg1)
+{
+ return JNIfmodchannelgetposition(arg0,arg1);
+}
+public double fmod_channel_set_channel_group(double arg0,double arg1)
+{
+ return JNIfmodchannelsetchannelgroup(arg0,arg1);
+}
+public double fmod_channel_get_channel_group(double arg0)
+{
+ return JNIfmodchannelgetchannelgroup(arg0);
+}
+public double fmod_channel_set_loop_count(double arg0,double arg1)
+{
+ return JNIfmodchannelsetloopcount(arg0,arg1);
+}
+public double fmod_channel_get_loop_count(double arg0)
+{
+ return JNIfmodchannelgetloopcount(arg0);
+}
+public double fmod_channel_set_loop_points(double arg0,double arg1,double arg2,double arg3,double arg4)
+{
+ return JNIfmodchannelsetlooppoints(arg0,arg1,arg2,arg3,arg4);
+}
+public double fmod_channel_get_loop_points_multiplatform(double arg0,double arg1,double arg2,ByteBuffer arg3)
+{
+ return JNIfmodchannelgetlooppointsmultiplatform(arg0,arg1,arg2,arg3);
+}
+public double fmod_channel_is_virtual(double arg0)
+{
+ return JNIfmodchannelisvirtual(arg0);
+}
+public double fmod_channel_get_current_sound(double arg0)
+{
+ return JNIfmodchannelgetcurrentsound(arg0);
+}
+public double fmod_channel_get_index(double arg0)
+{
+ return JNIfmodchannelgetindex(arg0);
+}
+public double fmod_channel_get_system_object(double arg0)
+{
+ return JNIfmodchannelgetsystemobject(arg0);
+}
+public double fmod_channel_control_is_playing(double arg0)
+{
+ return JNIfmodchannelcontrolisplaying(arg0);
+}
+public double fmod_channel_control_stop(double arg0)
+{
+ return JNIfmodchannelcontrolstop(arg0);
+}
+public double fmod_channel_control_set_paused(double arg0,double arg1)
+{
+ return JNIfmodchannelcontrolsetpaused(arg0,arg1);
+}
+public double fmod_channel_control_get_paused(double arg0)
+{
+ return JNIfmodchannelcontrolgetpaused(arg0);
+}
+public double fmod_channel_control_set_mode(double arg0,double arg1)
+{
+ return JNIfmodchannelcontrolsetmode(arg0,arg1);
+}
+public double fmod_channel_control_get_mode(double arg0)
+{
+ return JNIfmodchannelcontrolgetmode(arg0);
+}
+public double fmod_channel_control_set_pitch(double arg0,double arg1)
+{
+ return JNIfmodchannelcontrolsetpitch(arg0,arg1);
+}
+public double fmod_channel_control_get_pitch(double arg0)
+{
+ return JNIfmodchannelcontrolgetpitch(arg0);
+}
+public double fmod_channel_control_get_audibility(double arg0)
+{
+ return JNIfmodchannelcontrolgetaudibility(arg0);
+}
+public double fmod_channel_control_set_volume(double arg0,double arg1)
+{
+ return JNIfmodchannelcontrolsetvolume(arg0,arg1);
+}
+public double fmod_channel_control_get_volume(double arg0)
+{
+ return JNIfmodchannelcontrolgetvolume(arg0);
+}
+public double fmod_channel_control_set_volume_ramp(double arg0,double arg1)
+{
+ return JNIfmodchannelcontrolsetvolumeramp(arg0,arg1);
+}
+public double fmod_channel_control_get_volume_ramp(double arg0)
+{
+ return JNIfmodchannelcontrolgetvolumeramp(arg0);
+}
+public double fmod_channel_control_set_mute(double arg0,double arg1)
+{
+ return JNIfmodchannelcontrolsetmute(arg0,arg1);
+}
+public double fmod_channel_control_get_mute(double arg0)
+{
+ return JNIfmodchannelcontrolgetmute(arg0);
+}
+public double fmod_channel_control_set_3d_attributes_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmodchannelcontrolset3dattributesmultiplatform(arg0,arg1);
+}
+public double fmod_channel_control_get_3d_attributes_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmodchannelcontrolget3dattributesmultiplatform(arg0,arg1);
+}
+public double fmod_channel_control_set_3d_cone_orientation_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmodchannelcontrolset3dconeorientationmultiplatform(arg0,arg1);
+}
+public double fmod_channel_control_get_3d_cone_orientation_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmodchannelcontrolget3dconeorientationmultiplatform(arg0,arg1);
+}
+public double fmod_channel_control_set_3d_cone_settings(double arg0,double arg1,double arg2,double arg3)
+{
+ return JNIfmodchannelcontrolset3dconesettings(arg0,arg1,arg2,arg3);
+}
+public double fmod_channel_control_get_3d_cone_settings_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmodchannelcontrolget3dconesettingsmultiplatform(arg0,arg1);
+}
+public double fmod_channel_control_set_3d_custom_rolloff_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmodchannelcontrolset3dcustomrolloffmultiplatform(arg0,arg1);
+}
+public double fmod_channel_control_get_3d_custom_rolloff_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmodchannelcontrolget3dcustomrolloffmultiplatform(arg0,arg1);
+}
+public double fmod_channel_control_set_3d_distance_filter(double arg0,double arg1,double arg2,double arg3)
+{
+ return JNIfmodchannelcontrolset3ddistancefilter(arg0,arg1,arg2,arg3);
+}
+public double fmod_channel_control_get_3d_distance_filter_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmodchannelcontrolget3ddistancefiltermultiplatform(arg0,arg1);
+}
+public double fmod_channel_control_set_3d_doppler_level(double arg0,double arg1)
+{
+ return JNIfmodchannelcontrolset3ddopplerlevel(arg0,arg1);
+}
+public double fmod_channel_control_get_3d_doppler_level(double arg0)
+{
+ return JNIfmodchannelcontrolget3ddopplerlevel(arg0);
+}
+public double fmod_channel_control_set_3d_level(double arg0,double arg1)
+{
+ return JNIfmodchannelcontrolset3dlevel(arg0,arg1);
+}
+public double fmod_channel_control_get_3d_level(double arg0)
+{
+ return JNIfmodchannelcontrolget3dlevel(arg0);
+}
+public double fmod_channel_control_set_3d_min_max_distance(double arg0,double arg1,double arg2)
+{
+ return JNIfmodchannelcontrolset3dminmaxdistance(arg0,arg1,arg2);
+}
+public double fmod_channel_control_get_3d_min_max_distance_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmodchannelcontrolget3dminmaxdistancemultiplatform(arg0,arg1);
+}
+public double fmod_channel_control_set_3d_occlusion(double arg0,double arg1,double arg2)
+{
+ return JNIfmodchannelcontrolset3docclusion(arg0,arg1,arg2);
+}
+public double fmod_channel_control_get_3d_occlusion_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmodchannelcontrolget3docclusionmultiplatform(arg0,arg1);
+}
+public double fmod_channel_control_set_3d_spread(double arg0,double arg1)
+{
+ return JNIfmodchannelcontrolset3dspread(arg0,arg1);
+}
+public double fmod_channel_control_get_3d_spread(double arg0)
+{
+ return JNIfmodchannelcontrolget3dspread(arg0);
+}
+public double fmod_channel_control_set_pan(double arg0,double arg1)
+{
+ return JNIfmodchannelcontrolsetpan(arg0,arg1);
+}
+public double fmod_channel_control_set_mix_levels_input_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmodchannelcontrolsetmixlevelsinputmultiplatform(arg0,arg1);
+}
+public double fmod_channel_control_set_mix_levels_output(double arg0,double arg1,double arg2,double arg3,double arg4,double arg5,double arg6,double arg7,double arg8)
+{
+ return JNIfmodchannelcontrolsetmixlevelsoutput(arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8);
+}
+public double fmod_channel_control_set_mix_matrix_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmodchannelcontrolsetmixmatrixmultiplatform(arg0,arg1);
+}
+public double fmod_channel_control_get_mix_matrix_multiplatform(double arg0,double arg1,ByteBuffer arg2)
+{
+ return JNIfmodchannelcontrolgetmixmatrixmultiplatform(arg0,arg1,arg2);
+}
+public double fmod_channel_control_set_reverb_properties(double arg0,double arg1,double arg2)
+{
+ return JNIfmodchannelcontrolsetreverbproperties(arg0,arg1,arg2);
+}
+public double fmod_channel_control_get_reverb_properties(double arg0,double arg1)
+{
+ return JNIfmodchannelcontrolgetreverbproperties(arg0,arg1);
+}
+public double fmod_channel_control_set_low_pass_gain(double arg0,double arg1)
+{
+ return JNIfmodchannelcontrolsetlowpassgain(arg0,arg1);
+}
+public double fmod_channel_control_get_low_pass_gain(double arg0)
+{
+ return JNIfmodchannelcontrolgetlowpassgain(arg0);
+}
+public double fmod_channel_control_add_dsp(double arg0,double arg1,double arg2)
+{
+ return JNIfmodchannelcontroladddsp(arg0,arg1,arg2);
+}
+public double fmod_channel_control_remove_dsp(double arg0,double arg1)
+{
+ return JNIfmodchannelcontrolremovedsp(arg0,arg1);
+}
+public double fmod_channel_control_get_num_dsps(double arg0)
+{
+ return JNIfmodchannelcontrolgetnumdsps(arg0);
+}
+public double fmod_channel_control_get_dsp(double arg0,double arg1)
+{
+ return JNIfmodchannelcontrolgetdsp(arg0,arg1);
+}
+public double fmod_channel_control_set_dsp_index(double arg0,double arg1,double arg2)
+{
+ return JNIfmodchannelcontrolsetdspindex(arg0,arg1,arg2);
+}
+public double fmod_channel_control_get_dsp_index(double arg0,double arg1)
+{
+ return JNIfmodchannelcontrolgetdspindex(arg0,arg1);
+}
+public double fmod_channel_control_get_dsp_clock_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmodchannelcontrolgetdspclockmultiplatform(arg0,arg1);
+}
+public double fmod_channel_control_set_delay_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmodchannelcontrolsetdelaymultiplatform(arg0,arg1);
+}
+public double fmod_channel_control_get_delay_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmodchannelcontrolgetdelaymultiplatform(arg0,arg1);
+}
+public double fmod_channel_control_add_fade_point_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmodchannelcontroladdfadepointmultiplatform(arg0,arg1);
+}
+public double fmod_channel_control_set_fade_point_ramp_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmodchannelcontrolsetfadepointrampmultiplatform(arg0,arg1);
+}
+public double fmod_channel_control_remove_fade_points_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmodchannelcontrolremovefadepointsmultiplatform(arg0,arg1);
+}
+public double fmod_channel_control_get_fade_points_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmodchannelcontrolgetfadepointsmultiplatform(arg0,arg1);
+}
+public double fmod_channel_control_set_callback(double arg0)
+{
+ return JNIfmodchannelcontrolsetcallback(arg0);
+}
+public double fmod_channel_control_get_system_object(double arg0)
+{
+ return JNIfmodchannelcontrolgetsystemobject(arg0);
+}
+public double fmod_channel_control_set_user_data(double arg0,double arg1)
+{
+ return JNIfmodchannelcontrolsetuserdata(arg0,arg1);
+}
+public double fmod_channel_control_get_user_data(double arg0)
+{
+ return JNIfmodchannelcontrolgetuserdata(arg0);
+}
+public double fmod_channel_group_get_num_channels(double arg0)
+{
+ return JNIfmodchannelgroupgetnumchannels(arg0);
+}
+public double fmod_channel_group_get_channel(double arg0,double arg1)
+{
+ return JNIfmodchannelgroupgetchannel(arg0,arg1);
+}
+public double fmod_channel_group_add_group_multiplatform(double arg0,double arg1,double arg2)
+{
+ return JNIfmodchannelgroupaddgroupmultiplatform(arg0,arg1,arg2);
+}
+public double fmod_channel_group_get_num_groups(double arg0)
+{
+ return JNIfmodchannelgroupgetnumgroups(arg0);
+}
+public double fmod_channel_group_get_group(double arg0,double arg1)
+{
+ return JNIfmodchannelgroupgetgroup(arg0,arg1);
+}
+public double fmod_channel_group_get_parent_group(double arg0)
+{
+ return JNIfmodchannelgroupgetparentgroup(arg0);
+}
+public String fmod_channel_group_get_name(double arg0)
+{
+ return JNIfmodchannelgroupgetname(arg0);
+}
+public double fmod_channel_group_release(double arg0)
+{
+ return JNIfmodchannelgrouprelease(arg0);
+}
+public double fmod_channel_group_get_system_object(double arg0)
+{
+ return JNIfmodchannelgroupgetsystemobject(arg0);
+}
+public double fmod_file_get_disk_busy()
+{
+ return JNIfmodfilegetdiskbusy();
+}
+public double fmod_file_set_disk_busy(double arg0)
+{
+ return JNIfmodfilesetdiskbusy(arg0);
+}
+public double fmod_memory_get_stats_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmodmemorygetstatsmultiplatform(arg0,arg1);
+}
+public double fmod_debug_initialize_multiplatform(double arg0,double arg1,String arg2)
+{
+ return JNIfmoddebuginitializemultiplatform(arg0,arg1,arg2);
+}
+public double fmod_thread_set_attributes(double arg0,double arg1,double arg2,double arg3)
+{
+ return JNIfmodthreadsetattributes(arg0,arg1,arg2,arg3);
+}
+public double fmod_dsp_add_input_multiplatform(double arg0,double arg1,double arg2)
+{
+ return JNIfmoddspaddinputmultiplatform(arg0,arg1,arg2);
+}
+public double fmod_dsp_get_input_multiplatform(double arg0,double arg1,ByteBuffer arg2)
+{
+ return JNIfmoddspgetinputmultiplatform(arg0,arg1,arg2);
+}
+public double fmod_dsp_get_output_multiplatform(double arg0,double arg1,ByteBuffer arg2)
+{
+ return JNIfmoddspgetoutputmultiplatform(arg0,arg1,arg2);
+}
+public double fmod_dsp_get_num_inputs(double arg0)
+{
+ return JNIfmoddspgetnuminputs(arg0);
+}
+public double fmod_dsp_get_num_outputs(double arg0)
+{
+ return JNIfmoddspgetnumoutputs(arg0);
+}
+public double fmod_dsp_disconnect_all(double arg0,double arg1,double arg2)
+{
+ return JNIfmoddspdisconnectall(arg0,arg1,arg2);
+}
+public double fmod_dsp_disconnect_from_mutliplatform(double arg0,double arg1,double arg2)
+{
+ return JNIfmoddspdisconnectfrommutliplatform(arg0,arg1,arg2);
+}
+public double fmod_dsp_get_data_parameter_index(double arg0,double arg1)
+{
+ return JNIfmoddspgetdataparameterindex(arg0,arg1);
+}
+public double fmod_dsp_get_num_parameters(double arg0)
+{
+ return JNIfmoddspgetnumparameters(arg0);
+}
+public double fmod_dsp_set_parameter_bool(double arg0,double arg1,double arg2)
+{
+ return JNIfmoddspsetparameterbool(arg0,arg1,arg2);
+}
+public double fmod_dsp_get_parameter_bool(double arg0,double arg1)
+{
+ return JNIfmoddspgetparameterbool(arg0,arg1);
+}
+public double fmod_dsp_set_parameter_data_multiplatform(double arg0,double arg1,ByteBuffer arg2,double arg3)
+{
+ return JNIfmoddspsetparameterdatamultiplatform(arg0,arg1,arg2,arg3);
+}
+public double fmod_dsp_get_parameter_data_multiplatform(double arg0,double arg1,ByteBuffer arg2,double arg3)
+{
+ return JNIfmoddspgetparameterdatamultiplatform(arg0,arg1,arg2,arg3);
+}
+public double fmod_dsp_set_parameter_float(double arg0,double arg1,double arg2)
+{
+ return JNIfmoddspsetparameterfloat(arg0,arg1,arg2);
+}
+public double fmod_dsp_get_parameter_float(double arg0,double arg1)
+{
+ return JNIfmoddspgetparameterfloat(arg0,arg1);
+}
+public double fmod_dsp_set_parameter_int(double arg0,double arg1,double arg2)
+{
+ return JNIfmoddspsetparameterint(arg0,arg1,arg2);
+}
+public double fmod_dsp_get_parameter_int(double arg0,double arg1)
+{
+ return JNIfmoddspgetparameterint(arg0,arg1);
+}
+public double fmod_dsp_get_parameter_info_multiplatform(double arg0,double arg1,ByteBuffer arg2)
+{
+ return JNIfmoddspgetparameterinfomultiplatform(arg0,arg1,arg2);
+}
+public double fmod_dsp_set_channel_format(double arg0,double arg1,double arg2,double arg3)
+{
+ return JNIfmoddspsetchannelformat(arg0,arg1,arg2,arg3);
+}
+public double fmod_dsp_get_channel_format_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmoddspgetchannelformatmultiplatform(arg0,arg1);
+}
+public double fmod_dsp_get_output_channel_format_multiplatform(double arg0,ByteBuffer arg1,ByteBuffer arg2)
+{
+ return JNIfmoddspgetoutputchannelformatmultiplatform(arg0,arg1,arg2);
+}
+public double fmod_dsp_get_metering_info_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmoddspgetmeteringinfomultiplatform(arg0,arg1);
+}
+public double fmod_dsp_set_metering_enabled(double arg0,double arg1,double arg2)
+{
+ return JNIfmoddspsetmeteringenabled(arg0,arg1,arg2);
+}
+public double fmod_dsp_get_metering_enabled_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmoddspgetmeteringenabledmultiplatform(arg0,arg1);
+}
+public double fmod_dsp_set_active(double arg0,double arg1)
+{
+ return JNIfmoddspsetactive(arg0,arg1);
+}
+public double fmod_dsp_get_active(double arg0)
+{
+ return JNIfmoddspgetactive(arg0);
+}
+public double fmod_dsp_set_bypass(double arg0,double arg1)
+{
+ return JNIfmoddspsetbypass(arg0,arg1);
+}
+public double fmod_dsp_get_bypass(double arg0)
+{
+ return JNIfmoddspgetbypass(arg0);
+}
+public double fmod_dsp_set_wet_dry_mix(double arg0,double arg1,double arg2,double arg3)
+{
+ return JNIfmoddspsetwetdrymix(arg0,arg1,arg2,arg3);
+}
+public double fmod_dsp_get_wet_dry_mix_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmoddspgetwetdrymixmultiplatform(arg0,arg1);
+}
+public double fmod_dsp_get_idle(double arg0)
+{
+ return JNIfmoddspgetidle(arg0);
+}
+public double fmod_dsp_reset(double arg0)
+{
+ return JNIfmoddspreset(arg0);
+}
+public double fmod_dsp_release(double arg0)
+{
+ return JNIfmoddsprelease(arg0);
+}
+public double fmod_dsp_get_type(double arg0)
+{
+ return JNIfmoddspgettype(arg0);
+}
+public double fmod_dsp_get_info_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmoddspgetinfomultiplatform(arg0,arg1);
+}
+public double fmod_dsp_get_cpu_usage_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmoddspgetcpuusagemultiplatform(arg0,arg1);
+}
+public double fmod_dsp_set_user_data(double arg0,double arg1)
+{
+ return JNIfmoddspsetuserdata(arg0,arg1);
+}
+public double fmod_dsp_get_user_data(double arg0)
+{
+ return JNIfmoddspgetuserdata(arg0);
+}
+public double fmod_dsp_set_callback(double arg0)
+{
+ return JNIfmoddspsetcallback(arg0);
+}
+public double fmod_dsp_get_system_object(double arg0)
+{
+ return JNIfmoddspgetsystemobject(arg0);
+}
+public double fmod_dsp_connection_set_mix(double arg0,double arg1)
+{
+ return JNIfmoddspconnectionsetmix(arg0,arg1);
+}
+public double fmod_dsp_connection_get_mix(double arg0)
+{
+ return JNIfmoddspconnectiongetmix(arg0);
+}
+public double fmod_dsp_connection_set_mix_matrix_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmoddspconnectionsetmixmatrixmultiplatform(arg0,arg1);
+}
+public double fmod_dsp_connection_get_mix_matrix_multiplatform(double arg0,double arg1,ByteBuffer arg2)
+{
+ return JNIfmoddspconnectiongetmixmatrixmultiplatform(arg0,arg1,arg2);
+}
+public double fmod_dsp_connection_get_input(double arg0)
+{
+ return JNIfmoddspconnectiongetinput(arg0);
+}
+public double fmod_dsp_connection_get_output(double arg0)
+{
+ return JNIfmoddspconnectiongetoutput(arg0);
+}
+public double fmod_dsp_connection_get_type(double arg0)
+{
+ return JNIfmoddspconnectiongettype(arg0);
+}
+public double fmod_dsp_connection_set_user_data(double arg0,double arg1)
+{
+ return JNIfmoddspconnectionsetuserdata(arg0,arg1);
+}
+public double fmod_dsp_connection_get_user_data(double arg0)
+{
+ return JNIfmoddspconnectiongetuserdata(arg0);
+}
+public double fmod_geometry_set_polygon_attributes(double arg0,double arg1,double arg2,double arg3,double arg4)
+{
+ return JNIfmodgeometrysetpolygonattributes(arg0,arg1,arg2,arg3,arg4);
+}
+public double fmod_geometry_get_polygon_attributes_multiplatform(double arg0,double arg1,ByteBuffer arg2)
+{
+ return JNIfmodgeometrygetpolygonattributesmultiplatform(arg0,arg1,arg2);
+}
+public double fmod_geometry_get_polygon_num_vertices(double arg0,double arg1)
+{
+ return JNIfmodgeometrygetpolygonnumvertices(arg0,arg1);
+}
+public double fmod_geometry_set_polygon_vertex_multiplatform(double arg0,double arg1,double arg2,ByteBuffer arg3)
+{
+ return JNIfmodgeometrysetpolygonvertexmultiplatform(arg0,arg1,arg2,arg3);
+}
+public double fmod_geometry_get_polygon_vertex_multiplatform(double arg0,double arg1,double arg2,ByteBuffer arg3)
+{
+ return JNIfmodgeometrygetpolygonvertexmultiplatform(arg0,arg1,arg2,arg3);
+}
+public double fmod_geometry_set_position_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmodgeometrysetpositionmultiplatform(arg0,arg1);
+}
+public double fmod_geometry_get_position_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmodgeometrygetpositionmultiplatform(arg0,arg1);
+}
+public double fmod_geometry_set_rotation_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmodgeometrysetrotationmultiplatform(arg0,arg1);
+}
+public double fmod_geometry_get_rotation_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmodgeometrygetrotationmultiplatform(arg0,arg1);
+}
+public double fmod_geometry_set_scale_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmodgeometrysetscalemultiplatform(arg0,arg1);
+}
+public double fmod_geometry_get_scale_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmodgeometrygetscalemultiplatform(arg0,arg1);
+}
+public double fmod_geometry_add_polygon_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmodgeometryaddpolygonmultiplatform(arg0,arg1);
+}
+public double fmod_geometry_set_active(double arg0,double arg1)
+{
+ return JNIfmodgeometrysetactive(arg0,arg1);
+}
+public double fmod_geometry_get_active(double arg0)
+{
+ return JNIfmodgeometrygetactive(arg0);
+}
+public double fmod_geometry_get_max_polygons_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmodgeometrygetmaxpolygonsmultiplatform(arg0,arg1);
+}
+public double fmod_geometry_get_num_polygons(double arg0)
+{
+ return JNIfmodgeometrygetnumpolygons(arg0);
+}
+public double fmod_geometry_set_user_data(double arg0,double arg1)
+{
+ return JNIfmodgeometrysetuserdata(arg0,arg1);
+}
+public double fmod_geometry_get_user_data(double arg0)
+{
+ return JNIfmodgeometrygetuserdata(arg0);
+}
+public double fmod_geometry_release(double arg0)
+{
+ return JNIfmodgeometryrelease(arg0);
+}
+public double fmod_geometry_save_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmodgeometrysavemultiplatform(arg0,arg1);
+}
+public double fmod_reverb_3d_set_3d_attributes_multiplatform(double arg0,ByteBuffer arg1,double arg2,double arg3)
+{
+ return JNIfmodreverb3dset3dattributesmultiplatform(arg0,arg1,arg2,arg3);
+}
+public double fmod_reverb_3d_get_3d_attributes_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmodreverb3dget3dattributesmultiplatform(arg0,arg1);
+}
+public double fmod_reverb_3d_set_properties(double arg0,double arg1,double arg2,double arg3,double arg4,double arg5,double arg6,double arg7,double arg8,double arg9,double arg10,double arg11,double arg12)
+{
+ return JNIfmodreverb3dsetproperties(arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12);
+}
+public double fmod_reverb_3d_get_properties_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmodreverb3dgetpropertiesmultiplatform(arg0,arg1);
+}
+public double fmod_reverb_3d_set_active(double arg0,double arg1)
+{
+ return JNIfmodreverb3dsetactive(arg0,arg1);
+}
+public double fmod_reverb_3d_get_active(double arg0)
+{
+ return JNIfmodreverb3dgetactive(arg0);
+}
+public double fmod_reverb_3d_release(double arg0)
+{
+ return JNIfmodreverb3drelease(arg0);
+}
+public double fmod_reverb_3d_set_user_data(double arg0,double arg1)
+{
+ return JNIfmodreverb3dsetuserdata(arg0,arg1);
+}
+public double fmod_reverb_3d_get_user_data(double arg0)
+{
+ return JNIfmodreverb3dgetuserdata(arg0);
+}
+public String fmod_sound_get_name(double arg0)
+{
+ return JNIfmodsoundgetname(arg0);
+}
+public double fmod_sound_get_format_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmodsoundgetformatmultiplatform(arg0,arg1);
+}
+public double fmod_sound_get_length(double arg0,double arg1)
+{
+ return JNIfmodsoundgetlength(arg0,arg1);
+}
+public double fmod_sound_get_num_tags_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmodsoundgetnumtagsmultiplatform(arg0,arg1);
+}
+public double fmod_sound_get_tag_multiplatform(double arg0,double arg1,ByteBuffer arg2,ByteBuffer arg3)
+{
+ return JNIfmodsoundgettagmultiplatform(arg0,arg1,arg2,arg3);
+}
+public double fmod_sound_set_3d_cone_settings(double arg0,double arg1,double arg2,double arg3)
+{
+ return JNIfmodsoundset3dconesettings(arg0,arg1,arg2,arg3);
+}
+public double fmod_sound_get_3d_cone_settings_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmodsoundget3dconesettingsmultiplatform(arg0,arg1);
+}
+public double fmod_sound_set_3d_custom_rolloff_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmodsoundset3dcustomrolloffmultiplatform(arg0,arg1);
+}
+public double fmod_sound_get_3d_custom_rolloff_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmodsoundget3dcustomrolloffmultiplatform(arg0,arg1);
+}
+public double fmod_sound_set_3d_min_max_distance(double arg0,double arg1,double arg2)
+{
+ return JNIfmodsoundset3dminmaxdistance(arg0,arg1,arg2);
+}
+public double fmod_sound_get_3d_min_max_distance_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmodsoundget3dminmaxdistancemultiplatform(arg0,arg1);
+}
+public double fmod_sound_set_defaults(double arg0,double arg1,double arg2)
+{
+ return JNIfmodsoundsetdefaults(arg0,arg1,arg2);
+}
+public double fmod_sound_get_defaults_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmodsoundgetdefaultsmultiplatform(arg0,arg1);
+}
+public double fmod_sound_set_mode(double arg0,double arg1)
+{
+ return JNIfmodsoundsetmode(arg0,arg1);
+}
+public double fmod_sound_get_mode(double arg0)
+{
+ return JNIfmodsoundgetmode(arg0);
+}
+public double fmod_sound_set_loop_count(double arg0,double arg1)
+{
+ return JNIfmodsoundsetloopcount(arg0,arg1);
+}
+public double fmod_sound_get_loop_count(double arg0)
+{
+ return JNIfmodsoundgetloopcount(arg0);
+}
+public double fmod_sound_set_loop_points(double arg0,double arg1,double arg2,double arg3,double arg4)
+{
+ return JNIfmodsoundsetlooppoints(arg0,arg1,arg2,arg3,arg4);
+}
+public double fmod_sound_get_loop_points_multiplatform(double arg0,double arg1,double arg2,ByteBuffer arg3)
+{
+ return JNIfmodsoundgetlooppointsmultiplatform(arg0,arg1,arg2,arg3);
+}
+public double fmod_sound_set_sound_group(double arg0,double arg1)
+{
+ return JNIfmodsoundsetsoundgroup(arg0,arg1);
+}
+public double fmod_sound_get_sound_group(double arg0)
+{
+ return JNIfmodsoundgetsoundgroup(arg0);
+}
+public double fmod_sound_get_num_sub_sounds(double arg0)
+{
+ return JNIfmodsoundgetnumsubsounds(arg0);
+}
+public double fmod_sound_get_sub_sound(double arg0,double arg1)
+{
+ return JNIfmodsoundgetsubsound(arg0,arg1);
+}
+public double fmod_sound_get_sub_sound_parent(double arg0)
+{
+ return JNIfmodsoundgetsubsoundparent(arg0);
+}
+public double fmod_sound_get_open_state_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmodsoundgetopenstatemultiplatform(arg0,arg1);
+}
+public double fmod_sound_read_data_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmodsoundreaddatamultiplatform(arg0,arg1);
+}
+public double fmod_sound_seek_data(double arg0,double arg1)
+{
+ return JNIfmodsoundseekdata(arg0,arg1);
+}
+public double fmod_sound_lock_multiplatform(double arg0,ByteBuffer arg1,ByteBuffer arg2)
+{
+ return JNIfmodsoundlockmultiplatform(arg0,arg1,arg2);
+}
+public double fmod_sound_unlock_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmodsoundunlockmultiplatform(arg0,arg1);
+}
+public double fmod_sound_get_music_num_channels(double arg0)
+{
+ return JNIfmodsoundgetmusicnumchannels(arg0);
+}
+public double fmod_sound_set_music_channel_volume(double arg0,double arg1,double arg2)
+{
+ return JNIfmodsoundsetmusicchannelvolume(arg0,arg1,arg2);
+}
+public double fmod_sound_get_music_channel_volume(double arg0,double arg1)
+{
+ return JNIfmodsoundgetmusicchannelvolume(arg0,arg1);
+}
+public double fmod_sound_set_music_speed(double arg0,double arg1)
+{
+ return JNIfmodsoundsetmusicspeed(arg0,arg1);
+}
+public double fmod_sound_get_music_speed(double arg0)
+{
+ return JNIfmodsoundgetmusicspeed(arg0);
+}
+public double fmod_sound_get_sync_point_multiplatform(double arg0,double arg1,double arg2,ByteBuffer arg3)
+{
+ return JNIfmodsoundgetsyncpointmultiplatform(arg0,arg1,arg2,arg3);
+}
+public double fmod_sound_get_num_sync_points(double arg0)
+{
+ return JNIfmodsoundgetnumsyncpoints(arg0);
+}
+public double fmod_sound_add_sync_point(double arg0,double arg1,double arg2,String arg3)
+{
+ return JNIfmodsoundaddsyncpoint(arg0,arg1,arg2,arg3);
+}
+public double fmod_sound_delete_sync_point(double arg0,double arg1)
+{
+ return JNIfmodsounddeletesyncpoint(arg0,arg1);
+}
+public double fmod_sound_release(double arg0)
+{
+ return JNIfmodsoundrelease(arg0);
+}
+public double fmod_sound_get_system_object(double arg0)
+{
+ return JNIfmodsoundgetsystemobject(arg0);
+}
+public double fmod_sound_set_user_data(double arg0,double arg1)
+{
+ return JNIfmodsoundsetuserdata(arg0,arg1);
+}
+public double fmod_sound_get_user_data(double arg0)
+{
+ return JNIfmodsoundgetuserdata(arg0);
+}
+public double fmod_sound_group_set_max_audible(double arg0,double arg1)
+{
+ return JNIfmodsoundgroupsetmaxaudible(arg0,arg1);
+}
+public double fmod_sound_group_get_max_audible(double arg0)
+{
+ return JNIfmodsoundgroupgetmaxaudible(arg0);
+}
+public double fmod_sound_group_set_max_audible_behavior(double arg0,double arg1)
+{
+ return JNIfmodsoundgroupsetmaxaudiblebehavior(arg0,arg1);
+}
+public double fmod_sound_group_get_max_audible_behavior(double arg0)
+{
+ return JNIfmodsoundgroupgetmaxaudiblebehavior(arg0);
+}
+public double fmod_sound_group_set_mute_fade_speed(double arg0,double arg1)
+{
+ return JNIfmodsoundgroupsetmutefadespeed(arg0,arg1);
+}
+public double fmod_sound_group_get_mute_fade_speed(double arg0)
+{
+ return JNIfmodsoundgroupgetmutefadespeed(arg0);
+}
+public double fmod_sound_group_set_volume(double arg0,double arg1)
+{
+ return JNIfmodsoundgroupsetvolume(arg0,arg1);
+}
+public double fmod_sound_group_get_volume(double arg0)
+{
+ return JNIfmodsoundgroupgetvolume(arg0);
+}
+public double fmod_sound_group_get_num_sounds(double arg0)
+{
+ return JNIfmodsoundgroupgetnumsounds(arg0);
+}
+public double fmod_sound_group_get_sound(double arg0,double arg1)
+{
+ return JNIfmodsoundgroupgetsound(arg0,arg1);
+}
+public double fmod_sound_group_get_num_playing(double arg0)
+{
+ return JNIfmodsoundgroupgetnumplaying(arg0);
+}
+public double fmod_sound_group_stop(double arg0)
+{
+ return JNIfmodsoundgroupstop(arg0);
+}
+public String fmod_sound_group_get_name(double arg0)
+{
+ return JNIfmodsoundgroupgetname(arg0);
+}
+public double fmod_sound_group_release(double arg0)
+{
+ return JNIfmodsoundgrouprelease(arg0);
+}
+public double fmod_sound_group_get_system_object(double arg0)
+{
+ return JNIfmodsoundgroupgetsystemobject(arg0);
+}
+public double fmod_sound_group_set_user_data(double arg0,double arg1)
+{
+ return JNIfmodsoundgroupsetuserdata(arg0,arg1);
+}
+public double fmod_sound_group_get_user_data(double arg0)
+{
+ return JNIfmodsoundgroupgetuserdata(arg0);
+}
+public double fmod_studio_bank_get_loading_state(double arg0)
+{
+ return JNIfmodstudiobankgetloadingstate(arg0);
+}
+public double fmod_studio_bank_load_sample_data(double arg0)
+{
+ return JNIfmodstudiobankloadsampledata(arg0);
+}
+public double fmod_studio_bank_unload_sample_data(double arg0)
+{
+ return JNIfmodstudiobankunloadsampledata(arg0);
+}
+public double fmod_studio_bank_get_sample_loading_state(double arg0)
+{
+ return JNIfmodstudiobankgetsampleloadingstate(arg0);
+}
+public double fmod_studio_bank_unload(double arg0)
+{
+ return JNIfmodstudiobankunload(arg0);
+}
+public double fmod_studio_bank_get_bus_count(double arg0)
+{
+ return JNIfmodstudiobankgetbuscount(arg0);
+}
+public double fmod_studio_bank_get_bus_list_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmodstudiobankgetbuslistmultiplatform(arg0,arg1);
+}
+public double fmod_studio_bank_get_event_count(double arg0)
+{
+ return JNIfmodstudiobankgeteventcount(arg0);
+}
+public double fmod_studio_bank_get_event_description_list_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmodstudiobankgeteventdescriptionlistmultiplatform(arg0,arg1);
+}
+public double fmod_studio_bank_get_string_count(double arg0)
+{
+ return JNIfmodstudiobankgetstringcount(arg0);
+}
+public double fmod_studio_bank_get_string_info_multiplatform(double arg0,double arg1,ByteBuffer arg2)
+{
+ return JNIfmodstudiobankgetstringinfomultiplatform(arg0,arg1,arg2);
+}
+public double fmod_studio_bank_get_vca_count(double arg0)
+{
+ return JNIfmodstudiobankgetvcacount(arg0);
+}
+public double fmod_studio_bank_get_vca_list_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmodstudiobankgetvcalistmultiplatform(arg0,arg1);
+}
+public String fmod_studio_bank_get_id(double arg0)
+{
+ return JNIfmodstudiobankgetid(arg0);
+}
+public String fmod_studio_bank_get_path(double arg0)
+{
+ return JNIfmodstudiobankgetpath(arg0);
+}
+public double fmod_studio_bank_is_valid(double arg0)
+{
+ return JNIfmodstudiobankisvalid(arg0);
+}
+public double fmod_studio_bank_set_user_data(double arg0,double arg1)
+{
+ return JNIfmodstudiobanksetuserdata(arg0,arg1);
+}
+public double fmod_studio_bank_get_user_data(double arg0)
+{
+ return JNIfmodstudiobankgetuserdata(arg0);
+}
+public double fmod_studio_bus_set_paused(double arg0,double arg1)
+{
+ return JNIfmodstudiobussetpaused(arg0,arg1);
+}
+public double fmod_studio_bus_get_paused(double arg0)
+{
+ return JNIfmodstudiobusgetpaused(arg0);
+}
+public double fmod_studio_bus_stop_all_events(double arg0,double arg1)
+{
+ return JNIfmodstudiobusstopallevents(arg0,arg1);
+}
+public double fmod_studio_bus_set_volume(double arg0,double arg1)
+{
+ return JNIfmodstudiobussetvolume(arg0,arg1);
+}
+public double fmod_studio_bus_get_volume(double arg0)
+{
+ return JNIfmodstudiobusgetvolume(arg0);
+}
+public double fmod_studio_bus_set_mute(double arg0,double arg1)
+{
+ return JNIfmodstudiobussetmute(arg0,arg1);
+}
+public double fmod_studio_bus_get_mute(double arg0)
+{
+ return JNIfmodstudiobusgetmute(arg0);
+}
+public double fmod_studio_bus_set_port_index_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmodstudiobussetportindexmultiplatform(arg0,arg1);
+}
+public double fmod_studio_bus_get_port_index_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmodstudiobusgetportindexmultiplatform(arg0,arg1);
+}
+public double fmod_studio_bus_get_channel_group(double arg0)
+{
+ return JNIfmodstudiobusgetchannelgroup(arg0);
+}
+public double fmod_studio_bus_lock_channel_group(double arg0)
+{
+ return JNIfmodstudiobuslockchannelgroup(arg0);
+}
+public double fmod_studio_bus_unlock_channel_group(double arg0)
+{
+ return JNIfmodstudiobusunlockchannelgroup(arg0);
+}
+public double fmod_studio_bus_get_cpu_usage_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmodstudiobusgetcpuusagemultiplatform(arg0,arg1);
+}
+public double fmod_studio_bus_get_memory_usage_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmodstudiobusgetmemoryusagemultiplatform(arg0,arg1);
+}
+public String fmod_studio_bus_get_id(double arg0)
+{
+ return JNIfmodstudiobusgetid(arg0);
+}
+public String fmod_studio_bus_get_path(double arg0)
+{
+ return JNIfmodstudiobusgetpath(arg0);
+}
+public double fmod_studio_bus_is_valid(double arg0)
+{
+ return JNIfmodstudiobusisvalid(arg0);
+}
+public double fmod_studio_command_replay_set_bank_path(double arg0,String arg1)
+{
+ return JNIfmodstudiocommandreplaysetbankpath(arg0,arg1);
+}
+public double fmod_studio_command_replay_set_create_instance_callback(double arg0)
+{
+ return JNIfmodstudiocommandreplaysetcreateinstancecallback(arg0);
+}
+public double fmod_studio_command_replay_set_frame_callback(double arg0)
+{
+ return JNIfmodstudiocommandreplaysetframecallback(arg0);
+}
+public double fmod_studio_command_replay_set_load_bank_callback(double arg0,String arg1)
+{
+ return JNIfmodstudiocommandreplaysetloadbankcallback(arg0,arg1);
+}
+public double fmod_studio_command_replay_start(double arg0)
+{
+ return JNIfmodstudiocommandreplaystart(arg0);
+}
+public double fmod_studio_command_replay_stop(double arg0)
+{
+ return JNIfmodstudiocommandreplaystop(arg0);
+}
+public double fmod_studio_command_replay_get_current_command_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmodstudiocommandreplaygetcurrentcommandmultiplatform(arg0,arg1);
+}
+public double fmod_studio_command_replay_get_playback_state(double arg0)
+{
+ return JNIfmodstudiocommandreplaygetplaybackstate(arg0);
+}
+public double fmod_studio_command_replay_set_paused(double arg0,double arg1)
+{
+ return JNIfmodstudiocommandreplaysetpaused(arg0,arg1);
+}
+public double fmod_studio_command_replay_get_paused(double arg0)
+{
+ return JNIfmodstudiocommandreplaygetpaused(arg0);
+}
+public double fmod_studio_command_replay_seek_to_command(double arg0,double arg1)
+{
+ return JNIfmodstudiocommandreplayseektocommand(arg0,arg1);
+}
+public double fmod_studio_command_replay_seek_to_time(double arg0,double arg1)
+{
+ return JNIfmodstudiocommandreplayseektotime(arg0,arg1);
+}
+public double fmod_studio_command_replay_get_command_at_time(double arg0,double arg1)
+{
+ return JNIfmodstudiocommandreplaygetcommandattime(arg0,arg1);
+}
+public double fmod_studio_command_replay_get_command_count(double arg0)
+{
+ return JNIfmodstudiocommandreplaygetcommandcount(arg0);
+}
+public double fmod_studio_command_replay_get_command_info_multiplatform(double arg0,double arg1,ByteBuffer arg2)
+{
+ return JNIfmodstudiocommandreplaygetcommandinfomultiplatform(arg0,arg1,arg2);
+}
+public String fmod_studio_command_replay_get_command_string(double arg0,double arg1)
+{
+ return JNIfmodstudiocommandreplaygetcommandstring(arg0,arg1);
+}
+public double fmod_studio_command_replay_get_length(double arg0)
+{
+ return JNIfmodstudiocommandreplaygetlength(arg0);
+}
+public double fmod_studio_command_replay_get_system_object(double arg0)
+{
+ return JNIfmodstudiocommandreplaygetsystemobject(arg0);
+}
+public double fmod_studio_command_replay_is_valid(double arg0)
+{
+ return JNIfmodstudiocommandreplayisvalid(arg0);
+}
+public double fmod_studio_command_replay_set_user_data(double arg0,double arg1)
+{
+ return JNIfmodstudiocommandreplaysetuserdata(arg0,arg1);
+}
+public double fmod_studio_command_replay_get_user_data(double arg0)
+{
+ return JNIfmodstudiocommandreplaygetuserdata(arg0);
+}
+public double fmod_studio_command_replay_release(double arg0)
+{
+ return JNIfmodstudiocommandreplayrelease(arg0);
+}
+public double fmod_studio_event_description_create_instance(double arg0)
+{
+ return JNIfmodstudioeventdescriptioncreateinstance(arg0);
+}
+public double fmod_studio_event_description_get_instance_count(double arg0)
+{
+ return JNIfmodstudioeventdescriptiongetinstancecount(arg0);
+}
+public double fmod_studio_event_description_get_instance_list_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmodstudioeventdescriptiongetinstancelistmultiplatform(arg0,arg1);
+}
+public double fmod_studio_event_description_release_all_instances(double arg0)
+{
+ return JNIfmodstudioeventdescriptionreleaseallinstances(arg0);
+}
+public double fmod_studio_event_description_load_sample_data(double arg0)
+{
+ return JNIfmodstudioeventdescriptionloadsampledata(arg0);
+}
+public double fmod_studio_event_description_unload_sample_data(double arg0)
+{
+ return JNIfmodstudioeventdescriptionunloadsampledata(arg0);
+}
+public double fmod_studio_event_description_get_sample_loading_state(double arg0)
+{
+ return JNIfmodstudioeventdescriptiongetsampleloadingstate(arg0);
+}
+public double fmod_studio_event_description_is_3d(double arg0)
+{
+ return JNIfmodstudioeventdescriptionis3d(arg0);
+}
+public double fmod_studio_event_description_is_doppler_enabled(double arg0)
+{
+ return JNIfmodstudioeventdescriptionisdopplerenabled(arg0);
+}
+public double fmod_studio_event_description_is_oneshot(double arg0)
+{
+ return JNIfmodstudioeventdescriptionisoneshot(arg0);
+}
+public double fmod_studio_event_description_is_snapshot(double arg0)
+{
+ return JNIfmodstudioeventdescriptionissnapshot(arg0);
+}
+public double fmod_studio_event_description_is_stream(double arg0)
+{
+ return JNIfmodstudioeventdescriptionisstream(arg0);
+}
+public double fmod_studio_event_description_has_sustain_point(double arg0)
+{
+ return JNIfmodstudioeventdescriptionhassustainpoint(arg0);
+}
+public double fmod_studio_event_description_get_min_max_distance_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmodstudioeventdescriptiongetminmaxdistancemultiplatform(arg0,arg1);
+}
+public double fmod_studio_event_description_get_sound_size(double arg0)
+{
+ return JNIfmodstudioeventdescriptiongetsoundsize(arg0);
+}
+public double fmod_studio_event_description_get_parameter_description_by_name_multiplatform(double arg0,String arg1,ByteBuffer arg2)
+{
+ return JNIfmodstudioeventdescriptiongetparameterdescriptionbynamemultiplatform(arg0,arg1,arg2);
+}
+public double fmod_studio_event_description_get_parameter_description_by_id_multiplatform(double arg0,ByteBuffer arg1,ByteBuffer arg2)
+{
+ return JNIfmodstudioeventdescriptiongetparameterdescriptionbyidmultiplatform(arg0,arg1,arg2);
+}
+public double fmod_studio_event_description_get_parameter_description_by_index_multiplatform(double arg0,double arg1,ByteBuffer arg2)
+{
+ return JNIfmodstudioeventdescriptiongetparameterdescriptionbyindexmultiplatform(arg0,arg1,arg2);
+}
+public double fmod_studio_event_description_get_parameter_description_count(double arg0)
+{
+ return JNIfmodstudioeventdescriptiongetparameterdescriptioncount(arg0);
+}
+public String fmod_studio_event_description_get_parameter_label_by_name(double arg0,String arg1,double arg2)
+{
+ return JNIfmodstudioeventdescriptiongetparameterlabelbyname(arg0,arg1,arg2);
+}
+public String fmod_studio_event_description_get_parameter_label_by_id_multiplatform(double arg0,ByteBuffer arg1,double arg2)
+{
+ return JNIfmodstudioeventdescriptiongetparameterlabelbyidmultiplatform(arg0,arg1,arg2);
+}
+public String fmod_studio_event_description_get_parameter_label_by_index(double arg0,double arg1,double arg2)
+{
+ return JNIfmodstudioeventdescriptiongetparameterlabelbyindex(arg0,arg1,arg2);
+}
+public double fmod_studio_event_description_get_user_property_multiplatform(double arg0,String arg1,ByteBuffer arg2)
+{
+ return JNIfmodstudioeventdescriptiongetuserpropertymultiplatform(arg0,arg1,arg2);
+}
+public double fmod_studio_event_description_get_user_property_by_index_multiplatform(double arg0,double arg1,ByteBuffer arg2)
+{
+ return JNIfmodstudioeventdescriptiongetuserpropertybyindexmultiplatform(arg0,arg1,arg2);
+}
+public double fmod_studio_event_description_get_user_property_count(double arg0)
+{
+ return JNIfmodstudioeventdescriptiongetuserpropertycount(arg0);
+}
+public String fmod_studio_event_description_get_id(double arg0)
+{
+ return JNIfmodstudioeventdescriptiongetid(arg0);
+}
+public double fmod_studio_event_description_get_length(double arg0)
+{
+ return JNIfmodstudioeventdescriptiongetlength(arg0);
+}
+public String fmod_studio_event_description_get_path(double arg0)
+{
+ return JNIfmodstudioeventdescriptiongetpath(arg0);
+}
+public double fmod_studio_event_description_set_callback(double arg0,double arg1)
+{
+ return JNIfmodstudioeventdescriptionsetcallback(arg0,arg1);
+}
+public double fmod_studio_event_description_set_user_data(double arg0,double arg1)
+{
+ return JNIfmodstudioeventdescriptionsetuserdata(arg0,arg1);
+}
+public double fmod_studio_event_description_get_user_data(double arg0)
+{
+ return JNIfmodstudioeventdescriptiongetuserdata(arg0);
+}
+public double fmod_studio_event_description_is_valid(double arg0)
+{
+ return JNIfmodstudioeventdescriptionisvalid(arg0);
+}
+public double fmod_studio_event_instance_start(double arg0)
+{
+ return JNIfmodstudioeventinstancestart(arg0);
+}
+public double fmod_studio_event_instance_stop(double arg0,double arg1)
+{
+ return JNIfmodstudioeventinstancestop(arg0,arg1);
+}
+public double fmod_studio_event_instance_get_playback_state(double arg0)
+{
+ return JNIfmodstudioeventinstancegetplaybackstate(arg0);
+}
+public double fmod_studio_event_instance_set_paused(double arg0,double arg1)
+{
+ return JNIfmodstudioeventinstancesetpaused(arg0,arg1);
+}
+public double fmod_studio_event_instance_get_paused(double arg0)
+{
+ return JNIfmodstudioeventinstancegetpaused(arg0);
+}
+public double fmod_studio_event_instance_keyoff(double arg0)
+{
+ return JNIfmodstudioeventinstancekeyoff(arg0);
+}
+public double fmod_studio_event_instance_set_pitch(double arg0,double arg1)
+{
+ return JNIfmodstudioeventinstancesetpitch(arg0,arg1);
+}
+public double fmod_studio_event_instance_get_pitch(double arg0)
+{
+ return JNIfmodstudioeventinstancegetpitch(arg0);
+}
+public double fmod_studio_event_instance_set_property(double arg0,double arg1,double arg2)
+{
+ return JNIfmodstudioeventinstancesetproperty(arg0,arg1,arg2);
+}
+public double fmod_studio_event_instance_get_property(double arg0,double arg1)
+{
+ return JNIfmodstudioeventinstancegetproperty(arg0,arg1);
+}
+public double fmod_studio_event_instance_set_timeline_position(double arg0,double arg1)
+{
+ return JNIfmodstudioeventinstancesettimelineposition(arg0,arg1);
+}
+public double fmod_studio_event_instance_get_timeline_position(double arg0)
+{
+ return JNIfmodstudioeventinstancegettimelineposition(arg0);
+}
+public double fmod_studio_event_instance_set_volume(double arg0,double arg1)
+{
+ return JNIfmodstudioeventinstancesetvolume(arg0,arg1);
+}
+public double fmod_studio_event_instance_get_volume_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmodstudioeventinstancegetvolumemultiplatform(arg0,arg1);
+}
+public double fmod_studio_event_instance_is_virtual(double arg0)
+{
+ return JNIfmodstudioeventinstanceisvirtual(arg0);
+}
+public double fmod_studio_event_instance_set_3d_attributes_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmodstudioeventinstanceset3dattributesmultiplatform(arg0,arg1);
+}
+public double fmod_studio_event_instance_get_3d_attributes_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmodstudioeventinstanceget3dattributesmultiplatform(arg0,arg1);
+}
+public double fmod_studio_event_instance_set_listener_mask(double arg0,double arg1)
+{
+ return JNIfmodstudioeventinstancesetlistenermask(arg0,arg1);
+}
+public double fmod_studio_event_instance_get_listener_mask(double arg0)
+{
+ return JNIfmodstudioeventinstancegetlistenermask(arg0);
+}
+public double fmod_studio_event_instance_get_min_max_distance_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmodstudioeventinstancegetminmaxdistancemultiplatform(arg0,arg1);
+}
+public double fmod_studio_event_instance_set_parameter_by_name_multiplatform(double arg0,String arg1,double arg2,double arg3)
+{
+ return JNIfmodstudioeventinstancesetparameterbynamemultiplatform(arg0,arg1,arg2,arg3);
+}
+public double fmod_studio_event_instance_set_parameter_by_name_with_label(double arg0,String arg1,String arg2,double arg3)
+{
+ return JNIfmodstudioeventinstancesetparameterbynamewithlabel(arg0,arg1,arg2,arg3);
+}
+public double fmod_studio_event_instance_get_parameter_by_name_multiplatform(double arg0,String arg1,ByteBuffer arg2)
+{
+ return JNIfmodstudioeventinstancegetparameterbynamemultiplatform(arg0,arg1,arg2);
+}
+public double fmod_studio_event_instance_set_parameter_by_id_multiplatform(double arg0,ByteBuffer arg1,double arg2,double arg3)
+{
+ return JNIfmodstudioeventinstancesetparameterbyidmultiplatform(arg0,arg1,arg2,arg3);
+}
+public double fmod_studio_event_instance_set_parameter_by_id_with_label_multiplatform(double arg0,ByteBuffer arg1,String arg2,double arg3)
+{
+ return JNIfmodstudioeventinstancesetparameterbyidwithlabelmultiplatform(arg0,arg1,arg2,arg3);
+}
+public double fmod_studio_event_instance_get_parameter_by_id_multiplatform(double arg0,ByteBuffer arg1,ByteBuffer arg2)
+{
+ return JNIfmodstudioeventinstancegetparameterbyidmultiplatform(arg0,arg1,arg2);
+}
+public double fmod_studio_event_instance_get_channel_group(double arg0)
+{
+ return JNIfmodstudioeventinstancegetchannelgroup(arg0);
+}
+public double fmod_studio_event_instance_set_reverb_level(double arg0,double arg1,double arg2)
+{
+ return JNIfmodstudioeventinstancesetreverblevel(arg0,arg1,arg2);
+}
+public double fmod_studio_event_instance_get_reverb_level(double arg0,double arg1)
+{
+ return JNIfmodstudioeventinstancegetreverblevel(arg0,arg1);
+}
+public double fmod_studio_event_instance_get_cpu_usage_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmodstudioeventinstancegetcpuusagemultiplatform(arg0,arg1);
+}
+public double fmod_studio_event_instance_get_memory_usage_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmodstudioeventinstancegetmemoryusagemultiplatform(arg0,arg1);
+}
+public double fmod_studio_event_instance_set_callback(double arg0,double arg1)
+{
+ return JNIfmodstudioeventinstancesetcallback(arg0,arg1);
+}
+public double fmod_studio_event_instance_set_user_data(double arg0,double arg1)
+{
+ return JNIfmodstudioeventinstancesetuserdata(arg0,arg1);
+}
+public double fmod_studio_event_instance_get_user_data(double arg0)
+{
+ return JNIfmodstudioeventinstancegetuserdata(arg0);
+}
+public double fmod_studio_event_instance_get_description(double arg0)
+{
+ return JNIfmodstudioeventinstancegetdescription(arg0);
+}
+public double fmod_studio_event_instance_release(double arg0)
+{
+ return JNIfmodstudioeventinstancerelease(arg0);
+}
+public double fmod_studio_event_instance_is_valid(double arg0)
+{
+ return JNIfmodstudioeventinstanceisvalid(arg0);
+}
+public double fmod_studio_system_create()
+{
+ return JNIfmodstudiosystemcreate();
+}
+public double fmod_studio_system_init(double arg0,double arg1,double arg2)
+{
+ return JNIfmodstudiosysteminit(arg0,arg1,arg2);
+}
+public double fmod_studio_system_release()
+{
+ return JNIfmodstudiosystemrelease();
+}
+public double fmod_studio_system_update_multiplatform()
+{
+ return JNIfmodstudiosystemupdatemultiplatform();
+}
+public double fmod_studio_system_flush_commands()
+{
+ return JNIfmodstudiosystemflushcommands();
+}
+public double fmod_studio_system_flush_sample_loading()
+{
+ return JNIfmodstudiosystemflushsampleloading();
+}
+public double fmod_studio_system_load_bank_custom(double arg0)
+{
+ return JNIfmodstudiosystemloadbankcustom(arg0);
+}
+public double fmod_studio_system_load_bank_file(String arg0,double arg1)
+{
+ return JNIfmodstudiosystemloadbankfile(arg0,arg1);
+}
+public double fmod_studio_system_load_bank_memory_multiplatform(ByteBuffer arg0,double arg1,double arg2,double arg3)
+{
+ return JNIfmodstudiosystemloadbankmemorymultiplatform(arg0,arg1,arg2,arg3);
+}
+public double fmod_studio_system_unload_all()
+{
+ return JNIfmodstudiosystemunloadall();
+}
+public double fmod_studio_system_get_bank(String arg0)
+{
+ return JNIfmodstudiosystemgetbank(arg0);
+}
+public double fmod_studio_system_get_bank_by_id(String arg0)
+{
+ return JNIfmodstudiosystemgetbankbyid(arg0);
+}
+public double fmod_studio_system_get_bank_count()
+{
+ return JNIfmodstudiosystemgetbankcount();
+}
+public double fmod_studio_system_get_bank_list_multiplatform(ByteBuffer arg0)
+{
+ return JNIfmodstudiosystemgetbanklistmultiplatform(arg0);
+}
+public double fmod_studio_system_set_listener_attributes_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmodstudiosystemsetlistenerattributesmultiplatform(arg0,arg1);
+}
+public double fmod_studio_system_get_listener_attributes_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmodstudiosystemgetlistenerattributesmultiplatform(arg0,arg1);
+}
+public double fmod_studio_system_set_listener_weight(double arg0,double arg1)
+{
+ return JNIfmodstudiosystemsetlistenerweight(arg0,arg1);
+}
+public double fmod_studio_system_get_listener_weight(double arg0)
+{
+ return JNIfmodstudiosystemgetlistenerweight(arg0);
+}
+public double fmod_studio_system_set_num_listeners(double arg0)
+{
+ return JNIfmodstudiosystemsetnumlisteners(arg0);
+}
+public double fmod_studio_system_get_num_listeners()
+{
+ return JNIfmodstudiosystemgetnumlisteners();
+}
+public double fmod_studio_system_get_bus(String arg0)
+{
+ return JNIfmodstudiosystemgetbus(arg0);
+}
+public double fmod_studio_system_get_bus_by_id(String arg0)
+{
+ return JNIfmodstudiosystemgetbusbyid(arg0);
+}
+public double fmod_studio_system_get_event(String arg0)
+{
+ return JNIfmodstudiosystemgetevent(arg0);
+}
+public double fmod_studio_system_get_event_by_id(String arg0)
+{
+ return JNIfmodstudiosystemgeteventbyid(arg0);
+}
+public double fmod_studio_system_get_parameter_by_id_multiplatform(ByteBuffer arg0,ByteBuffer arg1)
+{
+ return JNIfmodstudiosystemgetparameterbyidmultiplatform(arg0,arg1);
+}
+public double fmod_studio_system_set_parameter_by_id_multiplatform(ByteBuffer arg0,double arg1,double arg2)
+{
+ return JNIfmodstudiosystemsetparameterbyidmultiplatform(arg0,arg1,arg2);
+}
+public double fmod_studio_system_set_parameter_by_id_with_label_multiplatform(ByteBuffer arg0,String arg1,double arg2)
+{
+ return JNIfmodstudiosystemsetparameterbyidwithlabelmultiplatform(arg0,arg1,arg2);
+}
+public double fmod_studio_system_get_parameter_by_name_multiplatform(String arg0,ByteBuffer arg1)
+{
+ return JNIfmodstudiosystemgetparameterbynamemultiplatform(arg0,arg1);
+}
+public double fmod_studio_system_set_parameter_by_name_multiplatform(String arg0,double arg1,double arg2)
+{
+ return JNIfmodstudiosystemsetparameterbynamemultiplatform(arg0,arg1,arg2);
+}
+public double fmod_studio_system_set_parameter_by_name_with_label_multiplatform(String arg0,String arg1,double arg2)
+{
+ return JNIfmodstudiosystemsetparameterbynamewithlabelmultiplatform(arg0,arg1,arg2);
+}
+public double fmod_studio_system_get_parameter_description_by_name_multiplatform(String arg0,ByteBuffer arg1)
+{
+ return JNIfmodstudiosystemgetparameterdescriptionbynamemultiplatform(arg0,arg1);
+}
+public double fmod_studio_system_get_parameter_description_by_id_multiplatform(ByteBuffer arg0,ByteBuffer arg1)
+{
+ return JNIfmodstudiosystemgetparameterdescriptionbyidmultiplatform(arg0,arg1);
+}
+public double fmod_studio_system_get_parameter_description_count()
+{
+ return JNIfmodstudiosystemgetparameterdescriptioncount();
+}
+public double fmod_studio_system_get_parameter_description_list_multiplatform(ByteBuffer arg0)
+{
+ return JNIfmodstudiosystemgetparameterdescriptionlistmultiplatform(arg0);
+}
+public String fmod_studio_system_get_parameter_label_by_name(String arg0,double arg1)
+{
+ return JNIfmodstudiosystemgetparameterlabelbyname(arg0,arg1);
+}
+public String fmod_studio_system_get_parameter_label_by_id_multiplatform(ByteBuffer arg0,double arg1)
+{
+ return JNIfmodstudiosystemgetparameterlabelbyidmultiplatform(arg0,arg1);
+}
+public double fmod_studio_system_get_vca(String arg0)
+{
+ return JNIfmodstudiosystemgetvca(arg0);
+}
+public double fmod_studio_system_get_vca_by_id(String arg0)
+{
+ return JNIfmodstudiosystemgetvcabyid(arg0);
+}
+public double fmod_studio_system_set_advanced_settings_multiplatform(ByteBuffer arg0)
+{
+ return JNIfmodstudiosystemsetadvancedsettingsmultiplatform(arg0);
+}
+public double fmod_studio_system_get_advanced_settings_multiplatform(ByteBuffer arg0)
+{
+ return JNIfmodstudiosystemgetadvancedsettingsmultiplatform(arg0);
+}
+public double fmod_studio_system_start_command_capture(String arg0,double arg1)
+{
+ return JNIfmodstudiosystemstartcommandcapture(arg0,arg1);
+}
+public double fmod_studio_system_stop_command_capture()
+{
+ return JNIfmodstudiosystemstopcommandcapture();
+}
+public double fmod_studio_system_load_command_replay(String arg0,double arg1)
+{
+ return JNIfmodstudiosystemloadcommandreplay(arg0,arg1);
+}
+public double fmod_studio_system_get_buffer_usage_multiplatform(ByteBuffer arg0)
+{
+ return JNIfmodstudiosystemgetbufferusagemultiplatform(arg0);
+}
+public double fmod_studio_system_reset_buffer_usage()
+{
+ return JNIfmodstudiosystemresetbufferusage();
+}
+public double fmod_studio_system_get_cpu_usage_multiplatform(ByteBuffer arg0)
+{
+ return JNIfmodstudiosystemgetcpuusagemultiplatform(arg0);
+}
+public double fmod_studio_system_get_memory_usage_multiplatform(ByteBuffer arg0)
+{
+ return JNIfmodstudiosystemgetmemoryusagemultiplatform(arg0);
+}
+public double fmod_studio_system_set_callback(double arg0)
+{
+ return JNIfmodstudiosystemsetcallback(arg0);
+}
+public double fmod_studio_system_set_user_data(double arg0)
+{
+ return JNIfmodstudiosystemsetuserdata(arg0);
+}
+public double fmod_studio_system_get_user_data()
+{
+ return JNIfmodstudiosystemgetuserdata();
+}
+public double fmod_studio_system_get_sound_info_multiplatform(String arg0,ByteBuffer arg1)
+{
+ return JNIfmodstudiosystemgetsoundinfomultiplatform(arg0,arg1);
+}
+public double fmod_studio_system_get_core_system()
+{
+ return JNIfmodstudiosystemgetcoresystem();
+}
+public String fmod_studio_system_lookup_id(String arg0)
+{
+ return JNIfmodstudiosystemlookupid(arg0);
+}
+public String fmod_studio_system_lookup_path(String arg0)
+{
+ return JNIfmodstudiosystemlookuppath(arg0);
+}
+public double fmod_studio_system_is_valid()
+{
+ return JNIfmodstudiosystemisvalid();
+}
+public double fmod_studio_vca_set_volume(double arg0,double arg1)
+{
+ return JNIfmodstudiovcasetvolume(arg0,arg1);
+}
+public double fmod_studio_vca_get_volume(double arg0)
+{
+ return JNIfmodstudiovcagetvolume(arg0);
+}
+public String fmod_studio_vca_get_id(double arg0)
+{
+ return JNIfmodstudiovcagetid(arg0);
+}
+public String fmod_studio_vca_get_path(double arg0)
+{
+ return JNIfmodstudiovcagetpath(arg0);
+}
+public double fmod_studio_vca_is_valid(double arg0)
+{
+ return JNIfmodstudiovcaisvalid(arg0);
+}
+public double fmod_system_create()
+{
+ return JNIfmodsystemcreate();
+}
+public double fmod_system_select(double arg0)
+{
+ return JNIfmodsystemselect(arg0);
+}
+public double fmod_system_count()
+{
+ return JNIfmodsystemcount();
+}
+public double fmod_system_init(double arg0,double arg1)
+{
+ return JNIfmodsysteminit(arg0,arg1);
+}
+public double fmod_system_release(double arg0)
+{
+ return JNIfmodsystemrelease(arg0);
+}
+public double fmod_system_close(double arg0)
+{
+ return JNIfmodsystemclose(arg0);
+}
+public double fmod_system_update_multiplatform()
+{
+ return JNIfmodsystemupdatemultiplatform();
+}
+public double fmod_system_mixer_suspend()
+{
+ return JNIfmodsystemmixersuspend();
+}
+public double fmod_system_mixer_resume()
+{
+ return JNIfmodsystemmixerresume();
+}
+public double fmod_system_set_output(double arg0)
+{
+ return JNIfmodsystemsetoutput(arg0);
+}
+public double fmod_system_get_output()
+{
+ return JNIfmodsystemgetoutput();
+}
+public double fmod_system_get_num_drivers()
+{
+ return JNIfmodsystemgetnumdrivers();
+}
+public double fmod_system_get_driver_info_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmodsystemgetdriverinfomultiplatform(arg0,arg1);
+}
+public double fmod_system_set_driver(double arg0)
+{
+ return JNIfmodsystemsetdriver(arg0);
+}
+public double fmod_system_get_driver()
+{
+ return JNIfmodsystemgetdriver();
+}
+public double fmod_system_set_software_channels(double arg0)
+{
+ return JNIfmodsystemsetsoftwarechannels(arg0);
+}
+public double fmod_system_get_software_channels()
+{
+ return JNIfmodsystemgetsoftwarechannels();
+}
+public double fmod_system_set_software_format(double arg0,double arg1,double arg2)
+{
+ return JNIfmodsystemsetsoftwareformat(arg0,arg1,arg2);
+}
+public double fmod_system_get_software_format_multiplatform(ByteBuffer arg0)
+{
+ return JNIfmodsystemgetsoftwareformatmultiplatform(arg0);
+}
+public double fmod_system_set_dsp_buffer_size(double arg0,double arg1)
+{
+ return JNIfmodsystemsetdspbuffersize(arg0,arg1);
+}
+public double fmod_system_get_dsp_buffer_size_multiplatform(ByteBuffer arg0)
+{
+ return JNIfmodsystemgetdspbuffersizemultiplatform(arg0);
+}
+public double fmod_system_set_stream_buffer_size(double arg0,double arg1)
+{
+ return JNIfmodsystemsetstreambuffersize(arg0,arg1);
+}
+public double fmod_system_get_stream_buffer_size_multiplatform(ByteBuffer arg0)
+{
+ return JNIfmodsystemgetstreambuffersizemultiplatform(arg0);
+}
+public double fmod_system_set_advanced_settings_multiplatform(ByteBuffer arg0)
+{
+ return JNIfmodsystemsetadvancedsettingsmultiplatform(arg0);
+}
+public double fmod_system_get_advanced_settings_multiplatform(ByteBuffer arg0)
+{
+ return JNIfmodsystemgetadvancedsettingsmultiplatform(arg0);
+}
+public double fmod_system_set_speaker_position(double arg0,double arg1,double arg2,double arg3)
+{
+ return JNIfmodsystemsetspeakerposition(arg0,arg1,arg2,arg3);
+}
+public double fmod_system_get_speaker_position_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmodsystemgetspeakerpositionmultiplatform(arg0,arg1);
+}
+public double fmod_system_set_3d_settings(double arg0,double arg1,double arg2)
+{
+ return JNIfmodsystemset3dsettings(arg0,arg1,arg2);
+}
+public double fmod_system_get_3d_settings_multiplatform(ByteBuffer arg0)
+{
+ return JNIfmodsystemget3dsettingsmultiplatform(arg0);
+}
+public double fmod_system_set_3d_num_listeners(double arg0)
+{
+ return JNIfmodsystemset3dnumlisteners(arg0);
+}
+public double fmod_system_get_3d_num_listeners()
+{
+ return JNIfmodsystemget3dnumlisteners();
+}
+public double fmod_system_set_3d_rolloff_callback()
+{
+ return JNIfmodsystemset3drolloffcallback();
+}
+public double fmod_system_set_network_proxy(String arg0)
+{
+ return JNIfmodsystemsetnetworkproxy(arg0);
+}
+public String fmod_system_get_network_proxy()
+{
+ return JNIfmodsystemgetnetworkproxy();
+}
+public double fmod_system_set_network_timeout(double arg0)
+{
+ return JNIfmodsystemsetnetworktimeout(arg0);
+}
+public double fmod_system_get_network_timeout()
+{
+ return JNIfmodsystemgetnetworktimeout();
+}
+public double fmod_system_get_version()
+{
+ return JNIfmodsystemgetversion();
+}
+public double fmod_system_get_channels_playing_multiplatform(ByteBuffer arg0)
+{
+ return JNIfmodsystemgetchannelsplayingmultiplatform(arg0);
+}
+public double fmod_system_get_cpu_usage_multiplatform(ByteBuffer arg0)
+{
+ return JNIfmodsystemgetcpuusagemultiplatform(arg0);
+}
+public double fmod_system_get_file_usage_multiplatform(ByteBuffer arg0)
+{
+ return JNIfmodsystemgetfileusagemultiplatform(arg0);
+}
+public double fmod_system_get_default_mix_matrix_multiplatform(double arg0,double arg1,double arg2,ByteBuffer arg3)
+{
+ return JNIfmodsystemgetdefaultmixmatrixmultiplatform(arg0,arg1,arg2,arg3);
+}
+public double fmod_system_get_speaker_mode_channels(double arg0)
+{
+ return JNIfmodsystemgetspeakermodechannels(arg0);
+}
+public double fmod_system_create_sound_multiplatform(String arg0,double arg1,ByteBuffer arg2)
+{
+ return JNIfmodsystemcreatesoundmultiplatform(arg0,arg1,arg2);
+}
+public double fmod_system_create_stream_multiplatform(String arg0,double arg1,ByteBuffer arg2)
+{
+ return JNIfmodsystemcreatestreammultiplatform(arg0,arg1,arg2);
+}
+public double fmod_system_create_dsp()
+{
+ return JNIfmodsystemcreatedsp();
+}
+public double fmod_system_create_dsp_by_type(double arg0)
+{
+ return JNIfmodsystemcreatedspbytype(arg0);
+}
+public double fmod_system_create_channel_group(String arg0)
+{
+ return JNIfmodsystemcreatechannelgroup(arg0);
+}
+public double fmod_system_create_sound_group(String arg0)
+{
+ return JNIfmodsystemcreatesoundgroup(arg0);
+}
+public double fmod_system_create_reverb_3d()
+{
+ return JNIfmodsystemcreatereverb3d();
+}
+public double fmod_system_play_sound_multiplatform(double arg0,double arg1,double arg2)
+{
+ return JNIfmodsystemplaysoundmultiplatform(arg0,arg1,arg2);
+}
+public double fmod_system_play_dsp_multiplatform(double arg0,double arg1,double arg2)
+{
+ return JNIfmodsystemplaydspmultiplatform(arg0,arg1,arg2);
+}
+public double fmod_system_get_channel(double arg0)
+{
+ return JNIfmodsystemgetchannel(arg0);
+}
+public double fmod_system_get_master_channel_group()
+{
+ return JNIfmodsystemgetmasterchannelgroup();
+}
+public double fmod_system_get_master_sound_group()
+{
+ return JNIfmodsystemgetmastersoundgroup();
+}
+public double fmod_system_set_3d_listener_attributes_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmodsystemset3dlistenerattributesmultiplatform(arg0,arg1);
+}
+public double fmod_system_get_3d_listener_attributes_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmodsystemget3dlistenerattributesmultiplatform(arg0,arg1);
+}
+public double fmod_system_set_reverb_properties_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmodsystemsetreverbpropertiesmultiplatform(arg0,arg1);
+}
+public double fmod_system_get_reverb_properties_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmodsystemgetreverbpropertiesmultiplatform(arg0,arg1);
+}
+public double fmod_system_attach_channel_group_to_port_multiplatform(ByteBuffer arg0)
+{
+ return JNIfmodsystemattachchannelgrouptoportmultiplatform(arg0);
+}
+public double fmod_system_detach_channel_group_from_port(double arg0)
+{
+ return JNIfmodsystemdetachchannelgroupfromport(arg0);
+}
+public double fmod_system_get_record_num_drivers_multiplatform(ByteBuffer arg0)
+{
+ return JNIfmodsystemgetrecordnumdriversmultiplatform(arg0);
+}
+public double fmod_system_get_record_driver_info_multiplatform(double arg0,ByteBuffer arg1)
+{
+ return JNIfmodsystemgetrecorddriverinfomultiplatform(arg0,arg1);
+}
+public double fmod_system_get_record_position(double arg0)
+{
+ return JNIfmodsystemgetrecordposition(arg0);
+}
+public double fmod_system_record_start(double arg0,double arg1,double arg2)
+{
+ return JNIfmodsystemrecordstart(arg0,arg1,arg2);
+}
+public double fmod_system_record_stop(double arg0)
+{
+ return JNIfmodsystemrecordstop(arg0);
+}
+public double fmod_system_is_recording(double arg0)
+{
+ return JNIfmodsystemisrecording(arg0);
+}
+public double fmod_system_create_geometry(double arg0,double arg1)
+{
+ return JNIfmodsystemcreategeometry(arg0,arg1);
+}
+public double fmod_system_set_geometry_settings(double arg0)
+{
+ return JNIfmodsystemsetgeometrysettings(arg0);
+}
+public double fmod_system_get_geometry_settings()
+{
+ return JNIfmodsystemgetgeometrysettings();
+}
+public double fmod_system_load_geometry_multiplatform(ByteBuffer arg0,double arg1)
+{
+ return JNIfmodsystemloadgeometrymultiplatform(arg0,arg1);
+}
+public double fmod_system_get_geometry_occlusion_multiplatform(ByteBuffer arg0)
+{
+ return JNIfmodsystemgetgeometryocclusionmultiplatform(arg0);
+}
+public double fmod_system_lock_dsp()
+{
+ return JNIfmodsystemlockdsp();
+}
+public double fmod_system_unlock_dsp()
+{
+ return JNIfmodsystemunlockdsp();
+}
+public double fmod_system_set_callback(double arg0)
+{
+ return JNIfmodsystemsetcallback(arg0);
+}
+public double fmod_system_set_user_data(double arg0,double arg1)
+{
+ return JNIfmodsystemsetuserdata(arg0,arg1);
+}
+public double fmod_system_get_user_data(double arg0)
+{
+ return JNIfmodsystemgetuserdata(arg0);
+}
+public double fmod_fetch_callbacks(ByteBuffer arg0,double arg1)
+{
+ return JNIfmodfetchcallbacks(arg0,arg1);
+}
+public double fmod_last_result()
+{
+ return JNIfmodlastresult();
+}
+
+};
\ No newline at end of file
diff --git a/extensions/FMOD/AndroidSource/Java/MainActivity.java b/extensions/FMOD/AndroidSource/Java/MainActivity.java
new file mode 100644
index 000000000..0841b2a1b
--- /dev/null
+++ b/extensions/FMOD/AndroidSource/Java/MainActivity.java
@@ -0,0 +1,500 @@
+package com.ACOMPANY.APROJECT;
+import java.nio.ByteBuffer;
+public class MainActivity {
+
+ public static native double JNIfmodchannelsetfrequency(double arg0,double arg1);
+ public static native double JNIfmodchannelgetfrequency(double arg0);
+ public static native double JNIfmodchannelsetpriority(double arg0,double arg1);
+ public static native double JNIfmodchannelgetpriority(double arg0);
+ public static native double JNIfmodchannelsetposition(double arg0,double arg1,double arg2);
+ public static native double JNIfmodchannelgetposition(double arg0,double arg1);
+ public static native double JNIfmodchannelsetchannelgroup(double arg0,double arg1);
+ public static native double JNIfmodchannelgetchannelgroup(double arg0);
+ public static native double JNIfmodchannelsetloopcount(double arg0,double arg1);
+ public static native double JNIfmodchannelgetloopcount(double arg0);
+ public static native double JNIfmodchannelsetlooppoints(double arg0,double arg1,double arg2,double arg3,double arg4);
+ public static native double JNIfmodchannelgetlooppointsmultiplatform(double arg0,double arg1,double arg2,ByteBuffer arg3);
+ public static native double JNIfmodchannelisvirtual(double arg0);
+ public static native double JNIfmodchannelgetcurrentsound(double arg0);
+ public static native double JNIfmodchannelgetindex(double arg0);
+ public static native double JNIfmodchannelgetsystemobject(double arg0);
+ public static native double JNIfmodchannelcontrolisplaying(double arg0);
+ public static native double JNIfmodchannelcontrolstop(double arg0);
+ public static native double JNIfmodchannelcontrolsetpaused(double arg0,double arg1);
+ public static native double JNIfmodchannelcontrolgetpaused(double arg0);
+ public static native double JNIfmodchannelcontrolsetmode(double arg0,double arg1);
+ public static native double JNIfmodchannelcontrolgetmode(double arg0);
+ public static native double JNIfmodchannelcontrolsetpitch(double arg0,double arg1);
+ public static native double JNIfmodchannelcontrolgetpitch(double arg0);
+ public static native double JNIfmodchannelcontrolgetaudibility(double arg0);
+ public static native double JNIfmodchannelcontrolsetvolume(double arg0,double arg1);
+ public static native double JNIfmodchannelcontrolgetvolume(double arg0);
+ public static native double JNIfmodchannelcontrolsetvolumeramp(double arg0,double arg1);
+ public static native double JNIfmodchannelcontrolgetvolumeramp(double arg0);
+ public static native double JNIfmodchannelcontrolsetmute(double arg0,double arg1);
+ public static native double JNIfmodchannelcontrolgetmute(double arg0);
+ public static native double JNIfmodchannelcontrolset3dattributesmultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmodchannelcontrolget3dattributesmultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmodchannelcontrolset3dconeorientationmultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmodchannelcontrolget3dconeorientationmultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmodchannelcontrolset3dconesettings(double arg0,double arg1,double arg2,double arg3);
+ public static native double JNIfmodchannelcontrolget3dconesettingsmultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmodchannelcontrolset3dcustomrolloffmultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmodchannelcontrolget3dcustomrolloffmultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmodchannelcontrolset3ddistancefilter(double arg0,double arg1,double arg2,double arg3);
+ public static native double JNIfmodchannelcontrolget3ddistancefiltermultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmodchannelcontrolset3ddopplerlevel(double arg0,double arg1);
+ public static native double JNIfmodchannelcontrolget3ddopplerlevel(double arg0);
+ public static native double JNIfmodchannelcontrolset3dlevel(double arg0,double arg1);
+ public static native double JNIfmodchannelcontrolget3dlevel(double arg0);
+ public static native double JNIfmodchannelcontrolset3dminmaxdistance(double arg0,double arg1,double arg2);
+ public static native double JNIfmodchannelcontrolget3dminmaxdistancemultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmodchannelcontrolset3docclusion(double arg0,double arg1,double arg2);
+ public static native double JNIfmodchannelcontrolget3docclusionmultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmodchannelcontrolset3dspread(double arg0,double arg1);
+ public static native double JNIfmodchannelcontrolget3dspread(double arg0);
+ public static native double JNIfmodchannelcontrolsetpan(double arg0,double arg1);
+ public static native double JNIfmodchannelcontrolsetmixlevelsinputmultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmodchannelcontrolsetmixlevelsoutput(double arg0,double arg1,double arg2,double arg3,double arg4,double arg5,double arg6,double arg7,double arg8);
+ public static native double JNIfmodchannelcontrolsetmixmatrixmultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmodchannelcontrolgetmixmatrixmultiplatform(double arg0,double arg1,ByteBuffer arg2);
+ public static native double JNIfmodchannelcontrolsetreverbproperties(double arg0,double arg1,double arg2);
+ public static native double JNIfmodchannelcontrolgetreverbproperties(double arg0,double arg1);
+ public static native double JNIfmodchannelcontrolsetlowpassgain(double arg0,double arg1);
+ public static native double JNIfmodchannelcontrolgetlowpassgain(double arg0);
+ public static native double JNIfmodchannelcontroladddsp(double arg0,double arg1,double arg2);
+ public static native double JNIfmodchannelcontrolremovedsp(double arg0,double arg1);
+ public static native double JNIfmodchannelcontrolgetnumdsps(double arg0);
+ public static native double JNIfmodchannelcontrolgetdsp(double arg0,double arg1);
+ public static native double JNIfmodchannelcontrolsetdspindex(double arg0,double arg1,double arg2);
+ public static native double JNIfmodchannelcontrolgetdspindex(double arg0,double arg1);
+ public static native double JNIfmodchannelcontrolgetdspclockmultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmodchannelcontrolsetdelaymultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmodchannelcontrolgetdelaymultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmodchannelcontroladdfadepointmultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmodchannelcontrolsetfadepointrampmultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmodchannelcontrolremovefadepointsmultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmodchannelcontrolgetfadepointsmultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmodchannelcontrolsetcallback(double arg0);
+ public static native double JNIfmodchannelcontrolgetsystemobject(double arg0);
+ public static native double JNIfmodchannelcontrolsetuserdata(double arg0,double arg1);
+ public static native double JNIfmodchannelcontrolgetuserdata(double arg0);
+ public static native double JNIfmodchannelgroupgetnumchannels(double arg0);
+ public static native double JNIfmodchannelgroupgetchannel(double arg0,double arg1);
+ public static native double JNIfmodchannelgroupaddgroupmultiplatform(double arg0,double arg1,double arg2);
+ public static native double JNIfmodchannelgroupgetnumgroups(double arg0);
+ public static native double JNIfmodchannelgroupgetgroup(double arg0,double arg1);
+ public static native double JNIfmodchannelgroupgetparentgroup(double arg0);
+ public static native String JNIfmodchannelgroupgetname(double arg0);
+ public static native double JNIfmodchannelgrouprelease(double arg0);
+ public static native double JNIfmodchannelgroupgetsystemobject(double arg0);
+ public static native double JNIfmodfilegetdiskbusy();
+ public static native double JNIfmodfilesetdiskbusy(double arg0);
+ public static native double JNIfmodmemorygetstatsmultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmoddebuginitializemultiplatform(double arg0,double arg1,String arg2);
+ public static native double JNIfmodthreadsetattributes(double arg0,double arg1,double arg2,double arg3);
+ public static native double JNIfmoddspaddinputmultiplatform(double arg0,double arg1,double arg2);
+ public static native double JNIfmoddspgetinputmultiplatform(double arg0,double arg1,ByteBuffer arg2);
+ public static native double JNIfmoddspgetoutputmultiplatform(double arg0,double arg1,ByteBuffer arg2);
+ public static native double JNIfmoddspgetnuminputs(double arg0);
+ public static native double JNIfmoddspgetnumoutputs(double arg0);
+ public static native double JNIfmoddspdisconnectall(double arg0,double arg1,double arg2);
+ public static native double JNIfmoddspdisconnectfrommutliplatform(double arg0,double arg1,double arg2);
+ public static native double JNIfmoddspgetdataparameterindex(double arg0,double arg1);
+ public static native double JNIfmoddspgetnumparameters(double arg0);
+ public static native double JNIfmoddspsetparameterbool(double arg0,double arg1,double arg2);
+ public static native double JNIfmoddspgetparameterbool(double arg0,double arg1);
+ public static native double JNIfmoddspsetparameterdatamultiplatform(double arg0,double arg1,ByteBuffer arg2,double arg3);
+ public static native double JNIfmoddspgetparameterdatamultiplatform(double arg0,double arg1,ByteBuffer arg2,double arg3);
+ public static native double JNIfmoddspsetparameterfloat(double arg0,double arg1,double arg2);
+ public static native double JNIfmoddspgetparameterfloat(double arg0,double arg1);
+ public static native double JNIfmoddspsetparameterint(double arg0,double arg1,double arg2);
+ public static native double JNIfmoddspgetparameterint(double arg0,double arg1);
+ public static native double JNIfmoddspgetparameterinfomultiplatform(double arg0,double arg1,ByteBuffer arg2);
+ public static native double JNIfmoddspsetchannelformat(double arg0,double arg1,double arg2,double arg3);
+ public static native double JNIfmoddspgetchannelformatmultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmoddspgetoutputchannelformatmultiplatform(double arg0,ByteBuffer arg1,ByteBuffer arg2);
+ public static native double JNIfmoddspgetmeteringinfomultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmoddspsetmeteringenabled(double arg0,double arg1,double arg2);
+ public static native double JNIfmoddspgetmeteringenabledmultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmoddspsetactive(double arg0,double arg1);
+ public static native double JNIfmoddspgetactive(double arg0);
+ public static native double JNIfmoddspsetbypass(double arg0,double arg1);
+ public static native double JNIfmoddspgetbypass(double arg0);
+ public static native double JNIfmoddspsetwetdrymix(double arg0,double arg1,double arg2,double arg3);
+ public static native double JNIfmoddspgetwetdrymixmultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmoddspgetidle(double arg0);
+ public static native double JNIfmoddspreset(double arg0);
+ public static native double JNIfmoddsprelease(double arg0);
+ public static native double JNIfmoddspgettype(double arg0);
+ public static native double JNIfmoddspgetinfomultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmoddspgetcpuusagemultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmoddspsetuserdata(double arg0,double arg1);
+ public static native double JNIfmoddspgetuserdata(double arg0);
+ public static native double JNIfmoddspsetcallback(double arg0);
+ public static native double JNIfmoddspgetsystemobject(double arg0);
+ public static native double JNIfmoddspconnectionsetmix(double arg0,double arg1);
+ public static native double JNIfmoddspconnectiongetmix(double arg0);
+ public static native double JNIfmoddspconnectionsetmixmatrixmultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmoddspconnectiongetmixmatrixmultiplatform(double arg0,double arg1,ByteBuffer arg2);
+ public static native double JNIfmoddspconnectiongetinput(double arg0);
+ public static native double JNIfmoddspconnectiongetoutput(double arg0);
+ public static native double JNIfmoddspconnectiongettype(double arg0);
+ public static native double JNIfmoddspconnectionsetuserdata(double arg0,double arg1);
+ public static native double JNIfmoddspconnectiongetuserdata(double arg0);
+ public static native double JNIfmodgeometrysetpolygonattributes(double arg0,double arg1,double arg2,double arg3,double arg4);
+ public static native double JNIfmodgeometrygetpolygonattributesmultiplatform(double arg0,double arg1,ByteBuffer arg2);
+ public static native double JNIfmodgeometrygetpolygonnumvertices(double arg0,double arg1);
+ public static native double JNIfmodgeometrysetpolygonvertexmultiplatform(double arg0,double arg1,double arg2,ByteBuffer arg3);
+ public static native double JNIfmodgeometrygetpolygonvertexmultiplatform(double arg0,double arg1,double arg2,ByteBuffer arg3);
+ public static native double JNIfmodgeometrysetpositionmultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmodgeometrygetpositionmultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmodgeometrysetrotationmultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmodgeometrygetrotationmultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmodgeometrysetscalemultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmodgeometrygetscalemultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmodgeometryaddpolygonmultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmodgeometrysetactive(double arg0,double arg1);
+ public static native double JNIfmodgeometrygetactive(double arg0);
+ public static native double JNIfmodgeometrygetmaxpolygonsmultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmodgeometrygetnumpolygons(double arg0);
+ public static native double JNIfmodgeometrysetuserdata(double arg0,double arg1);
+ public static native double JNIfmodgeometrygetuserdata(double arg0);
+ public static native double JNIfmodgeometryrelease(double arg0);
+ public static native double JNIfmodgeometrysavemultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmodreverb3dset3dattributesmultiplatform(double arg0,ByteBuffer arg1,double arg2,double arg3);
+ public static native double JNIfmodreverb3dget3dattributesmultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmodreverb3dsetproperties(double arg0,double arg1,double arg2,double arg3,double arg4,double arg5,double arg6,double arg7,double arg8,double arg9,double arg10,double arg11,double arg12);
+ public static native double JNIfmodreverb3dgetpropertiesmultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmodreverb3dsetactive(double arg0,double arg1);
+ public static native double JNIfmodreverb3dgetactive(double arg0);
+ public static native double JNIfmodreverb3drelease(double arg0);
+ public static native double JNIfmodreverb3dsetuserdata(double arg0,double arg1);
+ public static native double JNIfmodreverb3dgetuserdata(double arg0);
+ public static native String JNIfmodsoundgetname(double arg0);
+ public static native double JNIfmodsoundgetformatmultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmodsoundgetlength(double arg0,double arg1);
+ public static native double JNIfmodsoundgetnumtagsmultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmodsoundgettagmultiplatform(double arg0,double arg1,ByteBuffer arg2,ByteBuffer arg3);
+ public static native double JNIfmodsoundset3dconesettings(double arg0,double arg1,double arg2,double arg3);
+ public static native double JNIfmodsoundget3dconesettingsmultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmodsoundset3dcustomrolloffmultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmodsoundget3dcustomrolloffmultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmodsoundset3dminmaxdistance(double arg0,double arg1,double arg2);
+ public static native double JNIfmodsoundget3dminmaxdistancemultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmodsoundsetdefaults(double arg0,double arg1,double arg2);
+ public static native double JNIfmodsoundgetdefaultsmultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmodsoundsetmode(double arg0,double arg1);
+ public static native double JNIfmodsoundgetmode(double arg0);
+ public static native double JNIfmodsoundsetloopcount(double arg0,double arg1);
+ public static native double JNIfmodsoundgetloopcount(double arg0);
+ public static native double JNIfmodsoundsetlooppoints(double arg0,double arg1,double arg2,double arg3,double arg4);
+ public static native double JNIfmodsoundgetlooppointsmultiplatform(double arg0,double arg1,double arg2,ByteBuffer arg3);
+ public static native double JNIfmodsoundsetsoundgroup(double arg0,double arg1);
+ public static native double JNIfmodsoundgetsoundgroup(double arg0);
+ public static native double JNIfmodsoundgetnumsubsounds(double arg0);
+ public static native double JNIfmodsoundgetsubsound(double arg0,double arg1);
+ public static native double JNIfmodsoundgetsubsoundparent(double arg0);
+ public static native double JNIfmodsoundgetopenstatemultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmodsoundreaddatamultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmodsoundseekdata(double arg0,double arg1);
+ public static native double JNIfmodsoundlockmultiplatform(double arg0,ByteBuffer arg1,ByteBuffer arg2);
+ public static native double JNIfmodsoundunlockmultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmodsoundgetmusicnumchannels(double arg0);
+ public static native double JNIfmodsoundsetmusicchannelvolume(double arg0,double arg1,double arg2);
+ public static native double JNIfmodsoundgetmusicchannelvolume(double arg0,double arg1);
+ public static native double JNIfmodsoundsetmusicspeed(double arg0,double arg1);
+ public static native double JNIfmodsoundgetmusicspeed(double arg0);
+ public static native double JNIfmodsoundgetsyncpointmultiplatform(double arg0,double arg1,double arg2,ByteBuffer arg3);
+ public static native double JNIfmodsoundgetnumsyncpoints(double arg0);
+ public static native double JNIfmodsoundaddsyncpoint(double arg0,double arg1,double arg2,String arg3);
+ public static native double JNIfmodsounddeletesyncpoint(double arg0,double arg1);
+ public static native double JNIfmodsoundrelease(double arg0);
+ public static native double JNIfmodsoundgetsystemobject(double arg0);
+ public static native double JNIfmodsoundsetuserdata(double arg0,double arg1);
+ public static native double JNIfmodsoundgetuserdata(double arg0);
+ public static native double JNIfmodsoundgroupsetmaxaudible(double arg0,double arg1);
+ public static native double JNIfmodsoundgroupgetmaxaudible(double arg0);
+ public static native double JNIfmodsoundgroupsetmaxaudiblebehavior(double arg0,double arg1);
+ public static native double JNIfmodsoundgroupgetmaxaudiblebehavior(double arg0);
+ public static native double JNIfmodsoundgroupsetmutefadespeed(double arg0,double arg1);
+ public static native double JNIfmodsoundgroupgetmutefadespeed(double arg0);
+ public static native double JNIfmodsoundgroupsetvolume(double arg0,double arg1);
+ public static native double JNIfmodsoundgroupgetvolume(double arg0);
+ public static native double JNIfmodsoundgroupgetnumsounds(double arg0);
+ public static native double JNIfmodsoundgroupgetsound(double arg0,double arg1);
+ public static native double JNIfmodsoundgroupgetnumplaying(double arg0);
+ public static native double JNIfmodsoundgroupstop(double arg0);
+ public static native String JNIfmodsoundgroupgetname(double arg0);
+ public static native double JNIfmodsoundgrouprelease(double arg0);
+ public static native double JNIfmodsoundgroupgetsystemobject(double arg0);
+ public static native double JNIfmodsoundgroupsetuserdata(double arg0,double arg1);
+ public static native double JNIfmodsoundgroupgetuserdata(double arg0);
+ public static native double JNIfmodstudiobankgetloadingstate(double arg0);
+ public static native double JNIfmodstudiobankloadsampledata(double arg0);
+ public static native double JNIfmodstudiobankunloadsampledata(double arg0);
+ public static native double JNIfmodstudiobankgetsampleloadingstate(double arg0);
+ public static native double JNIfmodstudiobankunload(double arg0);
+ public static native double JNIfmodstudiobankgetbuscount(double arg0);
+ public static native double JNIfmodstudiobankgetbuslistmultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmodstudiobankgeteventcount(double arg0);
+ public static native double JNIfmodstudiobankgeteventdescriptionlistmultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmodstudiobankgetstringcount(double arg0);
+ public static native double JNIfmodstudiobankgetstringinfomultiplatform(double arg0,double arg1,ByteBuffer arg2);
+ public static native double JNIfmodstudiobankgetvcacount(double arg0);
+ public static native double JNIfmodstudiobankgetvcalistmultiplatform(double arg0,ByteBuffer arg1);
+ public static native String JNIfmodstudiobankgetid(double arg0);
+ public static native String JNIfmodstudiobankgetpath(double arg0);
+ public static native double JNIfmodstudiobankisvalid(double arg0);
+ public static native double JNIfmodstudiobanksetuserdata(double arg0,double arg1);
+ public static native double JNIfmodstudiobankgetuserdata(double arg0);
+ public static native double JNIfmodstudiobussetpaused(double arg0,double arg1);
+ public static native double JNIfmodstudiobusgetpaused(double arg0);
+ public static native double JNIfmodstudiobusstopallevents(double arg0,double arg1);
+ public static native double JNIfmodstudiobussetvolume(double arg0,double arg1);
+ public static native double JNIfmodstudiobusgetvolume(double arg0);
+ public static native double JNIfmodstudiobussetmute(double arg0,double arg1);
+ public static native double JNIfmodstudiobusgetmute(double arg0);
+ public static native double JNIfmodstudiobussetportindexmultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmodstudiobusgetportindexmultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmodstudiobusgetchannelgroup(double arg0);
+ public static native double JNIfmodstudiobuslockchannelgroup(double arg0);
+ public static native double JNIfmodstudiobusunlockchannelgroup(double arg0);
+ public static native double JNIfmodstudiobusgetcpuusagemultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmodstudiobusgetmemoryusagemultiplatform(double arg0,ByteBuffer arg1);
+ public static native String JNIfmodstudiobusgetid(double arg0);
+ public static native String JNIfmodstudiobusgetpath(double arg0);
+ public static native double JNIfmodstudiobusisvalid(double arg0);
+ public static native double JNIfmodstudiocommandreplaysetbankpath(double arg0,String arg1);
+ public static native double JNIfmodstudiocommandreplaysetcreateinstancecallback(double arg0);
+ public static native double JNIfmodstudiocommandreplaysetframecallback(double arg0);
+ public static native double JNIfmodstudiocommandreplaysetloadbankcallback(double arg0,String arg1);
+ public static native double JNIfmodstudiocommandreplaystart(double arg0);
+ public static native double JNIfmodstudiocommandreplaystop(double arg0);
+ public static native double JNIfmodstudiocommandreplaygetcurrentcommandmultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmodstudiocommandreplaygetplaybackstate(double arg0);
+ public static native double JNIfmodstudiocommandreplaysetpaused(double arg0,double arg1);
+ public static native double JNIfmodstudiocommandreplaygetpaused(double arg0);
+ public static native double JNIfmodstudiocommandreplayseektocommand(double arg0,double arg1);
+ public static native double JNIfmodstudiocommandreplayseektotime(double arg0,double arg1);
+ public static native double JNIfmodstudiocommandreplaygetcommandattime(double arg0,double arg1);
+ public static native double JNIfmodstudiocommandreplaygetcommandcount(double arg0);
+ public static native double JNIfmodstudiocommandreplaygetcommandinfomultiplatform(double arg0,double arg1,ByteBuffer arg2);
+ public static native String JNIfmodstudiocommandreplaygetcommandstring(double arg0,double arg1);
+ public static native double JNIfmodstudiocommandreplaygetlength(double arg0);
+ public static native double JNIfmodstudiocommandreplaygetsystemobject(double arg0);
+ public static native double JNIfmodstudiocommandreplayisvalid(double arg0);
+ public static native double JNIfmodstudiocommandreplaysetuserdata(double arg0,double arg1);
+ public static native double JNIfmodstudiocommandreplaygetuserdata(double arg0);
+ public static native double JNIfmodstudiocommandreplayrelease(double arg0);
+ public static native double JNIfmodstudioeventdescriptioncreateinstance(double arg0);
+ public static native double JNIfmodstudioeventdescriptiongetinstancecount(double arg0);
+ public static native double JNIfmodstudioeventdescriptiongetinstancelistmultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmodstudioeventdescriptionreleaseallinstances(double arg0);
+ public static native double JNIfmodstudioeventdescriptionloadsampledata(double arg0);
+ public static native double JNIfmodstudioeventdescriptionunloadsampledata(double arg0);
+ public static native double JNIfmodstudioeventdescriptiongetsampleloadingstate(double arg0);
+ public static native double JNIfmodstudioeventdescriptionis3d(double arg0);
+ public static native double JNIfmodstudioeventdescriptionisdopplerenabled(double arg0);
+ public static native double JNIfmodstudioeventdescriptionisoneshot(double arg0);
+ public static native double JNIfmodstudioeventdescriptionissnapshot(double arg0);
+ public static native double JNIfmodstudioeventdescriptionisstream(double arg0);
+ public static native double JNIfmodstudioeventdescriptionhassustainpoint(double arg0);
+ public static native double JNIfmodstudioeventdescriptiongetminmaxdistancemultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmodstudioeventdescriptiongetsoundsize(double arg0);
+ public static native double JNIfmodstudioeventdescriptiongetparameterdescriptionbynamemultiplatform(double arg0,String arg1,ByteBuffer arg2);
+ public static native double JNIfmodstudioeventdescriptiongetparameterdescriptionbyidmultiplatform(double arg0,ByteBuffer arg1,ByteBuffer arg2);
+ public static native double JNIfmodstudioeventdescriptiongetparameterdescriptionbyindexmultiplatform(double arg0,double arg1,ByteBuffer arg2);
+ public static native double JNIfmodstudioeventdescriptiongetparameterdescriptioncount(double arg0);
+ public static native String JNIfmodstudioeventdescriptiongetparameterlabelbyname(double arg0,String arg1,double arg2);
+ public static native String JNIfmodstudioeventdescriptiongetparameterlabelbyidmultiplatform(double arg0,ByteBuffer arg1,double arg2);
+ public static native String JNIfmodstudioeventdescriptiongetparameterlabelbyindex(double arg0,double arg1,double arg2);
+ public static native double JNIfmodstudioeventdescriptiongetuserpropertymultiplatform(double arg0,String arg1,ByteBuffer arg2);
+ public static native double JNIfmodstudioeventdescriptiongetuserpropertybyindexmultiplatform(double arg0,double arg1,ByteBuffer arg2);
+ public static native double JNIfmodstudioeventdescriptiongetuserpropertycount(double arg0);
+ public static native String JNIfmodstudioeventdescriptiongetid(double arg0);
+ public static native double JNIfmodstudioeventdescriptiongetlength(double arg0);
+ public static native String JNIfmodstudioeventdescriptiongetpath(double arg0);
+ public static native double JNIfmodstudioeventdescriptionsetcallback(double arg0,double arg1);
+ public static native double JNIfmodstudioeventdescriptionsetuserdata(double arg0,double arg1);
+ public static native double JNIfmodstudioeventdescriptiongetuserdata(double arg0);
+ public static native double JNIfmodstudioeventdescriptionisvalid(double arg0);
+ public static native double JNIfmodstudioeventinstancestart(double arg0);
+ public static native double JNIfmodstudioeventinstancestop(double arg0,double arg1);
+ public static native double JNIfmodstudioeventinstancegetplaybackstate(double arg0);
+ public static native double JNIfmodstudioeventinstancesetpaused(double arg0,double arg1);
+ public static native double JNIfmodstudioeventinstancegetpaused(double arg0);
+ public static native double JNIfmodstudioeventinstancekeyoff(double arg0);
+ public static native double JNIfmodstudioeventinstancesetpitch(double arg0,double arg1);
+ public static native double JNIfmodstudioeventinstancegetpitch(double arg0);
+ public static native double JNIfmodstudioeventinstancesetproperty(double arg0,double arg1,double arg2);
+ public static native double JNIfmodstudioeventinstancegetproperty(double arg0,double arg1);
+ public static native double JNIfmodstudioeventinstancesettimelineposition(double arg0,double arg1);
+ public static native double JNIfmodstudioeventinstancegettimelineposition(double arg0);
+ public static native double JNIfmodstudioeventinstancesetvolume(double arg0,double arg1);
+ public static native double JNIfmodstudioeventinstancegetvolumemultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmodstudioeventinstanceisvirtual(double arg0);
+ public static native double JNIfmodstudioeventinstanceset3dattributesmultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmodstudioeventinstanceget3dattributesmultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmodstudioeventinstancesetlistenermask(double arg0,double arg1);
+ public static native double JNIfmodstudioeventinstancegetlistenermask(double arg0);
+ public static native double JNIfmodstudioeventinstancegetminmaxdistancemultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmodstudioeventinstancesetparameterbynamemultiplatform(double arg0,String arg1,double arg2,double arg3);
+ public static native double JNIfmodstudioeventinstancesetparameterbynamewithlabel(double arg0,String arg1,String arg2,double arg3);
+ public static native double JNIfmodstudioeventinstancegetparameterbynamemultiplatform(double arg0,String arg1,ByteBuffer arg2);
+ public static native double JNIfmodstudioeventinstancesetparameterbyidmultiplatform(double arg0,ByteBuffer arg1,double arg2,double arg3);
+ public static native double JNIfmodstudioeventinstancesetparameterbyidwithlabelmultiplatform(double arg0,ByteBuffer arg1,String arg2,double arg3);
+ public static native double JNIfmodstudioeventinstancegetparameterbyidmultiplatform(double arg0,ByteBuffer arg1,ByteBuffer arg2);
+ public static native double JNIfmodstudioeventinstancegetchannelgroup(double arg0);
+ public static native double JNIfmodstudioeventinstancesetreverblevel(double arg0,double arg1,double arg2);
+ public static native double JNIfmodstudioeventinstancegetreverblevel(double arg0,double arg1);
+ public static native double JNIfmodstudioeventinstancegetcpuusagemultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmodstudioeventinstancegetmemoryusagemultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmodstudioeventinstancesetcallback(double arg0,double arg1);
+ public static native double JNIfmodstudioeventinstancesetuserdata(double arg0,double arg1);
+ public static native double JNIfmodstudioeventinstancegetuserdata(double arg0);
+ public static native double JNIfmodstudioeventinstancegetdescription(double arg0);
+ public static native double JNIfmodstudioeventinstancerelease(double arg0);
+ public static native double JNIfmodstudioeventinstanceisvalid(double arg0);
+ public static native double JNIfmodstudiosystemcreate();
+ public static native double JNIfmodstudiosysteminit(double arg0,double arg1,double arg2);
+ public static native double JNIfmodstudiosystemrelease();
+ public static native double JNIfmodstudiosystemupdatemultiplatform();
+ public static native double JNIfmodstudiosystemflushcommands();
+ public static native double JNIfmodstudiosystemflushsampleloading();
+ public static native double JNIfmodstudiosystemloadbankcustom(double arg0);
+ public static native double JNIfmodstudiosystemloadbankfile(String arg0,double arg1);
+ public static native double JNIfmodstudiosystemloadbankmemorymultiplatform(ByteBuffer arg0,double arg1,double arg2,double arg3);
+ public static native double JNIfmodstudiosystemunloadall();
+ public static native double JNIfmodstudiosystemgetbank(String arg0);
+ public static native double JNIfmodstudiosystemgetbankbyid(String arg0);
+ public static native double JNIfmodstudiosystemgetbankcount();
+ public static native double JNIfmodstudiosystemgetbanklistmultiplatform(ByteBuffer arg0);
+ public static native double JNIfmodstudiosystemsetlistenerattributesmultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmodstudiosystemgetlistenerattributesmultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmodstudiosystemsetlistenerweight(double arg0,double arg1);
+ public static native double JNIfmodstudiosystemgetlistenerweight(double arg0);
+ public static native double JNIfmodstudiosystemsetnumlisteners(double arg0);
+ public static native double JNIfmodstudiosystemgetnumlisteners();
+ public static native double JNIfmodstudiosystemgetbus(String arg0);
+ public static native double JNIfmodstudiosystemgetbusbyid(String arg0);
+ public static native double JNIfmodstudiosystemgetevent(String arg0);
+ public static native double JNIfmodstudiosystemgeteventbyid(String arg0);
+ public static native double JNIfmodstudiosystemgetparameterbyidmultiplatform(ByteBuffer arg0,ByteBuffer arg1);
+ public static native double JNIfmodstudiosystemsetparameterbyidmultiplatform(ByteBuffer arg0,double arg1,double arg2);
+ public static native double JNIfmodstudiosystemsetparameterbyidwithlabelmultiplatform(ByteBuffer arg0,String arg1,double arg2);
+ public static native double JNIfmodstudiosystemgetparameterbynamemultiplatform(String arg0,ByteBuffer arg1);
+ public static native double JNIfmodstudiosystemsetparameterbynamemultiplatform(String arg0,double arg1,double arg2);
+ public static native double JNIfmodstudiosystemsetparameterbynamewithlabelmultiplatform(String arg0,String arg1,double arg2);
+ public static native double JNIfmodstudiosystemgetparameterdescriptionbynamemultiplatform(String arg0,ByteBuffer arg1);
+ public static native double JNIfmodstudiosystemgetparameterdescriptionbyidmultiplatform(ByteBuffer arg0,ByteBuffer arg1);
+ public static native double JNIfmodstudiosystemgetparameterdescriptioncount();
+ public static native double JNIfmodstudiosystemgetparameterdescriptionlistmultiplatform(ByteBuffer arg0);
+ public static native String JNIfmodstudiosystemgetparameterlabelbyname(String arg0,double arg1);
+ public static native String JNIfmodstudiosystemgetparameterlabelbyidmultiplatform(ByteBuffer arg0,double arg1);
+ public static native double JNIfmodstudiosystemgetvca(String arg0);
+ public static native double JNIfmodstudiosystemgetvcabyid(String arg0);
+ public static native double JNIfmodstudiosystemsetadvancedsettingsmultiplatform(ByteBuffer arg0);
+ public static native double JNIfmodstudiosystemgetadvancedsettingsmultiplatform(ByteBuffer arg0);
+ public static native double JNIfmodstudiosystemstartcommandcapture(String arg0,double arg1);
+ public static native double JNIfmodstudiosystemstopcommandcapture();
+ public static native double JNIfmodstudiosystemloadcommandreplay(String arg0,double arg1);
+ public static native double JNIfmodstudiosystemgetbufferusagemultiplatform(ByteBuffer arg0);
+ public static native double JNIfmodstudiosystemresetbufferusage();
+ public static native double JNIfmodstudiosystemgetcpuusagemultiplatform(ByteBuffer arg0);
+ public static native double JNIfmodstudiosystemgetmemoryusagemultiplatform(ByteBuffer arg0);
+ public static native double JNIfmodstudiosystemsetcallback(double arg0);
+ public static native double JNIfmodstudiosystemsetuserdata(double arg0);
+ public static native double JNIfmodstudiosystemgetuserdata();
+ public static native double JNIfmodstudiosystemgetsoundinfomultiplatform(String arg0,ByteBuffer arg1);
+ public static native double JNIfmodstudiosystemgetcoresystem();
+ public static native String JNIfmodstudiosystemlookupid(String arg0);
+ public static native String JNIfmodstudiosystemlookuppath(String arg0);
+ public static native double JNIfmodstudiosystemisvalid();
+ public static native double JNIfmodstudiovcasetvolume(double arg0,double arg1);
+ public static native double JNIfmodstudiovcagetvolume(double arg0);
+ public static native String JNIfmodstudiovcagetid(double arg0);
+ public static native String JNIfmodstudiovcagetpath(double arg0);
+ public static native double JNIfmodstudiovcaisvalid(double arg0);
+ public static native double JNIfmodsystemcreate();
+ public static native double JNIfmodsystemselect(double arg0);
+ public static native double JNIfmodsystemcount();
+ public static native double JNIfmodsysteminit(double arg0,double arg1);
+ public static native double JNIfmodsystemrelease(double arg0);
+ public static native double JNIfmodsystemclose(double arg0);
+ public static native double JNIfmodsystemupdatemultiplatform();
+ public static native double JNIfmodsystemmixersuspend();
+ public static native double JNIfmodsystemmixerresume();
+ public static native double JNIfmodsystemsetoutput(double arg0);
+ public static native double JNIfmodsystemgetoutput();
+ public static native double JNIfmodsystemgetnumdrivers();
+ public static native double JNIfmodsystemgetdriverinfomultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmodsystemsetdriver(double arg0);
+ public static native double JNIfmodsystemgetdriver();
+ public static native double JNIfmodsystemsetsoftwarechannels(double arg0);
+ public static native double JNIfmodsystemgetsoftwarechannels();
+ public static native double JNIfmodsystemsetsoftwareformat(double arg0,double arg1,double arg2);
+ public static native double JNIfmodsystemgetsoftwareformatmultiplatform(ByteBuffer arg0);
+ public static native double JNIfmodsystemsetdspbuffersize(double arg0,double arg1);
+ public static native double JNIfmodsystemgetdspbuffersizemultiplatform(ByteBuffer arg0);
+ public static native double JNIfmodsystemsetstreambuffersize(double arg0,double arg1);
+ public static native double JNIfmodsystemgetstreambuffersizemultiplatform(ByteBuffer arg0);
+ public static native double JNIfmodsystemsetadvancedsettingsmultiplatform(ByteBuffer arg0);
+ public static native double JNIfmodsystemgetadvancedsettingsmultiplatform(ByteBuffer arg0);
+ public static native double JNIfmodsystemsetspeakerposition(double arg0,double arg1,double arg2,double arg3);
+ public static native double JNIfmodsystemgetspeakerpositionmultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmodsystemset3dsettings(double arg0,double arg1,double arg2);
+ public static native double JNIfmodsystemget3dsettingsmultiplatform(ByteBuffer arg0);
+ public static native double JNIfmodsystemset3dnumlisteners(double arg0);
+ public static native double JNIfmodsystemget3dnumlisteners();
+ public static native double JNIfmodsystemset3drolloffcallback();
+ public static native double JNIfmodsystemsetnetworkproxy(String arg0);
+ public static native String JNIfmodsystemgetnetworkproxy();
+ public static native double JNIfmodsystemsetnetworktimeout(double arg0);
+ public static native double JNIfmodsystemgetnetworktimeout();
+ public static native double JNIfmodsystemgetversion();
+ public static native double JNIfmodsystemgetchannelsplayingmultiplatform(ByteBuffer arg0);
+ public static native double JNIfmodsystemgetcpuusagemultiplatform(ByteBuffer arg0);
+ public static native double JNIfmodsystemgetfileusagemultiplatform(ByteBuffer arg0);
+ public static native double JNIfmodsystemgetdefaultmixmatrixmultiplatform(double arg0,double arg1,double arg2,ByteBuffer arg3);
+ public static native double JNIfmodsystemgetspeakermodechannels(double arg0);
+ public static native double JNIfmodsystemcreatesoundmultiplatform(String arg0,double arg1,ByteBuffer arg2);
+ public static native double JNIfmodsystemcreatestreammultiplatform(String arg0,double arg1,ByteBuffer arg2);
+ public static native double JNIfmodsystemcreatedsp();
+ public static native double JNIfmodsystemcreatedspbytype(double arg0);
+ public static native double JNIfmodsystemcreatechannelgroup(String arg0);
+ public static native double JNIfmodsystemcreatesoundgroup(String arg0);
+ public static native double JNIfmodsystemcreatereverb3d();
+ public static native double JNIfmodsystemplaysoundmultiplatform(double arg0,double arg1,double arg2);
+ public static native double JNIfmodsystemplaydspmultiplatform(double arg0,double arg1,double arg2);
+ public static native double JNIfmodsystemgetchannel(double arg0);
+ public static native double JNIfmodsystemgetmasterchannelgroup();
+ public static native double JNIfmodsystemgetmastersoundgroup();
+ public static native double JNIfmodsystemset3dlistenerattributesmultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmodsystemget3dlistenerattributesmultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmodsystemsetreverbpropertiesmultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmodsystemgetreverbpropertiesmultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmodsystemattachchannelgrouptoportmultiplatform(ByteBuffer arg0);
+ public static native double JNIfmodsystemdetachchannelgroupfromport(double arg0);
+ public static native double JNIfmodsystemgetrecordnumdriversmultiplatform(ByteBuffer arg0);
+ public static native double JNIfmodsystemgetrecorddriverinfomultiplatform(double arg0,ByteBuffer arg1);
+ public static native double JNIfmodsystemgetrecordposition(double arg0);
+ public static native double JNIfmodsystemrecordstart(double arg0,double arg1,double arg2);
+ public static native double JNIfmodsystemrecordstop(double arg0);
+ public static native double JNIfmodsystemisrecording(double arg0);
+ public static native double JNIfmodsystemcreategeometry(double arg0,double arg1);
+ public static native double JNIfmodsystemsetgeometrysettings(double arg0);
+ public static native double JNIfmodsystemgetgeometrysettings();
+ public static native double JNIfmodsystemloadgeometrymultiplatform(ByteBuffer arg0,double arg1);
+ public static native double JNIfmodsystemgetgeometryocclusionmultiplatform(ByteBuffer arg0);
+ public static native double JNIfmodsystemlockdsp();
+ public static native double JNIfmodsystemunlockdsp();
+ public static native double JNIfmodsystemsetcallback(double arg0);
+ public static native double JNIfmodsystemsetuserdata(double arg0,double arg1);
+ public static native double JNIfmodsystemgetuserdata(double arg0);
+ public static native double JNIfmodfetchcallbacks(ByteBuffer arg0,double arg1);
+ public static native double JNIfmodlastresult();
+
+
+ static { System.loadLibrary("YYFMOD"); }
+}
\ No newline at end of file
diff --git a/extensions/FMOD/AndroidSource/libs/arm64-v8a/libYYFMOD.so b/extensions/FMOD/AndroidSource/libs/arm64-v8a/libYYFMOD.so
new file mode 100644
index 000000000..03e63d769
Binary files /dev/null and b/extensions/FMOD/AndroidSource/libs/arm64-v8a/libYYFMOD.so differ
diff --git a/extensions/FMOD/AndroidSource/libs/armeabi-v7a/libYYFMOD.so b/extensions/FMOD/AndroidSource/libs/armeabi-v7a/libYYFMOD.so
new file mode 100644
index 000000000..71b3548e8
Binary files /dev/null and b/extensions/FMOD/AndroidSource/libs/armeabi-v7a/libYYFMOD.so differ
diff --git a/extensions/FMOD/AndroidSource/libs/x86_64/libYYFMOD.so b/extensions/FMOD/AndroidSource/libs/x86_64/libYYFMOD.so
new file mode 100644
index 000000000..44766a6a9
Binary files /dev/null and b/extensions/FMOD/AndroidSource/libs/x86_64/libYYFMOD.so differ
diff --git a/extensions/FMOD/FMOD.yy b/extensions/FMOD/FMOD.yy
new file mode 100644
index 000000000..e6f7500bd
--- /dev/null
+++ b/extensions/FMOD/FMOD.yy
@@ -0,0 +1,627 @@
+{
+ "$GMExtension":"",
+ "%Name":"FMOD",
+ "androidactivityinject":"",
+ "androidclassname":"Fmod_Android",
+ "androidcodeinjection":"",
+ "androidinject":"",
+ "androidmanifestinject":"",
+ "androidPermissions":[
+ "android.permission.RECORD_AUDIO",
+ ],
+ "androidProps":true,
+ "androidsourcedir":"",
+ "author":"",
+ "classname":"Fmod_iOS",
+ "copyToTargets":3035426153142681806,
+ "description":"",
+ "exportToGame":true,
+ "extensionVersion":"1.1.0",
+ "files":[
+ {"$GMExtensionFile":"v1","%Name":"YYFMOD.ext","constants":[],"copyToTargets":2458965418019127502,"filename":"YYFMOD.ext","final":"","functions":[
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_set_frequency","argCount":0,"args":[2,2,],"documentation":"/// @desc\n\r/// @param {real} channel_ref \n\r/// @param {real} frequency \n\r/// @returns {real}\n\r","externalName":"fmod_channel_set_frequency","help":"fmod_channel_set_frequency(channel_ref, frequency)","hidden":false,"kind":1,"name":"fmod_channel_set_frequency","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_get_frequency","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} channel_ref \n\r/// @returns {real}\n\r","externalName":"fmod_channel_get_frequency","help":"fmod_channel_get_frequency(channel_ref)","hidden":false,"kind":1,"name":"fmod_channel_get_frequency","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_set_priority","argCount":0,"args":[2,2,],"documentation":"/// @desc\n\r/// @param {real} channel_ref \n\r/// @param {real} priority \n\r/// @returns {real}\n\r","externalName":"fmod_channel_set_priority","help":"fmod_channel_set_priority(channel_ref, priority)","hidden":false,"kind":1,"name":"fmod_channel_set_priority","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_get_priority","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} channel_ref \n\r/// @returns {real}\n\r","externalName":"fmod_channel_get_priority","help":"fmod_channel_get_priority(channel_ref)","hidden":false,"kind":1,"name":"fmod_channel_get_priority","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_set_position","argCount":0,"args":[2,2,2,],"documentation":"/// @desc\r\n/// @param {real} channel_ref \r\n/// @param {real} position \r\n/// @param {enum.FMOD_TIMEUNIT} time_unit \r\n/// @returns {real}\r\n","externalName":"fmod_channel_set_position","help":"fmod_channel_set_position(channel_ref, position, time_unit)","hidden":false,"kind":1,"name":"fmod_channel_set_position","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_get_position","argCount":0,"args":[2,2,],"documentation":"/// @desc\r\n/// @param {real} channel_ref \r\n/// @param {enum.FMOD_TIMEUNIT} time_unit \r\n/// @returns {real}\r\n","externalName":"fmod_channel_get_position","help":"fmod_channel_get_position(channel_ref, time_unit)","hidden":false,"kind":1,"name":"fmod_channel_get_position","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_set_channel_group","argCount":0,"args":[2,2,],"documentation":"/// @desc\n\r/// @param {real} channel_ref \n\r/// @param {real} channel_group_ref \n\r/// @returns {real}\n\r","externalName":"fmod_channel_set_channel_group","help":"fmod_channel_set_channel_group(channel_ref, channel_group_ref)","hidden":false,"kind":1,"name":"fmod_channel_set_channel_group","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_get_channel_group","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} channel_ref \n\r/// @returns {real}\n\r","externalName":"fmod_channel_get_channel_group","help":"fmod_channel_get_channel_group(channel_ref)","hidden":false,"kind":1,"name":"fmod_channel_get_channel_group","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_set_loop_count","argCount":0,"args":[2,2,],"documentation":"/// @desc\n\r/// @param {real} channel_ref \n\r/// @param {real} loop_count \n\r/// @returns {real}\n\r","externalName":"fmod_channel_set_loop_count","help":"fmod_channel_set_loop_count(channel_ref, loop_count)","hidden":false,"kind":1,"name":"fmod_channel_set_loop_count","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_get_loop_count","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} channel_ref \n\r/// @returns {real}\n\r","externalName":"fmod_channel_get_loop_count","help":"fmod_channel_get_loop_count(channel_ref)","hidden":false,"kind":1,"name":"fmod_channel_get_loop_count","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_set_loop_points","argCount":0,"args":[2,2,2,2,2,],"documentation":"/// @desc\r\n/// @param {real} channel_ref \r\n/// @param {real} loop_start \r\n/// @param {enum.FMOD_TIMEUNIT} loop_start_type \r\n/// @param {real} loop_end \r\n/// @param {enum.FMOD_TIMEUNIT} loop_end_type \r\n/// @returns {real}\r\n","externalName":"fmod_channel_set_loop_points","help":"fmod_channel_set_loop_points(channel_ref, loop_start, loop_start_type, loop_end, loop_end_type)","hidden":false,"kind":1,"name":"fmod_channel_set_loop_points","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_get_loop_points_multiplatform","argCount":0,"args":[2,2,2,1,],"documentation":"/// @desc\r\n/// @param {real} channel_ref \r\n/// @param {real} loop_start_type \r\n/// @param {real} loop_end_type \r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_channel_get_loop_points_multiplatform","help":"fmod_channel_get_loop_points_multiplatform(channel_ref, loop_start_type, loop_end_type, buff_return)","hidden":true,"kind":1,"name":"fmod_channel_get_loop_points_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_is_virtual","argCount":0,"args":[2,],"documentation":"/// @desc\r\n/// @param {real} channel_ref \r\n/// @returns {bool}\r\n","externalName":"fmod_channel_is_virtual","help":"fmod_channel_is_virtual(channel_ref)","hidden":false,"kind":1,"name":"fmod_channel_is_virtual","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_get_current_sound","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} channel_ref \n\r/// @returns {real}\n\r","externalName":"fmod_channel_get_current_sound","help":"fmod_channel_get_current_sound(channel_ref)","hidden":false,"kind":1,"name":"fmod_channel_get_current_sound","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_get_index","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} channel_ref \n\r/// @returns {real}\n\r","externalName":"fmod_channel_get_index","help":"fmod_channel_get_index(channel_ref)","hidden":false,"kind":1,"name":"fmod_channel_get_index","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_get_system_object","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} channel_ref \n\r/// @returns {real}\n\r","externalName":"fmod_channel_get_system_object","help":"fmod_channel_get_system_object(channel_ref)","hidden":false,"kind":1,"name":"fmod_channel_get_system_object","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_control_is_playing","argCount":0,"args":[2,],"documentation":"/// @desc\r\n/// @param {real} channel_control_ref \r\n/// @returns {bool}\r\n","externalName":"fmod_channel_control_is_playing","help":"fmod_channel_control_is_playing(channel_control_ref)","hidden":false,"kind":1,"name":"fmod_channel_control_is_playing","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_control_stop","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} channel_control_ref \n\r/// @returns {real}\n\r","externalName":"fmod_channel_control_stop","help":"fmod_channel_control_stop(channel_control_ref)","hidden":false,"kind":1,"name":"fmod_channel_control_stop","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_control_set_paused","argCount":0,"args":[2,2,],"documentation":"/// @desc\r\n/// @param {real} channel_control_ref \r\n/// @param {bool} paused \r\n/// @returns {real}\r\n","externalName":"fmod_channel_control_set_paused","help":"fmod_channel_control_set_paused(channel_control_ref, paused)","hidden":false,"kind":1,"name":"fmod_channel_control_set_paused","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_control_get_paused","argCount":0,"args":[2,],"documentation":"/// @desc\r\n/// @param {real} channel_control_ref \r\n/// @returns {bool}\r\n","externalName":"fmod_channel_control_get_paused","help":"fmod_channel_control_get_paused(channel_control_ref)","hidden":false,"kind":1,"name":"fmod_channel_control_get_paused","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_control_set_mode","argCount":0,"args":[2,2,],"documentation":"/// @desc\r\n/// @param {real} channel_control_ref \r\n/// @param {enum.FMOD_MODE} mode \r\n/// @returns {real}\r\n","externalName":"fmod_channel_control_set_mode","help":"fmod_channel_control_set_mode(channel_control_ref, mode)","hidden":false,"kind":1,"name":"fmod_channel_control_set_mode","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_control_get_mode","argCount":0,"args":[2,],"documentation":"/// @desc\r\n/// @param {real} channel_control_ref \r\n/// @returns {enum.FMOD_MODE}\r\n","externalName":"fmod_channel_control_get_mode","help":"fmod_channel_control_get_mode(channel_control_ref)","hidden":false,"kind":1,"name":"fmod_channel_control_get_mode","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_control_set_pitch","argCount":0,"args":[2,2,],"documentation":"/// @desc\r\n/// @param {real} channel_control_ref \r\n/// @param {real} pitch\r\n/// @returns {real}\r\n","externalName":"fmod_channel_control_set_pitch","help":"fmod_channel_control_set_pitch(channel_control_ref, pitch_)","hidden":false,"kind":1,"name":"fmod_channel_control_set_pitch","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_control_get_pitch","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} channel_control_ref \n\r/// @returns {real}\n\r","externalName":"fmod_channel_control_get_pitch","help":"fmod_channel_control_get_pitch(channel_control_ref)","hidden":false,"kind":1,"name":"fmod_channel_control_get_pitch","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_control_get_audibility","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} channel_control_ref \n\r/// @returns {real}\n\r","externalName":"fmod_channel_control_get_audibility","help":"fmod_channel_control_get_audibility(channel_control_ref)","hidden":false,"kind":1,"name":"fmod_channel_control_get_audibility","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_control_set_volume","argCount":0,"args":[2,2,],"documentation":"/// @desc\n\r/// @param {real} channel_control_ref \n\r/// @param {real} volume \n\r/// @returns {real}\n\r","externalName":"fmod_channel_control_set_volume","help":"fmod_channel_control_set_volume(channel_control_ref, volume)","hidden":false,"kind":1,"name":"fmod_channel_control_set_volume","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_control_get_volume","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} channel_control_ref \n\r/// @returns {real}\n\r","externalName":"fmod_channel_control_get_volume","help":"fmod_channel_control_get_volume(channel_control_ref)","hidden":false,"kind":1,"name":"fmod_channel_control_get_volume","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_control_set_volume_ramp","argCount":0,"args":[2,2,],"documentation":"/// @desc\r\n/// @param {real} channel_control_ref \r\n/// @param {bool} ramp \r\n/// @returns {real}\r\n","externalName":"fmod_channel_control_set_volume_ramp","help":"fmod_channel_control_set_volume_ramp(channel_control_ref, ramp)","hidden":false,"kind":1,"name":"fmod_channel_control_set_volume_ramp","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_control_get_volume_ramp","argCount":0,"args":[2,],"documentation":"/// @desc\r\n/// @param {real} channel_control_ref \r\n/// @returns {bool}\r\n","externalName":"fmod_channel_control_get_volume_ramp","help":"fmod_channel_control_get_volume_ramp(channel_control_ref, ramp)","hidden":false,"kind":1,"name":"fmod_channel_control_get_volume_ramp","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_control_set_mute","argCount":0,"args":[2,2,],"documentation":"/// @desc\r\n/// @param {real} channel_control_ref \r\n/// @param {bool} mute \r\n/// @returns {real}\r\n","externalName":"fmod_channel_control_set_mute","help":"fmod_channel_control_set_mute(channel_control_ref, mute)","hidden":false,"kind":1,"name":"fmod_channel_control_set_mute","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_control_get_mute","argCount":0,"args":[2,],"documentation":"/// @desc\r\n/// @param {real} channel_control_ref \r\n/// @returns {bool}\r\n","externalName":"fmod_channel_control_get_mute","help":"fmod_channel_control_get_mute(channel_control_ref)","hidden":false,"kind":1,"name":"fmod_channel_control_get_mute","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_control_set_3d_attributes_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\r\n/// @param {real} channel_control_ref \r\n/// @param {Pointer} buff_args \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_channel_control_set_3d_attributes_multiplatform","help":"fmod_channel_control_set_3d_attributes_multiplatform(channel_control_ref, buff_args)","hidden":true,"kind":1,"name":"fmod_channel_control_set_3d_attributes_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_control_get_3d_attributes_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\r\n/// @param {real} channel_control_ref \r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_channel_control_get_3d_attributes_multiplatform","help":"fmod_channel_control_get_3d_attributes_multiplatform(channel_control_ref, buff_return)","hidden":true,"kind":1,"name":"fmod_channel_control_get_3d_attributes_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_control_set_3d_cone_orientation_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\r\n/// @param {real} channel_control_ref \r\n/// @param {Pointer} buff_args \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_channel_control_set_3d_cone_orientation_multiplatform","help":"fmod_channel_control_set_3d_cone_orientation_multiplatform(channel_control_ref, buff_args)","hidden":true,"kind":1,"name":"fmod_channel_control_set_3d_cone_orientation_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_control_get_3d_cone_orientation_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\r\n/// @param {real} channel_control_ref \r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_channel_control_get_3d_cone_orientation_multiplatform","help":"fmod_channel_control_get_3d_cone_orientation_multiplatform(channel_control_ref, buff_return)","hidden":true,"kind":1,"name":"fmod_channel_control_get_3d_cone_orientation_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_control_set_3d_cone_settings","argCount":0,"args":[2,2,2,2,],"documentation":"/// @desc\n\r/// @param {real} channel_control_ref \n\r/// @param {real} inside_cone_angle \n\r/// @param {real} outside_cone_angle \n\r/// @param {real} outside_volume \n\r/// @returns {real}\n\r","externalName":"fmod_channel_control_set_3d_cone_settings","help":"fmod_channel_control_set_3d_cone_settings(channel_control_ref, inside_cone_angle, outside_cone_angle, outside_volume)","hidden":false,"kind":1,"name":"fmod_channel_control_set_3d_cone_settings","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_control_get_3d_cone_settings_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\r\n/// @param {real} channel_control_ref \r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_channel_control_get_3d_cone_settings_multiplatform","help":"fmod_channel_control_get_3d_cone_settings_multiplatform(channel_control_ref, buff_return)","hidden":true,"kind":1,"name":"fmod_channel_control_get_3d_cone_settings_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_control_set_3d_custom_rolloff_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\r\n/// @param {real} channel_control_ref \r\n/// @param {Pointer} buff_args \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_channel_control_set_3d_custom_rolloff_multiplatform","help":"fmod_channel_control_set_3d_custom_rolloff_multiplatform(channel_control_ref, buff_args)","hidden":true,"kind":1,"name":"fmod_channel_control_set_3d_custom_rolloff_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_control_get_3d_custom_rolloff_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\r\n/// @param {real} channel_control_ref \r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_channel_control_get_3d_custom_rolloff_multiplatform","help":"fmod_channel_control_get_3d_custom_rolloff_multiplatform(channel_control_ref, buff_return)","hidden":true,"kind":1,"name":"fmod_channel_control_get_3d_custom_rolloff_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_control_set_3d_distance_filter","argCount":0,"args":[2,2,2,2,],"documentation":"/// @desc\n\r/// @param {real} channel_control_ref \n\r/// @param {real} custom \n\r/// @param {real} custom_level \n\r/// @param {real} center_freq \n\r/// @returns {real}\n\r","externalName":"fmod_channel_control_set_3d_distance_filter","help":"fmod_channel_control_set_3d_distance_filter(channel_control_ref, custom, custom_level, center_freq)","hidden":false,"kind":1,"name":"fmod_channel_control_set_3d_distance_filter","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_control_get_3d_distance_filter_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\r\n/// @param {real} channel_control_ref \r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_channel_control_get_3d_distance_filter_multiplatform","help":"fmod_channel_control_get_3d_distance_filter_multiplatform(channel_control_ref, buff_return)","hidden":true,"kind":1,"name":"fmod_channel_control_get_3d_distance_filter_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_control_set_3d_doppler_level","argCount":0,"args":[2,2,],"documentation":"/// @desc\n\r/// @param {real} channel_control_ref \n\r/// @param {real} level \n\r/// @returns {real}\n\r","externalName":"fmod_channel_control_set_3d_doppler_level","help":"fmod_channel_control_set_3d_doppler_level(channel_control_ref, level)","hidden":false,"kind":1,"name":"fmod_channel_control_set_3d_doppler_level","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_control_get_3d_doppler_level","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} channel_control_ref \n\r/// @returns {real}\n\r","externalName":"fmod_channel_control_get_3d_doppler_level","help":"fmod_channel_control_get_3d_doppler_level(channel_control_ref)","hidden":false,"kind":1,"name":"fmod_channel_control_get_3d_doppler_level","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_control_set_3d_level","argCount":0,"args":[2,2,],"documentation":"/// @desc\n\r/// @param {real} channel_control_ref \n\r/// @param {real} level \n\r/// @returns {real}\n\r","externalName":"fmod_channel_control_set_3d_level","help":"fmod_channel_control_set_3d_level(channel_control_ref, level)","hidden":false,"kind":1,"name":"fmod_channel_control_set_3d_level","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_control_get_3d_level","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} channel_control_ref \n\r/// @returns {real}\n\r","externalName":"fmod_channel_control_get_3d_level","help":"fmod_channel_control_get_3d_level(channel_control_ref)","hidden":false,"kind":1,"name":"fmod_channel_control_get_3d_level","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_control_set_3d_min_max_distance","argCount":0,"args":[2,2,2,],"documentation":"/// @desc\n\r/// @param {real} channel_control_ref \n\r/// @param {real} min \n\r/// @param {real} max \n\r/// @returns {real}\n\r","externalName":"fmod_channel_control_set_3d_min_max_distance","help":"fmod_channel_control_set_3d_min_max_distance(channel_control_ref, min, max)","hidden":false,"kind":1,"name":"fmod_channel_control_set_3d_min_max_distance","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_control_get_3d_min_max_distance_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\r\n/// @param {real} channel_control_ref \r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_channel_control_get_3d_min_max_distance_multiplatform","help":"fmod_channel_control_get_3d_min_max_distance_multiplatform(channel_control_ref, buff_return)","hidden":true,"kind":1,"name":"fmod_channel_control_get_3d_min_max_distance_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_control_set_3d_occlusion","argCount":0,"args":[2,2,2,],"documentation":"/// @desc\n\r/// @param {real} channel_control_ref \n\r/// @param {real} direct_occlusion \n\r/// @param {real} reverb_occlusion \n\r/// @returns {real}\n\r","externalName":"fmod_channel_control_set_3d_occlusion","help":"fmod_channel_control_set_3d_occlusion(channel_control_ref, direct_occlusion, reverb_occlusion)","hidden":false,"kind":1,"name":"fmod_channel_control_set_3d_occlusion","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_control_get_3d_occlusion_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\r\n/// @param {real} channel_control_ref \r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_channel_control_get_3d_occlusion_multiplatform","help":"fmod_channel_control_get_3d_occlusion_multiplatform(channel_control_ref, buff_return)","hidden":true,"kind":1,"name":"fmod_channel_control_get_3d_occlusion_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_control_set_3d_spread","argCount":0,"args":[2,2,],"documentation":"/// @desc\n\r/// @param {real} channel_control_ref \n\r/// @param {real} angle \n\r/// @returns {real}\n\r","externalName":"fmod_channel_control_set_3d_spread","help":"fmod_channel_control_set_3d_spread(channel_control_ref, angle)","hidden":false,"kind":1,"name":"fmod_channel_control_set_3d_spread","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_control_get_3d_spread","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} channel_control_ref \n\r/// @returns {real}\n\r","externalName":"fmod_channel_control_get_3d_spread","help":"fmod_channel_control_get_3d_spread(channel_control_ref)","hidden":false,"kind":1,"name":"fmod_channel_control_get_3d_spread","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_control_set_pan","argCount":0,"args":[2,2,],"documentation":"/// @desc\n\r/// @param {real} channel_control_ref \n\r/// @param {real} pan \n\r/// @returns {real}\n\r","externalName":"fmod_channel_control_set_pan","help":"fmod_channel_control_set_pan(channel_control_ref, pan)","hidden":false,"kind":1,"name":"fmod_channel_control_set_pan","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_control_set_mix_levels_input_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\r\n/// @param {real} channel_control_ref \r\n/// @param {Pointer} buff_args \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_channel_control_set_mix_levels_input_multiplatform","help":"fmod_channel_control_set_mix_levels_input_multiplatform(channel_control_ref, buff_args)","hidden":true,"kind":1,"name":"fmod_channel_control_set_mix_levels_input_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_control_set_mix_levels_output","argCount":0,"args":[2,2,2,2,2,2,2,2,2,],"documentation":"/// @desc\n\r/// @param {real} channel_control_ref \n\r/// @param {real} front_left \n\r/// @param {real} front_right \n\r/// @param {real} center \n\r/// @param {real} lfe \n\r/// @param {real} surround_left \n\r/// @param {real} surround_right \n\r/// @param {real} back_left \n\r/// @param {real} back_right \n\r/// @returns {real}\n\r","externalName":"fmod_channel_control_set_mix_levels_output","help":"fmod_channel_control_set_mix_levels_output(channel_control_ref, front_left, front_right, center, lfe, surround_left, surround_right, back_left, back_right)","hidden":false,"kind":1,"name":"fmod_channel_control_set_mix_levels_output","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_control_set_mix_matrix_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\r\n/// @param {real} channel_control_ref \r\n/// @param {Pointer} buff_args \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_channel_control_set_mix_matrix_multiplatform","help":"fmod_channel_control_set_mix_matrix_multiplatform(channel_control_ref, buff_args)","hidden":true,"kind":1,"name":"fmod_channel_control_set_mix_matrix_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_control_get_mix_matrix_multiplatform","argCount":0,"args":[2,2,1,],"documentation":"/// @desc\r\n/// @param {real} channel_control_ref \r\n/// @param {real} in_channel_hop \r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_channel_control_get_mix_matrix_multiplatform","help":"fmod_channel_control_get_mix_matrix_multiplatform(channel_control_ref, in_channel_hop, buff_return)","hidden":true,"kind":1,"name":"fmod_channel_control_get_mix_matrix_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_control_set_reverb_properties","argCount":0,"args":[2,2,2,],"documentation":"/// @desc\n\r/// @param {real} channel_control_ref \n\r/// @param {real} reverb_instance \n\r/// @param {real} wet \n\r/// @returns {real}\n\r","externalName":"fmod_channel_control_set_reverb_properties","help":"fmod_channel_control_set_reverb_properties(channel_control_ref, reverb_instance, wet)","hidden":false,"kind":1,"name":"fmod_channel_control_set_reverb_properties","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_control_get_reverb_properties","argCount":0,"args":[2,2,],"documentation":"/// @desc\n\r/// @param {real} channel_control_ref \n\r/// @param {real} reverb_instance \n\r/// @returns {real}\n\r","externalName":"fmod_channel_control_get_reverb_properties","help":"fmod_channel_control_get_reverb_properties(channel_control_ref, reverb_instance)","hidden":false,"kind":1,"name":"fmod_channel_control_get_reverb_properties","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_control_set_low_pass_gain","argCount":0,"args":[2,2,],"documentation":"/// @desc\n\r/// @param {real} channel_control_ref \n\r/// @param {real} gain \n\r/// @returns {real}\n\r","externalName":"fmod_channel_control_set_low_pass_gain","help":"fmod_channel_control_set_low_pass_gain(channel_control_ref, gain)","hidden":false,"kind":1,"name":"fmod_channel_control_set_low_pass_gain","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_control_get_low_pass_gain","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} channel_control_ref \n\r/// @returns {real}\n\r","externalName":"fmod_channel_control_get_low_pass_gain","help":"fmod_channel_control_get_low_pass_gain(channel_control_ref)","hidden":false,"kind":1,"name":"fmod_channel_control_get_low_pass_gain","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_control_add_dsp","argCount":0,"args":[2,2,2,],"documentation":"/// @desc\n\r/// @param {real} channel_control_ref \n\r/// @param {real} dsp_chain_offset \n\r/// @param {real} dsp_ref \n\r/// @returns {real}\n\r","externalName":"fmod_channel_control_add_dsp","help":"fmod_channel_control_add_dsp(channel_control_ref, dsp_chain_offset, dsp_ref)","hidden":false,"kind":1,"name":"fmod_channel_control_add_dsp","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_control_remove_dsp","argCount":0,"args":[2,2,],"documentation":"/// @desc\n\r/// @param {real} channel_control_ref \n\r/// @param {real} dsp_ref \n\r/// @returns {real}\n\r","externalName":"fmod_channel_control_remove_dsp","help":"fmod_channel_control_remove_dsp(channel_control_ref, dsp_ref)","hidden":false,"kind":1,"name":"fmod_channel_control_remove_dsp","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_control_get_num_dsps","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} channel_control_ref \n\r/// @returns {real}\n\r","externalName":"fmod_channel_control_get_num_dsps","help":"fmod_channel_control_get_num_dsps(channel_control_ref)","hidden":false,"kind":1,"name":"fmod_channel_control_get_num_dsps","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_control_get_dsp","argCount":0,"args":[2,2,],"documentation":"/// @desc\n\r/// @param {real} channel_control_ref \n\r/// @param {real} index \n\r/// @returns {real}\n\r","externalName":"fmod_channel_control_get_dsp","help":"fmod_channel_control_get_dsp(channel_control_ref, index)","hidden":false,"kind":1,"name":"fmod_channel_control_get_dsp","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_control_set_dsp_index","argCount":0,"args":[2,2,2,],"documentation":"/// @desc\n\r/// @param {real} channel_control_ref \n\r/// @param {real} dsp_ref \n\r/// @param {real} chain_index \n\r/// @returns {real}\n\r","externalName":"fmod_channel_control_set_dsp_index","help":"fmod_channel_control_set_dsp_index(channel_control_ref, dsp_ref, chain_index)","hidden":false,"kind":1,"name":"fmod_channel_control_set_dsp_index","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_control_get_dsp_index","argCount":0,"args":[2,2,],"documentation":"/// @desc\n\r/// @param {real} channel_control_ref \n\r/// @param {real} dsp_ref \n\r/// @returns {real}\n\r","externalName":"fmod_channel_control_get_dsp_index","help":"fmod_channel_control_get_dsp_index(channel_control_ref, dsp_ref)","hidden":false,"kind":1,"name":"fmod_channel_control_get_dsp_index","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_control_get_dsp_clock_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\r\n/// @param {real} channel_control_ref \r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_channel_control_get_dsp_clock_multiplatform","help":"fmod_channel_control_get_dsp_clock_multiplatform(channel_control_ref, buff_return)","hidden":true,"kind":1,"name":"fmod_channel_control_get_dsp_clock_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_control_set_delay_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\r\n/// @param {real} channel_control_ref \r\n/// @param {Pointer} buff_args \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_channel_control_set_delay_multiplatform","help":"fmod_channel_control_set_delay_multiplatform(channel_control_ref, buff_args)","hidden":true,"kind":1,"name":"fmod_channel_control_set_delay_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_control_get_delay_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\r\n/// @param {real} channel_control_ref \r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_channel_control_get_delay_multiplatform","help":"fmod_channel_control_get_delay_multiplatform(channel_control_ref, buff_return)","hidden":true,"kind":1,"name":"fmod_channel_control_get_delay_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_control_add_fade_point_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\r\n/// @param {real} channel_control_ref \r\n/// @param {Pointer} buff_args \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_channel_control_add_fade_point_multiplatform","help":"fmod_channel_control_add_fade_point_multiplatform(channel_control_ref, buff_args)","hidden":true,"kind":1,"name":"fmod_channel_control_add_fade_point_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_control_set_fade_point_ramp_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\r\n/// @param {real} channel_control_ref \r\n/// @param {Pointer} buff_args \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_channel_control_set_fade_point_ramp_multiplatform","help":"fmod_channel_control_set_fade_point_ramp_multiplatform(channel_control_ref, buff_args)","hidden":true,"kind":1,"name":"fmod_channel_control_set_fade_point_ramp_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_control_remove_fade_points_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\r\n/// @param {real} channel_control_ref \r\n/// @param {Pointer} buff_args \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_channel_control_remove_fade_points_multiplatform","help":"fmod_channel_control_remove_fade_points_multiplatform(channel_control_ref, buff_args)","hidden":true,"kind":1,"name":"fmod_channel_control_remove_fade_points_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_control_get_fade_points_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\r\n/// @param {real} channel_control_ref \r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_channel_control_get_fade_points_multiplatform","help":"fmod_channel_control_get_fade_points_multiplatform(channel_control_ref, buff_return)","hidden":true,"kind":1,"name":"fmod_channel_control_get_fade_points_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_control_set_callback","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} channel_control_ref \n\r/// @returns {real}\n\r","externalName":"fmod_channel_control_set_callback","help":"fmod_channel_control_set_callback(channel_control_ref)","hidden":false,"kind":1,"name":"fmod_channel_control_set_callback","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_control_get_system_object","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} channel_control_ref \n\r/// @returns {real}\n\r","externalName":"fmod_channel_control_get_system_object","help":"fmod_channel_control_get_system_object(channel_control_ref)","hidden":false,"kind":1,"name":"fmod_channel_control_get_system_object","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_control_set_user_data","argCount":0,"args":[2,2,],"documentation":"/// @desc\n\r/// @param {real} channel_control_ref \n\r/// @param {real} data \n\r/// @returns {real}\n\r","externalName":"fmod_channel_control_set_user_data","help":"fmod_channel_control_set_user_data(channel_control_ref, data)","hidden":false,"kind":1,"name":"fmod_channel_control_set_user_data","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_control_get_user_data","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} channel_control_ref \n\r/// @returns {real}\n\r","externalName":"fmod_channel_control_get_user_data","help":"fmod_channel_control_get_user_data(channel_control_ref)","hidden":false,"kind":1,"name":"fmod_channel_control_get_user_data","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_group_get_num_channels","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} channel_group_ref \n\r/// @returns {real}\n\r","externalName":"fmod_channel_group_get_num_channels","help":"fmod_channel_group_get_num_channels(channel_group_ref)","hidden":false,"kind":1,"name":"fmod_channel_group_get_num_channels","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_group_get_channel","argCount":0,"args":[2,2,],"documentation":"/// @desc\n\r/// @param {real} channel_group_ref \n\r/// @param {real} index \n\r/// @returns {real}\n\r","externalName":"fmod_channel_group_get_channel","help":"fmod_channel_group_get_channel(channel_group_ref, index)","hidden":false,"kind":1,"name":"fmod_channel_group_get_channel","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_group_add_group_multiplatform","argCount":0,"args":[2,2,2,],"documentation":"/// @desc\n\r/// @param {real} channel_group_ref \n\r/// @param {real} child_channel_group_ref \n\r/// @param {real} propagate_dsp_clock \n\r/// @returns {real}\n\r/// @ignore\n\r","externalName":"fmod_channel_group_add_group_multiplatform","help":"fmod_channel_group_add_group_multiplatform(channel_group_ref, child_channel_group_ref, propagate_dsp_clock)","hidden":true,"kind":1,"name":"fmod_channel_group_add_group_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_group_get_num_groups","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} channel_group_ref \n\r/// @returns {real}\n\r","externalName":"fmod_channel_group_get_num_groups","help":"fmod_channel_group_get_num_groups(channel_group_ref)","hidden":false,"kind":1,"name":"fmod_channel_group_get_num_groups","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_group_get_group","argCount":0,"args":[2,2,],"documentation":"/// @desc\n\r/// @param {real} channel_group_ref \n\r/// @param {real} group_index \n\r/// @returns {real}\n\r","externalName":"fmod_channel_group_get_group","help":"fmod_channel_group_get_group(channel_group_ref, group_index)","hidden":false,"kind":1,"name":"fmod_channel_group_get_group","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_group_get_parent_group","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} channel_group_ref \n\r/// @returns {real}\n\r","externalName":"fmod_channel_group_get_parent_group","help":"fmod_channel_group_get_parent_group(channel_group_ref)","hidden":false,"kind":1,"name":"fmod_channel_group_get_parent_group","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_group_get_name","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} channel_group_ref \n\r/// @returns {string}\n\r","externalName":"fmod_channel_group_get_name","help":"fmod_channel_group_get_name(channel_group_ref)","hidden":false,"kind":1,"name":"fmod_channel_group_get_name","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":1,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_group_release","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} channel_group_ref \n\r/// @returns {real}\n\r","externalName":"fmod_channel_group_release","help":"fmod_channel_group_release(channel_group_ref)","hidden":false,"kind":1,"name":"fmod_channel_group_release","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_channel_group_get_system_object","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} channel_group_ref \n\r/// @returns {real}\n\r","externalName":"fmod_channel_group_get_system_object","help":"fmod_channel_group_get_system_object(channel_group_ref)","hidden":false,"kind":1,"name":"fmod_channel_group_get_system_object","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_file_get_disk_busy","argCount":0,"args":[],"documentation":"/// @desc\n\r/// @returns {real}\n\r","externalName":"fmod_file_get_disk_busy","help":"fmod_file_get_disk_busy()","hidden":false,"kind":1,"name":"fmod_file_get_disk_busy","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_file_set_disk_busy","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} busy \n\r/// @returns {real}\n\r","externalName":"fmod_file_set_disk_busy","help":"fmod_file_set_disk_busy(busy)","hidden":false,"kind":1,"name":"fmod_file_set_disk_busy","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_memory_get_stats_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\n\r/// @param {real} blocking \n\r/// @param {Pointer} buff_return \n\r/// @returns {real}\n\r/// @ignore\n\r","externalName":"fmod_memory_get_stats_multiplatform","help":"fmod_memory_get_stats_multiplatform(blocking, buff_return)","hidden":true,"kind":1,"name":"fmod_memory_get_stats_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_debug_initialize_multiplatform","argCount":0,"args":[2,2,1,],"documentation":"/// @desc\r\n/// @param {enum.FMOD_DEBUG_FLAGS} flags \r\n/// @param {enum.FMOD_DEBUG_MODE} mode \r\n/// @param {string|pointer} filename \r\n/// @returns {real}\r\n","externalName":"fmod_debug_initialize_multiplatform","help":"fmod_debug_initialize(flags, mode, filename)","hidden":false,"kind":1,"name":"fmod_debug_initialize_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_thread_set_attributes","argCount":0,"args":[2,2,2,2,],"documentation":"/// @desc\r\n/// @param {enum.FMOD_THREAD_TYPE} type \r\n/// @param {enum.FMOD_THREAD_AFFINITY} affinity \r\n/// @param {enum.FMOD_THREAD_PRIORITY} priority \r\n/// @param {enum.FMOD_THREAD_STACK_SIZE} stacksize \r\n/// @returns {real}\r\n","externalName":"fmod_thread_set_attributes","help":"fmod_thread_set_attributes(type, affinity, priority, stacksize)","hidden":false,"kind":1,"name":"fmod_thread_set_attributes","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_dsp_add_input_multiplatform","argCount":0,"args":[2,2,2,],"documentation":"/// @desc\n\r/// @param {real} dsp_ref \n\r/// @param {real} dsp_input_ref \n\r/// @param {real} dsp_connection_type \n\r/// @returns {real}\n\r/// @ignore\n\r","externalName":"fmod_dsp_add_input_multiplatform","help":"fmod_dsp_add_input_multiplatform(dsp_ref, dsp_input_ref, dsp_connection_type)","hidden":true,"kind":1,"name":"fmod_dsp_add_input_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_dsp_get_input_multiplatform","argCount":0,"args":[2,2,1,],"documentation":"/// @desc\n\r/// @param {real} dsp_ref \n\r/// @param {real} dsp_input_index \n\r/// @param {Pointer} buff_return \n\r/// @returns {real}\n\r/// @ignore\n\r","externalName":"fmod_dsp_get_input_multiplatform","help":"fmod_dsp_get_input_multiplatform(dsp_ref, dsp_input_index, buff_return)","hidden":true,"kind":1,"name":"fmod_dsp_get_input_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_dsp_get_output_multiplatform","argCount":0,"args":[2,2,1,],"documentation":"/// @desc\n\r/// @param {real} dsp_ref \n\r/// @param {real} dsp_output_index \n\r/// @param {Pointer} buff_return \n\r/// @returns {real}\n\r/// @ignore\n\r","externalName":"fmod_dsp_get_output_multiplatform","help":"fmod_dsp_get_output_multiplatform(dsp_ref, dsp_output_index, buff_return)","hidden":true,"kind":1,"name":"fmod_dsp_get_output_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_dsp_get_num_inputs","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} dsp_ref \n\r/// @returns {real}\n\r","externalName":"fmod_dsp_get_num_inputs","help":"fmod_dsp_get_num_inputs(dsp_ref)","hidden":false,"kind":1,"name":"fmod_dsp_get_num_inputs","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_dsp_get_num_outputs","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} dsp_ref \n\r/// @returns {real}\n\r","externalName":"fmod_dsp_get_num_outputs","help":"fmod_dsp_get_num_outputs(dsp_ref)","hidden":false,"kind":1,"name":"fmod_dsp_get_num_outputs","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_dsp_disconnect_all","argCount":0,"args":[2,2,2,],"documentation":"/// @desc\r\n/// @param {real} dsp_ref \r\n/// @param {bool} inputs \r\n/// @param {bool} outputs \r\n/// @returns {real}\r\n","externalName":"fmod_dsp_disconnect_all","help":"fmod_dsp_disconnect_all(dsp_ref, inputs, outputs)","hidden":false,"kind":1,"name":"fmod_dsp_disconnect_all","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_dsp_disconnect_from_mutliplatform","argCount":0,"args":[2,2,2,],"documentation":"/// @desc\r\n/// @param {real} dsp_ref \r\n/// @param {real} dsp_other_ref\r\n/// @param {real} dsp_connection_ref\r\n/// @returns {real}\r\n","externalName":"fmod_dsp_disconnect_from_mutliplatform","help":"fmod_dsp_disconnect_from(dsp_ref, dsp_other_ref)","hidden":true,"kind":1,"name":"fmod_dsp_disconnect_from_mutliplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_dsp_get_data_parameter_index","argCount":0,"args":[2,2,],"documentation":"/// @desc\n\r/// @param {real} dsp_ref \n\r/// @param {real} data_type \n\r/// @returns {real}\n\r","externalName":"fmod_dsp_get_data_parameter_index","help":"fmod_dsp_get_data_parameter_index(dsp_ref, data_type)","hidden":false,"kind":1,"name":"fmod_dsp_get_data_parameter_index","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_dsp_get_num_parameters","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} dsp_ref \n\r/// @returns {real}\n\r","externalName":"fmod_dsp_get_num_parameters","help":"fmod_dsp_get_num_parameters(dsp_ref)","hidden":false,"kind":1,"name":"fmod_dsp_get_num_parameters","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_dsp_set_parameter_bool","argCount":0,"args":[2,2,2,],"documentation":"/// @desc\r\n/// @param {real} dsp_ref \r\n/// @param {real} parameter_index \r\n/// @param {bool} value \r\n/// @returns {real}\r\n","externalName":"fmod_dsp_set_parameter_bool","help":"fmod_dsp_set_parameter_bool(dsp_ref, parameter_index, value)","hidden":false,"kind":1,"name":"fmod_dsp_set_parameter_bool","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_dsp_get_parameter_bool","argCount":0,"args":[2,2,],"documentation":"/// @desc\n\r/// @param {real} dsp_ref \n\r/// @param {real} parameter_index \n\r/// @returns {real}\n\r","externalName":"fmod_dsp_get_parameter_bool","help":"fmod_dsp_get_parameter_bool(dsp_ref, parameter_index)","hidden":false,"kind":1,"name":"fmod_dsp_get_parameter_bool","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_dsp_set_parameter_data_multiplatform","argCount":0,"args":[2,2,1,2,],"documentation":"/// @desc\r\n/// @param {real} dsp_ref \r\n/// @param {real} parameter_index \r\n/// @param {Pointer} buff \r\n/// @param {real} length \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_dsp_set_parameter_data_multiplatform","help":"fmod_dsp_set_parameter_data_multiplatform(dsp_ref, parameter_index, buff, length)","hidden":true,"kind":1,"name":"fmod_dsp_set_parameter_data_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_dsp_get_parameter_data_multiplatform","argCount":0,"args":[2,2,1,2,],"documentation":"/// @desc\r\n/// @param {real} dsp_ref \r\n/// @param {real} parameter_index \r\n/// @param {Pointer} buff \r\n/// @param {real} length \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_dsp_get_parameter_data_multiplatform","help":"fmod_dsp_get_parameter_data_multiplatform(dsp_ref, parameter_index, buff, length)","hidden":true,"kind":1,"name":"fmod_dsp_get_parameter_data_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_dsp_set_parameter_float","argCount":0,"args":[2,2,2,],"documentation":"/// @desc\n\r/// @param {real} dsp_ref \n\r/// @param {real} parameter_index \n\r/// @param {real} value \n\r/// @returns {real}\n\r","externalName":"fmod_dsp_set_parameter_float","help":"fmod_dsp_set_parameter_float(dsp_ref, parameter_index, value)","hidden":false,"kind":1,"name":"fmod_dsp_set_parameter_float","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_dsp_get_parameter_float","argCount":0,"args":[2,2,],"documentation":"/// @desc\n\r/// @param {real} dsp_ref \n\r/// @param {real} parameter_index \n\r/// @returns {real}\n\r","externalName":"fmod_dsp_get_parameter_float","help":"fmod_dsp_get_parameter_float(dsp_ref, parameter_index)","hidden":false,"kind":1,"name":"fmod_dsp_get_parameter_float","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_dsp_set_parameter_int","argCount":0,"args":[2,2,2,],"documentation":"/// @desc\n\r/// @param {real} dsp_ref \n\r/// @param {real} parameter_index \n\r/// @param {real} value \n\r/// @returns {real}\n\r","externalName":"fmod_dsp_set_parameter_int","help":"fmod_dsp_set_parameter_int(dsp_ref, parameter_index, value)","hidden":false,"kind":1,"name":"fmod_dsp_set_parameter_int","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_dsp_get_parameter_int","argCount":0,"args":[2,2,],"documentation":"/// @desc\n\r/// @param {real} dsp_ref \n\r/// @param {real} parameter_index \n\r/// @returns {real}\n\r","externalName":"fmod_dsp_get_parameter_int","help":"fmod_dsp_get_parameter_int(dsp_ref, parameter_index)","hidden":false,"kind":1,"name":"fmod_dsp_get_parameter_int","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_dsp_get_parameter_info_multiplatform","argCount":0,"args":[2,2,1,],"documentation":"/// @desc\r\n/// @param {real} dsp_ref \r\n/// @param {real} parameter_index \r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_dsp_get_parameter_info_multiplatform","help":"fmod_dsp_get_parameter_info_multiplatform(dsp_ref, parameter_index, buff_return)","hidden":true,"kind":1,"name":"fmod_dsp_get_parameter_info_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_dsp_set_channel_format","argCount":0,"args":[2,2,2,2,],"documentation":"/// @desc\n\r/// @param {real} dsp_ref \n\r/// @param {real} channel_mask \n\r/// @param {real} num_channels \n\r/// @param {real} speaker_mode \n\r/// @returns {real}\n\r","externalName":"fmod_dsp_set_channel_format","help":"fmod_dsp_set_channel_format(dsp_ref, channel_mask, num_channels, speaker_mode)","hidden":false,"kind":1,"name":"fmod_dsp_set_channel_format","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_dsp_get_channel_format_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\r\n/// @param {real} dsp_ref \r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_dsp_get_channel_format_multiplatform","help":"fmod_dsp_get_channel_format_multiplatform(dsp_ref, buff_return)","hidden":true,"kind":1,"name":"fmod_dsp_get_channel_format_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_dsp_get_output_channel_format_multiplatform","argCount":0,"args":[2,1,1,],"documentation":"/// @desc\r\n/// @param {real} dsp_ref \r\n/// @param {Pointer} buff_args \r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_dsp_get_output_channel_format_multiplatform","help":"fmod_dsp_get_output_channel_format_multiplatform(dsp_ref, buff_args, buff_return)","hidden":true,"kind":1,"name":"fmod_dsp_get_output_channel_format_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_dsp_get_metering_info_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\r\n/// @param {real} dsp_ref \r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_dsp_get_metering_info_multiplatform","help":"fmod_dsp_get_metering_info_multiplatform(dsp_ref, buff_return)","hidden":true,"kind":1,"name":"fmod_dsp_get_metering_info_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_dsp_set_metering_enabled","argCount":0,"args":[2,2,2,],"documentation":"/// @desc\r\n/// @param {real} dsp_ref \r\n/// @param {bool} enabled_in \r\n/// @param {bool} enabled_out \r\n/// @returns {real}\r\n","externalName":"fmod_dsp_set_metering_enabled","help":"fmod_dsp_set_metering_enabled(dsp_ref, enabled_in, enabled_out)","hidden":false,"kind":1,"name":"fmod_dsp_set_metering_enabled","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_dsp_get_metering_enabled_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\r\n/// @param {real} dsp_ref \r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_dsp_get_metering_enabled_multiplatform","help":"fmod_dsp_get_metering_enabled_multiplatform(dsp_ref, buff_return)","hidden":true,"kind":1,"name":"fmod_dsp_get_metering_enabled_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_dsp_set_active","argCount":0,"args":[2,2,],"documentation":"/// @desc\r\n/// @param {real} dsp_ref \r\n/// @param {bool} active \r\n/// @returns {real}\r\n","externalName":"fmod_dsp_set_active","help":"fmod_dsp_set_active(dsp_ref, active)","hidden":false,"kind":1,"name":"fmod_dsp_set_active","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_dsp_get_active","argCount":0,"args":[2,],"documentation":"/// @desc\r\n/// @param {real} dsp_ref \r\n/// @returns {bool}\r\n","externalName":"fmod_dsp_get_active","help":"fmod_dsp_get_active(dsp_ref)","hidden":false,"kind":1,"name":"fmod_dsp_get_active","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_dsp_set_bypass","argCount":0,"args":[2,2,],"documentation":"/// @desc\r\n/// @param {real} dsp_ref \r\n/// @param {bool} bypass \r\n/// @returns {real}\r\n","externalName":"fmod_dsp_set_bypass","help":"fmod_dsp_set_bypass(dsp_ref, bypass)","hidden":false,"kind":1,"name":"fmod_dsp_set_bypass","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_dsp_get_bypass","argCount":0,"args":[2,],"documentation":"/// @desc\r\n/// @param {real} dsp_ref \r\n/// @returns {bool}\r\n","externalName":"fmod_dsp_get_bypass","help":"fmod_dsp_get_bypass(dsp_ref)","hidden":false,"kind":1,"name":"fmod_dsp_get_bypass","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_dsp_set_wet_dry_mix","argCount":0,"args":[2,2,2,2,],"documentation":"/// @desc\n\r/// @param {real} dsp_ref \n\r/// @param {real} prewet \n\r/// @param {real} postwet \n\r/// @param {real} dry \n\r/// @returns {real}\n\r","externalName":"fmod_dsp_set_wet_dry_mix","help":"fmod_dsp_set_wet_dry_mix(dsp_ref, prewet, postwet, dry)","hidden":false,"kind":1,"name":"fmod_dsp_set_wet_dry_mix","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_dsp_get_wet_dry_mix_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\r\n/// @param {real} dsp_ref \r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_dsp_get_wet_dry_mix_multiplatform","help":"fmod_dsp_get_wet_dry_mix_multiplatform(dsp_ref, buff_return)","hidden":true,"kind":1,"name":"fmod_dsp_get_wet_dry_mix_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_dsp_get_idle","argCount":0,"args":[2,],"documentation":"/// @desc\r\n/// @param {real} dsp_ref \r\n/// @returns {bool}\r\n","externalName":"fmod_dsp_get_idle","help":"fmod_dsp_get_idle(dsp_ref)","hidden":false,"kind":1,"name":"fmod_dsp_get_idle","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_dsp_reset","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} dsp_ref \n\r/// @returns {real}\n\r","externalName":"fmod_dsp_reset","help":"fmod_dsp_reset(dsp_ref)","hidden":false,"kind":1,"name":"fmod_dsp_reset","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_dsp_release","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} dsp_ref \n\r/// @returns {real}\n\r","externalName":"fmod_dsp_release","help":"fmod_dsp_release(dsp_ref)","hidden":false,"kind":1,"name":"fmod_dsp_release","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_dsp_get_type","argCount":0,"args":[2,],"documentation":"/// @desc\r\n/// @param {real} dsp_ref \r\n/// @returns {enum.FMOD_DSP_TYPE}\r\n","externalName":"fmod_dsp_get_type","help":"fmod_dsp_get_type(dsp_ref)","hidden":false,"kind":1,"name":"fmod_dsp_get_type","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_dsp_get_info_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\n\r/// @param {real} dsp_ref \n\r/// @param {Pointer} buff_return \n\r/// @returns {real}\n\r/// @ignore\n\r","externalName":"fmod_dsp_get_info_multiplatform","help":"fmod_dsp_get_info_multiplatform(dsp_ref, buff_return)","hidden":true,"kind":1,"name":"fmod_dsp_get_info_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_dsp_get_cpu_usage_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\r\n/// @param {real} dsp_ref \r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_dsp_get_cpu_usage_multiplatform","help":"fmod_dsp_get_cpu_usage_multiplatform(dsp_ref, buff_return)","hidden":true,"kind":1,"name":"fmod_dsp_get_cpu_usage_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_dsp_set_user_data","argCount":0,"args":[2,2,],"documentation":"/// @desc\n\r/// @param {real} dsp_ref \n\r/// @param {real} data \n\r/// @returns {real}\n\r","externalName":"fmod_dsp_set_user_data","help":"fmod_dsp_set_user_data(dsp_ref, data)","hidden":false,"kind":1,"name":"fmod_dsp_set_user_data","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_dsp_get_user_data","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} dsp_ref \n\r/// @returns {real}\n\r","externalName":"fmod_dsp_get_user_data","help":"fmod_dsp_get_user_data(dsp_ref)","hidden":false,"kind":1,"name":"fmod_dsp_get_user_data","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_dsp_set_callback","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} dsp_ref \n\r/// @returns {real}\n\r","externalName":"fmod_dsp_set_callback","help":"fmod_dsp_set_callback(dsp_ref)","hidden":false,"kind":1,"name":"fmod_dsp_set_callback","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_dsp_get_system_object","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} dsp_ref \n\r/// @returns {real}\n\r","externalName":"fmod_dsp_get_system_object","help":"fmod_dsp_get_system_object(dsp_ref)","hidden":false,"kind":1,"name":"fmod_dsp_get_system_object","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_dsp_connection_set_mix","argCount":0,"args":[2,2,],"documentation":"/// @desc\n\r/// @param {real} dsp_connection_ref \n\r/// @param {real} volume \n\r/// @returns {real}\n\r","externalName":"fmod_dsp_connection_set_mix","help":"fmod_dsp_connection_set_mix(dsp_connection_ref, volume)","hidden":false,"kind":1,"name":"fmod_dsp_connection_set_mix","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_dsp_connection_get_mix","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} dsp_connection_ref \n\r/// @returns {real}\n\r","externalName":"fmod_dsp_connection_get_mix","help":"fmod_dsp_connection_get_mix(dsp_connection_ref)","hidden":false,"kind":1,"name":"fmod_dsp_connection_get_mix","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_dsp_connection_set_mix_matrix_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\r\n/// @param {real} dsp_connection_ref \r\n/// @param {Pointer} buff_args \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_dsp_connection_set_mix_matrix_multiplatform","help":"fmod_dsp_connection_set_mix_matrix_multiplatform(dsp_connection_ref, buff_args)","hidden":true,"kind":1,"name":"fmod_dsp_connection_set_mix_matrix_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_dsp_connection_get_mix_matrix_multiplatform","argCount":0,"args":[2,2,1,],"documentation":"/// @desc\r\n/// @param {real} dsp_connection_ref \r\n/// @param {real} inchannel_hop \r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_dsp_connection_get_mix_matrix_multiplatform","help":"fmod_dsp_connection_get_mix_matrix_multiplatform(dsp_connection_ref, inchannel_hop, buff_return)","hidden":true,"kind":1,"name":"fmod_dsp_connection_get_mix_matrix_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_dsp_connection_get_input","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} dsp_connection_ref \n\r/// @returns {real}\n\r","externalName":"fmod_dsp_connection_get_input","help":"fmod_dsp_connection_get_input(dsp_connection_ref)","hidden":false,"kind":1,"name":"fmod_dsp_connection_get_input","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_dsp_connection_get_output","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} dsp_connection_ref \n\r/// @returns {real}\n\r","externalName":"fmod_dsp_connection_get_output","help":"fmod_dsp_connection_get_output(dsp_connection_ref)","hidden":false,"kind":1,"name":"fmod_dsp_connection_get_output","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_dsp_connection_get_type","argCount":0,"args":[2,],"documentation":"/// @desc\r\n/// @param {real} dsp_connection_ref \r\n/// @returns {enum.FMOD_DSPCONNECTION_TYPE}\r\n","externalName":"fmod_dsp_connection_get_type","help":"fmod_dsp_connection_get_type(dsp_connection_ref)","hidden":false,"kind":1,"name":"fmod_dsp_connection_get_type","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_dsp_connection_set_user_data","argCount":0,"args":[2,2,],"documentation":"/// @desc\n\r/// @param {real} dsp_connection_ref \n\r/// @param {real} data \n\r/// @returns {real}\n\r","externalName":"fmod_dsp_connection_set_user_data","help":"fmod_dsp_connection_set_user_data(dsp_connection_ref, data)","hidden":false,"kind":1,"name":"fmod_dsp_connection_set_user_data","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_dsp_connection_get_user_data","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} dsp_connection_ref \n\r/// @returns {real}\n\r","externalName":"fmod_dsp_connection_get_user_data","help":"fmod_dsp_connection_get_user_data(dsp_connection_ref)","hidden":false,"kind":1,"name":"fmod_dsp_connection_get_user_data","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_geometry_set_polygon_attributes","argCount":0,"args":[2,2,2,2,2,],"documentation":"/// @desc\n\r/// @param {real} geometry_ref \n\r/// @param {real} polygon_index \n\r/// @param {real} direct_occlusion \n\r/// @param {real} reverb_occlusion \n\r/// @param {real} double_sided \n\r/// @returns {real}\n\r","externalName":"fmod_geometry_set_polygon_attributes","help":"fmod_geometry_set_polygon_attributes(geometry_ref, polygon_index, direct_occlusion, reverb_occlusion, double_sided)","hidden":false,"kind":1,"name":"fmod_geometry_set_polygon_attributes","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_geometry_get_polygon_attributes_multiplatform","argCount":0,"args":[2,2,1,],"documentation":"/// @desc\r\n/// @param {real} geometry_ref \r\n/// @param {real} polygon_index \r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_geometry_get_polygon_attributes_multiplatform","help":"fmod_geometry_get_polygon_attributes_multiplatform(geometry_ref, polygon_index, buff_return)","hidden":true,"kind":1,"name":"fmod_geometry_get_polygon_attributes_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_geometry_get_polygon_num_vertices","argCount":0,"args":[2,2,],"documentation":"/// @desc\n\r/// @param {real} geometry_ref \n\r/// @param {real} polygon_index \n\r/// @returns {real}\n\r","externalName":"fmod_geometry_get_polygon_num_vertices","help":"fmod_geometry_get_polygon_num_vertices(geometry_ref, polygon_index)","hidden":false,"kind":1,"name":"fmod_geometry_get_polygon_num_vertices","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_geometry_set_polygon_vertex_multiplatform","argCount":0,"args":[2,2,2,1,],"documentation":"/// @desc\r\n/// @param {real} geometry_ref \r\n/// @param {real} polygon_index \r\n/// @param {real} vertex_index \r\n/// @param {Pointer} buff_args \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_geometry_set_polygon_vertex_multiplatform","help":"fmod_geometry_set_polygon_vertex_multiplatform(geometry_ref, polygon_index, vertex_index, buff_args)","hidden":true,"kind":1,"name":"fmod_geometry_set_polygon_vertex_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_geometry_get_polygon_vertex_multiplatform","argCount":0,"args":[2,2,2,1,],"documentation":"/// @desc\r\n/// @param {real} geometry_ref \r\n/// @param {real} polygon_index \r\n/// @param {real} vertex_index \r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_geometry_get_polygon_vertex_multiplatform","help":"fmod_geometry_get_polygon_vertex_multiplatform(geometry_ref, polygon_index, vertex_index, buff_return)","hidden":true,"kind":1,"name":"fmod_geometry_get_polygon_vertex_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_geometry_set_position_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\r\n/// @param {real} geometry_ref \r\n/// @param {Pointer} buff_args \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_geometry_set_position_multiplatform","help":"fmod_geometry_set_position_multiplatform(geometry_ref, buff_args)","hidden":true,"kind":1,"name":"fmod_geometry_set_position_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_geometry_get_position_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\r\n/// @param {real} geometry_ref \r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_geometry_get_position_multiplatform","help":"fmod_geometry_get_position_multiplatform(geometry_ref, buff_return)","hidden":true,"kind":1,"name":"fmod_geometry_get_position_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_geometry_set_rotation_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\r\n/// @param {real} geometry_ref \r\n/// @param {Pointer} buff_args \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_geometry_set_rotation_multiplatform","help":"fmod_geometry_set_rotation_multiplatform(geometry_ref, buff_args)","hidden":true,"kind":1,"name":"fmod_geometry_set_rotation_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_geometry_get_rotation_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\r\n/// @param {real} geometry_ref \r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_geometry_get_rotation_multiplatform","help":"fmod_geometry_get_rotation_multiplatform(geometry_ref, buff_return)","hidden":true,"kind":1,"name":"fmod_geometry_get_rotation_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_geometry_set_scale_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\r\n/// @param {real} geometry_ref \r\n/// @param {Pointer} buff_args \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_geometry_set_scale_multiplatform","help":"fmod_geometry_set_scale_multiplatform(geometry_ref, buff_args)","hidden":true,"kind":1,"name":"fmod_geometry_set_scale_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_geometry_get_scale_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\r\n/// @param {real} geometry_ref \r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_geometry_get_scale_multiplatform","help":"fmod_geometry_get_scale_multiplatform(geometry_ref, buff_return)","hidden":true,"kind":1,"name":"fmod_geometry_get_scale_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_geometry_add_polygon_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\r\n/// @param {real} geometry_ref \r\n/// @param {Pointer} buff_args \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_geometry_add_polygon_multiplatform","help":"fmod_geometry_add_polygon_multiplatform(geometry_ref, buff_args)","hidden":true,"kind":1,"name":"fmod_geometry_add_polygon_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_geometry_set_active","argCount":0,"args":[2,2,],"documentation":"/// @desc\r\n/// @param {real} geometry_ref \r\n/// @param {bool} active \r\n/// @returns {real}\r\n","externalName":"fmod_geometry_set_active","help":"fmod_geometry_set_active(geometry_ref, active)","hidden":false,"kind":1,"name":"fmod_geometry_set_active","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_geometry_get_active","argCount":0,"args":[2,],"documentation":"/// @desc\r\n/// @param {real} geometry_ref \r\n/// @returns {bool}\r\n","externalName":"fmod_geometry_get_active","help":"fmod_geometry_get_active(geometry_ref)","hidden":false,"kind":1,"name":"fmod_geometry_get_active","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_geometry_get_max_polygons_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\n\r/// @param {real} geometry_ref \n\r/// @param {Pointer} buff_return \n\r/// @returns {real}\n\r","externalName":"fmod_geometry_get_max_polygons_multiplatform","help":"fmod_geometry_get_max_polygons_multiplatform(geometry_ref, buff_return)","hidden":true,"kind":1,"name":"fmod_geometry_get_max_polygons_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_geometry_get_num_polygons","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} geometry_ref \n\r/// @returns {real}\n\r","externalName":"fmod_geometry_get_num_polygons","help":"fmod_geometry_get_num_polygons(geometry_ref)","hidden":false,"kind":1,"name":"fmod_geometry_get_num_polygons","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_geometry_set_user_data","argCount":0,"args":[2,2,],"documentation":"/// @desc\n\r/// @param {real} geometry_ref \n\r/// @param {real} data \n\r/// @returns {real}\n\r","externalName":"fmod_geometry_set_user_data","help":"fmod_geometry_set_user_data(geometry_ref, data)","hidden":false,"kind":1,"name":"fmod_geometry_set_user_data","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_geometry_get_user_data","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} geometry_ref \n\r/// @returns {real}\n\r","externalName":"fmod_geometry_get_user_data","help":"fmod_geometry_get_user_data(geometry_ref)","hidden":false,"kind":1,"name":"fmod_geometry_get_user_data","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_geometry_release","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} geometry_ref \n\r/// @returns {real}\n\r","externalName":"fmod_geometry_release","help":"fmod_geometry_release(geometry_ref)","hidden":false,"kind":1,"name":"fmod_geometry_release","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_geometry_save_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\r\n/// @param {real} geometry_ref \r\n/// @param {Pointer} buff_args\r\n/// @returns {real}\r\n","externalName":"fmod_geometry_save_multiplatform","help":"fmod_geometry_save_multiplatform(geometry_ref, buff)","hidden":false,"kind":1,"name":"fmod_geometry_save_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_reverb_3d_set_3d_attributes_multiplatform","argCount":0,"args":[2,1,2,2,],"documentation":"/// @desc\r\n/// @param {real} reverb_3d_ref \r\n/// @param {Pointer} buff_args \r\n/// @param {real} min_distance \r\n/// @param {real} max_distance \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_reverb_3d_set_3d_attributes_multiplatform","help":"fmod_reverb_3d_set_3d_attributes_multiplatform(reverb_3d_ref, buff_args, min_distance, max_distance)","hidden":true,"kind":1,"name":"fmod_reverb_3d_set_3d_attributes_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_reverb_3d_get_3d_attributes_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\r\n/// @param {real} reverb_3d_ref \r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_reverb_3d_get_3d_attributes_multiplatform","help":"fmod_reverb_3d_get_3d_attributes_multiplatform(reverb_3d_ref, buff_return)","hidden":true,"kind":1,"name":"fmod_reverb_3d_get_3d_attributes_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_reverb_3d_set_properties","argCount":0,"args":[2,2,2,2,2,2,2,2,2,2,2,2,2,],"documentation":"/// @desc\n\r/// @param {real} reverb_3d_ref \n\r/// @param {real} decay_time \n\r/// @param {real} early_delay \n\r/// @param {real} late_delay \n\r/// @param {real} hf_reference \n\r/// @param {real} hf_decay_ratio \n\r/// @param {real} diffusion \n\r/// @param {real} density \n\r/// @param {real} low_shelf_frequency \n\r/// @param {real} low_shelf_gain \n\r/// @param {real} high_cut \n\r/// @param {real} early_late_mix \n\r/// @param {real} wet_level \n\r/// @returns {real}\n\r","externalName":"fmod_reverb_3d_set_properties","help":"fmod_reverb_3d_set_properties(reverb_3d_ref, decay_time, early_delay, late_delay, hf_reference, hf_decay_ratio, diffusion, density, low_shelf_frequency, low_shelf_gain, high_cut, early_late_mix, wet_level)","hidden":false,"kind":1,"name":"fmod_reverb_3d_set_properties","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_reverb_3d_get_properties_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\r\n/// @param {real} reverb_3d_ref \r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_reverb_3d_get_properties_multiplatform","help":"fmod_reverb_3d_get_properties_multiplatform(reverb_3d_ref, buff_return)","hidden":true,"kind":1,"name":"fmod_reverb_3d_get_properties_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_reverb_3d_set_active","argCount":0,"args":[2,2,],"documentation":"/// @desc\n\r/// @param {real} reverb_3d_ref \n\r/// @param {real} active \n\r/// @returns {real}\n\r","externalName":"fmod_reverb_3d_set_active","help":"fmod_reverb_3d_set_active(reverb_3d_ref, active)","hidden":false,"kind":1,"name":"fmod_reverb_3d_set_active","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_reverb_3d_get_active","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} reverb_3d_ref \n\r/// @returns {real}\n\r","externalName":"fmod_reverb_3d_get_active","help":"fmod_reverb_3d_get_active(reverb_3d_ref)","hidden":false,"kind":1,"name":"fmod_reverb_3d_get_active","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_reverb_3d_release","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} reverb_3d_ref \n\r/// @returns {real}\n\r","externalName":"fmod_reverb_3d_release","help":"fmod_reverb_3d_release(reverb_3d_ref)","hidden":false,"kind":1,"name":"fmod_reverb_3d_release","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_reverb_3d_set_user_data","argCount":0,"args":[2,2,],"documentation":"/// @desc\n\r/// @param {real} reverb_3d_ref \n\r/// @param {real} data \n\r/// @returns {real}\n\r","externalName":"fmod_reverb_3d_set_user_data","help":"fmod_reverb_3d_set_user_data(reverb_3d_ref, data)","hidden":false,"kind":1,"name":"fmod_reverb_3d_set_user_data","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_reverb_3d_get_user_data","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} reverb_3d_ref \n\r/// @returns {real}\n\r","externalName":"fmod_reverb_3d_get_user_data","help":"fmod_reverb_3d_get_user_data(reverb_3d_ref)","hidden":false,"kind":1,"name":"fmod_reverb_3d_get_user_data","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_sound_get_name","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} sound_ref \n\r/// @returns {string}\n\r","externalName":"fmod_sound_get_name","help":"fmod_sound_get_name(sound_ref)","hidden":false,"kind":1,"name":"fmod_sound_get_name","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":1,},
+ {"$GMExtensionFunction":"","%Name":"fmod_sound_get_format_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\r\n/// @param {real} sound_ref \r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_sound_get_format_multiplatform","help":"fmod_sound_get_format_multiplatform(sound_ref, buff_return)","hidden":true,"kind":1,"name":"fmod_sound_get_format_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_sound_get_length","argCount":0,"args":[2,2,],"documentation":"/// @desc\r\n/// @param {real} sound_ref \r\n/// @param {enum.FMOD_TIMEUNIT} length_type \r\n/// @returns {real}\r\n","externalName":"fmod_sound_get_length","help":"fmod_sound_get_length(sound_ref, length_type)","hidden":false,"kind":1,"name":"fmod_sound_get_length","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_sound_get_num_tags_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\r\n/// @param {real} sound_ref \r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_sound_get_num_tags_multiplatform","help":"fmod_sound_get_num_tags_multiplatform(sound_ref, buff_return)","hidden":true,"kind":1,"name":"fmod_sound_get_num_tags_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_sound_get_tag_multiplatform","argCount":0,"args":[2,2,1,1,],"documentation":"/// @desc\r\n/// @param {real} sound_ref \r\n/// @param {real} tag_index \r\n/// @param {Pointer} buff_args \r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_sound_get_tag_multiplatform","help":"fmod_sound_get_tag_multiplatform(sound_ref, tag_index, buff_args, buff_return)","hidden":true,"kind":1,"name":"fmod_sound_get_tag_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_sound_set_3d_cone_settings","argCount":0,"args":[2,2,2,2,],"documentation":"/// @desc\n\r/// @param {real} sound_ref \n\r/// @param {real} inside_cone_angle \n\r/// @param {real} outside_cone_angle \n\r/// @param {real} outside_volume \n\r/// @returns {real}\n\r","externalName":"fmod_sound_set_3d_cone_settings","help":"fmod_sound_set_3d_cone_settings(sound_ref, inside_cone_angle, outside_cone_angle, outside_volume)","hidden":false,"kind":1,"name":"fmod_sound_set_3d_cone_settings","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_sound_get_3d_cone_settings_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\r\n/// @param {real} sound_ref \r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_sound_get_3d_cone_settings_multiplatform","help":"fmod_sound_get_3d_cone_settings_multiplatform(sound_ref, buff_return)","hidden":true,"kind":1,"name":"fmod_sound_get_3d_cone_settings_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_sound_set_3d_custom_rolloff_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\r\n/// @param {real} sound_ref \r\n/// @param {Pointer} buff_args \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_sound_set_3d_custom_rolloff_multiplatform","help":"fmod_sound_set_3d_custom_rolloff_multiplatform(sound_ref, buff_args)","hidden":true,"kind":1,"name":"fmod_sound_set_3d_custom_rolloff_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_sound_get_3d_custom_rolloff_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\r\n/// @param {real} sound_ref \r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_sound_get_3d_custom_rolloff_multiplatform","help":"fmod_sound_get_3d_custom_rolloff_multiplatform(sound_ref, buff_return)","hidden":true,"kind":1,"name":"fmod_sound_get_3d_custom_rolloff_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_sound_set_3d_min_max_distance","argCount":0,"args":[2,2,2,],"documentation":"/// @desc\n\r/// @param {real} sound_ref \n\r/// @param {real} min \n\r/// @param {real} max \n\r/// @returns {real}\n\r","externalName":"fmod_sound_set_3d_min_max_distance","help":"fmod_sound_set_3d_min_max_distance(sound_ref, min, max)","hidden":false,"kind":1,"name":"fmod_sound_set_3d_min_max_distance","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_sound_get_3d_min_max_distance_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\r\n/// @param {real} sound_ref \r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_sound_get_3d_min_max_distance_multiplatform","help":"fmod_sound_get_3d_min_max_distance_multiplatform(sound_ref, buff_return)","hidden":true,"kind":1,"name":"fmod_sound_get_3d_min_max_distance_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_sound_set_defaults","argCount":0,"args":[2,2,2,],"documentation":"/// @desc\n\r/// @param {real} sound_ref \n\r/// @param {real} frequency \n\r/// @param {real} priority \n\r/// @returns {real}\n\r","externalName":"fmod_sound_set_defaults","help":"fmod_sound_set_defaults(sound_ref, frequency, priority)","hidden":false,"kind":1,"name":"fmod_sound_set_defaults","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_sound_get_defaults_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\r\n/// @param {real} sound_ref \r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_sound_get_defaults_multiplatform","help":"fmod_sound_get_defaults_multiplatform(sound_ref, buff_return)","hidden":true,"kind":1,"name":"fmod_sound_get_defaults_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_sound_set_mode","argCount":0,"args":[2,2,],"documentation":"/// @desc\n\r/// @param {real} sound_ref \n\r/// @param {real} mode_ \n\r/// @returns {real}\n\r","externalName":"fmod_sound_set_mode","help":"fmod_sound_set_mode(sound_ref, mode_)","hidden":false,"kind":1,"name":"fmod_sound_set_mode","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_sound_get_mode","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} sound_ref \n\r/// @returns {real}\n\r","externalName":"fmod_sound_get_mode","help":"fmod_sound_get_mode(sound_ref)","hidden":false,"kind":1,"name":"fmod_sound_get_mode","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_sound_set_loop_count","argCount":0,"args":[2,2,],"documentation":"/// @desc\n\r/// @param {real} sound_ref \n\r/// @param {real} count \n\r/// @returns {real}\n\r","externalName":"fmod_sound_set_loop_count","help":"fmod_sound_set_loop_count(sound_ref, count)","hidden":false,"kind":1,"name":"fmod_sound_set_loop_count","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_sound_get_loop_count","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} sound_ref \n\r/// @returns {real}\n\r","externalName":"fmod_sound_get_loop_count","help":"fmod_sound_get_loop_count(sound_ref)","hidden":false,"kind":1,"name":"fmod_sound_get_loop_count","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_sound_set_loop_points","argCount":0,"args":[2,2,2,2,2,],"documentation":"/// @desc\r\n/// @param {real} sound_ref \r\n/// @param {real} loop_start \r\n/// @param {enum.FMOD_TIMEUNIT} loop_start_type \r\n/// @param {real} loop_end \r\n/// @param {enum.FMOD_TIMEUNIT} loop_end_type \r\n/// @returns {real}\r\n","externalName":"fmod_sound_set_loop_points","help":"fmod_sound_set_loop_points(sound_ref, loop_start, loop_start_type, loop_end, loop_end_type)","hidden":false,"kind":1,"name":"fmod_sound_set_loop_points","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_sound_get_loop_points_multiplatform","argCount":0,"args":[2,2,2,1,],"documentation":"/// @desc\r\n/// @param {real} sound_ref \r\n/// @param {real} loop_start_type \r\n/// @param {real} loop_end_type \r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_sound_get_loop_points_multiplatform","help":"fmod_sound_get_loop_points_multiplatform(sound_ref, loop_start_type, loop_end_type, buff_return)","hidden":true,"kind":1,"name":"fmod_sound_get_loop_points_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_sound_set_sound_group","argCount":0,"args":[2,2,],"documentation":"/// @desc\n\r/// @param {real} sound_ref \n\r/// @param {real} sound_group_ref \n\r/// @returns {real}\n\r","externalName":"fmod_sound_set_sound_group","help":"fmod_sound_set_sound_group(sound_ref, sound_group_ref)","hidden":false,"kind":1,"name":"fmod_sound_set_sound_group","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_sound_get_sound_group","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} sound_ref \n\r/// @returns {real}\n\r","externalName":"fmod_sound_get_sound_group","help":"fmod_sound_get_sound_group(sound_ref)","hidden":false,"kind":1,"name":"fmod_sound_get_sound_group","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_sound_get_num_sub_sounds","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} sound_ref \n\r/// @returns {real}\n\r","externalName":"fmod_sound_get_num_sub_sounds","help":"fmod_sound_get_num_sub_sounds(sound_ref)","hidden":false,"kind":1,"name":"fmod_sound_get_num_sub_sounds","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_sound_get_sub_sound","argCount":0,"args":[2,2,],"documentation":"/// @desc\n\r/// @param {real} sound_ref \n\r/// @param {real} sub_sound_index \n\r/// @returns {real}\n\r","externalName":"fmod_sound_get_sub_sound","help":"fmod_sound_get_sub_sound(sound_ref, sub_sound_index)","hidden":false,"kind":1,"name":"fmod_sound_get_sub_sound","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_sound_get_sub_sound_parent","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} sound_ref \n\r/// @returns {real}\n\r","externalName":"fmod_sound_get_sub_sound_parent","help":"fmod_sound_get_sub_sound_parent(sound_ref)","hidden":false,"kind":1,"name":"fmod_sound_get_sub_sound_parent","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_sound_get_open_state_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\r\n/// @param {real} sound_ref \r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_sound_get_open_state_multiplatform","help":"fmod_sound_get_open_state_multiplatform(sound_ref, buff_return)","hidden":true,"kind":1,"name":"fmod_sound_get_open_state_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_sound_read_data_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\r\n/// @param {real} sound_ref \r\n/// @param {Pointer} buff_args \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_sound_read_data_multiplatform","help":"fmod_sound_read_data_multiplatform(sound_ref, buff_args)","hidden":true,"kind":1,"name":"fmod_sound_read_data_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_sound_seek_data","argCount":0,"args":[2,2,],"documentation":"/// @desc\n\r/// @param {real} sound_ref \n\r/// @param {real} pcm \n\r/// @returns {real}\n\r","externalName":"fmod_sound_seek_data","help":"fmod_sound_seek_data(sound_ref, pcm)","hidden":false,"kind":1,"name":"fmod_sound_seek_data","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_sound_lock_multiplatform","argCount":0,"args":[2,1,1,],"documentation":"/// @desc\r\n/// @param {real} sound_ref \r\n/// @param {Pointer} buff_args \r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_sound_lock_multiplatform","help":"fmod_sound_lock_multiplatform(sound_ref, buff_args, buff_return)","hidden":true,"kind":1,"name":"fmod_sound_lock_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_sound_unlock_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\r\n/// @param {real} sound_ref \r\n/// @param {Pointer} buff_args \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_sound_unlock_multiplatform","help":"fmod_sound_unlock_multiplatform(sound_ref, buff_args)","hidden":true,"kind":1,"name":"fmod_sound_unlock_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_sound_get_music_num_channels","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} sound_ref \n\r/// @returns {real}\n\r","externalName":"fmod_sound_get_music_num_channels","help":"fmod_sound_get_music_num_channels(sound_ref)","hidden":false,"kind":1,"name":"fmod_sound_get_music_num_channels","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_sound_set_music_channel_volume","argCount":0,"args":[2,2,2,],"documentation":"/// @desc\r\n/// @param {real} sound_ref \r\n/// @param {real} channel_index \r\n/// @param {real} volume \r\n/// @returns {real}\r\n","externalName":"fmod_sound_set_music_channel_volume","help":"fmod_sound_set_music_channel_volume(sound_ref, channel_index, volumen_)","hidden":false,"kind":1,"name":"fmod_sound_set_music_channel_volume","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_sound_get_music_channel_volume","argCount":0,"args":[2,2,],"documentation":"/// @desc\n\r/// @param {real} sound_ref \n\r/// @param {real} channel_index \n\r/// @returns {real}\n\r","externalName":"fmod_sound_get_music_channel_volume","help":"fmod_sound_get_music_channel_volume(sound_ref, channel_index)","hidden":false,"kind":1,"name":"fmod_sound_get_music_channel_volume","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_sound_set_music_speed","argCount":0,"args":[2,2,],"documentation":"/// @desc\n\r/// @param {real} sound_ref \n\r/// @param {real} speed \n\r/// @returns {real}\n\r","externalName":"fmod_sound_set_music_speed","help":"fmod_sound_set_music_speed(sound_ref, speed)","hidden":false,"kind":1,"name":"fmod_sound_set_music_speed","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_sound_get_music_speed","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} sound_ref \n\r/// @returns {real}\n\r","externalName":"fmod_sound_get_music_speed","help":"fmod_sound_get_music_speed(sound_ref)","hidden":false,"kind":1,"name":"fmod_sound_get_music_speed","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_sound_get_sync_point_multiplatform","argCount":0,"args":[2,2,2,1,],"documentation":"/// @desc\r\n/// @param {real} sound_ref \r\n/// @param {real} point_index \r\n/// @param {enum.FMOD_TIMEUNIT} offset_type \r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_sound_get_sync_point_multiplatform","help":"fmod_sound_get_sync_point_multiplatform(sound_ref, point_index, offset_type, buff_return)","hidden":true,"kind":1,"name":"fmod_sound_get_sync_point_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_sound_get_num_sync_points","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} sound_ref \n\r/// @returns {real}\n\r","externalName":"fmod_sound_get_num_sync_points","help":"fmod_sound_get_num_sync_points(sound_ref)","hidden":false,"kind":1,"name":"fmod_sound_get_num_sync_points","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_sound_add_sync_point","argCount":0,"args":[2,2,2,1,],"documentation":"/// @desc\r\n/// @param {real} sound_ref \r\n/// @param {real} offset \r\n/// @param {enum.FMOD_TIMEUNIT} offset_type \r\n/// @param {string} name \r\n/// @returns {real}\r\n","externalName":"fmod_sound_add_sync_point","help":"fmod_sound_add_sync_point(sound_ref, offset, offset_type, name)","hidden":false,"kind":1,"name":"fmod_sound_add_sync_point","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_sound_delete_sync_point","argCount":0,"args":[2,2,],"documentation":"/// @desc\n\r/// @param {real} sound_ref \n\r/// @param {real} point_index \n\r/// @returns {real}\n\r","externalName":"fmod_sound_delete_sync_point","help":"fmod_sound_delete_sync_point(sound_ref, point_index)","hidden":false,"kind":1,"name":"fmod_sound_delete_sync_point","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_sound_release","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} sound_ref \n\r/// @returns {real}\n\r","externalName":"fmod_sound_release","help":"fmod_sound_release(sound_ref)","hidden":false,"kind":1,"name":"fmod_sound_release","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_sound_get_system_object","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} sound_ref \n\r/// @returns {real}\n\r","externalName":"fmod_sound_get_system_object","help":"fmod_sound_get_system_object(sound_ref)","hidden":false,"kind":1,"name":"fmod_sound_get_system_object","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_sound_set_user_data","argCount":0,"args":[2,2,],"documentation":"/// @desc\n\r/// @param {real} sound_ref \n\r/// @param {real} data \n\r/// @returns {real}\n\r","externalName":"fmod_sound_set_user_data","help":"fmod_sound_set_user_data(sound_ref, data)","hidden":false,"kind":1,"name":"fmod_sound_set_user_data","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_sound_get_user_data","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} sound_ref \n\r/// @returns {real}\n\r","externalName":"fmod_sound_get_user_data","help":"fmod_sound_get_user_data(sound_ref)","hidden":false,"kind":1,"name":"fmod_sound_get_user_data","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_sound_group_set_max_audible","argCount":0,"args":[2,2,],"documentation":"/// @desc\n\r/// @param {real} sound_group_ref \n\r/// @param {real} max_audible \n\r/// @returns {real}\n\r","externalName":"fmod_sound_group_set_max_audible","help":"fmod_sound_group_set_max_audible(sound_group_ref, max_audible)","hidden":false,"kind":1,"name":"fmod_sound_group_set_max_audible","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_sound_group_get_max_audible","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} sound_group_ref \n\r/// @returns {real}\n\r","externalName":"fmod_sound_group_get_max_audible","help":"fmod_sound_group_get_max_audible(sound_group_ref)","hidden":false,"kind":1,"name":"fmod_sound_group_get_max_audible","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_sound_group_set_max_audible_behavior","argCount":0,"args":[2,2,],"documentation":"/// @desc\r\n/// @param {real} sound_group_ref \r\n/// @param {enum.FMOD_SOUNDGROUP_BEHAVIOR} behavior \r\n/// @returns {real}\r\n","externalName":"fmod_sound_group_set_max_audible_behavior","help":"fmod_sound_group_set_max_audible_behavior(sound_group_ref, behavior)","hidden":false,"kind":1,"name":"fmod_sound_group_set_max_audible_behavior","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_sound_group_get_max_audible_behavior","argCount":0,"args":[2,],"documentation":"/// @desc\r\n/// @param {real} sound_group_ref \r\n/// @returns {enum.FMOD_SOUNDGROUP_BEHAVIOR}\r\n","externalName":"fmod_sound_group_get_max_audible_behavior","help":"fmod_sound_group_get_max_audible_behavior(sound_group_ref)","hidden":false,"kind":1,"name":"fmod_sound_group_get_max_audible_behavior","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_sound_group_set_mute_fade_speed","argCount":0,"args":[2,2,],"documentation":"/// @desc\n\r/// @param {real} sound_group_ref \n\r/// @param {real} speed \n\r/// @returns {real}\n\r","externalName":"fmod_sound_group_set_mute_fade_speed","help":"fmod_sound_group_set_mute_fade_speed(sound_group_ref, speed)","hidden":false,"kind":1,"name":"fmod_sound_group_set_mute_fade_speed","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_sound_group_get_mute_fade_speed","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} sound_group_ref \n\r/// @returns {real}\n\r","externalName":"fmod_sound_group_get_mute_fade_speed","help":"fmod_sound_group_get_mute_fade_speed(sound_group_ref)","hidden":false,"kind":1,"name":"fmod_sound_group_get_mute_fade_speed","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_sound_group_set_volume","argCount":0,"args":[2,2,],"documentation":"/// @desc\n\r/// @param {real} sound_group_ref \n\r/// @param {real} volume \n\r/// @returns {real}\n\r","externalName":"fmod_sound_group_set_volume","help":"fmod_sound_group_set_volume(sound_group_ref, volume)","hidden":false,"kind":1,"name":"fmod_sound_group_set_volume","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_sound_group_get_volume","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} sound_group_ref \n\r/// @returns {real}\n\r","externalName":"fmod_sound_group_get_volume","help":"fmod_sound_group_get_volume(sound_group_ref)","hidden":false,"kind":1,"name":"fmod_sound_group_get_volume","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_sound_group_get_num_sounds","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} sound_group_ref \n\r/// @returns {real}\n\r","externalName":"fmod_sound_group_get_num_sounds","help":"fmod_sound_group_get_num_sounds(sound_group_ref)","hidden":false,"kind":1,"name":"fmod_sound_group_get_num_sounds","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_sound_group_get_sound","argCount":0,"args":[2,2,],"documentation":"/// @desc\n\r/// @param {real} sound_group_ref \n\r/// @param {real} sound_index \n\r/// @returns {real}\n\r","externalName":"fmod_sound_group_get_sound","help":"fmod_sound_group_get_sound(sound_group_ref, sound_index)","hidden":false,"kind":1,"name":"fmod_sound_group_get_sound","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_sound_group_get_num_playing","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} sound_group_ref \n\r/// @returns {real}\n\r","externalName":"fmod_sound_group_get_num_playing","help":"fmod_sound_group_get_num_playing(sound_group_ref)","hidden":false,"kind":1,"name":"fmod_sound_group_get_num_playing","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_sound_group_stop","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} sound_group_ref \n\r/// @returns {real}\n\r","externalName":"fmod_sound_group_stop","help":"fmod_sound_group_stop(sound_group_ref)","hidden":false,"kind":1,"name":"fmod_sound_group_stop","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_sound_group_get_name","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} sound_group_ref \n\r/// @returns {string}\n\r","externalName":"fmod_sound_group_get_name","help":"fmod_sound_group_get_name(sound_group_ref)","hidden":false,"kind":1,"name":"fmod_sound_group_get_name","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":1,},
+ {"$GMExtensionFunction":"","%Name":"fmod_sound_group_release","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} sound_group_ref \n\r/// @returns {real}\n\r","externalName":"fmod_sound_group_release","help":"fmod_sound_group_release(sound_group_ref)","hidden":false,"kind":1,"name":"fmod_sound_group_release","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_sound_group_get_system_object","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} sound_group_ref \n\r/// @returns {real}\n\r","externalName":"fmod_sound_group_get_system_object","help":"fmod_sound_group_get_system_object(sound_group_ref)","hidden":false,"kind":1,"name":"fmod_sound_group_get_system_object","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_sound_group_set_user_data","argCount":0,"args":[2,2,],"documentation":"/// @desc\n\r/// @param {real} sound_group_ref \n\r/// @param {real} data \n\r/// @returns {real}\n\r","externalName":"fmod_sound_group_set_user_data","help":"fmod_sound_group_set_user_data(sound_group_ref, data)","hidden":false,"kind":1,"name":"fmod_sound_group_set_user_data","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_sound_group_get_user_data","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} sound_group_ref \n\r/// @returns {real}\n\r","externalName":"fmod_sound_group_get_user_data","help":"fmod_sound_group_get_user_data(sound_group_ref)","hidden":false,"kind":1,"name":"fmod_sound_group_get_user_data","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_bank_get_loading_state","argCount":0,"args":[2,],"documentation":"/// @desc\r\n/// @param {real} bank_ref \r\n/// @returns {enum.FMOD_STUDIO_LOADING_STATE}\r\n","externalName":"fmod_studio_bank_get_loading_state","help":"fmod_studio_bank_get_loading_state(bank_ref)","hidden":false,"kind":1,"name":"fmod_studio_bank_get_loading_state","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_bank_load_sample_data","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} bank_ref \n\r/// @returns {real}\n\r","externalName":"fmod_studio_bank_load_sample_data","help":"fmod_studio_bank_load_sample_data(bank_ref)","hidden":false,"kind":1,"name":"fmod_studio_bank_load_sample_data","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_bank_unload_sample_data","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} bank_ref \n\r/// @returns {real}\n\r","externalName":"fmod_studio_bank_unload_sample_data","help":"fmod_studio_bank_unload_sample_data(bank_ref)","hidden":false,"kind":1,"name":"fmod_studio_bank_unload_sample_data","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_bank_get_sample_loading_state","argCount":0,"args":[2,],"documentation":"/// @desc\r\n/// @param {real} bank_ref \r\n/// @returns {enum.FMOD_STUDIO_LOADING_STATE}\r\n","externalName":"fmod_studio_bank_get_sample_loading_state","help":"fmod_studio_bank_get_sample_loading_state(bank_ref)","hidden":false,"kind":1,"name":"fmod_studio_bank_get_sample_loading_state","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_bank_unload","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} bank_ref \n\r/// @returns {real}\n\r","externalName":"fmod_studio_bank_unload","help":"fmod_studio_bank_unload(bank_ref)","hidden":false,"kind":1,"name":"fmod_studio_bank_unload","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_bank_get_bus_count","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} bank_ref \n\r/// @returns {real}\n\r","externalName":"fmod_studio_bank_get_bus_count","help":"fmod_studio_bank_get_bus_count(bank_ref)","hidden":false,"kind":1,"name":"fmod_studio_bank_get_bus_count","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_bank_get_bus_list_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\r\n/// @param {real} bank_ref \r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_studio_bank_get_bus_list_multiplatform","help":"fmod_studio_bank_get_bus_list_multiplatform(bank_ref, buff_return)","hidden":true,"kind":1,"name":"fmod_studio_bank_get_bus_list_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_bank_get_event_count","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} bank_ref \n\r/// @returns {real}\n\r","externalName":"fmod_studio_bank_get_event_count","help":"fmod_studio_bank_get_event_count(bank_ref)","hidden":false,"kind":1,"name":"fmod_studio_bank_get_event_count","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_bank_get_event_description_list_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\r\n/// @param {real} bank_ref \r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_studio_bank_get_event_description_list_multiplatform","help":"fmod_studio_bank_get_event_description_list_multiplatform(bank_ref, buff_return)","hidden":true,"kind":1,"name":"fmod_studio_bank_get_event_description_list_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_bank_get_string_count","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} bank_ref \n\r/// @returns {real}\n\r","externalName":"fmod_studio_bank_get_string_count","help":"fmod_studio_bank_get_string_count(bank_ref)","hidden":false,"kind":1,"name":"fmod_studio_bank_get_string_count","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_bank_get_string_info_multiplatform","argCount":0,"args":[2,2,1,],"documentation":"/// @desc\r\n/// @param {real} bank_ref \r\n/// @param {real} string_index \r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_studio_bank_get_string_info_multiplatform","help":"fmod_studio_bank_get_string_info_multiplatform(bank_ref, string_index, buff_return)","hidden":true,"kind":1,"name":"fmod_studio_bank_get_string_info_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_bank_get_vca_count","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} bank_ref \n\r/// @returns {real}\n\r","externalName":"fmod_studio_bank_get_vca_count","help":"fmod_studio_bank_get_vca_count(bank_ref)","hidden":false,"kind":1,"name":"fmod_studio_bank_get_vca_count","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_bank_get_vca_list_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\r\n/// @param {real} bank_ref \r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_studio_bank_get_vca_list_multiplatform","help":"fmod_studio_bank_get_vca_list_multiplatform(bank_ref, buff_return)","hidden":true,"kind":1,"name":"fmod_studio_bank_get_vca_list_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_bank_get_id","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} bank_ref \n\r/// @returns {string}\n\r","externalName":"fmod_studio_bank_get_id","help":"fmod_studio_bank_get_id(bank_ref)","hidden":false,"kind":1,"name":"fmod_studio_bank_get_id","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":1,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_bank_get_path","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} bank_ref \n\r/// @returns {string}\n\r","externalName":"fmod_studio_bank_get_path","help":"fmod_studio_bank_get_path(bank_ref)","hidden":false,"kind":1,"name":"fmod_studio_bank_get_path","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":1,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_bank_is_valid","argCount":0,"args":[2,],"documentation":"/// @desc\r\n/// @param {real} bank_ref \r\n/// @returns {bool}\r\n","externalName":"fmod_studio_bank_is_valid","help":"fmod_studio_bank_is_valid(bank_ref)","hidden":false,"kind":1,"name":"fmod_studio_bank_is_valid","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_bank_set_user_data","argCount":0,"args":[2,2,],"documentation":"/// @desc\n\r/// @param {real} bank_ref \n\r/// @param {real} data \n\r/// @returns {real}\n\r","externalName":"fmod_studio_bank_set_user_data","help":"fmod_studio_bank_set_user_data(bank_ref, data)","hidden":false,"kind":1,"name":"fmod_studio_bank_set_user_data","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_bank_get_user_data","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} bank_ref \n\r/// @returns {real}\n\r","externalName":"fmod_studio_bank_get_user_data","help":"fmod_studio_bank_get_user_data(bank_ref)","hidden":false,"kind":1,"name":"fmod_studio_bank_get_user_data","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_bus_set_paused","argCount":0,"args":[2,2,],"documentation":"/// @desc\r\n/// @param {real} bus_ref \r\n/// @param {bool} pause \r\n/// @returns {real}\r\n","externalName":"fmod_studio_bus_set_paused","help":"fmod_studio_bus_set_paused(bus_ref, pause)","hidden":false,"kind":1,"name":"fmod_studio_bus_set_paused","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_bus_get_paused","argCount":0,"args":[2,],"documentation":"/// @desc\r\n/// @param {real} bus_ref \r\n/// @returns {bool}\r\n","externalName":"fmod_studio_bus_get_paused","help":"fmod_studio_bus_get_paused(bus_ref)","hidden":false,"kind":1,"name":"fmod_studio_bus_get_paused","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_bus_stop_all_events","argCount":0,"args":[2,2,],"documentation":"/// @desc\r\n/// @param {real} bus_ref \r\n/// @param {enum.FMOD_STUDIO_STOP_MODE} stop_mode \r\n/// @returns {real}\r\n","externalName":"fmod_studio_bus_stop_all_events","help":"fmod_studio_bus_stop_all_events(bus_ref, stop_mode)","hidden":false,"kind":1,"name":"fmod_studio_bus_stop_all_events","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_bus_set_volume","argCount":0,"args":[2,2,],"documentation":"/// @desc\n\r/// @param {real} bus_ref \n\r/// @param {real} volumen \n\r/// @returns {real}\n\r","externalName":"fmod_studio_bus_set_volume","help":"fmod_studio_bus_set_volume(bus_ref, volumen)","hidden":false,"kind":1,"name":"fmod_studio_bus_set_volume","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_bus_get_volume","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} bus_ref \n\r/// @returns {real}\n\r","externalName":"fmod_studio_bus_get_volume","help":"fmod_studio_bus_get_volume(bus_ref)","hidden":false,"kind":1,"name":"fmod_studio_bus_get_volume","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_bus_set_mute","argCount":0,"args":[2,2,],"documentation":"/// @desc\n\r/// @param {real} bus_ref \n\r/// @param {real} mute \n\r/// @returns {real}\n\r","externalName":"fmod_studio_bus_set_mute","help":"fmod_studio_bus_set_mute(bus_ref, mute)","hidden":false,"kind":1,"name":"fmod_studio_bus_set_mute","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_bus_get_mute","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} bus_ref \n\r/// @returns {real}\n\r","externalName":"fmod_studio_bus_get_mute","help":"fmod_studio_bus_get_mute(bus_ref)","hidden":false,"kind":1,"name":"fmod_studio_bus_get_mute","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_bus_set_port_index_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\r\n/// @param {real} bus_ref \r\n/// @param {Pointer} buff_args \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_studio_bus_set_port_index_multiplatform","help":"fmod_studio_bus_set_port_index_multiplatform(bus_ref, buff_args)","hidden":true,"kind":1,"name":"fmod_studio_bus_set_port_index_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_bus_get_port_index_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\r\n/// @param {real} bus_ref \r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_studio_bus_get_port_index_multiplatform","help":"fmod_studio_bus_get_port_index_multiplatform(bus_ref, buff_return)","hidden":true,"kind":1,"name":"fmod_studio_bus_get_port_index_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_bus_get_channel_group","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} bus_ref \n\r/// @returns {real}\n\r","externalName":"fmod_studio_bus_get_channel_group","help":"fmod_studio_bus_get_channel_group(bus_ref)","hidden":false,"kind":1,"name":"fmod_studio_bus_get_channel_group","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_bus_lock_channel_group","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} bus_ref \n\r/// @returns {real}\n\r","externalName":"fmod_studio_bus_lock_channel_group","help":"fmod_studio_bus_lock_channel_group(bus_ref)","hidden":false,"kind":1,"name":"fmod_studio_bus_lock_channel_group","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_bus_unlock_channel_group","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} bus_ref \n\r/// @returns {real}\n\r","externalName":"fmod_studio_bus_unlock_channel_group","help":"fmod_studio_bus_unlock_channel_group(bus_ref)","hidden":false,"kind":1,"name":"fmod_studio_bus_unlock_channel_group","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_bus_get_cpu_usage_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\r\n/// @param {real} bus_ref \r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_studio_bus_get_cpu_usage_multiplatform","help":"fmod_studio_bus_get_cpu_usage_multiplatform(bus_ref, buff_return)","hidden":true,"kind":1,"name":"fmod_studio_bus_get_cpu_usage_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_bus_get_memory_usage_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\n\r/// @param {real} bus_ref \n\r/// @param {Pointer} buff_return \n\r/// @returns {real}\n\r","externalName":"fmod_studio_bus_get_memory_usage_multiplatform","help":"fmod_studio_bus_get_memory_usage(bus_ref, buff_return)","hidden":false,"kind":1,"name":"fmod_studio_bus_get_memory_usage_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_bus_get_id","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} bus_ref \n\r/// @returns {string}\n\r","externalName":"fmod_studio_bus_get_id","help":"fmod_studio_bus_get_id(bus_ref)","hidden":false,"kind":1,"name":"fmod_studio_bus_get_id","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":1,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_bus_get_path","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} bus_ref \n\r/// @returns {string}\n\r","externalName":"fmod_studio_bus_get_path","help":"fmod_studio_bus_get_path(bus_ref)","hidden":false,"kind":1,"name":"fmod_studio_bus_get_path","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":1,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_bus_is_valid","argCount":0,"args":[2,],"documentation":"/// @desc\r\n/// @param {real} bus_ref \r\n/// @returns {bool}\r\n","externalName":"fmod_studio_bus_is_valid","help":"fmod_studio_bus_is_valid(bus_ref)","hidden":false,"kind":1,"name":"fmod_studio_bus_is_valid","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_command_replay_set_bank_path","argCount":0,"args":[2,1,],"documentation":"/// @desc\n\r/// @param {real} command_replay_ref \n\r/// @param {string} path \n\r/// @returns {real}\n\r","externalName":"fmod_studio_command_replay_set_bank_path","help":"fmod_studio_command_replay_set_bank_path(command_replay_ref, path)","hidden":false,"kind":1,"name":"fmod_studio_command_replay_set_bank_path","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_command_replay_set_create_instance_callback","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} command_replay_ref \n\r/// @returns {real}\n\r","externalName":"fmod_studio_command_replay_set_create_instance_callback","help":"fmod_studio_command_replay_set_create_instance_callback(command_replay_ref)","hidden":false,"kind":1,"name":"fmod_studio_command_replay_set_create_instance_callback","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_command_replay_set_frame_callback","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} command_replay_ref \n\r/// @returns {real}\n\r","externalName":"fmod_studio_command_replay_set_frame_callback","help":"fmod_studio_command_replay_set_frame_callback(command_replay_ref)","hidden":false,"kind":1,"name":"fmod_studio_command_replay_set_frame_callback","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_command_replay_set_load_bank_callback","argCount":0,"args":[2,1,],"documentation":"/// @desc\n\r/// @param {real} command_replay_ref \n\r/// @param {string} path \n\r/// @returns {real}\n\r","externalName":"fmod_studio_command_replay_set_load_bank_callback","help":"fmod_studio_command_replay_set_load_bank_callback(command_replay_ref, path)","hidden":false,"kind":1,"name":"fmod_studio_command_replay_set_load_bank_callback","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_command_replay_start","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} command_replay_ref \n\r/// @returns {real}\n\r","externalName":"fmod_studio_command_replay_start","help":"fmod_studio_command_replay_start(command_replay_ref)","hidden":false,"kind":1,"name":"fmod_studio_command_replay_start","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_command_replay_stop","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} command_replay_ref \n\r/// @returns {real}\n\r","externalName":"fmod_studio_command_replay_stop","help":"fmod_studio_command_replay_stop(command_replay_ref)","hidden":false,"kind":1,"name":"fmod_studio_command_replay_stop","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_command_replay_get_current_command_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\r\n/// @param {real} command_replay_ref \r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_studio_command_replay_get_current_command_multiplatform","help":"fmod_studio_command_replay_get_current_command_multiplatform(command_replay_ref, buff_return)","hidden":true,"kind":1,"name":"fmod_studio_command_replay_get_current_command_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_command_replay_get_playback_state","argCount":0,"args":[2,],"documentation":"/// @desc\r\n/// @param {real} command_replay_ref \r\n/// @returns {enum.FMOD_STUDIO_PLAYBACK_STATE}\r\n","externalName":"fmod_studio_command_replay_get_playback_state","help":"fmod_studio_command_replay_get_playback_state(command_replay_ref)","hidden":false,"kind":1,"name":"fmod_studio_command_replay_get_playback_state","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_command_replay_set_paused","argCount":0,"args":[2,2,],"documentation":"/// @desc\r\n/// @param {real} command_replay_ref \r\n/// @param {bool} pause \r\n/// @returns {real}\r\n","externalName":"fmod_studio_command_replay_set_paused","help":"fmod_studio_command_replay_set_paused(command_replay_ref, pause)","hidden":false,"kind":1,"name":"fmod_studio_command_replay_set_paused","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_command_replay_get_paused","argCount":0,"args":[2,],"documentation":"/// @desc\r\n/// @param {real} command_replay_ref \r\n/// @returns {bool}\r\n","externalName":"fmod_studio_command_replay_get_paused","help":"fmod_studio_command_replay_get_paused(command_replay_ref)","hidden":false,"kind":1,"name":"fmod_studio_command_replay_get_paused","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_command_replay_seek_to_command","argCount":0,"args":[2,2,],"documentation":"/// @desc\n\r/// @param {real} command_replay_ref \n\r/// @param {real} command_index \n\r/// @returns {real}\n\r","externalName":"fmod_studio_command_replay_seek_to_command","help":"fmod_studio_command_replay_seek_to_command(command_replay_ref, command_index)","hidden":false,"kind":1,"name":"fmod_studio_command_replay_seek_to_command","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_command_replay_seek_to_time","argCount":0,"args":[2,2,],"documentation":"/// @desc\n\r/// @param {real} command_replay_ref \n\r/// @param {real} time \n\r/// @returns {real}\n\r","externalName":"fmod_studio_command_replay_seek_to_time","help":"fmod_studio_command_replay_seek_to_time(command_replay_ref, time)","hidden":false,"kind":1,"name":"fmod_studio_command_replay_seek_to_time","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_command_replay_get_command_at_time","argCount":0,"args":[2,2,],"documentation":"/// @desc\n\r/// @param {real} command_replay_ref \n\r/// @param {real} time \n\r/// @returns {real}\n\r","externalName":"fmod_studio_command_replay_get_command_at_time","help":"fmod_studio_command_replay_get_command_at_time(command_replay_ref, time)","hidden":false,"kind":1,"name":"fmod_studio_command_replay_get_command_at_time","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_command_replay_get_command_count","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} command_replay_ref \n\r/// @returns {real}\n\r","externalName":"fmod_studio_command_replay_get_command_count","help":"fmod_studio_command_replay_get_command_count(command_replay_ref)","hidden":false,"kind":1,"name":"fmod_studio_command_replay_get_command_count","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_command_replay_get_command_info_multiplatform","argCount":0,"args":[2,2,1,],"documentation":"/// @desc\r\n/// @param {real} command_replay_ref \r\n/// @param {real} command_index \r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_studio_command_replay_get_command_info_multiplatform","help":"fmod_studio_command_replay_get_command_info_multiplatform(command_replay_ref, command_index, buff_return)","hidden":true,"kind":1,"name":"fmod_studio_command_replay_get_command_info_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_command_replay_get_command_string","argCount":0,"args":[2,2,],"documentation":"/// @desc\n\r/// @param {real} command_replay_ref \n\r/// @param {real} command_index \n\r/// @returns {string}\n\r","externalName":"fmod_studio_command_replay_get_command_string","help":"fmod_studio_command_replay_get_command_string(command_replay_ref, command_index)","hidden":false,"kind":1,"name":"fmod_studio_command_replay_get_command_string","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":1,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_command_replay_get_length","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} command_replay_ref \n\r/// @returns {real}\n\r","externalName":"fmod_studio_command_replay_get_length","help":"fmod_studio_command_replay_get_length(command_replay_ref)","hidden":false,"kind":1,"name":"fmod_studio_command_replay_get_length","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_command_replay_get_system_object","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} command_replay_ref \n\r/// @returns {real}\n\r","externalName":"fmod_studio_command_replay_get_system_object","help":"fmod_studio_command_replay_get_system_object(command_replay_ref)","hidden":false,"kind":1,"name":"fmod_studio_command_replay_get_system_object","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_command_replay_is_valid","argCount":0,"args":[2,],"documentation":"/// @desc\r\n/// @param {real} command_replay_ref \r\n/// @returns {bool}\r\n","externalName":"fmod_studio_command_replay_is_valid","help":"fmod_studio_command_replay_is_valid(command_replay_ref)","hidden":false,"kind":1,"name":"fmod_studio_command_replay_is_valid","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_command_replay_set_user_data","argCount":0,"args":[2,2,],"documentation":"/// @desc\n\r/// @param {real} command_replay_ref \n\r/// @param {real} data \n\r/// @returns {real}\n\r","externalName":"fmod_studio_command_replay_set_user_data","help":"fmod_studio_command_replay_set_user_data(command_replay_ref, data)","hidden":false,"kind":1,"name":"fmod_studio_command_replay_set_user_data","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_command_replay_get_user_data","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} command_replay_ref \n\r/// @returns {real}\n\r","externalName":"fmod_studio_command_replay_get_user_data","help":"fmod_studio_command_replay_get_user_data(command_replay_ref)","hidden":false,"kind":1,"name":"fmod_studio_command_replay_get_user_data","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_command_replay_release","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} command_replay_ref \n\r/// @returns {real}\n\r","externalName":"fmod_studio_command_replay_release","help":"fmod_studio_command_replay_release(command_replay_ref)","hidden":false,"kind":1,"name":"fmod_studio_command_replay_release","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_description_create_instance","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} event_description_ref \n\r/// @returns {real}\n\r","externalName":"fmod_studio_event_description_create_instance","help":"fmod_studio_event_description_create_instance(event_description_ref)","hidden":false,"kind":1,"name":"fmod_studio_event_description_create_instance","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_description_get_instance_count","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} event_description_ref \n\r/// @returns {real}\n\r","externalName":"fmod_studio_event_description_get_instance_count","help":"fmod_studio_event_description_get_instance_count(event_description_ref)","hidden":false,"kind":1,"name":"fmod_studio_event_description_get_instance_count","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_description_get_instance_list_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\n\r/// @param {real} event_description_ref \n\r/// @param {Pointer} buff_return \n\r/// @returns {real}\n\r","externalName":"fmod_studio_event_description_get_instance_list_multiplatform","help":"fmod_studio_event_description_get_instance_list(event_description_ref, buff_return)","hidden":false,"kind":1,"name":"fmod_studio_event_description_get_instance_list_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_description_release_all_instances","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} event_description_ref \n\r/// @returns {real}\n\r","externalName":"fmod_studio_event_description_release_all_instances","help":"fmod_studio_event_description_release_all_instances(event_description_ref)","hidden":false,"kind":1,"name":"fmod_studio_event_description_release_all_instances","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_description_load_sample_data","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} event_description_ref \n\r/// @returns {real}\n\r","externalName":"fmod_studio_event_description_load_sample_data","help":"fmod_studio_event_description_load_sample_data(event_description_ref)","hidden":false,"kind":1,"name":"fmod_studio_event_description_load_sample_data","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_description_unload_sample_data","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} event_description_ref \n\r/// @returns {real}\n\r","externalName":"fmod_studio_event_description_unload_sample_data","help":"fmod_studio_event_description_unload_sample_data(event_description_ref)","hidden":false,"kind":1,"name":"fmod_studio_event_description_unload_sample_data","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_description_get_sample_loading_state","argCount":0,"args":[2,],"documentation":"/// @desc\r\n/// @param {real} event_description_ref \r\n/// @returns {enum.FMOD_STUDIO_LOADING_STATE}\r\n","externalName":"fmod_studio_event_description_get_sample_loading_state","help":"fmod_studio_event_description_get_sample_loading_state(event_description_ref)","hidden":false,"kind":1,"name":"fmod_studio_event_description_get_sample_loading_state","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_description_is_3d","argCount":0,"args":[2,],"documentation":"/// @desc\r\n/// @param {real} event_description_ref \r\n/// @returns {bool}\r\n","externalName":"fmod_studio_event_description_is_3d","help":"fmod_studio_event_description_is_3d(event_description_ref)","hidden":false,"kind":1,"name":"fmod_studio_event_description_is_3d","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_description_is_doppler_enabled","argCount":0,"args":[2,],"documentation":"/// @desc\r\n/// @param {real} event_description_ref \r\n/// @returns {bool}\r\n","externalName":"fmod_studio_event_description_is_doppler_enabled","help":"fmod_studio_event_description_is_doppler_enabled(event_description_ref)","hidden":false,"kind":1,"name":"fmod_studio_event_description_is_doppler_enabled","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_description_is_oneshot","argCount":0,"args":[2,],"documentation":"/// @desc\r\n/// @param {real} event_description_ref \r\n/// @returns {bool}\r\n","externalName":"fmod_studio_event_description_is_oneshot","help":"fmod_studio_event_description_is_oneshot(event_description_ref)","hidden":false,"kind":1,"name":"fmod_studio_event_description_is_oneshot","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_description_is_snapshot","argCount":0,"args":[2,],"documentation":"/// @desc\r\n/// @param {real} event_description_ref \r\n/// @returns {bool}\r\n","externalName":"fmod_studio_event_description_is_snapshot","help":"fmod_studio_event_description_is_snapshot(event_description_ref)","hidden":false,"kind":1,"name":"fmod_studio_event_description_is_snapshot","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_description_is_stream","argCount":0,"args":[2,],"documentation":"/// @desc\r\n/// @param {real} event_description_ref \r\n/// @returns {bool}\r\n","externalName":"fmod_studio_event_description_is_stream","help":"fmod_studio_event_description_is_stream(event_description_ref)","hidden":false,"kind":1,"name":"fmod_studio_event_description_is_stream","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_description_has_sustain_point","argCount":0,"args":[2,],"documentation":"/// @desc\r\n/// @param {real} event_description_ref \r\n/// @returns {bool}\r\n","externalName":"fmod_studio_event_description_has_sustain_point","help":"fmod_studio_event_description_has_sustain_point(event_description_ref)","hidden":false,"kind":1,"name":"fmod_studio_event_description_has_sustain_point","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_description_get_min_max_distance_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\r\n/// @param {real} event_description_ref \r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_studio_event_description_get_min_max_distance_multiplatform","help":"fmod_studio_event_description_get_min_max_distance_multiplatform(event_description_ref, buff_return)","hidden":true,"kind":1,"name":"fmod_studio_event_description_get_min_max_distance_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_description_get_sound_size","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} event_description_ref \n\r/// @returns {real}\n\r","externalName":"fmod_studio_event_description_get_sound_size","help":"fmod_studio_event_description_get_sound_size(event_description_ref)","hidden":false,"kind":1,"name":"fmod_studio_event_description_get_sound_size","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_description_get_parameter_description_by_name_multiplatform","argCount":0,"args":[2,1,1,],"documentation":"/// @desc\r\n/// @param {real} event_description_ref \r\n/// @param {string} name \r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_studio_event_description_get_parameter_description_by_name_multiplatform","help":"fmod_studio_event_description_get_parameter_description_by_name_multiplatform(event_description_ref, name, buff_return)","hidden":true,"kind":1,"name":"fmod_studio_event_description_get_parameter_description_by_name_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_description_get_parameter_description_by_id_multiplatform","argCount":0,"args":[2,1,1,],"documentation":"/// @desc\r\n/// @param {real} event_description_ref \r\n/// @param {Pointer} buff_args \r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_studio_event_description_get_parameter_description_by_id_multiplatform","help":"fmod_studio_event_description_get_parameter_description_by_id_multiplatform(event_description_ref, buff_args, buff_return)","hidden":true,"kind":1,"name":"fmod_studio_event_description_get_parameter_description_by_id_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_description_get_parameter_description_by_index_multiplatform","argCount":0,"args":[2,2,1,],"documentation":"/// @desc\r\n/// @param {real} event_description_ref \r\n/// @param {real} index \r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_studio_event_description_get_parameter_description_by_index_multiplatform","help":"fmod_studio_event_description_get_parameter_description_by_index_multiplatform(event_description_ref, index, buff_return)","hidden":true,"kind":1,"name":"fmod_studio_event_description_get_parameter_description_by_index_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_description_get_parameter_description_count","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} event_description_ref \n\r/// @returns {real}\n\r","externalName":"fmod_studio_event_description_get_parameter_description_count","help":"fmod_studio_event_description_get_parameter_description_count(event_description_ref)","hidden":false,"kind":1,"name":"fmod_studio_event_description_get_parameter_description_count","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_description_get_parameter_label_by_name","argCount":0,"args":[2,1,2,],"documentation":"/// @desc\n\r/// @param {real} event_description_ref \n\r/// @param {string} name \n\r/// @param {real} label_index \n\r/// @returns {string}\n\r","externalName":"fmod_studio_event_description_get_parameter_label_by_name","help":"fmod_studio_event_description_get_parameter_label_by_name(event_description_ref, name, label_index)","hidden":false,"kind":1,"name":"fmod_studio_event_description_get_parameter_label_by_name","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":1,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_description_get_parameter_label_by_id_multiplatform","argCount":0,"args":[2,1,2,],"documentation":"/// @desc\r\n/// @param {real} event_description_ref \r\n/// @param {Pointer} buff_args \r\n/// @param {real} label_index \r\n/// @returns {string}\r\n/// @ignore\r\n","externalName":"fmod_studio_event_description_get_parameter_label_by_id_multiplatform","help":"fmod_studio_event_description_get_parameter_label_by_id_multiplatform(event_description_ref, buff_args, label_index)","hidden":true,"kind":1,"name":"fmod_studio_event_description_get_parameter_label_by_id_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":1,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_description_get_parameter_label_by_index","argCount":0,"args":[2,2,2,],"documentation":"/// @desc\n\r/// @param {real} event_description_ref \n\r/// @param {real} index \n\r/// @param {real} label_index \n\r/// @returns {string}\n\r","externalName":"fmod_studio_event_description_get_parameter_label_by_index","help":"fmod_studio_event_description_get_parameter_label_by_index(event_description_ref, index, label_index)","hidden":false,"kind":1,"name":"fmod_studio_event_description_get_parameter_label_by_index","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":1,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_description_get_user_property_multiplatform","argCount":0,"args":[2,1,1,],"documentation":"/// @desc\n\r/// @param {real} event_description_ref \n\r/// @param {string} name \n\r/// @param {Pointer} buff_return \n\r/// @returns {real}\n\r","externalName":"fmod_studio_event_description_get_user_property_multiplatform","help":"fmod_studio_event_description_get_user_property_multiplatform(event_description_ref, name, buff_return)","hidden":true,"kind":1,"name":"fmod_studio_event_description_get_user_property_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_description_get_user_property_by_index_multiplatform","argCount":0,"args":[2,2,1,],"documentation":"/// @desc\n\r/// @param {real} event_description_ref \n\r/// @param {real} index \n\r/// @param {Pointer} buff_return \n\r/// @returns {real}\n\r","externalName":"fmod_studio_event_description_get_user_property_by_index_multiplatform","help":"fmod_studio_event_description_get_user_property_by_index_multiplatform(event_description_ref, index, buff_return)","hidden":true,"kind":1,"name":"fmod_studio_event_description_get_user_property_by_index_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_description_get_user_property_count","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} event_description_ref \n\r/// @param {string} name \n\r/// @returns {real}\n\r","externalName":"fmod_studio_event_description_get_user_property_count","help":"fmod_studio_event_description_get_user_property_count(event_description_ref)","hidden":false,"kind":1,"name":"fmod_studio_event_description_get_user_property_count","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_description_get_id","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} event_description_ref \n\r/// @returns {string}\n\r","externalName":"fmod_studio_event_description_get_id","help":"fmod_studio_event_description_get_id(event_description_ref)","hidden":false,"kind":1,"name":"fmod_studio_event_description_get_id","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":1,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_description_get_length","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} event_description_ref \n\r/// @returns {real}\n\r","externalName":"fmod_studio_event_description_get_length","help":"fmod_studio_event_description_get_length(event_description_ref)","hidden":false,"kind":1,"name":"fmod_studio_event_description_get_length","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_description_get_path","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} event_description_ref \n\r/// @returns {string}\n\r","externalName":"fmod_studio_event_description_get_path","help":"fmod_studio_event_description_get_path(event_description_ref)","hidden":false,"kind":1,"name":"fmod_studio_event_description_get_path","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":1,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_description_set_callback","argCount":0,"args":[2,2,],"documentation":"/// @desc\r\n/// @param {real} event_description_ref \r\n/// @param {enum.FMOD_STUDIO_EVENT_CALLBACK} type \r\n/// @returns {real}\r\n","externalName":"fmod_studio_event_description_set_callback","help":"fmod_studio_event_description_set_callback(event_description_ref, type)","hidden":false,"kind":1,"name":"fmod_studio_event_description_set_callback","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_description_set_user_data","argCount":0,"args":[2,2,],"documentation":"/// @desc\n\r/// @param {real} event_description_ref \n\r/// @param {real} data \n\r/// @returns {real}\n\r","externalName":"fmod_studio_event_description_set_user_data","help":"fmod_studio_event_description_set_user_data(event_description_ref, data)","hidden":false,"kind":1,"name":"fmod_studio_event_description_set_user_data","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_description_get_user_data","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} event_description_ref \n\r/// @returns {real}\n\r","externalName":"fmod_studio_event_description_get_user_data","help":"fmod_studio_event_description_get_user_data(event_description_ref)","hidden":false,"kind":1,"name":"fmod_studio_event_description_get_user_data","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_description_is_valid","argCount":0,"args":[2,],"documentation":"/// @desc\r\n/// @param {real} event_description_ref \r\n/// @returns {bool}\r\n","externalName":"fmod_studio_event_description_is_valid","help":"fmod_studio_event_description_is_valid(event_description_ref)","hidden":false,"kind":1,"name":"fmod_studio_event_description_is_valid","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_instance_start","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} event_instance_ref \n\r/// @returns {real}\n\r","externalName":"fmod_studio_event_instance_start","help":"fmod_studio_event_instance_start(event_instance_ref)","hidden":false,"kind":1,"name":"fmod_studio_event_instance_start","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_instance_stop","argCount":0,"args":[2,2,],"documentation":"/// @desc\r\n/// @param {real} event_instance_ref \r\n/// @param {enum.FMOD_STUDIO_STOP_MODE} mode \r\n/// @returns {real}\r\n","externalName":"fmod_studio_event_instance_stop","help":"fmod_studio_event_instance_stop(event_instance_ref, mode)","hidden":false,"kind":1,"name":"fmod_studio_event_instance_stop","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_instance_get_playback_state","argCount":0,"args":[2,],"documentation":"/// @desc\r\n/// @param {real} event_instance_ref \r\n/// @returns {enum.FMOD_STUDIO_PLAYBACK_STATE}\r\n","externalName":"fmod_studio_event_instance_get_playback_state","help":"fmod_studio_event_instance_get_playback_state(event_instance_ref)","hidden":false,"kind":1,"name":"fmod_studio_event_instance_get_playback_state","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_instance_set_paused","argCount":0,"args":[2,2,],"documentation":"/// @desc\r\n/// @param {real} event_instance_ref \r\n/// @param {bool} pause \r\n/// @returns {real}\r\n","externalName":"fmod_studio_event_instance_set_paused","help":"fmod_studio_event_instance_set_paused(event_instance_ref, pause)","hidden":false,"kind":1,"name":"fmod_studio_event_instance_set_paused","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_instance_get_paused","argCount":0,"args":[2,],"documentation":"/// @desc\r\n/// @param {real} event_instance_ref \r\n/// @returns {bool}\r\n","externalName":"fmod_studio_event_instance_get_paused","help":"fmod_studio_event_instance_get_paused(event_instance_ref)","hidden":false,"kind":1,"name":"fmod_studio_event_instance_get_paused","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_instance_keyoff","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} event_instance_ref \n\r/// @returns {real}\n\r","externalName":"fmod_studio_event_instance_keyoff","help":"fmod_studio_event_instance_keyoff(event_instance_ref)","hidden":false,"kind":1,"name":"fmod_studio_event_instance_keyoff","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_instance_set_pitch","argCount":0,"args":[2,2,],"documentation":"/// @desc\n\r/// @param {real} event_instance_ref \n\r/// @param {real} pitch \n\r/// @returns {real}\n\r","externalName":"fmod_studio_event_instance_set_pitch","help":"fmod_studio_event_instance_set_pitch(event_instance_ref, pitch)","hidden":false,"kind":1,"name":"fmod_studio_event_instance_set_pitch","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_instance_get_pitch","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} event_instance_ref \n\r/// @returns {real}\n\r","externalName":"fmod_studio_event_instance_get_pitch","help":"fmod_studio_event_instance_get_pitch(event_instance_ref)","hidden":false,"kind":1,"name":"fmod_studio_event_instance_get_pitch","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_instance_set_property","argCount":0,"args":[2,2,2,],"documentation":"/// @desc\r\n/// @param {real} event_instance_ref \r\n/// @param {enum.FMOD_STUDIO_EVENT_PROPERTY} property \r\n/// @param {real} value \r\n/// @returns {real}\r\n","externalName":"fmod_studio_event_instance_set_property","help":"fmod_studio_event_instance_set_property(event_instance_ref, property, value)","hidden":false,"kind":1,"name":"fmod_studio_event_instance_set_property","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_instance_get_property","argCount":0,"args":[2,2,],"documentation":"/// @desc\r\n/// @param {real} event_instance_ref \r\n/// @param {enum.FMOD_STUDIO_EVENT_PROPERTY} property \r\n/// @returns {real}\r\n","externalName":"fmod_studio_event_instance_get_property","help":"fmod_studio_event_get_property(event_instance_ref, property)","hidden":false,"kind":1,"name":"fmod_studio_event_instance_get_property","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_instance_set_timeline_position","argCount":0,"args":[2,2,],"documentation":"/// @desc\n\r/// @param {real} event_instance_ref \n\r/// @param {real} position \n\r/// @returns {real}\n\r","externalName":"fmod_studio_event_instance_set_timeline_position","help":"fmod_studio_event_instance_set_timeline_position(event_instance_ref, position)","hidden":false,"kind":1,"name":"fmod_studio_event_instance_set_timeline_position","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_instance_get_timeline_position","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} event_instance_ref \n\r/// @returns {real}\n\r","externalName":"fmod_studio_event_instance_get_timeline_position","help":"fmod_studio_event_instance_get_timeline_position(event_instance_ref)","hidden":false,"kind":1,"name":"fmod_studio_event_instance_get_timeline_position","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_instance_set_volume","argCount":0,"args":[2,2,],"documentation":"/// @desc\n\r/// @param {real} event_instance_ref \n\r/// @param {real} volume \n\r/// @returns {real}\n\r","externalName":"fmod_studio_event_instance_set_volume","help":"fmod_studio_event_instance_set_volume(event_instance_ref, volume)","hidden":false,"kind":1,"name":"fmod_studio_event_instance_set_volume","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_instance_get_volume_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\r\n/// @param {real} event_instance_ref \r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_studio_event_instance_get_volume_multiplatform","help":"fmod_studio_event_instance_get_volume_multiplatform(event_instance_ref, buff_return)","hidden":true,"kind":1,"name":"fmod_studio_event_instance_get_volume_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_instance_is_virtual","argCount":0,"args":[2,],"documentation":"/// @desc\r\n/// @param {real} event_instance_ref \r\n/// @returns {bool}\r\n","externalName":"fmod_studio_event_instance_is_virtual","help":"fmod_studio_event_instance_is_virtual(event_instance_ref)","hidden":false,"kind":1,"name":"fmod_studio_event_instance_is_virtual","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_instance_set_3d_attributes_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\r\n/// @param {real} event_instance_ref \r\n/// @param {Pointer} buff_args \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_studio_event_instance_set_3d_attributes_multiplatform","help":"fmod_studio_event_instance_set_3d_attributes_multiplatform(event_instance_ref, buff_args)","hidden":true,"kind":1,"name":"fmod_studio_event_instance_set_3d_attributes_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_instance_get_3d_attributes_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\r\n/// @param {real} event_instance_ref \r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_studio_event_instance_get_3d_attributes_multiplatform","help":"fmod_studio_event_instance_get_3d_attributes_multiplatform(event_instance_ref, buff_return)","hidden":true,"kind":1,"name":"fmod_studio_event_instance_get_3d_attributes_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_instance_set_listener_mask","argCount":0,"args":[2,2,],"documentation":"/// @desc\n\r/// @param {real} event_instance_ref \n\r/// @param {real} mask \n\r/// @returns {real}\n\r","externalName":"fmod_studio_event_instance_set_listener_mask","help":"fmod_studio_event_instance_set_listener_mask(event_instance_ref, mask)","hidden":false,"kind":1,"name":"fmod_studio_event_instance_set_listener_mask","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_instance_get_listener_mask","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} event_instance_ref \n\r/// @returns {real}\n\r","externalName":"fmod_studio_event_instance_get_listener_mask","help":"fmod_studio_event_instance_get_listener_mask(event_instance_ref)","hidden":false,"kind":1,"name":"fmod_studio_event_instance_get_listener_mask","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_instance_get_min_max_distance_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\r\n/// @param {real} event_instance_ref \r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_studio_event_instance_get_min_max_distance_multiplatform","help":"fmod_studio_event_instance_get_min_max_distance_multiplatform(event_instance_ref, buff_return)","hidden":true,"kind":1,"name":"fmod_studio_event_instance_get_min_max_distance_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_instance_set_parameter_by_name_multiplatform","argCount":0,"args":[2,1,2,2,],"documentation":"/// @desc\n\r/// @param {real} event_instance_ref \n\r/// @param {string} name \n\r/// @param {real} value \n\r/// @param {real} ignore_seek_speed \n\r/// @returns {real}\n\r/// @ignore\n\r","externalName":"fmod_studio_event_instance_set_parameter_by_name_multiplatform","help":"fmod_studio_event_instance_set_parameter_by_name_multiplatform(event_instance_ref, name, value, ignore_seek_speed)","hidden":true,"kind":1,"name":"fmod_studio_event_instance_set_parameter_by_name_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_instance_set_parameter_by_name_with_label","argCount":0,"args":[2,1,1,2,],"documentation":"/// @desc\n\r/// @param {real} event_instance_ref \n\r/// @param {string} name \n\r/// @param {string} label \n\r/// @param {real} ignore_seek_speed \n\r/// @returns {real}\n\r","externalName":"fmod_studio_event_instance_set_parameter_by_name_with_label","help":"fmod_studio_event_instance_set_parameter_by_name_with_label(event_instance_ref, name, label, ignore_seek_speed)","hidden":false,"kind":1,"name":"fmod_studio_event_instance_set_parameter_by_name_with_label","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_instance_get_parameter_by_name_multiplatform","argCount":0,"args":[2,1,1,],"documentation":"/// @desc\r\n/// @param {real} event_instance_ref \r\n/// @param {string} name \r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_studio_event_instance_get_parameter_by_name_multiplatform","help":"fmod_studio_event_instance_get_parameter_by_name_multiplatform(event_instance_ref, name, buff_return)","hidden":true,"kind":1,"name":"fmod_studio_event_instance_get_parameter_by_name_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_instance_set_parameter_by_id_multiplatform","argCount":0,"args":[2,1,2,2,],"documentation":"/// @desc\r\n/// @param {real} event_instance_ref \r\n/// @param {Pointer} buff_args \r\n/// @param {real} value \r\n/// @param {bool} ignore_seek_speed \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_studio_event_instance_set_parameter_by_id_multiplatform","help":"fmod_studio_event_instance_set_parameter_by_id_multiplatform(event_instance_ref, buff_args, value, ignore_seek_speed)","hidden":true,"kind":1,"name":"fmod_studio_event_instance_set_parameter_by_id_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_instance_set_parameter_by_id_with_label_multiplatform","argCount":0,"args":[2,1,1,2,],"documentation":"/// @desc\r\n/// @param {real} event_instance_ref \r\n/// @param {Pointer} buff_args \r\n/// @param {string} label \r\n/// @param {real} ignore_seek_speed \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_studio_event_instance_set_parameter_by_id_with_label_multiplatform","help":"fmod_studio_event_instance_set_parameter_by_id_with_label_multiplatform(event_instance_ref, buff_args, label, ignore_seek_speed)","hidden":true,"kind":1,"name":"fmod_studio_event_instance_set_parameter_by_id_with_label_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_instance_get_parameter_by_id_multiplatform","argCount":0,"args":[2,1,1,],"documentation":"/// @desc\r\n/// @param {real} event_instance_ref \r\n/// @param {Pointer} buff_args \r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_studio_event_instance_get_parameter_by_id_multiplatform","help":"fmod_studio_event_instance_get_parameter_by_id_multiplatform(event_instance_ref, buff_args, buff_return)","hidden":true,"kind":1,"name":"fmod_studio_event_instance_get_parameter_by_id_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_instance_get_channel_group","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} event_instance_ref \n\r/// @returns {real}\n\r","externalName":"fmod_studio_event_instance_get_channel_group","help":"fmod_studio_event_instance_get_channel_group(event_instance_ref)","hidden":false,"kind":1,"name":"fmod_studio_event_instance_get_channel_group","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_instance_set_reverb_level","argCount":0,"args":[2,2,2,],"documentation":"/// @desc\n\r/// @param {real} event_instance_ref \n\r/// @param {real} index \n\r/// @param {real} level \n\r/// @returns {real}\n\r","externalName":"fmod_studio_event_instance_set_reverb_level","help":"fmod_studio_event_instance_set_reverb_level(event_instance_ref, index, level)","hidden":false,"kind":1,"name":"fmod_studio_event_instance_set_reverb_level","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_instance_get_reverb_level","argCount":0,"args":[2,2,],"documentation":"/// @desc\n\r/// @param {real} event_instance_ref \n\r/// @param {real} index \n\r/// @returns {real}\n\r","externalName":"fmod_studio_event_instance_get_reverb_level","help":"fmod_studio_event_instance_get_reverb_level(event_instance_ref, index)","hidden":false,"kind":1,"name":"fmod_studio_event_instance_get_reverb_level","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_instance_get_cpu_usage_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\r\n/// @param {real} event_instance_ref \r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_studio_event_instance_get_cpu_usage_multiplatform","help":"fmod_studio_event_instance_get_cpu_usage_multiplatform(event_instance_ref, buff_return)","hidden":true,"kind":1,"name":"fmod_studio_event_instance_get_cpu_usage_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_instance_get_memory_usage_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\r\n/// @param {real} event_instance_ref \r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_studio_event_instance_get_memory_usage_multiplatform","help":"fmod_studio_event_instance_get_memory_usage_multiplatform(event_instance_ref, buff_return)","hidden":true,"kind":1,"name":"fmod_studio_event_instance_get_memory_usage_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_instance_set_callback","argCount":0,"args":[2,2,],"documentation":"/// @desc\r\n/// @param {real} event_instance_ref \r\n/// @param {enum.FMOD_STUDIO_EVENT_CALLBACK} type \r\n/// @returns {real}\r\n","externalName":"fmod_studio_event_instance_set_callback","help":"fmod_studio_event_instance_set_callback(event_instance_ref, type)","hidden":false,"kind":1,"name":"fmod_studio_event_instance_set_callback","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_instance_set_user_data","argCount":0,"args":[2,2,],"documentation":"/// @desc\n\r/// @param {real} event_instance_ref \n\r/// @param {real} data \n\r/// @returns {real}\n\r","externalName":"fmod_studio_event_instance_set_user_data","help":"fmod_studio_event_instance_set_user_data(event_instance_ref, data)","hidden":false,"kind":1,"name":"fmod_studio_event_instance_set_user_data","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_instance_get_user_data","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} event_instance_ref \n\r/// @returns {real}\n\r","externalName":"fmod_studio_event_instance_get_user_data","help":"fmod_studio_event_instance_get_user_data(event_instance_ref)","hidden":false,"kind":1,"name":"fmod_studio_event_instance_get_user_data","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_instance_get_description","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} event_instance_ref \n\r/// @returns {real}\n\r","externalName":"fmod_studio_event_instance_get_description","help":"fmod_studio_event_instance_get_description(event_instance_ref)","hidden":false,"kind":1,"name":"fmod_studio_event_instance_get_description","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_instance_release","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} event_instance_ref \n\r/// @returns {real}\n\r","externalName":"fmod_studio_event_instance_release","help":"fmod_studio_event_instance_release(event_instance_ref)","hidden":false,"kind":1,"name":"fmod_studio_event_instance_release","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_event_instance_is_valid","argCount":0,"args":[2,],"documentation":"/// @desc\r\n/// @param {real} event_instance_ref \r\n/// @returns {bool}\r\n","externalName":"fmod_studio_event_instance_is_valid","help":"fmod_studio_event_instance_is_valid(event_instance_ref)","hidden":false,"kind":1,"name":"fmod_studio_event_instance_is_valid","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_system_create","argCount":0,"args":[],"documentation":"/// @desc\n\r/// @returns {real}\n\r","externalName":"fmod_studio_system_create","help":"fmod_studio_system_create()","hidden":false,"kind":1,"name":"fmod_studio_system_create","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_system_init","argCount":0,"args":[2,2,2,],"documentation":"/// @desc\r\n/// @param {real} max_channels \r\n/// @param {enum.FMOD_STUDIO_INIT} studio_flags \r\n/// @param {enum.FMOD_INIT} core_flags \r\n/// @returns {real}\r\n","externalName":"fmod_studio_system_init","help":"fmod_studio_system_init(max_channels, studio_flags, core_flags)","hidden":false,"kind":1,"name":"fmod_studio_system_init","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_system_release","argCount":0,"args":[],"documentation":"/// @desc\n\r/// @returns {real}\n\r","externalName":"fmod_studio_system_release","help":"fmod_studio_system_release()","hidden":false,"kind":1,"name":"fmod_studio_system_release","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_system_update_multiplatform","argCount":0,"args":[],"documentation":"/// @desc\n\r/// @returns {real}\n\r","externalName":"fmod_studio_system_update_multiplatform","help":"fmod_studio_system_update()","hidden":true,"kind":1,"name":"fmod_studio_system_update_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_system_flush_commands","argCount":0,"args":[],"documentation":"/// @desc\n\r/// @returns {real}\n\r","externalName":"fmod_studio_system_flush_commands","help":"fmod_studio_system_flush_commands()","hidden":false,"kind":1,"name":"fmod_studio_system_flush_commands","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_system_flush_sample_loading","argCount":0,"args":[],"documentation":"/// @desc\n\r/// @returns {real}\n\r","externalName":"fmod_studio_system_flush_sample_loading","help":"fmod_studio_system_flush_sample_loading()","hidden":false,"kind":1,"name":"fmod_studio_system_flush_sample_loading","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_system_load_bank_custom","argCount":0,"args":[2,],"documentation":"/// @desc\r\n/// @param {enum.FMOD_STUDIO_LOAD_BANK} flags \r\n/// @returns {real}\r\n","externalName":"fmod_studio_system_load_bank_custom","help":"fmod_studio_system_load_bank_custom(flags)","hidden":false,"kind":1,"name":"fmod_studio_system_load_bank_custom","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_system_load_bank_file","argCount":0,"args":[1,2,],"documentation":"/// @desc\r\n/// @param {string} filename \r\n/// @param {enum.FMOD_STUDIO_LOAD_BANK} flags \r\n/// @returns {real}\r\n","externalName":"fmod_studio_system_load_bank_file","help":"fmod_studio_system_load_bank_file(filename, flags)","hidden":false,"kind":1,"name":"fmod_studio_system_load_bank_file","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_system_load_bank_memory_multiplatform","argCount":0,"args":[1,2,2,2,],"documentation":"/// @desc\r\n/// @param {Pointer} buff_data \r\n/// @param {real} length \r\n/// @param {enum.FMOD_STUDIO_LOAD_MEMORY_MODE} mode \r\n/// @param {enum.FMOD_STUDIO_LOAD_BANK} flags \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_studio_system_load_bank_memory_multiplatform","help":"fmod_studio_system_load_bank_memory_multiplatform(buff_data, length, mode, flags)","hidden":true,"kind":1,"name":"fmod_studio_system_load_bank_memory_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_system_unload_all","argCount":0,"args":[],"documentation":"/// @desc\n\r/// @returns {real}\n\r","externalName":"fmod_studio_system_unload_all","help":"fmod_studio_system_unload_all()","hidden":false,"kind":1,"name":"fmod_studio_system_unload_all","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_system_get_bank","argCount":0,"args":[1,],"documentation":"/// @desc\n\r/// @param {string} path \n\r/// @returns {real}\n\r","externalName":"fmod_studio_system_get_bank","help":"fmod_studio_system_get_bank(path)","hidden":false,"kind":1,"name":"fmod_studio_system_get_bank","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_system_get_bank_by_id","argCount":0,"args":[1,],"documentation":"/// @desc\n\r/// @param {string} guid_str \n\r/// @returns {real}\n\r","externalName":"fmod_studio_system_get_bank_by_id","help":"fmod_studio_system_get_bank_by_id(guid_str)","hidden":false,"kind":1,"name":"fmod_studio_system_get_bank_by_id","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_system_get_bank_count","argCount":0,"args":[],"documentation":"/// @desc\n\r/// @returns {real}\n\r","externalName":"fmod_studio_system_get_bank_count","help":"fmod_studio_system_get_bank_count()","hidden":false,"kind":1,"name":"fmod_studio_system_get_bank_count","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_system_get_bank_list_multiplatform","argCount":0,"args":[1,],"documentation":"/// @desc\r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_studio_system_get_bank_list_multiplatform","help":"fmod_studio_system_get_bank_list_multiplatform(buff_return)","hidden":true,"kind":1,"name":"fmod_studio_system_get_bank_list_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_system_set_listener_attributes_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\r\n/// @param {real} listener_index \r\n/// @param {Pointer} buff_args \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_studio_system_set_listener_attributes_multiplatform","help":"fmod_studio_system_set_listener_attributes_multiplatform(listener_index, buff_args)","hidden":true,"kind":1,"name":"fmod_studio_system_set_listener_attributes_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_system_get_listener_attributes_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\r\n/// @param {real} listener_index \r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_studio_system_get_listener_attributes_multiplatform","help":"fmod_studio_system_get_listener_attributes_multiplatform(listener_index, buff_return)","hidden":true,"kind":1,"name":"fmod_studio_system_get_listener_attributes_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_system_set_listener_weight","argCount":0,"args":[2,2,],"documentation":"/// @desc\n\r/// @param {real} listener_index \n\r/// @param {real} weight \n\r/// @returns {real}\n\r","externalName":"fmod_studio_system_set_listener_weight","help":"fmod_studio_system_set_listener_weight(listener_index, weight)","hidden":false,"kind":1,"name":"fmod_studio_system_set_listener_weight","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_system_get_listener_weight","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} listener_index \n\r/// @returns {real}\n\r","externalName":"fmod_studio_system_get_listener_weight","help":"fmod_studio_system_get_listener_weight(listener_index)","hidden":false,"kind":1,"name":"fmod_studio_system_get_listener_weight","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_system_set_num_listeners","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} num \n\r/// @returns {real}\n\r","externalName":"fmod_studio_system_set_num_listeners","help":"fmod_studio_system_set_num_listeners(num)","hidden":false,"kind":1,"name":"fmod_studio_system_set_num_listeners","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_system_get_num_listeners","argCount":0,"args":[],"documentation":"/// @desc\n\r/// @returns {real}\n\r","externalName":"fmod_studio_system_get_num_listeners","help":"fmod_studio_system_get_num_listeners()","hidden":false,"kind":1,"name":"fmod_studio_system_get_num_listeners","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_system_get_bus","argCount":0,"args":[1,],"documentation":"/// @desc\n\r/// @param {string} path \n\r/// @returns {real}\n\r","externalName":"fmod_studio_system_get_bus","help":"fmod_studio_system_get_bus(path)","hidden":false,"kind":1,"name":"fmod_studio_system_get_bus","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_system_get_bus_by_id","argCount":0,"args":[1,],"documentation":"/// @desc\n\r/// @param {string} guid \n\r/// @returns {real}\n\r","externalName":"fmod_studio_system_get_bus_by_id","help":"fmod_studio_system_get_bus_by_id(guid)","hidden":false,"kind":1,"name":"fmod_studio_system_get_bus_by_id","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_system_get_event","argCount":0,"args":[1,],"documentation":"/// @desc\n\r/// @param {string} path \n\r/// @returns {real}\n\r","externalName":"fmod_studio_system_get_event","help":"fmod_studio_system_get_event(path)","hidden":false,"kind":1,"name":"fmod_studio_system_get_event","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_system_get_event_by_id","argCount":0,"args":[1,],"documentation":"/// @desc\n\r/// @param {string} guid_str \n\r/// @returns {real}\n\r","externalName":"fmod_studio_system_get_event_by_id","help":"fmod_studio_system_get_event_by_id(guid_str)","hidden":false,"kind":1,"name":"fmod_studio_system_get_event_by_id","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_system_get_parameter_by_id_multiplatform","argCount":0,"args":[1,1,],"documentation":"/// @desc\r\n/// @param {Pointer} buff_args \r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_studio_system_get_parameter_by_id_multiplatform","help":"fmod_studio_system_get_parameter_by_id_multiplatform(buff_args, buff_return)","hidden":true,"kind":1,"name":"fmod_studio_system_get_parameter_by_id_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_system_set_parameter_by_id_multiplatform","argCount":0,"args":[1,2,2,],"documentation":"/// @desc\r\n/// @param {Pointer} buff_args \r\n/// @param {real} value \r\n/// @param {bool} ignore_seek_speed \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_studio_system_set_parameter_by_id_multiplatform","help":"fmod_studio_system_set_parameter_by_id_multiplatform(buff_args, value, ignore_seek_speed)","hidden":true,"kind":1,"name":"fmod_studio_system_set_parameter_by_id_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_system_set_parameter_by_id_with_label_multiplatform","argCount":0,"args":[1,1,2,],"documentation":"/// @desc\r\n/// @param {Pointer} buff_args \r\n/// @param {string} label \r\n/// @param {bool} ignore_seek_speed \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_studio_system_set_parameter_by_id_with_label_multiplatform","help":"fmod_studio_system_set_parameter_by_id_with_label_multiplatform(buff_args, label, ignore_seek_speed)","hidden":true,"kind":1,"name":"fmod_studio_system_set_parameter_by_id_with_label_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_system_get_parameter_by_name_multiplatform","argCount":0,"args":[1,1,],"documentation":"/// @desc\r\n/// @param {string} name \r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_studio_system_get_parameter_by_name_multiplatform","help":"fmod_studio_system_get_parameter_by_name_multiplatform(name, buff_return)","hidden":true,"kind":1,"name":"fmod_studio_system_get_parameter_by_name_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_system_set_parameter_by_name_multiplatform","argCount":0,"args":[1,2,2,],"documentation":"/// @desc\r\n/// @param {string} name \r\n/// @param {real} value \r\n/// @param {bool} ignore_seek_speed \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_studio_system_set_parameter_by_name_multiplatform","help":"fmod_studio_system_set_parameter_by_name_multiplatform(name, value, ignoreseekspeed)","hidden":true,"kind":1,"name":"fmod_studio_system_set_parameter_by_name_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_system_set_parameter_by_name_with_label_multiplatform","argCount":0,"args":[1,1,2,],"documentation":"/// @desc\r\n/// @param {string} name \r\n/// @param {string} label \r\n/// @param {bool} ignore_seek_speed \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_studio_system_set_parameter_by_name_with_label_multiplatform","help":"fmod_studio_system_set_parameter_by_name_with_label_multiplatform(name, label, ignoreseekspeed)","hidden":true,"kind":1,"name":"fmod_studio_system_set_parameter_by_name_with_label_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_system_get_parameter_description_by_name_multiplatform","argCount":0,"args":[1,1,],"documentation":"/// @desc\r\n/// @param {string} name \r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_studio_system_get_parameter_description_by_name_multiplatform","help":"fmod_studio_system_get_parameter_description_by_name_multiplatform(name, buff_return)","hidden":true,"kind":1,"name":"fmod_studio_system_get_parameter_description_by_name_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_system_get_parameter_description_by_id_multiplatform","argCount":0,"args":[1,1,],"documentation":"/// @desc\r\n/// @param {Pointer} buff_args \r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_studio_system_get_parameter_description_by_id_multiplatform","help":"fmod_studio_system_get_parameter_description_by_id_multiplatform(buff_args, buff_return)","hidden":true,"kind":1,"name":"fmod_studio_system_get_parameter_description_by_id_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_system_get_parameter_description_count","argCount":0,"args":[],"documentation":"/// @desc\n\r/// @returns {real}\n\r","externalName":"fmod_studio_system_get_parameter_description_count","help":"fmod_studio_system_get_parameter_description_count()","hidden":false,"kind":1,"name":"fmod_studio_system_get_parameter_description_count","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_system_get_parameter_description_list_multiplatform","argCount":0,"args":[1,],"documentation":"/// @desc\r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_studio_system_get_parameter_description_list_multiplatform","help":"fmod_studio_system_get_parameter_description_list_multiplatform(buff_return)","hidden":true,"kind":1,"name":"fmod_studio_system_get_parameter_description_list_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_system_get_parameter_label_by_name","argCount":0,"args":[1,2,],"documentation":"/// @desc\n\r/// @param {string} name \n\r/// @param {real} labelindex \n\r/// @returns {string}\n\r","externalName":"fmod_studio_system_get_parameter_label_by_name","help":"fmod_studio_system_get_parameter_label_by_name(name, labelindex)","hidden":false,"kind":1,"name":"fmod_studio_system_get_parameter_label_by_name","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":1,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_system_get_parameter_label_by_id_multiplatform","argCount":0,"args":[1,2,],"documentation":"/// @desc\r\n/// @param {Pointer} buff_args \r\n/// @param {real} label_index \r\n/// @returns {string}\r\n/// @ignore\r\n","externalName":"fmod_studio_system_get_parameter_label_by_id_multiplatform","help":"fmod_studio_system_get_parameter_label_by_id_multiplatform(buff_args, label_index)","hidden":true,"kind":1,"name":"fmod_studio_system_get_parameter_label_by_id_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":1,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_system_get_vca","argCount":0,"args":[1,],"documentation":"/// @desc\n\r/// @param {string} path \n\r/// @returns {real}\n\r","externalName":"fmod_studio_system_get_vca","help":"fmod_studio_system_get_vca(path)","hidden":false,"kind":1,"name":"fmod_studio_system_get_vca","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_system_get_vca_by_id","argCount":0,"args":[1,],"documentation":"/// @desc\n\r/// @param {string} guid_str \n\r/// @returns {real}\n\r","externalName":"fmod_studio_system_get_vca_by_id","help":"fmod_studio_system_get_vca_by_id(guid_str)","hidden":false,"kind":1,"name":"fmod_studio_system_get_vca_by_id","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_system_set_advanced_settings_multiplatform","argCount":0,"args":[1,],"documentation":"/// @desc\r\n/// @param {Pointer} buff_args \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_studio_system_set_advanced_settings_multiplatform","help":"fmod_studio_system_set_advanced_settings_multiplatform(buff_args)","hidden":true,"kind":1,"name":"fmod_studio_system_set_advanced_settings_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_system_get_advanced_settings_multiplatform","argCount":0,"args":[1,],"documentation":"/// @desc\r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_studio_system_get_advanced_settings_multiplatform","help":"fmod_studio_system_get_advanced_settings_multiplatform(buff_return)","hidden":true,"kind":1,"name":"fmod_studio_system_get_advanced_settings_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_system_start_command_capture","argCount":0,"args":[1,2,],"documentation":"/// @desc\n\r/// @param {string} filename \n\r/// @param {real} flags \n\r/// @returns {real}\n\r","externalName":"fmod_studio_system_start_command_capture","help":"fmod_studio_system_start_command_capture(filename, flags)","hidden":false,"kind":1,"name":"fmod_studio_system_start_command_capture","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_system_stop_command_capture","argCount":0,"args":[],"documentation":"/// @desc\n\r/// @returns {real}\n\r","externalName":"fmod_studio_system_stop_command_capture","help":"fmod_studio_system_stop_command_capture()","hidden":false,"kind":1,"name":"fmod_studio_system_stop_command_capture","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_system_load_command_replay","argCount":0,"args":[1,2,],"documentation":"/// @desc\n\r/// @param {string} filename \n\r/// @param {real} flags \n\r/// @returns {real}\n\r","externalName":"fmod_studio_system_load_command_replay","help":"fmod_studio_system_load_command_replay(filename, flags)","hidden":false,"kind":1,"name":"fmod_studio_system_load_command_replay","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_system_get_buffer_usage_multiplatform","argCount":0,"args":[1,],"documentation":"/// @desc\r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_studio_system_get_buffer_usage_multiplatform","help":"fmod_studio_system_get_buffer_usage_multiplatform(buff_return)","hidden":true,"kind":1,"name":"fmod_studio_system_get_buffer_usage_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_system_reset_buffer_usage","argCount":0,"args":[],"documentation":"/// @desc\n\r/// @returns {real}\n\r","externalName":"fmod_studio_system_reset_buffer_usage","help":"fmod_studio_system_reset_buffer_usage()","hidden":false,"kind":1,"name":"fmod_studio_system_reset_buffer_usage","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_system_get_cpu_usage_multiplatform","argCount":0,"args":[1,],"documentation":"/// @desc\r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_studio_system_get_cpu_usage_multiplatform","help":"fmod_studio_system_get_cpu_usage_multiplatform(buff_return)","hidden":true,"kind":1,"name":"fmod_studio_system_get_cpu_usage_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_system_get_memory_usage_multiplatform","argCount":0,"args":[1,],"documentation":"/// @desc\r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_studio_system_get_memory_usage_multiplatform","help":"fmod_studio_system_get_memory_usage_multiplatform(buff_return)","hidden":true,"kind":1,"name":"fmod_studio_system_get_memory_usage_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_system_set_callback","argCount":0,"args":[2,],"documentation":"/// @desc\r\n/// @param {enum.FMOD_STUDIO_SYSTEM_CALLBACK} type \r\n/// @returns {real}\r\n","externalName":"fmod_studio_system_set_callback","help":"fmod_studio_system_set_callback(type)","hidden":false,"kind":1,"name":"fmod_studio_system_set_callback","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_system_set_user_data","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} data \n\r/// @returns {real}\n\r","externalName":"fmod_studio_system_set_user_data","help":"fmod_studio_system_set_user_data(data)","hidden":false,"kind":1,"name":"fmod_studio_system_set_user_data","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_system_get_user_data","argCount":0,"args":[],"documentation":"/// @desc\n\r/// @returns {real}\n\r","externalName":"fmod_studio_system_get_user_data","help":"fmod_studio_system_get_user_data()","hidden":false,"kind":1,"name":"fmod_studio_system_get_user_data","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_system_get_sound_info_multiplatform","argCount":0,"args":[1,1,],"documentation":"/// @desc\r\n/// @param {string} key \r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_studio_system_get_sound_info_multiplatform","help":"fmod_studio_system_get_sound_info_multiplatform(key, buff_return)","hidden":true,"kind":1,"name":"fmod_studio_system_get_sound_info_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_system_get_core_system","argCount":0,"args":[],"documentation":"/// @desc\n\r/// @returns {real}\n\r","externalName":"fmod_studio_system_get_core_system","help":"fmod_studio_system_get_core_system()","hidden":false,"kind":1,"name":"fmod_studio_system_get_core_system","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_system_lookup_id","argCount":0,"args":[1,],"documentation":"/// @desc\n\r/// @param {string} path \n\r/// @returns {string}\n\r","externalName":"fmod_studio_system_lookup_id","help":"fmod_studio_system_lookup_id(path)","hidden":false,"kind":1,"name":"fmod_studio_system_lookup_id","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":1,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_system_lookup_path","argCount":0,"args":[1,],"documentation":"/// @desc\n\r/// @param {string} str_guid \n\r/// @returns {string}\n\r","externalName":"fmod_studio_system_lookup_path","help":"fmod_studio_system_lookup_path(str_guid)","hidden":false,"kind":1,"name":"fmod_studio_system_lookup_path","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":1,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_system_is_valid","argCount":0,"args":[],"documentation":"/// @desc\n\r/// @returns {real}\n\r","externalName":"fmod_studio_system_is_valid","help":"fmod_studio_system_is_valid()","hidden":false,"kind":1,"name":"fmod_studio_system_is_valid","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_vca_set_volume","argCount":0,"args":[2,2,],"documentation":"/// @desc\n\r/// @param {real} vca_ref \n\r/// @param {real} volume \n\r/// @returns {real}\n\r","externalName":"fmod_studio_vca_set_volume","help":"fmod_studio_vca_set_volume(vca_ref, volume)","hidden":false,"kind":1,"name":"fmod_studio_vca_set_volume","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_vca_get_volume","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} vca_ref \n\r/// @returns {real}\n\r","externalName":"fmod_studio_vca_get_volume","help":"fmod_studio_vca_get_volume(vca_ref)","hidden":false,"kind":1,"name":"fmod_studio_vca_get_volume","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_vca_get_id","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} vca_ref \n\r/// @returns {string}\n\r","externalName":"fmod_studio_vca_get_id","help":"fmod_studio_vca_get_id(vca_ref)","hidden":false,"kind":1,"name":"fmod_studio_vca_get_id","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":1,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_vca_get_path","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} vca_ref \n\r/// @returns {string}\n\r","externalName":"fmod_studio_vca_get_path","help":"fmod_studio_vca_get_path(vca_ref)","hidden":false,"kind":1,"name":"fmod_studio_vca_get_path","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":1,},
+ {"$GMExtensionFunction":"","%Name":"fmod_studio_vca_is_valid","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} vca_ref \n\r/// @returns {real}\n\r","externalName":"fmod_studio_vca_is_valid","help":"fmod_studio_vca_is_valid(vca_ref)","hidden":false,"kind":1,"name":"fmod_studio_vca_is_valid","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_create","argCount":0,"args":[],"documentation":"/// @desc\n\r/// @returns {real}\n\r","externalName":"fmod_system_create","help":"fmod_system_create()","hidden":false,"kind":1,"name":"fmod_system_create","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_select","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} system_ref \n\r/// @returns {real}\n\r","externalName":"fmod_system_select","help":"fmod_system_select(system_ref)","hidden":false,"kind":1,"name":"fmod_system_select","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_count","argCount":0,"args":[],"documentation":"/// @desc\n\r/// @returns {real}\n\r","externalName":"fmod_system_count","help":"fmod_system_count()","hidden":false,"kind":1,"name":"fmod_system_count","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_init","argCount":0,"args":[2,2,],"documentation":"/// @desc\r\n/// @param {real} max_channels \r\n/// @param {enum.FMOD_INIT} flags \r\n/// @returns {real}\r\n","externalName":"fmod_system_init","help":"fmod_system_init(max_channels, flags)","hidden":false,"kind":1,"name":"fmod_system_init","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_release","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} system_ref \n\r/// @returns {real}\n\r","externalName":"fmod_system_release","help":"fmod_system_release(system_ref)","hidden":false,"kind":1,"name":"fmod_system_release","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_close","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} system_ref \n\r/// @returns {real}\n\r","externalName":"fmod_system_close","help":"fmod_system_close(system_ref)","hidden":false,"kind":1,"name":"fmod_system_close","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_update_multiplatform","argCount":0,"args":[],"documentation":"/// @desc\n\r/// @returns {real}\n\r/// @ignore\n\r","externalName":"fmod_system_update_multiplatform","help":"fmod_system_update_multiplatform()","hidden":true,"kind":1,"name":"fmod_system_update_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_mixer_suspend","argCount":0,"args":[],"documentation":"/// @desc\n\r/// @returns {real}\n\r","externalName":"fmod_system_mixer_suspend","help":"fmod_system_mixer_suspend()","hidden":false,"kind":1,"name":"fmod_system_mixer_suspend","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_mixer_resume","argCount":0,"args":[],"documentation":"/// @desc\n\r/// @returns {real}\n\r","externalName":"fmod_system_mixer_resume","help":"fmod_system_mixer_resume()","hidden":false,"kind":1,"name":"fmod_system_mixer_resume","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_set_output","argCount":0,"args":[2,],"documentation":"/// @desc\r\n/// @param {enum.FMOD_OUTPUTTYPE} output \r\n/// @returns {real}\r\n","externalName":"fmod_system_set_output","help":"fmod_system_set_output(output)","hidden":false,"kind":1,"name":"fmod_system_set_output","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_get_output","argCount":0,"args":[],"documentation":"/// @desc\r\n/// @returns {enum.FMOD_OUTPUTTYPE}\r\n","externalName":"fmod_system_get_output","help":"fmod_system_get_output()","hidden":false,"kind":1,"name":"fmod_system_get_output","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_get_num_drivers","argCount":0,"args":[],"documentation":"/// @desc\n\r/// @returns {real}\n\r","externalName":"fmod_system_get_num_drivers","help":"fmod_system_get_num_drivers()","hidden":false,"kind":1,"name":"fmod_system_get_num_drivers","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_get_driver_info_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\r\n/// @param {real} driver_index \r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_system_get_driver_info_multiplatform","help":"fmod_system_get_driver_info_multiplatform(system_id, buff_return)","hidden":true,"kind":1,"name":"fmod_system_get_driver_info_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_set_driver","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} driver \n\r/// @returns {real}\n\r","externalName":"fmod_system_set_driver","help":"fmod_system_set_driver(driver)","hidden":false,"kind":1,"name":"fmod_system_set_driver","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_get_driver","argCount":0,"args":[],"documentation":"/// @desc\n\r/// @returns {real}\n\r","externalName":"fmod_system_get_driver","help":"fmod_system_get_driver()","hidden":false,"kind":1,"name":"fmod_system_get_driver","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_set_software_channels","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} software_channels \n\r/// @returns {real}\n\r","externalName":"fmod_system_set_software_channels","help":"fmod_system_set_software_channels(software_channels)","hidden":false,"kind":1,"name":"fmod_system_set_software_channels","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_get_software_channels","argCount":0,"args":[],"documentation":"/// @desc\n\r/// @returns {real}\n\r","externalName":"fmod_system_get_software_channels","help":"fmod_system_get_software_channels()","hidden":false,"kind":1,"name":"fmod_system_get_software_channels","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_set_software_format","argCount":0,"args":[2,2,2,],"documentation":"/// @desc\n\r/// @param {real} sample_rate \n\r/// @param {real} speaker_mode \n\r/// @param {real} num_raw_speakers \n\r/// @returns {real}\n\r","externalName":"fmod_system_set_software_format","help":"fmod_system_set_software_format(sample_rate, speaker_mode, num_raw_speakers)","hidden":false,"kind":1,"name":"fmod_system_set_software_format","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_get_software_format_multiplatform","argCount":0,"args":[1,],"documentation":"/// @desc\r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_system_get_software_format_multiplatform","help":"fmod_system_get_software_format_multiplatform(buff_return)","hidden":true,"kind":1,"name":"fmod_system_get_software_format_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_set_dsp_buffer_size","argCount":0,"args":[2,2,],"documentation":"/// @desc\n\r/// @param {real} buff_size \n\r/// @param {real} num_buffers \n\r/// @returns {real}\n\r","externalName":"fmod_system_set_dsp_buffer_size","help":"fmod_system_set_dsp_buffer_size(buff_size, num_buffers)","hidden":false,"kind":1,"name":"fmod_system_set_dsp_buffer_size","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_get_dsp_buffer_size_multiplatform","argCount":0,"args":[1,],"documentation":"/// @desc\r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_system_get_dsp_buffer_size_multiplatform","help":"fmod_system_get_dsp_buffer_size_multiplatform(buff_return)","hidden":true,"kind":1,"name":"fmod_system_get_dsp_buffer_size_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_set_stream_buffer_size","argCount":0,"args":[2,2,],"documentation":"/// @desc\n\r/// @param {real} file_buffer_size \n\r/// @param {real} file_buffer_size_type \n\r/// @returns {real}\n\r","externalName":"fmod_system_set_stream_buffer_size","help":"fmod_system_set_stream_buffer_size(file_buffer_size, file_buffer_size_type)","hidden":false,"kind":1,"name":"fmod_system_set_stream_buffer_size","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_get_stream_buffer_size_multiplatform","argCount":0,"args":[1,],"documentation":"/// @desc\r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_system_get_stream_buffer_size_multiplatform","help":"fmod_system_get_stream_buffer_size_multiplatform(buff_return)","hidden":true,"kind":1,"name":"fmod_system_get_stream_buffer_size_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_set_advanced_settings_multiplatform","argCount":0,"args":[1,],"documentation":"/// @desc\r\n/// @param {Pointer} buff_args \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_system_set_advanced_settings_multiplatform","help":"fmod_system_set_advanced_settings_multiplatform(buff_args)","hidden":true,"kind":1,"name":"fmod_system_set_advanced_settings_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_get_advanced_settings_multiplatform","argCount":0,"args":[1,],"documentation":"/// @desc\r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_system_get_advanced_settings_multiplatform","help":"fmod_system_get_advanced_settings_multiplatform(buff_return)","hidden":true,"kind":1,"name":"fmod_system_get_advanced_settings_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_set_speaker_position","argCount":0,"args":[2,2,2,2,],"documentation":"/// @desc\r\n/// @param {enum.FMOD_SPEAKER} speaker \r\n/// @param {real} x \r\n/// @param {real} y \r\n/// @param {real} active \r\n/// @returns {real}\r\n","externalName":"fmod_system_set_speaker_position","help":"fmod_system_set_speaker_position(speaker, x, y, active)","hidden":false,"kind":1,"name":"fmod_system_set_speaker_position","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_get_speaker_position_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\r\n/// @param {enum.FMOD_SPEAKER} speaker \r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_system_get_speaker_position_multiplatform","help":"fmod_system_get_speaker_position_multiplatform(speaker, buff_return)","hidden":true,"kind":1,"name":"fmod_system_get_speaker_position_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_set_3d_settings","argCount":0,"args":[2,2,2,],"documentation":"/// @desc\n\r/// @param {real} doppler_scale \n\r/// @param {real} distance_factor \n\r/// @param {real} rolloff_scale \n\r/// @returns {real}\n\r","externalName":"fmod_system_set_3d_settings","help":"fmod_system_set_3d_settings(doppler_scale, distance_factor, rolloff_scale)","hidden":false,"kind":1,"name":"fmod_system_set_3d_settings","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_get_3d_settings_multiplatform","argCount":0,"args":[1,],"documentation":"/// @desc\r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_system_get_3d_settings_multiplatform","help":"fmod_system_get_3d_settings_multiplatform(buff_return)","hidden":true,"kind":1,"name":"fmod_system_get_3d_settings_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_set_3d_num_listeners","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} num \n\r/// @returns {real}\n\r","externalName":"fmod_system_set_3d_num_listeners","help":"fmod_system_set_3d_num_listeners(num)","hidden":false,"kind":1,"name":"fmod_system_set_3d_num_listeners","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_get_3d_num_listeners","argCount":0,"args":[],"documentation":"/// @desc\n\r/// @returns {real}\n\r","externalName":"fmod_system_get_3d_num_listeners","help":"fmod_system_get_3d_num_listeners()","hidden":false,"kind":1,"name":"fmod_system_get_3d_num_listeners","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_set_3d_rolloff_callback","argCount":0,"args":[],"documentation":"/// @desc\n\r/// @returns {real}\n\r","externalName":"fmod_system_set_3d_rolloff_callback","help":"fmod_system_set_3d_rolloff_callback()","hidden":false,"kind":1,"name":"fmod_system_set_3d_rolloff_callback","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_set_network_proxy","argCount":0,"args":[1,],"documentation":"/// @desc\n\r/// @param {string} proxy \n\r/// @returns {real}\n\r","externalName":"fmod_system_set_network_proxy","help":"fmod_system_set_network_proxy(proxy)","hidden":false,"kind":1,"name":"fmod_system_set_network_proxy","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_get_network_proxy","argCount":0,"args":[],"documentation":"/// @desc\n\r/// @returns {string}\n\r","externalName":"fmod_system_get_network_proxy","help":"fmod_system_get_network_proxy()","hidden":false,"kind":1,"name":"fmod_system_get_network_proxy","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":1,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_set_network_timeout","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} timeout \n\r/// @returns {real}\n\r","externalName":"fmod_system_set_network_timeout","help":"fmod_system_set_network_timeout(timeout)","hidden":false,"kind":1,"name":"fmod_system_set_network_timeout","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_get_network_timeout","argCount":0,"args":[],"documentation":"/// @desc\n\r/// @returns {real}\n\r","externalName":"fmod_system_get_network_timeout","help":"fmod_system_get_network_timeout()","hidden":false,"kind":1,"name":"fmod_system_get_network_timeout","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_get_version","argCount":0,"args":[],"documentation":"/// @desc\n\r/// @returns {real}\n\r","externalName":"fmod_system_get_version","help":"fmod_system_get_version()","hidden":false,"kind":1,"name":"fmod_system_get_version","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_get_channels_playing_multiplatform","argCount":0,"args":[1,],"documentation":"/// @desc\r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_system_get_channels_playing_multiplatform","help":"fmod_system_get_channels_playing_multiplatform(buff_return)","hidden":true,"kind":1,"name":"fmod_system_get_channels_playing_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_get_cpu_usage_multiplatform","argCount":0,"args":[1,],"documentation":"/// @desc\r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_system_get_cpu_usage_multiplatform","help":"fmod_system_get_cpu_usage_multiplatform(buff_return)","hidden":true,"kind":1,"name":"fmod_system_get_cpu_usage_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_get_file_usage_multiplatform","argCount":0,"args":[1,],"documentation":"/// @desc\r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_system_get_file_usage_multiplatform","help":"fmod_system_get_file_usage_multiplatform(buff_return)","hidden":true,"kind":1,"name":"fmod_system_get_file_usage_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_get_default_mix_matrix_multiplatform","argCount":0,"args":[2,2,2,1,],"documentation":"/// @desc\r\n/// @param {enum.FMOD_SPEAKERMODE} source_speaker_mode \r\n/// @param {enum.FMOD_SPEAKERMODE} target_speaker_mode \r\n/// @param {real} matrix_hop\r\n/// @param {Pointer} buff_return\r\n/// @returns {real}\r\n","externalName":"fmod_system_get_default_mix_matrix_multiplatform","help":"fmod_system_get_default_mix_matrix_multiplatform(source_speaker_mode, target_speaker_mode, matrix_hop, buff_return)","hidden":true,"kind":1,"name":"fmod_system_get_default_mix_matrix_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_get_speaker_mode_channels","argCount":0,"args":[2,],"documentation":"/// @desc\r\n/// @param {enum.FMOD_SPEAKERMODE} mode \r\n/// @returns {real}\r\n","externalName":"fmod_system_get_speaker_mode_channels","help":"fmod_system_get_speaker_mode_channels(mode)","hidden":false,"kind":1,"name":"fmod_system_get_speaker_mode_channels","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_create_sound_multiplatform","argCount":0,"args":[1,2,1,],"documentation":"/// @desc\r\n/// @param {string} name_or_data \r\n/// @param {real} mode \r\n/// @param {Pointer} buff_extra \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_system_create_sound_multiplatform","help":"fmod_system_create_sound_multiplatform(name_or_data, mode, buff_extra)","hidden":true,"kind":1,"name":"fmod_system_create_sound_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_create_stream_multiplatform","argCount":0,"args":[1,2,1,],"documentation":"/// @desc\r\n/// @param {string} name_or_data \r\n/// @param {real} mode \r\n/// @param {Pointer} buff_extra \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_system_create_stream_multiplatform","help":"fmod_system_create_stream_multiplatform(name_or_data, mode, buff_extra)","hidden":true,"kind":1,"name":"fmod_system_create_stream_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_create_dsp","argCount":0,"args":[],"documentation":"/// @desc\n\r/// @returns {real}\n\r","externalName":"fmod_system_create_dsp","help":"fmod_system_create_dsp()","hidden":false,"kind":1,"name":"fmod_system_create_dsp","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_create_dsp_by_type","argCount":0,"args":[2,],"documentation":"/// @desc\r\n/// @param {enum.FMOD_DSP_TYPE} type \r\n/// @returns {real}\r\n","externalName":"fmod_system_create_dsp_by_type","help":"fmod_system_create_dsp_by_type(type)","hidden":false,"kind":1,"name":"fmod_system_create_dsp_by_type","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_create_channel_group","argCount":0,"args":[1,],"documentation":"/// @desc\n\r/// @param {string} name \n\r/// @returns {real}\n\r","externalName":"fmod_system_create_channel_group","help":"fmod_system_create_channel_group(name)","hidden":false,"kind":1,"name":"fmod_system_create_channel_group","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_create_sound_group","argCount":0,"args":[1,],"documentation":"/// @desc\n\r/// @param {string} name \n\r/// @returns {real}\n\r","externalName":"fmod_system_create_sound_group","help":"fmod_system_create_sound_group(name)","hidden":false,"kind":1,"name":"fmod_system_create_sound_group","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_create_reverb_3d","argCount":0,"args":[],"documentation":"/// @desc\n\r/// @returns {real}\n\r","externalName":"fmod_system_create_reverb_3d","help":"fmod_system_create_reverb_3d()","hidden":false,"kind":1,"name":"fmod_system_create_reverb_3d","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_play_sound_multiplatform","argCount":0,"args":[2,2,2,],"documentation":"/// @desc\r\n/// @param {real} sound_ref \r\n/// @param {real} channel_group_ref \r\n/// @param {bool} pause \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_system_play_sound_multiplatform","help":"fmod_system_play_sound_multiplatform(sound_ref, channel_group_ref, pause)","hidden":true,"kind":1,"name":"fmod_system_play_sound_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_play_dsp_multiplatform","argCount":0,"args":[2,2,2,],"documentation":"/// @desc\r\n/// @param {real} dsp_ref \r\n/// @param {real} channel_group_ref \r\n/// @param {bool} pause \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_system_play_dsp_multiplatform","help":"fmod_system_play_dsp_multiplatform(dsp_ref, channel_group_ref, pause)","hidden":true,"kind":1,"name":"fmod_system_play_dsp_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_get_channel","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} index \n\r/// @returns {real}\n\r","externalName":"fmod_system_get_channel","help":"fmod_system_get_channel(index)","hidden":false,"kind":1,"name":"fmod_system_get_channel","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_get_master_channel_group","argCount":0,"args":[],"documentation":"/// @desc\n\r/// @returns {real}\n\r","externalName":"fmod_system_get_master_channel_group","help":"fmod_system_get_master_channel_group()","hidden":false,"kind":1,"name":"fmod_system_get_master_channel_group","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_get_master_sound_group","argCount":0,"args":[],"documentation":"/// @desc\n\r/// @returns {real}\n\r","externalName":"fmod_system_get_master_sound_group","help":"fmod_system_get_master_sound_group()","hidden":false,"kind":1,"name":"fmod_system_get_master_sound_group","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_set_3d_listener_attributes_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\r\n/// @param {real} listener_index \r\n/// @param {Pointer} buff_args \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_system_set_3d_listener_attributes_multiplatform","help":"fmod_system_set_3d_listener_attributes_multiplatform(listener_index, buff_args)","hidden":true,"kind":1,"name":"fmod_system_set_3d_listener_attributes_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_get_3d_listener_attributes_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\r\n/// @param {real} listener_index \r\n/// @param {Pointer} buff_return \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_system_get_3d_listener_attributes_multiplatform","help":"fmod_system_get_3d_listener_attributes_multiplatform(listener_index, buff_return)","hidden":true,"kind":1,"name":"fmod_system_get_3d_listener_attributes_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_set_reverb_properties_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\r\n/// @param {real} instance_index \r\n/// @param {Pointer} buff_args \r\n/// @returns {real}\r\n/// @ignore\r\n","externalName":"fmod_system_set_reverb_properties_multiplatform","help":"fmod_system_set_reverb_properties_multiplatform(instance_index, buff_args)","hidden":true,"kind":1,"name":"fmod_system_set_reverb_properties_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_get_reverb_properties_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\n\r/// @param {real} instance_index \n\r/// @param {Pointer} buff_return \n\r/// @returns {real}\n\r/// @ignore\n\r","externalName":"fmod_system_get_reverb_properties_multiplatform","help":"fmod_system_get_reverb_properties_multiplatform(instance_index, buff_return)","hidden":true,"kind":1,"name":"fmod_system_get_reverb_properties_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_attach_channel_group_to_port_multiplatform","argCount":0,"args":[1,],"documentation":"/// @desc\n\r/// @param {Pointer} buff_args \n\r/// @returns {real}\n\r/// @ignore\n\r","externalName":"fmod_system_attach_channel_group_to_port_multiplatform","help":"fmod_system_attach_channel_group_to_port_multiplatform(buff_args)","hidden":true,"kind":1,"name":"fmod_system_attach_channel_group_to_port_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_detach_channel_group_from_port","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} channel_group_ref \n\r/// @returns {real}\n\r","externalName":"fmod_system_detach_channel_group_from_port","help":"fmod_system_detach_channel_group_from_port(channel_group_ref)","hidden":false,"kind":1,"name":"fmod_system_detach_channel_group_from_port","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_get_record_num_drivers_multiplatform","argCount":0,"args":[1,],"documentation":"/// @desc\n\r/// @param {Pointer} buff_return \n\r/// @returns {real}\n\r/// @ignore\n\r","externalName":"fmod_system_get_record_num_drivers_multiplatform","help":"fmod_system_get_record_num_drivers_multiplatform(buff_return)","hidden":true,"kind":1,"name":"fmod_system_get_record_num_drivers_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_get_record_driver_info_multiplatform","argCount":0,"args":[2,1,],"documentation":"/// @desc\n\r/// @param {real} recording_device_index \n\r/// @param {Pointer} buff_return \n\r/// @returns {real}\n\r/// @ignore\n\r","externalName":"fmod_system_get_record_driver_info_multiplatform","help":"fmod_system_get_record_driver_info_multiplatform(recording_device_index, buff_return)","hidden":true,"kind":1,"name":"fmod_system_get_record_driver_info_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_get_record_position","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} device_index \n\r/// @returns {real}\n\r","externalName":"fmod_system_get_record_position","help":"fmod_system_get_record_position(device_index)","hidden":false,"kind":1,"name":"fmod_system_get_record_position","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_record_start","argCount":0,"args":[2,2,2,],"documentation":"/// @desc\r\n/// @param {real} device_index \r\n/// @param {real} sound_ref \r\n/// @param {bool} loop \r\n/// @returns {real}\r\n","externalName":"fmod_system_record_start","help":"fmod_system_record_start(device_index, sound_ref, loop)","hidden":false,"kind":1,"name":"fmod_system_record_start","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_record_stop","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} device_index \n\r/// @returns {real}\n\r","externalName":"fmod_system_record_stop","help":"fmod_system_record_stop(device_index)","hidden":false,"kind":1,"name":"fmod_system_record_stop","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_is_recording","argCount":0,"args":[2,],"documentation":"/// @desc\r\n/// @param {real} device_index \r\n/// @returns {bool}\r\n","externalName":"fmod_system_is_recording","help":"fmod_system_is_recording(device_index)","hidden":false,"kind":1,"name":"fmod_system_is_recording","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_create_geometry","argCount":0,"args":[2,2,],"documentation":"/// @desc\n\r/// @param {real} max_polygons \n\r/// @param {real} max_vertices \n\r/// @returns {real}\n\r","externalName":"fmod_system_create_geometry","help":"fmod_system_create_geometry(max_polygons, max_vertices)","hidden":false,"kind":1,"name":"fmod_system_create_geometry","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_set_geometry_settings","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} max_world_size \n\r/// @returns {real}\n\r","externalName":"fmod_system_set_geometry_settings","help":"fmod_system_set_geometry_settings(max_world_size)","hidden":false,"kind":1,"name":"fmod_system_set_geometry_settings","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_get_geometry_settings","argCount":0,"args":[],"documentation":"/// @desc\n\r/// @returns {real}\n\r","externalName":"fmod_system_get_geometry_settings","help":"fmod_system_get_geometry_settings()","hidden":false,"kind":1,"name":"fmod_system_get_geometry_settings","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_load_geometry_multiplatform","argCount":0,"args":[1,2,],"documentation":"/// @desc\r\n/// @param {Pointer} buff_args\r\n/// @param {real} length \r\n/// @returns {real}\r\n","externalName":"fmod_system_load_geometry_multiplatform","help":"fmod_system_load_geometry_multiplatform(buff_args, length)","hidden":true,"kind":1,"name":"fmod_system_load_geometry_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_get_geometry_occlusion_multiplatform","argCount":0,"args":[1,],"documentation":"/// @desc\n\r/// @param {Pointer} buff_return \n\r/// @returns {real}\n\r/// @ignore\n\r","externalName":"fmod_system_get_geometry_occlusion_multiplatform","help":"fmod_system_get_geometry_occlusion_multiplatform(buff_return)","hidden":true,"kind":1,"name":"fmod_system_get_geometry_occlusion_multiplatform","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_lock_dsp","argCount":0,"args":[],"documentation":"/// @desc\n\r/// @returns {real}\n\r","externalName":"fmod_system_lock_dsp","help":"fmod_system_lock_dsp()","hidden":false,"kind":1,"name":"fmod_system_lock_dsp","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_unlock_dsp","argCount":0,"args":[],"documentation":"/// @desc\n\r/// @returns {real}\n\r","externalName":"fmod_system_unlock_dsp","help":"fmod_system_unlock_dsp()","hidden":false,"kind":1,"name":"fmod_system_unlock_dsp","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_set_callback","argCount":0,"args":[2,],"documentation":"/// @desc\r\n/// @param {enum.FMOD_SYSTEM_CALLBACK} type \r\n/// @returns {real}\r\n","externalName":"fmod_system_set_callback","help":"fmod_system_set_callback(type)","hidden":false,"kind":1,"name":"fmod_system_set_callback","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_set_user_data","argCount":0,"args":[2,2,],"documentation":"/// @desc\n\r/// @param {real} channel_control_ref \n\r/// @param {real} data \n\r/// @returns {real}\n\r","externalName":"fmod_system_set_user_data","help":"fmod_system_set_user_data(channel_control_ref, data)","hidden":false,"kind":1,"name":"fmod_system_set_user_data","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_system_get_user_data","argCount":0,"args":[2,],"documentation":"/// @desc\n\r/// @param {real} channel_control_ref \n\r/// @returns {real}\n\r","externalName":"fmod_system_get_user_data","help":"fmod_system_get_user_data(channel_control_ref)","hidden":false,"kind":1,"name":"fmod_system_get_user_data","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_fetch_callbacks","argCount":0,"args":[1,2,],"documentation":"/// @desc\n\r/// @param {Pointer} buffer \n\r/// @param {real} length \n\r/// @returns {real}\n\r","externalName":"fmod_fetch_callbacks","help":"fmod_internal_callback_get(buffer, length)","hidden":true,"kind":1,"name":"fmod_fetch_callbacks","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ {"$GMExtensionFunction":"","%Name":"fmod_last_result","argCount":0,"args":[],"documentation":"/// @desc\r\n/// @returns {enum.FMOD_RESULT}\r\n","externalName":"fmod_last_result","help":"fmod_last_result()","hidden":false,"kind":1,"name":"fmod_last_result","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,},
+ ],"init":"","kind":1,"name":"YYFMOD.ext","origname":"","ProxyFiles":[
+ {"$GMProxyFile":"","%Name":"YYFMOD.so","name":"YYFMOD.so","resourceType":"GMProxyFile","resourceVersion":"2.0","TargetMask":7,},
+ {"$GMProxyFile":"","%Name":"libYYFMOD.dylib","name":"libYYFMOD.dylib","resourceType":"GMProxyFile","resourceVersion":"2.0","TargetMask":1,},
+ {"$GMProxyFile":"","%Name":"YYFMOD_ps4.prx","name":"YYFMOD_ps4.prx","resourceType":"GMProxyFile","resourceVersion":"2.0","TargetMask":32,},
+ {"$GMProxyFile":"","%Name":"YYFMOD_ps5.prx","name":"YYFMOD_ps5.prx","resourceType":"GMProxyFile","resourceVersion":"2.0","TargetMask":59,},
+ {"$GMProxyFile":"","%Name":"YYFMOD.nro","name":"YYFMOD.nro","resourceType":"GMProxyFile","resourceVersion":"2.0","TargetMask":57,},
+ {"$GMProxyFile":"","%Name":"YYFMOD.nrr","name":"YYFMOD.nrr","resourceType":"GMProxyFile","resourceVersion":"2.0","TargetMask":57,},
+ {"$GMProxyFile":"","%Name":"YYFMOD_xboxone.dll","name":"YYFMOD_xboxone.dll","resourceType":"GMProxyFile","resourceVersion":"2.0","TargetMask":61,},
+ {"$GMProxyFile":"","%Name":"YYFMOD_xboxseriesxs.dll","name":"YYFMOD_xboxseriesxs.dll","resourceType":"GMProxyFile","resourceVersion":"2.0","TargetMask":61,},
+ {"$GMProxyFile":"","%Name":"YYFMOD_x64.dll","name":"YYFMOD_x64.dll","resourceType":"GMProxyFile","resourceVersion":"2.0","TargetMask":6,},
+ ],"resourceType":"GMExtensionFile","resourceVersion":"2.0","uncompress":false,"usesRunnerInterface":true,},
+ {"$GMExtensionFile":"v1","%Name":"libfmodL.dylib","constants":[],"copyToTargets":576460756598390786,"filename":"libfmodL.dylib","final":"","functions":[
+ {"$GMExtensionFunction":"","%Name":"__libfmodL_load__","argCount":0,"args":[],"documentation":"","externalName":"__libfmodL_load__","help":"","hidden":true,"kind":1,"name":"__libfmodL_load__","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":1,},
+ ],"init":"__libfmodL_load__","kind":1,"name":"libfmodL.dylib","origname":"","ProxyFiles":[
+ {"$GMProxyFile":"","%Name":"libfmodL.prx","name":"libfmodL.prx","resourceType":"GMProxyFile","resourceVersion":"2.0","TargetMask":32,},
+ {"$GMProxyFile":"","%Name":"libfmodL.prx","name":"libfmodL.prx","resourceType":"GMProxyFile","resourceVersion":"2.0","TargetMask":59,},
+ ],"resourceType":"GMExtensionFile","resourceVersion":"2.0","uncompress":false,"usesRunnerInterface":false,},
+ {"$GMExtensionFile":"v1","%Name":"libfmodstudioL.dylib","constants":[],"copyToTargets":576460756598390786,"filename":"libfmodstudioL.dylib","final":"","functions":[
+ {"$GMExtensionFunction":"","%Name":"__libfmodstudioL_load__","argCount":0,"args":[],"documentation":"","externalName":"__libfmodstudioL_load__","help":"","hidden":true,"kind":1,"name":"__libfmodstudioL_load__","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":1,},
+ ],"init":"__libfmodstudioL_load__","kind":1,"name":"libfmodstudioL.dylib","origname":"","ProxyFiles":[
+ {"$GMProxyFile":"","%Name":"libfmodstudioL.prx","name":"libfmodstudioL.prx","resourceType":"GMProxyFile","resourceVersion":"2.0","TargetMask":32,},
+ {"$GMProxyFile":"","%Name":"libfmodstudioL.prx","name":"libfmodstudioL.prx","resourceType":"GMProxyFile","resourceVersion":"2.0","TargetMask":59,},
+ ],"resourceType":"GMExtensionFile","resourceVersion":"2.0","uncompress":false,"usesRunnerInterface":false,},
+ ],
+ "gradleinject":"",
+ "hasConvertedCodeInjection":true,
+ "helpfile":"",
+ "HTML5CodeInjection":"",
+ "html5Props":false,
+ "IncludedResources":[],
+ "installdir":"",
+ "iosCocoaPodDependencies":"",
+ "iosCocoaPods":"",
+ "ioscodeinjection":"
Page not found
+ + +++FMOD Object: DSP
+
This module contains functionality related to DSPs (Digital Signal Processors), which are nodes within a graph that transforms input audio signals to an output stream.
+See the DSP Architecture Guide for more information.
+This module offers a collection of functions designed to address specific tasks and provide utilities for various purposes. Explore the available functions to make the most of the functionalities provided by this module.
+++FMOD Function: DSP::addInput
+
This function adds a DSP unit as an input to this object and returns the new DSPConnection between the two units.
+The returned connection will remain valid until the units are disconnected.
+Note
+When a DSP has multiple inputs the signals are automatically mixed together, sent to the unit's output(s).
+Syntax:
++++fmod_dsp_add_input(dsp_ref, dsp_input_ref, dsp_connection_type)
| Argument | +Type | +Description | +
|---|---|---|
| dsp_ref | +Real | +A reference to a DSP. | +
| dsp_input_ref | +Real | +A reference to the DSP unit to be added to dsp_ref. |
+
| dsp_connection_type | +FMOD_DSPCONNECTION_TYPE | +The type of connection between the two units. Optional. Default is FMOD_DSPCONNECTION_TYPE.STANDARD. |
+
Returns:
++ ++
++FMOD Function: DSP::getInput
+
This function retrieves the DSP unit at the specified index in the input list.
+The returned connection will remain valid until the units are disconnected.
+Note
+This will flush the DSP queue (which blocks against the mixer) to ensure the input list is correct, avoid this during time-sensitive operations.
+Syntax:
++++fmod_dsp_get_input(dsp_ref, dsp_chain_index)
| Argument | +Type | +Description | +
|---|---|---|
| dsp_ref | +Real | +A reference to a DSP. | +
| dsp_chain_index | +Real | +The offset into dsp_ref's input list. A value in the range [0, fmod_dsp_get_num_inputs] |
+
Returns:
++ ++
++FMOD Function: DSP::getOutput
+
This function retrieves the DSP unit at the specified index in the output list.
+The returned connection will remain valid until the units are disconnected.
+Note
+This will flush the DSP queue (which blocks against the mixer) to ensure the input list is correct, avoid this during time sensitive operations.
+Syntax:
++++fmod_dsp_get_output(dsp_ref, dsp_chain_index)
| Argument | +Type | +Description | +
|---|---|---|
| dsp_ref | +Real | +A reference to a DSP. | +
| dsp_chain_index | +Real | +A value in the range [0, fmod_dsp_get_num_inputs] | +
Returns:
++ ++
++FMOD Function: DSP::getNumInputs
+
This function retrieves the number of DSP units in the given DSP's input list.
+Note
+This will flush the DSP queue (which blocks against the mixer) to ensure the input list is correct, avoid this during time sensitive operations.
+Syntax:
++++fmod_dsp_get_num_inputs(dsp_ref)
| Argument | +Type | +Description | +
|---|---|---|
| dsp_ref | +Real | +A reference to a DSP. | +
Returns:
++ ++
++FMOD Function: DSP::getNumOutputs
+
This function retrieves the number of DSP units in the given DSP's output list.
+Note
+This will flush the DSP queue (which blocks against the mixer) to ensure the input list is correct, avoid this during time sensitive operations.
+Syntax:
++++fmod_dsp_get_num_outputs(dsp_ref)
| Argument | +Type | +Description | +
|---|---|---|
| dsp_ref | +Real | +A reference to a DSP. | +
Returns:
++ ++
++FMOD Function: DSP::disconnectAll
+
This function disconnects all inputs and/or outputs.
+This is a convenience function that is faster than disconnecting all inputs and outputs individually.
+Syntax:
++++fmod_dsp_disconnect_all(dsp_ref, inputs, outputs)
| Argument | +Type | +Description | +
|---|---|---|
| dsp_ref | +Real | +A reference to a DSP. | +
| inputs | +Boolean | +Whether all inputs should be disconnected. | +
| outputs | +Boolean | +Whether all outputs should be disconnected. | +
Returns:
+++N/A
+
++FMOD Function: DSP::disconnectFrom
+
This function disconnects the specified input DSP.
+If dsp_other_ref had only one output, after this operation that entire subgraph will no longer be connected to the DSP network.
After this operation dsp_connection_ref is no longer valid.
Syntax:
++++fmod_dsp_disconnect_from(dsp_ref, dsp_other_ref, dsp_connection_ref)
| Argument | +Type | +Description | +
|---|---|---|
| dsp_ref | +Real | +A reference to a DSP. | +
| dsp_other_ref | +Real | +The input unit to disconnect, if not specified all inputs and outputs are disconnected from this unit. | +
| dsp_connection_ref | +Real | +When there is more than one connection between two units this can be used to define which of the connections should be disconnected. Defaults to the value 0. | +
Returns:
+++N/A
+
++FMOD Function: DSP::getDataParameterIndex
+
This function retrieves the index of the first data parameter of a particular data type.
+The function returns the index of the first data parameter of type data_type after the function is called. This will be -1 if no matches were found.
fmod_last_result returns FMOD_RESULT.OK if a parameter of matching type is found and FMOD_RESULT.ERR_INVALID_PARAM if no matches were found.
Syntax:
++++fmod_dsp_get_data_parameter_index(dsp_ref, data_type)
| Argument | +Type | +Description | +
|---|---|---|
| dsp_ref | +Real | +A reference to a DSP. | +
| data_type | +Real | +The type of data to find. Typically of type FMOD_DSP_PARAMETER_DATA_TYPE. |
+
Returns:
++ ++
++FMOD Function: DSP::getNumParameters
+
This function retrieves the number of parameters exposed by this unit.
+You can use this value to enumerate all parameters of a DSP unit with fmod_dsp_get_parameter_info.
+Syntax:
++++fmod_dsp_get_num_parameters(dsp_ref)
| Argument | +Type | +Description | +
|---|---|---|
| dsp_ref | +Real | +A reference to a DSP. | +
Returns:
++ ++
++FMOD Function: DSP::setParameterBool
+
This function sets a boolean parameter by index.
+Syntax:
++++fmod_dsp_set_parameter_bool(dsp_ref, parameter_index, value)
| Argument | +Type | +Description | +
|---|---|---|
| dsp_ref | +Real | +A reference to a DSP. | +
| parameter_index | +Real | +The parameter index. A value in the range [0, fmod_dsp_get_num_parameters - 1]. | +
| value | +Boolean | +The parameter value. | +
Returns:
+++N/A
+
++FMOD Function: DSP::getParameterBool
+
This function retrieves a boolean parameter by index.
+Syntax:
++++fmod_dsp_get_parameter_bool(dsp_ref, parameter_index)
| Argument | +Type | +Description | +
|---|---|---|
| dsp_ref | +Real | +A reference to a DSP. | +
| parameter_index | +Real | +The parameter index. A value in the range [0, fmod_dsp_get_num_parameters - 1]. | +
Returns:
++ ++
++FMOD Function: DSP::setParameterData
+
This function sets a binary data parameter by index.
+You write the binary data for the parameter to a buffer using the Buffer functions and then pass the buffer and the length of the data, in bytes, to this function. The first byte of the buffer is the first byte of the data.
+Note
+This function doesn't take an offset, so the first byte of data is at the start of the buffer (at an offset of 0 bytes).
+Syntax:
++++fmod_dsp_set_parameter_data(dsp_ref, parameter_index, buffer, length)
| Argument | +Type | +Description | +
|---|---|---|
| dsp_ref | +Real | +A reference to a DSP. | +
| parameter_index | +Real | +The parameter index. A value in the range [0, fmod_dsp_get_num_parameters - 1]. | +
| buffer | +Buffer | +The Buffer that stores the data. | +
| length | +Real | +The length of the data in the buffer, in bytes. | +
Returns:
+++N/A
+
++FMOD Function: DSP::getParameterData
+
This function retrieves a binary data parameter by index.
+It returns 0 if the function succeeds or a value greater than 0 that's the buffer size needed to store the parameter data. In this case you should resize the buffer to the return value using buffer_resize.
+The binary data is copied to the Buffer that you specify. A total number of length bytes are written.
Note
+This function doesn't take an offset, so the data is written to the start of the buffer (at an offset of 0 bytes).
+Warning
+The Buffer that receives the data should be large enough to hold the parameter value, as this function doesn't resize the buffer. Any parameter data beyond the length of the buffer will not be included.
+Syntax:
++++fmod_dsp_get_parameter_data(dsp_ref, parameter_index, buffer, length)
| Argument | +Type | +Description | +
|---|---|---|
| dsp_ref | +Real | +A reference to a DSP. | +
| parameter_index | +Real | +The parameter index. A value in the range [0, fmod_dsp_get_num_parameters - 1]. | +
| buffer | +Buffer | +The Buffer that receives the data. | +
| length | +Real | +The length of the data to copy into the buffer, in bytes. | +
Returns:
++ ++
Example:
+/// Step Event
+var _required_size = fmod_dsp_get_parameter_data(dsp_fft, FMOD_DSP_FFT.SPECTRUMDATA, fft_buffer);
+if (buffer_get_size(fft_buffer) < _required_size)
+{
+ buffer_resize(fft_buffer, _required_size);
+}
+The code example above attempts to get the spectrum data of an FFT DSP and store it in a buffer fft_buffer.
+If the size of the buffer is less than the size returned, the buffer is resized.
+Note that no new call to the function is made since this code executes in the Step event and will be executed again in the next step anyway.
+++FMOD Function: DSP::setParameterFloat
+
This function sets a floating point parameter by index.
+Syntax:
++++fmod_dsp_set_parameter_float(dsp_ref, parameter_index, value)
| Argument | +Type | +Description | +
|---|---|---|
| dsp_ref | +Real | +A reference to a DSP. | +
| parameter_index | +Real | +The parameter index. A value in the range [0, fmod_dsp_get_num_parameters - 1]. | +
| value | +Real | +The parameter floating point data. | +
Returns:
+++N/A
+
++FMOD Function: DSP::getParameterFloat
+
This function retrieves a floating point parameter by index.
+Syntax:
++++fmod_dsp_get_parameter_float(dsp_ref, parameter_index)
| Argument | +Type | +Description | +
|---|---|---|
| dsp_ref | +Real | +A reference to a DSP. | +
| parameter_index | +Real | +The parameter index. A value in the range [0, fmod_dsp_get_num_parameters - 1]. | +
Returns:
++ ++
++FMOD Function: DSP::setParameterInt
+
This function sets an integer parameter by index.
+Syntax:
++++fmod_dsp_set_parameter_int(dsp_ref, parameter_index, value)
| Argument | +Type | +Description | +
|---|---|---|
| dsp_ref | +Real | +A reference to a DSP. | +
| parameter_index | +Real | +The parameter index. A value in the range [0, fmod_dsp_get_num_parameters - 1]. | +
| value | +Real | +The parameter integer data. | +
Returns:
+++N/A
+
++FMOD Function: DSP::getParameterInt
+
This function retrieves an integer parameter by index.
+Syntax:
++++fmod_dsp_get_parameter_int(dsp_ref, parameter_index)
| Argument | +Type | +Description | +
|---|---|---|
| dsp_ref | +Real | +A reference to a DSP. | +
| parameter_index | +Real | +The parameter index. A value in the range [0, fmod_dsp_get_num_parameters - 1]. | +
Returns:
++ ++
++FMOD Function: DSP::getParameterInfo
+
This function retrieves information about a specified parameter.
+Syntax:
++++fmod_dsp_get_parameter_info(dsp_ref)
| Argument | +Type | +Description | +
|---|---|---|
| dsp_ref | +Real | +A reference to a DSP. | +
Returns:
++ ++
++FMOD Function: DSP::setChannelFormat
+
This function sets the PCM input format this DSP will receive when processing.
+Note
+Setting the number of channels on a unit will force either a down or up mix to that channel count before processing the DSP read/process callback.
+Syntax:
++++fmod_dsp_set_channel_format(dsp_ref, channel_mask, num_channels, speaker_mode)
| Argument | +Type | +Description | +
|---|---|---|
| dsp_ref | +Real | +A reference to a DSP. | +
| channel_mask | +FMOD_CHANNELMASK | +Deprecated. | +
| num_channels | +Real | +The number of channels to be processed. A value in the range [0, FMOD_MAX_CHANNEL_WIDTHfmod_dsp_get_output_channel_format]. | +
| speaker_mode | +FMOD_SPEAKERMODE | +The speaker mode to describe the channel mapping. | +
Returns:
+++N/A
+
++FMOD Function: DSP::getChannelFormat
+
This function retrieves the PCM input format this DSP will receive when processing.
+Syntax:
++++fmod_dsp_get_channel_format(dsp_ref)
| Argument | +Type | +Description | +
|---|---|---|
| dsp_ref | +Real | +A reference to a DSP. | +
Returns:
++ ++
++FMOD Function: DSP::getOutputChannelFormat
+
This function retrieves the output format this DSP will produce when processing based on the input specified.
+Syntax:
++++fmod_dsp_get_output_channel_format(dsp_ref, channel_mask_in, num_channels_in, speaker_mode_in)
| Argument | +Type | +Description | +
|---|---|---|
| dsp_ref | +Real | +A reference to a DSP. | +
| channel_mask_in | +FMOD_CHANNELMASK | +Deprecated. | +
| num_channels_in | +Real | +The number of channels for the input signal. | +
| speaker_mode_in | +FMOD_SPEAKERMODE | +The speaker mode for the input signal. | +
Returns:
++ ++
++FMOD Function: DSP::getMeteringInfo
+
This function retrieves the signal metering information.
+Note
+Requesting metering information when it hasn't been enabled will result in FMOD_RESULT.ERR_BADCOMMAND.
Note
+FMOD_INIT.PROFILE_METER_ALL with fmod_system_init will automatically enable metering for all DSP units inside the mixer graph.
Syntax:
++++fmod_dsp_get_metering_info(dsp_ref)
| Argument | +Type | +Description | +
|---|---|---|
| dsp_ref | +Real | +A reference to a DSP. | +
Returns:
++ ++
++FMOD Function: DSP::setMeteringEnabled
+
This function sets the input and output signal metering enabled states.
+Input metering is pre-processing, while output metering is post-processing.
+Enabled metering allows fmod_dsp_get_metering_info to return metering information and allows FMOD profiling tools to visualize the levels.
+Note
+FMOD_INIT.PROFILE_METER_ALL with fmod_system_init will automatically enable metering for all DSP units inside the mixer graph.
Syntax:
++++fmod_dsp_set_metering_enabled(dsp_ref, enabled_in, enabled_out)
| Argument | +Type | +Description | +
|---|---|---|
| dsp_ref | +Real | +A reference to a DSP. | +
| enabled_in | +Boolean | +The metering enabled state for the input signal. | +
| enabled_out | +Boolean | +The metering enabled state for the output signal. | +
Returns:
+++N/A
+
++FMOD Function: DSP::getMeteringEnabled
+
This function retrieves the input and output signal metering enabled states.
+Syntax:
++++fmod_dsp_get_metering_enabled(dsp_ref)
| Argument | +Type | +Description | +
|---|---|---|
| dsp_ref | +Real | +A reference to a DSP. | +
Returns:
++ ++
++FMOD Function: DSP::setActive
+
This function sets the processing active state.
+If active is false, processing of this unit and its inputs are stopped.
Note
+When created, a DSP is inactive. If fmod_channel_control_add_dsp is used it will automatically be activated, otherwise it must be set to active manually.
+Syntax:
++++fmod_dsp_set_active(dsp_ref, active)
| Argument | +Type | +Description | +
|---|---|---|
| dsp_ref | +Real | +A reference to a DSP. | +
| active | +Boolean | +The active state. Default is false. |
+
Returns:
+++N/A
+
++FMOD Function: DSP::getActive
+
This function retrieves the processing active state.
+If active is false, processing of this unit and its inputs are stopped.
Note
+When created, a DSP is inactive. If fmod_channel_control_add_dsp is used it will automatically be activated, otherwise it must be set to active manually.
+Syntax:
++++fmod_dsp_get_active(dsp_ref)
| Argument | +Type | +Description | +
|---|---|---|
| dsp_ref | +Real | +A reference to a DSP. | +
Returns:
++ ++
++FMOD Function: DSP::setBypass
+
This function sets the processing bypass state.
+If bypass is true, processing of this unit is skipped but it continues to process its inputs.
Syntax:
++++fmod_dsp_set_bypass(dsp_ref, bypass)
| Argument | +Type | +Description | +
|---|---|---|
| dsp_ref | +Real | +A reference to a DSP. | +
| bypass | +Boolean | +The bypass state. Default is false. |
+
Returns:
+++N/A
+
++FMOD Function: DSP::getBypass
+
This function retrieves the processing bypass state.
+If the returned value is true, processing of this unit is skipped but it continues to process its inputs.
Syntax:
++++fmod_dsp_get_bypass(dsp_ref)
| Argument | +Type | +Description | +
|---|---|---|
| dsp_ref | +Real | +A reference to a DSP. | +
Returns:
++ ++
++FMOD Function: DSP::setWetDryMix
+
This function sets the scale of the wet and dry signal components.
+Syntax:
++++fmod_dsp_set_wet_dry_mix(dsp_ref, prewet, postwet, dry)
| Argument | +Type | +Description | +
|---|---|---|
| dsp_ref | +Real | +A reference to a DSP. | +
| prewet | +Real | +The level of the 'Dry' (pre-processed signal) mix that is processed by the DSP. 0 = silent, 1 = full. Negative level inverts the signal. Values larger than 1 amplify the signal. Default is 1. | +
| postwet | +Real | +The level of the 'Wet' (post-processed signal) mix that is output. 0 = silent, 1 = full. Negative level inverts the signal. Values larger than 1 amplify the signal. Default is 1. | +
| dry | +Real | +The level of the 'Dry' (pre-processed signal) mix that is output. 0 = silent, 1 = full. Negative level inverts the signal. Values larger than 1 amplify the signal. The default is 0. | +
Returns:
+++N/A
+
++FMOD Function: DSP::getWetDryMix
+
This function retrieves the scale of the wet and dry signal components.
+Syntax:
++++fmod_dsp_get_wet_dry_mix(dsp_ref)
| Argument | +Type | +Description | +
|---|---|---|
| dsp_ref | +Real | +A reference to a DSP. | +
Returns:
++ ++
++FMOD Function: DSP::getIdle
+
This function retrieves the idle state.
+A DSP is considered idle when it stops receiving input signal and all internal processing of stored input has been exhausted.
+Each DSP type has the potential to have differing idle behaviour based on the type of effect. A reverb or echo may take a longer time to go idle after it stops receiving a valid signal, compared to an effect with a shorter tail length like an EQ filter.
+Syntax:
++++fmod_dsp_get_idle(dsp_ref)
| Argument | +Type | +Description | +
|---|---|---|
| dsp_ref | +Real | +A reference to a DSP. | +
Returns:
++ ++
++FMOD Function: DSP::reset
+
This function resets a DSP's internal state ready for new input signal.
+This will clear all internal state derived from input signal while retaining any set parameter values. The intended use of the function is to avoid audible artifacts if moving the DSP from one part of the DSP network to another.
+Syntax:
++++fmod_dsp_reset(dsp_ref)
| Argument | +Type | +Description | +
|---|---|---|
| dsp_ref | +Real | +A reference to a DSP. | +
Returns:
+++N/A
+
++FMOD Function: DSP::release
+
This function frees a DSP object.
+If the DSP is not removed from the network with fmod_channel_control_remove_dsp after being added with fmod_channel_control_add_dsp, it will not release and fmod_last_result will return FMOD_RESULT.ERR_DSP_INUSE.
Syntax:
++++fmod_dsp_release(dsp_ref)
| Argument | +Type | +Description | +
|---|---|---|
| dsp_ref | +Real | +A reference to a DSP. | +
Returns:
+++N/A
+
++FMOD Function: DSP::getType
+
This function retrieves the pre-defined type of an FMOD registered DSP unit.
+This is only valid for built-in FMOD effects. Any user plugins will simply return FMOD_DSP_TYPE.UNKNOWN.
Syntax:
++++fmod_dsp_get_type(dsp_ref)
| Argument | +Type | +Description | +
|---|---|---|
| dsp_ref | +Real | +A reference to a DSP. | +
Returns:
++ ++
++FMOD Function: DSP::getInfo
+
This function retrieves information about this DSP unit.
+Syntax:
++++fmod_dsp_get_info(dsp_ref)
| Argument | +Type | +Description | +
|---|---|---|
| dsp_ref | +Real | +A reference to a DSP. | +
Returns:
++ ++
++FMOD Function: DSP::getCPUUsage
+
This function retrieves statistics on the mixer thread CPU usage for this unit.
+Note
+FMOD_INIT.PROFILE_ENABLE with fmod_system_init is required to call this function.
Syntax:
++++fmod_dsp_get_cpu_usage(dsp_ref)
| Argument | +Type | +Description | +
|---|---|---|
| dsp_ref | +Real | +A reference to a DSP. | +
Returns:
++ ++
++FMOD Function: DSP::setUserData
+
This function sets a floating-point user value associated with this object.
+Note
+While FMOD supports arbitrary User Data, this function only allows you to set a real value (a double-precision floating-point value).
+Syntax:
++++fmod_dsp_set_user_data(dsp_ref, data)
| Argument | +Type | +Description | +
|---|---|---|
| dsp_ref | +Real | +A reference to a DSP. | +
| data | +Real | +The floating point value stored on this object. | +
Returns:
+++N/A
+
++FMOD Function: DSP::getUserData
+
This function retrieves a floating point user value associated with this object.
+Note
+While FMOD supports arbitrary User Data, this function only allows you to get a real value (a double-precision floating-point value).
+Syntax:
++++fmod_dsp_get_user_data(dsp_ref)
| Argument | +Type | +Description | +
|---|---|---|
| dsp_ref | +Real | +A reference to a DSP. | +
Returns:
++ ++
++FMOD Function: DSP::setCallback
+
This function enables DSP notifications for the given DSP.
+When enabled, callbacks for this DSP will be triggered as an Social Async Event.
+This function operates asynchronously, which means that it does not immediately return the requested result. Instead, upon completion of the task, it will trigger the Social Async Event.
+Syntax:
++++fmod_dsp_set_callback(dsp_ref)
| Argument | +Type | +Description | +
|---|---|---|
| dsp_ref | +Real | +A reference to a DSP. | +
Returns:
+++N/A
+
Triggers:
++ ++
| Key | +Type | +Description | +
|---|---|---|
| type | +String | +The string "fmod_dsp_set_callback". |
+
| kind | +FMOD_DSP_CALLBACK_TYPE | +The kind of DSP callback. | +
| dsp_ref | +Real | +The DSP for which this callback is triggered. | +
| parameter_index | +Real | +OPTIONAL The index of the DSP parameter that's released (only included when kind is FMOD_DSP_CALLBACK_TYPE.DATAPARAMETERRELEASE). |
+
++FMOD Function: DSP::getSystemObject
+
This function retrieves the parent System object.
+Syntax:
++++fmod_dsp_get_system_object(dsp_ref)
| Argument | +Type | +Description | +
|---|---|---|
| dsp_ref | +Real | +A reference to a DSP. | +
Returns:
++ ++
This page contains general information related to working with the FMOD extension.
+Both the FMOD Core API and FMOD Studio API are accessed through a number of FMOD objects. Examples of these are: System, Sound, Studio::System and Studio::Bank.
+These objects are represented in the extension by handles, which are largely identical to handles in GameMaker (See Data Types). More precisely, handles used by the extension store an instance of an FMOD object as follows:
+To create an instance of an FMOD object and get its handle, you call an extension function that returns a handle. Many FMOD objects can be created using the fmod_system_create_* functions. For example:
system = fmod_system_create();
+sound_group = fmod_system_create_sound_group("SoundGroup");
+// Etc.
+Warning
+While these handles are internally represented in the same way as GameMaker's built-in handles, they are not true handles from GameMaker's perspective.
+In FMOD, functions always return whether they executed successfully. If not, they return an error code explaining the error that occurred.
+Most functions of the FMOD extension don't return this FMOD result directly. Instead, when you call a function of the FMOD extension, the result of the last called function is stored internally with the extension. You can retrieve this value using the function fmod_last_result. For example:
+system = fmod_system_create();
+result = fmod_last_result();
+show_debug_message("Result of fmod_system_create: {0}", result);
+Note
+fmod_last_result returns FMOD_RESULT.OK in case there were no errors.
If you experience a crash when using the FMOD extension, please create a bug report. This allows the GameMaker team to look into the issue and improve the FMOD extension.
+The FMOD extension allows you to get and set DSP parameters. The different parameters that you can get and set can be found on the Effect Parameters page as well as in the extension's Fmod_Definitions script asset.
The FMOD extension has the following functions to get and set DSP parameters:
+You should make sure to always use the extension function that corresponds to the data type that you want to get or set.
+These are the integer, float and boolean DSP parameters. You can get or set them with a single function call.
+For example, to set the type and size of an FFT DSP's window:
+fmod_dsp_set_parameter_int(dsp_fft, FMOD_DSP_FFT.WINDOWTYPE, FMOD_DSP_FFT_WINDOW.RECT);
+fmod_dsp_set_parameter_int(dsp_fft, FMOD_DSP_FFT.WINDOWSIZE, 16384);
+Since the FMOD_DSP_FFT_WINDOWTYPE and FMOD_DSP_FFT_WINDOWSIZE variables of the FMOD_DSP_FFT struct are both of type int, you should get them with fmod_dsp_get_parameter_int and set them with fmod_dsp_set_parameter_int.
Similarly, a FMOD_DSP_HIGHPASS DSP's parameters are of type float. So you should get the parameters with fmod_dsp_get_parameter_float and set them with fmod_dsp_get_parameter_float:
// Set
+fmod_dsp_set_parameter_float(dsp_hpf, FMOD_DSP_HIGHPASS.CUTOFF, 10000);
+fmod_dsp_set_parameter_float(dsp_hpf, FMOD_DSP_HIGHPASS.RESONANCE, 4);
+
+// Get
+var _cutoff = fmod_dsp_get_parameter_float(dsp_hpf, FMOD_DSP_HIGHPASS.CUTOFF);
+var _resonance = fmod_dsp_get_parameter_float(dsp_hpf, FMOD_DSP_HIGHPASS.RESONANCE);
+The more complex DSP parameters are of a type that's referred to in the FMOD documentation as data. The FMOD extension allows you to set and get this data by writing to and reading from a Buffer respectively.
Note
+the function fmod_dsp_get_parameter_data returns the size of the data (in bytes). You need to resize the buffer if it's not large enough to store the data.
+The mapping between FMOD's data structs and the same data in a Buffer may not be straightforward, however. This section explains how you can read from and write to a buffer in the format that FMOD uses.
+We'll have a look at two particular cases:
+FMOD_DSP_FFT. The extension copies the data the pointer points to into the buffer.Note
+See Guide_To_Using_Buffers for more information on how to work with buffers.
+The FMOD_DSP_FFT DSP is an example of a DSP type that has a data parameter with a pointer variable: FMOD_DSP_FFT_SPECTRUMDATA. This is shown in the FMOD documentation as:

You get the data of this parameter as follows:
+fmod_dsp_get_parameter_data(dsp_fft, FMOD_DSP_FFT.SPECTRUMDATA, fft_buffer);
+The FMOD extension will write the data to the buffer fft_buffer that you pass it.
How this data looks can be found under FMOD_DSP_PARAMETER_FFT, which is defined like this:
typedef struct FMOD_DSP_PARAMETER_FFT {
+ int length;
+ int numchannels;
+ float *spectrum[32];
+} FMOD_DSP_PARAMETER_FFT;
+Here, length stores the length of the spectrum array of a single channel (i.e. the number of values included in the spectrum). numchannels stores the number of channels for which there is spectrum data.
If you read these variable definitions line by line, you have:
+An int followed by an int, followed by at most 32 times length floats. spectrum is an array of pointers (the asterisk * refers to a pointer), which indicates that the memory for each array is not included in the FMOD_DSP_PARAMETER_FFT struct itself, but rather in the memory that the pointer to that array points to. You don't need to do any buffer copying yourself however, as the extension copies these blocks of data to the buffer one after the other.
Looking at the Data Type Mapping Table, you see that this corresponds to 2 times a buffer_s32, followed by numchannels blocks of spectrum data consisting of length buffer_f32 values. So the layout of the data in the buffer will be the following:
|Channel | |Channel 0 |Channel 1 | ... |
+|FMOD |int |int |float |float | ... |float |float |float | ... |float | ... |
+|Buffer |buffer_s32|buffer_s32 |buffer_f32 |buffer_f32 | ... |buffer_f32 |buffer_f32 |buffer_f32 | ... |buffer_f32 | ... |
+|Variable|length |numchannels|spectrum[0][0]|spectrum[0][1]| ... |spectrum[0][length-1]|spectrum[1][0]|spectrum[1][1]| ... |spectrum[1][length-1]| ... |
+|Offset |0 |4 |8 |12 | ... |8 + (length-1)*4 |... | | | | ... |
+To read this data from the buffer, you'd do:
+buffer_seek(fft_buffer, buffer_seek_start, 0);
+var _length = buffer_read(fft_buffer, buffer_s32);
+var _numchannels = buffer_read(fft_buffer, buffer_s32);
+var _spectrum = array_create(_numchannels), _channel_index = 0, _bin_index;
+repeat(_numchannels)
+{
+ _spectrum[_channel_index] = array_create(_length);
+ _bin_index = 0;
+ repeat(_length)
+ {
+ _spectrum[_channel_index][_bin_index++] = buffer_read(fft_buffer, buffer_f32);
+ }
+ _channel_index++;
+}
+The FMOD_DSP_OBJECTPAN DSP is a second example of a DSP type that has a data parameter. It actually has a number of data parameters: FMOD_DSP_OBJECTPAN_3D_POSITION, FMOD_DSP_OBJECTPAN_OVERALL_GAIN, and FMOD_DSP_OBJECTPAN_ATTENUATION_RANGE.
In this example we'll look at the FMOD_DSP_OBJECTPAN_3D_POSITION parameter, since it has nested structs. This parameter is of type FMOD_DSP_PARAMETER_3DATTRIBUTES_MULTI:
You get the data of this parameter as follows:
+fmod_dsp_get_parameter_data(dsp_pan, FMOD_DSP_OBJECTPAN._3D_POSITION, pan_buffer);
+The FMOD extension will write the data to the buffer pan_buffer that you pass it.
The struct FMOD_DSP_PARAMETER_3DATTRIBUTES_MULTI is defined as follows:
typedef struct FMOD_DSP_PARAMETER_3DATTRIBUTES_MULTI {
+ int numlisteners;
+ FMOD_3D_ATTRIBUTES relative[FMOD_MAX_LISTENERS];
+ float weight[FMOD_MAX_LISTENERS];
+ FMOD_3D_ATTRIBUTES absolute;
+} FMOD_DSP_PARAMETER_3DATTRIBUTES_MULTI;
+Here, relative and weight are arrays. relative is an array of structs of type FMOD_3D_ATTRIBUTES:
typedef struct FMOD_3D_ATTRIBUTES {
+ FMOD_VECTOR position;
+ FMOD_VECTOR velocity;
+ FMOD_VECTOR forward;
+ FMOD_VECTOR up;
+} FMOD_3D_ATTRIBUTES;
+All variables in this struct are also structs. Each variable is of type FMOD_VECTOR:
typedef struct FMOD_VECTOR {
+ float x;
+ float y;
+ float z;
+} FMOD_VECTOR;
+Bringing all that together, an FMOD_DSP_PARAMETER_3DATTRIBUTES_MULTI struct looks as follows:
An int, followed by FMOD_MAX_LISTENERS times the following: 4 times 3 floats in a row (x, y and z), followed by FMOD_MAX_LISTENERS times a float that stores a weight, followed by another 4 times 3 floats (each also x, y and z).
To get and read the data from the buffer, you'd do:
+function read_vector(_buffer)
+{
+ var _x = buffer_read(_buffer, buffer_f32);
+ var _y = buffer_read(_buffer, buffer_f32);
+ var _z = buffer_read(_buffer, buffer_f32);
+
+ return {x: _x, y: _y, z: _z};
+}
+
+function read_3d_attributes(_buffer)
+{
+ var _position = read_vector(_buffer);
+ var _velocity = read_vector(_buffer);
+ var _forward = read_vector(_buffer);
+ var _up = read_vector(_buffer);
+
+ return {position: _position, velocity: _velocity, forward: _forward, up: _up};
+}
+
+buffer_seek(pan_buffer, buffer_seek_start, 0);
+
+var _numlisteners, _relative, _weight, _absolute;
+var _pan_per_listener = array_create(_numlisteners);
+
+_numlisteners = buffer_read(pan_buffer, buffer_s32);
+for(var i = 0;i < FMOD_MAX_LISTENERS;i++)
+{
+ _relative = read_3d_attributes(pan_buffer);
+ if (i < FMOD_MAX_LISTENERS)
+ {
+ // Valid listener index
+ _pan_per_listener[i] = {relative: _relative};
+ }
+}
+for(var i = 0;i < FMOD_MAX_LISTENERS;i++)
+{
+ _weight = buffer_read(pan_buffer, buffer_f32);
+ if (i < FMOD_MAX_LISTENERS)
+ {
+ // Valid listener index
+ _pan_per_listener[i].weight = _weight;
+ }
+}
+_absolute = read_3d_attributes(pan_buffer);
+The code example above shows how to read the FMOD_DSP_OBJECTPAN_3D_POSITION parameter, which is of type FMOD_DSP_PARAMETER_3DATTRIBUTES_MULTI.
+First, two functions read_vector and read_3d_attributes are defined to read a FMOD_VECTOR and a FMOD_3D_ATTRIBUTES from the buffer and return them as a Struct.
+Then, the number of listeners is read and two for loops are executed, each loop executes FMOD_MAX_LISTENERS times. The first loop assigns a struct to the variable _pan_per_listener at the current listener index. The second loop assigns that struct the weight as an additional attribute weight.
+Note that you always have to execute the loop this number of times. If _numlisteners is less than FMOD_MAX_LISTENERS, the required calls to buffer_read to "skip" the remaining unused listener data won't happen and subsequent reads will give wrong results.
+Also note that you cannot read relative and weight in the same for loop. This is because the buffer stores all relative data, followed by all weights.
+Finally, the absolute pan properties are read with another call to read_3d_attributes.
+The following table provides the mapping of FMOD (C++) data types to GameMaker's buffer data types.
+| FMOD C++ data type | +Buffer data type | +
|---|---|
int |
+buffer_s32 |
+
unsigned int |
+buffer_u32 |
+
float |
+buffer_f32 |
+
double |
+buffer_f64 |
+
bool |
+buffer_bool |
+
| struct | +See the FMOD docs | +
type[num] (array) |
+num times data of type |
+
Go to FMOD Downloads.
+Note
+To access the downloads you need to register first.
+Download FMOD Studio and FMOD Engine. As of writing this guide, the latest version is 2.03.20, which is supported.
+
For Studio, download the package for the platform you are developing on.
+For Engine, download packages for the platforms you want to publish your game to.
+After installing the Engine API, open the installation and remember the location of the folder, which should contain the following folders in it ("api", "doc", etc.)
+
Download the latest package from the Releases page of this repository.
+Open your GameMaker project or create a new one.
+Drag the .yymps file from the downloaded package into your GameMaker window, or go into Tools -> Import Local Package to select the .yymps file.

The only folder required to use FMOD is "Fmod". Click on it and select Add.
+This package also includes a demo of FMOD, for which you need to import everything (Add All).
+Finally, select Import.
+In your Asset Browser, expand the "Fmod" folder, expand "Extensions", and double-click on FMOD.
+
This will open the Extension Editor which contains the extension's parameters.
+Here you need to set the SDK locations for the platforms the game will be exported to. This needs the location of the FMOD Engine folder.
+
Here the macOS API is entered as the intended target here is macOS. Use the Browse [...] button to find and select your FMOD Engine directory (the folder that contains the "api" folder, not the "api" folder itself).
FMOD set-up is now complete. Let's look at how you can import banks from your FMOD Project and play events.
+There are functions for initialising the FMOD Core System, and the FMOD Studio System.
+If you are making use of FMOD Studio, you only need to initialise that, which also initialises the FMOD Core system underneath.
+If you are only making use of FMOD Core, you will only need to initialise that. The code examples below show how to do both.
+Your game needs to run some initialisation code (e.g. in a Create event) and loop code (in a Step event) for FMOD to work.
+The following example code can be placed in an "FMOD manager" object's Create event, which initialises the system:
+var _max_channels = 1024
+var _flags_core = FMOD_INIT.NORMAL;
+var _flags_studio = FMOD_STUDIO_INIT.LIVEUPDATE;
+
+#macro USE_FMOD_STUDIO true // Are we using FMOD studio (true) or just core (false)?
+#macro USE_DEBUG_CALLBACKS false // Should debugging be initialised?
+
+/* If we enable debug callbacks in the macro above set them ON */
+if (USE_DEBUG_CALLBACKS)
+{
+ fmod_debug_initialize(FMOD_DEBUG_FLAGS.LEVEL_LOG, FMOD_DEBUG_MODE.CALLBACK);
+}
+
+/* If we want to use FMOD_STUDIO */
+if (USE_FMOD_STUDIO)
+{
+ /*
+ If you are only using Studio you need this.
+ It creates the Studio System and prints its result to the Output Log.
+ It then initialises the system with the previously set variables, printing the result of that function.
+
+ The FMOD Studio System function also initialises the core FMOD system, which is why you do not need to call fmod_system_create() here.
+ */
+ fmod_studio_system_create();
+ show_debug_message("fmod_studio_system_create: " + string(fmod_last_result()));
+
+ fmod_studio_system_init(_max_channels, _flags_studio, _flags_core);
+ show_debug_message("fmod_studio_system_init: " + string(fmod_last_result()));
+
+ /*
+ FMOD Studio will create an initialize an underlying core system to work with.
+ */
+ fmod_main_system = fmod_studio_system_get_core_system();
+}
+// If we want to use FMOD Core only
+else
+{
+ /*
+ If you are only using Core you only need this.
+
+ It creates and initialises the core FMOD system, printing the result of each call to the Output Log.
+ */
+ fmod_main_system = fmod_system_create()
+ show_debug_message("fmod_system_create: " + string(fmod_last_result()))
+
+ fmod_system_init(_max_channels, _flags_core)
+ show_debug_message("fmod_system_init: " + string(fmod_last_result()))
+}
+Your manager object should also have a Step event with the following code in it:
+if (USE_FMOD_STUDIO) {
+ /*
+ If you are only using Studio you need this.
+ This call will update the STUDIO system and the underlying CORE system.
+ */
+ fmod_studio_system_update();
+}
+else {
+ /*
+ If you are only using Core you only need this.
+ */
+ fmod_system_update();
+}
+++If you are not familiar with FMOD, watch this tutorial.
+This section covers how a bank is loaded and an event is started. For the rest of the functionality, view the Function Reference in the Wiki. Every function listed in the wiki includes the name and documentation of its underlying FMOD API function, which is useful if you are following a tutorial that uses the original FMOD API functions.
+
Once you have set up your FMOD project, go to File -> Build to export the banks.
+Copy the banks into the datafiles folder of your GameMaker project, to add them to your Included Files.
In your game code, load your bank with fmod_studio_system_load_bank_file:
+bank_ref = fmod_studio_system_load_bank_file(fmod_path_bundle("master.bank"), FMOD_STUDIO_LOAD_BANK.NORMAL);
+Then load your strings bank with fmod_studio_system_load_bank_file so you can look-up events in the bank:
+strings_bank_ref = fmod_studio_system_load_bank_file(fmod_path_bundle("master.strings.bank"), FMOD_STUDIO_LOAD_BANK.NORMAL);
+Load the event description, using its name defined in FMOD Studio with the fmod_studio_system_get_event function:
+event_description_ref = fmod_studio_system_get_event("event:/Ambience/Country");
+Create an instance of the event description before playing it, using fmod_studio_event_description_create_instance:
+event_description_instance_ref = fmod_studio_event_description_create_instance(event_description_ref);
+Finally, play the instance so you hear sound using fmod_studio_event_instance_start:
+fmod_studio_event_instance_start(event_description_instance_ref);
+
+ This is the FMOD extension for GameMaker which allows you to integrate FMOD in your GameMaker game.
+The extension's functionality is divided into two main parts:
+This section contains guides to get started with the FMOD extension.
+ +This section lists the extension modules that belong under the FMOD Core API, along with a number of miscellaneous functions that don't fit elsewhere.
+This section lists the extension modules that belong under the FMOD Studio API.
+ +YoYoGames 2025
+ +++FMOD Object: Studio::Bank
+
This module holds the functionality for FMOD Studio banks, which contain the metadata and audio sample data required for runtime mixing and playback. Audio sample data may be packed into the same bank as the events which reference it, or it may be packed into separate banks.
+This module offers a collection of functions designed to address specific tasks and provide utilities for various purposes. Explore the available functions to make the most of the functionalities provided by this module.
+++FMOD Function: Studio::Bank::getLoadingState
+
This function is used to check the loading state of a bank which has been loaded asynchronously using the FMOD_STUDIO_LOAD_BANK.NONBLOCKING flag, or is pending unload following a call to fmod_studio_bank_unload.
If an asynchronous load failed due to a file error, state will contain FMOD_STUDIO_LOADING_STATE.ERROR and the return code from the next fmod_last_result call will be the error code of the bank load function.
Syntax:
++++fmod_studio_bank_get_loading_state(bank_ref)
| Argument | +Type | +Description | +
|---|---|---|
| bank_ref | +Real | +A reference to a bank. | +
Returns:
++ ++
++FMOD Function: Studio::Bank::loadSampleData
+
This function loads non-streaming sample data for all events in the bank.
+Use this function to preload sample data ahead of time so that the events in the bank can play immediately when started.
+This function is equivalent to calling fmod_studio_event_description_load_sample_data for all events in the bank, including referenced events.
+Syntax:
++++fmod_studio_bank_load_sample_data(bank_ref)
| Argument | +Type | +Description | +
|---|---|---|
| bank_ref | +Real | +A reference to a bank. | +
Returns:
+++N/A
+
++FMOD Function: Studio::Bank::unloadSampleData
+
This function unloads non-streaming sample data for all events in the bank.
+Sample data loading is reference counted and the sample data will remain loaded until unload requests corresponding to all load requests are made, or until the bank is unloaded. For more details see Sample Data Loading.
+Syntax:
++++fmod_studio_bank_unload_sample_data(bank_ref)
| Argument | +Type | +Description | +
|---|---|---|
| bank_ref | +Real | +A reference to a bank. | +
Returns:
+++N/A
+
++FMOD Function: Studio::Bank::getSampleLoadingState
+
This function retrieves the loading state of the samples in the bank.
+May be used for tracking the status of the fmod_studio_bank_load_sample_data operation.
+If fmod_studio_bank_load_sample_data has not been called for the bank then this function will return FMOD_STUDIO_LOADING_STATE.UNLOADED even though sample data may have been loaded by other API calls.
Syntax:
++++fmod_studio_bank_get_sample_loading_state(bank_ref)
| Argument | +Type | +Description | +
|---|---|---|
| bank_ref | +Real | +A reference to a bank. | +
Returns:
++ ++
++FMOD Function: Studio::Bank::unload
+
This function unloads the bank.
+This will destroy all objects created from the bank, unload all sample data inside the bank, and invalidate all API handles referring to the bank.
+If the bank was loaded from user-managed memory, e.g. by fmod_studio_system_load_bank_memory with the FMOD_STUDIO_LOAD_MEMORY_MODE.MEMORY_POINT mode, then the memory must not be freed until the unload has completed. Poll the loading state using fmod_studio_bank_get_loading_state or use the FMOD_STUDIO_SYSTEM_CALLBACK.BANK_UNLOAD system callback (see fmod_studio_system_set_callback) to determine when it is safe to free the memory.
Syntax:
++++fmod_studio_bank_unload(bank_ref)
| Argument | +Type | +Description | +
|---|---|---|
| bank_ref | +Real | +A reference to a bank. | +
Returns:
+++N/A
+
++FMOD Function: Studio::Bank::getBusCount
+
This function retrieves the number of buses in the bank.
+May be used in conjunction with fmod_studio_bank_get_bus_list to enumerate the buses in the bank.
+Syntax:
++++fmod_studio_bank_get_bus_count(bank_ref)
| Argument | +Type | +Description | +
|---|---|---|
| bank_ref | +Real | +A reference to a bank. | +
Returns:
++ ++
++FMOD Function: Studio::Bank::getBusList
+
This function retrieves an array containing the buses in the bank.
+May be used in conjunction with fmod_studio_bank_get_bus_count to enumerate the buses in the bank.
+Syntax:
++++fmod_studio_bank_get_bus_list(bank_ref)
| Argument | +Type | +Description | +
|---|---|---|
| bank_ref | +Real | +A reference to a bank. | +
Returns:
++ ++
++FMOD Function: Studio::Bank::getEventCount
+
This function retrieves the number of event descriptions in the bank.
+May be used in conjunction with fmod_studio_bank_get_event_description_list to enumerate the events in the bank.
+This function counts the events which were added to the bank by the sound designer. The bank may contain additional events which are referenced by event instruments but were not added to the bank, and those referenced events are not counted.
+Syntax:
++++fmod_studio_bank_get_event_count(bank_ref)
| Argument | +Type | +Description | +
|---|---|---|
| bank_ref | +Real | +A reference to a bank. | +
Returns:
++ ++
++FMOD Function: Studio::Bank::getEventList
+
This function retrieves an array containing the event descriptions in the bank.
+May be used in conjunction with fmod_studio_bank_get_event_count to enumerate the events in the bank.
+This function retrieves the events which were added to the bank by the sound designer. The bank may contain additional events which are referenced by event instruments but were not added to the bank, and those referenced events are not retrieved.
+Syntax:
++++fmod_studio_bank_get_event_description_list(bank_ref)
| Argument | +Type | +Description | +
|---|---|---|
| bank_ref | +Real | +A reference to a bank. | +
Returns:
++ ++
++FMOD Function: Studio::Bank::getStringCount
+
This function retrieves the number of string table entries in the bank.
+May be used in conjunction with fmod_studio_bank_get_string_info to enumerate the string table in a bank.
+Syntax:
++++fmod_studio_bank_get_string_count(bank_ref)
| Argument | +Type | +Description | +
|---|---|---|
| bank_ref | +Real | +A reference to a bank. | +
Returns:
++ ++
++FMOD Function: Studio::Bank::getStringInfo
+
This function retrieves a string table entry.
+May be used in conjunction with fmod_studio_bank_get_string_count to enumerate the string table in a bank.
+Syntax:
++++fmod_studio_bank_get_string_info(bank_ref, string_index)
| Argument | +Type | +Description | +
|---|---|---|
| bank_ref | +Real | +A reference to a bank. | +
| string_index | +Real | +String table entry index. | +
Returns:
++ ++
++FMOD Function: Studio::Bank::getVCACount
+
This function retrieves the number of VCAs in the bank.
+May be used in conjunction with fmod_studio_bank_get_vca_list to enumerate the VCAs in a bank.
+Syntax:
++++fmod_studio_bank_get_vca_count(bank_ref)
| Argument | +Type | +Description | +
|---|---|---|
| bank_ref | +Real | +A reference to a bank. | +
Returns:
++ ++
++FMOD Function: Studio::Bank::getVCAList
+
This function retrieves an array containing the VCAs in the bank.
+May be used in conjunction with fmod_studio_bank_get_vca_count to enumerate the VCAs in a bank.
+Syntax:
++++fmod_studio_bank_get_vca_list(bank_ref)
| Argument | +Type | +Description | +
|---|---|---|
| bank_ref | +Real | +A reference to a bank. | +
Returns:
++ ++
++FMOD Function: Studio::Bank::getID
+
This function retrieves the GUID of the given bank.
+Syntax:
++++fmod_studio_bank_get_id(bank_ref)
| Argument | +Type | +Description | +
|---|---|---|
| bank_ref | +Real | +A reference to a bank. | +
Returns:
++ ++
++FMOD Function: Studio::Bank::getPath
+
This function retrieves the path of the given bank.
+The strings bank must be loaded prior to calling this function, otherwise FMOD_RESULT.ERR_EVENT_NOTFOUND is returned in the next fmod_last_result call.
Syntax:
++++fmod_studio_bank_get_path(bank_ref)
| Argument | +Type | +Description | +
|---|---|---|
| bank_ref | +Real | +A reference to a bank. | +
Returns:
++ ++
++FMOD Function: Studio::Bank::isValid
+
This function checks whether the given Bank reference is valid, returning true or false.
Syntax:
++++fmod_studio_bank_is_valid(bank_ref)
| Argument | +Type | +Description | +
|---|---|---|
| bank_ref | +Real | +A reference to a bank. | +
Returns:
++ ++
++FMOD Function: Studio::Bank::setUserData
+
This function allows a real value to be attached to this object. See User Data for an example of how to get and set user data.
+Syntax:
++++fmod_studio_bank_set_user_data(bank_ref, data)
| Argument | +Type | +Description | +
|---|---|---|
| bank_ref | +Real | +A reference to a bank. | +
| data | +Real | +The real value to attach. | +
Returns:
+++N/A
+
++FMOD Function: Studio::Bank::getUserData
+
This function allows arbitrary user data to be retrieved from this object. See User Data for an example of how to get and set user data.
+The function returns NaN if there is no user data attached to the bank.
Syntax:
++++fmod_studio_bank_get_user_data(bank_ref)
| Argument | +Type | +Description | +
|---|---|---|
| bank_ref | +Real | +A reference to a bank. | +
Returns:
++ ++
++FMOD Object: Studio::Bus
+
This module has functionality for global mixer buses.
+This module offers a collection of functions designed to address specific tasks and provide utilities for various purposes. Explore the available functions to make the most of the functionalities provided by this module.
+++FMOD Function: Studio::Bus::setPaused
+
This function allows pausing/unpausing of all audio routed into the bus.
+An individual pause state is kept for each bus. Pausing a bus will override the pause state of its inputs (meaning they return true from fmod_studio_bus_get_paused), while unpausing a bus will cause its inputs to obey their individual pause state. The pause state is processed in the Studio system update, so fmod_studio_bus_get_paused will return the state as determined by the last update.
+Syntax:
++++fmod_studio_bus_set_paused(bus_ref, pause)
| Argument | +Type | +Description | +
|---|---|---|
| bus_ref | +Real | +A reference to a bus. | +
| pause | +Boolean | +true to pause the bus, false to unpause. |
+
Returns:
+++N/A
+
++FMOD Function: Studio::Bus::getPaused
+
This function retrieves the pause state of the given bus, returning true if paused and false if unpaused.
Syntax:
++++fmod_studio_bus_get_paused(bus_ref)
| Argument | +Type | +Description | +
|---|---|---|
| bus_ref | +Real | +A reference to a bus. | +
Returns:
++ ++
++FMOD Function: Studio::Bus::stopAllEvents
+
This function stops all event instances that are routed into the bus. You pass it an FMOD_STUDIO_STOP_MODE enum member.
+Syntax:
++++fmod_studio_bus_stop_all_events(bus_ref, stop_mode)
| Argument | +Type | +Description | +
|---|---|---|
| bus_ref | +Real | +A reference to a bus. | +
| stop_mode | +FMOD_STUDIO_STOP_MODE | +The stop mode to use. | +
Returns:
+++N/A
+
++FMOD Function: Studio::Bus::setVolume
+
This function sets the volume level of the bus.
+This volume is applied as a scaling factor to the volume level set in FMOD Studio.
+Syntax:
++++fmod_studio_bus_set_volume(bus_ref, volume)
| Argument | +Type | +Description | +
|---|---|---|
| bus_ref | +Real | +A reference to a bus. | +
| volume | +Real | +Volume level. Negative level inverts the signal. Linear unit, range (-inf, inf), default: 1 | +
Returns:
+++N/A
+
++FMOD Function: Studio::Bus::getVolume
+
This function retrieves the volume level of the bus.
+Syntax:
++++fmod_studio_bus_get_volume(bus_ref)
| Argument | +Type | +Description | +
|---|---|---|
| bus_ref | +Real | +A reference to a bus. | +
Returns:
++ ++
++FMOD Function: Studio::Bus::setMute
+
This function sets the mute state of the bus.
+Mute is an additional control for volume, the effect of which is equivalent to setting the volume to zero.
+An individual mute state is kept for each bus. Muting a bus will override the mute state of its inputs (meaning they return true from fmod_studio_bus_get_mute), while unmuting a bus will cause its inputs to obey their individual mute state. The mute state is processed in the Studio system update, so fmod_studio_bus_get_mute will return the state as determined by the last update.
Syntax:
++++fmod_studio_bus_set_mute(bus_ref, mute)
| Argument | +Type | +Description | +
|---|---|---|
| bus_ref | +Real | +A reference to a bus. | +
| mute | +Real | +true to mute, false to unmute. |
+
Returns:
+++N/A
+
++FMOD Function: Studio::Bus::getMute
+
This function retrieves the mute state. This will be true if muted and false if not.
Syntax:
++++fmod_studio_bus_get_mute(bus_ref)
| Argument | +Type | +Description | +
|---|---|---|
| bus_ref | +Real | +A reference to a bus. | +
Returns:
++ ++
++FMOD Function: Studio::Bus::setPortIndex
+
This function sets the port index to use when attaching to an output port.
+When a bus which is an output port is instantiated it will be connected to an output port based on the port type set in Studio. For some port types a platform specific port index is required to connect to the correct output port. For example, if the output port type is a speaker in a controller then a platform specific port index may be required to specify which controller the bus is to attach to. In such a case call this function passing the platform specific port index.
+There is no need to call this function for port types which do not require an index.
+This function may be called at any time after a bank containing the bus has been loaded.
+Syntax:
++++fmod_studio_bus_set_port_index(bus_ref, port_index)
| Argument | +Type | +Description | +
|---|---|---|
| bus_ref | +Real | +A reference to a bus. | +
| port_index | +FMOD_PORT_INDEX | +Port index to use when attaching to an output port. | +
Returns:
+++N/A
+
++FMOD Function: Studio::Bus::getPortIndex
+
This function retrieves the port index assigned to the bus, as a FMOD_PORT_INDEX enum member.
+Syntax:
++++fmod_studio_bus_get_port_index(bus_ref)
| Argument | +Type | +Description | +
|---|---|---|
| bus_ref | +Real | +A reference to a bus. | +
Returns:
++ ++
++FMOD Function: Studio::Bus::getChannelGroup
+
This function retrieves the core ChannelGroup.
+By default the ChannelGroup will only exist when it is needed; see Signal Paths for details. If the ChannelGroup does not exist, the next call to fmod_last_result will return FMOD_RESULT.ERR_STUDIO_NOT_LOADED.
Syntax:
++++fmod_studio_bus_get_channel_group(bus_ref)
| Argument | +Type | +Description | +
|---|---|---|
| bus_ref | +Real | +A reference to a bus. | +
Returns:
++ ++
++FMOD Function: Studio::Bus::lockChannelGroup
+
This function locks the core ChannelGroup.
+This forces the system to create the ChannelGroup and keep it available until fmod_studio_bus_unlock_channel_group is called. See Signal Paths for details.
+The ChannelGroup may not be available immediately after calling this function. When Studio has been initialized in asynchronous mode, the ChannelGroup will not be created until the command has been executed in the async thread. When Studio has been initialized with FMOD_STUDIO_INIT.SYNCHRONOUS_UPDATE, the ChannelGroup will be created in the next fmod_studio_system_update call.
You can call fmod_studio_system_flush_commands to ensure the ChannelGroup has been created. Alternatively you can keep trying to obtain the ChannelGroup via fmod_studio_bus_get_channel_group until it is ready.
+Syntax:
++++fmod_studio_bus_lock_channel_group(bus_ref)
| Argument | +Type | +Description | +
|---|---|---|
| bus_ref | +Real | +A reference to a bus. | +
Returns:
+++N/A
+
++FMOD Function: Studio::Bus::unlockChannelGroup
+
This function unlocks the core ChannelGroup.
+This allows the system to destroy the ChannelGroup when it is not needed. See Signal Paths for details.
+Syntax:
++++fmod_studio_bus_unlock_channel_group(bus_ref)
| Argument | +Type | +Description | +
|---|---|---|
| bus_ref | +Real | +A reference to a bus. | +
Returns:
+++N/A
+
++FMOD Function: Studio::Bus::getCPUUsage
+
This function retrieves the bus CPU usage data.
+FMOD_INIT.PROFILE_ENABLE with fmod_system_init is required to call this function.
Syntax:
++++fmod_studio_bus_get_cpu_usage(bus_ref)
| Argument | +Type | +Description | +
|---|---|---|
| bus_ref | +Real | +A reference to a bus. | +
Returns:
++ ++
++FMOD Function: Studio::Bus::getMemoryUsage
+
This function retrieves memory usage statistics into an FmodStudioMemoryUsage struct.
+Memory usage statistics are only available in logging builds, in release builds this will contain zero for all values after calling this function.
+Syntax:
++++fmod_studio_bus_get_memory_usage(bus_ref)
| Argument | +Type | +Description | +
|---|---|---|
| bus_ref | +Real | +A reference to a bus. | +
Returns:
++ ++
++FMOD Function: Studio::Bus::getID
+
This function retrieves the GUID of the given bus.
+Syntax:
++++fmod_studio_bus_get_id(bus_ref)
| Argument | +Type | +Description | +
|---|---|---|
| bus_ref | +Real | +A reference to a bus. | +
Returns:
++ ++
++FMOD Function: Studio::Bus::getPath
+
This function retrieves the path of the bus.
+The strings bank must be loaded prior to calling this function, otherwise FMOD_RESULT.ERR_EVENT_NOTFOUND is returned in the next call to fmod_last_result.
Syntax:
++++fmod_studio_bus_get_path(bus_ref)
| Argument | +Type | +Description | +
|---|---|---|
| bus_ref | +Real | +A reference to a bus. | +
Returns:
++ ++
++FMOD Function: Studio::Bus::isValid
+
This function checks that the Bus reference is valid, returning true or false.
Syntax:
++++fmod_studio_bus_is_valid(bus_ref)
| Argument | +Type | +Description | +
|---|---|---|
| bus_ref | +Real | +A reference to a bus. | +
Returns:
++ ++
++FMOD Object: Channel
+
This module holds functionality related to Channels, which are a source of audio signal that connects to the ChannelGroup mixing hierarchy.
+Create a channel with fmod_system_play_sound or fmod_system_play_dsp.
+This module offers a collection of functions designed to address specific tasks and provide utilities for various purposes. Explore the available functions to make the most of the functionalities provided by this module.
+++FMOD Function: Channel::setFrequency
+
This function sets the frequency or playback rate.
+ +Note
+Sounds opened as FMOD_MODE.CREATESAMPLE (not FMOD_MODE.CREATESTREAM or FMOD_MODE.CREATECOMPRESSEDSAMPLE) can be played backwards by giving a negative frequency.
Syntax:
++++fmod_channel_set_frequency(channel_ref, frequency)
| Argument | +Type | +Description | +
|---|---|---|
| channel_ref | +Real | +A reference to a channel. | +
| frequency | +Real | +The playback rate, expressed in Hertz. | +
Returns:
+++N/A
+
++FMOD Function: Channel::getFrequency
+
This function retrieves the playback frequency or playback rate.
+Syntax:
++++fmod_channel_get_frequency(channel_ref)
| Argument | +Type | +Description | +
|---|---|---|
| channel_ref | +Real | +A reference to a channel. | +
Returns:
++ ++
++FMOD Function: Channel::setPriority
+
This function sets the priority used for virtual voice ordering.
+Note
+Priority is used as a coarse grain control for the virtual voice system, lower priority channels will always be stolen before higher ones. For channels of equal priority, those with the quietest fmod_channel_control_get_audibility value will be stolen first.
+See the FMOD Virtual Voices guide for more information.
+Syntax:
++++fmod_channel_set_priority(channel_ref, priority)
| Argument | +Type | +Description | +
|---|---|---|
| channel_ref | +Real | +A reference to a channel. | +
| priority | +Real | +The priority value where 0 represents most important and 256 represents least important. The default is 128. | +
Returns:
+++N/A
+
++FMOD Function: Channel::getPriority
+
This function retrieves the priority used for virtual voice ordering.
+The function returns the priority value where 0 represents most important and 256 represents least important.
+Note
+Priority is used as a coarse grain control for the virtual voice system, lower priority channels will always be stolen before higher ones. For channels of equal priority, those with the quietest fmod_channel_control_get_audibility value will be stolen first.
+Syntax:
++++fmod_channel_get_priority(channel_ref)
| Argument | +Type | +Description | +
|---|---|---|
| channel_ref | +Real | +A reference to a channel. | +
Returns:
++ ++
++FMOD Function: Channel::setPosition
+
This function sets the current playback position.
+Note
+Certain FMOD_TIMEUNIT types are always available: FMOD_TIMEUNIT.PCM, FMOD_TIMEUNIT.PCMBYTES and FMOD_TIMEUNIT.MS. The others are format specific such as FMOD_TIMEUNIT.MODORDER / FMOD_TIMEUNIT.MODROW / FMOD_TIMEUNIT.MODPATTERN which is specific to files of type MOD / S3M / XM / IT.
Note
+If playing a Sound created with fmod_system_create_stream or FMOD_MODE.CREATESTREAM changing the position may cause a slow reflush operation while the file seek and decode occurs. You can avoid this by creating the stream with FMOD_MODE.NONBLOCKING. This will cause the stream to go into FMOD_OPENSTATE.SETPOSITION state (see fmod_sound_get_open_state) and Sound commands will return FMOD_RESULT.ERR_NOTREADY. fmod_channel_get_position will also not update until this non-blocking set position operation has completed.
Note
+Using a VBR source that does not have an associated seek table or seek information (such as MP3 or MOD/S3M/XM/IT) may cause inaccurate seeking if you specify FMOD_TIMEUNIT.MS or FMOD_TIMEUNIT.PCM. If you want FMOD to create a PCM vs bytes seek table so that seeking is accurate, you will have to specify FMOD_MODE.ACCURATETIME when loading or opening the sound. This means there is a slight delay as FMOD scans the whole file when loading the sound to create this table.
Syntax:
++++fmod_channel_set_position(channel_ref, position, time_unit)
| Argument | +Type | +Description | +
|---|---|---|
| channel_ref | +Real | +A reference to a channel. | +
| position | +Real | +The playback position. | +
| time_unit | +FMOD_TIMEUNIT | +The time units in which the position parameter is expressed. |
+
Returns:
+++N/A
+
++FMOD Function: Channel::getPosition
+
This function retrieves the current playback position.
+Note
+Certain FMOD_TIMEUNIT types are always available: FMOD_TIMEUNIT.PCM, FMOD_TIMEUNIT.PCMBYTES and FMOD_TIMEUNIT.MS. The others are format specific such as FMOD_TIMEUNIT.MODORDER / FMOD_TIMEUNIT.MODROW / FMOD_TIMEUNIT.MODPATTERN which is specific to files of type MOD / S3M / XM / IT.
Note
+If FMOD_TIMEUNIT.MS or FMOD_TIMEUNIT.PCMBYTES are used, the value is internally converted from FMOD_TIMEUNIT.PCM, so the retrieved value may not exactly match the set value.
Syntax:
++++fmod_channel_get_position(channel_ref, time_unit)
| Argument | +Type | +Description | +
|---|---|---|
| channel_ref | +Real | +A reference to a channel. | +
| time_unit | +FMOD_TIMEUNIT | +The time units in which the position parameter is expressed. |
+
Returns:
++ ++
++FMOD Function: Channel::setChannelGroup
+
This function sets the channelgroup this object outputs to.
+Note
+A channelgroup may contain many channels.
+Note
+Channels may only output to a single channelgroup. This operation will remove it from the previous group first.
+Syntax:
++++fmod_channel_set_channel_group(channel_ref, channel_group_ref)
| Argument | +Type | +Description | +
|---|---|---|
| channel_ref | +Real | +A reference to a channel. | +
| channel_group_ref | +Real | +A reference to the channelgroup to use as the output group. | +
Returns:
+++N/A
+
++FMOD Function: Channel::getChannelGroup
+
This function retrieves the ChannelGroup this object outputs to.
+Syntax:
++++fmod_channel_get_channel_group(channel_ref)
| Argument | +Type | +Description | +
|---|---|---|
| channel_ref | +Real | +A reference to a channel. | +
Returns:
++ ++
++FMOD Function: Channel::setLoopCount
+
This function sets the number of times to loop before stopping.
+Note
+The 'mode' of the sound or channel must be FMOD_MODE.LOOP_NORMAL or FMOD_MODE.LOOP_BIDI for this function to work.
Syntax:
++++fmod_channel_set_loop_count(channel_ref, loop_count)
| Argument | +Type | +Description | +
|---|---|---|
| channel_ref | +Real | +A reference to a channel. | +
| loop_count | +Real | +The number of times to loop before stopping where 0 represents "oneshot", 1 represents "loop once then stop" and -1 represents "loop forever". | +
Returns:
+++N/A
+
++FMOD Function: Channel::getLoopCount
+
This function retrieves the number of times to loop before stopping.
+The returned value is the times to loop before stopping where 0 represents "oneshot", 1 represents "loop once then stop" and -1 represents "loop forever".
+Note
+This is the current loop countdown value that will decrement as it plays until reaching 0. You can reset it with fmod_channel_set_loop_count.
+Syntax:
++++fmod_channel_get_loop_count(channel_ref)
| Argument | +Type | +Description | +
|---|---|---|
| channel_ref | +Real | +A reference to a channel. | +
Returns:
++ ++
++FMOD Function: Channel::setLoopPoints
+
This function sets the loop start and end points.
+Loop points may only be set on a channel playing a sound, not a channel playing a DSP (See fmod_system_play_dsp).
+Note
+Valid FMOD_TIMEUNIT types are FMOD_TIMEUNIT.PCM, FMOD_TIMEUNIT.MS, FMOD_TIMEUNIT.PCMBYTES. Any other time units return FMOD_RESULT.ERR_FORMAT.
+If FMOD_TIMEUNIT.MS or FMOD_TIMEUNIT.PCMBYTES are used, the value is internally converted from FMOD_TIMEUNIT.PCM, so the retrieved value may not exactly match the set value.
The Channel's mode must be set to FMOD_MODE.LOOP_NORMAL or FMOD_MODE.LOOP_BIDI for loop points to affect playback.
See also: Streaming Issues
+Syntax:
++++fmod_channel_set_loop_points(channel_ref, loop_start, loop_start_type, loop_end, loop_end_type)
| Argument | +Type | +Description | +
|---|---|---|
| channel_ref | +Real | +A reference to a channel. | +
| loop_start | +Real | +The loop start point. | +
| loop_start_type | +FMOD_TIMEUNIT | +The time units in which the loop_start parameter is expressed. |
+
| loop_end | +Real | +The loop end point. | +
| loop_end_type | +FMOD_TIMEUNIT | +The time units in which the loop_end parameter is expressed. |
+
Returns:
+++N/A
+
++FMOD Function: Channel::getLoopPoints
+
This function retrieves the loop start and end points.
+Note
+Valid FMOD_TIMEUNIT types are FMOD_TIMEUNIT.PCM, FMOD_TIMEUNIT.MS, FMOD_TIMEUNIT.PCMBYTES. For all other time units fmod_last_result returns FMOD_RESULT.ERR_FORMAT.
+If FMOD_TIMEUNIT.MS or FMOD_TIMEUNIT.PCMBYTES are used, the value is internally converted from FMOD_TIMEUNIT.PCM, so the retrieved value may not exactly match the set value.
Syntax:
++++fmod_channel_get_loop_points(channel_ref, loop_start_type, loop_end_type)
| Argument | +Type | +Description | +
|---|---|---|
| channel_ref | +Real | +A reference to a channel. | +
| loop_start_type | +FMOD_TIMEUNIT | +The time units in which to return loop_start |
+
| loop_end_type | +FMOD_TIMEUNIT | +The time units in which to return loop_end |
+
Returns:
++ ++
++FMOD Function: Channel::isVirtual
+
This function retrieves whether the channel is being emulated by the virtual voice system.
+If true is returned, the channel is silent / emulated. If false is returned, the channel is audible / real.
See the FMOD Virtual Voices guide for more information.
+Syntax:
++++fmod_channel_is_virtual(channel_ref)
| Argument | +Type | +Description | +
|---|---|---|
| channel_ref | +Real | +A reference to a channel. | +
Returns:
++ ++
++FMOD Function: Channel::getCurrentSound
+
This function retrieves the currently playing sound.
+Note
+The function may return 0 if no sound is playing.
+Syntax:
++++fmod_channel_get_current_sound(channel_ref)
| Argument | +Type | +Description | +
|---|---|---|
| channel_ref | +Real | +A reference to a channel. | +
Returns:
++ ++
++FMOD Function: Channel::getIndex
+
This function retrieves the index of this object in the system channel pool.
+Note
+This value is in the range [0, max_channels value passed to fmod_system_init - 1].
Syntax:
++++fmod_channel_get_index(channel_ref)
| Argument | +Type | +Description | +
|---|---|---|
| channel_ref | +Real | +A reference to a channel. | +
Returns:
++ ++
++FMOD Function: ChannelControl::getSystemObject
+
This function retrieves the system that created this object.
+Syntax:
++++fmod_channel_get_system_object(channel_ref)
| Argument | +Type | +Description | +
|---|---|---|
| channel_ref | +Real | +A reference to a channel. | +
Returns:
++ ++
++FMOD Object: ChannelControl
+
This module holds functionality related to the shared APIs between Channel and ChannelGroup.
+This module offers a collection of functions designed to address specific tasks and provide utilities for various purposes. Explore the available functions to make the most of the functionalities provided by this module.
+++FMOD Function: ChannelControl::isPlaying
+
This function retrieves the playing state.
+Note
+A channel is considered playing after fmod_system_play_sound or fmod_system_play_dsp, even if it is paused.
+Note
+A channelgroup is considered playing if it has any playing channels.
+Syntax:
++++fmod_channel_control_is_playing(channel_control_ref)
| Argument | +Type | +Description | +
|---|---|---|
| channel_control_ref | +Real | +A reference to a channelcontrol. | +
Returns:
++ ++
++FMOD Function: ChannelControl::stop
+
This function stops the channel (or all channels in nested channelgroups) from playing.
+This will free up internal resources for reuse by the virtual voice system.
+Note
+Channels are stopped automatically when their playback position reaches the length of the sound being played. This is not the case however if the channel is playing a DSP or the sound is looping, in which case the channel will continue playing until stop is called. Once stopped, the channel handle will become invalid and can be discarded and any API calls made with it will return FMOD_RESULT.ERR_INVALID_HANDLE.
Syntax:
++++fmod_channel_control_stop(channel_control_ref)
| Argument | +Type | +Description | +
|---|---|---|
| channel_control_ref | +Real | +A reference to a channelcontrol. | +
Returns:
+++N/A
+
++FMOD Function: ChannelControl::setPaused
+
This function sets the paused state.
+Pause halts playback which effectively freezes fmod_channel_get_position and fmod_channel_control_get_dsp_clock values.
+Note
+An individual pause state is kept for each object, pausing a parent channelgroup will effectively pause this object however when queried the individual pause state is returned.
+Syntax:
++++fmod_channel_control_set_paused(channel_control_ref, paused)
| Argument | +Type | +Description | +
|---|---|---|
| channel_control_ref | +Real | +A reference to a channelcontrol. | +
| paused | +Boolean | +Paused state. A value of true indicates playback halted. A value of false indicates playback active. |
+
Returns:
+++N/A
+
++FMOD Function: ChannelControl::getPaused
+
This function retrieves the paused state.
+Note
+An individual pause state is kept for each object, pausing a parent channelgroup will effectively pause this object however when queried the individual pause state is returned.
+Syntax:
++++fmod_channel_control_get_paused(channel_control_ref)
| Argument | +Type | +Description | +
|---|---|---|
| channel_control_ref | +Real | +A reference to a ChannelControl. | +
Returns:
++ ++
++FMOD Function: ChannelControl::setMode
+
This function sets the playback mode that controls how this object behaves.
+The supported modes are:
+FMOD_MODE.LOOP_OFFFMOD_MODE.LOOP_NORMALFMOD_MODE.LOOP_BIDIFMOD_MODE.2DFMOD_MODE.3DFMOD_MODE.3D_HEADRELATIVEFMOD_MODE.3D_WORLDRELATIVEFMOD_MODE.3D_INVERSEROLLOFFFMOD_MODE.3D_LINEARROLLOFFFMOD_MODE.3D_LINEARSQUAREROLLOFFFMOD_MODE.3D_INVERSETAPEREDROLLOFFFMOD_MODE.3D_CUSTOMROLLOFFFMOD_MODE.3D_IGNOREGEOMETRYFMOD_MODE.VIRTUAL_PLAYFROMSTARTWhen changing the loop mode, sounds created with fmod_system_create_stream or FMOD_MODE.CREATESTREAM may have already been pre-buffered and executed their loop logic ahead of time before this call was even made. This is dependent on the size of the sound versus the size of the stream decode buffer (see FmodSystemCreateSoundExInfo). If this happens, you may need to reflush the stream buffer by calling fmod_channel_set_position. Note this will usually only happen if you have sounds or loop points that are smaller than the stream decode buffer size.
When changing the loop mode of sounds created with fmod_system_create_sound or FMOD_MODE.CREATESAMPLE, if the sound was set up as FMOD_MODE.LOOP_OFF, then set to FMOD_MODE.LOOP_NORMAL with this function, the sound may click when playing the end of the sound. This is because the sound needs to be prepared for looping using fmod_sound_set_mode, by modifying the content of the PCM data (i.e. data past the end of the actual sample data) to allow the interpolators to read ahead without clicking. If you use fmod_channel_control_set_mode it will not do this (because different Channels may have different loop modes for the same sound) and may click if you try to set it to looping on an unprepared sound. If you want to change the loop mode at runtime it may be better to load the sound as looping first (or use fmod_sound_set_mode), to let it prepare the data as if it was looping so that it does not click whenever fmod_channel_control_set_mode is used to turn looping on.
If FMOD_MODE.3D_IGNOREGEOMETRY or FMOD_MODE.VIRTUAL_PLAYFROMSTART is not specified, the flag will be cleared if it was specified previously.
Syntax:
++++fmod_channel_control_set_mode(channel_control_ref, mode)
| Argument | +Type | +Description | +
|---|---|---|
| channel_control_ref | +Real | +A reference to a ChannelControl. | +
| mode | +FMOD_MODE | +The playback mode. More than one mode can be set at once by combining them with the OR operator. The default is FMOD_MODE.DEFAULT. |
+
Returns:
+++N/A
+
++FMOD Function: ChannelControl::getMode
+
This function retrieves the playback mode bits that control how this object behaves.
+You can test the playback mode bitfield against a specific FMOD_MODE with the AND operator.
+Syntax:
++++fmod_channel_control_get_mode(channel_control_ref)
| Argument | +Type | +Description | +
|---|---|---|
| channel_control_ref | +Real | +A reference to a ChannelControl. | +
Returns:
++ ++
++FMOD Function: ChannelControl::setPitch
+
This function sets the relative pitch / playback rate.
+It scales the playback frequency of a Channel or if issued on a ChannelGroup it scales the frequencies of all Channels contained in the ChannelGroup.
+Note
+An individual pitch value is kept for each object, changing the pitch of a parent ChannelGroup will effectively alter the pitch of this object however when queried the individual pitch value is returned.
+Syntax:
++++fmod_channel_control_set_pitch(channel_control_ref, pitch)
| Argument | +Type | +Description | +
|---|---|---|
| channel_control_ref | +Real | +A reference to a ChannelControl. | +
| pitch | +Real | +The pitch value where 0.5 represents half pitch (one octave down), 1.0 represents unmodified pitch and 2.0 represents double pitch (one octave up). | +
Returns:
+++N/A
+
++FMOD Function: ChannelControl::getPitch
+
This function retrieves the relative pitch / playback rate.
+The pitch is a value where 0.5 represents half pitch (one octave down), 1 represents unmodified pitch and 2 represents double pitch (one octave up).
+Note
+An individual pitch value is kept for each object, a parent ChannelGroup pitch will effectively scale the pitch of this object however when queried the individual pitch value is returned.
+Syntax:
++++fmod_channel_control_get_pitch(channel_control_ref)
| Argument | +Type | +Description | +
|---|---|---|
| channel_control_ref | +Real | +A reference to a ChannelControl. | +
Returns:
++ ++
++FMOD Function: ChannelControl::getAudibility
+
This function retrieves an estimation of the output volume.
+The estimated volume is calculated based on 3D spatialization, occlusion, API volume levels and DSPs used.
+While this does not represent the actual waveform, Channels playing FSB files will take into consideration the overall peak level of the file (if available).
+This value is used to determine which Channels should be audible and which Channels to virtualize when resources are limited.
+See the FMOD Virtual Voice System white paper for more details about how audibility is calculated.
+Syntax:
++++fmod_channel_control_get_audibility(channel_control_ref)
| Argument | +Type | +Description | +
|---|---|---|
| channel_control_ref | +Real | +A reference to a ChannelControl. | +
Returns:
++ ++
++FMOD Function: ChannelControl::setVolume
+
This function sets the volume level.
+Note
+To define the volume per Sound use fmod_sound_set_defaults.
+Note
+Setting volume at a level higher than 1 can lead to distortion/clipping.
Syntax:
++++fmod_channel_control_set_volume(channel_control_ref, volume)
| Argument | +Type | +Description | +
|---|---|---|
| channel_control_ref | +Real | +A reference to a ChannelControl. | +
| volume | +Real | +The (linear) volume level. 0 = silent, 1 = full. A negative level inverts the signal. Values larger than 1 amplify the signal. Default is 1. | +
Returns:
+++N/A
+
++FMOD Function: ChannelControl::getVolume
+
This function retrieves the (linear) volume level.
+Syntax:
++++fmod_channel_control_get_volume(channel_control_ref)
| Argument | +Type | +Description | +
|---|---|---|
| channel_control_ref | +Real | +A reference to a ChannelControl. | +
Returns:
++ ++
++FMOD Function: ChannelControl::setVolumeRamp
+
This function sets whether volume changes are ramped or instantaneous.
+Volume changes when not paused will be ramped to the target value to avoid a pop sound, this function allows that setting to be overridden and volume changes to be applied immediately.
+Syntax:
++++fmod_channel_control_set_volume_ramp(channel_control_ref, ramp)
| Argument | +Type | +Description | +
|---|---|---|
| channel_control_ref | +Real | +A reference to a ChannelControl. | +
| ramp | +Boolean | +The ramp state. A value of true means volume change is ramped. A value of false means volume change is instantaneous. Default is true. |
+
Returns:
+++N/A
+
++FMOD Function: ChannelControl::getVolumeRamp
+
This function retrieves whether volume changes are ramped or instantaneous.
+It returns the ramp state. A value of true means volume change is ramped. A value of false means volume change is instantaneous.
Syntax:
++++fmod_channel_control_get_volume_ramp(channel_control_ref)
| Argument | +Type | +Description | +
|---|---|---|
| channel_control_ref | +Real | +A reference to a ChannelControl. | +
Returns:
++ ++
++FMOD Function: ChannelControl::setMute
+
This function sets the mute state.
+Mute is an additional control for volume, the effect of which is equivalent to setting the volume to zero.
+Note
+An individual mute state is kept for each object, muting a parent ChannelGroup will effectively mute this object however when queried the individual mute state is returned. fmod_channel_control_get_audibility can be used to calculate overall audibility for a Channel or ChannelGroup.
+Syntax:
++++fmod_channel_control_set_mute(channel_control_ref, mute)
| Argument | +Type | +Description | +
|---|---|---|
| channel_control_ref | +Real | +A reference to a ChannelControl. | +
| mute | +Boolean | +The mute state to set. A value of true means silent. A value of false means audible. |
+
Returns:
+++N/A
+
++FMOD Function: ChannelControl::getMute
+
This function retrieves the mute state.
+The mute state is a value where true indicates silent and false indicates audible.
Note
+An individual mute state is kept for each object, muting a parent ChannelGroup will effectively mute this object however when queried the individual mute state is returned. fmod_channel_control_get_audibility can be used to calculate overall audibility for a Channel or ChannelGroup.
+Syntax:
++++fmod_channel_control_get_mute(channel_control_ref)
| Argument | +Type | +Description | +
|---|---|---|
| channel_control_ref | +Real | +A reference to a ChannelControl. | +
Returns:
++ ++
++FMOD Function: ChannelControl::set3DAttributes
+
This function sets the 3D position and velocity used to apply panning, attenuation and doppler.
+Note
+The FMOD_MODE.AS_3D flag must be set on this object otherwise FMOD_RESULT.ERR_NEEDS3D is returned.
Note
+Vectors must be provided in the correct handedness.
+Note
+For a stereo 3D sound, you can set the spread of the left/right parts in speaker space by using fmod_channel_control_set_3d_spread.
+Syntax:
++++fmod_channel_control_set_3d_attributes(control_ref, pos, vel)
| Argument | +Type | +Description | +
|---|---|---|
| control_ref | +Real | +A reference to a channel control. | +
| pos | +FmodVector | +The position in 3D space used for panning and attenuation. The values are expressed in FMOD Distance Units. | +
| vel | +FmodVector | +The velocity in 3D space used for doppler. The values are expressed in FMOD Distance Units per second. | +
Returns:
+++N/A
+
++FMOD Function: ChannelControl::get3DAttributes
+
This function retrieves the 3D position and velocity used to apply panning, attenuation and doppler.
+Syntax:
++++fmod_channel_control_get_3d_attributes(control_ref)
| Argument | +Type | +Description | +
|---|---|---|
| control_ref | +Real | +A reference to a channel control. | +
Returns:
++ ++
++FMOD Function: ChannelControl::set3DConeOrientation
+
This function sets the orientation of a 3D cone shape, used for simulated occlusion.
+Note
+The FMOD_MODE.AS_3D flag must be set on this object otherwise FMOD_RESULT.ERR_NEEDS3D is returned.
Note
+This function has no effect unless fmod_channel_control_set_3d_cone_settings has been used to change the cone inside/outside angles from the default.
+Note
+Vectors must be provided in the correct handedness.
+Syntax:
++++fmod_channel_control_set_3d_cone_orientation(control_ref, orientation)
| Argument | +Type | +Description | +
|---|---|---|
| control_ref | +Real | +A reference to a channel control. | +
| orientation | +FmodVector | +The normalized orientation vector, which represents the direction of the sound cone. Default is [0, 0, 1]. | +
Returns:
+++N/A
+
++FMOD Function: ChannelControl::get3DConeOrientation
+
This function retrieves the orientation of a 3D cone shape, used for simulated occlusion.
+The orientation is returned as a normalized orientation vector, which represents the direction of the sound cone.
+Syntax:
++++fmod_channel_control_get_3d_cone_orientation(control_ref)
| Argument | +Type | +Description | +
|---|---|---|
| control_ref | +Real | +A reference to a channel control. | +
Returns:
++ ++
++FMOD Function: ChannelControl::set3DConeSettings
+
This function sets the angles and attenuation levels of a 3D cone shape, for simulated occlusion which is based on direction.
+When fmod_channel_control_set_3d_cone_orientation is used and a 3D 'cone' is set up, attenuation will automatically occur for a sound based on the relative angle of the direction the cone is facing, vs the angle between the sound and the listener.
+inside_cone_angle, the sound will not have any attenuation applied.inside_cone_angle and outside_cone_angle, linear volume attenuation (between 1 and outsidevolume) is applied between the two angles until it reaches the outside_cone_angle.outside_cone_angle the volume does not attenuate any further.Note
+The FMOD_MODE.AS_3D flag must be set on this object otherwise fmod_last_result will return FMOD_RESULT.ERR_NEEDS3D.
Syntax:
++++fmod_channel_control_set_3d_cone_settings(channel_control_ref, inside_cone_angle, outside_cone_angle, outside_volume)
| Argument | +Type | +Description | +
|---|---|---|
| channel_control_ref | +Real | +A reference to a ChannelControl. | +
| inside_cone_angle | +Real | +The inside cone angle. This is the angle spread within which the sound is unattenuated, expressed in degrees. The default value is 360. | +
| outside_cone_angle | +Real | +The outside cone angle. This is the angle spread outside of which the sound is attenuated to its outside_volume, expressed in degrees. The default value is 360. |
+
| outside_volume | +Real | +The cone outside volume. A (linear) value in the range [0, 1]. Default is 1. | +
Returns:
+++N/A
+
++FMOD Function: ChannelControl::get3DConeSettings
+
This function retrieves the angles and attenuation levels of a 3D cone shape, for simulated occlusion which is based on direction.
+When fmod_channel_control_set_3d_cone_orientation is used and a 3D 'cone' is set up, attenuation will automatically occur for a sound based on the relative angle of the direction the cone is facing, vs the angle between the sound and the listener.
+inside_cone_angle, the sound will not have any attenuation applied.inside_cone_angle and outside_cone_angle, linear volume attenuation (between 1 and outsidevolume) is applied between the two angles until it reaches the outside_cone_angle.outside_cone_angle the volume does not attenuate any further.Syntax:
++++fmod_channel_control_get_3d_cone_settings(control_ref)
| Argument | +Type | +Description | +
|---|---|---|
| control_ref | +Real | +A reference to a channel control. | +
Returns:
++ ++
++FMOD Function: ChannelControl::set3DCustomRolloff
+
This function sets a custom roll-off shape for 3D distance attenuation.
+Note
+This function must be used in conjunction with FMOD_MODE._AS_3D_CUSTOMROLLOFF flag to be activated.
If FMOD_MODE._AS_3D_CUSTOMROLLOFF is set and the roll-off shape is not set, FMOD will revert to FMOD_MODE.AS_3D_INVERSETAPEREDROLLOFF roll-off mode.
When a custom roll-off is specified a Channel or ChannelGroup's 3D 'minimum' and 'maximum' distances are ignored.
+The distance in-between point values is linearly interpolated until the final point where the last value is held.
+If the points are not sorted by distance, an error will result.
+// Defining a custom array of points
+curve =
+{
+ { x: 0, y: 1, z: 0 },
+ { x: 2, y: 2, z: 0 },
+ { x: 20, y: 0, z: 0 }
+};
+Syntax:
++++fmod_channel_control_set_3d_custom_rolloff(control_ref, points)
| Argument | +Type | +Description | +
|---|---|---|
| control_ref | +Real | +A reference to a channel control. | +
| points | +Array of FmodVector | +An array of vectors sorted by distance, where x = distance and y = volume from 0 to 1. z should be set to 0. Pass an empty array to disable custom rolloff. |
+
Returns:
+++N/A
+
++FMOD Function: ChannelControl::get3DCustomRolloff
+
This function retrieves the current custom roll-off shape for 3D distance attenuation.
+Syntax:
++++fmod_channel_control_get_3d_custom_rolloff(control_ref)
| Argument | +Type | +Description | +
|---|---|---|
| control_ref | +Real | +A reference to a channel control. | +
Returns:
+++Array of FmodVector
+
++FMOD Function: ChannelControl::set3DDistanceFilter
+
This function sets an override value for the 3D distance filter.
+If distance filtering is enabled, by default the FMOD 3D engine will automatically attenuate frequencies using a lowpass and a highpass filter, based on 3D distance. +This function allows the distance filter effect to be set manually, or to be set back to 'automatic' mode.
+Syntax:
++++fmod_channel_control_set_3d_distance_filter(channel_control_ref, custom, custom_level, center_freq)
| Argument | +Type | +Description | +
|---|---|---|
| channel_control_ref | +Real | +A reference to a ChannelControl. | +
| custom | +Boolean | +Whether to override automatic distance filtering and use custom_level instead. Default is false. |
+
| custom_level | +Real | +The attenuation factor where 1 represents no attenuation and 0 represents complete attenuation. The default value is 1. | +
| center_freq | +Real | +The center frequency, in Hertz, of the band-pass filter used to simulate distance attenuation, 0 for default. This must be a value in the range [10, 22050]. | +
Returns:
+++N/A
+
++FMOD Function: ChannelControl::get3DDistanceFilter
+
This function retrieves the override values for the 3D distance filter.
+Syntax:
++++fmod_channel_control_get_3d_distance_filter(control_ref)
| Argument | +Type | +Description | +
|---|---|---|
| control_ref | +Real | +A reference to a channel control. | +
Returns:
++ ++
++FMOD Function: ChannelControl::set3DDopplerLevel
+
This function sets the amount by which doppler is scaled.
+The doppler effect will be disabled if fmod_system_set_3d_num_listeners is given a value greater than 1.
+Note
+The FMOD_MODE.AS_3D flag must be set on this object otherwise FMOD_RESULT.ERR_NEEDS3D is returned.
Syntax:
++++fmod_channel_control_set_3d_doppler_level(channel_control_ref, level)
| Argument | +Type | +Description | +
|---|---|---|
| channel_control_ref | +Real | +A reference to a ChannelControl. | +
| level | +Real | +Doppler scale where 0 represents no doppler, 1 represents natural doppler and 5 represents exaggerated doppler. The default value is 1. | +
Returns:
+++N/A
+
++FMOD Function: ChannelControl::get3DDopplerLevel
+
This function retrieves the amount by which doppler is scaled.
+The value returned is the doppler level, on a scale where 0 represents no doppler, 1 represents natural doppler and 5 represents exaggerated doppler.
+Syntax:
++++fmod_channel_control_get_3d_doppler_level(channel_control_ref)
| Argument | +Type | +Description | +
|---|---|---|
| channel_control_ref | +Real | +A reference to a ChannelControl. | +
Returns:
++ ++
++FMOD Function: ChannelControl::set3DLevel
+
This function sets the blend between 3D panning and 2D panning.
+Syntax:
++++fmod_channel_control_set_3d_level(channel_control_ref, level)
| Argument | +Type | +Description | +
|---|---|---|
| channel_control_ref | +Real | +A reference to a ChannelControl. | +
| level | +Real | +The 3D pan level where 0 represents panning/attenuating solely with 2D panning functions and 1 represents solely 3D. | +
Returns:
+++N/A
+
++FMOD Function: ChannelControl::get3DLevel
+
This function retrieves the blend between 3D panning and 2D panning.
+The value returned is the (linear) 3D pan level where 0 represents panning/attenuating solely with 2D panning functions and 1 represents solely 3D.
+Note
+The FMOD_MODE.AS_3D flag must be set on this object otherwise FMOD_RESULT.ERR_NEEDS3D is returned.
The 2D functions include:
+The 3D functions include:
+Syntax:
++++fmod_channel_control_get_3d_level(channel_control_ref)
| Argument | +Type | +Description | +
|---|---|---|
| channel_control_ref | +Real | +A reference to a ChannelControl. | +
Returns:
++ ++
++FMOD Function: ChannelControl::set3DMinMaxDistance
+
This function sets the minimum and maximum distances used to calculate the 3D roll-off attenuation.
+When the listener is within the minimum distance of the sound source the 3D volume will be at its maximum. As the listener moves from the minimum distance to the maximum distance the sound will attenuate following the roll-off curve set. When outside the maximum distance the sound will no longer attenuate.
+Attenuation in 3D space is controlled by the roll-off mode, which can be one of FMOD_MODE.AS_3D_INVERSEROLLOFF, FMOD_MODE.AS_3D_LINEARROLLOFF, FMOD_MODE.AS_3D_LINEARSQUAREROLLOFF, FMOD_MODE.AS_3D_INVERSETAPEREDROLLOFF, FMOD_MODE.AS_3D_CUSTOMROLLOFF.
Minimum distance is useful to give the impression that the sound is loud or soft in 3D space. +A sound with a small 3D minimum distance in a typical (non custom) roll-off mode will make the sound appear small, and the sound will attenuate quickly. +A sound with a large minimum distance will make the sound appear larger.
+The FMOD_MODE.AS_3D flag must be set on this object otherwise fmod_last_result will return FMOD_RESULT.ERR_NEEDS3D.
To define the min and max distance per Sound instead of Channel or ChannelGroup use fmod_sound_set_3d_min_max_distance.
+If FMOD_MODE.AS_3D_CUSTOMROLLOFF has been set on this object these values are stored, but ignored in 3D processing.
Syntax:
++++fmod_channel_control_set_3d_min_max_distance(channel_control_ref, min, max)
| Argument | +Type | +Description | +
|---|---|---|
| channel_control_ref | +Real | +A reference to a ChannelControl. | +
| min | +Real | +The distance from the source where attenuation begins. A value in the range [0, max]. Default is 1. |
+
| max | +Real | +The distance from the source where attenuation ends. A value in the range [min, infinity]. Default is 10000. |
+
Returns:
+++N/A
+
++FMOD Function: ChannelControl::get3DMinMaxDistance
+
This function retrieves the minimum and maximum distances used to calculate the 3D roll-off attenuation.
+Syntax:
++++fmod_channel_control_get_3d_min_max_distance(control_ref)
| Argument | +Type | +Description | +
|---|---|---|
| control_ref | +Real | +A reference to a channel control. | +
Returns:
++ ++
++FMOD Function: ChannelControl::set3DOcclusion
+
This function sets the 3D attenuation factors for the direct and reverb paths.
+There is a reverb path/send when fmod_channel_control_set_reverb_properties has been used, reverb_occlusion controls its attenuation.
If the System has been initialized with FMOD_INIT.CHANNEL_DISTANCEFILTER or FMOD_INIT.CHANNEL_LOWPASS the direct_occlusion is applied as frequency filtering rather than volume attenuation.
Syntax:
++++fmod_channel_control_set_3d_occlusion(channel_control_ref, direct_occlusion, reverb_occlusion)
| Argument | +Type | +Description | +
|---|---|---|
| channel_control_ref | +Real | +A reference to a ChannelControl. | +
| direct_occlusion | +Real | +The occlusion factor for the direct path where 0 represents no occlusion and 1 represents full occlusion. Default is 0. | +
| reverb_occlusion | +Real | +Occlusion factor for the reverb path where 0 represents no occlusion and 1 represents full occlusion. Default is 0. | +
Returns:
+++N/A
+
++FMOD Function: ChannelControl::get3DOcclusion
+
This function retrieves the 3D attenuation factors for the direct and reverb paths.
+Syntax:
++++fmod_channel_control_get_3d_occlusion(control_ref)
| Argument | +Type | +Description | +
|---|---|---|
| control_ref | +Real | +A reference to a channel control. | +
Returns:
++ ++
++FMOD Function: ChannelControl::set3DSpread
+
This function sets the spread of a 3D sound in speaker space.
+When the spread angle is 0 (default) a multi-channel signal will collapse to mono and be spatialized to a single point based on fmod_channel_control_set_3d_attributes calculations. As the angle is increased, each channel within a multi-channel signal will be rotated away from that point. For 2, 4, 6, 8, and 12 channel signals, the spread is arranged from leftmost speaker to rightmost speaker intelligently, for example in 5.1 the leftmost speaker is rear left, followed by front left, center, front right then finally rear right as the rightmost speaker (LFE is not spread). For other channel counts the individual channels are spread evenly in the order of the signal. As the signal is spread the power will be preserved.
+For a stereo signal given different spread angles:
+Syntax:
++++fmod_channel_control_set_3d_spread(channel_control_ref, angle)
| Argument | +Type | +Description | +
|---|---|---|
| channel_control_ref | +Real | +A reference to a ChannelControl. | +
| angle | +Real | +The angle (in degrees) over which the sound is spread. The default value is 0. | +
Returns:
+++N/A
+
++FMOD Function: ChannelControl::get3DSpread
+
This function retrieves the spread of a 3D sound in speaker space.
+It returns the angle (in degrees) over which the sound is spread.
+Syntax:
++++fmod_channel_control_get_3d_spread(channel_control_ref)
| Argument | +Type | +Description | +
|---|---|---|
| channel_control_ref | +Real | +A reference to a ChannelControl. | +
Returns:
++ ++
++FMOD Function: ChannelControl::setPan
+
This function sets the left/right pan level.
+This is a convenience function to avoid passing a matrix, it will overwrite values set via fmod_channel_control_set_mix_levels_input, fmod_channel_control_set_mix_levels_output and fmod_system_set_software_format.
+Mono inputs are panned from left to right using constant power panning (non linear fade). Stereo and greater inputs will isolate the front left and right input channels and fade them up and down based on the pan value (silencing other channels). The output channel count will always match the System speaker mode set via fmod_system_set_software_format.
+Note
+If the System is initialized with FMOD_SPEAKERMODE.RAW calling this function will produce silence.
Syntax:
++++fmod_channel_control_set_pan(channel_control_ref, pan)
| Argument | +Type | +Description | +
|---|---|---|
| channel_control_ref | +Real | +A reference to a ChannelControl. | +
| pan | +Real | +The pan level where -1 represents full left, 0 represents center and 1 represents full right. Default is 0. | +
Returns:
+++N/A
+
++FMOD Function: ChannelControl::setMixLevelsInput
+
This function sets the incoming volume level for each channel of a multi-channel signal.
+This is a convenience function to avoid passing a matrix, it will overwrite values set via fmod_channel_control_set_pan, fmod_channel_control_set_mix_levels_output and fmod_channel_control_set_mix_matrix.
+Note
+This is currently only supported for Channel, not ChannelGroup.
+Syntax:
++++fmod_channel_control_set_mix_levels_input(control_ref, levels)
| Argument | +Type | +Description | +
|---|---|---|
| control_ref | +Real | +A reference to a channel control. | +
| levels | +Array of Real | +An array of volume levels for each incoming channel. Volume level. 0 = silent, 1 = full. A negative level inverts the signal. Values larger than 1 amplify the signal. | +
Returns:
+++N/A
+
++FMOD Function: ChannelControl::setMixLevelsOutput
+
This function sets the outgoing volume levels for each speaker.
+Specify the level for a given output speaker, if the channel count of the input and output do not match, channels will be up/down mixed as appropriate to approximate the given speaker values. For example stereo input with 5.1 output will use the center parameter to distribute signal to the center speaker from front left and front right channels.
This is a convenience function to avoid passing a matrix, it will overwrite values set via fmod_channel_control_set_pan, fmod_channel_control_set_mix_levels_input and fmod_channel_control_set_mix_matrix.
+The output channel count will always match the System speaker mode set via fmod_system_set_software_format.
+Note
+If the System is initialized with FMOD_SPEAKERMODE.RAW calling this function will produce silence.
Syntax:
++++fmod_channel_control_set_mix_levels_output(channel_control_ref, front_left, front_right, center, lfe, surround_left, surround_right, back_left, back_right)
| Argument | +Type | +Description | +
|---|---|---|
| channel_control_ref | +Real | +A reference to a ChannelControl. | +
| front_left | +Real | +The volume level for FMOD_SPEAKER.FRONT_LEFT. Volume level. 0 = silent, 1 = full. Negative level inverts the signal. Values larger than 1 amplify the signal. |
+
| front_right | +Real | +The volume level for FMOD_SPEAKER.FRONT_RIGHT. Volume level. 0 = silent, 1 = full. Negative level inverts the signal. Values larger than 1 amplify the signal. |
+
| center | +Real | +The volume level for FMOD_SPEAKER.FRONT_CENTER. Volume level. 0 = silent, 1 = full. Negative level inverts the signal. Values larger than 1 amplify the signal. |
+
| lfe | +Real | +The volume level for FMOD_SPEAKER.LOW_FREQUENCY. Volume level. 0 = silent, 1 = full. Negative level inverts the signal. Values larger than 1 amplify the signal. |
+
| surround_left | +Real | +The volume level for FMOD_SPEAKER.SURROUND_LEFT. Volume level. 0 = silent, 1 = full. Negative level inverts the signal. Values larger than 1 amplify the signal. |
+
| surround_right | +Real | +The volume level for FMOD_SPEAKER.SURROUND_RIGHT. Volume level. 0 = silent, 1 = full. Negative level inverts the signal. Values larger than 1 amplify the signal. |
+
| back_left | +Real | +The volume level for FMOD_SPEAKER.BACK_LEFT. Volume level. 0 = silent, 1 = full. Negative level inverts the signal. Values larger than 1 amplify the signal. |
+
| back_right | +Real | +The volume level for FMOD_SPEAKER.BACK_RIGHT. Volume level. 0 = silent, 1 = full. Negative level inverts the signal. Values larger than 1 amplify the signal. |
+
Returns:
+++N/A
+
++FMOD Function: ChannelControl::setMixMatrix
+
This function sets a 2 dimensional pan matrix that maps the signal from input channels (columns) to output speakers (rows).
+This will overwrite values set via fmod_channel_control_set_pan, fmod_channel_control_set_mix_levels_input and fmod_channel_control_set_mix_levels_output.
+If no matrix is passed in via matrix a default upmix, downmix, or unit matrix will take its place. A unit matrix allows a signal to pass through unchanged.
+Example 5.1 unit matrix:
+1 0 0 0 0 0
+0 1 0 0 0 0
+0 0 1 0 0 0
+0 0 0 1 0 0
+0 0 0 0 1 0
+0 0 0 0 0 1
+Note
+Matrix element values can be below 0 to invert a signal and above 1 to amplify the signal. Note that increasing the signal level too far may cause audible distortion.
+Syntax:
++++fmod_channel_control_set_mix_matrix(control_ref, matrix, out_channels, in_channels, in_channel_hop)
| Argument | +Type | +Description | +
|---|---|---|
| control_ref | +Real | +A reference to a channel control. | +
| matrix | +Array of Real | +A two-dimensional array of volume levels in row-major order. Each row represents an output speaker, each column represents an input channel. | +
| out_channels | +Real | +The number of output channels (rows) in matrix. |
+
| in_channels | +Real | +The number of input channels (columns) in matrix. |
+
| in_channel_hop | +Real | +The width (total number of columns) in the source matrix. A matrix element is referenced as 'outchannel * inchannel_hop + inchannel'. The default value is in_channels. |
+
Returns:
+++N/A
+
++FMOD Function: ChannelControl::getMixMatrix
+
This function retrieves a 2 dimensional pan matrix that maps the signal from input channels (columns) to output speakers (rows).
+Note
+Matrix element values can be below 0 to invert a signal and above 1 to amplify the signal. Note that increasing the signal level too far may cause audible distortion.
+Syntax:
++++fmod_channel_control_get_mix_matrix(control_ref)
| Argument | +Type | +Description | +
|---|---|---|
| control_ref | +Real | +A reference to a channel control. | +
Returns:
++ ++
++FMOD Function: ChannelControl::setReverbProperties
+
This function sets the wet / send level for a particular reverb instance.
+Channels are automatically connected to all existing reverb instances due to the default wet level of 1. ChannelGroups however will not send to any reverb by default requiring an explicit call to this function.
+ChannelGroup reverb is optimal for the case where you want to send 1 mixed signal to the reverb, rather than a lot of individual Channel reverb sends. It is advisable to do this to reduce CPU if you have many Channels inside a ChannelGroup.
+When setting a wet level for a ChannelGroup, any Channels under that ChannelGroup will still have their existing sends to the reverb. To avoid this doubling up you should explicitly set the Channel wet levels to 0.
+Syntax:
++++fmod_channel_control_set_reverb_properties(channel_control_ref, reverb_instance, wet)
| Argument | +Type | +Description | +
|---|---|---|
| channel_control_ref | +Real | +A reference to a ChannelControl. | +
| reverb_instance | +Real | +A reverb instance index. | +
| wet | +Real | +The send level for the signal to the reverb. 0 = none, 1 = full. A negative level inverts the signal. Default is 1 for Channel, 0 for ChannelGroup. | +
Returns:
+++N/A
+
++FMOD Function: ChannelControl::getReverbProperties
+
This function retrieves the wet / send level for a particular reverb instance.
+It returns the send level for the signal to the reverb. 0 = none, 1 = full.
+Syntax:
++++fmod_channel_control_get_reverb_properties(channel_control_ref, reverb_instance)
| Argument | +Type | +Description | +
|---|---|---|
| channel_control_ref | +Real | +A reference to a ChannelControl. | +
| reverb_instance | +Real | +A reverb instance index. | +
Returns:
++ ++
++FMOD Function: ChannelControl::setLowPassGain
+
This function sets the gain of the dry signal when built-in lowpass / distance filtering is applied.
+Note
+This requires the built-in lowpass to be created with FMOD_INIT.CHANNEL_LOWPASS or FMOD_INIT.CHANNEL_DISTANCEFILTER.
Note
+This is currently only supported for Channel, not ChannelGroup.
+Syntax:
++++fmod_channel_control_set_low_pass_gain(channel_control_ref, gain)
| Argument | +Type | +Description | +
|---|---|---|
| channel_control_ref | +Real | +A reference to a ChannelControl. | +
| gain | +Real | +The gain level where 0 represents silent (full filtering) and 1 represents full volume (no filtering). Default is 1. | +
Returns:
+++N/A
+
++FMOD Function: ChannelControl::getLowPassGain
+
This function retrieves the gain of the dry signal when built-in lowpass / distance filtering is applied.
+The function returns the gain level where 0 represents silent (full filtering) and 1 represents full volume (no filtering).
+Note
+This requires the built-in lowpass to be created with FMOD_INIT.CHANNEL_LOWPASS or FMOD_INIT.CHANNEL_DISTANCEFILTER.
Note
+Currently only supported for Channel, not ChannelGroup.
+Syntax:
++++fmod_channel_control_get_low_pass_gain(channel_control_ref)
| Argument | +Type | +Description | +
|---|---|---|
| channel_control_ref | +Real | +A reference to a ChannelControl. | +
Returns:
++ ++
++FMOD Function: ChannelControl::addDSP
+
This function adds a DSP unit to the specified index in the DSP chain.
+If dsp_ref is already added to an existing object it will be removed and then added to this object.
For detailed information on FMOD's DSP network, read the DSP Architecture and Usage white paper.
+Syntax:
++++fmod_channel_control_add_dsp(channel_control_ref, dsp_chain_offset, dsp_ref)
| Argument | +Type | +Description | +
|---|---|---|
| channel_control_ref | +Real | +A reference to a ChannelControl. | +
| dsp_chain_offset | +Real | +The offset into the DSP chain, see FMOD_CHANNELCONTROL_DSP_INDEX for special named offsets for 'head' and 'tail' and 'fader' units. | +
| dsp_ref | +Real | +The DSP unit to be added. | +
Returns:
+++N/A
+
++FMOD Function: ChannelControl::removeDSP
+
This function removes the specified DSP unit from the DSP chain.
+Syntax:
++++fmod_channel_control_remove_dsp(channel_control_ref, dsp_ref)
| Argument | +Type | +Description | +
|---|---|---|
| channel_control_ref | +Real | +A reference to a ChannelControl. | +
| dsp_ref | +Real | +The DSP unit to be removed. | +
Returns:
+++N/A
+
++FMOD Function: ChannelControl::getNumDSPs
+
This function retrieves the number of DSP units in the DSP chain.
+See DSP chain.
+Syntax:
++++fmod_channel_control_get_num_dsps(channel_control_ref)
| Argument | +Type | +Description | +
|---|---|---|
| channel_control_ref | +Real | +A reference to a ChannelControl. | +
Returns:
++ ++
++FMOD Function: ChannelControl::getDSP
+
This function retrieves the DSP unit at the specified index in the DSP chain.
+It returns the DSP unit at the specified index.
See DSP chain.
+Syntax:
++++fmod_channel_control_get_dsp(channel_control_ref, index)
| Argument | +Type | +Description | +
|---|---|---|
| channel_control_ref | +Real | +A reference to a ChannelControl. | +
| index | +Real | +The offset into the DSP chain, see FMOD_CHANNELCONTROL_DSP_INDEX for special named offsets for 'head' and 'tail' and 'fader' units. | +
Returns:
++ ++
++FMOD Function: ChannelControl::setDSPIndex
+
This function sets the index in the DSP chain of the specified DSP.
+See DSP chain.
+Syntax:
++++fmod_channel_control_set_dsp_index(channel_control_ref, dsp_ref, chain_index)
| Argument | +Type | +Description | +
|---|---|---|
| channel_control_ref | +Real | +A reference to a ChannelControl. | +
| dsp_ref | +Real | +A reference to a DSP unit that exists in the DSP chain. | +
| chain_index | +Real | +The offset into the DSP chain to move the DSP to, see FMOD_CHANNELCONTROL_DSP_INDEX for special named offsets. | +
Returns:
++ ++
++FMOD Function: ChannelControl::getDSPIndex
+
This function retrieves the index of a DSP inside the Channel or ChannelGroup's DSP chain.
+See DSP chain.
+Syntax:
++++fmod_channel_control_get_dsp_index(channel_control_ref, dsp_ref)
| Argument | +Type | +Description | +
|---|---|---|
| channel_control_ref | +Real | +A reference to a ChannelControl. | +
| dsp_ref | +Real | +A DSP unit that exists in the DSP chain. | +
Returns:
++ ++
++FMOD Function: ChannelControl::getDSPClock
+
This function retrieves the DSP clock values at this point in time.
+To perform sample accurate scheduling in conjunction with fmod_channel_control_set_delay and fmod_channel_control_add_fade_point query the parent_clock value.
Syntax:
++++fmod_channel_control_get_dsp_clock(control_ref)
| Argument | +Type | +Description | +
|---|---|---|
| control_ref | +Real | +A reference to a channel control. | +
Returns:
++ ++
++FMOD Function: ChannelControl::setDelay
+
This function sets a sample accurate start (and/or stop) time relative to the parent ChannelGroup DSP clock.
+Syntax:
++++fmod_channel_control_set_delay(control_ref, dsp_clock_start, dsp_clock_end, stop_channels)
| Argument | +Type | +Description | +
|---|---|---|
| control_ref | +Real | +A reference to a channel control. | +
| dsp_clock_start | +Real | +The DSP clock of the parent ChannelGroup to audibly start playing sound at. Default is 0. | +
| dsp_clock_end | +Real | +DSP clock of the parent ChannelGroup to audibly stop playing sound at. Default is 0. | +
| stop_channels | +Boolean | +True: When dspclock_end is reached, behaves like fmod_channel_control_stop has been called.False: When dspclock_end is reached, behaves like fmod_channel_control_set_paused has been called, a subsequent dspclock_start allows it to resume. |
+
Returns:
+++N/A
+
++FMOD Function: ChannelControl::getDelay
+
This function retrieves a sample accurate start (and/or stop) time relative to the parent ChannelGroup DSP clock.
+Syntax:
++++fmod_channel_control_get_delay(control_ref)
| Argument | +Type | +Description | +
|---|---|---|
| control_ref | +Real | +A reference to a channel control. | +
Returns:
++ ++
++FMOD Function: ChannelControl::addFadePoint
+
This function adds a sample accurate fade point at a time relative to the parent ChannelGroup DSP clock.
+Fade points are scaled against other volume settings and in-between each fade point the volume will be linearly ramped.
+To perform sample accurate fading use fmod_channel_control_get_dsp_clock to query the parent clock value. If a parent ChannelGroup changes its pitch, the fade points will still be correct as the parent clock rate is adjusted by that pitch.
+Syntax:
++++fmod_channel_control_add_fade_point(control_ref, dsp_clock, volume)
| Argument | +Type | +Description | +
|---|---|---|
| control_ref | +Real | +A reference to a channel control. | +
| dsp_clock | +Real | +The DSP clock of the parent ChannelGroup to set the fade point volume. Expressed in samples. | +
| volume | +Real | +The (linear) volume level at the given dsp_clock. Values above 1.0 amplify the signal. |
+
Returns:
+++N/A
+
Example:
+// Example. Ramp from full volume to half volume over the next 4096 samples
+var _dsp_clock = FMOD_ChannelControl_GetDSPClock(target);
+var _clock_val = _dsp_clock.parent_clock;
+FMOD_ChannelControl_AddFadePoint(target, _clock_val, 1);
+FMOD_ChannelControl_AddFadePoint(target, _clock_val + 4096, 0.5);
+The above code shows how to perform sample accurate fading. It ramps from full volume to half volume over the next 4096 samples.
+++FMOD Function: ChannelControl::setFadePointRamp
+
This function adds a volume ramp at the specified time in the future using fade points.
+This is a convenience function that creates a scheduled 64 sample fade point ramp from the current volume level to volume arriving at dsp_clock time.
Can be use in conjunction with fmod_channel_control_set_delay.
+All fade points after dsp_clock will be removed.
Syntax:
++++fmod_channel_control_set_fade_point_ramp(control_ref, dsp_clock, volume)
| Argument | +Type | +Description | +
|---|---|---|
| control_ref | +Real | +A reference to a channel control. | +
| dsp_clock | +Real | +The time (in samples) at which the ramp will end, as measured by the DSP clock of the parent ChannelGroup. | +
| volume | +Real | +The volume level at the given dsp_clock. 0 = silent, 1 = full. |
+
Returns:
+++N/A
+
++FMOD Function: ChannelControl::removeFadePoints
+
This function removes all fade points between the two specified clock values (inclusive).
+Syntax:
++++fmod_channel_control_remove_fade_points(control_ref, dsp_clock_start, dsp_clock_end)
| Argument | +Type | +Description | +
|---|---|---|
| control_ref | +Real | +A reference to a channel control. | +
| dsp_clock_start | +Real | +The DSP clock of the parent ChannelGroup at which to begin removing fade points. Expressed in samples. | +
| dsp_clock_end | +Real | +The DSP clock of the parent ChannelGroup at which to stop removing fade points. Expressed in samples. | +
Returns:
+++N/A
+
++FMOD Function: ChannelControl::getFadePoints
+
This function retrieves information about all stored fade points.
+Syntax:
++++fmod_channel_control_get_fade_points(control_ref)
| Argument | +Type | +Description | +
|---|---|---|
| control_ref | +Real | +A reference to a channel control. | +
Returns:
++ ++
++FMOD Function: ChannelControl::setCallback
+
This function enables the callback for ChannelControl level notifications.
+Note
+the Social Async Event's async_load will either hold a channel_ref or a channel_group_ref.
This function operates asynchronously, which means that it does not immediately return the requested result. Instead, upon completion of the task, it will trigger the Social Async Event.
+Syntax:
++++fmod_channel_control_set_callback(channel_control_ref)
| Argument | +Type | +Description | +
|---|---|---|
| channel_control_ref | +Real | +A reference to a ChannelControl. | +
Returns:
+++N/A
+
Triggers:
++ ++
When kind is one of FMOD_CHANNELCONTROL_CALLBACK_TYPE.END, FMOD_CHANNELCONTROL_CALLBACK_TYPE.VIRTUALVOICE or FMOD_CHANNELCONTROL_CALLBACK_TYPE.SYNCPOINT:
| Key | +Type | +Description | +
|---|---|---|
| type | +String | +The string "fmod_channel_control_set_callback" |
+
| kind | +FMOD_CHANNELCONTROL_CALLBACK_TYPE | +The kind of callback. | +
| channel_ref | +Real | +A reference to the channel. | +
| channel_group_ref | +Real | +A reference to a channel group. | +
| point_index | +Real | +If kind is FMOD_CHANNELCONTROL_CALLBACK_TYPE.VIRTUALVOICE, this is a value where 0 represents 'virtual to real' and 1 represents 'real to virtual'. If kind is FMOD_CHANNELCONTROL_CALLBACK_TYPE.SYNCPOINT, this is a value representing the index of the sync point for use with fmod_sound_get_sync_point. |
+
When kind is FMOD_CHANNELCONTROL_CALLBACK_TYPE.OCCLUSION:
| Key | +Type | +Description | +
|---|---|---|
| type | +String | +The string "fmod_channel_control_set_callback" |
+
| kind | +FMOD_CHANNELCONTROL_CALLBACK_TYPE | +The kind of callback. | +
| channel_ref | +Real | +A reference to the channel. | +
| channel_group_ref | +Real | +A reference to a channel group. | +
| direct_occlusion | +Real | +A value that represents the calculated direct occlusion value. | +
| reverb_occlusion | +Real | +A value that represents the calculated reverb occlusion value. | +
++FMOD Function: ChannelControl::getSystemObject
+
This function retrieves the System that created this object.
+Syntax:
++++fmod_channel_control_get_system_object(channel_control_ref)
| Argument | +Type | +Description | +
|---|---|---|
| channel_control_ref | +Real | +A reference to a ChannelControl. | +
Returns:
++ ++
++FMOD Function: ChannelControl::setUserData
+
This function sets a floating-point user value associated with this object.
+Note
+While FMOD supports arbitrary User Data, this function only allows you to set a real value (a double-precision floating-point value).
+Syntax:
++++fmod_channel_control_set_user_data(channel_control_ref, data)
| Argument | +Type | +Description | +
|---|---|---|
| channel_control_ref | +Real | +A reference to a ChannelControl. | +
| data | +Real | +The value to store on this object. | +
Returns:
+++N/A
+
++FMOD Function: ChannelControl::getUserData
+
This function retrieves the user value associated with this object, as set with fmod_channel_control_set_user_data.
+Note
+While FMOD allows arbitrary User Data, this function only allows you to get a real value (a double-precision floating-point value).
+Syntax:
++++fmod_channel_control_get_user_data(channel_control_ref)
| Argument | +Type | +Description | +
|---|---|---|
| channel_control_ref | +Real | +A reference to a ChannelControl. | +
Returns:
++ ++
++FMOD Object: ChannelGroup
+
This module contains functionality related to Channel Groups, which are submixes in the mixing hierarchy akin to buses that can contain both Channel and ChannelGroup objects.
+This module offers a collection of functions designed to address specific tasks and provide utilities for various purposes. Explore the available functions to make the most of the functionalities provided by this module.
+++FMOD Function: Channel::setChannelGroup
+
This function sets the channelgroup this object outputs to.
+Note
+A channelgroup may contain many channels.
+Note
+Channels may only output to a single channelgroup. This operation will remove it from the previous group first.
+Syntax:
++++fmod_channel_set_channel_group(channel_ref, channel_group_ref)
| Argument | +Type | +Description | +
|---|---|---|
| channel_ref | +Real | +A reference to a channel. | +
| channel_group_ref | +Real | +A reference to the channelgroup to use as the output group. | +
Returns:
+++N/A
+
++FMOD Function: Channel::getChannelGroup
+
This function retrieves the ChannelGroup this object outputs to.
+Syntax:
++++fmod_channel_get_channel_group(channel_ref)
| Argument | +Type | +Description | +
|---|---|---|
| channel_ref | +Real | +A reference to a channel. | +
Returns:
++ ++
++FMOD Function: ChannelGroup::getNumChannels
+
This function retrieves the number of Channels that feed into this group.
+Syntax:
++++fmod_channel_group_get_num_channels(channel_group_ref)
| Argument | +Type | +Description | +
|---|---|---|
| channel_group_ref | +Real | +A reference to a ChannelGroup. | +
Returns:
++ ++
++FMOD Function: ChannelGroup::getChannel
+
This function retrieves the Channel at the specified index in the list of Channel inputs.
+The function returns a reference to the Channel.
+Syntax:
++++fmod_channel_group_get_channel(channel_group_ref, index)
| Argument | +Type | +Description | +
|---|---|---|
| channel_group_ref | +Real | +A reference to a ChannelGroup. | +
| index | +Real | +The offset into the list of Channel inputs. | +
Returns:
++ ++
++FMOD Function: ChannelGroup::addGroup
+
This function adds a ChannelGroup as an input to this group.
+The function returns a reference to the DSPConnection created between the head DSP of child_channel_group_ref and the tail DSP of channel_group_ref.
Syntax:
++++fmod_channel_group_add_group(channel_group_ref, child_channel_group_ref, propagate_dsp_clock)
| Argument | +Type | +Description | +
|---|---|---|
| channel_group_ref | +Real | +A reference to a ChannelGroup. | +
| child_channel_group_ref | +Real | +The ChannelGroup to add. | +
| propagate_dsp_clock | +Boolean | +Whether to recursively propagate this object's clock values to child_channel_group_ref. |
+
Returns:
++ ++
++FMOD Function: ChannelGroup::getNumGroups
+
This function retrieves the number of ChannelGroups that feed into to this group.
+Syntax:
++++fmod_channel_group_get_num_groups(channel_group_ref)
| Argument | +Type | +Description | +
|---|---|---|
| channel_group_ref | +Real | +A reference to a ChannelGroup. | +
Returns:
++ ++
++FMOD Function: ChannelGroup::getGroup
+
This function retrieves the ChannelGroup at the specified index in the list of group inputs.
+Syntax:
++++fmod_channel_group_get_group(channel_group_ref, group_index)
| Argument | +Type | +Description | +
|---|---|---|
| channel_group_ref | +Real | +A reference to a ChannelGroup. | +
| group_index | +Real | +The offset into the list of group inputs. A value in the range [0, fmod_channel_group_get_num_groups]. | +
Returns:
++ ++
++FMOD Function: ChannelGroup::getParentGroup
+
This function retrieves the ChannelGroup this object outputs to.
+Syntax:
++++fmod_channel_group_get_parent_group(channel_group_ref)
| Argument | +Type | +Description | +
|---|---|---|
| channel_group_ref | +Real | +A reference to a ChannelGroup. | +
Returns:
++ ++
++FMOD Function: ChannelGroup::getName
+
This function retrieves the name set when the group was created.
+Syntax:
++++fmod_channel_group_get_name(channel_group_ref)
| Argument | +Type | +Description | +
|---|---|---|
| channel_group_ref | +Real | +A reference to a ChannelGroup. | +
Returns:
++ ++
++FMOD Function: ChannelGroup::release
+
This function frees the memory for the group.
+Note
+Any Channels or ChannelGroups feeding into this group are moved to the master ChannelGroup.
+Syntax:
++++fmod_channel_group_release(channel_group_ref)
| Argument | +Type | +Description | +
|---|---|---|
| channel_group_ref | +Real | +A reference to a ChannelGroup. | +
Returns:
++ ++
++FMOD Function: ChannelControl::getSystemObject
+
This function retrieves the System that created this object.
+Syntax:
++++fmod_channel_group_get_system_object(channel_group_ref)
| Argument | +Type | +Description | +
|---|---|---|
| channel_group_ref | +Real | +A reference to a ChannelGroup. | +
Returns:
++ ++
++FMOD Object: Studio::CommandReplay
+
This module holds the functionality for the FMOD Studio command replay system, which allows API calls in a session to be recorded and later played back for debugging and performance purposes.
+This module offers a collection of functions designed to address specific tasks and provide utilities for various purposes. Explore the available functions to make the most of the functionalities provided by this module.
+++FMOD Function: Studio::CommandReplay::setBankPath
+
This function sets a path substition that will be used when loading banks with this replay.
+fmod_studio_system_load_bank_file commands in the replay are redirected to load banks from the specified directory, instead of using the directory recorded in the captured commands.
+Syntax:
++++fmod_studio_command_replay_set_bank_path(command_replay_ref, path)
| Argument | +Type | +Description | +
|---|---|---|
| command_replay_ref | +Real | +A reference to a CommandReplay. | +
| path | +String | +The path to use when loading banks. | +
Returns:
+++N/A
+
++FMOD Function: Studio::CommandReplay::setCreateInstanceCallback
+
This function enables the create event instance callback, received in the Async Social event.
+The create instance callback is invoked each time a fmod_studio_event_description_create_instance command is processed.
+The callback can either create a new event instance based on the callback parameters or skip creating the instance. If the instance is not created then subsequent commands for the event instance will be ignored in the replay.
+If this callback is not set then the system will always create an event instance.
+This function operates asynchronously, which means that it does not immediately return the requested result. Instead, upon completion of the task, it will trigger the Social Async Event.
+Syntax:
++++fmod_studio_command_replay_set_create_instance_callback(command_replay_ref)
| Argument | +Type | +Description | +
|---|---|---|
| command_replay_ref | +Real | +A reference to a CommandReplay. | +
Returns:
+++N/A
+
Triggers:
++ ++
The Social Async event executed for the create event instance callback
+| Key | +Type | +Description | +
|---|---|---|
| type | +String | +The value "fmod_studio_command_replay_set_create_instance_callback" |
+
| command_replay_ref | +Real | +The handle of the Command Replay triggering this event | +
| event_description_ref | +Real | +The handle of the event description associated with the newly created instance | +
| event_instance_ref | +Real | +The handle of the created instance | +
++FMOD Function: Studio::CommandReplay::setFrameCallback
+
This function enables a callback that is issued each time the replay reaches a new frame. This is received in the Async Social event.
+This function operates asynchronously, which means that it does not immediately return the requested result. Instead, upon completion of the task, it will trigger the Social Async Event.
+Syntax:
++++fmod_studio_command_replay_set_frame_callback(command_replay_ref)
| Argument | +Type | +Description | +
|---|---|---|
| command_replay_ref | +Real | +A reference to a CommandReplay. | +
Returns:
+++N/A
+
Triggers:
++ ++
The Social Async event executed for the create event instance callback
+| Key | +Type | +Description | +
|---|---|---|
| type | +String | +The value "fmod_studio_command_replay_set_frame_callback" |
+
| command_replay_ref | +Real | +The handle of the Command Replay triggering this event | +
| command_index | +Real | +Current playback command index | +
| current_time | +Real | +Current playback time | +
++FMOD Function: Studio::CommandReplay::setLoadBankCallback
+
This function enables the bank loading callback, received in the Async Social event.
+The load bank callback is invoked whenever any of the Studio load bank functions are reached.
+This callback is required to be implemented to successfully replay fmod_studio_system_load_bank_memory and fmod_studio_system_load_bank_custom commands.
+The callback is responsible for loading the bank based on the callback parameters. If the bank is not loaded subsequent commands which reference objects in the bank will fail.
+If this callback is not set then the system will attempt to load banks from file according to recorded fmod_studio_system_load_bank_file commands and skip other load commands.
+This function operates asynchronously, which means that it does not immediately return the requested result. Instead, upon completion of the task, it will trigger the Social Async Event.
+Syntax:
++++fmod_studio_command_replay_set_load_bank_callback(command_replay_ref)
| Argument | +Type | +Description | +
|---|---|---|
| command_replay_ref | +Real | +A reference to a CommandReplay. | +
Returns:
+++N/A
+
Triggers:
++ ++
The Social Async event executed for the create event instance callback
+| Key | +Type | +Description | +
|---|---|---|
| type | +String | +The value "fmod_studio_command_replay_set_load_bank_callback" |
+
| command_replay_ref | +Real | +The handle of the Command Replay triggering this event | +
| command_index | +Real | +The command that involved this callback | +
| bank_ref | +Real | +The bank loaded by this function | +
| bank_guid | +Real | +The GUID of the bank that needs to be loaded | +
| bank_filename | +Real | +The filename of the bank that needs to be loaded | +
++FMOD Function: Studio::CommandReplay::start
+
This function begins playback.
+If the replay is already running then calling this function will restart replay from the beginning.
+Syntax:
++++fmod_studio_command_replay_start(command_replay_ref)
| Argument | +Type | +Description | +
|---|---|---|
| command_replay_ref | +Real | +A reference to a CommandReplay. | +
Returns:
+++N/A
+
++FMOD Function: Studio::CommandReplay::stop
+
This function stops playback.
+If the FMOD_STUDIO_COMMANDREPLAY.SKIP_CLEANUP flag has been used then the system state is left as it was at the end of the playback, otherwise all resources that were created as part of the replay will be cleaned up.
Syntax:
++++fmod_studio_command_replay_stop(command_replay_ref)
| Argument | +Type | +Description | +
|---|---|---|
| command_replay_ref | +Real | +A reference to a CommandReplay. | +
Returns:
+++N/A
+
++FMOD Function: Studio::CommandReplay::getCurrentCommand
+
This function retrieves the progress through the command replay.
+If this function is called before fmod_studio_command_replay_start then both commandindex and currenttime (in the returned struct) will be returned as 0. If this function is called after fmod_studio_command_replay_stop then the index and time of the last command which was replayed will be returned.
Syntax:
++++fmod_studio_command_replay_get_current_command(command_replay_ref)
| Argument | +Type | +Description | +
|---|---|---|
| command_replay_ref | +Real | +A reference to a CommandReplay. | +
Returns:
++ ++
++FMOD Function: Studio::CommandReplay::getPlaybackState
+
This function retrieves the playback state of the given CommandReplay.
+Syntax:
++++fmod_studio_command_replay_get_playback_state(command_replay_ref)
| Argument | +Type | +Description | +
|---|---|---|
| command_replay_ref | +Real | +A reference to a CommandReplay. | +
Returns:
++ ++
++FMOD Function: Studio::CommandReplay::setPaused
+
This function sets the paused state of the given CommandReplay.
+Syntax:
++++fmod_studio_command_replay_set_paused(command_replay_ref, pause)
| Argument | +Type | +Description | +
|---|---|---|
| command_replay_ref | +Real | +A reference to a CommandReplay. | +
| pause | +Boolean | +true to pause, false to unpause. |
+
Returns:
+++N/A
+
++FMOD Function: Studio::CommandReplay::getPaused
+
This function retrieves the paused state of the given CommandReplay (true if paused, false if not).
Syntax:
++++fmod_studio_command_replay_get_paused(command_replay_ref)
| Argument | +Type | +Description | +
|---|---|---|
| command_replay_ref | +Real | +A reference to a CommandReplay. | +
Returns:
++ ++
++FMOD Function: Studio::CommandReplay::seekToCommand
+
This function seeks the playback position to a command.
+Syntax:
++++fmod_studio_command_replay_seek_to_command(command_replay_ref, command_index)
| Argument | +Type | +Description | +
|---|---|---|
| command_replay_ref | +Real | +A reference to a CommandReplay. | +
| command_index | +Real | +The command index to seek to. | +
Returns:
++ ++
++FMOD Function: Studio::CommandReplay::seekToTime
+
This function moves the playback position to the the first command at or after time. If no command exists at or after time, then FMOD_RESULT.ERR_EVENT_NOTFOUND is returned (in the next fmod_last_result call).
Syntax:
++++fmod_studio_command_replay_seek_to_time(command_replay_ref, time)
| Argument | +Type | +Description | +
|---|---|---|
| command_replay_ref | +Real | +A reference to a CommandReplay. | +
| time | +Real | +The time to seek to. | +
Returns:
+++N/A
+
++FMOD Function: Studio::CommandReplay::getCommandAtTime
+
This function retrieves the command index corresponding to the given playback time.
+This will return an index for the first command at or after time. If time is greater than the total playback time then FMOD_RESULT.ERR_EVENT_NOTFOUND is returned (in the next fmod_last_result call).
Syntax:
++++fmod_studio_command_replay_get_command_at_time(command_replay_ref, time)
| Argument | +Type | +Description | +
|---|---|---|
| command_replay_ref | +Real | +A reference to a CommandReplay. | +
| time | +Real | +The time used to find a command index. | +
Returns:
++ ++
++FMOD Function: Studio::CommandReplay::getCommandCount
+
This function retrieves the number of commands in the replay.
+May be used in conjunction with fmod_studio_command_replay_get_command_info to enumerate the commands in the replay.
+Syntax:
++++fmod_studio_command_replay_get_command_count(command_replay_ref)
| Argument | +Type | +Description | +
|---|---|---|
| command_replay_ref | +Real | +A reference to a CommandReplay. | +
Returns:
++ ++
++FMOD Function: Studio::CommandReplay::getCommandInfo
+
This function retrieves command information.
+May be used in conjunction with fmod_studio_command_replay_get_command_count to enumerate the commands in the replay.
+Syntax:
++++fmod_studio_command_replay_get_command_info(command_replay_ref, command_index)
| Argument | +Type | +Description | +
|---|---|---|
| command_replay_ref | +Real | +A reference to a CommandReplay. | +
| command_index | +Real | +The index of the command. | +
Returns:
++ ++
++FMOD Function: Studio::CommandReplay::getCommandString
+
This function returns the string representation of a command.
+If the string representation of the command is too long to fit in the buffer it will be truncated and this function will return FMOD_RESULT.ERR_TRUNCATED (in the next fmod_last_result call).
Syntax:
++++fmod_studio_command_replay_get_command_string(command_replay_ref, command_index)
| Argument | +Type | +Description | +
|---|---|---|
| command_replay_ref | +Real | +A reference to a CommandReplay. | +
| command_index | +Real | +The index of the command. | +
Returns:
++ ++
++FMOD Function: Studio::CommandReplay::getLength
+
This function retrieves the total playback time.
+Syntax:
++++fmod_studio_command_replay_get_length(command_replay_ref)
| Argument | +Type | +Description | +
|---|---|---|
| command_replay_ref | +Real | +A reference to a CommandReplay. | +
Returns:
++ ++
++FMOD Function: Studio::CommandReplay::getSystem
+
This function retrieves the Studio System object associated with this replay object.
+Syntax:
++++fmod_studio_command_replay_get_system_object(command_replay_ref)
| Argument | +Type | +Description | +
|---|---|---|
| command_replay_ref | +Real | +A reference to a CommandReplay. | +
Returns:
++ ++
++FMOD Function: Studio::CommandReplay::isValid
+
This function checks that the CommandReplay reference is valid.
+Syntax:
++++fmod_studio_command_replay_is_valid(command_replay_ref)
| Argument | +Type | +Description | +
|---|---|---|
| command_replay_ref | +Real | +A reference to a CommandReplay. | +
Returns:
++ ++
++FMOD Function: Studio::CommandReplay::setUserData
+
This function sets user data.
+This allows a real value to be attached to this object. See User Data for an example of how to get and set user data.
+Syntax:
++++fmod_studio_command_replay_set_user_data(command_replay_ref, data)
| Argument | +Type | +Description | +
|---|---|---|
| command_replay_ref | +Real | +A reference to a CommandReplay. | +
| data | +Real | +The real value to attach. | +
Returns:
+++N/A
+
++FMOD Function: Studio::CommandReplay::getUserData
+
This function retrieves user data attached to this object (a real value, passed into fmod_studio_command_replay_set_user_data).
+The function returns NaN if there is no user data attached to the bank.
Syntax:
++++fmod_studio_command_replay_get_user_data(command_replay_ref)
| Argument | +Type | +Description | +
|---|---|---|
| command_replay_ref | +Real | +A reference to a CommandReplay. | +
Returns:
++ ++
++FMOD Function: Studio::CommandReplay::release
+
This function releases the command replay.
+Syntax:
++++fmod_studio_command_replay_release(command_replay_ref)
| Argument | +Type | +Description | +
|---|---|---|
| command_replay_ref | +Real | +A reference to a CommandReplay. | +
Returns:
++ ++
These are the constants that you can use in the FMOD extension.
+Note
+All items on this page are Constants. However, some are defined as macros in the extension, others as enums. See a constant's description to know its type.
+This module includes a set of predefined constants that can be utilized for various purposes. Browse through the available constants to find values relevant to your needs and enhance the efficiency of your code.
+++FMOD Constant: FMOD_VERSION
+
This constant holds the current FMOD version number.
+The version is a 32 bit hexadecimal value formatted as 16:8:8, with the upper 16 bits being the product version, the middle 8 bits being the major version and the bottom 8 bits being the minor version. For example a value of 0x00010203 is equal to1.02.03.
++FMOD Constant: FMOD_DEBUG_FLAGS
+
This enum specifies the requested information to be output when using the logging version of FMOD.
+These constants are referenced by the following functions:
+ +| Member | +Description | +
|---|---|
LEVEL_NONE |
+Disable all messages. | +
LEVEL_ERROR |
+Enable only error messages. | +
LEVEL_WARNING |
+Enable warning and error messages. | +
LEVEL_LOG |
+Enable informational, warning and error messages. | +
TYPE_MEMORY |
+This enables verbose logging for memory operations, only use this if you are debugging a memory related issue. | +
TYPE_FILE |
+This enables verbose logging for file access, only use this if you are debugging a file related issue. | +
TYPE_CODEC |
+This enables verbose logging for codec initialisation, only use this if you are debugging a codec related issue. | +
TYPE_TRACE |
+This enables verbose logging for internal errors, use this for tracking the origin of error codes. | +
DISPLAY_TIMESTAMPS |
+This displays the time stamp of the log message in milliseconds. | +
DISPLAY_LINENUMBERS |
+This displays the source code file and line number for where the message originated. | +
DISPLAY_THREAD |
+This displays the thread ID of the calling function that generated the message. | +
++FMOD Constant: FMOD_MEMORY_TYPE
+
This enum specifies the bitfields for the memory allocation type being passed into FMOD memory callbacks.
+| Member | +Description | +
|---|---|
NORMAL |
+This value specifies standard memory allocation. | +
STREAM_FILE |
+This value specifies a stream file buffer, size controllable with fmod_system_set_stream_buffer_size. | +
STREAM_DECODE |
+This value specifies a stream decode buffer, size controllable with FmodSystemCreateSoundExInfo.decodebuffersize. |
+
SAMPLEDATA |
+This value specifies a sample data buffer. Raw audio data, usually PCM/MPEG/ADPCM/XMA data. | +
DSP_BUFFER |
+Deprecated. | +
PLUGIN |
+This value indicates that the memory is allocated by a third party plugin. | +
PERSISTENT |
+Persistent memory. Memory will be freed when fmod_system_release is called. | +
ALL |
+This is a mask specifying all memory types. | +
++FMOD Constant: FMOD_INITFLAGS
+
This enum specifies the configuration flags used when initialising the FMOD system.
+These constants are referenced by the following functions:
+ +| Member | +Description | +
|---|---|
NORMAL |
+Initialize normally. | +
STREAM_FROM_UPDATE |
+No stream thread is created internally. Streams are driven from fmod_system_update. Mainly used with non-realtime outputs. | +
MIX_FROM_UPDATE |
+No mixer thread is created internally. Mixing is driven from fmod_system_update. Only applies to polling based output modes such as FMOD_OUTPUTTYPE.NOSOUND, FMOD_OUTPUTTYPE.WAVWRITER. |
+
RIGHTHANDED_3D |
+3D calculations will be performed in right-handed coordinates. | +
CLIP_OUTPUT |
+Enables hard clipping of output values greater than 1.0 or less than -1.0. |
+
CHANNEL_LOWPASS |
+Enables usage of fmod_channel_control_set_low_pass_gain, fmod_channel_control_set_3d_occlusion, or automatic usage by the Geometry API. All voices will add a software lowpass filter effect into the DSP chain which is idle unless one of the previous functions/features are used. | +
CHANNEL_DISTANCEFILTER |
+All FMOD_MODE.AS_3D based voices will add a software lowpass and highpass filter effect into the DSP chain which will act as a distance-automated bandpass filter. Use fmod_system_set_advanced_settings to adjust the center frequency. |
+
PROFILE_ENABLE |
+Enable TCP/IP based host which allows FMOD Studio or FMOD Profiler to connect to it, and view memory, CPU and the DSP network graph in real-time. | +
VOL0_BECOMES_VIRTUAL |
+Any sounds that are 0 volume will go virtual and not be processed except for having their positions updated virtually. Use fmod_system_set_advanced_settings to adjust what volume besides zero to switch to virtual at. | +
GEOMETRY_USECLOSEST |
+With the geometry engine, only process the closest polygon rather than accumulating all polygons the sound to listener line intersects. | +
PREFER_DOLBY_DOWNMIX |
+When using FMOD_SPEAKERMODE._5POINT1 with a stereo output device, use the Dolby Pro Logic II downmix algorithm instead of the default stereo downmix algorithm. |
+
THREAD_UNSAFE |
+Disables thread safety for API calls. Only use this if FMOD is being called from a single thread, and if Studio API is not being used! | +
PROFILE_METER_ALL |
+Slower, but adds level metering for every single DSP unit in the graph. Use fmod_dsp_set_metering_enabled to turn meters off individually. Setting this flag implies FMOD_INIT.PROFILE_ENABLE. |
+
MEMORY_TRACKING |
+Enables memory allocation tracking. Currently this is only useful when using the Studio API. Increases memory footprint and reduces performance. This flag is implied by FMOD_STUDIO_INIT.MEMORY_TRACKING. |
+
++FMOD Constant: FMOD_DRIVER_STATE
+
This enum specifies flags that provide additional information about a particular driver.
+These constants are referenced by the following structs:
+ +| Member | +Description | +
|---|---|
CONNECTED |
+Device is currently plugged in. | +
DEFAULT |
+Device is the user's preferred choice. | +
++FMOD Constant: FMOD_TIMEUNIT
+
This enum specifies the time types used for position or length.
+These constants are referenced by the following functions:
+These constants are referenced by the following structs:
+ +| Member | +Description | +
|---|---|
MS |
+Milliseconds. | +
PCM |
+PCM samples, related to milliseconds * samplerate / 1000. | +
PCMBYTES |
+Bytes, related to PCM samples * channels * datawidth (i.e. 16bit = 2 bytes). | +
RAWBYTES |
+Raw file bytes of (compressed) sound data (does not include headers). Only used by fmod_sound_get_length and fmod_channel_get_position. | +
PCMFRACTION |
+Fractions of 1 PCM sample. Unsigned int range 0 to 0xFFFFFFFF. Used for sub-sample granularity for DSP purposes. | +
MODORDER |
+MOD/S3M/XM/IT. Order in a sequenced module format. Use fmod_sound_get_format to determine the PCM format being decoded to. | +
MODROW |
+MOD/S3M/XM/IT. Current row in a sequenced module format. Cannot use with fmod_channel_set_position. fmod_sound_get_length will return the number of rows in the currently playing or seeked to pattern. | +
MODPATTERN |
+MOD/S3M/XM/IT. Current pattern in a sequenced module format. Cannot use with fmod_channel_set_position. fmod_sound_get_length will return the number of patterns in the song and fmod_channel_get_position will return the currently playing pattern. | +
++FMOD Constant: FMOD_SYSTEM_CALLBACK_TYPE
+
This enum specifies types of callback called by the FMOD system.
+These constants are referenced by the following functions:
+ +| Member | +Description | +
|---|---|
DEVICELISTCHANGED |
+Called from fmod_system_update when the enumerated list of devices has changed. Called from the main (calling) thread when set from the Core API or Studio API in synchronous mode, and from the Studio Update Thread when in default / async mode. | +
DEVICELOST |
+Deprecated. | +
MEMORYALLOCATIONFAILED |
+Called directly when a memory allocation fails. | +
THREADCREATED |
+Called from the game thread when a thread is created. | +
BADDSPCONNECTION |
+Deprecated. | +
PREMIX |
+Called from the mixer thread before it starts the next block. | +
POSTMIX |
+Called from the mixer thread after it finishes a block. | +
ERROR |
+Called directly when an API function returns an error, including delayed async functions. | +
MIDMIX |
+Called from the mixer thread after clocks have been updated before the main mix occurs. | +
THREADDESTROYED |
+Called from the game thread when a thread is destroyed. | +
PREUPDATE |
+Called at start of fmod_system_update from the main (calling) thread when set from the Core API or Studio API in synchronous mode, and from the Studio Update Thread when in default / async mode. | +
POSTUPDATE |
+Called at end of fmod_system_update from the main (calling) thread when set from the Core API or Studio API in synchronous mode, and from the Studio Update Thread when in default / async mode. | +
RECORDLISTCHANGED |
+Called from fmod_system_update when the enumerated list of recording devices has changed. Called from the main (calling) thread when set from the Core API or Studio API in synchronous mode, and from the Studio Update Thread when in default / async mode. | +
BUFFEREDNOMIX |
+Called from the feeder thread after audio was consumed from the ring buffer, but not enough to allow another mix to run. | +
DEVICEREINITIALIZE |
+Called from fmod_system_update when an output device is re-initialized. Called from the main (calling) thread when set from the Core API or Studio API in synchronous mode, and from the Studio Update Thread when in default / async mode. | +
OUTPUTUNDERRUN |
+Called from the mixer thread when the device output attempts to read more samples than are available in the output buffer. | +
RECORDPOSITIONCHANGED |
+Called from the mixer thread when the System record position changed. | +
ALL |
+Mask representing all callback types. | +
++FMOD Constant: FMOD_MODE
+
This enum specifies sound description bitfields. You can bitwise OR them together for loading and describing sounds.
+These constants are referenced by the following functions:
+These constants are referenced by the following structs:
+ +| Member | +Description | +
|---|---|
DEFAULT |
+Default for all modes listed below. FMOD_MODE.LOOP_OFF, FMOD_MODE.AS_2D, FMOD_MODE.AS_3D_WORLDRELATIVE, FMOD_MODE.AS_3D_INVERSEROLLOFF |
+
LOOP_OFF |
+For non looping Sounds. (DEFAULT). Overrides FMOD_MODE.LOOP_NORMAL / FMOD_MODE.LOOP_BIDI. |
+
LOOP_NORMAL |
+For forward looping Sounds. | +
LOOP_BIDI |
+For bidirectional looping Sounds. (only works on non-streaming, real voices). | +
AS_2D |
+Ignores any 3D processing. (DEFAULT). | +
AS_3D |
+Makes the Sound positionable in 3D. Overrides FMOD_MODE.AS_2D. |
+
CREATESTREAM |
+Decompress at runtime, streaming from the source provided (i.e. from disk). Overrides FMOD_MODE.CREATESAMPLE and FMOD_MODE.CREATECOMPRESSEDSAMPLE. Note a stream can only be played once at a time due to a stream only having 1 stream buffer and file handle. Open multiple streams to have them play concurrently. |
+
CREATESAMPLE |
+Decompress at loadtime, decompressing or decoding whole file into memory as the target sample format (i.e. PCM). Fastest for playback and most flexible. | +
CREATECOMPRESSEDSAMPLE |
+Load MP2/MP3/FADPCM/IMAADPCM/Vorbis/AT9 or XMA into memory and leave it compressed. Vorbis/AT9/FADPCM encoding only supported in the .FSB container format. During playback the FMOD software mixer will decode it in realtime as a 'compressed sample'. Overrides FMOD_MODE.CREATESAMPLE. If the sound data is not one of the supported formats, it will behave as if it was created with FMOD_MODE.CREATESAMPLE and decode the sound into PCM. |
+
OPENUSER |
+Opens a user-created static sample or stream. When used, the first argument of fmod_system_create_sound and fmod_system_create_stream, name_or_data, is ignored, so recommended practice is to pass null or equivalent. The following data must be provided using FmodSystemCreateSoundExInfo: cbsize, length, numchannels, defaultfrequency, format, and optionally read callback. If a user-created 'sample' is created with no read callback, the sample will be empty. If this is the case, use fmod_sound_lock and fmod_sound_unlock to place sound data into the Sound. | +
OPENMEMORY |
+When used, the first argument of fmod_system_create_sound and fmod_system_create_stream, name_or_buff, is interpreted as a pointer to memory instead of filename for creating sounds. The following data must be provided using FmodSystemCreateSoundExInfo: cbsize, and length. If used with FMOD_MODE.CREATESAMPLE or FMOD_MODE.CREATECOMPRESSEDSAMPLE, FMOD duplicates the memory into its own buffers. Your own buffer can be freed after open, unless you are using FMOD_MODE.NONBLOCKING then wait until the Sound is in the FMOD_OPENSTATE.READY state. If used with FMOD_MODE.CREATESTREAM, FMOD will stream out of the Buffer that you passed in. In this case, your own buffer should not be freed until you have finished with and released the stream. |
+
OPENMEMORY_POINT |
+When used, the first argument of fmod_system_create_sound and fmod_system_create_stream, name_or_buff, is interpreted as a pointer to memory instead of filename for creating sounds. The following data must be provided using FmodSystemCreateSoundExInfo: cbsize, and length. This differs to FMOD_MODE.OPENMEMORY in that it uses the Buffer memory as is, without duplicating the memory into its own buffers. Cannot be freed after open, only after fmod_sound_release. Will not work if the data is compressed and FMOD_MODE.CREATECOMPRESSEDSAMPLE is not used. Cannot be used in conjunction with FmodSystemCreateSoundExInfo.encryptionkey. |
+
OPENRAW |
+Will ignore file format and treat as raw pcm. The following data must be provided using FmodSystemCreateSoundExInfo: cbsize, numchannels, defaultfrequency, and format. Must be little endian data. | +
OPENONLY |
+Just open the file, don't prebuffer or read. Good for fast opens for info, or when fmod_sound_read_data is to be used. | +
ACCURATETIME |
+For fmod_system_create_sound - for accurate fmod_sound_get_length / fmod_channel_set_position on VBR MP3, and MOD/S3M/XM/IT/MIDI files. Scans file first, so takes longer to open. FMOD_MODE.OPENONLY does not affect this. |
+
MPEGSEARCH |
+For corrupted / bad MP3 files. This will search all the way through the file until it hits a valid MPEG header. Normally only searches for 4k. | +
NONBLOCKING |
+For opening Sounds and getting streamed subsounds (seeking) asynchronously. Use fmod_sound_get_open_state to poll the state of the Sound as it opens or retrieves the subsound in the background. | +
UNIQUE |
+Unique Sound, can only be played one at a time. | +
AS_3D_HEADRELATIVE |
+Make the Sound's position, velocity and orientation relative to the listener. | +
AS_3D_WORLDRELATIVE |
+Make the Sound's position, velocity and orientation absolute (relative to the world). (DEFAULT) | +
AS_3D_INVERSEROLLOFF |
+This sound follows an inverse roll-off model. Below mindistance, the volume is unattenuated; as distance increases above mindistance, the volume attenuates using mindistance/distance as the gradient until it reaches maxdistance, where it stops attenuating. For this roll-off mode, distance values greater than mindistance are scaled according to the rolloffscale. This roll-off mode accurately models the way sounds attenuate over distance in the real world. (DEFAULT) | +
AS_3D_LINEARROLLOFF |
+This sound follows a linear roll-off model. Below mindistance, the volume is unattenuated; as distance increases from mindistance to maxdistance, the volume attenuates to silence using a linear gradient. For this roll-off mode, distance values greater than mindistance are scaled according to the rolloffscale. While this roll-off mode is not as realistic as inverse roll-off mode, it is easier to comprehend. | +
AS_3D_LINEARSQUAREROLLOFF |
+This sound follows a linear-square roll-off model. Below mindistance, the volume is unattenuated; as distance increases from mindistance to maxdistance, the volume attenuates to silence according to a linear squared gradient. For this roll-off mode, distance values greater than mindistance are scaled according to the rolloffscale. This roll-off mode provides steeper volume ramping close to the mindistance, and more gradual ramping close to the maxdistance, than linear roll-off mode. | +
AS_3D_INVERSETAPEREDROLLOFF |
+This sound follows a combination of the inverse and linear-square roll-off models. At short distances where inverse roll-off would provide greater attenuation, it functions as inverse roll-off mode; then at greater distances where linear-square roll-off mode would provide greater attenuation, it uses that roll-off mode instead. For this roll-off mode, distance values greater than mindistance are scaled according to the rolloffscale. Inverse tapered roll-off mode approximates realistic behavior while still guaranteeing the sound attenuates to silence at maxdistance. | +
AS_3D_CUSTOMROLLOFF |
+This sound follows a roll-off model defined by fmod_sound_set_3d_custom_rolloff / fmod_channel_control_set_3d_custom_rolloff. This roll-off mode provides greater freedom and flexibility than any other, but must be defined manually. | +
AS_3D_IGNOREGEOMETRY |
+Is not affected by geometry occlusion. If not specified in fmod_sound_set_mode, or fmod_channel_control_set_mode, the flag is cleared and it is affected by geometry again. | +
IGNORETAGS |
+Skips id3v2/asf/etc. tag checks when opening a Sound, to reduce seek/read overhead when opening files. | +
LOWMEM |
+Removes some features from samples to give a lower memory overhead, like fmod_sound_get_name. | +
MODEVIRTUAL_PLAYFROMSTART |
+For Channels that start virtual (due to being quiet or low importance), instead of swapping back to audible, and playing at the correct offset according to time, this flag makes the Channel play from the start. | +
++FMOD Constant: FMOD_CHANNELMASK
+
This enum specifies flags that describe the speakers present in a given signal.
+These constants are referenced by the following functions:
+ +These constants are referenced by the following structs:
+ +| Member | +Description | +
|---|---|
FRONT_LEFT |
+Front left channel. | +
FRONT_RIGHT |
+Front right channel. | +
FRONT_CENTER |
+Front center channel. | +
LOW_FREQUENCY |
+Low frequency channel. | +
SURROUND_LEFT |
+Surround left channel. | +
SURROUND_RIGHT |
+Surround right channel. | +
BACK_LEFT |
+Back left channel. | +
BACK_RIGHT |
+Back right channel. | +
BACK_CENTER |
+Back center channel, not represented in any FMOD_SPEAKERMODE. | +
MONO |
+Mono channel mask. | +
STEREO |
+Stereo channel mask. | +
LRC |
+Left / right / center channel mask. | +
QUAD |
+Quadphonic channel mask. | +
SURROUND |
+5.0 surround channel mask. | +
SURROUND_5POINT1 |
+5.1 surround channel mask. | +
SURROUND_5POINT1_REARS |
+5.1 surround channel mask, using rears instead of surrounds. | +
SURROUND_7POINT0 |
+7.0 surround channel mask. | +
SURROUND_7POINT1 |
+7.1 surround channel mask. | +
++FMOD Constant: FMOD_PORT_INDEX
+
This enum specifies the output type specific index for when there are multiple instances or destinations for a port type.
+These constants are referenced by the following functions:
+| Member | +Description | +
|---|---|
NONE |
+Use when a port index is not required | +
FLAG_VR_CONTROLLER |
+Use as a flag to indicate the intended controller is associated with a VR headset | +
++FMOD Constant: FMOD_THREAD_PRIORITY
+
This enum specifies the scheduling priority to assign a given thread to.
+These constants are referenced by the following functions:
+ +| Member | +Description | +
|---|---|
PLATFORM_MIN |
+Lower bound of platform specific priority range. | +
PLATFORM_MAX |
+Upper bound of platform specific priority range. | +
DEFAULT |
+For a given thread use the default listed below, i.e. FMOD_THREAD_TYPE.MIXER uses FMOD_THREAD_PRIORITY.MIXER. |
+
LOW |
+Low platform agnostic priority. | +
MEDIUM |
+Medium platform agnostic priority. | +
HIGH |
+High platform agnostic priority. | +
VERY_HIGH |
+Very high platform agnostic priority. | +
EXTREME |
+Extreme platform agnostic priority. | +
CRITICAL |
+Critical platform agnostic priority. | +
MIXER |
+Default priority for FMOD_THREAD_TYPE.MIXER. |
+
FEEDER |
+Default priority for FMOD_THREAD_TYPE.FEEDER. |
+
STREAM |
+Default priority for FMOD_THREAD_TYPE.STREAM. |
+
FILE |
+Default priority for FMOD_THREAD_TYPE.FILE. |
+
NONBLOCKING |
+Default priority for FMOD_THREAD_TYPE.NONBLOCKING. |
+
RECORD |
+Default priority for FMOD_THREAD_TYPE.RECORD. |
+
GEOMETRY |
+Default priority for FMOD_THREAD_TYPE.GEOMETRY. |
+
PROFILER |
+Default priority for FMOD_THREAD_TYPE.PROFILER. |
+
STUDIO_UPDATE |
+Default priority for FMOD_THREAD_TYPE.STUDIO_UPDATE. |
+
STUDIO_LOAD_BANK |
+Default priority for FMOD_THREAD_TYPE.STUDIO_LOAD_BANK. |
+
STUDIO_LOAD_SAMPLE |
+Default priority for FMOD_THREAD_TYPE.STUDIO_LOAD_SAMPLE. |
+
CONVOLUTION1 |
+Default priority for FMOD_THREAD_TYPE.CONVOLUTION1. |
+
CONVOLUTION2 |
+Default priority for FMOD_THREAD_TYPE.CONVOLUTION2. |
+
++FMOD Constant: FMOD_THREAD_STACK_SIZE
+
This enum specifies the stack space available to the given thread.
+These constants are referenced by the following functions:
+ +| Member | +Description | +
|---|---|
DEFAULT |
+For a given thread use the default listed below, i.e. FMOD_THREAD_TYPE.MIXER uses FMOD_THREAD_STACK_SIZE.MIXER. |
+
MIXER |
+Default stack size for FMOD_THREAD_TYPE.MIXER. Set to 80 * 1024. |
+
FEEDER |
+Default stack size for FMOD_THREAD_TYPE.FEEDER. Set to 16 * 1024. |
+
STREAM |
+Default stack size for FMOD_THREAD_TYPE.STREAM. Set to 96 * 1024. |
+
FILE |
+Default stack size for FMOD_THREAD_TYPE.FILE. Set to 64 * 1024. |
+
NONBLOCKING |
+Default stack size for FMOD_THREAD_TYPE.NONBLOCKING. Set to 112 * 1024. |
+
RECORD |
+Default stack size for FMOD_THREAD_TYPE.RECORD. Set to 16 * 1024. |
+
GEOMETRY |
+Default stack size for FMOD_THREAD_TYPE.GEOMETRY. Set to 48 * 1024. |
+
PROFILER |
+Default stack size for FMOD_THREAD_TYPE.PROFILER. Set to 128 * 1024. |
+
STUDIO_UPDATE |
+Default stack size for FMOD_THREAD_TYPE.STUDIO_UPDATE. Set to 96 * 1024. |
+
STUDIO_LOAD_BANK |
+Default stack size for FMOD_THREAD_TYPE.STUDIO_LOAD_BANK. Set to 96 * 1024. |
+
STUDIO_LOAD_SAMPLE |
+Default stack size for FMOD_THREAD_TYPE.STUDIO_LOAD_SAMPLE. Set to 96 * 1024. |
+
CONVOLUTION1 |
+Default stack size for FMOD_THREAD_TYPE.CONVOLUTION1. |
+
CONVOLUTION2 |
+Default stack size for FMOD_THREAD_TYPE.CONVOLUTION2. |
+
++FMOD Constant: FMOD_THREAD_AFFINITY
+
This enum specifies the bitfields for specifying the CPU core a given thread runs on.
+These constants are referenced by the following functions:
+ +| Member | +Description | +
|---|---|
GROUP_DEFAULT |
+For a given thread use the default listed below, i.e. FMOD_THREAD_TYPE.MIXER uses FMOD_THREAD_AFFINITY.MIXER. |
+
GROUP_A |
+Grouping A is recommended to isolate the mixer thread FMOD_THREAD_TYPE.MIXER. |
+
GROUP_B |
+Grouping B is recommended to isolate the Studio update thread FMOD_THREAD_TYPE.STUDIO_UPDATE. |
+
GROUP_C |
+Grouping C is recommended for all remaining threads. | +
MIXER |
+Default affinity for FMOD_THREAD_TYPE.MIXER. |
+
FEEDER |
+Default affinity for FMOD_THREAD_TYPE.FEEDER. |
+
STREAM |
+Default affinity for FMOD_THREAD_TYPE.STREAM. |
+
FILE |
+Default affinity for FMOD_THREAD_TYPE.FILE. |
+
NONBLOCKING |
+Default affinity for FMOD_THREAD_TYPE.NONBLOCKING. |
+
RECORD |
+Default affinity for FMOD_THREAD_TYPE.RECORD. |
+
GEOMETRY |
+Default affinity for FMOD_THREAD_TYPE.GEOMETRY. |
+
PROFILER |
+Default affinity for FMOD_THREAD_TYPE.PROFILER. |
+
STUDIO_UPDATE |
+Default affinity for FMOD_THREAD_TYPE.STUDIO_UPDATE. |
+
STUDIO_LOAD_BANK |
+Default affinity for FMOD_THREAD_TYPE.STUDIO_LOAD_BANK. |
+
STUDIO_LOAD_SAMPLE |
+Default affinity for FMOD_THREAD_TYPE.STUDIO_LOAD_SAMPLE. |
+
CONVOLUTION1 |
+Default affinity for FMOD_THREAD_TYPE.CONVOLUTION1. |
+
CONVOLUTION2 |
+Default affinity for FMOD_THREAD_TYPE.CONVOLUTION2. |
+
CORE_ALL |
+Assign to all cores. | +
CORE_0 |
+Assign to core 0. | +
CORE_1 |
+Assign to core 1. | +
CORE_2 |
+Assign to core 2. | +
CORE_3 |
+Assign to core 3. | +
CORE_4 |
+Assign to core 4. | +
CORE_5 |
+Assign to core 5. | +
CORE_6 |
+Assign to core 6. | +
CORE_7 |
+Assign to core 7. | +
CORE_8 |
+Assign to core 8. | +
CORE_9 |
+Assign to core 9. | +
CORE_10 |
+Assign to core 10. | +
CORE_11 |
+Assign to core 11. | +
CORE_12 |
+Assign to core 12. | +
CORE_13 |
+Assign to core 13. | +
CORE_14 |
+Assign to core 14. | +
CORE_15 |
+Assign to core 15. | +
++FMOD Constant: FMOD_REVERB_PRESETS
+
This group of macros holds predefined reverb configurations. To simplify usage, and avoid manually selecting reverb parameters, a table of common presets is supplied for ease of use.
+The macros define default values for the FmodReverbProperties struct.
+| Member | +Description | +
|---|---|
FMOD_PRESET_OFF |
+{ decay_time: 1000, early_delay: 7, late_delay: 11, hf_reference: 5000, hf_decay_ratio: 100, diffusion: 100, density: 100, low_shelf_frequency: 250, low_shelf_gain: 0, high_cut: 20, early_late_mix: 96, wet_level: -80.0 } | +
FMOD_PRESET_GENERIC |
+{ decay_time: 1500, early_delay: 7, late_delay: 11, hf_reference: 5000, hf_decay_ratio: 83, diffusion: 100, density: 100, low_shelf_frequency: 250, low_shelf_gain: 0, high_cut: 14500, early_late_mix: 96, wet_level: -8.0 } | +
FMOD_PRESET_PADDEDCELL |
+{ decay_time: 170, early_delay: 1, late_delay: 2, hf_reference: 5000, hf_decay_ratio: 10, diffusion: 100, density: 100, low_shelf_frequency: 250, low_shelf_gain: 0, high_cut: 160, early_late_mix: 84, wet_level: -7.8 } | +
FMOD_PRESET_ROOM |
+{ decay_time: 400, early_delay: 2, late_delay: 3, hf_reference: 5000, hf_decay_ratio: 83, diffusion: 100, density: 100, low_shelf_frequency: 250, low_shelf_gain: 0, high_cut: 6050, early_late_mix: 88, wet_level: -9.4 } | +
FMOD_PRESET_BATHROOM |
+{ decay_time: 1500, early_delay: 7, late_delay: 11, hf_reference: 5000, hf_decay_ratio: 54, diffusion: 100, density: 60, low_shelf_frequency: 250, low_shelf_gain: 0, high_cut: 2900, early_late_mix: 83, wet_level: 0.5 } | +
FMOD_PRESET_LIVINGROOM |
+{ decay_time: 500, early_delay: 3, late_delay: 4, hf_reference: 5000, hf_decay_ratio: 10, diffusion: 100, density: 100, low_shelf_frequency: 250, low_shelf_gain: 0, high_cut: 160, early_late_mix: 58, wet_level: -19.0 } | +
FMOD_PRESET_STONEROOM |
+{ decay_time: 2300, early_delay: 12, late_delay: 17, hf_reference: 5000, hf_decay_ratio: 64, diffusion: 100, density: 100, low_shelf_frequency: 250, low_shelf_gain: 0, high_cut: 7800, early_late_mix: 71, wet_level: -8.5 } | +
FMOD_PRESET_AUDITORIUM |
+{ decay_time: 4300, early_delay: 20, late_delay: 30, hf_reference: 5000, hf_decay_ratio: 59, diffusion: 100, density: 100, low_shelf_frequency: 250, low_shelf_gain: 0, high_cut: 5850, early_late_mix: 64, wet_level: -11.7 } | +
FMOD_PRESET_CONCERTHALL |
+{ decay_time: 3900, early_delay: 20, late_delay: 29, hf_reference: 5000, hf_decay_ratio: 70, diffusion: 100, density: 100, low_shelf_frequency: 250, low_shelf_gain: 0, high_cut: 5650, early_late_mix: 80, wet_level: -9.8 } | +
FMOD_PRESET_CAVE |
+{ decay_time: 2900, early_delay: 15, late_delay: 22, hf_reference: 5000, hf_decay_ratio: 100, diffusion: 100, density: 100, low_shelf_frequency: 250, low_shelf_gain: 0, high_cut: 20000, early_late_mix: 59, wet_level: -11.3 } | +
FMOD_PRESET_ARENA |
+{ decay_time: 7200, early_delay: 20, late_delay: 30, hf_reference: 5000, hf_decay_ratio: 33, diffusion: 100, density: 100, low_shelf_frequency: 250, low_shelf_gain: 0, high_cut: 4500, early_late_mix: 80, wet_level: -9.6 } | +
FMOD_PRESET_HANGAR |
+{ decay_time: 10000, early_delay: 20, late_delay: 30, hf_reference: 5000, hf_decay_ratio: 23, diffusion: 100, density: 100, low_shelf_frequency: 250, low_shelf_gain: 0, high_cut: 3400, early_late_mix: 72, wet_level: -7.4 } | +
FMOD_PRESET_CARPETTEDHALLWAY |
+{ decay_time: 300, early_delay: 2, late_delay: 30, hf_reference: 5000, hf_decay_ratio: 10, diffusion: 100, density: 100, low_shelf_frequency: 250, low_shelf_gain: 0, high_cut: 500, early_late_mix: 56, wet_level: -24.0 } | +
FMOD_PRESET_HALLWAY |
+{ decay_time: 1500, early_delay: 7, late_delay: 11, hf_reference: 5000, hf_decay_ratio: 59, diffusion: 100, density: 100, low_shelf_frequency: 250, low_shelf_gain: 0, high_cut: 7800, early_late_mix: 87, wet_level: -5.5 } | +
FMOD_PRESET_STONECORRIDOR |
+{ decay_time: 270, early_delay: 13, late_delay: 20, hf_reference: 5000, hf_decay_ratio: 79, diffusion: 100, density: 100, low_shelf_frequency: 250, low_shelf_gain: 0, high_cut: 9000, early_late_mix: 86, wet_level: -6.0 } | +
FMOD_PRESET_ALLEY |
+{ decay_time: 1500, early_delay: 7, late_delay: 11, hf_reference: 5000, hf_decay_ratio: 86, diffusion: 100, density: 100, low_shelf_frequency: 250, low_shelf_gain: 0, high_cut: 8300, early_late_mix: 80, wet_level: -9.8 } | +
FMOD_PRESET_FOREST |
+{ decay_time: 1500, early_delay: 162, late_delay: 88, hf_reference: 5000, hf_decay_ratio: 54, diffusion: 79, density: 100, low_shelf_frequency: 250, low_shelf_gain: 0, high_cut: 760, early_late_mix: 94, wet_level: -12.3 } | +
FMOD_PRESET_CITY |
+{ decay_time: 1500, early_delay: 7, late_delay: 11, hf_reference: 5000, hf_decay_ratio: 67, diffusion: 50, density: 100, low_shelf_frequency: 250, low_shelf_gain: 0, high_cut: 4050, early_late_mix: 66, wet_level: -26.0 } | +
FMOD_PRESET_MOUNTAINS |
+{ decay_time: 1500, early_delay: 300, late_delay: 100, hf_reference: 5000, hf_decay_ratio: 21, diffusion: 27, density: 100, low_shelf_frequency: 250, low_shelf_gain: 0, high_cut: 1220, early_late_mix: 82, wet_level: -24.0 } | +
FMOD_PRESET_QUARRY |
+{ decay_time: 1500, early_delay: 61, late_delay: 25, hf_reference: 5000, hf_decay_ratio: 83, diffusion: 100, density: 100, low_shelf_frequency: 250, low_shelf_gain: 0, high_cut: 3400, early_late_mix: 100, wet_level: -5.0 } | +
FMOD_PRESET_PLAIN |
+{ decay_time: 1500, early_delay: 179, late_delay: 100, hf_reference: 5000, hf_decay_ratio: 50, diffusion: 21, density: 100, low_shelf_frequency: 250, low_shelf_gain: 0, high_cut: 1670, early_late_mix: 65, wet_level: -28.0 } | +
FMOD_PRESET_PARKINGLOT |
+{ decay_time: 1700, early_delay: 8, late_delay: 12, hf_reference: 5000, hf_decay_ratio: 100, diffusion: 100, density: 100, low_shelf_frequency: 250, low_shelf_gain: 0, high_cut: 20000, early_late_mix: 56, wet_level: -19.5 } | +
FMOD_PRESET_SEWERPIPE |
+{ decay_time: 2800, early_delay: 14, late_delay: 21, hf_reference: 5000, hf_decay_ratio: 14, diffusion: 80, density: 60, low_shelf_frequency: 250, low_shelf_gain: 0, high_cut: 3400, early_late_mix: 66, wet_level: 1.2 } | +
FMOD_PRESET_UNDERWATER |
+{ decay_time: 1500, early_delay: 7, late_delay: 11, hf_reference: 5000, hf_decay_ratio: 10, diffusion: 100, density: 100, low_shelf_frequency: 250, low_shelf_gain: 0, high_cut: 500, early_late_mix: 92, wet_level: 7.0 } | +
++FMOD Constant: FMOD_MAX_CHANNEL_WIDTH
+
This macro holds the maximum number of channels per frame of audio supported by audio files, buffers, connections and DSPs.
+++FMOD Constant: FMOD_MAX_SYSTEMS
+
This macro holds the maximum number of System objects allowed.
+++FMOD Constant: FMOD_MAX_LISTENERS
+
This macro holds the maximum number of listeners supported.
+++FMOD Constant: FMOD_REVERB_MAXINSTANCES
+
This macro holds the maximum number of global reverb instances.
+Each instance of a reverb is an instance of a FMOD_DSP_SFXREVERB DSP in the mix graph. This is unrelated to the number of possible Reverb3D objects, which is unlimited.
+++FMOD Constant: FMOD_THREAD_TYPE
+
This enum specifies named constants for threads created at runtime.
+These constants are referenced by the following functions:
+ +| Member | +Description | +
|---|---|
MIXER |
+Thread responsible for mixing and processing blocks of audio. | +
FEEDER |
+Thread used by some output plugins for transferring buffered audio from FMOD_THREAD_TYPE.MIXER to the sound output device. |
+
STREAM |
+Thread that decodes compressed audio to PCM for Sounds created as FMOD_MODE.CREATESTREAM. |
+
FILE |
+Thread that reads compressed audio from disk to be consumed by FMOD_THREAD_TYPE.STREAM. |
+
NONBLOCKING |
+Thread that processes the creation of Sounds asynchronously when opened with FMOD_MODE.NONBLOCKING. |
+
RECORD |
+Thread used by some output plugins for transferring audio from a microphone to FMOD_THREAD_TYPE.MIXER. |
+
GEOMETRY |
+Thread used by the Geometry system for performing background calculations. | +
PROFILER |
+Thread for network communication when using FMOD_INIT.PROFILE_ENABLE. |
+
STUDIO_UPDATE |
+Thread for processing Studio API commands and scheduling sound playback. | +
STUDIO_LOAD_BANK |
+Thread for asynchronously loading Studio::Bank metadata. | +
STUDIO_LOAD_SAMPLE |
+Thread for asynchronously loading Studio::Bank sample data. | +
CONVOLUTION1 |
+Thread for processing medium size delay lines for FMOD_DSP_TYPE.CONVOLUTIONREVERB. |
+
CONVOLUTION2 |
+Thread for processing larger size delay lines for FMOD_DSP_TYPE.CONVOLUTIONREVERB. |
+
++FMOD Constant: FMOD_RESULT
+
This enum specifies the error codes returned from every function.
+These constants are referenced by the following functions:
+ +| Member | +Description | +
|---|---|
OK |
+No errors. | +
ERR_BADCOMMAND |
+Tried to call a function on a data type that does not allow this type of functionality (i.e. calling fmod_sound_lock on a streaming Sound). | +
ERR_CHANNEL_ALLOC |
+Error trying to allocate a Channel. | +
ERR_CHANNEL_STOLEN |
+The specified Channel has been reused to play another Sound. | +
ERR_DMA |
+DMA Failure. See debug output for more information. | +
ERR_DSP_CONNECTION |
+DSP connection error. Connection possibly caused a cyclic dependency or connected dsps with incompatible buffer counts. | +
ERR_DSP_DONTPROCESS |
+DSP return code from a DSP process query callback. Tells mixer not to call the process callback and therefore not consume CPU. Use this to optimize the DSP graph. | +
ERR_DSP_FORMAT |
+DSP Format error. A DSP unit may have attempted to connect to this network with the wrong format, or a matrix may have been set with the wrong size if the target unit has a specified channel map. | +
ERR_DSP_INUSE |
+DSP is already in the mixer's DSP network. It must be removed before being reinserted or released. | +
ERR_DSP_NOTFOUND |
+DSP connection error. Couldn't find the DSP unit specified. | +
ERR_DSP_RESERVED |
+DSP operation error. Cannot perform operation on this DSP as it is reserved by the system. | +
ERR_DSP_SILENCE |
+DSP return code from a DSP process query callback. Tells mixer silence would be produced from read, so go idle and not consume CPU. Use this to optimize the DSP graph. | +
ERR_DSP_TYPE |
+DSP operation cannot be performed on a DSP of this type. | +
ERR_FILE_BAD |
+Error loading file. | +
ERR_FILE_COULDNOTSEEK |
+Couldn't perform seek operation. This is a limitation of the medium (i.e. netstreams) or the file format. | +
ERR_FILE_DISKEJECTED |
+Media was ejected while reading. | +
ERR_FILE_EOF |
+End of file unexpectedly reached while trying to read essential data (truncated?). | +
ERR_FILE_ENDOFDATA |
+End of current chunk reached while trying to read data. | +
ERR_FILE_NOTFOUND |
+File not found. | +
ERR_FORMAT |
+Unsupported file or audio format. | +
ERR_HEADER_MISMATCH |
+There is a version mismatch between the FMOD header and either the FMOD Studio library or the FMOD Core library. | +
ERR_HTTP |
+A HTTP error occurred. This is a catch-all for HTTP errors not listed elsewhere. | +
ERR_HTTP_ACCESS |
+The specified resource requires authentication or is forbidden. | +
ERR_HTTP_PROXY_AUTH |
+Proxy authentication is required to access the specified resource. | +
ERR_HTTP_SERVER_ERROR |
+A HTTP server error occurred. | +
ERR_HTTP_TIMEOUT |
+The HTTP request timed out. | +
ERR_INITIALIZATION |
+FMOD was not initialized correctly to support this function. | +
ERR_INITIALIZED |
+Cannot call this command after fmod_system_init. | +
ERR_INTERNAL |
+An error occured in the FMOD system. Use the logging version of FMOD for more information. | +
ERR_INVALID_FLOAT |
+Value passed in was a NaN, infinity or denormalized float. |
+
ERR_INVALID_HANDLE |
+An invalid object handle was used. | +
ERR_INVALID_PARAM |
+An invalid parameter was passed to this function. | +
ERR_INVALID_POSITION |
+An invalid seek position was passed to this function. | +
ERR_INVALID_SPEAKER |
+An invalid speaker was passed to this function based on the current speaker mode. | +
ERR_INVALID_SYNCPOINT |
+The syncpoint did not come from this Sound handle. | +
ERR_INVALID_THREAD |
+Tried to call a function on a thread that is not supported. | +
ERR_INVALID_VECTOR |
+The vectors passed in are not unit length, or perpendicular. | +
ERR_MAXAUDIBLE |
+Reached maximum audible playback count for this Sound's SoundGroup. | +
ERR_MEMORY |
+Not enough memory or resources. | +
ERR_MEMORY_CANTPOINT |
+Can't use FMOD_MODE.OPENMEMORY_POINT on non PCM source data, or non mp3/xma/adpcm data if FMOD_MODE.CREATECOMPRESSEDSAMPLE was used. |
+
ERR_NEEDS3D |
+Tried to call a command on a 2D Sound when the command was meant for 3D Sound. | +
ERR_NEEDSHARDWARE |
+Tried to use a feature that requires hardware support. | +
ERR_NET_CONNECT |
+Couldn't connect to the specified host. | +
ERR_NET_SOCKET_ERROR |
+A socket error occurred. This is a catch-all for socket-related errors not listed elsewhere. | +
ERR_NET_URL |
+The specified URL couldn't be resolved. | +
ERR_NET_WOULD_BLOCK |
+Operation on a non-blocking socket could not complete immediately. | +
ERR_NOTREADY |
+Operation could not be performed because specified Sound/DSP connection is not ready. | +
ERR_OUTPUT_ALLOCATED |
+Error initializing output device, but more specifically, the output device is already in use and cannot be reused. | +
ERR_OUTPUT_CREATEBUFFER |
+Error creating hardware sound buffer. | +
ERR_OUTPUT_DRIVERCALL |
+A call to a standard soundcard driver failed, which could possibly mean a bug in the driver or resources were missing or exhausted. | +
ERR_OUTPUT_FORMAT |
+Soundcard does not support the specified format. | +
ERR_OUTPUT_INIT |
+Error initializing output device. | +
ERR_OUTPUT_NODRIVERS |
+The output device has no drivers installed. If pre-init, FMOD_OUTPUTTYPE.NOSOUND is selected as the output mode. If post-init, the function just fails. |
+
ERR_PLUGIN |
+An unspecified error has been returned from a plugin. | +
ERR_PLUGIN_MISSING |
+A requested output, dsp unit type or codec was not available. | +
ERR_PLUGIN_RESOURCE |
+A resource that the plugin requires cannot be allocated or found. (i.e. the DLS file for MIDI playback) | +
ERR_PLUGIN_VERSION |
+A plugin was built with an unsupported SDK version. | +
ERR_RECORD |
+An error occurred trying to initialize the recording device. | +
ERR_REVERB_CHANNELGROUP |
+Reverb properties cannot be set on this Channel because a parent ChannelGroup owns the reverb connection. | +
ERR_REVERB_INSTANCE |
+Specified instance in FmodReverbProperties couldn't be set. Most likely because it is an invalid instance number or the reverb doesn't exist. | +
ERR_SUBSOUNDS |
+The error occurred because the Sound referenced contains subsounds when it shouldn't have, or it doesn't contain subsounds when it should have. The operation may also not be able to be performed on a parent Sound. | +
ERR_SUBSOUND_ALLOCATED |
+This subsound is already being used by another Sound, you cannot have more than one parent to a Sound. Null out the other parent's entry first. | +
ERR_SUBSOUND_CANTMOVE |
+Shared subsounds cannot be replaced or moved from their parent stream, such as when the parent stream is an FSB file. | +
ERR_TAGNOTFOUND |
+The specified tag could not be found or there are no tags. | +
ERR_TOOMANYCHANNELS |
+The Sound created exceeds the allowable input channel count. This can be increased using the 'maxinputchannels' parameter in fmod_system_set_software_format. | +
ERR_TRUNCATED |
+The retrieved string is too long to fit in the supplied buffer and has been truncated. | +
ERR_UNIMPLEMENTED |
+Something in FMOD hasn't been implemented when it should be. Contact FMOD support. | +
ERR_UNINITIALIZED |
+This command failed because fmod_system_init or fmod_system_set_driver was not called. | +
ERR_UNSUPPORTED |
+A command issued was not supported by this object. Possibly a plugin without certain callbacks specified. | +
ERR_VERSION |
+The version number of this file format is not supported. | +
ERR_EVENT_ALREADY_LOADED |
+The specified bank has already been loaded. | +
ERR_EVENT_LIVEUPDATE_BUSY |
+The live update connection failed due to the game already being connected. | +
ERR_EVENT_LIVEUPDATE_MISMATCH |
+The live update connection failed due to the game data being out of sync with the tool. | +
ERR_EVENT_LIVEUPDATE_TIMEOUT |
+The live update connection timed out. | +
ERR_EVENT_NOTFOUND |
+The requested event, parameter, bus or vca could not be found. | +
ERR_STUDIO_UNINITIALIZED |
+The FMOD Studio System object is not yet initialized. | +
ERR_STUDIO_NOT_LOADED |
+The specified resource is not loaded, so it can't be unloaded. | +
ERR_INVALID_STRING |
+An invalid string was passed to this function. | +
ERR_ALREADY_LOCKED |
+The specified resource is already locked. | +
ERR_NOT_LOCKED |
+The specified resource is not locked, so it can't be unlocked. | +
ERR_RECORD_DISCONNECTED |
+The specified recording driver has been disconnected. | +
ERR_TOOMANYSAMPLES |
+The length provided exceeds the allowable limit. | +
++FMOD Constant: FMOD_CHANNELCONTROL_TYPE
+
This enum specifies built-in output types that can be used to run the mixer.
+| Member | +Description | +
|---|---|
CHANNEL |
+Type representing Channel | +
CHANNELGROUP |
+Type representing ChannelGroup | +
++FMOD Constant: FMOD_OUTPUTTYPE
+
This enum specifies built-in output types that can be used to run the mixer.
+These constants are referenced by the following functions:
+ +| Member | +Description | +
|---|---|
AUTODETECT |
+Picks the best output mode for the platform. This is the default. | +
UNKNOWN |
+All - 3rd party plugin, unknown. This is for use with fmod_system_get_output only. | +
NOSOUND |
+All - Perform all mixing but discard the final output. | +
WAVWRITER |
+All - Writes output to a .wav file. | +
NOSOUND_NRT |
+All - Non-realtime version of FMOD_OUTPUTTYPE.NOSOUND, one mix per fmod_system_update. |
+
WAVWRITER_NRT |
+All - Non-realtime version of FMOD_OUTPUTTYPE.WAVWRITER, one mix per fmod_system_update. |
+
WASAPI |
+Win / UWP / Xbox One / Game Core - Windows Audio Session API. (Default on Windows, Xbox One, Game Core and UWP) | +
ASIO |
+Win - Low latency ASIO 2.0. | +
PULSEAUDIO |
+Linux - Pulse Audio. (Default on Linux if available) | +
ALSA |
+Linux - Advanced Linux Sound Architecture. (Default on Linux if PulseAudio isn't available) | +
COREAUDIO |
+Mac / iOS - Core Audio. (Default on Mac and iOS) | +
AUDIOTRACK |
+Android - Java Audio Track. (Default on Android 2.2 and below) | +
OPENSL |
+Android - OpenSL ES. (Default on Android 2.3 up to 7.1) | +
AUDIOOUT |
+PS4 / PS5 - Audio Out. (Default on PS4, PS5) | +
AUDIO3D |
+PS4 - Audio3D. | +
WEBAUDIO |
+HTML5 - Web Audio ScriptProcessorNode output. (Default on HTML5 if AudioWorkletNode isn't available) | +
NNAUDIO |
+Switch - nn::audio. (Default on Switch) | +
WINSONIC |
+Win10 / Xbox One / Game Core - Windows Sonic. | +
AAUDIO |
+Android - AAudio. (Default on Android 8.1 and above) | +
AUDIOWORKLET |
+HTML5 - Web Audio AudioWorkletNode output. (Default on HTML5 if available) | +
PHASE |
+iOS - PHASE framework. (Disabled) | +
OHAUDIO |
+OpenHarmony - OHAudio. | +
++FMOD Constant: FMOD_DEBUG_MODE
+
This enum specifies the destination of log output when using the logging version of FMOD.
+These constants are referenced by the following functions:
+ +| Member | +Description | +
|---|---|
TTY |
+Default log location per platform, i.e. Visual Studio output window, stderr, LogCat, etc. | +
FILE |
+Write log to specified file path. | +
CALLBACK |
+Call specified callback with log information. | +
++FMOD Constant: FMOD_SPEAKERMODE
+
This enum specifies speaker mode types.
+These constants are referenced by the following functions:
+These constants are referenced by the following structs:
+ +| Member | +Description | +
|---|---|
DEFAULT |
+Default speaker mode for the chosen output mode which will resolve after fmod_system_init. | +
RAW |
+Assume there is no special mapping from a given channel to a speaker, channels map 1:1 in order. Use fmod_system_set_software_format to specify the speaker count. | +
MONO |
+1 speaker setup (monaural). | +
STEREO |
+2 speaker setup (stereo) front left, front right. | +
QUAD |
+4 speaker setup (4.0) front left, front right, surround left, surround right. | +
SURROUND |
+5 speaker setup (5.0) front left, front right, center, surround left, surround right. | +
_5POINT1 |
+6 speaker setup (5.1) front left, front right, center, low frequency, surround left, surround right. | +
_7POINT1 |
+8 speaker setup (7.1) front left, front right, center, low frequency, surround left, surround right, back left, back right. | +
_7POINT1POINT4 |
+12 speaker setup (7.1.4) front left, front right, center, low frequency, surround left, surround right, back left, back right, top front left, top front right, top back left, top back right. | +
++FMOD Constant: FMOD_SPEAKER
+
This enum assigns an enumeration for a speaker index.
+These constants are referenced by the following functions:
+ +| Member | +Description | +
|---|---|
NONE |
+No speaker | +
FRONT_LEFT |
+The front left speaker | +
FRONT_RIGHT |
+The front right speaker | +
FRONT_CENTER |
+The front center speaker | +
LOW_FREQUENCY |
+The LFE or 'subwoofer' speaker | +
SURROUND_LEFT |
+The surround left (usually to the side) speaker | +
SURROUND_RIGHT |
+The surround right (usually to the side) speaker | +
BACK_LEFT |
+The back left speaker | +
BACK_RIGHT |
+The back right speaker | +
TOP_FRONT_LEFT |
+The top front left speaker | +
TOP_FRONT_RIGHT |
+The top front right speaker | +
TOP_BACK_LEFT |
+The top back left speaker | +
TOP_BACK_RIGHT |
+The top back right speaker | +
++FMOD Constant: FMOD_CHANNELORDER
+
This enum specifies speaker ordering for multi-channel signals.
+These constants are referenced by the following structs:
+ +| Member | +Description | +
|---|---|
DEFAULT |
+Left, Right, Center, LFE, Surround Left, Surround Right, Back Left, Back Right (see FMOD_SPEAKER enumeration) | +
WAVEFORMAT |
+Left, Right, Center, LFE, Back Left, Back Right, Surround Left, Surround Right (as per Microsoft .wav WAVEFORMAT structure master order) | +
PROTOOLS |
+Left, Center, Right, Surround Left, Surround Right, LFE | +
ALLMONO |
+Mono, Mono, Mono, Mono, Mono, Mono, ... (each channel up to FMOD_MAX_CHANNEL_WIDTH treated as mono) |
+
ALLSTEREO |
+Left, Right, Left, Right, Left, Right, ... (each pair of channels up to FMOD_MAX_CHANNEL_WIDTH treated as stereo) |
+
ALSA |
+Left, Right, Surround Left, Surround Right, Center, LFE (as per Linux ALSA channel order) | +
++FMOD Constant: FMOD_PLUGINTYPE
+
This enum specifies the types of plugin used to extend functionality.
+| Member | +Description | +
|---|---|
OUTPUT |
+Audio output interface plugin represented with FMOD_OUTPUT_DESCRIPTION. |
+
CODEC |
+File format codec plugin represented with FMOD_CODEC_DESCRIPTION. |
+
DSP |
+DSP unit plugin represented with FMOD_DSP_DESCRIPTION. |
+
++FMOD Constant: FMOD_SOUND_TYPE
+
This enum specifies the recognized audio formats that can be loaded into a Sound.
+These constants are referenced by the following structs:
+ +| Member | +Description | +
|---|---|
UNKNOWN |
+Unknown or custom codec plugin. | +
AIFF |
+Audio Interchange File Format (.aif, .aiff). Uncompressed integer formats only. | +
ASF |
+Microsoft Advanced Systems Format (.asf, .wma, .wmv). Platform provided decoder, available only on Windows. | +
DLS |
+Downloadable Sound (.dls). Multi-sound bank format used by MIDI (.mid). | +
FLAC |
+Free Lossless Audio Codec (.flac). | +
FSB |
+FMOD Sample Bank (.fsb). Proprietary multi-sound bank format. Supported encodings: PCM16, FADPCM, Vorbis, AT9, XMA, Opus. | +
IT |
+Impulse Tracker (.it). | +
MIDI |
+Musical Instrument Digital Interface (.mid). | +
MOD |
+Protracker / Fasttracker Module File (.mod). | +
MPEG |
+Moving Picture Experts Group (.mp2, .mp3). Also supports .wav (RIFF) container format. | +
OGGVORBIS |
+Ogg Vorbis (.ogg). | +
PLAYLIST |
+Play list information container (.asx, .pls, .m3u, .wax). No audio, tags only. | +
RAW |
+Raw uncompressed PCM data (.raw). | +
S3M |
+ScreamTracker 3 Module (.s3m). | +
USER |
+User created sound. | +
WAV |
+Microsoft Waveform Audio File Format (.wav). Supported encodings: Uncompressed PCM, IMA ADPCM. Platform provided ACM decoder extensions, available only on Windows. | +
XM |
+FastTracker 2 Extended Module (.xm). | +
XMA |
+Microsoft XMA bit-stream supported by FSB (.fsb) container format. Platform provided decoder, available only on Xbox. | +
AUDIOQUEUE |
+Apple Audio Queue decoder (.mp4, .m4a, .mp3). Supported encodings: AAC, ALAC, MP3. Platform provided decoder, available only on iOS / tvOS devices. | +
AT9 |
+Sony ATRAC9 bit-stream supported by FSB (.fsb) container format. Platform provided decoder, available only on PlayStation. | +
VORBIS |
+Vorbis bit-stream supported by FSB (.fsb) container format. | +
MEDIA_FOUNDATION |
+Microsoft Media Foundation decoder (.asf, .wma, .wmv, .mp4, .m4a). Platform provided decoder, available only on UWP. | +
MEDIACODEC |
+Google Media Codec decoder (.m4a, .mp4). Platform provided decoder, available only on Android. | +
FADPCM |
+FMOD Adaptive Differential Pulse Code Modulation bit-stream supported by FSB (.fsb) container format. | +
OPUS |
+Opus bit-stream supported by FSB (.fsb) container format. Platform provided decoder, available only on Xbox Series X | +
++FMOD Constant: FMOD_SOUND_FORMAT
+
This enum specifies values describes the native format of the hardware or software buffer that will be used.
+These constants are referenced by the following structs:
+ +| Member | +Description | +
|---|---|
NONE |
+Uninitalized / unknown. | +
PCM8 |
+8bit integer PCM data. | +
PCM16 |
+16bit integer PCM data. | +
PCM24 |
+24bit integer PCM data. | +
PCM32 |
+32bit integer PCM data. | +
PCMFLOAT |
+32bit floating point PCM data. | +
BITSTREAM |
+Sound data is in its native compressed format. See FMOD_MODE.CREATECOMPRESSEDSAMPLE |
+
++FMOD Constant: FMOD_OPENSTATE
+
This enum specifies values describing what state a sound is in after FMOD_MODE.NONBLOCKING has been used to open it.
These constants are referenced by the following structs:
+ +| Member | +Description | +
|---|---|
READY |
+Opened and ready to play. | +
LOADING |
+Initial load in progress. | +
ERROR |
+Failed to open - file not found, out of memory, etc. See return value of fmod_sound_get_open_state for what happened. | +
CONNECTING |
+Connecting to remote host (internet sounds only). | +
BUFFERING |
+Buffering data. | +
SEEKING |
+Seeking to subsound and re-flushing stream buffer. | +
PLAYING |
+Ready and playing, but not possible to release at this time without stalling the main thread. | +
SETPOSITION |
+Seeking within a stream to a different position. | +
++FMOD Constant: FMOD_SOUNDGROUP_BEHAVIOR
+
This enum specifies values specifying behavior when a sound group's max audible value is exceeded.
+These constants are referenced by the following functions:
+ +| Member | +Description | +
|---|---|
FAIL |
+Excess sounds will fail when calling fmod_system_play_sound. | +
MUTE |
+Excess sounds will begin mute and will become audible when sufficient sounds are stopped. | +
STEALLOWEST |
+Excess sounds will steal from the quietest Sound playing in the group. | +
++FMOD Constant: FMOD_CHANNELCONTROL_CALLBACK_TYPE
+
This enum specifies the types of callbacks called by Channels and ChannelGroups.
+These constants are referenced by the following functions:
+ +| Member | +Description | +
|---|---|
END |
+Called when a sound ends. Supported by Channel only. | +
VIRTUALVOICE |
+Called when a Channel is made virtual or real. Supported by Channel objects only. | +
SYNCPOINT |
+Called when a syncpoint is encountered. Can be from wav file markers or user added. Supported by Channel only. | +
OCCLUSION |
+Called when geometry occlusion values are calculated. Can be used to clamp or change the value. Supported by Channel and ChannelGroup. | +
++FMOD Constant: FMOD_CHANNELCONTROL_DSP_INDEX
+
This enum specifies references to built-in DSP positions that reside in a Channel or ChannelGroup DSP chain.
+| Member | +Description | +
|---|---|
HEAD |
+Head of the DSP chain, equivalent of index 0. | +
FADER |
+Built-in fader DSP. | +
TAIL |
+Tail of the DSP chain, equivalent of the number of DSPs minus 1. | +
++FMOD Constant: FMOD_ERRORCALLBACK_INSTANCETYPE
+
This enum specifies identifiers used to represent the different types of instance in the error callback.
+| Member | +Description | +
|---|---|
NONE |
+Type representing no known instance type. | +
SYSTEM |
+Type representing System. | +
CHANNEL |
+Type representing Channel. | +
CHANNELGROUP |
+Type representing ChannelGroup. | +
CHANNELCONTROL |
+Type representing ChannelControl.https://www.fmod.com/docs/2.03/api/core-api-channelcontrol.html | +
SOUND |
+Type representing Sound. | +
SOUNDGROUP |
+Type representing SoundGroup. | +
DSP |
+Type representing DSP. | +
DSPCONNECTION |
+Type representing DSPConnection. | +
GEOMETRY |
+Type representing Geometry. | +
REVERB3D |
+Type representing Reverb3D. | +
STUDIO_SYSTEM |
+Type representing Studio::System. | +
STUDIO_EVENTDESCRIPTION |
+Type representing Studio::EventDescription. | +
STUDIO_EVENTINSTANCE |
+Type representing Studio::EventInstance. | +
STUDIO_PARAMETERINSTANCE |
+Deprecated. | +
STUDIO_BUS |
+Type representing Studio::Bus. | +
STUDIO_VCA |
+Type representing Studio::VCA. | +
STUDIO_BANK |
+Type representing Studio::Bank. | +
STUDIO_COMMANDREPLAY |
+Type representing Studio::CommandReplay. | +
++FMOD Constant: FMOD_DSP_RESAMPLER
+
This enum specifies the list of interpolation types used for resampling.
+These constants are referenced by the following structs:
+ +| Member | +Description | +
|---|---|
DEFAULT |
+Default interpolation method, same as FMOD_DSP_RESAMPLER.LINEAR. |
+
NOINTERP |
+No interpolation. High frequency aliasing hiss will be audible depending on the sample rate of the sound. | +
LINEAR |
+Linear interpolation (default method). Fast and good quality, causes very slight lowpass effect on low frequency sounds. | +
CUBIC |
+Cubic interpolation. Slower than linear interpolation but better quality. | +
SPLINE |
+5 point spline interpolation. Slowest resampling method but best quality. | +
++FMOD Constant: FMOD_DSP_CALLBACK_TYPE
+
This enum specifies the types of callbacks called by DSPs.
+Callbacks are called from the game thread when set from the Core API or Studio API in synchronous mode, and from the Studio Update Thread when in default / async mode.
+These constants are referenced by the following functions:
+ +| Member | +Description | +
|---|---|
DATAPARAMETERRELEASE |
+Called when a DSP's data parameter can be released. data: FMOD_DSP_DATA_PARAMETER_INFO. |
+
++FMOD Constant: FMOD_DSPCONNECTION_TYPE
+
This enum specifies the list of connection types between 2 DSP nodes.
+These constants are referenced by the following functions:
+ +| Member | +Description | +
|---|---|
STANDARD |
+Default connection type. Audio is mixed from the input to the output DSP's audible buffer. | +
SIDECHAIN |
+Sidechain connection type. Audio is mixed from the input to the output DSP's sidechain buffer. | +
SEND |
+Send connection type. Audio is mixed from the input to the output DSP's audible buffer, but the input is NOT executed, only copied from. A standard connection or sidechain needs to make an input execute to generate data. | +
SEND_SIDECHAIN |
+Send sidechain connection type. Audio is mixed from the input to the output DSP's sidechain buffer, but the input is NOT executed, only copied from. A standard connection or sidechain needs to make an input execute to generate data. | +
++FMOD Constant: FMOD_TAGTYPE
+
This enum specifies the list of tag data / metadata types that could be stored within a sound. These include id3 tags, metadata from netstreams and vorbis/asf data.
+These constants are referenced by the following structs:
+| Member | +Description | +
|---|---|
UNKNOWN |
+Tag type that is not recognized by FMOD | +
ID3V1 |
+MP3 ID3 Tag 1.0. Typically 1 tag stored 128 bytes from end of an MP3 file. | +
ID3V2 |
+MP3 ID3 Tag 2.0. Variable length tags with more than 1 possible. | +
VORBISCOMMENT |
+Metadata container used in Vorbis, FLAC, Theora, Speex and Opus file formats. | +
SHOUTCAST |
+SHOUTcast internet stream metadata which can be issued during playback. | +
ICECAST |
+Icecast internet stream metadata which can be issued during playback. | +
ASF |
+Advanced Systems Format metadata typically associated with Windows Media formats such as WMA. | +
MIDI |
+Metadata stored inside a MIDI file. | +
PLAYLIST |
+Playlist files such as PLS,M3U,ASX and WAX will populate playlist information through this tag type. | +
FMOD |
+Tag type used by FMOD's MIDI, MOD, S3M, XM, IT format support, and netstreams to notify of internet stream events like a sample rate change. | +
USER |
+For codec developers, this tag type can be used with FMOD_CODEC_METADATA_FUNC to generate custom metadata. |
+
++FMOD Constant: FMOD_TAGDATATYPE
+
This enum specifies the list of tag data / metadata types.
+These constants are referenced by the following structs:
+| Member | +Description | +
|---|---|
BINARY |
+Raw binary data. see FmodSoundTag structure for length of data in bytes. | +
INT |
+Integer - Note this integer could be 8bit / 16bit / 32bit / 64bit. See FmodSoundTag structure for integer size (1 vs 2 vs 4 vs 8 bytes). | +
FLOAT |
+IEEE floating point number. See FmodSoundTag structure to confirm if the float data is 32bit or 64bit (4 vs 8 bytes). | +
STRING |
+8bit ASCII char string. See FmodSoundTag structure for string length in bytes. | +
STRING_UTF16 |
+16bit UTF string. Assume little endian byte order. See FmodSoundTag structure for string length in bytes. | +
STRING_UTF16BE |
+16bit UTF string Big endian byte order. See FmodSoundTag structure for string length in bytes. | +
STRING_UTF8 |
+8 bit UTF string. See FmodSoundTag structure for string length in bytes. | +
++FMOD Constant: FMOD_PORT_TYPE
+
This enum specifies the port types available for routing audio.
+These constants are referenced by the following functions:
+ +| Member | +Description | +
|---|---|
MUSIC |
+Background music, pass FMOD_PORT_INDEX.NONE as port index. |
+
COPYRIGHT_MUSIC |
+Copyright background music, pass FMOD_PORT_INDEX.NONE as port index. |
+
VOICE |
+Voice chat, pass platform specific user ID of desired user as port index. | +
CONTROLLER |
+Controller speaker, pass platform specific user ID of desired user as port index. | +
PERSONAL |
+Personal audio device, pass platform specific user ID of desired user as port index. | +
VIBRATION |
+Controller vibration, pass platform specific user ID of desired user as port index. | +
AUX |
+Auxiliary output port, pass FMOD_PORT_INDEX.NONE as port index. |
+
++FMOD Constant: FMOD_CODEC_SEEK_METHOD
+
This enum specifies file seek methods.
+| Member | +Description | +
|---|---|
SET |
+Seeks from the beginning. | +
CURRENT |
+Seeks from the current position. | +
END |
+Seeks from the end. | +
++FMOD Constant: FMOD_DSP_TYPE
+
This enum specifies DSP types.
+These constants are referenced by the following functions:
+ +| Member | +Description | +
|---|---|
UNKNOWN |
+Was created via a non-FMOD plugin and has an unknown purpose. | +
MIXER |
+Does not process the signal, acts as a unit purely for mixing inputs. | +
OSCILLATOR |
+Generates sine/square/saw/triangle or noise tones. See FMOD_DSP_OSCILLATOR for parameter information, Effect reference - Oscillator for overview. | +
LOWPASS |
+Filters sound using a high quality, resonant lowpass filter algorithm but consumes more CPU time. Deprecated and will be removed in a future release. See FMOD_DSP_LOWPASS remarks for parameter information, Effect reference - Low Pass for overview. | +
ITLOWPASS |
+Filters sound using a resonant lowpass filter algorithm that is used in Impulse Tracker, but with limited cutoff range (0 to 8060hz). See FMOD_DSP_ITLOWPASS for parameter information, Effect reference - IT Low Pass for overview. | +
HIGHPASS |
+Filters sound using a resonant highpass filter algorithm. Deprecated and will be removed in a future release. See FMOD_DSP_HIGHPASS remarks for parameter information, Effect reference - High Pass for overview. | +
ECHO |
+Produces an echo on the sound and fades out at the desired rate. See FMOD_DSP_ECHO for parameter information, Effect reference - Echo for overview. | +
FADER |
+Pans and scales the volume of a unit. See FMOD_DSP_FADER for parameter information, Effect reference - Fader for overview. | +
FLANGE |
+Produces a flange effect on the sound. See FMOD_DSP_FLANGE for parameter information, Effect reference - Flange for overview. | +
DISTORTION |
+Distorts the sound. See FMOD_DSP_DISTORTION for parameter information, Effect reference - Distortion for overview. | +
NORMALIZE |
+Normalizes or amplifies the sound to a certain level. See FMOD_DSP_NORMALIZE for parameter information, Effect reference - Normalize for overview. | +
LIMITER |
+Limits the sound to a certain level. See FMOD_DSP_LIMITER for parameter information, Effect reference - Limiter for overview. | +
PARAMEQ |
+Attenuates or amplifies a selected frequency range. Deprecated and will be removed in a future release. See FMOD_DSP_PARAMEQ for parameter information, Effect reference - Parametric EQ for overview. | +
PITCHSHIFT |
+Bends the pitch of a sound without changing the speed of playback. See FMOD_DSP_PITCHSHIFT for parameter information, Effect reference - Pitch Shifter for overview. | +
CHORUS |
+Produces a chorus effect on the sound. See FMOD_DSP_CHORUS for parameter information, Effect reference - Chorus for overview. | +
VSTPLUGIN |
+Allows the use of Steinberg VST plugins. Note that plugins are currently not implemented in the extension. | +
WINAMPPLUGIN |
+Allows the use of Nullsoft Winamp plugins. Note that plugins are currently not implemented in the extension. | +
ITECHO |
+Produces an echo on the sound and fades out at the desired rate as is used in Impulse Tracker. See FMOD_DSP_ITECHO for parameter information, Effect reference - IT Echo for overview. | +
COMPRESSOR |
+Dynamic compression (linked/unlinked multi-channel, wideband). See FMOD_DSP_COMPRESSOR for parameter information, Effect reference - Compressor for overview. | +
SFXREVERB |
+I3DL2 reverb effect. See FMOD_DSP_SFXREVERB for parameter information, Effect reference - SFX Reverb for overview. | +
LOWPASS_SIMPLE |
+Filters sound using a simple lowpass with no resonance, but has flexible cutoff and is fast. Deprecated and will be removed in a future release. See FMOD_DSP_LOWPASS_SIMPLE remarks for parameter information, Effect reference - Low Pass Simple for overview. | +
DELAY |
+Produces different delays on individual channels of the sound. See FMOD_DSP_DELAY for parameter information, Effect reference - Delay for overview. | +
TREMOLO |
+Produces a tremolo / chopper effect on the sound. See FMOD_DSP_TREMOLO for parameter information, Effect reference - Tremolo for overview. | +
LADSPAPLUGIN |
+Unsupported / Deprecated. | +
SEND |
+Sends a copy of the signal to a return DSP anywhere in the DSP tree. See FMOD_DSP_SEND for parameter information, Effect reference - Send for overview. | +
RETURN |
+Receives signals from a number of send DSPs. See FMOD_DSP_RETURN for parameter information, Effect reference - Return for overview. | +
HIGHPASS_SIMPLE |
+Filters sound using a simple highpass with no resonance, but has flexible cutoff and is fast. Deprecated and will be removed in a future release. See FMOD_DSP_HIGHPASS_SIMPLE remarks for parameter information, Effect reference - High Pass Simple for overview. | +
PAN |
+Pans the signal in 2D or 3D, possibly upmixing or downmixing as well. See FMOD_DSP_PAN for parameter information, Effect reference - Pan for overview. | +
THREE_EQ |
+Three-band equalizer. See FMOD_DSP_THREE_EQ for parameter information, Effect reference - Three EQ for overview. | +
FFT |
+Analyzes the signal and provides spectrum information back through getParameter. See FMOD_DSP_FFT for parameter information, Effect reference - FFT for overview. | +
LOUDNESS_METER |
+Analyzes the loudness and true peak of the signal. | +
ENVELOPEFOLLOWER |
+Tracks the envelope of the input/sidechain signal. Deprecated and will be removed in a future release. See FMOD_DSP_ENVELOPEFOLLOWER for parameter information, Effect reference - Envelope Follower for overview. | +
CONVOLUTIONREVERB |
+Convolution reverb. See FMOD_DSP_TYPE's CONVOLUTION_REVERB for parameter information, Effect reference - Convolution Reverb for overview. |
+
CHANNELMIX |
+Provides per channel gain, channel grouping of the input signal which also sets the speaker format for the output signal, and customizable input to output channel routing. See FMOD_DSP_CHANNELMIX for parameter information, Effect reference - Channel Mix for overview. | +
TRANSCEIVER |
+'sends' and 'receives' from a selection of up to 32 different slots. It is like a send/return but it uses global slots rather than returns as the destination. It also has other features. Multiple transceivers can receive from a single channel, or multiple transceivers can send to a single channel, or a combination of both. See FMOD_DSP_TRANSCEIVER for parameter information, Effect reference - Transceiver for overview. | +
OBJECTPAN |
+Spatializes input signal by passing it to an external object mixer. See FMOD_DSP_OBJECTPAN for parameter information, Effect reference - Object Panner for overview. | +
MULTIBAND_EQ |
+Five band parametric equalizer. See FMOD_DSP_MULTIBAND_EQ for parameter information, Effect reference - Multiband Equalizer for overview. | +
++FMOD Constant: FMOD_DSP_OSCILLATOR
+
This enum specifies oscillator DSP parameter types.
+| Member | +Description | +
|---|---|
TYPE |
+Waveform type. 0 = sine. 1 = square. 2 = sawup. 3 = sawdown. 4 = triangle. 5 = noise. | +
RATE |
+Frequency of the tone. Does not affect the noise generator. | +
++FMOD Constant: FMOD_DSP_LOWPASS
+
This enum specifies lowpass DSP parameter types.
+Deprecated and will be removed in a future release, emulate with FMOD_DSP_TYPE.MULTIBAND_EQ.
| Member | +Description | +
|---|---|
CUTOFF |
+Lowpass cutoff frequency. | +
RESONANCE |
+Lowpass resonance Q value. | +
++FMOD Constant: FMOD_DSP_ITLOWPASS
+
This enum specifies lowpass DSP parameter types.
+| Member | +Description | +
|---|---|
CUTOFF |
+Lowpass cutoff frequency. | +
RESONANCE |
+Lowpass resonance Q value. | +
++FMOD Constant: FMOD_DSP_HIGHPASS
+
This enum specifies highpass DSP parameter types.
+| Member | +Description | +
|---|---|
CUTOFF |
+Highpass cutoff frequency. | +
RESONANCE |
+Highpass resonance Q value. | +
++FMOD Constant: FMOD_DSP_ECHO
+
This enum specifies echo DSP parameter types.
+| Member | +Description | +
|---|---|
DELAY |
+Echo delay. | +
FEEDBACK |
+Echo decay per delay. 100.0 = No decay, 0.0 = total decay. | +
DRYLEVEL |
+Original sound volume. | +
WETLEVEL |
+Volume of echo signal to pass to output. | +
++FMOD Constant: FMOD_DSP_FADER
+
This enum specifies fader DSP parameter types.
+| Member | +Description | +
|---|---|
GAIN |
+Signal gain. | +
OVERALL_GAIN |
+Overall gain to allow FMOD to know the DSP is scaling the signal for visualization purposes. | +
++FMOD Constant: FMOD_DSP_FLANGE
+
This enum specifies flange DSP parameter types.
+| Member | +Description | +
|---|---|
MIX |
+Percentage of wet signal in mix. | +
DEPTH |
+Flange depth. | +
RATE |
+Flange speed. | +
++FMOD Constant: FMOD_DSP_DISTORTION
+
This enum specifies distortion DSP parameter types.
+| Member | +Description | +
|---|---|
LEVEL |
+Distortion value. | +
++FMOD Constant: FMOD_DSP_NORMALIZE
+
This enum specifies normalize DSP parameter types.
+Normalize amplifies the sound based on the maximum peaks within the signal. For example if the maximum peaks in the signal were 50% of the bandwidth, it would scale the whole sound by 2.
+The lower threshold value makes the normalizer ignore peaks below a certain point, to avoid over-amplification if a loud signal suddenly came in, and also to avoid amplifying to maximum things like background hiss.
+Because FMOD is a realtime audio processor, it doesn't have the luxury of knowing the peak for the whole sound (i.e. it can't see into the future), so it has to process data as it comes in.
+To avoid very sudden changes in volume level based on small samples of new data, FMOD fades towards the desired amplification which makes for smooth gain control. The fadetime parameter can control this.
+| Member | +Description | +
|---|---|
FADETIME |
+Time to ramp the silence to full. | +
THRESHOLD |
+Lower volume range threshold to ignore. | +
MAXAMP |
+Maximum amplification allowed. | +
++FMOD Constant: FMOD_DSP_LIMITER
+
This enum specifies limited DSP parameter types.
+| Member | +Description | +
|---|---|
RELEASETIME |
+Time to return the gain reduction to full in ms. | +
CEILING |
+Maximum level of the output signal. | +
MAXIMIZERGAIN |
+Maximum amplification allowed. | +
MODE |
+Channel processing mode where false is independent (limiter per channel) and true is linked (all channels are summed together before processing). | +
++FMOD Constant: FMOD_DSP_PARAMEQ
+
This enum specifies parametric EQ DSP parameter types.
+Deprecated and will be removed in a future release, to emulate with FMOD_DSP_TYPE.MULTIBAND_EQ:
Parametric EQ is a single band peaking EQ filter that attenuates or amplifies a selected frequency and its neighboring frequencies.
+When the gain is set to zero decibels the sound will be unaffected and represents the original signal exactly.
+| Member | +Description | +
|---|---|
CENTER |
+Frequency center. | +
BANDWIDTH |
+Octave range around the center frequency to filter. | +
GAIN |
+Frequency Gain in dB. | +
++FMOD Constant: FMOD_DSP_MULTIBAND_EQ
+
This enum specifies multiband EQ DSP parameter types.
+Flexible five band parametric equalizer.
+| Member | +Description | +
|---|---|
A_FILTER |
+Band A: used to interpret the behavior of the remaining parameters. | +
A_FREQUENCY |
+Band A: Significant frequency, cutoff [low/high pass, low/high shelf], center [notch, peaking, band-pass], phase transition point [all-pass]. | +
A_Q |
+Band A: Quality factor, resonance [low/high pass], bandwidth [notch, peaking, band-pass], phase transition sharpness [all-pass], unused [low/high shelf]. | +
A_GAIN |
+Band A: Boost or attenuation in dB [peaking, high/low shelf only]. -30 to 30. Default = 0. | +
B_FILTER |
+Band B: See Band A. | +
B_FREQUENCY |
+Band B: See Band A | +
B_Q |
+Band B: See Band A | +
B_GAIN |
+Band B: See Band A | +
C_FILTER |
+Band C: See Band A. | +
C_FREQUENCY |
+Band C: See Band A. | +
C_Q |
+Band C: See Band A. | +
C_GAIN |
+Band C: See Band A. | +
D_FILTER |
+Band D: See Band A. | +
D_FREQUENCY |
+Band D: See Band A. | +
D_Q |
+Band D: See Band A. | +
D_GAIN |
+Band D: See Band A. | +
E_FILTER |
+Band E: See Band A. | +
E_FREQUENCY |
+Band E: See Band A. | +
E_Q |
+Band E: See Band A. | +
E_GAIN |
+Band E: See Band A. | +
++FMOD Constant: FMOD_DSP_MULTIBAND_EQ_FILTER_TYPE
+
This enum specifies multiband EQ Filter types.
+| Member | +Description | +
|---|---|
DISABLED |
+Disabled filter, no processing. | +
LOWPASS_12DB |
+Resonant low-pass filter, attenuates frequencies (12dB per octave) above a given point (with specificed resonance) while allowing the rest to pass. | +
LOWPASS_24DB |
+Resonant low-pass filter, attenuates frequencies (24dB per octave) above a given point (with specificed resonance) while allowing the rest to pass. | +
LOWPASS_48DB |
+Resonant low-pass filter, attenuates frequencies (48dB per octave) above a given point (with specificed resonance) while allowing the rest to pass. | +
HIGHPASS_12DB |
+Resonant high-pass filter, attenuates frequencies (12dB per octave) below a given point (with specificed resonance) while allowing the rest to pass. | +
HIGHPASS_24DB |
+Resonant high-pass filter, attenuates frequencies (24dB per octave) below a given point (with specificed resonance) while allowing the rest to pass. | +
HIGHPASS_48DB |
+Resonant high-pass filter, attenuates frequencies (48dB per octave) below a given point (with specificed resonance) while allowing the rest to pass. | +
LOWSHELF |
+Low-shelf filter, boosts or attenuates frequencies (with specified gain) below a given point while allowing the rest to pass. | +
HIGHSHELF |
+High-shelf filter, boosts or attenuates frequencies (with specified gain) above a given point while allowing the rest to pass. | +
PEAKING |
+Peaking filter, boosts or attenuates frequencies (with specified gain) at a given point (with specificed bandwidth) while allowing the rest to pass. | +
BANDPASS |
+Band-pass filter, allows frequencies at a given point (with specificed bandwidth) to pass while attenuating frequencies outside this range. | +
NOTCH |
+Notch or band-reject filter, attenuates frequencies at a given point (with specificed bandwidth) while allowing frequencies outside this range to pass. | +
ALLPASS |
+All-pass filter, allows all frequencies to pass, but changes the phase response at a given point (with specified sharpness). | +
++FMOD Constant: FMOD_DSP_PITCHSHIFT
+
This enum specifies pitch shift DSP parameter types.
+FMOD_DSP_PITCHSHIFT.MAXCHANNELS dictates the amount of memory allocated. By default, the maxchannels value is 0. If FMOD is set to stereo, the pitch shift unit will allocate enough memory for 2 channels. If it is 5.1, it will allocate enough memory for a 6 channel pitch shift, etc.
If the pitch shift effect is only ever applied to the global mix (i.e. with fmod_channel_control_add_dsp on a ChannelGroup object), then 0 is the value to set as it will be enough to handle all speaker modes.
+When the pitch shift is added to a Channel (i.e. with fmod_channel_control_add_dsp on a Channel object) then the signal channel count that comes in could be anything from 1 to 8 possibly. It is only in this case where you might want to increase the channel count above the output's channel count.
+If a Channel pitch shift is set to a lower number than the signal's channel count that is coming in, it will not pitch shift the sound.
+| Member | +Description | +
|---|---|
PITCH |
+Pitch value. 0.5 = one octave down, 2.0 = one octave up. 1.0 does not change the pitch. | +
FFTSIZE |
+FFT window size - 256, 512, 1024, 2048, 4096. Increase this to reduce 'smearing'. This effect is a warbling sound similar to when an mp3 is encoded at very low bitrates. | +
OVERLAP |
+Removed. Do not use. FMOD now uses 4 overlaps and cannot be changed. | +
MAXCHANNELS |
+Maximum channels supported. 0 = same as FMOD's default output polyphony, 1 = mono, 2 = stereo etc. See remarks for more. It is recommended to leave it at 0. | +
++FMOD Constant: FMOD_DSP_CHORUS
+
This enum specifies chorus DSP parameter types.
+Chorus is an effect where the sound is more 'spacious' due a copy of the signal being played along side the original, but with the delay of each copy modulating on a sine wave. As there are 2 versions of the same signal (dry vs wet), by default each signal is given 50% mix, so that the total is not louder than the original unaffected signal.
+| Member | +Description | +
|---|---|
MIX |
+Percentage of wet signal in mix. | +
RATE |
+Chorus modulation rate. | +
DEPTH |
+Chorus modulation depth. | +
++FMOD Constant: FMOD_DSP_ITECHO
+
This enum specifies IT Echo DSP parameter types.
+This is effectively a software based echo filter that emulates the DirectX DMO echo effect. Impulse tracker files can support this, and FMOD will produce the effect on ANY platform, not just those that support DirectX effects!
+Note
+Every time the delay is changed, the plugin re-allocates the echo buffer. This means the echo will dissapear at that time while it refills its new buffer. Larger echo delays result in larger amounts of memory allocated.
+As this is a stereo filter made mainly for IT playback, it is targeted for stereo signals. With mono signals only the FMOD_DSP_ITECHO.LEFTDELAY is used. For multi-channel signals (>2) there will be no echo on those channels.
| Member | +Description | +
|---|---|
WETDRYMIX |
+Ratio of wet (processed) signal to dry (unprocessed) signal. Higher is wetter. | +
FEEDBACK |
+Percentage of output fed back into input. | +
LEFTDELAY |
+Delay for left channel. | +
RIGHTDELAY |
+Delay for right channel. | +
PANDELAY |
+Value that specifies whether to swap left and right delays with each successive echo. CURRENTLY NOT SUPPORTED. | +
++FMOD Constant: FMOD_DSP_COMPRESSOR
+
This enum specifies compressor DSP parameter types.
+This is a multi-channel software limiter that is uniform across the whole spectrum. +The limiter is not guaranteed to catch every peak above the threshold level, because it cannot apply gain reduction instantaneously - the time delay is determined by the attack time. However setting the attack time too short will distort the sound, so it is a compromise. High level peaks can be avoided by using a short attack time - but not too short, and setting the threshold a few decibels below the critical level.
+| Member | +Description | +
|---|---|
THRESHOLD |
+Threshold level. | +
RATIO |
+Compression Ratio. | +
ATTACK |
+Attack time. | +
RELEASE |
+Release time. | +
GAINMAKEUP |
+Make-up gain applied after limiting. | +
USESIDECHAIN |
+Data of type FMOD_DSP_PARAMETER_SIDECHAIN. Whether to analyse the sidechain signal instead of the input signal. The FMOD_DSP_PARAMETER_SIDECHAIN::sidechainenable default is false. |
+
LINKED |
+false = Independent (compressor per channel), true = Linked. |
+
++FMOD Constant: FMOD_DSP_SFXREVERB
+
This enum specifies SFX Reverb DSP parameter types.
+This is a high quality I3DL2 based reverb. On top of the I3DL2 property set, "Dry Level" is also included to allow the dry mix to be changed. These properties can be set with presets in FMOD_REVERB_PRESETS.
+| Member | +Description | +
|---|---|
DECAYTIME |
+Reverberation decay time at low-frequencies. | +
EARLYDELAY |
+Delay time of first reflection. | +
LATEDELAY |
+Late reverberation delay time relative to first reflection in milliseconds. | +
HFREFERENCE |
+Reference frequency for high-frequency decay. | +
HFDECAYRATIO |
+High-frequency decay time relative to decay time. | +
DIFFUSION |
+Reverberation diffusion (echo density). | +
DENSITY |
+Reverberation density (modal density). | +
LOWSHELFFREQUENCY |
+Transition frequency of low-shelf filter. | +
LOWSHELFGAIN |
+Gain of low-shelf filter. | +
HIGHCUT |
+Cutoff frequency of low-pass filter. | +
EARLYLATEMIX |
+Blend ratio of late reverb to early reflections. | +
WETLEVEL |
+Reverb signal level. | +
DRYLEVEL |
+Dry signal level. | +
++FMOD Constant: FMOD_DSP_LOWPASS_SIMPLE
+
This enum specifies simple Lowpass DSP Parameter types.
+Deprecated and will be removed in a future release, emulate with FMOD_DSP_TYPE.MULTIBAND_EQ.
This is a very simple low pass filter, based on two single-pole RC time-constant modules.
+The emphasis is on speed rather than accuracy, so this should not be used for task requiring critical filtering.
+| Member | +Description | +
|---|---|
CUTOFF |
+Lowpass cutoff frequency. | +
++FMOD Constant: FMOD_DSP_DELAY
+
This enum specifies delay DSP parameter types.
+| Member | +Description | +
|---|---|
CH0 |
+Channel #0 Delay. | +
CH1 |
+Channel #1 Delay. | +
CH2 |
+Channel #2 Delay. | +
CH3 |
+Channel #3 Delay. | +
CH4 |
+Channel #4 Delay. | +
CH5 |
+Channel #5 Delay. | +
CH6 |
+Channel #6 Delay. | +
CH7 |
+Channel #7 Delay. | +
CH8 |
+Channel #8 Delay. | +
CH9 |
+Channel #9 Delay. | +
CH10 |
+Channel #10 Delay. | +
CH11 |
+Channel #11 Delay. | +
CH12 |
+Channel #12 Delay. | +
CH13 |
+Channel #13 Delay. | +
CH14 |
+Channel #14 Delay. | +
CH15 |
+Channel #15 Delay. | +
++FMOD Constant: FMOD_DSP_TREMOLO
+
This enum specifies tremolo DSP parameter types.
+The tremolo effect varies the amplitude of a sound. Depending on the settings, this unit can produce a tremolo, chopper or auto-pan effect.
+The shape of the LFO (low freq. oscillator) can be morphed between sine, triangle and sawtooth waves using the FMOD_DSP_TREMOLO.SHAPE and FMOD_DSP_TREMOLO.SKEW parameters.
FMOD_DSP_TREMOLO.DUTY and FMOD_DSP_TREMOLO.SQUARE are useful for a chopper-type effect where the first controls the on-time duration and second controls the flatness of the envelope.
FMOD_DSP_TREMOLO.SPREAD varies the LFO phase between channels to get an auto-pan effect. This works best with a sine shape LFO.
The LFO can be synchronized using the FMOD_DSP_TREMOLO.PHASE parameter which sets its instantaneous phase.
| Member | +Description | +
|---|---|
FREQUENCY |
+LFO frequency. | +
DEPTH |
+Tremolo depth. | +
SHAPE |
+LFO shape morph between triangle and sine. | +
SKEW |
+Time-skewing of LFO cycle. | +
DUTY |
+LFO on-time. | +
SQUARE |
+Flatness of the LFO shape. | +
PHASE |
+Instantaneous LFO phase. | +
SPREAD |
+Rotation / auto-pan effect. | +
++FMOD Constant: FMOD_DSP_SEND
+
This enum specifies send DSP parameter types.
+| Member | +Description | +
|---|---|
RETURNID |
+ID of the Return DSP this send is connected to where -1 indicates no connected return DSP. | +
LEVEL |
+Send level. | +
++FMOD Constant: FMOD_DSP_RETURN
+
This enum specifies return DSP parameter types.
+| Member | +Description | +
|---|---|
ID |
+ID of this Return DSP. | +
INPUT_SPEAKER_MODE |
+Input speaker mode of this return. | +
++FMOD Constant: FMOD_DSP_HIGHPASS_SIMPLE
+
This enum specifies simple Highpass DSP parameter types.
+| Member | +Description | +
|---|---|
CUTOFF |
+Highpass cutoff frequency. | +
++FMOD Constant: FMOD_DSP_PAN_2D_STEREO_MODE_TYPE
+
This enum specifies 2D Stereo Mode values for Pan DSP.
+| Member | +Description | +
|---|---|
DISTRIBUTED |
+The parts of a stereo sound are spread around destination speakers based on FMOD_DSP_PAN._2D_EXTENT / FMOD_DSP_PAN._2D_DIRECTION. |
+
DISCRETE |
+The L/R parts of a stereo sound are rotated around a circle based on FMOD_DSP_PAN._2D_STEREO_AXIS / FMOD_DSP_PAN._2D_STEREO_SEPARATION. |
+
++FMOD Constant: FMOD_DSP_PAN_MODE_TYPE
+
This enum specifies pan Mode values for Pan DSP.
+| Member | +Description | +
|---|---|
MONO |
+Single channel output. | +
STEREO |
+Two channel output. | +
SURROUND |
+Three or more channel output. Includes common modes like quad, 5.1 or 7.1. | +
++FMOD Constant: FMOD_DSP_PAN_3D_ROLLOFF_TYPE
+
This enum specifies 3D roll-off values for Pan DSP.
+Minimum and Maximum distance settings are controlled with FMOD_DSP_PAN._3D_MIN_DISTANCE and FMOD_DSP_PAN._3D_MAX_DISTANCE.
| Member | +Description | +
|---|---|
LINEARSQUARED |
+This is a linear-square roll-off model. Below mindistance, the volume is unattenuated; as distance increases from mindistance to maxdistance, the volume attenuates to silence according to a linear squared gradient. For this roll-off mode, distance values greater than mindistance are scaled according to the rolloffscale. This roll-off mode provides steeper volume ramping close to the mindistance, and more gradual ramping close to the maxdistance, than linear roll-off mode. | +
LINEAR |
+This is a linear roll-off model. Below mindistance, the volume is unattenuated; as distance increases from mindistance to maxdistance, the volume attenuates to silence using a linear gradient. For this roll-off mode, distance values greater than mindistance are scaled according to the rolloffscale. While this roll-off mode is not as realistic as inverse roll-off mode, it is easier to comprehend. | +
INVERSE |
+This is an inverse roll-off model. Below mindistance, the volume is unattenuated; as distance increases above mindistance, the volume attenuates using mindistance/distance as the gradient until it reaches maxdistance, where it stops attenuating. For this roll-off mode, distance values greater than mindistance are scaled according to the rolloffscale. This roll-off mode accurately models the way sounds attenuate over distance in the real world. (DEFAULT) | +
INVERSETAPERED |
+This is a combination of the inverse and linear-square roll-off models. At short distances where inverse roll-off would provide greater attenuation, it functions as inverse roll-off mode; then at greater distances where linear-square roll-off mode would provide greater attenuation, it uses that roll-off mode instead. For this roll-off mode, distance values greater than mindistance are scaled according to the rolloffscale. Inverse tapered roll-off mode approximates realistic behavior while still guaranteeing the sound attenuates to silence at maxdistance. | +
CUSTOM |
++ |
Custom roll-off can be defined by the programmer setting volume manually. Attenuation in the Pan DSP is turned off in this mode.
+++FMOD Constant: FMOD_DSP_PAN_3D_EXTENT_MODE_TYPE
+
This enum specifies 3D Extent Mode values for Pan DSP.
+| Member | +Description | +
|---|---|
AUTO |
+Automatically determine the extent. | +
USER |
+User-defined extent. | +
OFF |
+No extent. | +
++FMOD Constant: FMOD_DSP_PAN
+
This enum specifies pan DSP parameter types.
+FMOD_DSP_PAN._3D_PAN_BLEND controls the percentage of the effect supplied by FMOD_DSP_PAN._2D_DIRECTION and FMOD_DSP_PAN._2D_EXTENT.
For FMOD_DSP_PAN._3D_POSITION, the following members in the FMOD_DSP_PARAMETER_3DATTRIBUTES_MULTI struct should be non zero.
+- numlisteners - This is typically 1, can be up to 8. Typically more than 1 is only used for split screen purposes. The FMOD Panner will average angles and produce the best compromise for panning and attenuation.
+- relative[listenernum].position - This is the delta between the listener position and the sound position. Typically the listener position is subtracted from the sound position.
+- relative[listenernum].forward - This is the sound's forward vector. Optional, set to 0, 0, 1 if not needed. This is only relevant for more than mono sounds in 3D, that are spread amongst the destination speakers at the time of panning.
For FMOD_DSP_PAN._2D_STEREO_MODE, when it is set to FMOD_DSP_PAN_2D_STEREO_MODE_TYPE.DISCRETE, only FMOD_DSP_PAN._2D_STEREO_SEPARATION and FMOD_DSP_PAN._2D_STEREO_AXIS are used.
+When it is set to FMOD_DSP_PAN_2D_STEREO_MODE_TYPE.DISTRIBUTED, then standard FMOD_DSP_PAN._2D_DIRECTION/FMOD_DSP_PAN._2D_EXTENT parameters are used.
FMOD_DSP_OBJECTPAN.OVERRIDE_RANGE defaults to true for backwards compatibility.
| Member | +Description | +
|---|---|
MODE |
+Panner mode. | +
_2D_STEREO_POSITION |
+2D Stereo pan position. | +
_2D_DIRECTION |
+2D Surround pan direction. Direction from center point of panning circle where 0 is front center and -180 or +180 is rear speakers center point. | +
_2D_EXTENT |
+2D Surround pan extent. | +
_2D_ROTATION |
+2D Surround pan rotation. | +
_2D_LFE_LEVEL |
+2D Surround pan LFE level. | +
_2D_STEREO_MODE |
+Stereo-To-Surround Mode. | +
_2D_STEREO_SEPARATION |
+Stereo-To-Surround Stereo For FMOD_DSP_PAN_2D_STEREO_MODE_TYPE.DISCRETE mode. Separation/width of L/R parts of stereo sound. |
+
_2D_STEREO_AXIS |
+Stereo-To-Surround Stereo For FMOD_DSP_PAN_2D_STEREO_MODE_TYPE.DISCRETE mode. Axis/rotation of L/R parts of stereo sound. |
+
ENABLED_SPEAKERS |
+Speakers Enabled Bitmask for each speaker from 0 to 32 to be considered by panner. Use to disable speakers from being panned to. 0 to 0xFFF. Default = 0xFFF (All on). | +
_3D_POSITION |
+3D Position of panner and listener(s). | +
_3D_ROLLOFF |
+3D volume attenuation curve shape. | +
_3D_MIN_DISTANCE |
+3D volume attenuation minimum distance when FMOD_DSP_OBJECTPAN.OVERRIDE_RANGE is true. |
+
_3D_MAX_DISTANCE |
+3D volume attenuation maximum distance when FMOD_DSP_OBJECTPAN.OVERRIDE_RANGE is true. |
+
_3D_EXTENT_MODE |
+3D Extent Mode. | +
_3D_SOUND_SIZE |
+3D Sound Size. | +
_3D_MIN_EXTENT |
+3D Min Extent. | +
_3D_PAN_BLEND |
+3D Pan Blend. | +
LFE_UPMIX_ENABLED |
+LFE Upmix Enabled. Determines whether non-LFE source channels should mix to the LFE or leave it alone. 0 (off) to 1 (on). Default = 0 (off). | +
OVERALL_GAIN |
+Overall gain to allow FMOD to know the DSP is scaling the signal for visualization purposes. | +
SURROUND_SPEAKER_MODE |
+Surround speaker mode. (FMOD_SPEAKERMODE) | +
_2D_HEIGHT_BLEND |
+2D Height blend. When the input or FMOD_DSP_PAN.SURROUND_SPEAKER_MODE has height speakers, control the blend between ground and height. -1.0 (push top speakers to ground), 0.0 (preserve top / ground separation), 1.0 (push ground speakers to top). |
+
ATTENUATION_RANGE |
+Attenuation Range when FMOD_DSP_OBJECTPAN.OVERRIDE_RANGE is false. |
+
OVERRIDE_RANGE |
+Override Attenuation Range with FMOD_DSP_PAN._3D_MIN_DISTANCE and FMOD_DSP_PAN._3D_MAX_DISTANCE. |
+
++FMOD Constant: FMOD_DSP_THREE_EQ_CROSSOVERSLOPE_TYPE
+
This enum specifies crossover values for Three EQ DSP.
+| Member | +Description | +
|---|---|
_12DB |
+12dB/Octave crossover slope. | +
_24DB |
+24dB/Octave crossover slope. | +
_48DB |
+48dB/Octave crossover slope. | +
++FMOD Constant: FMOD_DSP_THREE_EQ
+
This enum specifies three EQ DSP parameter types.
+| Member | +Description | +
|---|---|
LOWGAIN |
+Low frequency gain. | +
MIDGAIN |
+Mid frequency gain. | +
HIGHGAIN |
+High frequency gain. | +
LOWCROSSOVER |
+Low-to-mid crossover frequency. | +
HIGHCROSSOVER |
+Mid-to-high crossover frequency. | +
CROSSOVERSLOPE |
+Crossover Slope type. | +
++FMOD Constant: FMOD_DSP_FFT_WINDOW
+
This enum specifies the list of windowing methods for the FFT DSP.
+Used in spectrum analysis to reduce leakage / transient signals interfering with the analysis. This is a problem with analysis of continuous signals that only have a small portion of the signal sample (the FFT window size). Windowing the signal with a curve or triangle tapers the sides of the FFT window to help alleviate this problem.
+Cyclic signals such as a sine wave that repeat their cycle in a multiple of the window size do not need windowing. I.e. If the sine wave repeats every 1024, 512, 256, etc. samples and the FMOD FFT window is 1024, then the signal would not need windowing.
+Not windowing is the same as FMOD_DSP_FFT_WINDOW.RECT, which is the default. If the cycle of the signal (i.e. the sine wave) is not a multiple of the window size, it will cause frequency abnormalities, so a different windowing method is needed.
| Member | +Description | +
|---|---|
RECT |
+w[n] = 1.0 | +
TRIANGLE |
+w[n] = TRI(2n/N) | +
HAMMING |
+w[n] = 0.54 - (0.46 * COS(n/N) ) | +
HANNING |
+w[n] = 0.5 * (1.0 - COS(n/N) ) | +
BLACKMAN |
+w[n] = 0.42 - (0.5 * COS(n/N) ) + (0.08 * COS(2.0 * n/N) ) | +
BLACKMANHARRIS |
+w[n] = 0.35875 - (0.48829 * COS(1.0 * n/N)) + (0.14128 * COS(2.0 * n/N)) - (0.01168 * COS(3.0 * n/N)) | +
++FMOD Constant: FMOD_DSP_FFT
+
This enum specifies FFT DSP parameter types.
+Set the attributes for the spectrum analysis with FMOD_DSP_FFT.WINDOWSIZE and FMOD_DSP_FFT.WINDOWTYPE, and retrieve the results with FMOD_DSP_FFT.SPECTRUMDATA and FMOD_DSP_FFT.DOMINANT_FREQ.
+FMOD_DSP_FFT.SPECTRUMDATA stores its data in the FMOD_DSP_PARAMETER_DATA_TYPE_FFT. You will need to cast to this structure to get the right data.
| Member | +Description | +
|---|---|
WINDOWSIZE |
+Window size. Must be a power of 2 between 128 and 16384. | +
WINDOWTYPE |
+FFT Window Type. | +
SPECTRUMDATA |
+Returns the current spectrum values between 0 and 1 for each 'FFT bin'. Divide the Nyquist frequency by the window size to get the Hz value per entry. | +
DOMINANT_FREQ |
+Returns the dominant frequencies for each channel. | +
++FMOD Constant: FMOD_DSP_LOUDNESS_METER
+
This enum specifies loudness meter DSP parameter types.
+| Member | +Description | +
|---|---|
STATE |
+Update state. | +
WEIGHTING |
+Channel weighting. | +
INFO |
+Metering information. | +
++FMOD Constant: FMOD_DSP_LOUDNESS_METER_STATE_TYPE
+
This enum specifies loudness meter state indicating update behavior.
+| Member | +Description | +
|---|---|
RESET_INTEGRATED |
+Reset loudness meter information except max peak. | +
RESET_MAXPEAK |
+Reset loudness meter max peak. | +
RESET_ALL |
+Reset all loudness meter information. | +
PAUSED |
+Pause loudness meter. | +
ANALYZING |
+Enable loudness meter recording and analyzing. | +
++FMOD Constant: FMOD_DSP_ENVELOPEFOLLOWER
+
This enum specifies parameter types for the FMOD_DSP_TYPE.ENVELOPEFOLLOWER unit. This is a simple envelope follower for tracking the signal level. This unit does not affect the incoming signal.
| Member | +Description | +
|---|---|
ATTACK |
+Attack time. | +
RELEASE |
+Release time. | +
ENVELOPE |
+Current value of the envelope. | +
USESIDECHAIN |
+Whether to analyse the sidechain signal instead of the input signal. | +
++FMOD Constant: FMOD_DSP_CONVOLUTION_REVERB
+
This enum specifies Convolution reverb DSP parameter types.
+Convolution reverb is a reverberation effect that uses a recording of a physical space known as an Impulse Response file (or IR file) to generate frequency specific reverberation.
+| Member | +Description | +
|---|---|
IR |
+Array of signed 16-bit (short) PCM data to be used as reverb impulse response. First member of the array should be a 16 bit value (short) which specifies the number of channels. Array looks like [index 0=numchannels][index 1+ = raw 16 bit PCM data]. Data is copied internally so source can be freed. | +
WET |
+Volume of echo signal to pass to output. | +
DRY |
+Original sound volume. | +
LINKED |
+Linked - channels are mixed together before processing through the reverb. | +
++FMOD Constant: FMOD_DSP_CHANNELMIX_OUTPUT
+
This enum specifies channel Mix DSP outgrouping parameter types.
+| Member | +Description | +
|---|---|
DEFAULT |
+Output channel count = input channel count. Mapping: See FMOD_SPEAKER enumeration. | +
ALLMONO |
+Output channel count = 1. Mapping: Mono, Mono, Mono, Mono, Mono, Mono, ... (each channel all the way up to FMOD_MAX_CHANNEL_WIDTH channels are treated as if they were mono) | +
ALLSTEREO |
+Output channel count = 2. Mapping: Left, Right, Left, Right, Left, Right, ... (each pair of channels is treated as stereo all the way up to FMOD_MAX_CHANNEL_WIDTH channels) | +
ALLQUAD |
+Output channel count = 4. Mapping: Repeating pattern of Front Left, Front Right, Surround Left, Surround Right. | +
ALL5POINT1 |
+Output channel count = 6. Mapping: Repeating pattern of Front Left, Front Right, Center, LFE, Surround Left, Surround Right. | +
ALL7POINT1 |
+Output channel count = 8. Mapping: Repeating pattern of Front Left, Front Right, Center, LFE, Surround Left, Surround Right, Back Left, Back Right. | +
ALLLFE |
+Output channel count = 6. Mapping: Repeating pattern of LFE in a 5.1 output signal. | +
ALL7POINT1POINT4 |
+Output channel count = 12. Mapping: Repeating pattern of Front Left, Front Right, Center, LFE, Surround Left, Surround Right, Back Left, Back Right, Top Front Left, Top Front Right, Top Back Left, Top Back Right. | +
++FMOD Constant: FMOD_DSP_CHANNELMIX
+
This enum specifies channel Mix DSP parameter types.
+For FMOD_DSP_CHANNELMIX.OUTPUTGROUPING, this value will set the output speaker format for the DSP which determines the number of output channels.
For input channels mapped to an output channel in excess of the number of output channels, it will instead be mapped to the modulo of that channel index. E.g., if there are 4 output channels, the input channel mapped to output channel index 5 will be mapped to index 1.
+| Member | +Description | +
|---|---|
OUTPUTGROUPING |
+Channel mix output grouping. (FMOD_DSP_CHANNELMIX_OUTPUT) | +
GAIN_CH0 |
+Channel #0 gain. | +
GAIN_CH1 |
+Channel #1 gain. | +
GAIN_CH2 |
+Channel #2 gain. | +
GAIN_CH3 |
+Channel #3 gain. | +
GAIN_CH4 |
+Channel #4 gain. | +
GAIN_CH5 |
+Channel #5 gain. | +
GAIN_CH6 |
+Channel #6 gain. | +
GAIN_CH7 |
+Channel #7 gain. | +
GAIN_CH8 |
+Channel #8 gain. | +
GAIN_CH9 |
+Channel #9 gain. | +
GAIN_CH10 |
+Channel #10 gain. | +
GAIN_CH11 |
+Channel #11 gain. | +
GAIN_CH12 |
+Channel #12 gain. | +
GAIN_CH13 |
+Channel #13 gain. | +
GAIN_CH14 |
+Channel #14 gain. | +
GAIN_CH15 |
+Channel #15 gain. | +
GAIN_CH16 |
+Channel #16 gain. | +
GAIN_CH17 |
+Channel #17 gain. | +
GAIN_CH18 |
+Channel #18 gain. | +
GAIN_CH19 |
+Channel #19 gain. | +
GAIN_CH20 |
+Channel #20 gain. | +
GAIN_CH21 |
+Channel #21 gain. | +
GAIN_CH22 |
+Channel #22 gain. | +
GAIN_CH23 |
+Channel #23 gain. | +
GAIN_CH24 |
+Channel #24 gain. | +
GAIN_CH25 |
+Channel #25 gain. | +
GAIN_CH26 |
+Channel #26 gain. | +
GAIN_CH27 |
+Channel #27 gain. | +
GAIN_CH28 |
+Channel #28 gain. | +
GAIN_CH29 |
+Channel #29 gain. | +
GAIN_CH30 |
+Channel #30 gain. | +
GAIN_CH31 |
+Channel #31 gain. | +
OUTPUT_CH0 |
+Output channel for Input channel #0 | +
OUTPUT_CH1 |
+Output channel for Input channel #1 | +
OUTPUT_CH2 |
+Output channel for Input channel #2 | +
OUTPUT_CH3 |
+Output channel for Input channel #3 | +
OUTPUT_CH4 |
+Output channel for Input channel #4 | +
OUTPUT_CH5 |
+Output channel for Input channel #5 | +
OUTPUT_CH6 |
+Output channel for Input channel #6 | +
OUTPUT_CH7 |
+Output channel for Input channel #7 | +
OUTPUT_CH8 |
+Output channel for Input channel #8 | +
OUTPUT_CH9 |
+Output channel for Input channel #9 | +
OUTPUT_CH10 |
+Output channel for Input channel #10 | +
OUTPUT_CH11 |
+Output channel for Input channel #11 | +
OUTPUT_CH12 |
+Output channel for Input channel #12 | +
OUTPUT_CH13 |
+Output channel for Input channel #13 | +
OUTPUT_CH14 |
+Output channel for Input channel #14 | +
OUTPUT_CH15 |
+Output channel for Input channel #15 | +
OUTPUT_CH16 |
+Output channel for Input channel #16 | +
OUTPUT_CH17 |
+Output channel for Input channel #17 | +
OUTPUT_CH18 |
+Output channel for Input channel #18 | +
OUTPUT_CH19 |
+Output channel for Input channel #19 | +
OUTPUT_CH20 |
+Output channel for Input channel #20 | +
OUTPUT_CH21 |
+Output channel for Input channel #21 | +
OUTPUT_CH22 |
+Output channel for Input channel #22 | +
OUTPUT_CH23 |
+Output channel for Input channel #23 | +
OUTPUT_CH24 |
+Output channel for Input channel #24 | +
OUTPUT_CH25 |
+Output channel for Input channel #25 | +
OUTPUT_CH26 |
+Output channel for Input channel #26 | +
OUTPUT_CH27 |
+Output channel for Input channel #27 | +
OUTPUT_CH28 |
+Output channel for Input channel #28 | +
OUTPUT_CH29 |
+Output channel for Input channel #29 | +
OUTPUT_CH30 |
+Output channel for Input channel #30 | +
OUTPUT_CH31 |
+Output channel for Input channel #31 | +
++FMOD Constant: FMOD_DSP_TRANSCEIVER_SPEAKERMODE
+
This enum specifies speaker mode values for Transceiver DSP.
+The speaker mode of a transceiver buffer (of which there are up to 32 of) is determined automatically depending on the signal flowing through the transceiver effect, or it can be forced. Use a smaller fixed speaker mode buffer to save memory. Only relevant for transmitter dsps, as they control the format of the transceiver channel's buffer.
+If multiple transceivers transmit to a single buffer in different speaker modes, it will allocate memory for each speaker mode. This uses more memory than a single speaker mode. If there are multiple receivers reading from a channel with multiple speaker modes, it will read them all and mix them together.
+If the system's speaker mode is stereo or mono, it will not create a 3rd buffer, it will just use the mono/stereo speaker mode buffer.
+| Member | +Description | +
|---|---|
AUTO |
+A transmitter will use whatever signal channel count coming in to the transmitter, to determine which speaker mode is allocated for the transceiver channel. | +
MONO |
+A transmitter will always downmix to a mono channel buffer. | +
STEREO |
+A transmitter will always upmix or downmix to a stereo channel buffer. | +
SURROUND |
+A transmitter will always upmix or downmix to a surround channel buffer. Surround is the speaker mode of the system above stereo, so could be quad/surround/5.1/7.1. | +
++FMOD Constant: FMOD_DSP_TRANSCEIVER
+
This enum specifies transceiver DSP parameter types.
+| Member | +Description | +
|---|---|
TRANSMIT |
+false = Transceiver is a 'receiver' (like a return) and accepts data from a channel. true = Transceiver is a 'transmitter' (like a send). |
+
GAIN |
+Gain to receive or transmit. | +
CHANNEL |
+Global slot that can be transmitted to or received from. | +
TRANSMITSPEAKERMODE |
+Speaker mode (transmitter mode only). (FMOD_DSP_TRANSCEIVER_SPEAKERMODE) | +
++FMOD Constant: FMOD_DSP_OBJECTPAN
+
This enum specifies object based spatializer parameters.
+Signal processed by this DSP will be sent to the global object mixer (effectively a send), any DSP connected after this will receive silence.
+For best results this DSP should be used with FMOD_OUTPUTTYPE.WINSONIC or FMOD_OUTPUTTYPE.AUDIO3D to get height spatialization. Playback with any other output will result in fallback spatialization provided by FMOD_DSP_TYPE.PAN.
FMOD_DSP_OBJECTPAN.OVERRIDE_RANGE defaults to true for backwards compatibility.
| Member | +Description | +
|---|---|
_3D_POSITION |
+3D Position. | +
_3D_ROLLOFF |
+3D Roll-off Type. | +
_3D_MIN_DISTANCE |
+3D Min Distance when FMOD_DSP_OBJECTPAN.OVERRIDE_RANGE is true. |
+
_3D_MAX_DISTANCE |
+3D Max Distance when FMOD_DSP_OBJECTPAN.OVERRIDE_RANGE is true. |
+
_3D_EXTENT_MODE |
+3D Extent Mode. | +
_3D_SOUND_SIZE |
+3D Sound Size. | +
_3D_MIN_EXTENT |
+3D Min Extent. | +
OVERALL_GAIN |
+Overall gain to allow FMOD to know the DSP is scaling the signal for virtualization purposes. | +
OUTPUTGAIN |
+Output gain level. | +
ATTENUATION_RANGE |
+Attenuation Range when FMOD_DSP_OBJECTPAN.OVERRIDE_RANGE is false. |
+
OVERRIDE_RANGE |
+Override Attenuation Range with FMOD_DSP_OBJECTPAN._3D_MIN_DISTANCE and FMOD_DSP_OBJECTPAN._3D_MAX_DISTANCE. |
+
++FMOD Constant: FMOD_OUTPUT_METHOD
+
This enum specifies the output method used to interact with the mixer.
+For hardware that presents a callback that must be filled immediately FMOD_OUTPUT_METHOD.MIX_BUFFERED is recommended as buffering occurs in a separate thread, reading from the mixer is simply a memcpy. Using FMOD_OUTPUT_METHOD_MIX.DIRECT is recommended if you want to take direct control of how and when the mixer runs.
| Member | +Description | +
|---|---|
MIX_DIRECT |
+Mixer will execute directly when calling FMOD_OUTPUT_READFROMMIXER_FUNC, buffering must be performed by plugin code. |
+
MIX_BUFFERED |
+Mixer will execute and buffer automatically (on a separate thread) and can be read from with FMOD_OUTPUT_READFROMMIXER_FUNC. |
+
++FMOD Constant: FMOD_STUDIO_LOAD_MEMORY_ALIGNMENT
+
This macro holds the required memory alignment of banks in user memory.
+++FMOD Constant: FMOD_STUDIO_INITFLAGS
+
This enum specifies FMOD Studio System initialization flags.
+These constants are referenced by the following functions:
+ +| Member | +Description | +
|---|---|
NORMAL |
+Use defaults for all initialization options. | +
LIVEUPDATE |
+Enable live update. | +
ALLOW_MISSING_PLUGINS |
+Load banks even if they reference plugins that have not been loaded. | +
SYNCHRONOUS_UPDATE |
+Disable asynchronous processing and perform all processing on the calling thread instead. | +
DEFERRED_CALLBACKS |
+Defer timeline callbacks until the main update. See fmod_studio_event_instance_set_callback for more information. | +
LOAD_FROM_UPDATE |
+No additional threads are created for bank and resource loading. Loading is driven from fmod_studio_system_update. | +
MEMORY_TRACKING |
+Enables detailed memory usage statistics. Increases memory footprint and impacts performance. See fmod_studio_bus_get_memory_usage and fmod_studio_event_instance_get_memory_usage for more information. Implies FMOD_INIT.MEMORY_TRACKING. |
+
++FMOD Constant: FMOD_STUDIO_PARAMETER_FLAGS
+
This enum specifies flags describing the behavior of a parameter.
+These constants are referenced by the following structs:
+ +| Member | +Description | +
|---|---|
READONLY |
+Read-only. | +
AUTOMATIC |
+Automatic parameter. | +
GLOBAL |
+Global parameter. | +
DISCRETE |
+Discrete parameter that operates on integers (whole numbers) rather than continuous fractional numbers. | +
LABELED |
+Labeled discrete parameter that has a label for each integer value. This flag will never be set in banks built with FMOD Studio versions prior to 2.01.10. If this flag is set, FMOD_STUDIO_PARAMETER_FLAGS.DISCRETE will also be set. |
+
++FMOD Constant: FMOD_STUDIO_SYSTEM_CALLBACK_TYPE
+
This enum specifies the callback types for the Studio System callback.
+Callbacks are called from the Studio Update Thread in default / async mode and the main (calling) thread in synchronous mode.
+These constants are referenced by the following functions:
+ +| Member | +Description | +
|---|---|
PREUPDATE |
+Called at the start of the main Studio update. For async mode this will be on its own thread. | +
POSTUPDATE |
+Called at the end of the main Studio update. For async mode this will be on its own thread. | +
BANK_UNLOAD |
+Called directly when bank has just been unloaded, after all resources are freed. The commanddata argument will be the bank handle. | +
LIVEUPDATE_CONNECTED |
+Called after a live update connection has been established. | +
LIVEUPDATE_DISCONNECTED |
+Called after live update session disconnects. | +
ALL |
+Pass this mask to fmod_studio_system_set_callback to receive all callback types. | +
++FMOD Constant: FMOD_STUDIO_EVENT_CALLBACK_TYPE
+
This enum specifies the FMOD Studio event callback types.
+Callbacks are called from the Studio Update Thread in default / async mode and the main (calling) thread in synchronous mode.
+If using FMOD_STUDIO_INIT.DEFERRED_CALLBACKS, FMOD_STUDIO_EVENT_CALLBACK.TIMELINE_MARKER and FMOD_STUDIO_EVENT_CALLBACK.TIMELINE_BEAT are instead called from the main thread.
These constants are referenced by the following functions:
+ +| Member | +Description | +
|---|---|
CREATED |
+Called when an instance is fully created. Parameters = unused. | +
DESTROYED |
+Called when an instance is just about to be destroyed. Parameters = unused. | +
STARTING |
+fmod_studio_event_instance_start has been called on an event which was not already playing. The event will remain in this state until its sample data has been loaded. Parameters = unused. | +
STARTED |
+The event has commenced playing. Normally this callback will be issued immediately after FMOD_STUDIO_EVENT_CALLBACK.STARTING, but may be delayed until sample data has loaded. Parameters = unused. |
+
RESTARTED |
+fmod_studio_event_instance_start has been called on an event which was already playing. Parameters = unused. | +
STOPPED |
+The event has stopped. Parameters = unused. | +
START_FAILED |
+fmod_studio_event_instance_start has been called but the polyphony settings did not allow the event to start. In this case none of FMOD_STUDIO_EVENT_CALLBACK.STARTING, FMOD_STUDIO_EVENT_CALLBACK.STARTED and FMOD_STUDIO_EVENT_CALLBACK.STOPPED will be called. Parameters = unused. |
+
CREATE_PROGRAMMER_SOUND |
+A programmer sound is about to play. FMOD expects the callback to provide a Sound object for it to use. Parameters = FMOD_STUDIO_PROGRAMMER_SOUND_PROPERTIES. |
+
DESTROY_PROGRAMMER_SOUND |
+A programmer sound has stopped playing. At this point it is safe to release the Sound object that was used. Parameters = FMOD_STUDIO_PROGRAMMER_SOUND_PROPERTIES. |
+
PLUGIN_CREATED |
+Called when a DSP plugin instance has just been created. Parameters = FMOD_STUDIO_PLUGIN_INSTANCE_PROPERTIES. |
+
PLUGIN_DESTROYED |
+Called when a DSP plugin instance is about to be destroyed. Parameters = FMOD_STUDIO_PLUGIN_INSTANCE_PROPERTIES. |
+
TIMELINE_MARKER |
+Called when the timeline passes a named marker. Parameters = FMOD_STUDIO_TIMELINE_MARKER_PROPERTIES. |
+
TIMELINE_BEAT |
+Called when the timeline hits a beat in a tempo section. Parameters = FMOD_STUDIO_TIMELINE_BEAT_PROPERTIES. |
+
SOUND_PLAYED |
+Called when the event plays a sound. Parameters = Sound. | +
SOUND_STOPPED |
+Called when the event finishes playing a sound. Parameters = Sound. | +
REAL_TO_VIRTUAL |
+Called when the event becomes virtual. Parameters = unused. | +
VIRTUAL_TO_REAL |
+Called when the event becomes real. Parameters = unused. | +
START_EVENT_COMMAND |
+Called when a new event is started by a start event command. Parameters = Studio::EventInstance. | +
NESTED_TIMELINE_BEAT |
+Called when the timeline hits a beat in a tempo section of a nested event. Parameters = FMOD_STUDIO_TIMELINE_NESTED_BEAT_PROPERTIES. |
+
ALL |
+Pass this mask to fmod_studio_event_description_set_callback or fmod_studio_event_instance_set_callback to receive all callback types. | +
++FMOD Constant: FMOD_STUDIO_LOAD_BANK
+
This enum specifies flags to control bank loading.
+These constants are referenced by the following functions:
+| Member | +Description | +
|---|---|
NORMAL |
+Standard behavior. | +
NONBLOCKING |
+Bank loading occurs asynchronously rather than occurring immediately. | +
DECOMPRESS_SAMPLES |
+Force samples to decompress into memory when they are loaded, rather than staying compressed. | +
UNENCRYPTED |
+Ignore the encryption key specified by fmod_studio_system_set_advanced_settings when loading sounds from this bank (assume the sounds in the bank are not encrypted). | +
++FMOD Constant: FMOD_STUDIO_COMMANDCAPTURE_FLAGS
+
This enum specifies flags controling command capture.
+These constants are referenced by the following functions:
+ +| Member | +Description | +
|---|---|
NORMAL |
+Use default options. | +
FILEFLUSH |
+Call file flush on every command. | +
SKIP_INITIAL_STATE |
+Normally the initial state of banks and instances is captured, unless this flag is set. | +
++FMOD Constant: FMOD_STUDIO_COMMANDREPLAY_FLAGS
+
This enum specifies flags controlling command replay.
+| Member | +Description | +
|---|---|
NORMAL |
+Use default options. | +
SKIP_CLEANUP |
+Do not free resources at the end of playback. | +
FAST_FORWARD |
+Play back at maximum speed, ignoring the timing of the original replay. | +
SKIP_BANK_LOAD |
+Skip commands related to bank loading. | +
++FMOD Constant: FMOD_STUDIO_LOADING_STATE
+
This enum specifies the loading state of various objects.
+These constants are referenced by the following functions:
+| Member | +Description | +
|---|---|
UNLOADING |
+Currently unloading. | +
UNLOADED |
+Not loaded. | +
LOADING |
+Loading in progress. | +
LOADED |
+Loaded and ready to play. | +
ERROR |
+Failed to load. | +
++FMOD Constant: FMOD_STUDIO_LOAD_MEMORY_MODE
+
This enum specifies how to use the memory buffer passed to fmod_studio_system_load_bank_memory.
+These constants are referenced by the following functions:
+ +| Member | +Description | +
|---|---|
MEMORY |
+Memory buffer is copied internally. | +
MEMORY_POINT |
+Memory buffer is used directly in user memory. | +
++FMOD Constant: FMOD_STUDIO_PARAMETER_TYPE
+
This enum specifies event parameter types.
+FMOD_STUDIO_PARAMETER_TYPE.GAME_CONTROLLED type parameters may have their values set using the API. All other parameter types have their values automatically set by FMOD Studio when the system is updated.
The horizontal angle between vectors is found by projecting both vectors onto a plane and taking the angle between the projected vectors. For FMOD_STUDIO_PARAMETER_TYPE.AUTOMATIC_EVENT_ORIENTATION and FMOD_STUDIO_PARAMETER_TYPE.AUTOMATIC_DIRECTION type parameters the vectors are projected onto the listener's XZ plane. For FMOD_STUDIO_PARAMETER_TYPE.AUTOMATIC_LISTENER_ORIENTATION type parameters the vectors are projected onto the global XZ plane.
These constants are referenced by the following structs:
+ +| Member | +Description | +
|---|---|
GAME_CONTROLLED |
+API settable parameter. | +
AUTOMATIC_DISTANCE |
+Distance between the event and the listener. | +
AUTOMATIC_EVENT_CONE_ANGLE |
+Angle between the event's forward vector and the vector pointing from the event to the listener (0 to 180 degrees). | +
AUTOMATIC_EVENT_ORIENTATION |
+Horizontal angle between the event's forward vector and listener's forward vector (-180 to 180 degrees). | +
AUTOMATIC_DIRECTION |
+Horizontal angle between the listener's forward vector and the vector pointing from the listener to the event (-180 to 180 degrees). | +
AUTOMATIC_ELEVATION |
+Angle between the listener's XZ plane and the vector pointing from the listener to the event (-90 to 90 degrees). | +
AUTOMATIC_LISTENER_ORIENTATION |
+Horizontal angle between the listener's forward vector and the global positive Z axis (-180 to 180 degrees). | +
AUTOMATIC_SPEED |
+Magnitude of the relative velocity of the event and the listener. | +
AUTOMATIC_SPEED_ABSOLUTE |
+Magnitude of the absolute velocity of the event. | +
AUTOMATIC_DISTANCE_NORMALIZED |
+Distance between the event and the listener in the range min distance - max distance represented as 0 - 1. | +
++FMOD Constant: FMOD_STUDIO_USER_PROPERTY_TYPE
+
This enum specifies user property types.
+These constants are referenced by the following structs:
+ +| Member | +Description | +
|---|---|
INTEGER |
+Integer. | +
BOOLEAN |
+Boolean. | +
FLOAT |
+Floating point number. | +
STRING |
+String. | +
++FMOD Constant: FMOD_STUDIO_EVENT_PROPERTY
+
This enum holds the definitions that describe built-in event properties.
+A property that returns a value of -1 from fmod_studio_event_instance_get_property means it will use the values set in Studio, use fmod_studio_event_instance_set_property to override these values. You can revert the properties value to default by setting it to -1.
+These constants are referenced by the following functions:
+ +| Member | +Description | +
|---|---|
CHANNELPRIORITY |
+Priority to set on Core API Channels created by this event instance, or -1 for default. | +
SCHEDULE_DELAY |
+Schedule delay in DSP clocks, or -1 for default. | +
SCHEDULE_LOOKAHEAD |
+Schedule look-ahead on the timeline in DSP clocks, or -1 for default. | +
MINIMUM_DISTANCE |
+Override the event's 3D minimum distance, or -1 for default. | +
MAXIMUM_DISTANCE |
+Override the event's 3D maximum distance, or -1 for default. | +
COOLDOWN |
+Override the event's cooldown, or -1 for default. | +
++FMOD Constant: FMOD_STUDIO_PLAYBACK_STATE
+
This enum specifies the playback state of various objects.
+These constants are referenced by the following functions:
+ +| Member | +Description | +
|---|---|
PLAYING |
+Playing. | +
SUSTAINING |
+The timeline cursor is paused on a sustain point. (Studio::EventInstance only.) | +
STOPPED |
+Stopped. | +
STARTING |
+Preparing to start. | +
STOPPING |
+Preparing to stop. | +
++FMOD Constant: FMOD_STUDIO_STOP_MODE
+
This enum specifies stop modes.
+These constants are referenced by the following functions:
+ +| Member | +Description | +
|---|---|
ALLOWFADEOUT |
+Allows AHDSR modulators to complete their release, and DSP effect tails to play out. | +
IMMEDIATE |
+Stops the event instance immediately. | +
++FMOD Constant: FMOD_STUDIO_INSTANCETYPE
+
This enum specifies command replay command instance handle types.
+These constants are referenced by the following structs:
+ +| Member | +Description | +
|---|---|
NONE |
+No type, handle is unused. | +
SYSTEM |
+Studio::System. | +
EVENTDESCRIPTION |
+Studio::EventDescription. | +
EVENTINSTANCE |
+Studio::EventInstance. | +
PARAMETERINSTANCE |
+[Studio::ParameterInstance]. | +
BUS |
+Studio::Bus. | +
VCA |
+Studio::VCA. | +
BANK |
+Studio::Bank. | +
COMMANDREPLAY |
+Studio::CommandReplay. | +
++FMOD Object: DSPConnection
+
This module holds the functionality related to Digital Signal Processor (DSP) Connections.
+See the DSP Architecture Guide for more information.
+This module offers a collection of functions designed to address specific tasks and provide utilities for various purposes. Explore the available functions to make the most of the functionalities provided by this module.
+++FMOD Function: DSPConnection::setMix
+
This function sets the connection's volume scale.
+Syntax:
++++fmod_dsp_connection_set_mix(dsp_connection_ref, volume)
| Argument | +Type | +Description | +
|---|---|---|
| dsp_connection_ref | +Real | +A reference to a DSPConnection. | +
| volume | +Real | +The volume scale applied to the input before being passed to the output. 0 = silent, 1 = full. Negative level inverts the signal. Values larger than 1 amplify the signal. | +
Returns:
+++N/A
+
++FMOD Function: DSPConnection::getMix
+
This function retrieves the connection's volume scale.
+The function returns the volume scale applied to the input before being passed to the output. 0 = silent, 1 = full. Negative level inverts the signal. Values larger than 1 amplify the signal.
+Syntax:
++++fmod_dsp_connection_get_mix(dsp_connection_ref)
| Argument | +Type | +Description | +
|---|---|---|
| dsp_connection_ref | +Real | +A reference to a DSPConnection. | +
Returns:
++ ++
++FMOD Function: DSPConnection::setMixMatrix
+
This function sets a 2 dimensional pan matrix that maps the signal from input channels (columns) to output speakers (rows).
+A matrix element is referenced from the incoming matrix data as out_channel * in_channel_hop + in_channel.
If 0 or equivalent is passed in via matrix a default upmix, downmix, or unit matrix will take its place. A unit matrix allows a signal to pass through unchanged.
Example 5.1 unit matrix:
+1 0 0 0 0 0
+0 1 0 0 0 0
+0 0 1 0 0 0
+0 0 0 1 0 0
+0 0 0 0 1 0
+0 0 0 0 0 1
+Note
+Matrix element values can be below 0 to invert a signal and above 1 to amplify the signal. Note that increasing the signal level too far may cause audible distortion.
+Syntax:
++++fmod_dsp_connection_set_mix_matrix(dsp_connection_ref, matrix, out_channels, in_channels, in_channel_hop)
| Argument | +Type | +Description | +
|---|---|---|
| dsp_connection_ref | +Real | +A reference to a DSPConnection. | +
| matrix | +Array of Real | +A two-dimensional array of volume levels in row-major order. Each row represents an output speaker, each column represents an input channel. 0 or equivalent sets a 'default' matrix. | +
| out_channels | +Real | +The number of output channels (rows) in matrix. A value in the range [0, FMOD_MAX_CHANNEL_WIDTH]; |
+
| in_channels | +Real | +The number of input channels (columns) in matrix. A value in the range [0, FMOD_MAX_CHANNEL_WIDTH]; |
+
| in_channel_hop | +Real | +OPTIONAL The width (total number of columns) of source matrix. Can be larger than in_channels to represent a smaller valid region inside a larger matrix. A value in the range [0, FMOD_MAX_CHANNEL_WIDTH]. Defaults to in_channels. |
+
Returns:
+++N/A
+
++FMOD Function: DSPConnection::getMixMatrix
+
This function retrieves a 2 dimensional pan matrix that maps the signal from input channels (columns) to output speakers (rows).
+A matrix element is referenced from the incoming matrix data as out_channel * in_channel_hop + in_channel.
Syntax:
++++fmod_dsp_connection_get_mix_matrix(dsp_connection_ref, in_channel_hop)
| Argument | +Type | +Description | +
|---|---|---|
| dsp_connection_ref | +Real | +A reference to a DSPConnection. | +
| in_channel_hop | +Real | +The width (total number of columns) of the destination matrix. Can be larger than in_channels to represent a smaller valid region inside a larger matrix. |
+
Returns:
++ ++
++FMOD Function: DSPConnection::getInput
+
This function retrieves the connection's input DSP unit.
+If fmod_dsp_add_input was just called, the connection might not be ready because the DSP system is still queued to be connected, and may need to wait several milliseconds for the next mix to occur. If so fmod_last_result will return FMOD_RESULT.ERR_NOTREADY and the value 0 will be returned.
Syntax:
++++fmod_dsp_connection_get_input(dsp_connection_ref)
| Argument | +Type | +Description | +
|---|---|---|
| dsp_connection_ref | +Real | +A reference to a DSPConnection. | +
Returns:
++ ++
++FMOD Function: DSPConnection::getOutput
+
This function retrieves the connection's output DSP unit.
+If fmod_dsp_add_input was just called, the connection might not be ready because the DSP system is still queued to be connected, and may need to wait several milliseconds for the next mix to occur. If so the function will return FMOD_RESULT.ERR_NOTREADY and the value 0 will be returned.
Syntax:
++++fmod_dsp_connection_get_output(dsp_connection_ref)
| Argument | +Type | +Description | +
|---|---|---|
| dsp_connection_ref | +Real | +A reference to a DSPConnection. | +
Returns:
++ ++
++FMOD Function: DSPConnection::getType
+
This function retrieves the type of DSP connection between 2 DSP units.
+Syntax:
++++fmod_dsp_connection_get_type(dsp_connection_ref)
| Argument | +Type | +Description | +
|---|---|---|
| dsp_connection_ref | +Real | +A reference to a DSPConnection. | +
Returns:
++ ++
++FMOD Function: DSPConnection::setUserData
+
This function sets a floating-point user value associated with this object.
+Note
+While FMOD supports arbitrary User Data, this function only allows you to set a real value (a double-precision floating-point value).
+Syntax:
++++fmod_dsp_connection_set_user_data(dsp_connection_ref, data)
| Argument | +Type | +Description | +
|---|---|---|
| dsp_connection_ref | +Real | +A reference to a DSPConnection. | +
| data | +Real | +The floating-point value to set. | +
Returns:
+++N/A
+
++FMOD Function: DSPConnection::getUserData
+
This function retrieves the floating-point user value associated with this object, as set by an earlier call to fmod_dsp_connection_set_user_data.
+Note
+While FMOD supports arbitrary User Data, this function only allows you to get a real value (a double-precision floating-point value).
+Syntax:
++++fmod_dsp_connection_get_user_data(dsp_connection_ref)
| Argument | +Type | +Description | +
|---|---|---|
| dsp_connection_ref | +Real | +A reference to a DSPConnection. | +
Returns:
++ ++
++FMOD Object: Studio::EventDescription
+
This module holds functionality related to descriptions of FMOD Studio Events.
+Event descriptions belong to banks and can be queried after the relevant bank has been loaded. Event descriptions may be retrieved via path or GUID lookup, or by enumerating all descriptions in a bank.
+This module offers a collection of functions designed to address specific tasks and provide utilities for various purposes. Explore the available functions to make the most of the functionalities provided by this module.
+++FMOD Function: Studio::EventDescription::createInstance
+
This function creates a playable instance, returning a handle to the new EventInstance object.
+When an event instance is created, any required non-streaming sample data is loaded asynchronously.
+Use fmod_studio_event_description_get_sample_loading_state to check the loading status.
+Sample data can be loaded ahead of time with fmod_studio_event_description_load_sample_data or fmod_studio_bank_load_sample_data. See Sample Data Loading for more information.
+Syntax:
++++fmod_studio_event_description_create_instance(event_description_ref)
| Argument | +Type | +Description | +
|---|---|---|
| event_description_ref | +Real | +A reference to an EventDescription. | +
Returns:
++ ++
++FMOD Function: Studio::EventDescription::getInstanceCount
+
This function retrieves the number of instances in the EventDescription.
+May be used in conjunction with fmod_studio_event_description_get_instance_list to enumerate the instances of this event.
+Syntax:
++++fmod_studio_event_description_get_instance_count(event_description_ref)
| Argument | +Type | +Description | +
|---|---|---|
| event_description_ref | +Real | +A reference to an EventDescription. | +
Returns:
++ ++
++FMOD Function: Studio::EventDescription::getInstanceList
+
This function retrieves an array containing the instances in the given EventDescription.
+May be used in conjunction with fmod_studio_event_description_get_instance_count to enumerate the instances of this event.
+Syntax:
++++fmod_studio_event_description_get_instance_list(event_descriptor_ref)
| Argument | +Type | +Description | +
|---|---|---|
| event_descriptor_ref | +Real | +A reference to an EventDescription. | +
Returns:
++ ++
++FMOD Function: Studio::EventDescription::releaseAllInstances
+
This function immediately stops and releases all instances of the event.
+Syntax:
++++fmod_studio_event_description_release_all_instances(event_description_ref)
| Argument | +Type | +Description | +
|---|---|---|
| event_description_ref | +Real | +A reference to an EventDescription. | +
Returns:
+++N/A
+
++FMOD Function: Studio::EventDescription::loadSampleData
+
This function will load all non-streaming sample data required by the event and any referenced events.
+Sample data is loaded asynchronously, fmod_studio_event_description_get_sample_loading_state may be used to poll the loading state.
+Syntax:
++++fmod_studio_event_description_load_sample_data(event_description_ref)
| Argument | +Type | +Description | +
|---|---|---|
| event_description_ref | +Real | +A reference to an EventDescription. | +
Returns:
+++N/A
+
++FMOD Function: Studio::EventDescription::unloadSampleData
+
This function unloads all non-streaming sample data.
+Sample data will not be unloaded until all instances of the event are released.
+Syntax:
++++fmod_studio_event_description_unload_sample_data(event_description_ref)
| Argument | +Type | +Description | +
|---|---|---|
| event_description_ref | +Real | +A reference to an EventDescription. | +
Returns:
+++N/A
+
++FMOD Function: Studio::EventDescription::getSampleLoadingState
+
This function retrieves the sample data loading state.
+If the event is invalid, then the state is set to FMOD_STUDIO_LOADING_STATE.UNLOADED and this results in FMOD_RESULT.ERR_INVALID_HANDLE (in the next fmod_last_result call).
Syntax:
++++fmod_studio_event_description_get_sample_loading_state(event_description_ref)
| Argument | +Type | +Description | +
|---|---|---|
| event_description_ref | +Real | +A reference to an EventDescription. | +
Returns:
++ ++
++FMOD Function: Studio::EventDescription::is3D
+
This function retrieves the event's 3D status. For more info, see Studio::EventDescription::is3D.
+This will return true if the event is 3D and false if not.
Syntax:
++++fmod_studio_event_description_is_3d(event_description_ref)
| Argument | +Type | +Description | +
|---|---|---|
| event_description_ref | +Real | +A reference to an EventDescription. | +
Returns:
++ ++
++FMOD Function: Studio::EventDescription::isDopplerEnabled
+
This function retrieves the event's doppler status.
+This will return true if doppler is enabled, and false if not.
Note: If the event was built to a bank using versions of FMOD Studio prior to 2.01.09, then this function will return false regardless of the event's doppler state.
+Syntax:
++++fmod_studio_event_description_is_doppler_enabled(event_description_ref)
| Argument | +Type | +Description | +
|---|---|---|
| event_description_ref | +Real | +A reference to an EventDescription. | +
Returns:
++ ++
++FMOD Function: Studio::EventDescription::isOneshot
+
This function retrieves the event's oneshot status.
+This will return true if the event is a oneshot event, and false if not.
An event is considered oneshot if it is guaranteed to terminate without intervention in bounded time after being started. Instances of such events can be played in a fire-and-forget fashion by calling fmod_studio_event_instance_start immediately followed by fmod_studio_event_instance_release.
+Note: If the event contains nested events built to separate banks and those banks have not been loaded then this function may fail to correctly determine the event's oneshot status.
+Syntax:
++++fmod_studio_event_description_is_oneshot(event_description_ref)
| Argument | +Type | +Description | +
|---|---|---|
| event_description_ref | +Real | +A reference to an EventDescription. | +
Returns:
++ ++
++FMOD Function: Studio::EventDescription::isSnapshot
+
This function retrieves the event's snapshot status.
+This will return true if the event is a snapshot and false if not.
Syntax:
++++fmod_studio_event_description_is_snapshot(event_description_ref)
| Argument | +Type | +Description | +
|---|---|---|
| event_description_ref | +Real | +A reference to an EventDescription. | +
Returns:
++ ++
++FMOD Function: Studio::EventDescription::isStream
+
This function retrieves the event's stream status, returning true if the event contains one or more streamed sounds, otherwise false.
Note: If the event contains nested events built to separate banks and those banks have not been loaded then this function may fail to correctly determine the event's stream status.
+Syntax:
++++fmod_studio_event_description_is_stream(event_description_ref)
| Argument | +Type | +Description | +
|---|---|---|
| event_description_ref | +Real | +A reference to an EventDescription. | +
Returns:
++ ++
++FMOD Function: Studio::EventDescription::hasSustainPoint
+
This function retrieves whether the event has any sustain points (true or false).
Syntax:
++++fmod_studio_event_description_has_sustain_point(event_description_ref)
| Argument | +Type | +Description | +
|---|---|---|
| event_description_ref | +Real | +A reference to an EventDescription. | +
Returns:
++ ++
++FMOD Function: Studio::EventDescription::getMinMaxDistance
+
This function retrieves the minimum and maximum distances for 3D attenuation, as a struct.
+Syntax:
++++fmod_studio_event_description_get_min_max_distance(event_description_ref)
| Argument | +Type | +Description | +
|---|---|---|
| event_description_ref | +Real | +A reference to an EventDescription. | +
Returns:
++ ++
++FMOD Function: Studio::EventDescription::getSoundSize
+
This function retrieves the sound size for 3D panning.
+Retrieves the largest Sound Size value of all Spatializers and 3D Object Spatializers on the event's master track. Returns 0 if there are no Spatializers or 3D Object Spatializers.
+Syntax:
++++fmod_studio_event_description_get_sound_size(event_description_ref)
| Argument | +Type | +Description | +
|---|---|---|
| event_description_ref | +Real | +A reference to an EventDescription. | +
Returns:
++ ++
++FMOD Function: Studio::EventDescription::getParameterDescriptionByName
+
This function retrieves an event parameter description by name.
+Syntax:
++++fmod_studio_event_description_get_parameter_description_by_name(event_descriptor_ref, name)
| Argument | +Type | +Description | +
|---|---|---|
| event_descriptor_ref | +Real | +A reference to an EventDescription. | +
| name | +String | +Parameter name (case-insensitive, UTF-8 string). | +
Returns:
++ ++
++FMOD Function: Studio::EventDescription::getParameterDescriptionByID
+
This function retrieves an event parameter description by ID.
+Syntax:
++++fmod_studio_event_description_get_parameter_description_by_id(event_descriptor_ref, parameter_id)
| Argument | +Type | +Description | +
|---|---|---|
| event_descriptor_ref | +Real | +A reference to an EventDescription. | +
| parameter_id | +FmodStudioParameterId | +The parameter ID struct. | +
Returns:
++ ++
++FMOD Function: Studio::EventDescription::getParameterDescriptionByIndex
+
This function retrieves an event parameter description by index.
+May be used in combination with fmod_studio_event_description_get_parameter_description_count to enumerate event parameters.
+Syntax:
++++fmod_studio_event_description_get_parameter_description_by_index(event_descriptor_ref, parameter_index)
| Argument | +Type | +Description | +
|---|---|---|
| event_descriptor_ref | +Real | +A reference to an EventDescription. | +
| parameter_index | +Real | +The parameter index. | +
Returns:
++ ++
++FMOD Function: Studio::EventDescription::getParameterDescriptionCount
+
This function retrieves the number of parameters in the event.
+May be used in conjunction with fmod_studio_event_description_get_parameter_description_by_index to enumerate event parameters.
+Syntax:
++++fmod_studio_event_description_get_parameter_description_count(event_description_ref)
| Argument | +Type | +Description | +
|---|---|---|
| event_description_ref | +Real | +A reference to an EventDescription. | +
Returns:
++ ++
++FMOD Function: Studio::EventDescription::getParameterLabelByName
+
This function retrieves an event parameter label by name or path.
+name can be the short name (such as 'Wind') or the full path (such as 'parameter:/Ambience/Wind'). Path lookups will only succeed if the strings bank has been loaded.
Syntax:
++++fmod_studio_event_description_get_parameter_label_by_name(event_description_ref, name, label_index)
| Argument | +Type | +Description | +
|---|---|---|
| event_description_ref | +Real | +A reference to an EventDescription. | +
| name | +String | +Parameter name (UTF-8 string). | +
| label_index | +Real | +Label index to retrieve. | +
Returns:
++ ++
++FMOD Function: Studio::EventDescription::getParameterLabelByID
+
This function retrieves an event parameter label by ID.
+Syntax:
++++fmod_studio_event_description_get_parameter_label_by_id(event_descriptor_ref, parameter_id, label_index)
| Argument | +Type | +Description | +
|---|---|---|
| event_descriptor_ref | +Real | +A reference to an EventDescription. | +
| parameter_id | +FmodStudioParameterId | +The parameter ID struct. | +
| label_index | +Real | +The label index to retrieve. | +
Returns:
++ ++
++FMOD Function: Studio::EventDescription::getParameterLabelByIndex
+
This function retrieves an event parameter label by index.
+May be used in combination with fmod_studio_event_description_get_parameter_description_count to enumerate event parameters.
+Syntax:
++++fmod_studio_event_description_get_parameter_label_by_index(event_description_ref, index, label_index)
| Argument | +Type | +Description | +
|---|---|---|
| event_description_ref | +Real | +A reference to an EventDescription. | +
| index | +Real | +The parameter index. | +
| label_index | +Real | +The label index to retrieve. | +
Returns:
++ ++
++FMOD Function: Studio::EventDescription::getUserProperty
+
This function retrieves a user property by name.
+Syntax:
++++fmod_studio_event_description_get_user_property(event_description_ref, name)
| Argument | +Type | +Description | +
|---|---|---|
| event_description_ref | +Real | +A reference to an EventDescription. | +
| name | +String | +The user property name (UTF-8 string). | +
Returns:
++ ++
++FMOD Function: Studio::EventDescription::getUserPropertyByIndex
+
This function retrieves a user property by index.
+May be used in combination with fmod_studio_event_description_get_user_property_count to enumerate event user properties.
+Syntax:
++++fmod_studio_event_description_get_user_property_by_index(event_description_ref, index)
| Argument | +Type | +Description | +
|---|---|---|
| event_description_ref | +Real | +A reference to an EventDescription. | +
| index | +Real | +The user property index. | +
Returns:
++ ++
++FMOD Function: Studio::EventDescription::getUserPropertyCount
+
This function retrieves the number of user properties attached to the event.
+May be used in combination with fmod_studio_event_description_get_user_property_by_index to enumerate event user properties.
+Syntax:
++++fmod_studio_event_description_get_user_property_count(event_description_ref)
| Argument | +Type | +Description | +
|---|---|---|
| event_description_ref | +Real | +A reference to an EventDescription. | +
Returns:
++ ++
++FMOD Function: Studio::EventDescription::getID
+
This function retrieves the GUID of the EventDescription.
+Syntax:
++++fmod_studio_event_description_get_id(event_description_ref)
| Argument | +Type | +Description | +
|---|---|---|
| event_description_ref | +Real | +A reference to an EventDescription. | +
Returns:
++ ++
++FMOD Function: Studio::EventDescription::getLength
+
This function retrieves the length of the timeline in milliseconds.
+A timeline's length is the largest of any logic markers, transition leadouts and the end of any trigger boxes on the timeline.
+Syntax:
++++fmod_studio_event_description_get_length(event_description_ref)
| Argument | +Type | +Description | +
|---|---|---|
| event_description_ref | +Real | +A reference to an EventDescription. | +
Returns:
++ ++
++FMOD Function: Studio::EventDescription::getPath
+
This function retrieves the path of the EventDescription.
+The strings bank must be loaded prior to calling this function, otherwise FMOD_RESULT.ERR_EVENT_NOTFOUND is returned in the next call to fmod_last_result.
Syntax:
++++fmod_studio_event_description_get_path(event_description_ref)
| Argument | +Type | +Description | +
|---|---|---|
| event_description_ref | +Real | +A reference to an EventDescription. | +
Returns:
++ ++
++FMOD Function: Studio::EventDescription::setCallback
+
This function enables a user callback which will be assigned to all event instances subsequently created from the event. The callback for individual instances can be set with fmod_studio_event_instance_set_callback.
+This callback is triggered as an Async Social event.
+This function operates asynchronously, which means that it does not immediately return the requested result. Instead, upon completion of the task, it will trigger the Social Async Event.
+Syntax:
++++fmod_studio_event_description_set_callback(event_description_ref, type)
| Argument | +Type | +Description | +
|---|---|---|
| event_description_ref | +Real | +A reference to an EventDescription. | +
| type | +FMOD_STUDIO_EVENT_CALLBACK | +The bitfield specifying which callback types are required. | +
Returns:
+++N/A
+
Triggers:
++ ++
| Key | +Type | +Description | +
|---|---|---|
| type | +String | +The value "fmod_studio_event_description_set_callback" |
+
| kind | +FMOD_STUDIO_EVENT_CALLBACK | +The callback type passed into the original function. | +
| event_instance_ref | +Real | +Handle of the EventInstance that has changed state. | +
| name | +String | +Valid when kind=FMOD_STUDIO_EVENT_CALLBACK.CREATE_PROGRAMMER_SOUND or FMOD_STUDIO_EVENT_CALLBACK.DESTROY_PROGRAMMER_SOUND or FMOD_STUDIO_EVENT_CALLBACK.TIMELINE_MARKER |
+
| sub_sound_index | +Real | +Valid when kind=FMOD_STUDIO_EVENT_CALLBACK.CREATE_PROGRAMMER_SOUND or FMOD_STUDIO_EVENT_CALLBACK.DESTROY_PROGRAMMER_SOUND |
+
| sound_ref | +Real | +Valid when kind=FMOD_STUDIO_EVENT_CALLBACK.CREATE_PROGRAMMER_SOUND or FMOD_STUDIO_EVENT_CALLBACK.DESTROY_PROGRAMMER_SOUND |
+
| position | +Real | +Valid when kind=FMOD_STUDIO_EVENT_CALLBACK.TIMELINE_MARKER or FMOD_STUDIO_EVENT_CALLBACK.TIMELINE_BEAT or FMOD_STUDIO_EVENT_CALLBACK.NESTED_TIMELINE_BEAT |
+
| bar | +Real | +Valid when kind=FMOD_STUDIO_EVENT.CALLBACK_TIMELINE_BEAT or FMOD_STUDIO_EVENT_CALLBACK.NESTED_TIMELINE_BEAT |
+
| beat | +Real | +Valid when kind=FMOD_STUDIO_EVENT.CALLBACK_TIMELINE_BEAT or FMOD_STUDIO_EVENT_CALLBACK.NESTED_TIMELINE_BEAT |
+
| tempo | +Real | +Valid when kind=FMOD_STUDIO_EVENT.CALLBACK_TIMELINE_BEAT or FMOD_STUDIO_EVENT_CALLBACK.NESTED_TIMELINE_BEAT |
+
| time_signature_lower | +Real | +Valid when kind=FMOD_STUDIO_EVENT.CALLBACK_TIMELINE_BEAT or FMOD_STUDIO_EVENT_CALLBACK.NESTED_TIMELINE_BEAT |
+
| time_signature_upper | +Real | +Valid when kind=FMOD_STUDIO_EVENT.CALLBACK_TIMELINE_BEAT or FMOD_STUDIO_EVENT_CALLBACK.NESTED_TIMELINE_BEAT |
+
| event_id | +Real | +Valid when kind=FMOD_STUDIO_EVENT_CALLBACK.NESTED_TIMELINE_BEAT |
+
++FMOD Function: Studio::EventDescription::setUserData
+
This allows a real value to be attached to this object. See User Data for an example of how to get and set user data.
+Syntax:
++++fmod_studio_event_description_set_user_data(event_description_ref, data)
| Argument | +Type | +Description | +
|---|---|---|
| event_description_ref | +Real | +A reference to an EventDescription. | +
| data | +Real | +The real value to attach. | +
Returns:
+++N/A
+
++FMOD Function: Studio::EventDescription::getUserData
+
This function retrieves the real value attached to the object in fmod_studio_event_description_set_user_data.
+Returns NaN when no attached value is found.
Syntax:
++++fmod_studio_event_description_get_user_data(event_description_ref)
| Argument | +Type | +Description | +
|---|---|---|
| event_description_ref | +Real | +A reference to an EventDescription. | +
Returns:
++ ++
++FMOD Function: Studio::EventDescription::isValid
+
This function checks that the EventDescription reference is valid.
+Syntax:
++++fmod_studio_event_description_is_valid(event_description_ref)
| Argument | +Type | +Description | +
|---|---|---|
| event_description_ref | +Real | +A reference to an EventDescription. | +
Returns:
++ ++
++FMOD Object: Studio::EventInstance
+
This module holds functionality related to instances of an FMOD Studio Event.
+This module offers a collection of functions designed to address specific tasks and provide utilities for various purposes. Explore the available functions to make the most of the functionalities provided by this module.
+++FMOD Function: Studio::EventInstance::start
+
This function starts playback.
+If the instance was already playing then calling this function will restart the event.
+Generally it is a best practice to call fmod_studio_event_instance_release on event instances immediately after starting them, unless you want to play the event instance multiple times or explicitly stop it and start it again later.
+Syntax:
++++fmod_studio_event_instance_start(event_instance_ref)
| Argument | +Type | +Description | +
|---|---|---|
| event_instance_ref | +Real | +A reference to an EventInstance. | +
Returns:
+++N/A
+
++FMOD Function: Studio::EventInstance::stop
+
This function stops playback.
+Syntax:
++++fmod_studio_event_instance_stop(event_instance_ref, mode)
| Argument | +Type | +Description | +
|---|---|---|
| event_instance_ref | +Real | +A reference to an EventInstance. | +
| mode | +FMOD_STUDIO_STOP_MODE | +The stop mode to use. | +
Returns:
+++N/A
+
++FMOD Function: Studio::EventInstance::getPlaybackState
+
This function retrieves the playback state of the EventInstance.
+If the instance is invalid, this will return FMOD_STUDIO_PLAYBACK_STATE.STOPPED.
Syntax:
++++fmod_studio_event_instance_get_playback_state(event_instance_ref)
| Argument | +Type | +Description | +
|---|---|---|
| event_instance_ref | +Real | +A reference to an EventInstance. | +
Returns:
++ ++
++FMOD Function: Studio::EventInstance::setPaused
+
This function sets the pause state of the EventInstance.
+Syntax:
++++fmod_studio_event_instance_set_paused(event_instance_ref, pause)
| Argument | +Type | +Description | +
|---|---|---|
| event_instance_ref | +Real | +A reference to an EventInstance. | +
| pause | +Real | +true to pause, false to unpause |
+
Returns:
+++N/A
+
++FMOD Function: Studio::EventInstance::getPaused
+
This function returns the pause state of the EventInstance (true if paused, otherwise false).
Syntax:
++++fmod_studio_event_instance_get_paused(event_instance_ref)
| Argument | +Type | +Description | +
|---|---|---|
| event_instance_ref | +Real | +A reference to an EventInstance. | +
Returns:
++ ++
++FMOD Function: Studio::EventInstance::keyOff
+
This function allows an event to continue past a sustain point.
+Multiple sustain points may be bypassed ahead of time and the key off count will be decremented each time the timeline cursor passes a sustain point.
+This results in FMOD_RESULT.ERR_EVENT_NOTFOUND (in the next call to fmod_last_result) if the event has no sustain points.
Syntax:
++++fmod_studio_event_instance_keyoff(event_instance_ref)
| Argument | +Type | +Description | +
|---|---|---|
| event_instance_ref | +Real | +A reference to an EventInstance. | +
Returns:
+++N/A
+
++FMOD Function: Studio::EventInstance::setPitch
+
This function sets the pitch multiplier.
+The pitch multiplier is used to modulate the event instance's pitch. The pitch multiplier can be set to any value greater than or equal to zero but the final combined pitch is clamped to the range [0, 100] before being applied.
+Syntax:
++++fmod_studio_event_instance_set_pitch(event_instance_ref, pitch)
| Argument | +Type | +Description | +
|---|---|---|
| event_instance_ref | +Real | +A reference to an EventInstance. | +
| pitch | +Real | +Pitch multiplier, range: (0, inf), default: 1 | +
Returns:
+++N/A
+
++FMOD Function: Studio::EventInstance::getPitch
+
This function retrieves the pitch multiplier assigned to the EventInstance.
+Syntax:
++++fmod_studio_event_instance_get_pitch(event_instance_ref)
| Argument | +Type | +Description | +
|---|---|---|
| event_instance_ref | +Real | +A reference to an EventInstance. | +
Returns:
++ ++
++FMOD Function: Studio::EventInstance::setProperty
+
This function sets the value of a built-in property.
+This will override the value set in Studio. Using the default FMOD_STUDIO_EVENT_PROPERTY value (e.g. -1) will revert back to the default values set in Studio.
+An FMOD spatializer or object spatializer may override the values set for FMOD_STUDIO_EVENT_PROPERTY.MINIMUM_DISTANCE and FMOD_STUDIO_EVENT_PROPERTY.MAXIMUM_DISTANCE.
Syntax:
++++fmod_studio_event_instance_set_property(event_instance_ref, property, value)
| Argument | +Type | +Description | +
|---|---|---|
| event_instance_ref | +Real | +A reference to an EventInstance. | +
| property | +FMOD_STUDIO_EVENT_PROPERTY | +Property type to set. | +
| value | +Real | +Property value to set. | +
Returns:
+++N/A
+
++FMOD Function: Studio::EventInstance::getProperty
+
This function retrieves the value of a built-in property.
+A default FMOD_STUDIO_EVENT_PROPERTY value means that the Instance is using the value set in Studio and it has not been overridden using fmod_studio_event_instance_set_property.
+Syntax:
++++fmod_studio_event_instance_get_property(event_instance_ref, property)
| Argument | +Type | +Description | +
|---|---|---|
| event_instance_ref | +Real | +A reference to an EventInstance. | +
| property | +FMOD_STUDIO_EVENT_PROPERTY | +Property type to get the value of. | +
Returns:
++ ++
++FMOD Function: Studio::EventInstance::setTimelinePosition
+
This function sets the timeline cursor position.
+Syntax:
++++fmod_studio_event_instance_set_timeline_position(event_instance_ref, position)
| Argument | +Type | +Description | +
|---|---|---|
| event_instance_ref | +Real | +A reference to an EventInstance. | +
| position | +Real | +The timeline position in milliseconds. | +
Returns:
+++N/A
+
++FMOD Function: Studio::EventInstance::getTimelinePosition
+
This function retrieves the timeline cursor position.
+Syntax:
++++fmod_studio_event_instance_get_timeline_position(event_instance_ref)
| Argument | +Type | +Description | +
|---|---|---|
| event_instance_ref | +Real | +A reference to an EventInstance. | +
Returns:
++ ++
++FMOD Function: Studio::EventInstance::setVolume
+
This function sets the volume level.
+This volume is applied as a scaling factor for the event volume. It does not override the volume level set in FMOD Studio, nor any internal volume automation or modulation.
+Syntax:
++++fmod_studio_event_instance_set_volume(event_instance_ref, volume)
| Argument | +Type | +Description | +
|---|---|---|
| event_instance_ref | +Real | +A reference to an EventInstance. | +
| volume | +Real | +Volume, Range: (0, inf), Default: 1 | +
Returns:
+++N/A
+
++FMOD Function: Studio::EventInstance::getVolume
+
This function retrieves the volume level.
+Syntax:
++++fmod_studio_event_instance_get_volume(event_instance_ref)
| Argument | +Type | +Description | +
|---|---|---|
| event_instance_ref | +Real | +A reference to an EventInstance. | +
Returns:
++ ++
++FMOD Function: Studio::EventInstance::isVirtual
+
This function checks whether an event instance has been virtualized due to the polyphony limit being exceeded (true or false).
Syntax:
++++fmod_studio_event_instance_is_virtual(event_instance_ref)
| Argument | +Type | +Description | +
|---|---|---|
| event_instance_ref | +Real | +A reference to an EventInstance. | +
Returns:
++ ++
++FMOD Function: Studio::EventInstance::set3DAttributes
+
This function sets the 3D attributes for the given EventInstance.
+An event's 3D attributes specify its position, velocity and orientation. The 3D attributes are used to calculate 3D panning, doppler and the values of automatic distance and angle parameters.
+Syntax:
++++fmod_studio_event_instance_set_3d_attributes(event_instance_ref, attributes)
| Argument | +Type | +Description | +
|---|---|---|
| event_instance_ref | +Real | +A reference to an EventInstance. | +
| attributes | +Fmod3DAttributes | +The 3D attributes struct. | +
Returns:
+++N/A
+
++FMOD Function: Studio::EventInstance::get3DAttributes
+
This function retrieves the 3D attributes struct for the given EventInstance.
+Syntax:
++++fmod_studio_event_instance_get_3d_attributes(event_instance_ref)
| Argument | +Type | +Description | +
|---|---|---|
| event_instance_ref | +Real | +A reference to an EventInstance. | +
Returns:
++ ++
++FMOD Function: Studio::EventInstance::setListenerMask
+
This function sets the listener mask.
+The listener mask controls which listeners are considered when calculating 3D panning and the values of listener relative automatic parameters.
+To create the mask you must perform bitwise OR and shift operations, the basic form is 1 << listener_index OR'd together with other required listener indices.
+For example to create a mask for listener index 0 and 2 the calculation would be mask = (1 << 0) | (1 << 2), to include all listeners use the default mask of 0xFFFFFFFF.
Syntax:
++++fmod_studio_event_instance_set_listener_mask(event_instance_ref, mask)
| Argument | +Type | +Description | +
|---|---|---|
| event_instance_ref | +Real | +A reference to an EventInstance. | +
| mask | +Real | +Listener mask (default: 0xFFFFFFFF) | +
Returns:
+++N/A
+
++FMOD Function: Studio::EventInstance::getListenerMask
+
This function retrieves the listener mask.
+Syntax:
++++fmod_studio_event_instance_get_listener_mask(event_instance_ref)
| Argument | +Type | +Description | +
|---|---|---|
| event_instance_ref | +Real | +A reference to an EventInstance. | +
Returns:
++ ++
++FMOD Function: Studio::EventInstance::getMinMaxDistance
+
This function retrieves the minimum and maximum distances for 3D attenuation as an FmodMinMaxDistance struct.
+Syntax:
++++fmod_studio_event_instance_get_min_max_distance(event_instance_ref)
| Argument | +Type | +Description | +
|---|---|---|
| event_instance_ref | +Real | +A reference to an EventInstance. | +
Returns:
++ ++
++FMOD Function: Studio::EventInstance::setParameterByName
+
This function sets a parameter value by name.
+The value will be set instantly regardless of ignoreseekspeed when the Event playback state is FMOD_STUDIO_PLAYBACK_STATE.STOPPED.
If the specified parameter is read only, is an automatic parameter or is not of type FMOD_STUDIO_PARAMETER_TYPE.GAME_CONTROLLED then FMOD_RESULT.ERR_INVALID_PARAM is returned in the next fmod_last_result call.
If the event has no parameter matching name then FMOD_RESULT.ERR_EVENT_NOTFOUND is returned in the next fmod_last_result call.
Syntax:
++++fmod_studio_event_instance_set_parameter_by_name(event_instance_ref, name, value, ignore_seek_speed=false)
| Argument | +Type | +Description | +
|---|---|---|
| event_instance_ref | +Real | +A reference to an EventInstance. | +
| name | +String | +Parameter name (case-insensitive, UTF-8 string). | +
| value | +Real | +Value for given name. | +
| ignore_seek_speed | +Boolean | +Whether to ignore the parameter's seek speed and set the value immediately. | +
Returns:
+++N/A
+
++FMOD Function: Studio::EventInstance::setParameterByNameWithLabel
+
This function sets a parameter value by name, looking up the value label.
+The value will be set instantly regardless of ignoreseekspeed when the Event playback state is FMOD_STUDIO_PLAYBACK_STATE.STOPPED.
If the specified parameter is read only, is an automatic parameter or is not of type FMOD_STUDIO_PARAMETER_TYPE.GAME_CONTROLLED then FMOD_RESULT.ERR_INVALID_PARAM is returned in the next fmod_last_result call.
If the event has no parameter matching name then FMOD_RESULT.ERR_EVENT_NOTFOUND is returned in the next fmod_last_result call.
If the specified label is not found, FMOD_RESULT.ERR_EVENT_NOTFOUND is returned in the next fmod_last_result call. This lookup is case sensitive.
Syntax:
++++fmod_studio_event_instance_set_parameter_by_name_with_label(event_instance_ref, name, label, ignore_seek_speed=false)
| Argument | +Type | +Description | +
|---|---|---|
| event_instance_ref | +Real | +A reference to an EventInstance. | +
| name | +String | +Parameter name (case-insensitive, UTF-8 string). | +
| label | +String | +Labeled value for the given name. | +
| ignore_seek_speed | +Boolean | +Whether to ignore the parameter's seek speed and set the value immediately. | +
Returns:
+++N/A
+
++FMOD Function: Studio::EventInstance::getParameterByName
+
This function retrieves a parameter value by name.
+Syntax:
++++fmod_studio_event_instance_get_parameter_by_name(event_instance_ref, name)
| Argument | +Type | +Description | +
|---|---|---|
| event_instance_ref | +Real | +A reference to an EventInstance. | +
| name | +String | +Parameter name (case-insensitive, UTF-8 string). | +
Returns:
++ ++
++FMOD Function: Studio::EventInstance::setParameterByID
+
This function sets a parameter value by unique identifier.
+The value will be set instantly regardless of ignoreseekspeed when the Event playback state is FMOD_STUDIO_PLAYBACK_STATE.STOPPED.
If the specified parameter is read only, is an automatic parameter or is not of type FMOD_STUDIO_PARAMETER_TYPE.GAME_CONTROLLED then FMOD_RESULT.ERR_INVALID_PARAM is returned in the next fmod_last_result call.
Syntax:
++++fmod_studio_event_instance_set_parameter_by_id(event_instance_ref, parameter_id, value, ignore_seek_speed=false)
| Argument | +Type | +Description | +
|---|---|---|
| event_instance_ref | +Real | +A reference to an EventInstance. | +
| parameter_id | +FmodStudioParameterId | +Parameter identifier. | +
| value | +Real | +Value for given identifier. | +
| ignore_seek_speed | +Boolean | +Whether to ignore the parameter's seek speed and set the value immediately. | +
Returns:
+++N/A
+
++FMOD Function: Studio::EventInstance::setParameterByIDWithLabel
+
This function sets a parameter value by unique identifier, looking up the value label.
+The value will be set instantly regardless of ignoreseekspeed when the Event playback state is FMOD_STUDIO_PLAYBACK_STATE.STOPPED.
If the specified parameter is read only, is an automatic parameter or is not of type FMOD_STUDIO_PARAMETER_TYPE.GAME_CONTROLLED then FMOD_RESULT.ERR_INVALID_PARAM is returned in the next fmod_last_result call.
If the specified label is not found, FMOD_RESULT.ERR_EVENT_NOTFOUND is returned in the next fmod_last_result call. This lookup is case sensitive.
Syntax:
++++fmod_studio_event_instance_set_parameter_by_id_with_label(event_instance_ref, parameter_id, label, ignore_seek_speed=false)
| Argument | +Type | +Description | +
|---|---|---|
| event_instance_ref | +Real | +A reference to an EventInstance. | +
| parameter_id | +FmodStudioParameterId | +Parameter identifier. | +
| label | +String | +Labeled value for given name. | +
| ignore_seek_speed | +Boolean | +Whether to ignore the parameter's seek speed and set the value immediately. | +
Returns:
+++N/A
+
++FMOD Function: Studio::EventInstance::getParameterByID
+
This function retrieves a parameter value by unique identifier.
+Syntax:
++++fmod_studio_event_instance_get_parameter_by_id(event_instance_ref, parameter_id)
| Argument | +Type | +Description | +
|---|---|---|
| event_instance_ref | +Real | +A reference to an EventInstance. | +
| parameter_id | +FmodStudioParameterId | +The parameter identifier. | +
Returns:
++ ++
++FMOD Function: Studio::EventInstance::getChannelGroup
+
This function retrieves the core ChannelGroup corresponding to the master track.
Until the event instance has been fully created this function will result in FMOD_RESULT.ERR_STUDIO_NOT_LOADED (in the next fmod_last_result call).
Syntax:
++++fmod_studio_event_instance_get_channel_group(event_instance_ref)
| Argument | +Type | +Description | +
|---|---|---|
| event_instance_ref | +Real | +A reference to an EventInstance. | +
Returns:
++ ++
++FMOD Function: Studio::EventInstance::setReverbLevel
+
This function sets the core reverb send level.
+This controls the send level for the signal from the event instance to a core reverb instance.
+Syntax:
++++fmod_studio_event_instance_set_reverb_level(event_instance_ref, index, level)
| Argument | +Type | +Description | +
|---|---|---|
| event_instance_ref | +Real | +A reference to an EventInstance. | +
| index | +Real | +Core reverb instance index, Range: [0, 3] | +
| level | +Real | +Reverb send level, Linear, Range: [0, 1], Default: 0| | +
Returns:
+++N/A
+
++FMOD Function: Studio::EventInstance::getReverbLevel
+
This function retrieves the core reverb send level.
+Syntax:
++++fmod_studio_event_instance_get_reverb_level(event_instance_ref, index)
| Argument | +Type | +Description | +
|---|---|---|
| event_instance_ref | +Real | +A reference to an EventInstance. | +
| index | +Real | +Core reverb instance index, Range: [0, 3] | +
Returns:
++ ++
++FMOD Function: Studio::EventInstance::getCPUUsage
+
This function retrieves the event CPU usage data.
+FMOD_INIT.PROFILE_ENABLE with fmod_system_init is required to call this function.
Syntax:
++++fmod_studio_event_instance_get_cpu_usage(event_instance_ref)
| Argument | +Type | +Description | +
|---|---|---|
| event_instance_ref | +Real | +A reference to an EventInstance. | +
Returns:
++ ++
++FMOD Function: Studio::EventInstance::getMemoryUsage
+
This function retrieves memory usage statistics.
+Memory usage statistics are only available in logging builds, in release builds the struct will contain zero for all values.
+Syntax:
++++fmod_studio_event_instance_get_memory_usage(event_instance_ref)
| Argument | +Type | +Description | +
|---|---|---|
| event_instance_ref | +Real | +A reference to an EventInstance. | +
Returns:
++ ++
++FMOD Function: Studio::EventInstance::setCallback
+
This function enables the user callback in the Async Social event.
+This function operates asynchronously, which means that it does not immediately return the requested result. Instead, upon completion of the task, it will trigger the Social Async Event.
+Syntax:
++++fmod_studio_event_instance_set_callback(event_instance_ref, type)
| Argument | +Type | +Description | +
|---|---|---|
| event_instance_ref | +Real | +A reference to an EventInstance. | +
| type | +FMOD_STUDIO_EVENT_CALLBACK | +Bitfield specifying which callback types are required. | +
Returns:
+++N/A
+
Triggers:
++ ++
| Key | +Type | +Description | +
|---|---|---|
| type | +String | +The value "fmod_studio_event_description_set_callback" |
+
| kind | +FMOD_STUDIO_EVENT_CALLBACK | +The callback type passed into the original function. | +
| event_instance_ref | +Real | +Handle of the EventInstance that has changed state. | +
| name | +String | +Valid when kind=FMOD_STUDIO_EVENT_CALLBACK.CREATE_PROGRAMMER_SOUND or FMOD_STUDIO_EVENT_CALLBACK.DESTROY_PROGRAMMER_SOUND or FMOD_STUDIO_EVENT_CALLBACK.TIMELINE_MARKER |
+
| sub_sound_index | +Real | +Valid when kind=FMOD_STUDIO_EVENT_CALLBACK.CREATE_PROGRAMMER_SOUND or FMOD_STUDIO_EVENT_CALLBACK.DESTROY_PROGRAMMER_SOUND |
+
| sound_ref | +Real | +Valid when kind=FMOD_STUDIO_EVENT_CALLBACK.CREATE_PROGRAMMER_SOUND or FMOD_STUDIO_EVENT_CALLBACK.DESTROY_PROGRAMMER_SOUND |
+
| position | +Real | +Valid when kind=FMOD_STUDIO_EVENT_CALLBACK.TIMELINE_MARKER or FMOD_STUDIO_EVENT_CALLBACK.TIMELINE_BEAT or FMOD_STUDIO_EVENT_CALLBACK.NESTED_TIMELINE_BEAT |
+
| bar | +Real | +Valid when kind=FMOD_STUDIO_EVENT.CALLBACK_TIMELINE_BEAT or FMOD_STUDIO_EVENT_CALLBACK.NESTED_TIMELINE_BEAT |
+
| beat | +Real | +Valid when kind=FMOD_STUDIO_EVENT.CALLBACK_TIMELINE_BEAT or FMOD_STUDIO_EVENT_CALLBACK.NESTED_TIMELINE_BEAT |
+
| tempo | +Real | +Valid when kind=FMOD_STUDIO_EVENT.CALLBACK_TIMELINE_BEAT or FMOD_STUDIO_EVENT_CALLBACK.NESTED_TIMELINE_BEAT |
+
| time_signature_lower | +Real | +Valid when kind=FMOD_STUDIO_EVENT.CALLBACK_TIMELINE_BEAT or FMOD_STUDIO_EVENT_CALLBACK.NESTED_TIMELINE_BEAT |
+
| time_signature_upper | +Real | +Valid when kind=FMOD_STUDIO_EVENT.CALLBACK_TIMELINE_BEAT or FMOD_STUDIO_EVENT_CALLBACK.NESTED_TIMELINE_BEAT |
+
| event_id | +Real | +Valid when kind=FMOD_STUDIO_EVENT_CALLBACK.NESTED_TIMELINE_BEAT |
+
++FMOD Function: Studio::EventInstance::setUserData
+
This allows a real value to be attached to this object. See User Data for an example of how to get and set user data.
+Syntax:
++++fmod_studio_event_instance_set_user_data(event_instance_ref, data)
| Argument | +Type | +Description | +
|---|---|---|
| event_instance_ref | +Real | +A reference to an EventInstance. | +
| data | +Real | +The real value to attach. | +
Returns:
+++N/A
+
++FMOD Function: Studio::EventInstance::getUserData
+
This function retrieves the real value attached to this object in fmod_studio_event_instance_set_user_data.
+Returns NaN if no attached user data is found.
Syntax:
++++fmod_studio_event_instance_get_user_data(event_instance_ref)
| Argument | +Type | +Description | +
|---|---|---|
| event_instance_ref | +Real | +A reference to an EventInstance. | +
Returns:
++ ++
++FMOD Function: Studio::EventInstance::getDescription
+
This function retrieves a handle to the EventDescription for the given EventInstance.
+Syntax:
++++fmod_studio_event_instance_get_description(event_instance_ref)
| Argument | +Type | +Description | +
|---|---|---|
| event_instance_ref | +Real | +A reference to an EventInstance. | +
Returns:
++ ++
++FMOD Function: Studio::EventInstance::release
+
This function marks the event instance to be released. Event instances marked for release are destroyed by the asynchronous update when they are in the stopped state (FMOD_STUDIO_PLAYBACK_STATE.STOPPED).
Generally it is a best practice to release event instances immediately after calling fmod_studio_event_instance_start, unless you want to play the event instance multiple times or explicitly stop it and start it again later. It is possible to interact with the instance after calling release(), however if the sound has stopped FMOD_RESULT.ERR_INVALID_HANDLE will be returned in the next fmod_last_result call.
Syntax:
++++fmod_studio_event_instance_release(event_instance_ref)
| Argument | +Type | +Description | +
|---|---|---|
| event_instance_ref | +Real | +A reference to an EventInstance. | +
Returns:
+++N/A
+
++FMOD Function: Studio::EventInstance::isValid
+
This function checks whether the EventInstance reference is valid (true) or not (false).
Syntax:
++++fmod_studio_event_instance_is_valid(event_instance_ref)
| Argument | +Type | +Description | +
|---|---|---|
| event_instance_ref | +Real | +A reference to an EventInstance. | +
Returns:
++ ++
++FMOD Object: Geometry
+
This module holds the functionality for the setup and modification of geometry for occlusion.
+This module offers a collection of functions designed to address specific tasks and provide utilities for various purposes. Explore the available functions to make the most of the functionalities provided by this module.
+++FMOD Function: Geometry::setPolygonAttributes
+
This function sets individual attributes for a polygon inside a geometry object.
+Syntax:
++++fmod_geometry_set_polygon_attributes(geometry_ref, polygon_index, direct_occlusion, reverb_occlusion, double_sided)
| Argument | +Type | +Description | +
|---|---|---|
| geometry_ref | +Real | +A reference to a geometry. | +
| polygon_index | +Real | +The polygon index. A value in the range [0, fmod_geometry_get_num_polygons]. | +
| direct_occlusion | +Real | +The occlusion factor of the polygon for the direct path where 0 represents no occlusion and 1 represents full occlusion. | +
| reverb_occlusion | +Real | +The occlusion factor of the polygon for the reverb path where 0 represents no occlusion and 1 represents full occlusion. | +
| double_sided | +Boolean | +true: The polygon is double-sided. false: The polygon is single-sided, and the winding of the polygon (which determines the polygon's normal) determines which side of the polygon will cause occlusion. |
+
Returns:
+++N/A
+
++FMOD Function: Geometry::getPolygonAttributes
+
This function retrieves the attributes for a polygon.
+Syntax:
++++fmod_geometry_get_polygon_attributes(geometry_ref, polygon_index)
| Argument | +Type | +Description | +
|---|---|---|
| geometry_ref | +Real | +A reference to a geometry. | +
| polygon_index | +Real | +The polygon index. A value in the range [0, fmod_geometry_get_num_polygons]. | +
Returns:
++ ++
++FMOD Function: Geometry::getPolygonNumVertices
+
This function gets the number of vertices in a polygon.
+Syntax:
++++fmod_geometry_get_polygon_num_vertices(geometry_ref, polygon_index)
| Argument | +Type | +Description | +
|---|---|---|
| geometry_ref | +Real | +A reference to a geometry. | +
| polygon_index | +Real | +The polygon index. A value in the range [0, fmod_geometry_get_num_polygons]. | +
Returns:
++ ++
++FMOD Function: Geometry::setPolygonVertex
+
This function alters the position of a polygon's vertex inside a geometry object.
+Vertices are relative to the position of the object. See fmod_geometry_set_position.
+There may be some significant overhead with this function as it may cause some reconfiguration of internal data structures used to speed up sound-ray testing.
+You may get better results if you want to modify your object by using fmod_geometry_set_position, fmod_geometry_set_scale and fmod_geometry_set_rotation.
+Syntax:
++++fmod_geometry_set_polygon_vertex(geometry_ref, polygon_index, vertex_index, position)
| Argument | +Type | +Description | +
|---|---|---|
| geometry_ref | +Real | +A reference to a geometry. | +
| polygon_index | +Real | +The polygon index. A value in the range [0, fmod_geometry_get_num_polygons]. | +
| vertex_index | +Real | +The polygon vertex index. A value in the range [0, fmod_geometry_get_polygon_num_vertices]. | +
| position | +FmodVector | ++ |
Returns:
+++N/A
+
++FMOD Function: Geometry::getPolygonVertex
+
This function retrieves the position of a vertex.
+Syntax:
++++fmod_geometry_get_polygon_vertex(geometry_ref, polygon_index, vertex_index)
| Argument | +Type | +Description | +
|---|---|---|
| geometry_ref | +Real | +A reference to a geometry. | +
| polygon_index | +Real | +The polygon index. A value in the range [0, fmod_geometry_get_num_polygons]. | +
| vertex_index | +Real | +The polygon vertex index. A value in the range [0, fmod_geometry_get_polygon_num_vertices]. | +
Returns:
++ ++
++FMOD Function: Geometry::setPosition
+
This function sets the 3D position of the object.
+Note
+The position is in world space.
+Syntax:
++++fmod_geometry_set_position(geometry_ref, position)
| Argument | +Type | +Description | +
|---|---|---|
| geometry_ref | +Real | +A reference to a geometry. | +
| position | +FmodVector | +The 3D position. Default is {x: 0, y: 0, z: 0}. |
+
Returns:
+++N/A
+
++FMOD Function: Geometry::getPosition
+
This function retrieves the 3D position of the object.
+Note
+The position is in world space.
+Syntax:
++++fmod_geometry_get_position(geometry_ref)
| Argument | +Type | +Description | +
|---|---|---|
| geometry_ref | +Real | +A reference to a geometry. | +
Returns:
++ ++
++FMOD Function: Geometry::setRotation
+
This function sets the 3D orientation of the object.
+See remarks in fmod_system_set_3d_listener_attributes for a more elaborate description on forward and up vectors.
+Syntax:
++++fmod_geometry_set_rotation(geometry_ref, forward, up)
| Argument | +Type | +Description | +
|---|---|---|
| geometry_ref | +Real | +A reference to a geometry. | +
| forward | +FmodVector | +The forwards orientation. This vector must be of unit length and perpendicular to the up vector. Default is {x: 0, y: 0, z: 1}. |
+
| up | +FmodVector | +The upwards orientation. This vector must be of unit length and perpendicular to the forwards vector. Default is {x: 0, y: 1, z: 0}. |
+
Returns:
+++N/A
+
++FMOD Function: Geometry::getRotation
+
This function retrieves the 3D orientation of the object.
+Syntax:
++++fmod_geometry_get_rotation(geometry_ref)
| Argument | +Type | +Description | +
|---|---|---|
| geometry_ref | +Real | +A reference to a geometry. | +
Returns:
++ ++
++FMOD Function: Geometry::setScale
+
This function sets the 3D scale of the object.
+Syntax:
++++fmod_geometry_set_scale(geometry_ref, scale)
| Argument | +Type | +Description | +
|---|---|---|
| geometry_ref | +Real | +A reference to a geometry. | +
| scale | +FmodVector | +The scale value. Default is {x: 1, y: 1, z: 1}. |
+
Returns:
+++N/A
+
++FMOD Function: Geometry::getScale
+
This function retrieves the 3D scale of the object.
+Syntax:
++++fmod_geometry_get_scale(geometry_ref)
| Argument | +Type | +Description | +
|---|---|---|
| geometry_ref | +Real | +A reference to a geometry. | +
Returns:
++ ++
++FMOD Function: Geometry::addPolygon
+
This function adds a polygon.
+It returns the polygon index that you can use with other per polygon based functions as a handle.
+Note
+All vertices must lay in the same plane otherwise behavior may be unpredictable. The polygon is assumed to be convex. A non convex polygon will produce unpredictable behavior. Polygons with zero area will be ignored.
+Note
+Polygons cannot be added if already at the maximum number of polygons or if the addition of their vertices would result in exceeding the maximum number of vertices.
+Note
+Vertices of an object are in object space, not world space, and so are relative to the position, or center of the object. See fmod_geometry_set_position.
+Syntax:
++++fmod_geometry_add_polygon(geometry_ref, direct_occlusion, reverb_occlusion, double_sided, vertices)
| Argument | +Type | +Description | +
|---|---|---|
| geometry_ref | +Real | +A reference to a geometry. | +
| direct_occlusion | +Real | +The occlusion factor of the polygon for the direct path where 0 represents no occlusion and 1 represents full occlusion. Default is 0. | +
| reverb_occlusion | +Real | +The occlusion factor of the polygon for the reverb path where 0 represents no occlusion and 1 represents full occlusion. Default is 0. | +
| double_sided | +Boolean | +true: The polygon is double-sided. false: The polygon is single-sided, and the winding of the polygon (which determines the polygon's normal) determines which side of the polygon will cause occlusion. |
+
| vertices | +Array of FmodVector | +An array of vertices located in object space. | +
Returns:
++ ++
++FMOD Function: Geometry::setActive
+
This function sets whether an object is processed by the geometry engine.
+Syntax:
++++fmod_geometry_set_active(geometry_ref, active)
| Argument | +Type | +Description | +
|---|---|---|
| geometry_ref | +Real | +A reference to a geometry. | +
| active | +Real | +Whether to allow this object to be processed by the geometry engine. Default is true. | +
Returns:
++ ++
++FMOD Function: Geometry::getActive
+
This function retrieves whether an object is processed by the geometry engine.
+Syntax:
++++fmod_geometry_get_active(geometry_ref)
| Argument | +Type | +Description | +
|---|---|---|
| geometry_ref | +Real | +A reference to a geometry. | +
Returns:
++ ++
++FMOD Function: Geometry::getMaxPolygons
+
This function retrieves the maximum number of polygons and vertices allocatable for this object.
+Note
+The maximum number is set with fmod_system_create_geometry.
+Syntax:
++++fmod_geometry_get_max_polygons(geometry_ref)
| Argument | +Type | +Description | +
|---|---|---|
| geometry_ref | +Real | +A reference to a geometry. | +
Returns:
++ ++
++FMOD Function: Geometry::getNumPolygons
+
This function retrieves the number of polygons in this object.
+Syntax:
++++fmod_geometry_get_num_polygons(geometry_ref)
| Argument | +Type | +Description | +
|---|---|---|
| geometry_ref | +Real | +A reference to a geometry. | +
Returns:
++ ++
++FMOD Function: Geometry::setUserData
+
This function sets a floating-point user value associated with this object.
+Note
+While FMOD supports arbitrary User Data, this function only allows you to set a real value (a double-precision floating-point value).
+Syntax:
++++fmod_geometry_set_user_data(geometry_ref, data)
| Argument | +Type | +Description | +
|---|---|---|
| geometry_ref | +Real | +A reference to a geometry. | +
| data | +Real | +The value to be stored on this object. | +
Returns:
+++N/A
+
++FMOD Function: Geometry::getUserData
+
This function retrieves a user value associated with this object, as set with an earlier call to fmod_geometry_set_user_data.
+Note
+While FMOD allows arbitrary User Data, this function only allows you to get a real value (a double-precision floating-point value).
+Syntax:
++++fmod_geometry_get_user_data(geometry_ref)
| Argument | +Type | +Description | +
|---|---|---|
| geometry_ref | +Real | +A reference to a geometry. | +
Returns:
++ ++
++FMOD Function: Geometry::release
+
This function frees a geometry object and releases its memory.
+Syntax:
++++fmod_geometry_release(geometry_ref)
| Argument | +Type | +Description | +
|---|---|---|
| geometry_ref | +Real | +A reference to a geometry. | +
Returns:
+++N/A
+
++FMOD Function: Geometry::save
+
This function saves the geometry object as a serialized binary block to a Buffer.
+The function returns the size of the data written to the buffer, in bytes.
+Note
+The data can be saved to a file if required and loaded later with fmod_system_load_geometry.
+Syntax:
++++fmod_geometry_save(geometry_ref, buff)
| Argument | +Type | +Description | +
|---|---|---|
| geometry_ref | +Real | +A reference to a geometry. | +
| buff | +Buffer | +The address of the Buffer to write the data to. | +
Returns:
++ ++
For full documentation visit mkdocs.org.
+mkdocs new [dir-name] - Create a new project.mkdocs serve - Start the live-reloading docs server.mkdocs build - Build the documentation site.mkdocs -h - Print help message and exit.mkdocs.yml # The configuration file.
+docs/
+ index.md # The documentation homepage.
+ ... # Other markdown pages, images and other files.
+
+
+ ++FMOD Object: N/A
+
This module contains a number of miscellaneous functions relating to the FMOD extension.
+This module offers a collection of functions designed to address specific tasks and provide utilities for various purposes. Explore the available functions to make the most of the functionalities provided by this module.
+++FMOD Function: Memory_GetStats
+
This function returns information on the memory usage of FMOD.
+This information is byte accurate and counts all allocs and frees internally. This is useful for determining a fixed memory size to make FMOD work within for fixed-memory machines such as consoles.
+Syntax:
++++fmod_memory_get_stats(blocking)
| Argument | +Type | +Description | +
|---|---|---|
| blocking | +Boolean | +This is a flag to indicate whether to favour speed or accuracy. Specifying true for this parameter will flush the DSP network to make sure all queued allocations happen immediately, which can be costly. |
+
Returns:
++ ++
++FMOD Function: Debug_Initialize
+
This function specifies the level and delivery method of log messages when using the logging version of FMOD.
+fmod_last_result will return FMOD_RESULT.ERR_UNSUPPORTED when using the non-logging (release) versions of FMOD.
Note that:
+FMOD_DEBUG_FLAGS.LEVEL_LOG produces informational, warning and error messages.FMOD_DEBUG_FLAGS.LEVEL_WARNING produces warnings and error messages.FMOD_DEBUG_FLAGS.LEVEL_ERROR produces error messages only.See Also: Callback Behavior
+Syntax:
++++fmod_debug_initialize(flags, mode, filename)
| Argument | +Type | +Description | +
|---|---|---|
| flags | +FMOD_DEBUG_FLAGS | +The debug level, type and display control flags. More than one mode can be set at once by combining them with the OR operator. | +
| mode | +FMOD_DEBUG_MODE | +The destination for log messages. The default is FMOD_DEBUG_MODE.TTY. |
+
| filename | +String | +The filename to use when mode is set to file, only required when using that mode. The default is pointer_null. |
+
Returns:
+++N/A
+
++FMOD Function: Thread_SetAttributes
+
This function specifies the affinity, priority and stack size for all FMOD created threads.
+You must call this function for the chosen thread before that thread is created for the settings to take effect.
+Affinity can be specified using one (or more) of the FMOD_THREAD_AFFINITY constants or by providing the bits explicitly, i.e. (1<<3) for logical core three (core affinity is zero based). See platform documentation for details on the available cores for a given device.
+Priority can be specified using one of the FMOD_THREAD_PRIORITY constants or by providing the value explicitly, i.e. (-2) for the lowest thread priority on Windows. See platform documentation for details on the available priority values for a given operating system.
+The stack size can be specified explicitly, however for each thread you should provide a size equal to or larger than the expected default or risk causing a stack overflow at runtime.
+Syntax:
++++fmod_thread_set_attributes(type, affinity, priority, stacksize)
| Argument | +Type | +Description | +
|---|---|---|
| type | +FMOD_THREAD_TYPE | +The identifier for an FMOD thread. | +
| affinity | +FMOD_THREAD_AFFINITY | +A bitfield of desired CPU cores to assign the given thread to. | +
| priority | +FMOD_THREAD_PRIORITY | +The scheduling priority to assign the given thread to. | +
| stacksize | +FMOD_THREAD_STACK_SIZE | +The amount of stack space available to the given thread. | +
Returns:
+++N/A
+
This function returns the result of the last call to any of FMOD's functions.
+The extension functions themselves don't return a value indicating if a function call was succesful or not. +You should therefore use this function if you want to get the result of the last function that you called.
+Syntax:
++++fmod_last_result()
Returns:
++ ++
Since FMOD uses direct C++ access to the file system, it doesn't know anything about the user path automatically. This function returns the full bundle path to an Included File in the datafiles folder.
Syntax:
++++fmod_path_bundle()
Returns:
++ ++
Since FMOD uses direct C++ access to the file system, it doesn't know anything about the bundle path automatically. This function returns the full path to a file stored in the save path.
+Syntax:
++++fmod_path_user()
Returns:
++ ++
++FMOD Object: Reverb3D
+
This module holds functionality related to virtual 3D reverb spheres. See the FMOD 3D Reverb guide for more information.
+This module offers a collection of functions designed to address specific tasks and provide utilities for various purposes. Explore the available functions to make the most of the functionalities provided by this module.
+++FMOD Function: Reverb3D::set3DAttributes
+
This function sets the 3D attributes of a reverb sphere.
+When the position of the listener is less than max_distance away from the position of one or more reverb objects, the listener's 3D reverb properties are a weighted combination of those reverb objects. Otherwise, the reverb DSP will use the global reverb settings.
See the 3D Reverb guide for more information.
+Syntax:
++++fmod_reverb_3d_set_3d_attributes(reverb_3d_ref, position, min_distance, max_distance)
| Argument | +Type | +Description | +
|---|---|---|
| reverb_3d_ref | +Real | +A reference to a Reverb3D. | +
| position | +FmodVector | +The position in 3D space representing the center of the reverb. Expressed in Distance units. | +
| min_distance | +Real | +The distance from the centerpoint within which the reverb will have full effect. Expressed in Distance units. | +
| max_distance | +Real | +The distance from the centerpoint beyond which the reverb will have no effect. Expressed in Distance units. | +
Returns:
+++N/A
+
++FMOD Function: Reverb3D::get3DAttributes
+
This function retrieves the 3D attributes of a reverb sphere.
+See the 3D Reverb guide for more information.
+Syntax:
++++fmod_reverb_3d_get_3d_attributes(reverb_3d_ref)
| Argument | +Type | +Description | +
|---|---|---|
| reverb_3d_ref | +Real | +A reference to a Reverb3D. | +
Returns:
++ ++
++FMOD Function: Reverb3D::setProperties
+
This function sets the environmental properties of a reverb sphere.
+Note
+the default reverb properties are the same as the FMOD_PRESET_GENERIC preset under FMOD_REVERB_PRESETS.
Syntax:
++++fmod_reverb_3d_set_properties(reverb_3d_ref, decay_time, early_delay, late_delay, hf_reference, hf_decay_ratio, diffusion, density, low_shelf_frequency, low_shelf_gain, high_cut, early_late_mix, wet_level)
| Argument | +Type | +Description | +
|---|---|---|
| reverb_3d_ref | +Real | +A reference to a Reverb3D. | +
| decay_time | +Real | +The reverberation decay time, expressed in milliseconds. A value in the range [0, 20000]. | +
| early_delay | +Real | +The initial reflection delay time, expressed in milliseconds. A value in the range [0, 300]. | +
| late_delay | +Real | +The late reverberation delay time relative to initial reflection, expressed in milliseconds. A value in the range [0, 100]. | +
| hf_reference | +Real | +The reference high frequency, in Hertz. A value in the range [20, 20000]. | +
| hf_decay_ratio | +Real | +The high-frequency to mid-frequency decay time ratio, as a percentage. A value in the range [10, 100]. | +
| diffusion | +Real | +A value that controls the echo density in the late reverberation decay, as a percentage. A value in the range [10, 100]. | +
| density | +Real | +A value that controls the modal density in the late reverberation decay, as a percentage. A value in the range [0, 100]. | +
| low_shelf_frequency | +Real | +The reference low frequency, in Hertz. A value in the range [20, 1000]. | +
| low_shelf_gain | +Real | +The relative room effect level at low frequencies, expressed in decibels (dB). A value in the range [-36, 12]. | +
| high_cut | +Real | +The relative room effect level at high frequencies, in Hertz. A value in the range [0, 20000]. | +
| early_late_mix | +Real | +The early reflections level relative to room effect, as a percentage. | +
| wet_level | +Real | +The room effect level at mid frequencies, expressed in decibels (dB). A value in the range [-80, 20]. | +
Returns:
+++N/A
+
++FMOD Function: Reverb3D::getProperties
+
This function retrieves the environmental properties of a reverb sphere.
+See the 3D Reverb guide for more information.
+Syntax:
++++fmod_reverb_3d_get_properties(reverb_3d_ref)
| Argument | +Type | +Description | +
|---|---|---|
| reverb_3d_ref | +Real | +A reference to a Reverb3D. | +
Returns:
++ ++
++FMOD Function: Reverb3D::setActive
+
This function sets the active state.
+See the 3D Reverb guide for more information.
+Syntax:
++++fmod_reverb_3d_set_active(reverb_3d_ref, active)
| Argument | +Type | +Description | +
|---|---|---|
| reverb_3d_ref | +Real | +A reference to a Reverb3D. | +
| active | +Boolean | +The active state of the reverb sphere. The default is true. |
+
Returns:
+++N/A
+
++FMOD Function: Reverb3D::getActive
+
This function retrieves the active state of a reverb sphere.
+See the 3D Reverb guide for more information.
+Syntax:
++++fmod_reverb_3d_get_active(reverb_3d_ref)
| Argument | +Type | +Description | +
|---|---|---|
| reverb_3d_ref | +Real | +A reference to a Reverb3D. | +
Returns:
++ ++
++FMOD Function: Reverb3D::release
+
This function releases the memory for a reverb object and makes it inactive.
+Note
+If you release all Reverb3D objects and have not added a new Reverb3D object, fmod_system_set_reverb_properties should be called to reset the reverb properties.
+Syntax:
++++fmod_reverb_3d_release(reverb_3d_ref)
| Argument | +Type | +Description | +
|---|---|---|
| reverb_3d_ref | +Real | +A reference to a Reverb3D. | +
Returns:
+++N/A
+
++FMOD Function: Reverb3D::setUserData
+
This function sets a single floating-point user value associated with this object.
+Note
+While FMOD supports arbitrary User Data, this function only allows you to set a real value (a double-precision floating-point value).
+Syntax:
++++fmod_reverb_3d_set_user_data(reverb_3d_ref, data)
| Argument | +Type | +Description | +
|---|---|---|
| reverb_3d_ref | +Real | +A reference to a Reverb3D. | +
| data | +Real | +The value stored on this object. | +
Returns:
+++N/A
+
++FMOD Function: Reverb3D::getUserData
+
This function retrieves a floating-point user value associated with this object, as set with an earlier call to fmod_reverb_3d_set_user_data.
+Note
+While FMOD allows arbitrary User Data, this function only allows you to get a real value (a double-precision floating-point value).
+Syntax:
++++fmod_reverb_3d_get_user_data(reverb_3d_ref)
| Argument | +Type | +Description | +
|---|---|---|
| reverb_3d_ref | +Real | +A reference to a Reverb3D. | +
Returns:
++ ++
++FMOD Object: Sound
+
This module holds the functionality related to FMOD sounds, which store sample data that can be played on a Channel.
+You can create sounds with fmod_system_create_sound or fmod_system_create_stream.
+This module offers a collection of functions designed to address specific tasks and provide utilities for various purposes. Explore the available functions to make the most of the functionalities provided by this module.
+++FMOD Function: Sound::getName
+
This function retrieves the name of a sound.
+Syntax:
++++fmod_sound_get_name(sound_ref)
| Argument | +Type | +Description | +
|---|---|---|
| sound_ref | +Real | +A reference to a sound. | +
Returns:
++ ++
++FMOD Function: Sound::getFormat
+
This function returns format information about the sound.
+Syntax:
++++fmod_sound_get_format(sound_ref)
| Argument | +Type | +Description | +
|---|---|---|
| sound_ref | +Real | +A reference to a sound. | +
Returns:
++ ++
++FMOD Function: Sound::getLength
+
This function retrieves the length using the specified time unit.
+length_type must be valid for the file format. For example, an MP3 file does not support FMOD_TIMEUNIT.MODORDER.
A length of 0xFFFFFFFF means the sound is of unlimited length, such as an internet radio stream or MOD/S3M/XM/IT file which may loop forever.
+Note
+Using a VBR (Variable Bit Rate) source that does not have metadata containing its accurate length (such as untagged MP3 or MOD/S3M/XM/IT) may return inaccurate length values. For these formats, use FMOD_MODE.ACCURATETIME when creating the sound. This will cause a slight delay and memory increase, as FMOD will scan the whole during creation to find the correct length. This flag also creates a seek table to enable sample accurate seeking.
Syntax:
++++fmod_sound_get_length(sound_ref, length_type)
| Argument | +Type | +Description | +
|---|---|---|
| sound_ref | +Real | +A reference to a sound. | +
| length_type | +FMOD_TIMEUNIT | +The time unit type to retrieve. | +
Returns:
++ ++
++FMOD Function: Sound::getNumTags
+
This function retrieves the number of metadata tags.
+'Tags' are metadata stored within a sound file. These can be things like a song's name, composer, etc.
+Note
+This value could be periodically checked to see if new tags are available in certain circumstances. This might be the case with internet based streams (i.e. shoutcast or icecast) where the name of the song or other attributes might change.
+Syntax:
++++fmod_sound_get_num_tags(sound_ref)
| Argument | +Type | +Description | +
|---|---|---|
| sound_ref | +Real | +A reference to a sound. | +
Returns:
++ ++
++FMOD Function: Sound::getTag
+
This function retrieves a metadata tag.
+'Tags' are metadata stored within a sound file. These can be things like a song's name, composer, etc.
+The number of tags available can be found with fmod_sound_get_num_tags.
+Displaying or retrieving tags can be done in 3 different ways:
+num_tags value in fmod_sound_get_num_tags - 1. Updated tags will refresh automatically, and the update member of the FmodSoundTag structure will be set to true if a tag has been updated, due to something like a netstream changing the song name for example.FMOD_RESULT.ERR_TAGNOTFOUND.Note
+With netstreams an important consideration must be made between songs, a tag may occur that changes the playback rate of the song. It is up to the user to catch this and reset the playback rate with fmod_channel_set_frequency. A sample rate change will be signalled with a tag of type FMOD_TAGTYPE.FMOD.
Syntax:
++++fmod_sound_get_tag(sound_ref, tag_index, data_buffer)
| Argument | +Type | +Description | +
|---|---|---|
| sound_ref | +Real | +A reference to a sound. | +
| tag_index | +Real | +The index into the tag list. | +
| data_buffer | +Buffer | +The Buffer in which to store the raw, binary tag data. | +
Returns:
++ ++
Example:
+The following example reads any tags that have arrived, this could happen if a radio station switches to a new song. This loop only runs IF there is an update to the tags.
+var _tag = fmod_sound_get_tag(sound_index, -1, tag_data_buff);
+while (fmod_last_result() == FMOD_RESULT.OK)
+{
+ // Move cursor to the beginning of the buffer
+ buffer_seek(tag_data_buff, buffer_seek_start, 0);
+
+ if (_tag.data_type == FMOD_TAGDATATYPE.STRING)
+ {
+ var _value = buffer_read(tag_data_buff, buffer_string);
+ tag_strings[tag_index] = $"{_tag.name}: {_value}";
+ tag_index = (tag_index + 1) % tag_count;
+
+ if (_tag.type == FMOD_TAGTYPE.PLAYLIST && _tag.name == "FILE")
+ {
+ var _url = _value;
+ fmod_sound_release(sound_index);
+
+ sound_index = fmod_system_create_sound(_url, FMOD_MODE.CREATESTREAM | FMOD_MODE.NONBLOCKING, extra);
+ }
+ }
+ else if (_tag.type == FMOD_TAGTYPE.FMOD)
+ {
+ // When a song changes, the sample rate may also change, so compensate here.
+ if ((_tag.name == "Sample Rate Change") && channel_index != -1)
+ {
+ var _frequency = buffer_read(tag_data_buff, buffer_f32);
+ fmod_channel_set_frequency(channel_index, _frequency);
+ }
+ }
+
+ _tag = fmod_sound_get_tag(sound_index, -1, tag_data_buff);
+}
+++FMOD Function: Sound::set3DConeSettings
+
This function sets the angles and attenuation levels of a 3D cone shape, for simulated occlusion which is based on direction.
+When fmod_channel_control_set_3d_cone_orientation is used and a 3D 'cone' is set up, attenuation will automatically occur for a sound based on the relative angle of the direction the cone is facing, vs the angle between the sound and the listener.
+inside_cone_angle, the sound will not have any attenuation applied.inside_cone_angle and outside_cone_angle, linear volume attenuation (between 1 and outside_volume) is applied between the two angles until it reaches the outside_cone_angle.Syntax:
++++fmod_sound_set_3d_cone_settings(sound_ref, inside_cone_angle, outside_cone_angle, outside_volume)
| Argument | +Type | +Description | +
|---|---|---|
| sound_ref | +Real | +A reference to a sound. | +
| inside_cone_angle | +Real | +The inside cone angle, expressed in degrees. This is the angle spread within which the sound is unattenuated. A value in the range [0, 360]. The default is 360. | +
| outside_cone_angle | +Real | +The outside cone angle, expressed in degrees. This is the angle spread outside of which the sound is attenuated to its outside_volume. A value in the range [0, 360]. The default is 360. |
+
| outside_volume | +Real | +The cone outside volume. A value in the range [0, 1]. The default is 1. | +
Returns:
+++N/A
+
++FMOD Function: Sound::get3DConeSettings
+
This function retrieves the inside and outside angles of the 3D projection cone and the outside volume.
+Syntax:
++++fmod_sound_get_3d_cone_settings(sound_ref)
| Argument | +Type | +Description | +
|---|---|---|
| sound_ref | +Real | +A reference to a sound. | +
Returns:
++ ++
++FMOD Function: Sound::set3DCustomRolloff
+
This function sets a custom roll-off shape for 3D distance attenuation.
+Note
+This function must be used in conjunction with the FMOD_MODE.AS_3D_CUSTOMROLLOFF flag to be activated.
This function does not duplicate the memory for the points internally. The memory you pass to FMOD must remain valid while in use.
+If FMOD_MODE.AS_3D_CUSTOMROLLOFF is set and the roll-off shape is not set, FMOD will revert to FMOD_MODE.AS_3D_INVERSEROLLOFF roll-off mode.
When a custom roll-off is specified a sound's 3D 'minimum' and 'maximum' distances are ignored.
+The distance in-between point values is linearly interpolated until the final point where the last value is held.
+If the points are not sorted by distance, an error will result.
+// Defining a custom array of points
+curve =
+[
+ { x: 0, y: 1, z: 0 },
+ { x: 2, y: .2, z: 0 },
+ { x: 2, y: 0, z: 0 }
+];
+Syntax:
++++fmod_sound_set_3d_custom_rolloff(sound_ref, points)
| Argument | +Type | +Description | +
|---|---|---|
| sound_ref | +Real | +A reference to a sound. | +
| points | +Array of FmodVector | +An array of points sorted by distance, where x = distance and y = volume from 0 to 1. z should be set to 0. |
+
Returns:
+++N/A
+
++FMOD Function: Sound::get3DCustomRolloff
+
This function retrieves the current custom roll-off shape for 3D distance attenuation.
+Syntax:
++++fmod_sound_get_3d_custom_rolloff(sound_ref)
| Argument | +Type | +Description | +
|---|---|---|
| sound_ref | +Real | +A reference to a sound. | +
Returns:
+++Array of FmodVector
+
++FMOD Function: Sound::set3DMinMaxDistance
+
This function sets the minimum and maximum audible distance for a 3D sound.
+The distances are meant to simulate the 'size' of a sound. Reducing the min distance will mean the sound appears smaller in the world, and in some modes makes the volume attenuate faster as the listener moves away from the sound.
+Increasing the min distance simulates a larger sound in the world, and in some modes makes the volume attenuate slower as the listener moves away from the sound.
max will affect attenuation differently based on roll-off mode set in the mode parameter of fmod_system_create_sound, fmod_system_create_stream, fmod_sound_set_mode or fmod_channel_control_set_mode.
For these modes the volume will attenuate to 0 volume (silence), when the distance from the sound is equal to or further than the max distance:
FMOD_MODE.AS_3D_LINEARROLLOFFFMOD_MODE.AS_3D_LINEARSQUAREROLLOFFFor these modes the volume will stop attenuating at the point of the max distance, without affecting the rate of attenuation:
FMOD_MODE.AS_3D_INVERSEROLLOFFFMOD_MODE.AS_3D_INVERSETAPEREDROLLOFFFor this mode the max distance is ignored:
FMOD_MODE.AS_3D_CUSTOMROLLOFFSyntax:
++++fmod_sound_set_3d_min_max_distance(sound_ref, min, max)
| Argument | +Type | +Description | +
|---|---|---|
| sound_ref | +Real | +A reference to a sound. | +
| min | +Real | +The sound's minimum volume distance, or the distance that the sound has no attenuation due to 3D positioning. The default value is 1. | +
| max | +Real | +The sound's maximum volume distance, or the distance that no additional attenuation will occur. See the description for notes on different max distance behaviors. The default value is 10000. | +
Returns:
+++N/A
+
++FMOD Function: Sound::get3DMinMaxDistance
+
This function retrieves the minimum and maximum audible distance for a 3D sound.
+Syntax:
++++fmod_sound_get_3d_min_max_distance(sound_ref)
| Argument | +Type | +Description | +
|---|---|---|
| sound_ref | +Real | +A reference to a sound. | +
Returns:
++ ++
++FMOD Function: Sound::setDefaults
+
This function sets a sound's default playback attributes.
+When the Sound is played it will use these values without having to specify them later on a per Channel basis.
+Syntax:
++++fmod_sound_set_defaults(sound_ref, frequency, priority)
| Argument | +Type | +Description | +
|---|---|---|
| sound_ref | +Real | +A reference to a sound. | +
| frequency | +Real | +The default playback frequency, in Hertz. The default is 48000. | +
| priority | +Real | +The default priority where 0 is the highest priority. A value in the range [0, 256]. The default is 128. | +
Returns:
++ ++
++FMOD Function: Sound::getDefaults
+
This function retrieves a sound's default playback attributes.
+Syntax:
++++fmod_sound_get_defaults(sound_ref)
| Argument | +Type | +Description | +
|---|---|---|
| sound_ref | +Real | +A reference to a sound. | +
Returns:
++ ++
++FMOD Function: Sound::setMode
+
This function sets or alters the mode of a sound.
+Note
+When calling this function, note that it will only take effect when the sound is played again with fmod_system_play_sound. This is the default for when the sound next plays, not a mode that will suddenly change all currently playing instances of this sound.
+Note
+Changing the mode on an already buffered stream may not produced desired output. See Streaming Issues.
+Flags supported:
+FMOD_MODE.LOOP_OFF
+FMOD_MODE.LOOP_NORMAL
+FMOD_MODE.LOOP_BIDI
+FMOD_MODE.AS_3D_HEADRELATIVE
+FMOD_MODE.AS_3D_WORLDRELATIVE
+FMOD_MODE.AS_2D
+ * FMOD_MODE.AS_3D
+FMOD_MODE.AS_3D_INVERSEROLLOFF
+FMOD_MODE.AS_3D_LINEARROLLOFF
+FMOD_MODE.AS_3D_LINEARSQUAREROLLOFF
+FMOD_MODE.AS_3D_INVERSETAPEREDROLLOFF
+FMOD_MODE.AS_3D_CUSTOMROLLOFF
+FMOD_MODE.AS_3D_IGNOREGEOMETRY
If FMOD_MODE.AS_3D_IGNOREGEOMETRY is not specified, the flag will be cleared if it was specified previously.
Syntax:
++++fmod_sound_set_mode(sound_ref, mode)
| Argument | +Type | +Description | +
|---|---|---|
| sound_ref | +Real | +A reference to a sound. | +
| mode | +FMOD_MODE | +The mode bits to set. The default is FMOD_MODE.DEFAULT. |
+
Returns:
+++N/A
+
++FMOD Function: Sound::getMode
+
This function retrieves the mode of a sound.
+Note
+The mode will be dependent on the mode set by a call to fmod_system_create_sound, fmod_system_create_stream or fmod_sound_set_mode.
+Syntax:
++++fmod_sound_get_mode(sound_ref)
| Argument | +Type | +Description | +
|---|---|---|
| sound_ref | +Real | +A reference to a sound. | +
Returns:
++ ++
++FMOD Function: Sound::setLoopCount
+
This function sets the sound to loop a specified number of times before stopping if the playback mode is set to looping.
+Note
+Changing the loop count on an already buffered stream may not produced desired output. See Streaming Issues.
+Syntax:
++++fmod_sound_set_loop_count(sound_ref, count)
| Argument | +Type | +Description | +
|---|---|---|
| sound_ref | +Real | +A reference to a sound. | +
| count | +Real | +The number of times to loop before final playback where -1 is always loop. 0 means no loop. Default is -1. | +
Returns:
+++N/A
+
++FMOD Function: Sound::getLoopCount
+
This function retrieves the sound's loop count.
+The value -1 is returned when the sound loops infinitely. The value 0 means don't loop.
+Note
+Unlike the Channel loop count function, this function simply returns the value set with fmod_sound_set_loop_count. It does not decrement as it plays (especially seeing as one sound can be played multiple times).
+Syntax:
++++fmod_sound_get_loop_count(sound_ref)
| Argument | +Type | +Description | +
|---|---|---|
| sound_ref | +Real | +A reference to a sound. | +
Returns:
++ ++
++FMOD Function: Sound::setLoopPoints
+
This function sets the loop points within a sound.
+The values used for loop_start and loop_end are inclusive, which means these positions will be played.
If a loop_end is smaller or equal to loop_start an error will be returned. The same will happen for any values that are equal or greater than the length of the sound.
Note
+Changing loop points on an already buffered stream may not produced desired output. See Streaming Issues.
+Note
+The Sound's mode must be set to FMOD_MODE.LOOP_NORMAL or FMOD_MODE.LOOP_BIDI for loop points to affect playback.
Syntax:
++++fmod_sound_set_loop_points(sound_ref, loop_start, loop_start_type, loop_end, loop_end_type)
| Argument | +Type | +Description | +
|---|---|---|
| sound_ref | +Real | +A reference to a sound. | +
| loop_start | +Real | +The loop start point. A value in the range [0, loop_end]. |
+
| loop_start_type | +FMOD_TIMEUNIT | +The time format of loop_start. |
+
| loop_end | +Real | +The loop end point. A value in the range [loop_start, fmod_sound_get_length]. |
+
| loop_end_type | +FMOD_TIMEUNIT | +The time format of loop_end. |
+
Returns:
+++N/A
+
++FMOD Function: Sound::getLoopPoints
+
This function retrieves the loop points for a sound.
+The values from loop_start and loop_end are inclusive, which means these positions will be played.
Syntax:
++++fmod_sound_get_loop_points(sound_ref, loop_start_type, loop_end_type)
| Argument | +Type | +Description | +
|---|---|---|
| sound_ref | +Real | +A reference to a sound. | +
| loop_start_type | +FMOD_TIMEUNIT | +The time format in which to return loop_start. |
+
| loop_end_type | +FMOD_TIMEUNIT | +The time format in which to return loop_end. |
+
Returns:
++ ++
++FMOD Function: Sound::setSoundGroup
+
This function moves the sound from its existing SoundGroup to the specified sound group.
+By default, a sound is located in the 'master sound group'. This can be retrieved with fmod_system_get_master_sound_group.
+Syntax:
++++fmod_sound_set_sound_group(sound_ref, sound_group_ref)
| Argument | +Type | +Description | +
|---|---|---|
| sound_ref | +Real | +A reference to a sound. | +
| sound_group_ref | +Real | +The sound group to move the sound to. | +
Returns:
+++N/A
+
++FMOD Function: Sound::getSoundGroup
+
This function retrieves the sound's current sound group.
+Syntax:
++++fmod_sound_get_sound_group(sound_ref)
| Argument | +Type | +Description | +
|---|---|---|
| sound_ref | +Real | +A reference to a sound. | +
Returns:
++ ++
++FMOD Function: Sound::getNumSubSounds
+
This function retrieves the number of subsounds stored within a sound.
+A format that has subsounds is a container format, such as FSB, DLS, MOD, S3M, XM, IT.
+Syntax:
++++fmod_sound_get_num_sub_sounds(sound_ref)
| Argument | +Type | +Description | +
|---|---|---|
| sound_ref | +Real | +A reference to a sound. | +
Returns:
++ ++
++FMOD Function: Sound::getSubSound
+
This function retrieves a handle to a Sound object that is contained within the parent sound.
+If the sound is a stream and FMOD_MODE.NONBLOCKING was not used, then this call will perform a blocking seek/flush to the specified subsound.
If FMOD_MODE.NONBLOCKING was used to open this sound and the sound is a stream, FMOD will do a non blocking seek/flush and set the state of the subsound to FMOD_OPENSTATE.SEEKING.
The sound won't be ready to be used when FMOD_MODE.NONBLOCKING is used, until the state of the sound becomes FMOD_OPENSTATE.READY or FMOD_OPENSTATE.ERROR.
Syntax:
++++fmod_sound_get_sub_sound(sound_ref, sub_sound_index)
| Argument | +Type | +Description | +
|---|---|---|
| sound_ref | +Real | +A reference to a sound. | +
| sub_sound_index | +Real | +The index of the subsound. | +
Returns:
++ ++
++FMOD Function: Sound::getSubSoundParent
+
This function retrieves the parent Sound object that contains this subsound.
+If the sound is not a subsound, the value returned will be 0.
+Syntax:
++++fmod_sound_get_sub_sound_parent(sound_ref)
| Argument | +Type | +Description | +
|---|---|---|
| sound_ref | +Real | +A reference to a sound. | +
Returns:
++ ++
++FMOD Function: Sound::getOpenState
+
This function retrieves the state a sound is in after being opened with the non blocking flag, or the current state of the streaming buffer.
+When a sound is opened with FMOD_MODE.NONBLOCKING, it is opened and prepared in the background, or asynchronously. This allows the main application to execute without stalling on audio loads.
+This function will describe the state of the asynchronous load routine i.e. whether it has succeeded, failed or is still in progress.
If starving is true, then you will most likely hear a stuttering/repeating sound as the decode buffer loops on itself and replays old data.
+With the ability to detect stream starvation, muting the sound with fmod_channel_control_set_mute will keep the stream quiet until it is not starving anymore.
Note
+Always check open_state to determine the state of the sound. Do not assume that if this function returns FMOD_RESULT.OK then the sound has finished loading.
See also: FMOD_MODE
+Syntax:
++++fmod_sound_get_open_state(sound_ref)
| Argument | +Type | +Description | +
|---|---|---|
| sound_ref | +Real | +A reference to a sound. | +
Returns:
++ ++
++FMOD Function: Sound::readData
+
This function reads data from an opened sound to a specified Buffer, using FMOD's internal codecs.
+It returns the actual number of bytes written to the buffer or -1 in case of an error.
+This can be used for decoding data offline in small pieces (or big pieces), rather than playing and capturing it, or loading the whole file at once and having to fmod_sound_lock / fmod_sound_unlock the data.
+If you read too much data, it is possible that fmod_last_result will return FMOD_RESULT.ERR_FILE_EOF, meaning it is out of data. The returned 'read' parameter will reflect this by returning a smaller number of bytes read than was requested.
As a non streaming sound reads and decodes the whole file then closes it upon calling fmod_system_create_sound, fmod_sound_read_data will then not work because the file handle is closed. Use FMOD_MODE.OPENONLY to stop FMOD reading/decoding the file.
+If FMOD_MODE.OPENONLY flag is used when opening a sound, it will leave the file handle open, and FMOD will not read/decode any data internally, so the read cursor will stay at position 0. This will allow the user to read the data from the start.
For streams, the streaming engine will decode a small chunk of data and this will advance the read cursor. You need to either use FMOD_MODE.OPENONLY to stop the stream pre-buffering or call fmod_sound_seek_data to reset the read cursor back to the start of the file, otherwise it will appear as if the start of the stream is missing.
+fmod_channel_set_position will have the same result. These functions will flush the stream buffer and read in a chunk of audio internally. This is why if you want to read from an absolute position you should use fmod_sound_seek_data and not the previously mentioned functions.
If you are calling fmod_sound_read_data and fmod_sound_seek_data on a stream, information functions such as fmod_channel_get_position may give misleading results. Calling fmod_channel_get_position will cause the streaming engine to reset and flush the stream, leading to the time values returning to their correct position.
+Syntax:
++++fmod_sound_read_data(sound_ref, buff, length, offset)
| Argument | +Type | +Description | +
|---|---|---|
| sound_ref | +Real | +A reference to a sound. | +
| buff | +Buffer | +The Buffer to read the decoded data into. | +
| length | +Real | +The length of the data to read into the buffer, in bytes. | +
| offset | +Real | +The offset in the buffer, in bytes, to write the data. | +
Returns:
++ ++
++FMOD Function: Sound::seekData
+
This function seeks a sound for use with data reading, using FMOD's internal codecs.
+Warning
+This function is for use in conjunction with fmod_sound_read_data and FMOD_MODE.OPENONLY.
For streaming sounds, if this function is called, it will advance the internal file pointer but not update the streaming engine. This can lead to de-synchronization of position information for the stream and audible playback.
+A stream can reset its stream buffer and position synchronization by calling fmod_channel_set_position. This causes reset and flush of the stream buffer.
+Syntax:
++++fmod_sound_seek_data(sound_ref, pcm)
| Argument | +Type | +Description | +
|---|---|---|
| sound_ref | +Real | +A reference to a sound. | +
| pcm | +Real | +The seek offset, in samples. | +
Returns:
+++N/A
+
++FMOD Function: Sound::lock
+
This function gives access to a portion or all the sample data of a sound for direct manipulation.
+With this function you get access to the raw audio data. If the data is 8, 16, 24 or 32bit PCM data, mono or stereo data, you must take this into consideration when processing the data. See Sample Data for more information.
+The locked data is copied to the buffers that you pass to the function. This can be two buffers as the data may "wrap around" to the start of the sound. +The first buffer will always store the data up to the end of the sound. The second will store the remainder, starting at the start of the sound. +If the range of data you want to copy doesn't exceed the length of the sound the second buffer will have no data written to it.
+You can lock multiple regions of data of a sound at the same time, but you should make sure the regions don't overlap. +If some bytes are locked by multiple calls to this function, they will remain locked after you make all corresponding calls to fmod_sound_unlock.
+++Important
+You must always unlock the data again after you have finished with it, using fmod_sound_unlock.
+
If the sound is created with FMOD_MODE.CREATECOMPRESSEDSAMPLE the data retrieved will be the compressed bitstream.
It is not possible to lock the following:
+FMOD_RESULT.ERR_SUBSOUNDS.FMOD_MODE.CREATESTREAM. FMOD_RESULT.ERR_BADCOMMAND will be returned by fmod_last_result in this case.Syntax:
++++fmod_sound_lock(sound_ref, offset, length, buff1, buff2)
| Argument | +Type | +Description | +
|---|---|---|
| sound_ref | +Real | +A reference to a sound. | +
| offset | +Real | +The offset into the sound's buffer to be retrieved, in bytes. | +
| length | +Real | +The length of the data required to be retrieved. | +
| buff1 | +Buffer | +The buffer to write the first part of the locked data to. | +
| buff2 | +Buffer | +The buffer to write the second part of the locked data to. This will only be written to if the offset + length has exceeded the length of the sample buffer. |
+
Returns:
++ ++
++FMOD Function: Sound::unlock
+
This function finalizes a previous sample data lock and submits it back to the Sound object.
+The data being 'unlocked' must first have been locked with fmod_sound_lock.
+Warning
+If an unlock is not performed on PCM data, then sample loops may produce audible clicks.
+Syntax:
++++fmod_sound_unlock(sound_ref, buff1, len1, address1, buff2, len2, address2)
| Argument | +Type | +Description | +
|---|---|---|
| sound_ref | +Real | +A reference to a sound. | +
| buff1 | +Real | +The first buffer passed to an earlier call to fmod_sound_lock. | +
| len1 | +Real | +The length of the data in the first buffer, in bytes. | +
| address1 | +Real | +The patch_address of buffer1's corresponding chunck in FMOD memory, as returned by an earlier call to fmod_sound_lock. |
+
| buff2 | +Real | +OPTIONAL The second buffer passed to an earlier call to fmod_sound_lock. | +
| len2 | +Real | +OPTIONAL The length of the data in the second buffer, in bytes. | +
| address2 | +Real | +OPTIONAL The patch_address of buffer2's corresponding chunck in FMOD memory, as returned by an earlier call to fmod_sound_lock. |
+
Returns:
+++N/A
+
++FMOD Function: Sound::getMusicNumChannels
+
This function gets the number of music channels inside a MOD/S3M/XM/IT/MIDI file.
+Syntax:
++++fmod_sound_get_music_num_channels(sound_ref)
| Argument | +Type | +Description | +
|---|---|---|
| sound_ref | +Real | +A reference to a sound. | +
Returns:
++ ++
++FMOD Function: Sound::setMusicChannelVolume
+
This function sets the volume of a MOD/S3M/XM/IT/MIDI music channel volume.
+Syntax:
++++fmod_sound_set_music_channel_volume(sound_ref, channel_index, volume)
| Argument | +Type | +Description | +
|---|---|---|
| sound_ref | +Real | +A reference to a sound. | +
| channel_index | +Real | +The MOD/S3M/XM/IT/MIDI music subchannel to set a linear volume for. | +
| volume | +Real | +The volume of the channel. A value in the range [0, 1]. Default is 1. | +
Returns:
+++N/A
+
++FMOD Function: Sound::getMusicChannelVolume
+
This function retrieves the volume of a MOD/S3M/XM/IT/MIDI music channel volume.
+Syntax:
++++fmod_sound_get_music_channel_volume(sound_ref, channel_index)
| Argument | +Type | +Description | +
|---|---|---|
| sound_ref | +Real | +A reference to a sound. | +
| channel_index | +Real | +The MOD/S3M/XM/IT/MIDI music subchannel to retrieve the volume for. | +
Returns:
++ ++
++FMOD Function: Sound::setMusicSpeed
+
This function sets the relative speed of MOD/S3M/XM/IT/MIDI music.
+Syntax:
++++fmod_sound_set_music_speed(sound_ref, speed)
| Argument | +Type | +Description | +
|---|---|---|
| sound_ref | +Real | +A reference to a sound. | +
| speed | +Real | +The speed of the song. A value in the range [0.01, 100]. The default is 1. | +
Returns:
+++N/A
+
++FMOD Function: Sound::getMusicSpeed
+
This function gets the relative speed of MOD/S3M/XM/IT/MIDI music.
+Syntax:
++++fmod_sound_get_music_speed(sound_ref)
| Argument | +Type | +Description | +
|---|---|---|
| sound_ref | +Real | +A reference to a sound. | +
Returns:
++ ++
++FMOD Function: Sound::getSyncPoint
+
This function retrieves a sync point.
+For more information on sync points see Sync Points.
+Syntax:
++++fmod_sound_get_sync_point(sound_ref, point_index, offset_type)
| Argument | +Type | +Description | +
|---|---|---|
| sound_ref | +Real | +A reference to a sound. | +
| point_index | +Real | +The index of the sync point. A value in the range [0, fmod_sound_get_num_sync_points - 1]. | +
| offset_type | +FMOD_TIMEUNIT | +The format in which to return the sync point offset. | +
Returns:
++ ++
++FMOD Function: Sound::getNumSyncPoints
+
This function retrieves the number of sync points stored within a sound.
+For more information on sync points see Sync Points.
+Syntax:
++++fmod_sound_get_num_sync_points(sound_ref)
| Argument | +Type | +Description | +
|---|---|---|
| sound_ref | +Real | +A reference to a sound. | +
Returns:
++ ++
++FMOD Function: Sound::addSyncPoint
+
This function adds a sync point at a specific time within the sound.
+For more information on sync points see Sync Points.
+Syntax:
++++fmod_sound_add_sync_point(sound_ref, offset, offset_type, name)
| Argument | +Type | +Description | +
|---|---|---|
| sound_ref | +Real | +A reference to a sound. | +
| offset | +Real | +The offset value. | +
| offset_type | +FMOD_TIMEUNIT | +The offset unit type. |
+
| name | +String | +The sync point name. | +
Returns:
+++N/A
+
++FMOD Function: Sound::deleteSyncPoint
+
This function deletes a sync point within the sound.
+For more information on sync points see Sync Points.
+Syntax:
++++fmod_sound_delete_sync_point(sound_ref, point_index)
| Argument | +Type | +Description | +
|---|---|---|
| sound_ref | +Real | +A reference to a sound. | +
| point_index | +FmodSyncPoint | +The sync point. | +
Returns:
+++N/A
+
++FMOD Function: Sound::release
+
This function frees a sound object.
+This will stop any instances of this sound, and free the sound object and its children if it is a multi-sound object.
+If the sound was opened with FMOD_MODE.NONBLOCKING and hasn't finished opening yet, it will block. Additionally, if the sound is still playing or has recently been stopped, the release may stall, as the mixer may still be using the sound. Using fmod_sound_get_open_state and checking the open state for FMOD_OPENSTATE.READY and FMOD_OPENSTATE.ERROR is a good way to avoid stalls.
Syntax:
++++fmod_sound_release(sound_ref)
| Argument | +Type | +Description | +
|---|---|---|
| sound_ref | +Real | +A reference to a sound. | +
Returns:
+++N/A
+
++FMOD Function: Sound::getSystemObject
+
This function retrieves the parent System object.
+Syntax:
++++fmod_sound_get_system_object(sound_ref)
| Argument | +Type | +Description | +
|---|---|---|
| sound_ref | +Real | +A reference to a sound. | +
Returns:
++ ++
++FMOD Function: Sound::setUserData
+
This function sets a floating-point user value associated with this object.
+Note
+While FMOD supports arbitrary User Data, this function only allows you to set a real value (a double-precision floating-point value).
+Syntax:
++++fmod_sound_set_user_data(sound_ref, data)
| Argument | +Type | +Description | +
|---|---|---|
| sound_ref | +Real | +A reference to a sound. | +
| data | +Real | +The value to be stored on this object. | +
Returns:
+++N/A
+
++FMOD Function: Sound::getUserData
+
This function retrieves a user value associated with this object, set with fmod_sound_set_user_data.
+Note
+While FMOD allows arbitrary User Data, this function only allows you to get a real value (a double-precision floating-point value).
+Syntax:
++++fmod_sound_get_user_data(sound_ref)
| Argument | +Type | +Description | +
|---|---|---|
| sound_ref | +Real | +A reference to a sound. | +
Returns:
++ ++
++FMOD Object: SoundGroup
+
This module holds functionality related to Sound Groups.
+This module offers a collection of functions designed to address specific tasks and provide utilities for various purposes. Explore the available functions to make the most of the functionalities provided by this module.
+++FMOD Function: SoundGroup::setMaxAudible
+
This function sets the maximum number of playbacks to be audible at once in a sound group.
+If playing instances of sounds in this group equal or exceed number specified here, attempts to play more of the sounds will be met with FMOD_RESULT.ERR_MAXAUDIBLE by default.
+Use fmod_sound_group_set_max_audible_behavior to change the way the sound playback behaves when too many sounds are playing. Muting, failing and stealing behaviors can be specified. See FMOD_SOUNDGROUP_BEHAVIOR.
fmod_sound_group_get_num_playing can be used to determine how many instances of the sounds in the SoundGroup are currently playing.
+Syntax:
++++fmod_sound_group_set_max_audible(sound_group_ref, max_audible)
| Argument | +Type | +Description | +
|---|---|---|
| sound_group_ref | +Real | +A reference to a SoundGroup. | +
| max_audible | +Real | +The maximum number of playbacks to be audible at once. -1 denotes unlimited (default). | +
Returns:
+++N/A
+
++FMOD Function: SoundGroup::getMaxAudible
+
This function retrieves the maximum number of playbacks to be audible at once in a sound group.
+Syntax:
++++fmod_sound_group_get_max_audible(sound_group_ref)
| Argument | +Type | +Description | +
|---|---|---|
| sound_group_ref | +Real | +A reference to a SoundGroup. | +
Returns:
++ ++
++FMOD Function: SoundGroup::setMaxAudibleBehavior
+
This function changes the way the sound playback behaves when too many sounds are playing in a soundgroup.
+Syntax:
++++fmod_sound_group_set_max_audible_behavior(sound_group_ref, behavior)
| Argument | +Type | +Description | +
|---|---|---|
| sound_group_ref | +Real | +A reference to a SoundGroup. | +
| behavior | +FMOD_SOUNDGROUP_BEHAVIOR | +The SoundGroup's max playbacks behavior. The default is FMOD_SOUNDGROUP_BEHAVIOR.FAIL. |
+
Returns:
+++N/A
+
++FMOD Function: SoundGroup::getMaxAudibleBehavior
+
This function retrieves the current max audible behavior.
+Syntax:
++++fmod_sound_group_get_max_audible_behavior(sound_group_ref)
| Argument | +Type | +Description | +
|---|---|---|
| sound_group_ref | +Real | +A reference to a SoundGroup. | +
Returns:
++ ++
++FMOD Function: SoundGroup::setMuteFadeSpeed
+
This function sets a mute fade time.
+If a mode besides FMOD_SOUNDGROUP_BEHAVIOR.MUTE is used, the fade speed is ignored.
When more sounds are playing in a SoundGroup than are specified with fmod_sound_group_set_max_audible, the least important Sound (i.e. lowest priority / lowest audible volume due to 3D position, volume, etc.) will fade to silence if FMOD_SOUNDGROUP_BEHAVIOR.MUTE is used, and any previous sounds that were silent because of this rule will fade in if they are more important.
Syntax:
++++fmod_sound_group_set_mute_fade_speed(sound_group_ref, speed)
| Argument | +Type | +Description | +
|---|---|---|
| sound_group_ref | +Real | +A reference to a SoundGroup. | +
| speed | +Real | +The fade time, in seconds. 0 means no fading (default). | +
Returns:
+++N/A
+
++FMOD Function: SoundGroup::getMuteFadeSpeed
+
This function retrieves the current mute fade time, in seconds.
+Syntax:
++++fmod_sound_group_get_mute_fade_speed(sound_group_ref)
| Argument | +Type | +Description | +
|---|---|---|
| sound_group_ref | +Real | +A reference to a SoundGroup. | +
Returns:
++ ++
++FMOD Function: SoundGroup::setVolume
+
This function sets the volume of the sound group.
+Note
+This scales the volume of all Channels playing Sounds in this SoundGroup.
+Syntax:
++++fmod_sound_group_set_volume(sound_group_ref)
| Argument | +Type | +Description | +
|---|---|---|
| sound_group_ref | +Real | +A reference to a SoundGroup. | +
Returns:
+++N/A
+
++FMOD Function: SoundGroup::getVolume
+
This function retrieves the volume level of the sound group.
+Syntax:
++++fmod_sound_group_get_volume(sound_group_ref)
| Argument | +Type | +Description | +
|---|---|---|
| sound_group_ref | +Real | +A reference to a SoundGroup. | +
Returns:
++ ++
++FMOD Function: SoundGroup::getNumSounds
+
This function retrieves the current number of Sounds in this SoundGroup.
+Syntax:
++++fmod_sound_group_get_num_sounds(sound_group_ref)
| Argument | +Type | +Description | +
|---|---|---|
| sound_group_ref | +Real | +A reference to a SoundGroup. | +
Returns:
++ ++
++FMOD Function: SoundGroup::getSound
+
This function retrieves a sound.
+Note
+Use fmod_sound_group_get_num_sounds in conjunction with this function to enumerate all sounds in a SoundGroup.
+Syntax:
++++fmod_sound_group_get_sound(sound_group_ref, sound_index)
| Argument | +Type | +Description | +
|---|---|---|
| sound_group_ref | +Real | +A reference to a SoundGroup. | +
| sound_index | +Real | +The index of the sound in the given SoundGroup. | +
Returns:
++ ++
++FMOD Function: SoundGroup::getNumPlaying
+
This function retrieves the number of currently playing Channels for the SoundGroup.
+The function returns the number of Channels playing. If the SoundGroup only has one Sound, and that Sound is playing twice, the figure returned will be two.
+Syntax:
++++fmod_sound_group_get_num_playing(sound_group_ref)
| Argument | +Type | +Description | +
|---|---|---|
| sound_group_ref | +Real | +A reference to a SoundGroup. | +
Returns:
++ ++
++FMOD Function: SoundGroup::stop
+
This function stops all sounds within this sound group.
+Syntax:
++++fmod_sound_group_stop(sound_group_ref)
| Argument | +Type | +Description | +
|---|---|---|
| sound_group_ref | +Real | +A reference to a SoundGroup. | +
Returns:
+++N/A
+
++FMOD Function: SoundGroup::getName
+
This function retrieves the name of the sound group.
+Syntax:
++++fmod_sound_group_get_name(sound_group_ref)
| Argument | +Type | +Description | +
|---|---|---|
| sound_group_ref | +Real | +A reference to a SoundGroup. | +
Returns:
++ ++
++FMOD Function: SoundGroup::release
+
This function releases a soundgroup object and returns all sounds back to the master sound group.
+++Important
+You cannot release the master SoundGroup.
+
Syntax:
++++fmod_sound_group_release(sound_group_ref)
| Argument | +Type | +Description | +
|---|---|---|
| sound_group_ref | +Real | +A reference to a SoundGroup. | +
Returns:
+++N/A
+
++FMOD Function: SoundGroup::getSystemObject
+
This function retrieves the parent System object.
+Syntax:
++++fmod_sound_group_get_system_object(sound_group_ref)
| Argument | +Type | +Description | +
|---|---|---|
| sound_group_ref | +Real | +A reference to a SoundGroup. | +
Returns:
++ ++
++FMOD Function: SoundGroup::setUserData
+
This function sets a floating-point user value associated with this object.
+Note
+While FMOD supports arbitrary User Data, this function only allows you to set a real value (a double-precision floating-point value).
+Syntax:
++++fmod_sound_group_set_user_data(sound_group_ref, data)
| Argument | +Type | +Description | +
|---|---|---|
| sound_group_ref | +Real | +A reference to a SoundGroup. | +
| data | +Real | +The value to set on the object. | +
Returns:
+++N/A
+
++FMOD Function: SoundGroup::getUserData
+
This function retrieves a user value associated with this object, as set with an earlier call to fmod_sound_group_set_user_data.
+Note
+While FMOD allows arbitrary User Data, this function only allows you to get a real value (a double-precision floating-point value).
+Syntax:
++++fmod_sound_group_get_user_data(sound_group_ref)
| Argument | +Type | +Description | +
|---|---|---|
| sound_group_ref | +Real | +A reference to a SoundGroup. | +
Returns:
++ ++
This module contains the structs used by the FMOD extension.
+When a function of the FMOD extension returns multiple values, it returns them as a Struct or as an Array of structs. +This happens in two situations:
+The returned Structs are not actually created using the constructor function of their type. They do, however, have identical variable names.
+Note
+The FMOD extension is able to return these more complex data types (i.e. other than Real and String) by packing the values received from FMOD into a Buffer and unpacking them on the other side.
+This module offers a collection of structs, which serve as custom data models for organizing and structuring data. Explore the provided structs to better understand the relationships between data elements and simplify your data manipulation tasks.
+++FMOD Struct: FMOD_VECTOR
+
This struct describes a vector in 3D space.
+++Important
+Vectors must be provided in the correct handedness.
+
This struct is referenced by the following functions:
+This struct is referenced by the following structs:
+| Member | +Type | +Description | +
|---|---|---|
| x | +Real | +The x coordinate of the 3D vector. | +
| y | +Real | +The y coordinate of the 3D vector. | +
| z | +Real | +The z coordinate of the 3D vector. | +
++FMOD Struct: FMOD_CPU_USAGE
+
This struct stores performance information for FMOD's Core API functionality.
+This struct is referenced by the following functions:
+This struct is referenced by the following structs:
+ +| Member | +Type | +Description | +
|---|---|---|
| dsp | +Real | +The DSP mixing engine CPU usage. A percentage of FMOD_THREAD_TYPE.MIXER, or main thread if FMOD_INIT.MIX_FROM_UPDATE flag is used with fmod_system_init. |
+
| stream | +Real | +The streaming engine CPU usage. A percentage of FMOD_THREAD_TYPE.STREAM, or main thread if FMOD_INIT.STREAM_FROM_UPDATE flag is used with fmod_system_init. |
+
| geometry | +Real | +The geometry engine CPU usage. A percentage of FMOD_THREAD_TYPE.GEOMETRY. |
+
| update | +Real | +The fmod_system_update CPU usage. A percentage of the main thread. | +
| convolution1 | +Real | +The convolution reverb processing thread #1 CPU usage. A percentage of FMOD_THREAD_TYPE.CONVOLUTION1. |
+
| convolution2 | +Real | +The convolution reverb processing thread #2 CPU usage. A percentage of FMOD_THREAD_TYPE.CONVOLUTION2. |
+
This struct stores information about CPU time spent.
+This struct is referenced by the following functions:
+ +| Member | +Type | +Description | +
|---|---|---|
| inclusive | +Real | +The CPU time spent processing just this unit during the last mixer update. Expressed in microseconds. | +
| exclusive | +Real | +The CPU time spent processing this unit and all of its input during the last mixer update. Expressed in microseconds. | +
This struct stores a loop start and end point.
+This struct is referenced by the following functions:
+ +| Member | +Type | +Description | +
|---|---|---|
| loop_start | +Real | +The loop start point. A value in the range [0, fmod_sound_get_length - 1]. | +
| loop_end | +Real | +The loop end point. A value in the range [0, fmod_sound_get_length - 1]. | +
This struct stores a minimum and maximum volume distance.
+This struct is referenced by the following functions:
+| Member | +Type | +Description | +
|---|---|---|
| min_distance | +Real | +The minimum volume distance for the sound. | +
| max_distance | +Real | +The maximum volume distance for the sound. | +
++FMOD Struct: FMOD_REVERB_PROPERTIES
+
This struct defines a reverb environment.
+Note
+Several presets for these properties are defined as macros in GameMaker, which you can find under FMOD_REVERB_PRESETS.
+Note
+the default reverb properties are the same as the FMOD_PRESET_GENERIC preset.
This struct is referenced by the following functions:
+| Member | +Type | +Description | +
|---|---|---|
| decay_time | +Real | +The reverberation decay time, in milliseconds. A value in the range [0, 20000]. | +
| early_delay | +Real | +The initial reflection delay time, in milliseconds. A value in the range [0, 300]. | +
| late_delay | +Real | +The late reverberation delay time relative to initial reflection, in milliseconds. A value in the range [0, 100]. | +
| hf_reference | +Real | +The reference high frequency, in Hertz. A value in the range [20, 20000]. | +
| hf_decay_ratio | +Real | +The high-frequency to mid-frequency decay time ratio, in percent. A value in the range [10, 100].Value that controls the modal density in the late reverberation decay. | +
| diffusion | +Real | +A (percent) value that controls the echo density in the late reverberation decay. A value in the range [10, 100]. | +
| density | +Real | +A (percent) value that controls the modal density in the late reverberation decay. A value in the range [0, 100]. | +
| low_shelf_frequency | +Real | +The reference low frequency, in Hertz. A value in the range [20, 1000]. | +
| low_shelf_gain | +Real | +The relative room effect level at low frequencies, in decibels (dB). A value in the range [-36, 12]. | +
| high_cut | +Real | +The relative room effect level at high frequencies, in Hertz. A value in the range [0, 20000]. | +
| early_late_mix | +Real | +The early reflections level relative to room effect, as a percentage. A value in the range [0, 100]. | +
| wet_level | +Real | +The room effect level at mid frequencies, in decibels (dB). A value in the range [-80, 20]. | +
This struct stores the angles and attenuation levels of a 3D cone shape, for simulated occlusion which is based on direction.
+This struct is referenced by the following functions:
+ +| Member | +Type | +Description | +
|---|---|---|
| inside_cone_angle | +Real | +The inside cone angle, in degrees. This is the angle spread within which the sound is unattenuated. Default is 360. | +
| outside_cone_angle | +Real | +The outside cone angle, in degrees. This is the angle spread outside of which the sound is attenuated to its outsidevolume. Default is 360. |
+
| outside_volume | +Real | +The cone outside volume. A value in the range [0, 1]. Default is 1. | +
++FMOD Struct: FMOD_3D_ATTRIBUTES
+
This structure describes a position, velocity and orientation.
+++Important
+Vectors must be provided in the correct handedness.
+
This struct is referenced by the following functions:
+This struct is referenced by the following structs:
+ +| Member | +Type | +Description | +
|---|---|---|
| position | +FmodVector | +The position in 3D space used for panning and attenuation. | +
| velocity | +FmodVector | +The velocity in 3D space used for doppler. | +
| forward | +FmodVector | +The "forward" vector as the first vector that defines orientation in 3D space. Must be of unit length (1.0) and perpendicular to up. |
+
| up | +FmodVector | +The "up" vector as the second vector that defines orientation in 3D space. Must be of unit length (1.0) and perpendicular to forward. |
+
This struct stores on the memory usage of FMOD.
+This struct is referenced by the following functions:
+ +| Member | +Type | +Description | +
|---|---|---|
| current_alloced | +Real | +The currently allocated memory at the time of the call. | +
| max_alloced | +Real | +The maximum allocated memory since fmod_system_init. | +
++FMOD Struct: FMOD_CREATESOUNDEXINFO
+
This struct holds additional options for creating a Sound.
+This struct is referenced by the following functions:
+ +This struct is referenced by the following structs:
+ +| Member | +Type | +Description | +
|---|---|---|
| length | +Real | +The number of bytes to read starting at file_offset, or the length of the Sound to create for FMOD_MODE.OPENUSER, or the length of name_or_buff for FMOD_MODE.OPENMEMORY / FMOD_MODE.OPENMEMORY_POINT. |
+
| file_offset | +Real | +The file offset (in bytes) to start reading from. | +
| num_channels | +Real | +The number of channels in sound data for FMOD_MODE.OPENUSER / FMOD_MODE.OPENRAW. A value in the range [0, FMOD_MAX_CHANNEL_WIDTH]. |
+
| default_frequency | +Real | +The default frequency (in Hertz) of sound data for FMOD_MODE.OPENUSER / FMOD_MODE.OPENRAW. |
+
| format | +FMOD_SOUND_FORMAT | +The format of sound data for FMOD_MODE.OPENUSER / FMOD_MODE.OPENRAW. |
+
| decode_buffer_size | +Real | +The size (in samples) of the decoded buffer for FMOD_MODE.CREATESTREAM, or the block size used for FMOD_MODE.OPENUSER. |
+
| initial_subsound | +Real | +The initial subsound to seek to for FMOD_MODE.CREATESTREAM. |
+
| num_subsounds | +Real | +Number of subsounds available for FMOD_MODE.OPENUSER, or the maximum subsounds to load from file. |
+
| inclusion_list_num | +Real | +The list of subsound indices to load from file. | +
| dls_name | +String | +The file path to a FMOD_SOUND_TYPE.DLS sample set to use when loading a FMOD_SOUND_TYPE.MIDI file, see the description for defaults. |
+
| encryption_key | +String | +Key for encrypted FMOD_SOUND_TYPE.FSB file, cannot be used in conjunction with FMOD_MODE.OPENMEMORY_POINT. |
+
| max_polyphony | +Real | +The maximum voice count for FMOD_SOUND_TYPE.MIDI / FMOD_SOUND_TYPE.IT. Default is 64. |
+
| suggested_sound_type | +FMOD_SOUND_TYPE | +Attempt to load using the specified type first instead of loading in codec priority order. | +
| file_buffer_size | +Real | +The buffer size for reading the file, use -1 to disable buffering. | +
| channel_order | +FMOD_CHANNELORDER | +Custom ordering of speakers for this sound data. | +
| initial_seek_position | +Real | +The initial position to seek to for FMOD_MODE.CREATESTREAM. |
+
| initial_seek_pos_type | +FMOD_TIMEUNIT | +The time units for initial_seek_position. |
+
| ignore_set_filesystem | +Boolean | +Ignore System::setFileSystem and FMOD_CREATESOUNDEXINFO file callbacks. Not implemented. |
+
| audio_queue_policy | +Real | +The hardware / software decoding policy for FMOD_SOUND_TYPE.AUDIOQUEUE, see FMOD_AUDIOQUEUE_CODECPOLICY. |
+
| min_midi_granularity | +Real | +The mixer granularity for FMOD_SOUND_TYPE.MIDI sounds, smaller numbers give a more accurate reproduction at the cost of higher CPU usage. |
+
| non_block_thread_id | +Real | +The thread index to execute FMOD_MODE.NONBLOCKING loads on for parallel Sound loading. |
+
++FMOD Struct: FMOD_ADVANCEDSETTINGS
+
This struct stores advanced configuration settings.
+This is a structure to allow configuration of lesser used system level settings. These tweaks generally allow the user to set resource limits and customize settings to better fit their application.
+Specifying one of the codec maximums will help determine the maximum CPU usage of playing FMOD_MODE.CREATECOMPRESSEDSAMPLE Sounds of that type as well as the memory requirements. Memory will be allocated for 'up front' (during fmod_system_init) if these values are specified as non zero. If any are zero, it allocates memory for the codec whenever a file of the type in question is loaded. So if max_mpeg_codecs is 0 for example, it will allocate memory for the MPEG codecs the first time an MP3 is loaded or an MP3 based .FSB file is loaded.
Setting dsp_buffer_pool_size will pre-allocate memory for the FMOD DSP network. See DSP architecture guide. By default 8 buffers are created up front. A large network might require more if the aim is to avoid real-time allocations from the FMOD mixer thread.
This struct is referenced by the following functions:
+ +| Member | +Type | +Description | +
|---|---|---|
| max_mpeg_codecs | +Real | +The maximum number of MPEG Sounds created as FMOD_MODE.CREATECOMPRESSEDSAMPLE. A value in the range [0, 256]. |
+
| max_adpcm_codecs | +Real | +The maximum number of IMA-ADPCM Sounds created as FMOD_MODE.CREATECOMPRESSEDSAMPLE. A value in the range [0, 256]. |
+
| max_xma_codecs | +Real | +The maximum number of XMA Sounds created as FMOD_MODE.CREATECOMPRESSEDSAMPLE. A value in the range [0, 256]. |
+
| max_vorbis_codecs | +Real | +The maximum number of Vorbis Sounds created as FMOD_MODE.CREATECOMPRESSEDSAMPLE. A value in the range [0, 256]. |
+
| max_at9_codecs | +Real | +The maximum number of AT9 Sounds created as FMOD_MODE.CREATECOMPRESSEDSAMPLE. A value in the range [0, 256]. |
+
| max_fadpcm_codecs | +Real | +The maximum number of FADPCM Sounds created as FMOD_MODE.CREATECOMPRESSEDSAMPLE. A value in the range [0, 256]. |
+
| max_pcm_codecs | +Real | +Deprecated. | +
| asio_num_channels | +Real | +The number of elements in the ASIOSpeakerList on input, the number of elements in ASIOChannelList on output. A value in the range [0, FMOD_MAX_CHANNEL_WIDTH]. |
+
| vol0_virtual_vol | +Real | +For use with FMOD_INIT.VOL0_BECOMES_VIRTUAL, Channels with audibility below this will become virtual. See the Virtual Voices guide for more information. |
+
| default_decode_buffer_size | +Real | +For use with Streams, the default size of the double buffer. A value in the range [0, 30000]. | +
| profile_port | +Real | +For use with FMOD_INIT.PROFILE_ENABLE, specify the port to listen on for connections by FMOD Studio or FMOD Profiler. |
+
| geometry_max_fade_time | +Real | +For use with Geometry, the maximum time it takes for a Channel to fade to the new volume level when its occlusion changes. | +
| distance_filter_center_freq | +Real | +For use with FMOD_INIT.CHANNEL_DISTANCEFILTER, the default center frequency for the distance filtering effect. A value in the range [10, 22050]. |
+
| reverb_3d_instance | +Real | +For use with Reverb3D, selects which global reverb instance to use. A value in the range [0, FMOD_REVERB_MAXINSTANCES]. | +
| dsp_buffer_pool_size | +Real | +The number of intermediate mixing buffers in the 'DSP buffer pool'. Each buffer in bytes will be buffer_length (See fmod_system_get_dsp_buffer_size) * sizeof(float) * output mode speaker count (See FMOD_SPEAKERMODE). i.e. 7.1 @ 1024 DSP block size = 1024 * 4 * 8 = 32kB. |
+
| resampler_method | +FMOD_DSP_RESAMPLER | +The resampling method used by Channels. | +
| random_seed | +Real | +The seed value to initialize the internal random number generator. | +
| max_convolution_threads | +Real | +The maximum number of CPU threads to use for FMOD_DSP_TYPE.CONVOLUTIONREVERB effect. 1 = effect is entirely processed inside the FMOD_THREAD_TYPE.MIXER thread. 2 and 3 offloads different parts of the convolution processing into different threads (FMOD_THREAD_TYPE.CONVOLUTION1 and FMOD_THREAD_TYPE.CONVOLUTION2 to increase throughput. A value in the range [0, 3]. |
+
| max_opus_codecs | +Real | +The maximum number of Opus Sounds created as FMOD_MODE.CREATECOMPRESSEDSAMPLE. A value in the range [0, 256]. |
+
This struct holds identification information about a sound device specified by its index, and specific to a given output mode.
+This struct is referenced by the following functions:
+ +| Member | +Type | +Description | +
|---|---|---|
| index | +Real | +The index of the sound driver device. A value in the range [0, fmod_system_get_num_drivers]. | +
| name | +String | +The name of the device. | +
| guid | +String | +The GUID that uniquely identifies the device. | +
| system_rate | +Real | +The sample rate this device operates at. | +
| speaker_mode | +FMOD_SPEAKERMODE | +The speaker setup this device is currently using. | +
| speaker_mode_channels | +Real | +The number of channels in the current speaker setup. | +
This struct stores the output format for the software mixer.
+This struct is referenced by the following functions:
+ +| Member | +Type | +Description | +
|---|---|---|
| sample_rate | +Real | +The sample rate of the mixer. | +
| speaker_mode | +FMOD_SPEAKERMODE | +The speaker setup of the mixer. | +
| num_raw_speakers | +Real | +The number of speakers for FMOD_SPEAKERMODE.RAW mode. |
+
This struct stores the buffer size settings for the FMOD software mixing engine.
+This struct is referenced by the following functions:
+ +| Member | +Type | +Description | +
|---|---|---|
| buff_size | +Real | +The mixer engine block size, in samples. The default value is 1024. | +
| num_buffers | +Real | +The number of buffers used by the mixer engine. The default value is 4. | +
This struct stores the default file buffer size for newly opened streams.
+This struct is referenced by the following functions:
+ +| Member | +Type | +Description | +
|---|---|---|
| file_buffer_size | +Real | +The buffer size. | +
| file_buffer_size_type | +FMOD_TIMEUNIT | +The type of units for file_buffer_size. The default is FMOD_TIMEUNIT.RAWBYTES. |
+
This struct stores the position of a speaker and its active state.
+This struct is referenced by the following functions:
+ +| Member | +Type | +Description | +
|---|---|---|
| x | +Real | +The speaker's 2D X position relative to the listener. -1 = left, 0 = middle, +1 = right. | +
| y | +Real | +The speaker's 2D Y position relative to the listener. -1 = back, 0 = middle, +1 = front. | +
| active | +Boolean | +The active state of the speaker. true = included in 3D calculations, false = ignored. |
+
This struct stores the global doppler scale, distance factor and roll-off scale for all 3D sounds.
+This struct is referenced by the following functions:
+ +| Member | +Type | +Description | +
|---|---|---|
| doppler_scale | +Real | +This is a scaling factor for doppler shift. | +
| distance_factor | +Real | +This is a factor for converting game distance units to FMOD distance units. | +
| rolloff_scale | +Real | +This is a scaling factor for distance attenuation. When a sound uses a roll-off mode other than FMOD_MODE.AS_3D_CUSTOMROLLOFF and the distance is greater than the sound's minimum distance, the distance is scaled by the roll-off scale. |
+
This struct holds information on the number of playing Channels.
+For differences between real and virtual voices see the Virtual Voices guide for more information.
+This struct is referenced by the following functions:
+ +| Member | +Type | +Description | +
|---|---|---|
| channels | +Real | +The number of playing Channels (both real and virtual). | +
| real_channels | +Real | +The number of playing real (non-virtual) Channels. | +
This struct holds information about file reads.
+This struct is referenced by the following functions:
+ +| Member | +Type | +Description | +
|---|---|---|
| sample_bytes_read | +Real | +Total bytes read from file for loading sample data. | +
| stream_bytes_read | +Real | +Total bytes read from file for streaming sounds. | +
| other_bytes_read | +Real | +Total bytes read for non-audio data such as FMOD Studio banks. | +
This struct holds the number of recording devices available in a certain output mode.
+This struct is referenced by the following functions:
+ +| Member | +Type | +Description | +
|---|---|---|
| num_drivers | +Real | +The number of recording drivers available for this output mode. | +
| num_connected | +Real | +The number of recording drivers currently plugged in. | +
This struct holds identification information about an audio device, specific to an output mode.
+This struct is referenced by the following functions:
+ +| Member | +Type | +Description | +
|---|---|---|
| name | +String | +The name of the device. | +
| guid | +String | +A GUID that uniquely identifies the device. | +
| system_rate | +Real | +The sample rate the device operates at. | +
| speaker_mode | +FMOD_SPEAKERMODE | +The speaker configuration the device is currently using. | +
| speaker_mode_channels | +Real | +The number of channels in the current speaker setup. | +
| state | +FMOD_DRIVER_STATE | +Flags that provide additional information about the driver. | +
This struct stores geometry occlusion values between a listener and a sound source.
+This struct is referenced by the following functions:
+ +| Member | +Type | +Description | +
|---|---|---|
| direct | +Real | +The direct occlusion value. 0 = not occluded at all / full volume, 1 = fully occluded / silent. | +
| reverb | +Real | +The reverb occlusion value. 0 = not occluded at all / wet, 1 = fully occluded / dry. | +
| listener | +FmodVector | +The listener position. | +
| source | +FmodVector | +The source position. | +
This struct stores the 3D position and velocity used to apply panning, attenuation and doppler.
+This struct is referenced by the following functions:
+ +| Member | +Type | +Description | +
|---|---|---|
| pos | +FmodVector | +The position in 3D space used for panning and attenuation. Expressed in Distance units. | +
| vel | +FmodVector | +The velocity in 3D space used for doppler. Expressed in Distance units per second. | +
This struct holds override values for the 3D distance filter.
+This struct is referenced by the following functions:
+ +| Member | +Type | +Description | +
|---|---|---|
| custom | +Boolean | +Whether to override automatic distance filtering and use custom_level instead. |
+
| custom_level | +Real | +The attenuation factor where 1 represents no attenuation and 0 represents complete attenuation. | +
| center_freq | +Real | +The center frequency of the band-pass filter used to simulate distance attenuation. A value in the range [10, 22050]. 0 for default of FmodSystemAdvancedSettings.distance_filter_center_freq. |
+
This struct holds the minimum and maximum distances used to calculate the 3D roll-off attenuation.
+This struct is referenced by the following functions:
+ +| Member | +Type | +Description | +
|---|---|---|
| min_dist | +Real | +The distance from the source where attenuation begins, expressed in Distance units. A value in the range [0, infinity]. Default is 1. |
+
| max_dist | +Real | +The distance from the source where attenuation ends, expressed in Distance units. A value in the range [min_dist, infinity]. Default is 1. |
+
This struct stores 3D attenuation factors for the direct and reverb paths.
+This struct is referenced by the following functions:
+ +| Member | +Type | +Description | +
|---|---|---|
| direct | +Real | +The occlusion factor for the direct path where 0 represents no occlusion and 1 represents full occlusion. Default is 0. | +
| reverb | +Real | +The occlusion factor for the reverb path where 0 represents no occlusion and 1 represents full occlusion. Default is 0. | +
This struct stores a 2 dimensional pan matrix that maps the signal from input channels (columns) to output speakers (rows).
+Note
+Matrix element values can be below 0 to invert a signal and above 1 to amplify the signal. Note that increasing the signal level too far may cause audible distortion.
+This struct is referenced by the following functions:
+ +| Member | +Type | +Description | +
|---|---|---|
| matrix | +Any | +A two-dimensional array of volume levels in row-major order. Each row represents an output speaker, each column represents an input channel. | +
| out_channels | +Any | +The number of valid output channels (rows) in matrix. A value in the range [0, FMOD_MAX_CHANNEL_WIDTH]. |
+
| in_channels | +Any | +Number of valid input channels (columns) in matrix. A value in the range [0, FMOD_MAX_CHANNEL_WIDTH]. |
+
This struct holds the DSP clock values at a point in time.
+This struct is referenced by the following functions:
+ +| Member | +Type | +Description | +
|---|---|---|
| dsp_clock | +Real | +The DSP clock value for the tail DSP (FMOD_CHANNELCONTROL_DSP_INDEX.TAIL) node. Expressed in samples. |
+
| parent_clock | +Real | +DSP clock value for the tail DSP (FMOD_CHANNELCONTROL_DSP_INDEX.TAIL) node of the parent ChannelGroup. Expressed in samples. |
+
This struct holds a sample accurate start (and/or stop) time relative to the parent ChannelGroup DSP clock.
+This struct is referenced by the following functions:
+ +| Member | +Type | +Description | +
|---|---|---|
| dsp_clock_start | +Real | +DSP clock of the parent ChannelGroup to audibly start playing sound at, expressed in samples. | +
| dsp_clock_end | +Real | +DSP clock of the parent ChannelGroup to audibly stop playing sound at, expressed in samples. | +
| stop_channels | +Boolean | +True: When dspclock_end is reached, behaves like fmod_channel_control_stop has been called.False: When dspclock_end is reached, behaves like fmod_channel_control_set_paused has been called, a subsequent dspclock_start allows it to resume. |
+
This struct holds information about stored fade points.
+This struct is referenced by the following functions:
+ +| Member | +Type | +Description | +
|---|---|---|
| num_points | +Real | +The number of fade points. | +
| point_dsp_clock | +Array | +An array of DSP clock values that represent the fade point times. Expressed in samples. | +
| point_volume | +Array | +An array of volume levels that represent the fade point values. | +
This struct holds the DSP unit at a specified index in a DSP's input list and the DSPConnection to it.
+This struct is referenced by the following functions:
+ +| Member | +Type | +Description | +
|---|---|---|
| dsp_ref | +Real | +The DSP unit at a specific index in a DSP's input list. | +
| dsp_connection_ref | +Real | +The DSPConnection through which the two are connected. | +
This struct holds the PCM input format a DSP will receive when processing.
+This struct is referenced by the following functions:
+ +| Member | +Type | +Description | +
|---|---|---|
| channel_mask | +FMOD_CHANNELMASK | +Deprecated. | +
| num_channels | +Real | +The number of channels to be processed. | +
| speaker_mode | +FMOD_SPEAKERMODE | +The speaker mode to describe the channel mapping. | +
++FMOD Struct: FMOD_DSP_METERING_INFO
+
This struct stores DSP metering information.
+This struct is referenced by the following structs:
+ +| Member | +Type | +Description | +
|---|---|---|
| num_samples | +Real | +The number of samples considered for this metering info. | +
| peak_level | +Array | +The peak level per channel. | +
| rms_level | +Array | +The RMS level per channel. | +
| num_channels | +Real | +The number of channels. | +
This struct stores input and output signal metering information.
+This struct is referenced by the following functions:
+ +| Member | +Type | +Description | +
|---|---|---|
| in | +FmodDSPMeteringInfo | +Input metering information before the DSP has processed. | +
| out | +FmodDSPMeteringInfo | +Output metering information after the DSP has processed. | +
This struct holds information on whether input/output signal metering is enabled for a given DSP.
+This struct is referenced by the following functions:
+ +| Member | +Type | +Description | +
|---|---|---|
| enabled_in | +Boolean | +Whether metering is enabled for the input signal. | +
| enabled_out | +Boolean | +Whether metering is enabled for the output signal. | +
This struct stores the scale of the wet and dry signal components.
+This struct is referenced by the following functions:
+ +| Member | +Type | +Description | +
|---|---|---|
| pre_wet | +Real | +The level of the 'Dry' (pre-processed signal) mix that is processed by the DSP. 0 = silent, 1 = full. A negative level inverts the signal. Values larger than 1 amplify the signal. Default is 1. | +
| post_wet | +Real | +The level of the 'Wet' (post-processed signal) mix that is output. 0 = silent, 1 = full. A negative level inverts the signal. Values larger than 1 amplify the signal. Default is 1. | +
| dry | +Real | +The level of the 'Dry' (pre-processed signal) mix that is output. 0 = silent, 1 = full. A negative level inverts the signal. Values larger than 1 amplify the signal. Default is 1. | +
This struct stores information about a DSP unit.
+This struct is referenced by the following functions:
+ +| Member | +Type | +Description | +
|---|---|---|
| name | +String | +The name of this unit will be written (null-terminated) to the provided 32 byte buffer. | +
| version | +Real | +The version number of this unit, usually formated as hex AAAABBBB where the AAAA is the major version number and the BBBB is the minor version number. | +
| channels | +Real | +The number of channels this unit processes where 0 represents "any". | +
| config_width | +Real | +The configuration dialog box width where 0 represents "no dialog box". | +
| config_height | +Real | +The configuration dialog box height where 0 represents "no dialog box". | +
This struct stores a 2 dimensional pan matrix that maps the signal from input channels (columns) to output speakers (rows).
+A matrix element is referenced from the incoming matrix data as outchannel * inchannel_hop + inchannel.
This struct is referenced by the following functions:
+ +| Member | +Type | +Description | +
|---|---|---|
| matrix | +Array of Real | +A two-dimensional array of volume levels in row-major order. Each row represents an output speaker, each column represents an input channel. | +
| out_channels | +Real | +The number of valid output channels (rows) in matrix. |
+
| in_channels | +Real | +The number of valid input channels (columns) in matrix |
+
++FMOD Struct: FMOD_DSP_PARAMETER_DESC
+
This struct is a base structure for DSP parameter descriptions.
+This struct is referenced by the following functions:
+ +| Member | +Type | +Description | +
|---|---|---|
| type | +Real | +The parameter type (FMOD_DSP_PARAMETER_TYPE). | +
| name | +String | +The parameter name. | +
| label | +String | +The unit type label. | +
| description | +String | +The description of the parameter. | +
| int_value | +FmodDspParameterDescValue | +The integer value in case of an integer. | +
| float_value | +FmodDspParameterDescValue | +The floating-point value in case of a float. | +
| bool_value | +FmodDspParameterDescValue | +The boolean value in case of a boolean. | +
++FMOD Struct: FMOD_DSP_PARAMETER_DESC_*
+
This struct stores a parameter description.
+This struct is referenced by the following structs:
+ +| Member | +Type | +Description | +
|---|---|---|
| default_val | +Real | +The default value. | +
| minimum | +Real | +The minimum value. | +
| maximum | +Real | +The maximum value. | +
This struct stores the attributes for a polygon.
+This struct is referenced by the following functions:
+ +| Member | +Type | +Description | +
|---|---|---|
| direct_occlusion | +Real | +The occlusion factor for the direct path where 0 represents no occlusion and 1 represents full occlusion. | +
| reverb_occlusion | +Real | +The occlusion factor for the reverb path where 0 represents no occlusion and 1 represents full occlusion. | +
| double_sided | +Boolean | +Whether the polygon is double-sided. True: Polygon is double-sided. False: Polygon is single-sided, and the winding of the polygon (which determines the polygon's normal) determines which side of the polygon will cause occlusion. |
+
This struct stores the 3D orientation of and FMOD object, as a forward and up vector.
+This struct is referenced by the following functions:
+ +| Member | +Type | +Description | +
|---|---|---|
| forward | +FmodVector | +The "forward" vector as the first vector that defines orientation in 3D space. This vector must be of unit length and perpendicular to the up vector. | +
| up | +FmodVector | +The "up" vector as the second vector that defines orientation in 3D space.This vector must be of unit length and perpendicular to the forward vector. | +
This struct stores the 3D attributes of a reverb sphere.
+See the 3D Reverb guide for more information.
+This struct is referenced by the following functions:
+ +| Member | +Type | +Description | +
|---|---|---|
| position | +FmodVector | +The position in 3D space representing the center of the reverb. | +
| min_distance | +Real | +The distance from the centerpoint within which the reverb will have full effect. | +
| max_distance | +Real | +The distance from the centerpoint beyond which the reverb will have no effect. | +
This struct stores format information about a Sound.
+This struct is referenced by the following functions:
+ +| Member | +Type | +Description | +
|---|---|---|
| type | +FMOD_SOUND_TYPE | +The type of sound. | +
| format | +FMOD_SOUND_FORMAT | +The format of the sound. | +
| channels | +Real | +The number of channels. | +
| bits | +Real | +The number of bits per sample, corresponding to format. |
+
This struct stores the number of metadata tags of a particular Sound.
+Note
+'Tags' are metadata stored within a sound file. These can be things like a song's name, composer, etc.
+This struct is referenced by the following functions:
+ +| Member | +Type | +Description | +
|---|---|---|
| num_tags | +Real | +The number of tags. | +
| num_tags_updated | +Real | +The number of tags updated since this function was last called. | +
++FMOD Struct: FMOD_TAG
+
This struct holds tag data / metadata description.
+This struct is referenced by the following functions:
+ +| Member | +Type | +Description | +
|---|---|---|
| name | +String | +The tag name. | +
| type | +FMOD_TAGTYPE | +The tag type. | +
| update | +Real | +True if this tag has been updated since last being accessed with fmod_sound_get_tag. | +
| data_len | +Real | +The size of the binary tag data, in bytes. For example, an ID3v1 tag always consists of 128 bytes. Other tag types store more data and can have a variable size. | +
| data_type | +FMOD_TAGDATATYPE | +Tge tag data type. | +
This struct stores a sound's default playback attributes.
+This struct is referenced by the following functions:
+ +| Member | +Type | +Description | +
|---|---|---|
| frequency | +Real | +The default playback frequency, in Hertz. Default is 48000. | +
| priority | +Real | +The default priority where 0 is the highest priority. A value in the range [0, 256]. Default is 128. | +
This struct holds the state a sound is in after being opened with the non blocking flag, or the current state of the streaming buffer.
+This struct is referenced by the following functions:
+ +| Member | +Type | +Description | +
|---|---|---|
| open_state | +FMOD_OPENSTATE | +The open state of a sound. | +
| percent_buffered | +Real | +The filled percentage of a stream's file buffer. | +
| starving | +Boolean | +The starving state. true if a stream has decoded more than the stream file buffer has ready. |
+
| disk_busy | +Boolean | +Whether the disk is currently being accessed for this sound. | +
This struct holds information about a data chunck in an FMOD sound.
+This struct is referenced by the following structs:
+ +| Member | +Type | +Description | +
|---|---|---|
| length | +Real | +The length of the data chunk, in bytes. | +
| patch_address | +Pointer | +The address of the data chunk in FMOD's memory (required in the later call to fmod_sound_unlock). | +
This struct holds information about a sound lock.
+This struct is referenced by the following functions:
+ +| Member | +Type | +Description | +
|---|---|---|
| buffer1 | +FmodSoundLockChunck | +The first chunk of the sound's data in FMOD memory that's been locked. | +
| buffer2 | +FmodSoundLockChunck | +The second chunk of the sound's data in FMOD memory that's been locked. Can be zero-length. | +
++FMOD Struct: FMOD_SYNCPOINT
+
This struct stores information about a sync point.
+This struct is referenced by the following functions:
+ +| Member | +Type | +Description | +
|---|---|---|
| name | +String | +The name of the sync point. | +
| offset | +Real | +The offset of the sync point (expressed in the units as passed to fmod_sound_get_sync_point) | +
++FMOD Struct: FMOD_STUDIO_MEMORY_USAGE
+
This struct stores FMOD Studio memory usage statistics.
+Note
+Memory usage exclusive and inclusive values do not include sample data loaded in memory because sample data is a shared resource. Streaming sample data is not a shared resource and is included in the exclusive and inclusive values.
This struct is referenced by the following functions:
+| Member | +Type | +Description | +
|---|---|---|
| inclusive | +Real | +The size of memory belonging exclusively to the bus or event plus the inclusive memory sizes of all buses and event instances which route into it. | +
| exclusive | +Real | +The size of memory belonging to the bus or event instance. | +
| sample_data | +Real | +The size of shared sample memory referenced by the bus or event instance, inclusive of all sample memory referenced by all buses and event instances which route into it. | +
This struct stores an FMOD Studio parameter value.
+Note
+Automatic parameters always return value as 0 since they can never have their value set from the public API.
+Note
+final_value is the final value of the parameter after applying adjustments due to automation, modulation, seek speed, and parameter velocity to value. This is calculated asynchronously when the Studio system updates.
This struct is referenced by the following functions:
+| Member | +Type | +Description | +
|---|---|---|
| value | +Real | +The parameter value as set from the public API. | +
| final_value | +Real | +The final combined parameter value. | +
++FMOD Struct: FMOD_STUDIO_PARAMETER_ID
+
This struct holds an event parameter identifier.
+This struct is referenced by the following functions:
+This struct is referenced by the following structs:
+ +| Member | +Type | +Description | +
|---|---|---|
| data1 | +Real | +The first half of the ID. | +
| data2 | +Real | +The second half of the ID. | +
This struct stores the progress through a command replay.
+This struct is referenced by the following functions:
+ +| Member | +Type | +Description | +
|---|---|---|
| command_index | +Real | +The current command index. | +
| command_time | +Real | +The current playback time. | +
++FMOD Struct: FMOD_STUDIO_COMMAND_INFO
+
This struct describes a command replay command.
+Note
+The handle values in the instance_handle and output_handle are from the recorded session and are not valid handles during playback.
This struct is referenced by the following functions:
+ +| Member | +Type | +Description | +
|---|---|---|
| command_name | +String | +The fully qualified C++ name of the API function for this command. | +
| parent_command_index | +Real | +The index of the command that created the instance this command operates on, or -1 if the command does not operate on any instance. | +
| frame_time | +Real | +The playback time at which this command will be executed. | +
| instance_type | +FMOD_STUDIO_INSTANCETYPE | +The type of object that this command uses as an instance. | +
| output_type | +FMOD_STUDIO_INSTANCETYPE | +The type of object that this command outputs. | +
| instance_handle | +Real | +The original handle value of the instance. | +
| output_handle | +Real | +The original handle value of the command output. | +
This struct stores a volume level.
+Note
+The final combined value returned in final_volume combines the volume set using the public API with the result of any automation or modulation. The final combined volume is calculated asynchronously when the Studio system updates.
This struct is referenced by the following functions:
+ +| Member | +Type | +Description | +
|---|---|---|
| volume | +Real | +The volume as set from the public API. | +
| final_volume | +Real | +The final combined volume. | +
This struct stores listener 3D attributes.
+This struct is referenced by the following functions:
+ +| Member | +Type | +Description | +
|---|---|---|
| attributes | +Fmod3DAttributes | +The 3D attributes. | +
| attenuation | +FmodVector | +The position used for calculating attenuation. | +
++FMOD Struct: FMOD_STUDIO_BUFFER_INFO
+
This struct stores information for a single buffer in FMOD Studio.
+This struct is referenced by the following structs:
+ +| Member | +Type | +Description | +
|---|---|---|
| current_usage | +Real | +The current buffer usage in bytes. | +
| peak_usage | +Real | +The peak buffer usage in bytes. | +
| capacity | +Real | +The buffer capacity in bytes. | +
| stall_count | +Real | +The cumulative number of stalls due to buffer overflow. | +
| stall_time | +Real | +The cumulative amount of time stalled due to buffer overflow, in seconds. | +
++FMOD Struct: FMOD_STUDIO_BUFFER_USAGE
+
This struct stores information for FMOD Studio buffer usage.
+This struct is referenced by the following functions:
+ +| Member | +Type | +Description | +
|---|---|---|
| command_queue | +FmodStudioBufferInfo | +Information for the Studio Async Command buffer. | +
| handle | +FmodStudioBufferInfo | +Information for the Studio handle table. | +
++FMOD Struct: FMOD_STUDIO_CPU_USAGE
+
This struct stores performance information for Studio API functionality.
+This struct is referenced by the following functions:
+ +| Member | +Type | +Description | +
|---|---|---|
| core | +FmodCPUUsage | +The CPU usage of FMOD Core. | +
| studio | +Struct | +The CPU usage of FMOD Studio. A struct that contains a single variable update. This is the fmod_studio_system_update CPU usage. Percentage of main thread, or main thread if FMOD_STUDIO_INIT.SYNCHRONOUS_UPDATE flag is used with fmod_studio_system_init. |
+
++FMOD Struct: FMOD_STUDIO_SOUND_INFO
+
This struct describes a sound in the audio table.
+This struct is referenced by the following functions:
+ +| Member | +Type | +Description | +
|---|---|---|
| ext_info | +FmodSystemCreateSoundExInfo | +Extra information required for loading the sound. | +
| name_or_data | +String | +The filename or memory buffer that contains the sound. | +
| mode | +FMOD_MODE | +The mode flags required for loading the sound. Default is FMOD_MODE.DEFAULT. |
+
| sub_sound_index | +Real | +The subsound index for loading the sound. | +
This struct stores a string table entry.
+This struct is referenced by the following functions:
+ +| Member | +Type | +Description | +
|---|---|---|
| path | +String | +The Path to an object. | +
| guid | +String | +The GUID of an object. | +
++FMOD Struct: FMOD_STUDIO_PARAMETER_DESCRIPTION
+
This struct describes an event parameter.
+This struct is referenced by the following functions:
+| Member | +Type | +Description | +
|---|---|---|
| name | +String | +The parameter name. | +
| parameter_id | +FmodStudioParameterId | +The parameter ID. | +
| minimum | +Real | +The minimum parameter value. | +
| maximum | +Real | +The maximum parameter value. | +
| default_value | +Real | +The default parameter value. | +
| type | +FMOD_STUDIO_PARAMETER_TYPE | +The parameter type. | +
| flags | +FMOD_STUDIO_PARAMETER_FLAGS | +The parameter behavior flags. | +
| guid | +String | +The parameter GUID. | +
++FMOD Struct: FMOD_STUDIO_USER_PROPERTY
+
This struct describes a user property object.
+This struct is referenced by the following functions:
+| Member | +Type | +Description | +
|---|---|---|
| name | +String | +The parameter name. | +
| type | +FMOD_STUDIO_USER_PROPERTY_TYPE | +The user property type. | +
| string_value | +String | +String value. Only valid when type is FMOD_STUDIO_USER_PROPERTY_TYPE.STRING. |
+
| int_value | +Real | +Integer (real) value. Only valid when type is FMOD_STUDIO_USER_PROPERTY_TYPE.INTEGER. |
+
| bool_value | +Boolean | +Boolean value. Only valid when type is FMOD_STUDIO_USER_PROPERTY_TYPE.BOOLEAN. |
+
| float_value | +Real | +Float (real) value. Only valid when type is FMOD_STUDIO_USER_PROPERTY_TYPE.FLOAT. |
+
++FMOD Struct: FMOD_STUDIO_ADVANCEDSETTINGS
+
This struct describes a Studio advanced settings object.
+This struct is referenced by the following functions:
+ +| Member | +Type | +Description | +
|---|---|---|
| command_queue_size | +Real | +Command queue size for studio async processing. Default: 32768 | +
| handle_initial_size | +Real | +Initial size to allocate for handles. Memory for handles will grow as needed in pages. Default: 8192 * 8 |
+
| studio_update_period | +Real | +Update period of Studio when in async mode, in milliseconds. Will be quantized to the nearest multiple of mixer duration. Default: 20 | +
| idle_sampledata_pool_size | +Real | +Size in bytes of sample data to retain in memory when no longer used, to avoid repeated disk I/O. Use -1 to disable. Default: 262144 | +
| streaming_schedule_delay | +Real | +Specify the schedule delay for streams, in samples. Lower values can reduce latency when scheduling events containing streams but may cause scheduling issues if too small. Default: 8192 | +
| encryption_key | +String | +Specify the key for loading sounds from encrypted banks. (UTF-8 string). Default: pointer_null |
+
++FMOD Object: Studio::System
+
This module holds functionality related to the FMOD Studio system object.
+Create an FMOD Studio system object with fmod_studio_system_create.
+Note
+Initializing the FMOD Studio System object will also initialize the core System object.
+This module offers a collection of functions designed to address specific tasks and provide utilities for various purposes. Explore the available functions to make the most of the functionalities provided by this module.
+++FMOD Function: Studio::System::create
+
This is the FMOD Studio System creation function.
+Call fmod_studio_system_release to free the Studio System.
+Syntax:
++++fmod_studio_system_create()
Returns:
+++N/A
+
++FMOD Function: Studio::System::initialize
+
This function initializes the Studio System.
+The core system used by the studio system is initialized at the same time as the studio system.
+The flags parameter is passed to fmod_system_init to initialize the core.
See Getting Started for examples on initialising and updating FMOD systems.
+Syntax:
++++fmod_studio_system_init(max_channels, studio_flags, core_flags)
| Argument | +Type | +Description | +
|---|---|---|
| max_channels | +Real | +The maximum number of Channels, including both virtual and real, to be used in FMOD. | +
| studio_flags | +FMOD_STUDIO_INIT | +Studio system initialization flags. | +
| core_flags | +FMOD_INIT | +Core system initialization flags. | +
Returns:
+++N/A
+
++FMOD Function: Studio::System::release
+
This function shuts down and frees the Studio System object.
+This will free the memory used by the Studio System object and everything created under it.
+Syntax:
++++fmod_studio_system_release()
Returns:
+++N/A
+
++FMOD Function: Studio::System::update
+
This function updates the FMOD Studio System.
+See Getting Started for examples on initialising and updating FMOD systems.
+Syntax:
++++fmod_studio_system_update()
Returns:
+++N/A
+
++FMOD Function: Studio::System::flushCommands
+
This function blocks the calling thread until all pending commands have been executed and all non-blocking bank loads have been completed.
+Syntax:
++++fmod_studio_system_flush_commands()
Returns:
+++N/A
+
++FMOD Function: Studio::System::flushSampleLoading
+
This function blocks until all sample loading and unloading has completed.
+Syntax:
++++fmod_studio_system_flush_sample_loading()
Returns:
+++N/A
+
++FMOD Function: Studio::System::loadBankCustom
+
This function loads the metadata of a Studio bank and returns a handle to the Bank.
+Sample data must be loaded separately; see Sample Data Loading for details.
+If you use FMOD_STUDIO_LOAD_BANK.NONBLOCKING, this function will return a Bank handle which will be usable once it has been loaded asynchronously. This is indicated by the fmod_last_result value after a function call that uses the Bank handle.
If a bank has been split, separating out assets and optionally streams from the metadata bank, all parts must be loaded before any APIs that use the data are called. It is recommended you load each part one after another (order is not important), then proceed with dependent API calls such as fmod_studio_bank_load_sample_data or fmod_studio_system_get_event.
+Syntax:
++++fmod_studio_system_load_bank_custom(flags)
| Argument | +Type | +Description | +
|---|---|---|
| flags | +FMOD_STUDIO_LOAD_BANK | +Flags to control bank loading. | +
Returns:
++ ++
++FMOD Function: Studio::System::loadBankFile
+
This function loads the metadata of a Studio bank from file, returning a handle to the Bank.
+Sample data must be loaded separately; see Sample Data Loading for details.
+If you use FMOD_STUDIO_LOAD_BANK.NONBLOCKING, this function will return a Bank handle which will be usable once it has been loaded asynchronously. This is indicated by the fmod_last_result value after a function call that uses the Bank handle.
If a bank has been split, separating out assets and optionally streams from the metadata bank, all parts must be loaded before any APIs that use the data are called. It is recommended you load each part one after another (order is not important), then proceed with dependent API calls such as fmod_studio_bank_load_sample_data or fmod_studio_system_get_event.
+Syntax:
++++fmod_studio_system_load_bank_file(filename, flags)
| Argument | +Type | +Description | +
|---|---|---|
| filename | +String | +Name of the file on the disk. | +
| flags | +FMOD_STUDIO_LOAD_BANK | +Flags to control bank loading. | +
Returns:
++ ++
++FMOD Function: Studio::System::loadBankMemory
+
This function loads the metadata of a Studio bank from memory, returning a handle to the Bank object.
+Sample data must be loaded separately; see Sample Data Loading for details.
+When mode is FMOD_STUDIO_LOAD_MEMORY_MODE.MEMORY, FMOD will allocate an internal buffer and copy the data from the passed in buffer before using it. When used in this mode there are no alignment restrictions on buffer and the memory pointed to by buffer may be cleaned up at any time after this function returns.
When mode is FMOD_STUDIO_LOAD_MEMORY_MODE.MEMORY_POINT, FMOD will use the passed memory buffer directly. When using this mode the buffer must be aligned to FMOD_STUDIO_LOAD_MEMORY_ALIGNMENT and the memory must persist until the bank has been fully unloaded, which can be some time after calling fmod_studio_bank_unload to unload the bank. You can ensure the memory is not being freed prematurely by only freeing it after receiving the FMOD_STUDIO_SYSTEM_CALLBACK.BANK_UNLOAD callback (enabled in fmod_studio_system_set_callback).
If you use FMOD_STUDIO_LOAD_BANK.NONBLOCKING, this function will return a Bank handle which will be usable once it has been loaded asynchronously. This is indicated by the fmod_last_result value after a function call that uses the Bank handle.
If a bank has been split, separating out assets and optionally streams from the metadata bank, all parts must be loaded before any APIs that use the data are called. It is recommended you load each part one after another (order is not important), then proceed with dependent API calls such as fmod_studio_bank_load_sample_data or fmod_studio_system_get_event.
+Syntax:
++++fmod_studio_system_load_bank_memory(buff_data, length, mode, flags)
| Argument | +Type | +Description | +
|---|---|---|
| buff_data | +Real | +Memory buffer. | +
| length | +Real | +Length of the memory buffer. | +
| mode | +FMOD_STUDIO_LOAD_MEMORY_MODE | +Loading mode to use. | +
| flags | +FMOD_STUDIO_LOAD_BANK | +Flags to control bank loading. | +
Returns:
++ ++
++FMOD Function: Studio::System::unloadAll
+
This function unloads all currently loaded banks.
+Syntax:
++++fmod_studio_system_unload_all()
Returns:
+++N/A
+
++FMOD Function: Studio::System::getBank
+
This function retrieves a loaded bank.
+path may be a path, such as bank:/Weapons or an ID string such as {793cddb6-7fa1-4e06-b805-4c74c0fd625b}.
Note that path lookups will only succeed if the strings bank has been loaded.
+Syntax:
++++fmod_studio_system_get_bank(path)
| Argument | +Type | +Description | +
|---|---|---|
| path | +String | +The bank path or the ID string that identifies the bank. (UTF-8 string) | +
Returns:
++ ++
++FMOD Function: Studio::System::getBankByID
+
This function retrieves a loaded bank by its GUID.
+Syntax:
++++fmod_studio_system_get_bank_by_id(guid_str)
| Argument | +Type | +Description | +
|---|---|---|
| guid_str | +String | +Bank GUID. | +
Returns:
++ ++
++FMOD Function: Studio::System::getBankCount
+
This function retrieves the number of loaded banks.
+May be used in conjunction with fmod_studio_system_get_bank_list to enumerate the loaded banks.
+Syntax:
++++fmod_studio_system_get_bank_count()
Returns:
++ ++
++FMOD Function: Studio::System::getBankList
+
This function retrieves an array containing the loaded banks.
+May be used in conjunction with fmod_studio_system_get_bank_count to enumerate the loaded banks.
+Syntax:
++++fmod_studio_system_get_bank_list()
Returns:
++ ++
++FMOD Function: Studio::System::setListenerAttributes
+
This function sets the 3D attributes of the listener.
+If you don't pass a value for attenuation, the listener only uses the position in attributes.
Syntax:
++++fmod_studio_system_set_listener_attributes(listener_index, attributes, attenuation=undefined)
| Argument | +Type | +Description | +
|---|---|---|
| listener_index | +Real | +Index of listener to set 3D attributes on. Listeners are indexed from 0, to FMOD_MAX_LISTENERS - 1, in a multi-listener environment. | +
| attributes | +Fmod3DAttributes | +3D attributes. | +
| attenuation | +FmodVector | +Position used for calculating attenuation. | +
Returns:
+++N/A
+
++FMOD Function: Studio::System::getListenerAttributes
+
This function retrieves listener 3D attributes, containing a struct for the attributes, and a struct for the attenuation position.
+Syntax:
++++fmod_studio_system_get_listener_attributes(listener_index)
| Argument | +Type | +Description | +
|---|---|---|
| listener_index | +Real | +Index of listener to set 3D attributes on. Listeners are indexed from 0, to FMOD_MAX_LISTENERS - 1, in a multi-listener environment. | +
Returns:
++ ++
++FMOD Function: Studio::System::setListenerWeight
+
This function sets the listener weighting.
+Listener weighting is a factor which determines how much the listener influences the mix. It is taken into account for 3D panning, doppler, and the automatic distance event parameter. A listener with a weight of 0 has no effect on the mix.
+Listener weighting can be used to fade in and out multiple listeners. For example to do a crossfade, an additional listener can be created with a weighting of 0 that ramps up to 1 while the old listener weight is ramped down to 0. After the crossfade is finished the number of listeners can be reduced to 1 again.
+The sum of all the listener weights should add up to at least 1. It is a user error to set all listener weights to 0.
+Syntax:
++++fmod_studio_system_set_listener_weight(listener_index, weight)
| Argument | +Type | +Description | +
|---|---|---|
| listener_index | +Real | +Listener index. | +
| weight | +Real | +Weighting value, Range: [0, 1], Default: 1 | +
Returns:
+++N/A
+
++FMOD Function: Studio::System::getListenerWeight
+
This function retrieves the weighting value of the listener.
+Syntax:
++++fmod_studio_system_get_listener_weight(listener_index)
| Argument | +Type | +Description | +
|---|---|---|
| listener_index | +Real | +Listener index. | +
Returns:
++ ++
++FMOD Function: Studio::System::setNumListeners
+
This function sets the number of listeners in the 3D sound scene.
+If the number of listeners is set to more than 1 then FMOD uses a 'closest sound to the listener' method to determine what should be heard.
+See the Studio 3D Events white paper for more information.
+Syntax:
++++fmod_studio_system_set_num_listeners(num)
| Argument | +Type | +Description | +
|---|---|---|
| num | +Real | +Number of listeners, Range: [1, FMOD_MAX_LISTENERS], Default: 1 | +
Returns:
+++N/A
+
++FMOD Function: Studio::System::getNumListeners
+
This function retrieves the number of listeners.
+Syntax:
++++fmod_studio_system_get_num_listeners()
Returns:
++ ++
++FMOD Function: Studio::System::getBus
+
This function allows you to retrieve a handle for any bus in the global mixer.
+path may be a path, such as bus:/SFX/Ambience or an ID string such as {793cddb6-7fa1-4e06-b805-4c74c0fd625b}.
Note that path lookups will only succeed if the strings bank has been loaded.
+Syntax:
++++fmod_studio_system_get_bus(path)
| Argument | +Type | +Description | +
|---|---|---|
| path | +String | +The bank path or the ID string that identifies the bus. (UTF-8 string) | +
Returns:
++ ++
++FMOD Function: Studio::System::getBusByID
+
This function allows you to retrieve a handle for any bus in the global mixer using its GUID.
+Syntax:
++++fmod_studio_system_get_bus_by_id(guid)
| Argument | +Type | +Description | +
|---|---|---|
| guid | +String | +Bus GUID. | +
Returns:
++ ++
++FMOD Function: Studio::System::getEvent
+
This function allows you to retrieve a handle to any loaded event description.
+path may be a path, such as event:/UI/Cancel or an ID string such as {793cddb6-7fa1-4e06-b805-4c74c0fd625b}.
Note that path lookups will only succeed if the strings bank has been loaded.
+Syntax:
++++fmod_studio_system_get_event(path)
| Argument | +Type | +Description | +
|---|---|---|
| path | +String | +The path or the ID string that identifies the event or snapshot. (UTF-8 string) | +
Returns:
++ ++
++FMOD Function: Studio::System::getEventByID
+
This function allows you to retrieve a handle to any loaded event description by its GUID.
+Syntax:
++++fmod_studio_system_get_event_by_id(guid_str)
| Argument | +Type | +Description | +
|---|---|---|
| guid_str | +String | +Event or snapshot GUID. | +
Returns:
++ ++
++FMOD Function: Studio::System::getParameterByID
+
This function retrieves a global parameter value struct by its unique identifier.
+Syntax:
++++fmod_studio_system_get_parameter_by_id(parameter_id)
| Argument | +Type | +Description | +
|---|---|---|
| parameter_id | +FmodStudioParameterId | +Parameter identifier. | +
Returns:
++ ++
++FMOD Function: Studio::System::setParameterByID
+
This function sets a global parameter value by unique identifier.
+Syntax:
++++fmod_studio_system_set_parameter_by_id(parameter_id, value, ignore_seek_speed=false)
| Argument | +Type | +Description | +
|---|---|---|
| parameter_id | +FmodStudioParameterId | +Parameter identifier. | +
| value | +Real | +Value for given identifier. | +
| ignore_seek_speed | +Boolean | +Specifies whether to ignore the parameter's seek speed and set the value immediately. | +
Returns:
+++N/A
+
++FMOD Function: Studio::System::setParameterByIDWithLabel
+
This function sets a global parameter value by unique identifier, looking up the value label.
+If the specified label is not found, FMOD_RESULT.ERR_EVENT_NOTFOUND is returned in the next fmod_last_result call. This lookup is case sensitive.
Syntax:
++++fmod_studio_system_set_parameter_by_id_with_label(parameter_id, label, ignore_seek_speed=false)
| Argument | +Type | +Description | +
|---|---|---|
| parameter_id | +FmodStudioParameterId | +Parameter identifier. | +
| label | +String | +Labeled value for given identifier. | +
| ignore_seek_speed | +Boolean | +Specifies whether to ignore the parameter's seek speed and set the value immediately. | +
Returns:
+++N/A
+
++FMOD Function: Studio::System::getParameterByName
+
This function retrieves a global parameter value struct by name.
+Syntax:
++++fmod_studio_system_get_parameter_by_name(name)
| Argument | +Type | +Description | +
|---|---|---|
| name | +String | +Parameter name (case-insensitive). (UTF-8 string) | +
Returns:
++ ++
++FMOD Function: Studio::System::setParameterByName
+
This function sets a global parameter value by name.
+Syntax:
++++fmod_studio_system_set_parameter_by_name(name, value, ignore_seek_speed=false)
| Argument | +Type | +Description | +
|---|---|---|
| name | +String | +Parameter name (case-insensitive). (UTF-8 string) | +
| value | +Real | +Value for given name. | +
| ignore_seek_speed | +Real | +Specifies whether to ignore the parameter's seek speed and set the value immediately. | +
Returns:
+++N/A
+
++FMOD Function: Studio::System::setParameterByNameWithLabel
+
This function sets a global parameter value by name, looking up the value label.
+Syntax:
++++fmod_studio_system_set_parameter_by_name_with_label(name, label, ignore_seek_speed=false)
| Argument | +Type | +Description | +
|---|---|---|
| name | +String | +Parameter name (case-insensitive). (UTF-8 string) | +
| label | +String | +Labeled value for given name. | +
| ignore_seek_speed | +Real | +Specifies whether to ignore the parameter's seek speed and set the value immediately. | +
Returns:
+++N/A
+
++FMOD Function: Studio::System::getParameterDescriptionByName
+
This function retrieves a global parameter by name or path.
+name can be the short name (such as 'Wind') or the full path (such as 'parameter:/Ambience/Wind'). Path lookups will only succeed if the strings bank has been loaded.
Syntax:
++++fmod_studio_system_get_parameter_description_by_name(name)
| Argument | +Type | +Description | +
|---|---|---|
| name | +String | +Parameter name. (UTF-8 string) | +
Returns:
++ ++
++FMOD Function: Studio::System::getParameterDescriptionByID
+
This function retrieves a global parameter by ID.
+Syntax:
++++fmod_studio_system_get_parameter_description_by_id(parameter_id)
| Argument | +Type | +Description | +
|---|---|---|
| parameter_id | +FmodStudioParameterId | +Parameter ID. | +
Returns:
++ ++
++FMOD Function: Studio::System::getParameterDescriptionCount
+
This function retrieves the number of global parameters.
+Syntax:
++++fmod_studio_system_get_parameter_description_count()
Returns:
++ ++
++FMOD Function: Studio::System::getParameterDescriptionList
+
This function retrieves an array of global parameters.
+Syntax:
++++fmod_studio_system_get_parameter_description_list()
Returns:
++ ++
++FMOD Function: Studio::System::getParameterLabelByName
+
This function retrieves a global parameter label by name or path.
+name can be the short name (such as 'Wind') or the full path (such as 'parameter:/Ambience/Wind'). Path lookups will only succeed if the strings bank has been loaded.
Syntax:
++++fmod_studio_system_get_parameter_label_by_name(name, labelindex)
| Argument | +Type | +Description | +
|---|---|---|
| name | +String | +Parameter name. (UTF-8 string) | +
| labelindex | +Real | +Label index to retrieve. | +
Returns:
++ ++
++FMOD Function: Studio::System::getParameterLabelByID
+
This function retrieves a global parameter label by ID.
+Syntax:
++++fmod_studio_system_get_parameter_label_by_id(parameter_id, label_index)
| Argument | +Type | +Description | +
|---|---|---|
| parameter_id | +FmodStudioParameterId | +Parameter ID. | +
| label_index | +Real | +Label index to retrieve. | +
Returns:
++ ++
++FMOD Function: Studio::System::getVCA
+
This function allows you to retrieve a handle for any VCA in the global mixer.
+path may be a path, such as vca:/MyVCA, or an ID string, such as {d9982c58-a056-4e6c-b8e3-883854b4bffb}.
Note that path lookups will only succeed if the strings bank has been loaded.
+Syntax:
++++fmod_studio_system_get_vca(path)
| Argument | +Type | +Description | +
|---|---|---|
| path | +String | +The path or the ID string that identifies the VCA. (UTF-8 string) | +
Returns:
++ ++
++FMOD Function: Studio::System::getVCAByID
+
This function allows you to retrieve a handle for any VCA in the global mixer by its GUID.
+Syntax:
++++fmod_studio_system_get_vca_by_id(guid_str)
| Argument | +Type | +Description | +
|---|---|---|
| guid_str | +String | +VCA GUID. | +
Returns:
++ ++
++FMOD Function: Studio::System::setAdvancedSettings
+
This function sets advanced settings. This must be called prior to Studio initialization.
+Syntax:
++++fmod_studio_system_set_advanced_settings(settings)
| Argument | +Type | +Description | +
|---|---|---|
| settings | +FmodStudioAdvancedSettings | ++ |
Returns:
+++N/A
+
Example:
+var _adv_settings = new FmodStudioAdvancedSettings();
+_adv_settings.studio_update_period = 40;
+_adv_settings.streaming_schedule_delay = -1;
+fmod_studio_system_set_advanced_settings(_adv_settings);
+++FMOD Function: Studio::System::getAdvancedSettings
+
This function retrieves advanced settings.
+Syntax:
++++fmod_studio_system_get_advanced_settings()
Returns:
++ ++
++FMOD Function: Studio::System::startCommandCapture
+
This function starts recording Studio commands to a file.
+The commands generated by the FMOD Studio API can be captured and later replayed for debug and profiling purposes.
+Unless the FMOD_STUDIO_COMMANDCAPTURE.SKIP_INITIAL_STATE flag is specified, the command capture will first record the set of all banks and event instances that currently exist.
Syntax:
++++fmod_studio_system_start_command_capture(filename, flags)
| Argument | +Type | +Description | +
|---|---|---|
| filename | +String | +The name of the file to which the recorded commands are written. (UTF-8 string) | +
| flags | +FMOD_STUDIO_COMMANDCAPTURE | +Flags that control command capturing. | +
Returns:
+++N/A
+
++FMOD Function: Studio::System::stopCommandCapture
+
This function stops recording Studio commands.
+Syntax:
++++fmod_studio_system_stop_command_capture()
Returns:
+++N/A
+
++FMOD Function: Studio::System::loadCommandReplay
+
This function loads a command replay and returns its handle.
+Syntax:
++++fmod_studio_system_load_command_replay(filename, flags)
| Argument | +Type | +Description | +
|---|---|---|
| filename | +String | +The name of the file from which to load the command replay. (UTF-8 string) | +
| flags | +FMOD_STUDIO_COMMANDCAPTURE | +Flags that control command capturing. | +
Returns:
++ ++
++FMOD Function: Studio::System::getBufferUsage
+
This function retrieves buffer usage information in a struct.
+Stall count and time values are cumulative. They can be reset by calling fmod_studio_system_reset_buffer_usage.
+Stalls due to the studio command queue overflowing can be avoided by setting a larger command queue size with fmod_studio_system_set_advanced_settings.
+Syntax:
++++fmod_studio_system_get_buffer_usage()
Returns:
++ ++
++FMOD Function: Studio::System::resetBufferUsage
+
This function resets the memory buffer usage statistics tracked by the FMOD Studio System.
+Syntax:
++++fmod_studio_system_reset_buffer_usage()
Returns:
+++N/A
+
++FMOD Function: Studio::System::getCPUUsage
+
This function retrieves the amount of CPU used for different parts of the Studio engine.
+For readability, the percentage values are smoothed to provide a more stable output.
+Syntax:
++++fmod_studio_system_get_cpu_usage()
Returns:
++ ++
++FMOD Function: Studio::System::getMemoryUsage
+
This function retrieves memory usage statistics.
+The memory usage sample_data value for the system is the total size of non-streaming sample data currently loaded.
Memory usage statistics are only available in logging builds, in release builds the returned struct will contain zero for all values after calling this function.
+Syntax:
++++fmod_studio_system_get_memory_usage()
Returns:
++ ++
++FMOD Function: Studio::System::setCallback
+
This function enables a callback for the FMOD Studio System. The callbacks will be received in the Async Social event.
+This function operates asynchronously, which means that it does not immediately return the requested result. Instead, upon completion of the task, it will trigger the Social Async Event.
+Syntax:
++++fmod_studio_system_set_callback(type)
| Argument | +Type | +Description | +
|---|---|---|
| type | +FMOD_STUDIO_SYSTEM_CALLBACK | ++ |
Returns:
+++N/A
+
Triggers:
++ ++
| Key | +Type | +Description | +
|---|---|---|
| type | +String | +The value "fmod_studio_system_set_callback" |
+
| kind | +FMOD_STUDIO_SYSTEM_CALLBACK | +The callback type | +
| bank_ref | +Real | +Handle of the bank. Only valid when kind=FMOD_STUDIO_SYSTEM_CALLBACK.BANK_UNLOAD |
+
++FMOD Function: Studio::System::setUserData
+
This function allows you to attach a real value to this object.
+Syntax:
++++fmod_studio_system_set_user_data(data)
| Argument | +Type | +Description | +
|---|---|---|
| data | +Real | +The real value to attach. | +
Returns:
++ ++
++FMOD Function: Studio::System::getUserData
+
This function retrieves the real value attached to this object. Returns NaN if no value is attached.
Syntax:
++++fmod_studio_system_get_user_data()
Returns:
++ ++
++FMOD Function: Studio::System::getSoundInfo
+
This function retrieves information for loading a sound from the audio table.
+The returned struct contains information to be passed to fmod_system_create_sound (which will create a parent sound), along with a subsound index to be passed to fmod_sound_get_sub_sound once the parent sound is loaded.
+The user is expected to call fmod_system_create_sound with the given information. It is up to the user to combine in any desired loading flags, such as FMOD_MODE.CREATESTREAM, FMOD_MODE.CREATECOMPRESSEDSAMPLE or FMOD_MODE.NONBLOCKING with the flags in mode (in the returned struct).
When the banks have been loaded via fmod_studio_system_load_bank_memory, the mode will be returned as FMOD_MODE.OPENMEMORY_POINT. This won't work with the default FMOD_MODE.CREATESAMPLE mode. For memory banks, you should add in the FMOD_MODE.CREATECOMPRESSEDSAMPLE or FMOD_CREATESTREAM flag, or remove FMOD_MODE.OPENMEMORY_POINT and add FMOD_MODE.OPENMEMORY to decompress the sample into a new allocation.
Syntax:
++++fmod_studio_system_get_sound_info(key)
| Argument | +Type | +Description | +
|---|---|---|
| key | +String | +The key that identifies the sound. (UTF-8 string) | +
Returns:
++ ++
++FMOD Function: Studio::System::getCoreSystem
+
This function retrieves the Core System.
+The Core System object can be retrieved before initializing the Studio System object to call additional core configuration functions.
+Syntax:
++++fmod_studio_system_get_core_system()
Returns:
++ ++
++FMOD Function: Studio::System::lookupID
+
This function retrieves the GUID for a bank, event, snapshot, bus or VCA.
+The strings bank must be loaded prior to calling this function, otherwise FMOD_RESULT.ERR_EVENT_NOTFOUND is returned in the next fmod_last_result call.
The path can be copied to the system clipboard from FMOD Studio using the "Copy Path" context menu command.
+Syntax:
++++fmod_studio_system_lookup_id(path)
| Argument | +Type | +Description | +
|---|---|---|
| path | +String | +Path. (UTF-8 string) | +
Returns:
++ ++
++FMOD Function: Studio::System::lookupPath
+
This function retrieves the path for a bank, event, snapshot, bus or VCA.
+The strings bank must be loaded prior to calling this function, otherwise FMOD_RESULT.ERR_EVENT_NOTFOUND is returned in the next fmod_last_result call.
Syntax:
++++fmod_studio_system_lookup_path(str_guid)
| Argument | +Type | +Description | +
|---|---|---|
| str_guid | +String | +GUID. | +
Returns:
++ ++
++FMOD Function: Studio::System::isValid
+
This function checks that the System reference is valid and has been initialized.
+Syntax:
++++fmod_studio_system_is_valid()
Returns:
++ ++
++FMOD Object: Studio::VCA
+
This module holds functionality related to global mixer VCAs.
+This module offers a collection of functions designed to address specific tasks and provide utilities for various purposes. Explore the available functions to make the most of the functionalities provided by this module.
+++FMOD Function: Studio::VCA::setVolume
+
This function sets the volume level.
+The VCA volume level is used to linearly modulate the levels of the buses and VCAs which it controls.
+Syntax:
++++fmod_studio_vca_set_volume(vca_ref, volume)
| Argument | +Type | +Description | +
|---|---|---|
| vca_ref | +Real | +A reference to a vca. | +
| volume | +Real | +Volume level. Negative level inverts the signal. Range: [-inf, inf], Default: 1 | +
Returns:
+++N/A
+
++FMOD Function: Studio::VCA::getVolume
+
This function retrieves the volume level set by fmod_studio_vca_set_volume.
+Syntax:
++++fmod_studio_vca_get_volume(vca_ref)
| Argument | +Type | +Description | +
|---|---|---|
| vca_ref | +Real | +A reference to a vca. | +
Returns:
++ ++
++FMOD Function: Studio::VCA::getID
+
This function retrieves the GUID of the given VCA.
+Syntax:
++++fmod_studio_vca_get_id(vca_ref)
| Argument | +Type | +Description | +
|---|---|---|
| vca_ref | +Real | +A reference to a vca. | +
Returns:
++ ++
++FMOD Function: Studio::VCA::getPath
+
This function retrieves the path.
+The strings bank must be loaded prior to calling this function, otherwise FMOD_RESULT.ERR_EVENT_NOTFOUND is returned in the next call to fmod_last_result.
Syntax:
++++fmod_studio_vca_get_path(vca_ref)
| Argument | +Type | +Description | +
|---|---|---|
| vca_ref | +Real | +A reference to a vca. | +
Returns:
++ ++
++FMOD Function: Studio::VCA::isValid
+
This function checks that the VCA reference is valid.
+Syntax:
++++fmod_studio_vca_is_valid(vca_ref)
| Argument | +Type | +Description | +
|---|---|---|
| vca_ref | +Real | +A reference to a vca. | +
Returns:
++ ++
++FMOD Object: System
+
This module holds functionality related to FMOD's System object, which is a management object from which all resources are created and played.
+Create this object with fmod_system_create.
+This module offers a collection of functions designed to address specific tasks and provide utilities for various purposes. Explore the available functions to make the most of the functionalities provided by this module.
+++FMOD Function: System_Create
+
This function creates an instance of the FMOD system.
+It must be called first to create an FMOD System object before any other API calls (except for fmod_debug_initialize). Use this function to create 1 or multiple instances of FMOD System objects.
+If the new FMOD system is created successfully, the function returns a reference to the system and makes it the selected system.
+Note
+All function calls that you make to the fmod_system_* functions work on the selected system. You can call fmod_system_select to change this.
Use fmod_system_release to free the system object.
+Syntax:
++++fmod_system_create()
Returns:
++ ++
This function selects the FMOD system the fmod_system_* functions work on.
Syntax:
++++fmod_system_select(system_ref)
| Argument | +Type | +Description | +
|---|---|---|
| system_ref | +Real | +The reference to the system to be selected. | +
Returns:
+++N/A
+
This function returns the number of FMOD Systems.
+Note
+Every successful call to fmod_system_create creates an instance of an FMOD system object that's included in the count.
+Syntax:
++++fmod_system_count()
Returns:
++ ++
++FMOD Function: System::init
+
This function initializes the system object and prepares FMOD for playback.
+++Important
+A system object must first be created with fmod_system_create.
+
Most API functions require an initialized System object before they will succeed, otherwise they will return FMOD_RESULT.ERR_UNINITIALIZED. Some can only be called before initialization. These are:
Note
+fmod_system_set_output can be called before or after fmod_system_init on Android, GameCore, UWP, Windows and Mac. Other platforms can only call this before fmod_system_init.
+See Getting Started for examples on initialising and updating FMOD systems.
+Syntax:
++++fmod_system_init(max_channels, flags)
| Argument | +Type | +Description | +
|---|---|---|
| max_channels | +Real | +The maximum number of Channels available for playback, also known as virtual voices. A value in the range [0, 4095]. Virtual voices will play with minimal overhead, with a subset of 'real' voices that are mixed, and selected based on priority and audibility. See the Virtual Voices guide for more information. | +
| flags | +FMOD_INIT | +The initialization flags. More than one mode can be set at once by combining them with the OR operator. | +
Returns:
++ ++
++FMOD Function: System::release
+
This function closes and frees the given FMOD System object and its resources.
+Note
+This will internally call fmod_system_close, so calling fmod_system_close before this function is not necessary.
+Syntax:
++++fmod_system_release()
Returns:
+++N/A
+
++FMOD Function: System::close
+
This function close the connections to the output and returns to an uninitialized state without releasing the object.
+Closing renders FMOD objects created with this System invalid. You should make sure any Sound, ChannelGroup, Geometry and DSP objects are released before calling this.
+All pre-initialize configuration settings will remain and the System can be reinitialized as needed.
+Syntax:
++++fmod_system_close(system_ref)
| Argument | +Type | +Description | +
|---|---|---|
| system_ref | +Real | +A reference to a system. | +
Returns:
+++N/A
+
++FMOD Function: System::update
+
This function updates the FMOD system.
+++Important
+This function updates the selected system. To update another FMOD system instance use fmod_system_select to select it and call fmod_system_update again.
+
It should be called once per frame in your application (for example in a Step event) to perform actions such as:
+FMOD_INIT.STREAM_FROM_UPDATE.FMOD_INIT.MIX_FROM_UPDATE.If FMOD_OUTPUTTYPE.NOSOUND_NRT or FMOD_OUTPUTTYPE.WAVWRITER_NRT output modes are used, this function also drives the software / DSP engine, instead of it running asynchronously in a thread as is the default behavior.
+This can be used for faster than realtime updates to the decoding or DSP engine which might be useful if the output is the wav writer for example.
If FMOD_INIT.STREAM_FROM_UPDATE is used, this function will update the stream engine. Combining this with the non realtime output will mean smoother captured output.
See Getting Started for examples on initialising and updating FMOD systems.
+Syntax:
++++fmod_system_update()
Returns:
+++N/A
+
++FMOD Function: System::mixerSuspend
+
This function suspends the mixer thread and relinquishes usage of audio hardware while maintaining internal state.
+It is used on mobile platforms when entering a backgrounded state to reduce CPU to 0%.
+All internal state will be maintained, i.e. created Sounds and Channels will stay available in memory.
+Syntax:
++++fmod_system_mixer_suspend()
Returns:
+++N/A
+
++FMOD Function: System::mixerResume
+
This function resumes the mixer thread and reacquires access to audio hardware.
+It is used on mobile platforms when entering the foreground after being suspended.
+All internal state will resume, i.e. created Sounds and Channels are still valid and playback will continue.
+Note
+On HTML5, this function is used to start audio from a user interaction event, like a mouse click or screen touch event. Without this call audio may not start on some browsers.
+Syntax:
++++fmod_system_mixer_resume()
Returns:
+++N/A
+
++FMOD Function: System::setOutput
+
This function sets the type of output interface used to run the mixer.
+The function is typically used to select between different OS-specific audio APIs which may have different features.
+It is only necessary to call this function if you want to specifically switch away from the default output mode for the operating system. The most optimal mode is selected by default for the operating system.
+Note
+(Windows, UWP, GameCore, Android, MacOS, iOS, Linux Only) This function can be called after fmod_system_init to perform special handling of driver disconnections, see FMOD_SYSTEM_CALLBACK.DEVICELISTCHANGED.
Note
+When using the Studio API, switching to an NRT (non-realtime) output type after FMOD is already initialized will not behave correctly unless the Studio API was initialized with FMOD_STUDIO_INIT.SYNCHRONOUS_UPDATE.
Syntax:
++++fmod_system_set_output(output)
| Argument | +Type | +Description | +
|---|---|---|
| output | +FMOD_OUTPUTTYPE | +The output type. | +
Returns:
+++N/A
+
++FMOD Function: System::getOutput
+
This function retrieves the type of output interface used to run the mixer.
+Syntax:
++++fmod_system_get_output()
Returns:
++ ++
++FMOD Function: System::getNumDrivers
+
This function retrieves the number of output drivers available for the selected output type.
+If fmod_system_set_output has not been called, this function will return the number of drivers available for the default output type. +A possible use for this function is to iterate through available sound devices for the current output type, and use fmod_system_get_driver_info to get the device's name and other attributes.
+Syntax:
++++fmod_system_get_num_drivers()
Returns:
++ ++
++FMOD Function: System::getDriverInfo
+
This function retrieves identification information about a sound device specified by its index, and specific to the selected output mode.
+Syntax:
++++fmod_system_get_driver_info(driver_index)
| Argument | +Type | +Description | +
|---|---|---|
| driver_index | +Real | +The index of the sound driver device. A value in the range [0, fmod_system_get_num_drivers]. | +
Returns:
++ ++
++FMOD Function: System::setDriver
+
This function sets the output driver for the selected output type.
+When an output type has more than one driver available, this function can be used to select between them.
+If this function is called after fmod_system_init, the current driver will be shutdown and the newly selected driver will be initialized / started.
+Syntax:
++++fmod_system_set_driver(driver)
| Argument | +Type | +Description | +
|---|---|---|
| driver | +Real | +The driver index where 0 represents the default for the output type. A value in the range [0, fmod_system_get_num_drivers]. | +
Returns:
+++N/A
+
++FMOD Function: System::getDriver
+
This function retrieves the output driver for the selected output type.
+It returns the driver index where 0 represents the default for the output type.
+Syntax:
++++fmod_system_get_driver()
Returns:
++ ++
++FMOD Function: System::setSoftwareChannels
+
This function sets the maximum number of software mixed Channels possible.
+This function cannot be called after FMOD is already activated, it must be called before fmod_system_init, or after fmod_system_close.
+'Software Channels' refers to real Channels that will play, with software_channels refering to the maximum number of Channels before successive Channels start becoming virtual. For differences between real and virtual Channels see the Virtual Voices guide.
Syntax:
++++fmod_system_set_software_channels(software_channels)
| Argument | +Type | +Description | +
|---|---|---|
| software_channels | +Real | +The maximum number of real Channels to be allocated by FMOD. The default is 64. | +
Returns:
+++N/A
+
++FMOD Function: System::getSoftwareChannels
+
This function retrieves the maximum number of software mixed Channels possible.
+'Software Channels' refers to real Channels that will play, with software_channels refering to the maximum number of Channels before successive Channels start becoming virtual. For differences between real and virtual Channels see the Virtual Voices guide.
Syntax:
++++fmod_system_get_software_channels()
Returns:
++ ++
++FMOD Function: System::setSoftwareFormat
+
This function sets the output format for the software mixer.
+If loading Studio banks, this must be called with speaker_mode corresponding to the project output format if there is a possibility of the output audio device not matching the project format. Any differences between the project format and speaker_mode will cause the mix to sound wrong.
By default, speaker_mode will assume the setup the OS / output prefers.
Altering the sample_rate from the OS / output preferred rate may incur extra latency. Altering the speaker_mode from the OS / output preferred mode may cause an upmix/downmix which can alter the sound.
On lower power platforms such as mobile sample_rate will default to 24kHz to reduce CPU cost.
Note
+This function must be called before fmod_system_init, or after fmod_system_close.
+Syntax:
++++fmod_system_set_software_format(sample_rate, speaker_mode, num_raw_speakers)
| Argument | +Type | +Description | +
|---|---|---|
| sample_rate | +Real | +The sample rate of the mixer, in Hertz. A value in the range [8000, 192000]. Default is 48000. | +
| speaker_mode | +FMOD_SPEAKERMODE | +The speaker setup of the mixer. | +
| num_raw_speakers | +Real | +The number of speakers for FMOD_SPEAKERMODE.RAW mode. |
+
Returns:
+++N/A
+
++FMOD Function: System::getSoftwareFormat
+
This function retrieves the output format for the software mixer.
+Syntax:
++++fmod_system_get_software_format()
Returns:
++ ++
++FMOD Function: System::setDSPBufferSize
+
This function sets the buffer size for the FMOD software mixing engine.
+This function is used if you need to control mixer latency or granularity. Smaller buffer sizes lead to smaller latency, but can lead to stuttering/skipping/unstable sound on slower machines or soundcards with bad drivers.
+To get the buffer size in milliseconds, divide it by the output rate and multiply the result by 1000. For a buff_size of 1024 and an output rate of 48kHz (see fmod_system_set_software_format), milliseconds = 1024 / 48000 * 1000 = 21.33ms. This means the mixer updates every 21.33ms.
To get the total buffer size multiply the buff_size by the num_buffers value. By default this would be 4 * 1024 = 4096 samples, or 4 * 21.33ms = 85.33ms. This would generally be the total latency of the software mixer, but in reality due to one of the buffers being written to constantly, and the cursor position of the buffer that is audible, the latency is typically more like the (number of buffers - 1.5) multiplied by the buffer length.
To convert from milliseconds back to 'samples', simply multiply the value in milliseconds by the sample rate of the output (i.e. 48000 if that is what it is set to), then divide by 1000.
+The FMOD software mixer mixes to a ringbuffer (a buffer_wrap Buffer in GameMaker). The size of this ringbuffer is determined here. It mixes a block of sound data every 'bufferlength' number of samples, and there are num_buffers number of these blocks that make up the entire ringbuffer. Adjusting these values can lead to extremely low latency performance (smaller values), or greater stability in sound output (larger values).
Warning
+The buff_size is generally best left alone. Making the granularity smaller will just increase CPU usage (cache misses and DSP network overhead). Making it larger affects how often you hear commands update such as volume/pitch/pan changes. Anything above 20ms will be noticeable and sound parameter changes will be obvious instead of smooth.
FMOD chooses the most optimal size by default for best stability, depending on the output type. It is not recommended changing this value unless you really need to. You may get worse performance than the default settings chosen by FMOD. If you do set the size manually, the buff_size argument must be a multiple of four, typically 256, 480, 512, 1024 or 2048 depending on your latency requirements.
The values in milliseconds and average latency expected from the settings can be calculated using the following code:
+var _dsp_buffer_info = fmod_system_get_dsp_buffer_size();
+var _sw_format_info = fmod_system_get_software_format();
+// Note that you can check for errors here with two calls to fmod_last_result(), one after each function.
+
+var _buff_size = _dsp_buffer_info.buff_size;
+var _num_buffers = _dsp_buffer_info.num_buffers;
+var _sample_rate = _sw_format_info.sample_rate;
+
+var _ms = dsp_buffer_info.buff_size * 1000 / _sample_rate;
+
+show_debug_message("Mixer buffer size = {0}", _ms);
+show_debug_message("Mixer Total buffer size = {0}", _ms * _num_buffers);
+show_debug_message("Mixer Average Latency = {0}", _ms * (_num_buffers - 1.5));
+Syntax:
++++fmod_system_set_dsp_buffer_size(buff_size, num_buffers)
| Argument | +Type | +Description | +
|---|---|---|
| buff_size | +Real | +The mixer engine block size, in samples. The default is 1024. Use this to adjust mixer update granularity. See the description for more information on buffer length vs latency. | +
| num_buffers | +Real | +The mixer engine number of buffers used. The default is 4. Use this to adjust mixer latency. See the description for more information on number of buffers vs latency. | +
Returns:
+++N/A
+
++FMOD Function: System::getDSPBufferSize
+
This function retrieves the buffer size settings for the FMOD software mixing engine.
+To get the buff_size in milliseconds, divide it by the output rate and multiply the result by 1000. For a buff_size of 1024 and an output rate of 48kHz (see fmod_system_set_software_format), milliseconds = 1024 / 48000 * 1000 = 21.33ms. This means the mixer updates every 21.33ms.
To get the total buffer size multiply the buff_size by the num_buffers value. By default this would be 41024 = 4096 samples, or 421.33ms = 85.33ms. This would generally be the total latency of the software mixer, but in reality due to one of the buffers being written to constantly, and the cursor position of the buffer that is audible, the latency is typically more like the (number of buffers - 1.5) multiplied by the buffer length.
To convert from milliseconds back to 'samples', simply multiply the value in milliseconds by the sample rate of the output (i.e. 48000 if that is what it is set to), then divide by 1000.
+Syntax:
++++fmod_system_get_dsp_buffer_size()
Returns:
++ ++
++FMOD Function: System::setStreamBufferSize
+
This function sets the default file buffer size for newly opened streams.
+Valid units for the FMOD_TIMEUNIT of file_buffer_size_type are:
FMOD_TIMEUNIT.MS
+FMOD_TIMEUNIT.PCM
+FMOD_TIMEUNIT.PCMBYTES
+FMOD_TIMEUNIT.RAWBYTES
Larger values will consume more memory, whereas smaller values may cause buffer under-run / starvation / stuttering caused by large delays in disk access (i.e. netstream), or CPU usage in slow machines, or by trying to play too many streams at once.
+This does not affect streams created with FMOD_MODE.OPENUSER, as the buffer size is specified in fmod_system_create_sound.
This does not affect latency of playback. All streams are pre-buffered (unless opened with FMOD_MODE.OPENONLY), so they will always start immediately.
Seek and Play operations can sometimes cause a reflush of this buffer.
+If FMOD_TIMEUNIT.RAWBYTES is used, the memory allocated is two times the size passed in, because FMOD allocates a double buffer.
If FMOD_TIMEUNIT.MS, FMOD_TIMEUNIT.PCM or FMOD_TIMEUNIT.PCMBYTES is used, and the stream is infinite (such as a shoutcast netstream), or VBR, then FMOD cannot calculate an accurate compression ratio to work with when the file is opened. This means it will then base the buffersize on FMOD_TIMEUNIT.PCMBYTES, or in other words the number of PCM bytes, but this will be incorrect for some compressed formats. Use FMOD_TIMEUNIT.RAWBYTES for these type (infinite / undetermined length) of streams for more accurate read sizes.
To determine the actual memory usage of a stream, including sound buffer and other overhead, use fmod_memory_get_stats before and after creating a sound.
+The stream may still stutter if the codec uses a large amount of cpu time, which impacts the smaller, internal 'decode' buffer. The decode buffer size is changeable via FmodSystemCreateSoundExInfo.
+Syntax:
++++fmod_system_set_stream_buffer_size(file_buffer_size, file_buffer_size_type)
| Argument | +Type | +Description | +
|---|---|---|
| file_buffer_size | +Real | +The file buffer size. The default is 16384. | +
| file_buffer_size_type | +FMOD_TIMEUNIT | +The type of units for file_buffer_size. The default is FMOD_TIMEUNIT.RAWBYTES. |
+
Returns:
+++N/A
+
++FMOD Function: System::getStreamBufferSize
+
This function retrieves the default file buffer size for newly opened streams.
+Valid units for the FMOD_TIMEUNIT of file_buffer_size_type are:
FMOD_TIMEUNIT.MS
+FMOD_TIMEUNIT.PCM
+FMOD_TIMEUNIT.PCMBYTES
+FMOD_TIMEUNIT.RAWBYTES
Syntax:
++++fmod_system_get_stream_buffer_size()
Returns:
++ ++
++FMOD Function: System::setAdvancedSettings
+
This function sets advanced settings for the system object, typically to allow adjusting of settings related to resource usage or audio quality.
+Syntax:
++++fmod_system_set_advanced_settings(settings)
| Argument | +Type | +Description | +
|---|---|---|
| settings | +FmodSystemAdvancedSettings | +The advanced settings to use. | +
Returns:
+++N/A
+
++FMOD Function: System::getAdvancedSettings
+
This function retrieves the advanced settings for the system object.
+Syntax:
++++fmod_system_get_advanced_settings()
Returns:
++ ++
++FMOD Function: System::setSpeakerPosition
+
This function sets the position of the specified speaker for the current speaker mode.
+This function allows the user to specify the position of their speaker to account for non standard setups. +It also allows the user to disable speakers from 3D consideration in a game.
+This allows you to customize the position of the speakers for the current FMOD_SPEAKERMODE by giving X (left to right) and Y (front to back) coordinates. +When disabling a speaker, 3D spatialization will be redistributed around the missing speaker so the signal isn't lost.
+A stereo setup would look like this:
+fmod_system_set_speaker_position(system, FMOD_SPEAKERMODE.FRONT_LEFT, -1, 0, true);
+fmod_system_set_speaker_position(system, FMOD_SPEAKERMODE.FRONT_RIGHT, 1, 0, true);
+A 7.1 setup would look like this:
+fmod_system_set_speaker_position(system, FMOD_SPEAKERMODE.FRONT_LEFT, dsin( -30), dcos( -30), true);
+fmod_system_set_speaker_position(system, FMOD_SPEAKERMODE.FRONT_RIGHT, dsin( 30), dcos( 30), true);
+fmod_system_set_speaker_position(system, FMOD_SPEAKERMODE.FRONT_CENTER, dsin( 0), dcos( 0), true);
+fmod_system_set_speaker_position(system, FMOD_SPEAKERMODE.LOW_FREQUENCY, dsin( 0), dcos( 0), true);
+fmod_system_set_speaker_position(system, FMOD_SPEAKERMODE.SURROUND_LEFT, dsin( -90), dcos( -90), true);
+fmod_system_set_speaker_position(system, FMOD_SPEAKERMODE.SURROUND_RIGHT, dsin( 90), dcos( 90), true);
+fmod_system_set_speaker_position(system, FMOD_SPEAKERMODE.BACK_LEFT, dsin(-150), dcos(-150), true);
+fmod_system_set_speaker_position(system, FMOD_SPEAKERMODE.BACK_RIGHT, dsin( 150), dcos( 150), true);
+Calling fmod_system_set_software_format will override any customization made with this function.
+Users of the Studio API should be aware this function does not affect the speaker positions used by the Spatializer DSPs, it is purely for Core API spatialization via fmod_channel_control_set_3d_attributes.
+Syntax:
++++fmod_system_set_speaker_position(speaker, x, y, active)
| Argument | +Type | +Description | +
|---|---|---|
| speaker | +FMOD_SPEAKER | +The speaker. | +
| x | +Real | +The 2D X position relative to the listener. A value in the range [-1, 1], where: -1 = left, 0 = middle, +1 = right. | +
| y | +Real | +2D Y position relative to the listener. A value in the range [-1, 1], where: -1 = back, 0 = middle, +1 = front. | +
| active | +Boolean | +The active state of a speaker. true = included in 3D calculations, false = ignored. |
+
Returns:
+++N/A
+
++FMOD Function: System::getSpeakerPosition
+
This function retrieves the position of the specified speaker for the current speaker mode.
+Syntax:
++++fmod_system_get_speaker_position(speaker)
| Argument | +Type | +Description | +
|---|---|---|
| speaker | +FMOD_SPEAKER | +The speaker. | +
Returns:
++ ++
++FMOD Function: System::set3DSettings
+
This function sets the global doppler scale, distance factor and log roll-off scale for all 3D sound in FMOD.
+The doppler_scale is a general scaling factor for how much the pitch varies due to doppler shifting in 3D sound. Doppler is the pitch bending effect when a sound comes towards the listener or moves away from it, much like the effect you hear when a train goes past you with its horn sounding. With "dopplerscale" you can exaggerate or diminish the effect. FMOD's effective speed of sound at a doppler factor of 1.0 is 340 m/s.
The distance_factor is the FMOD 3D engine relative distance factor, compared to 1.0 meters. Another way to put it is that it equates to "how many units per meter does your engine have". For example, if you are using feet then "scale" would equal 3.28.
+This only affects doppler. If you keep your min/max distance, custom roll-off curves, and positions in scale relative to each other, the volume roll-off will not change. If you set this, the mindistance of a sound will automatically set itself to this value when it is created in case the user forgets to set the mindistance to match the new distance_factor.
The rolloff_scale is a global factor applied to the roll-off of sounds using roll-off modes other than FMOD_MODE.AS_3D_CUSTOMROLLOFF. When a sound uses a roll-off mode other than FMOD_MODE.AS_3D_CUSTOMROLLOFF and the distance is greater than the sound's minimum distance, the distance for the purposes of distance attenuation is calculated according to the formula distance = (distance - minDistance) * rolloffscale + minDistance.
Syntax:
++++fmod_system_set_3d_settings(doppler_scale, distance_factor, rolloff_scale)
| Argument | +Type | +Description | +
|---|---|---|
| doppler_scale | +Real | +A scaling factor for doppler shift. Default is 1. | +
| distance_factor | +Real | +A factor for converting game distance units to FMOD distance units. Default is 1. | +
| rolloff_scale | +Real | +A scaling factor for distance attenuation. When a sound uses a roll-off mode other than FMOD_MODE.AS_3D_CUSTOMROLLOFF and the distance is greater than the sound's minimum distance, the distance is scaled by the roll-off scale. Default is 1. |
+
Returns:
+++N/A
+
++FMOD Function: System::get3DSettings
+
This function retrieves the global doppler scale, distance factor and roll-off scale for all 3D sounds.
+Syntax:
++++fmod_system_get_3d_settings()
Returns:
++ ++
++FMOD Function: System::set3DNumListeners
+
This function sets the number of 3D 'listeners' in the 3D sound scene.
+This function is useful mainly for split-screen game purposes.
+If the number of listeners is set to more than 1, then panning and doppler are turned off. All sound effects will be mono. FMOD uses a 'closest sound to the listener' method to determine what should be heard in this case.
+Note
+Users of the Studio API should call fmod_studio_system_set_num_listeners instead of this function.
+Syntax:
++++fmod_system_set_3d_num_listeners(num)
| Argument | +Type | +Description | +
|---|---|---|
| num | +Real | +The number of listeners in the scene. A value in the range [1, FMOD_MAX_LISTENERS]. The default is 1. | +
Returns:
+++N/A
+
++FMOD Function: System::get3DNumListeners
+
This function retrieves the number of 3D listeners.
+Note
+Users of the Studio API should call fmod_studio_system_get_num_listeners instead of this function.
+Syntax:
++++fmod_system_get_3d_num_listeners()
Returns:
++ ++
++FMOD Function: System::set3DRolloffCallback
+
This function enables callbacks for custom calculation of distance attenuation.
+This function overrides FMOD_MODE.AS_3D_INVERSEROLLOFF, FMOD_MODE.AS_3D_LINEARROLLOFF, FMOD_MODE.AS_3D_LINEARSQUAREROLLOFF, FMOD_MODE.AS_3D_INVERSETAPEREDROLLOFF and FMOD_MODE.AS_3D_CUSTOMROLLOFF.
See also: Callback behavior
+This function operates asynchronously, which means that it does not immediately return the requested result. Instead, upon completion of the task, it will trigger the Social Async Event.
+Syntax:
++++fmod_system_set_3d_rolloff_callback()
Returns:
+++N/A
+
Triggers:
++ ++
| Key | +Type | +Description | +
|---|---|---|
| type | +String | +The string value "fmod_system_set_3d_rolloff_callback". |
+
| distance | +Real | +The distance. | +
| channel_ref | +Real | +The reference to the channel for which this event is triggered. | +
++FMOD Function: System::setNetworkProxy
+
This function sets a proxy server to use for all subsequent internet connections.
+You should specify the proxy in host:port format e.g. www.fmod.com:8888 (defaults to port 80 if no port is specified).
Basic authentication is supported using user:password@host:port format e.g. bob:sekrit123@www.fmod.com:8888
Syntax:
++++fmod_system_set_network_proxy(proxy)
| Argument | +Type | +Description | +
|---|---|---|
| proxy | +String | +The proxy server URL. (as a UTF-8 string) | +
Returns:
+++N/A
+
++FMOD Function: System::getNetworkProxy
+
This function retrieves the URL of the proxy server used in internet streaming.
+Syntax:
++++fmod_system_get_network_proxy()
Returns:
++ ++
++FMOD Function: System::setNetworkTimeout
+
This function sets the timeout for network streams.
+Syntax:
++++fmod_system_set_network_timeout(timeout)
| Argument | +Type | +Description | +
|---|---|---|
| timeout | +Real | +The timeout value, expressed in milliseconds. Default is 5000. | +
Returns:
+++N/A
+
++FMOD Function: System::getNetworkTimeout
+
This function retrieves the timeout value (in milliseconds) for network streams.
+Syntax:
++++fmod_system_get_network_timeout()
Returns:
++ ++
++FMOD Function: System::getVersion
+
This function retrieves the FMOD version number.
+The FMOD version is a 32 bit hexadecimal value formatted as 16:8:8, with the upper 16 bits being the product version, the middle 8 bits being the major version and the bottom 8 bits being the minor version. For example a value of 0x00010203 is equal to 1.02.03.
+Note
+You should compare this against the FMOD_VERSION macro to make sure header and runtime library versions match.
Syntax:
++++fmod_system_get_version()
Returns:
++ ++
++FMOD Function: System::getChannelsPlaying
+
This function retrieves the number of currently playing Channels.
+For differences between real and virtual voices see the Virtual Voices guide for more information.
+Syntax:
++++fmod_system_get_channels_playing()
Returns:
++ ++
++FMOD Function: System::getCPUUsage
+
This function retrieves the amount of CPU used for different parts of the FMOD Core engine.
+For readability, the percentage values are smoothed to provide a more stable output.
+Syntax:
++++fmod_system_get_cpu_usage()
Returns:
++ ++
++FMOD Function: System::getFileUsage
+
This function retrieves information about file reads.
+Note
+The values returned are running totals that never reset.
+Syntax:
++++fmod_system_get_file_usage()
Returns:
++ ++
++FMOD Function: System::getDefaultMixMatrix
+
This function retrieves the default matrix used to convert from one speaker mode to another.
+The matrix is returned as an Array.
+The gain for source channel 's' to target channel 't' is matrix[t * matrixhop + s].
+If source_speaker_mode or target_speaker_mode is FMOD_SPEAKERMODE.RAW, this function will return FMOD_RESULT.ERR_INVALID_PARAM.
Syntax:
++++fmod_system_get_default_mix_matrix(source_speaker_mode, target_speaker_mode, matrix_hop)
| Argument | +Type | +Description | +
|---|---|---|
| source_speaker_mode | +FMOD_SPEAKERMODE | +The speaker mode being converted from. | +
| target_speaker_mode | +FMOD_SPEAKERMODE | +The speaker mode being converted to. | +
| matrix_hop | +Real | +The number of source channels in the matrix. If this is 0, the number of source channels will be derived from source_speaker_mode. A maximum value of FMOD_MAX_CHANNEL_WIDTH. |
+
Returns:
++ ++
++FMOD Function: System::getSpeakerModeChannels
+
This function retrieves the channel count for a given speaker mode.
+Syntax:
++++fmod_system_get_speaker_mode_channels(mode)
| Argument | +Type | +Description | +
|---|---|---|
| mode | +FMOD_SPEAKERMODE | +The speaker mode to query. | +
Returns:
++ ++
++FMOD Function: System::createSound
+
This function loads a sound into memory, opens it for streaming or sets it up for callback-based sounds.
+It returns a reference to the newly created Sound.
+FMOD_MODE.CREATESAMPLE will try to load and decompress the whole sound into memory, use FMOD_MODE.CREATESTREAM to open it as a stream and have it play back in realtime from disk or another medium. FMOD_MODE.CREATECOMPRESSEDSAMPLE can also be used for certain formats to play the sound directly in its compressed format from the mixer.
FMOD_MODE.CREATESTREAM flag.FMOD_MODE.CREATECOMPRESSEDSAMPLE. This is supported with MPEG (mp2/mp3), ADPCM/FADPCM, XMA, AT9 and FSB Vorbis files only. This is useful for those who want realtime compressed sound effects, but not the overhead of disk access.FMOD_MODE.AS_2D flag. 3D sound commands will be ignored on these types of sounds.FMOD_MODE.AS_3D flag.Note
+FMOD_MODE.OPENRAW, FMOD_MODE.OPENMEMORY, FMOD_MODE.OPENMEMORY_POINT and FMOD_MODE.OPENUSER will not work here without the exinfo structure present, as more information is needed.
Use FMOD_MODE.NONBLOCKING to have the sound open or load in the background. You can use fmod_sound_get_open_state to determine if it has finished loading / opening or not. While it is loading (not ready), sound functions are not accessible for that sound. Do not free memory provided with FMOD_MODE.OPENMEMORY if the sound is not in a ready state, as it will most likely lead to a crash.
To account for slow media that might cause buffer underrun (skipping / stuttering / repeating blocks of audio) with sounds created with FMOD_MODE.CREATESTREAM, use fmod_system_set_stream_buffer_size to increase read ahead.
As using FMOD_MODE.OPENUSER causes FMOD to ignore whatever is passed as the first argument name_or_buffer, recommended practice is to pass 0 or equivalent.
Specifying FMOD_MODE.OPENMEMORY_POINT will POINT to the Buffer that you pass as name_or_buff, rather than allocating its own sound buffers and duplicating it internally, this means you cannot free the memory while FMOD is using it, until after fmod_sound_release is called.
With FMOD_MODE.OPENMEMORY_POINT, only PCM formats and compressed formats using FMOD_MODE.CREATECOMPRESSEDSAMPLE are supported.
Warning
+Use of FMOD_MODE.NONBLOCKING is currently not supported for JavaScript.
+Syntax:
++++fmod_system_create_sound(name_or_buff, mode, extra)
| Argument | +Type | +Description | +
|---|---|---|
| name_or_buff | +String or Buffer | +The name of the file or URL to open or a buffer to a preloaded sound memory block if FMOD_MODE.OPENMEMORY / FMOD_MODE.OPENMEMORY_POINT is used. |
+
| mode | +FMOD_MODE | +The behavior modifier for opening the sound. | +
| extra | +FmodSystemCreateSoundExInfo | +OPTIONAL Extended information for creating the sound. Defaults to an empty struct. | +
Returns:
++ ++
++FMOD Function: System::createStream
+
This function opens a sound for streaming.
+It returns a reference to the newly created Sound.
+This is a convenience function for fmod_system_create_sound with the FMOD_MODE.CREATESTREAM flag added.
A stream only has one decode buffer and file handle, and therefore can only be played once. It cannot play multiple times at once because it cannot share a stream buffer if the stream is playing at different positions. Open multiple streams to have them play concurrently.
+Syntax:
++++fmod_system_create_stream(name_or_buff, mode, extra)
| Argument | +Type | +Description | +
|---|---|---|
| name_or_buff | +String or Buffer | +The name of the file or URL to open or a Buffer storing a preloaded sound memory block if FMOD_MODE.OPENMEMORY / FMOD_MODE.OPENMEMORY_POINT is used. |
+
| mode | +FMOD_MODE | +The behavior modifier for opening the sound. | +
| extra | +FmodSystemCreateSoundExInfo | +OPTIONAL Extended information while playing the sound. | +
Returns:
++ ++
++FMOD Function: System::createDSP
+
This function creates a DSP object.
+It returns a reference to the newly created DSP unit.
+A DSP object is a module that can be inserted into the mixing graph to allow sound filtering or sound generation. See the DSP architecture guide for more information.
+DSPs must be attached to the DSP graph before they become active, either via fmod_channel_control_add_dsp or fmod_dsp_add_input.
+Syntax:
++++fmod_system_create_dsp()
Returns:
++ ++
++FMOD Function: System::createDSPByType
+
This function creates a DSP object given a built-in type index.
+It returns a reference to the newly created DSP unit.
+A DSP object is a module that can be inserted into the mixing graph to allow sound filtering or sound generation. See the FMOD DSP architecture guide for more information.
+DSPs must be attached to the DSP graph before they become active, either via fmod_channel_control_add_dsp or fmod_dsp_add_input.
+Using FMOD_DSP_TYPE.VSTPLUGIN or FMOD_DSP_TYPE.WINAMPPLUGIN will return the first loaded plugin of this type.
Warning
+The extension currently doesn't support plugins.
+Syntax:
++++fmod_system_create_dsp_by_type(type)
| Argument | +Type | +Description | +
|---|---|---|
| type | +FMOD_DSP_TYPE | +The type of built-in DSP unit to create. | +
Returns:
++ ++
++FMOD Function: System::createChannelGroup
+
This function creates a ChannelGroup object.
+The function returns a reference to the newly created ChannelGroup.
+ChannelGroups can be used to assign / group Channels, for things such as volume scaling. ChannelGroups are also used for sub-mixing. Any Channels that are assigned to a ChannelGroup get submixed into that ChannelGroup's 'tail' DSP. See FMOD_CHANNELCONTROL_DSP_INDEX.TAIL.
If a ChannelGroup has an effect added to it, the effect is processed post-mix from the Channels and ChannelGroups below it in the mix hierarchy. See the DSP architecture guide for more information.
+All ChannelGroups will initially output directly to the master ChannelGroup (See fmod_system_get_master_channel_group). ChannelGroups can be re-parented with fmod_channel_group_add_group.
+Syntax:
++++fmod_system_create_channel_group(name)
| Argument | +Type | +Description | +
|---|---|---|
| name | +String | +A label for the ChannelGroup, for identification purposes. | +
Returns:
++ ++
++FMOD Function: System::createSoundGroup
+
This function creates a SoundGroup object.
+It returns a reference to the newly created SoundGroup.
+A SoundGroup is a way to address multiple Sounds at once with group level commands, such as:
+Once a SoundGroup is created, fmod_sound_set_sound_group is used to put a Sound in a SoundGroup.
+Syntax:
++++fmod_system_create_sound_group(name)
| Argument | +Type | +Description | +
|---|---|---|
| name | +String | +The name of the SoundGroup. | +
Returns:
++ ++
++FMOD Function: System::createReverb3D
+
This function creates a 'virtual reverb' object. This object reacts to 3D location and morphs the reverb environment based on how close it is to the reverb object's center.
+The function returns a reference to the newly created virtual reverb object.
+Multiple reverb objects can be created to achieve a multi-reverb environment. 1 reverb object is used for all 3D reverb objects (slot 0 by default).
+The 3D reverb object is a sphere having 3D attributes (position, minimum distance, maximum distance) and reverb properties.
+The properties and 3D attributes of all reverb objects collectively determine, along with the listener's position, the settings of and input gains into a single 3D reverb DSP.
+When the listener is within the sphere of effect of one or more 3D reverbs, the listener's 3D reverb properties are a weighted combination of such 3D reverbs.
+When the listener is outside all of the reverbs, no reverb is applied.
+fmod_system_set_reverb_properties can be used to create an alternative reverb that can be used for 2D and background global reverb.
+To avoid this reverb interfering with the reverb slot used by the 3D reverb, 2D reverb should use a different slot ID with fmod_system_set_reverb_properties, otherwise FmodSystemAdvancedSettings's reverb_3d_instance property can also be used to place 3D reverb on a different reverb slot.
Use fmod_channel_control_set_reverb_properties to turn off reverb for 2D sounds (i.e. set wet = 0).
+Creating multiple reverb objects does not impact performance. These are 'virtual reverbs'. There will still be only one reverb DSP running that just morphs between the different virtual reverbs.
+Note about reverb DSP unit allocation. To remove the DSP unit and the associated CPU cost, first make sure all 3D reverb objects are released. Then call fmod_system_set_reverb_properties with the 3D reverb's slot ID (default is 0) with a property point of 0, to signal that the reverb instance should be deleted.
+If a 3D reverb is still present, and fmod_system_set_reverb_properties function is called to free the reverb, the 3D reverb system will immediately recreate it upon the next fmod_system_update call.
+Note
+the 3D reverb system will not affect Studio events unless it is explicitly enabled by calling fmod_studio_event_instance_set_reverb_level on each event instance.
+Syntax:
++++fmod_system_create_reverb_3d()
Returns:
++ ++
++FMOD Function: System::playSound
+
This function plays a Sound on a Channel.
+It returns the newly playing Channel.
+When a sound is played, it will use the sound's default frequency and priority. See fmod_sound_set_defaults.
+A sound defined as FMOD_MODE.AS_3D will by default play at the 3D position of the listener. To set the 3D position of the Channel before the sound is audible, start the Channel paused by setting the pause parameter to true, and call fmod_channel_control_set_3d_attributes.
Specifying a channel_group_ref as part of fmod_system_play_sound is more efficient than using fmod_channel_set_channel_group after fmod_system_play_sound, and could avoid audible glitches if the sound is not in a paused state.
Channels are reference counted to handle dead or stolen Channel handles. See the white paper on Channel handles for more information.
+Playing more Sounds than physical Channels allow is handled with virtual voices. See the white paper on Virtual Voices for more information.
+Syntax:
++++fmod_system_play_sound(sound_ref, channel_group_ref, pause)
| Argument | +Type | +Description | +
|---|---|---|
| sound_ref | +Real | +A reference to the sound to play. | +
| channel_group_ref | +Real | +A reference to the ChannelGroup to output to instead of the master. | +
| pause | +Boolean | +Whether to start in the paused state. Start a Channel paused to allow altering attributes without it being audible, then follow it up with a call to fmod_channel_control_set_paused with pause = false. |
+
Returns:
++ ++
++FMOD Function: System::playDSP
+
This function plays a DSP along with any of its inputs on a Channel.
+It returns the newly playing Channel.
+Specifying a channelgroup as part of fmod_system_play_dsp is more efficient than using fmod_channel_set_channel_group after fmod_system_play_dsp, and could avoid audible glitches if the fmod_system_play_dsp is not in a paused state.
Channels are reference counted to handle dead or stolen Channel handles. See the white paper on Channel handles for more information.
+Playing more Sounds or DSPs than physical Channels allow is handled with virtual voices. See the white paper on Virtual Voices for more information.
+Syntax:
++++fmod_system_play_dsp(dsp_ref, channel_group_ref, pause)
| Argument | +Type | +Description | +
|---|---|---|
| dsp_ref | +Real | +A reference to the DSP unit to play. | +
| channel_group_ref | +Real | +A reference to the ChannelGroup to output to instead of the master. | +
| pause | +Boolean | +Whether to start in the paused state. Start a Channel paused to allow altering attributes without it being audible, then follow it up with a call to fmod_channel_control_set_paused with pause = false. |
+
Returns:
++ ++
++FMOD Function: System::getChannel
+
This function retrieves a reference to a Channel by ID.
+This function is mainly for getting handles to existing (playing) Channels and setting their attributes. The only way to 'create' an instance of a Channel for playback is to use fmod_system_play_sound or fmod_system_play_dsp.
+Syntax:
++++fmod_system_get_channel(index)
| Argument | +Type | +Description | +
|---|---|---|
| index | +Real | +The channel's index in the FMOD Channel pool. Specify a Channel number from 0 to the max_channels value specified in fmod_system_init minus 1. |
+
Returns:
++ ++
++FMOD Function: System::getMasterChannelGroup
+
This function retrieves the master ChannelGroup that all sounds ultimately route to.
+This is the default ChannelGroup that Channels play on, unless a different ChannelGroup is specified with fmod_system_play_sound, fmod_system_play_dsp or fmod_channel_set_channel_group. +A master ChannelGroup can be used to do things like set the 'master volume' for all playing Channels. See fmod_channel_control_set_volume.
+Syntax:
++++fmod_system_get_master_channel_group()
Returns:
++ ++
++FMOD Function: System::getMasterSoundGroup
+
This function retrieves the default SoundGroup, where all sounds are placed when they are created.
+If a SoundGroup is released, the Sounds in it will be put back into this SoundGroup.
+Syntax:
++++fmod_system_get_master_sound_group()
Returns:
++ ++
++FMOD Function: System::set3DListenerAttributes
+
This function sets the position, velocity and orientation of the specified 3D sound listener.
+The forward and up vectors must be perpendicular and be of unit length (magnitude of each vector should be 1).
Vectors must be provided in the correct handedness.
+For velocity, remember to use units per second, and not units per frame. This is a common mistake and will make the doppler effect sound wrong if velocity is based on movement per frame rather than a fixed time period. +If velocity per frame is calculated, it can be converted to velocity per second by dividing it by the time taken between frames as a fraction of a second. +i.e.
+velocity_units_per_second = (position_currentframe - position_lastframe) / time_taken_since_last_frame_in_seconds;
+At 60 FPS the formula would look like velocity_units_per_second = (position_currentframe - position_lastframe) / 0.0166667.
Note
+Users of the Studio API should call fmod_studio_system_set_listener_attributes instead of this function.
+Syntax:
++++fmod_system_set_3d_listener_attributes(listener_index, position, velocity, forward, up)
| Argument | +Type | +Description | +
|---|---|---|
| listener_index | +Real | +The index of the listener to set 3D attributes on. Listeners are indexed from 0, to FMOD_MAX_LISTENERS - 1, in a multi-listener environment. | +
| position | +FmodVector | +The position in 3D world space used for panning and attenuation, in Distance units. | +
| velocity | +FmodVector | +The velocity in 3D space used for doppler, in Distance units per second. | +
| forward | +FmodVector | +The forwards orientation. | +
| up | +FmodVector | +The upwards orientation. | +
Returns:
+++N/A
+
++FMOD Function: System::get3DListenerAttributes
+
This function retrieves the position, velocity and orientation of the specified 3D sound listener.
+Note
+Users of the Studio API should call fmod_studio_system_get_listener_attributes instead of this function.
+Syntax:
++++fmod_system_get_3d_listener_attributes(listener_index)
| Argument | +Type | +Description | +
|---|---|---|
| listener_index | +Real | +The index of the listener to get 3D attributes for. Listeners are indexed from 0, to FMOD_MAX_LISTENERS - 1, in a multi-listener environment. | +
Returns:
++ ++
++FMOD Function: System::setReverbProperties
+
This function sets parameters for the global reverb environment.
+To assist in defining reverb properties there are several presets available, see FMOD_REVERB_PRESETS.
+When using each instance for the first time, FMOD will create an SFX reverb DSP unit that takes up several hundred kilobytes of memory and some CPU.
+Syntax:
++++fmod_system_set_reverb_properties(reverb_instance_index, properties)
| Argument | +Type | +Description | +
|---|---|---|
| reverb_instance_index | +Real | +The index of the particular reverb instance to target. A value in the range [0, FMOD_REVERB_MAXINSTANCES]. | +
| properties | +FmodReverbProperties | +The reverb environment description. Passing 0 to this function will delete the reverb. | +
Returns:
+++N/A
+
++FMOD Function: System::getReverbProperties
+
This function retrieves the current reverb environment for the specified reverb instance.
+Syntax:
++++fmod_system_get_reverb_properties(reverb_instance_index)
| Argument | +Type | +Description | +
|---|---|---|
| reverb_instance_index | +Real | +The index of the particular reverb instance to target. | +
Returns:
++ ++
++FMOD Function: System::attachChannelGroupToPort
+
This function connects the output of the specified ChannelGroup to an audio port on the output driver.
+Ports are additional outputs supported by some FMOD_OUTPUTTYPE plugins and can include things like controller headsets or dedicated background music streams. See the Port Support section (where applicable) of each platform's getting started guide found in the platform details chapter.
+Syntax:
++++fmod_system_attach_channel_group_to_port(port_type, port_index, channel_group_ref, pass_thru)
| Argument | +Type | +Description | +
|---|---|---|
| port_type | +FMOD_PORT_TYPE | +The port type (output mode specific). | +
| port_index | +FMOD_PORT_INDEX | +The index to specify which instance of the specified port_type to use (output mode specific). |
+
| channel_group_ref | +Real | +The ChannelGroup to attach the port to. | +
| pass_thru | +Boolean | +Whether the signal should additionally route to the existing ChannelGroup output. | +
Returns:
+++N/A
+
++FMOD Function: System::detachChannelGroupFromPort
+
This function disconnects the output of the specified ChannelGroup from an audio port on the output driver.
+Removing a ChannelGroup from a port will reroute the audio back to the main mix.
+Syntax:
++++fmod_system_detach_channel_group_from_port(channel_group_ref)
| Argument | +Type | +Description | +
|---|---|---|
| channel_group_ref | +Real | +The ChannelGroup to detach the port from. | +
Returns:
+++N/A
+
++FMOD Function: System::getRecordNumDrivers
+
This function retrieves the number of recording devices available for this output mode. Use this to enumerate all recording devices possible so that the user can select one.
+Syntax:
++++fmod_system_get_record_num_drivers()
Returns:
++ ++
++FMOD Function: System::getRecordDriverInfo
+
This function retrieves identification information about an audio device specified by its index, and specific to the output mode.
+Syntax:
++++fmod_system_get_record_driver_info(record_driver_index)
| Argument | +Type | +Description | +
|---|---|---|
| record_driver_index | +Real | +The index of the recording device. A value in the range [0, fmod_system_get_record_num_drivers]. | +
Returns:
++ ++
++FMOD Function: System::getRecordPosition
+
This function retrieves the current recording position of the record buffer in PCM samples.
+fmod_last_result will return FMOD_RESULT.ERR_RECORD_DISCONNECTED if the driver is unplugged.
The position will return to 0 when fmod_system_record_stop is called or when a non-looping recording reaches the end.
+Note
+on PS4, record devices are virtual so 'position' will continue to update if the device is unplugged (the OS is generating silence). fmod_last_result will still report FMOD_RESULT.ERR_RECORD_DISCONNECTED for your information though.
Syntax:
++++fmod_system_get_record_position(device_index)
| Argument | +Type | +Description | +
|---|---|---|
| device_index | +Real | +The index of the recording device. A value in the range [0, fmod_system_get_record_num_drivers]. | +
Returns:
++ ++
++FMOD Function: System::recordStart
+
This function starts the recording engine recording to a pre-created Sound object.
+fmod_last_result will return FMOD_RESULT.ERR_RECORD_DISCONNECTED if the driver is unplugged.
The sound must be created as FMOD_MODE.CREATESAMPLE. Raw PCM data can be accessed with fmod_sound_lock, fmod_sound_unlock and fmod_system_get_record_position.
Recording from the same driver a second time will stop the first recording.
+For lowest latency set the Sound sample rate to the rate returned by fmod_system_get_record_driver_info, otherwise a resampler will be allocated to handle the difference in frequencies, which adds latency.
+Syntax:
++++fmod_system_record_start(device_index, sound_ref, loop)
| Argument | +Type | +Description | +
|---|---|---|
| device_index | +Real | +The index of the recording device. A value in the range [0, fmod_system_get_record_num_drivers]. | +
| sound_ref | +Real | +A reference to a user-created sound for the user to record to. | +
| loop | +Boolean | +A flag to tell the recording engine whether to continue recording to the provided sound from the start again, after it has reached the end. If this is set to true the data will be continually be overwritten once every loop. |
+
Returns:
+++N/A
+
++FMOD Function: System::recordStop
+
This function stops the recording engine from recording to a pre-created Sound object.
+fmod_last_result returns no error if unplugged or already stopped.
+Syntax:
++++fmod_system_record_stop(device_index)
| Argument | +Type | +Description | +
|---|---|---|
| device_index | +Real | +The index of the recording device. A value in the range [0, fmod_system_get_record_num_drivers]. | +
Returns:
+++N/A
+
++FMOD Function: System::isRecording
+
This function retrieves the state of the FMOD recording API, i.e. if it is currently recording or not.
+Recording can be started with fmod_system_record_start and stopped with fmod_system_record_stop.
+fmod_last_result will return FMOD_RESULT.ERR_RECORD_DISCONNECTED if the driver is unplugged.
Note
+On PS4, record devices are virtual so 'position' will continue to update if the device is unplugged (the OS is generating silence). fmod_last_result will still report FMOD_RESULT.ERR_RECORD_DISCONNECTED for your information though.
Syntax:
++++fmod_system_is_recording(device_index)
| Argument | +Type | +Description | +
|---|---|---|
| device_index | +Real | +The index of the recording device. A value in the range [0, fmod_system_get_record_num_drivers]. | +
Returns:
++ ++
++FMOD Function: System::createGeometry
+
This is a geometry creation function. This function will create a base geometry object which can then have polygons added to it.
+It returns a reference to the newly created Geometry object.
+Polygons can be added to a geometry object using fmod_geometry_add_polygon. For best efficiency, avoid overlapping of polygons and long thin polygons.
+A geometry object stores its polygons in a group to allow optimization for line testing, insertion and updating of geometry in real-time. +Geometry objects also allow for efficient rotation, scaling and translation of groups of polygons.
+It is important to set the value of max_world_size to an appropriate value using fmod_system_set_geometry_settings.
Syntax:
++++fmod_system_create_geometry(max_polygons, max_vertices)
| Argument | +Type | +Description | +
|---|---|---|
| max_polygons | +Real | +The maximum number of polygons within this object. | +
| max_vertices | +Real | +The maximum number of vertices within this object. | +
Returns:
++ ++
++FMOD Function: System::setGeometrySettings
+
This function sets the maximum world size for the geometry engine for performance / precision reasons.
+FMOD uses an efficient spatial partitioning system to store polygons for ray casting purposes.
+The maximum size of the world (max_world_size) should be set to allow processing within a known range.
+Outside of this range, objects and polygons will not be processed as efficiently.
+Excessive world size settings can also cause loss of precision and efficiency.
Setting max_world_size should be done first before creating any geometry. It can be done any time afterwards but may be slow in this case.
Syntax:
++++fmod_system_set_geometry_settings(max_world_size)
| Argument | +Type | +Description | +
|---|---|---|
| max_world_size | +Real | +The maximum size of the world from the centerpoint to the edge using the same units used in other 3D functions. | +
Returns:
+++N/A
+
++FMOD Function: System::getGeometrySettings
+
This function retrieves the maximum world size for the geometry engine.
+FMOD uses an efficient spatial partitioning system to store polygons for ray casting purposes. +The maximum size of the world should be set to allow processing within a known range. +Outside of this range, objects and polygons will not be processed as efficiently. +Excessive world size settings can also cause loss of precision and efficiency.
+Syntax:
++++fmod_system_get_geometry_settings()
Returns:
++ ++
++FMOD Function: System::loadGeometry
+
This function creates a geometry object from a block of memory which contains pre-saved geometry data.
+It creates a reference to the newly created Geometry object.
+This function avoids the need to manually create and add geometry for faster start time.
+Syntax:
++++fmod_system_load_geometry(buff, length)
| Argument | +Type | +Description | +
|---|---|---|
| buff | +Buffer | +A buffer storing pre-saved geometry data from an earlier call to fmod_geometry_save. | +
| length | +Real | +The size of the data in buff, in bytes. |
+
Returns:
++ ++
++FMOD Function: System::getGeometryOcclusion
+
This function calculates geometry occlusion between a listener and a sound source.
+If single-sided polygons have been created, it is important to get the source and listener positions around the right way, as the occlusion from point A to point B may not be the same as the occlusion from point B to point A.
+Syntax:
++++fmod_system_get_geometry_occlusion()
Returns:
++ ++
++FMOD Function: System::lockDSP
+
This is a mutual exclusion function to lock the FMOD DSP engine (which runs asynchronously in another thread), so that it will not execute.
+If the FMOD DSP engine is already executing, this function will block until it has completed.
+The function may be used to synchronize DSP network operations carried out.
+An example of using this function may be for when you want to construct a DSP sub-network, without the DSP engine executing in the background while the sub-network is still under construction.
+Once the DSP engine no longer needs to be locked, it must be unlocked with fmod_system_unlock_dsp.
+Note
+The DSP engine should not be locked for a significant amount of time, otherwise inconsistency in the audio output may result. (audio skipping / stuttering).
+Syntax:
++++fmod_system_lock_dsp()
Returns:
+++N/A
+
++FMOD Function: System::unlockDSP
+
This is a mutual exclusion function to unlock the FMOD DSP engine (which runs asynchronously in another thread) and let it continue executing.
+The DSP engine must be locked with fmod_system_lock_dsp before this function is called.
+Syntax:
++++fmod_system_unlock_dsp()
Returns:
+++N/A
+
++FMOD Function: System::setCallback
+
This function enables callbacks for System level notifications.
+Note
+FMOD System callbacks will be triggered as a Social Async Event but the async_load DS map won't contain any specific information.
+See also: Callback Behavior
+This function operates asynchronously, which means that it does not immediately return the requested result. Instead, upon completion of the task, it will trigger the Social Async Event.
+Syntax:
++++fmod_system_set_callback(type)
| Argument | +Type | +Description | +
|---|---|---|
| type | +FMOD_SYSTEM_CALLBACK | +A bitfield specifying which callback types are required, to filter out unwanted callbacks. Use FMOD_SYSTEM_CALLBACK.ALL to receive all supported callback kinds. |
+
Returns:
+++N/A
+
Triggers:
++ ++
| Key | +Type | +Description | +
|---|---|---|
| type | +String | +the string "fmod_system_set_callback" |
+
| kind | +FMOD_SYSTEM_CALLBACK | +The kind of callback triggered. | +
++FMOD Function: System::setUserData
+
This function sets a user value associated with the currently selected System object.
+Note
+While FMOD supports arbitrary User Data, this function only allows you to set a real value (a double-precision floating-point value).
+Note
+If you've created multiple systems, use fmod_system_select to select the FMOD system for which you want to set the user data and then call this function. After that, you can switch back using another call to fmod_system_select.
+Syntax:
++++fmod_system_set_user_data(data)
| Argument | +Type | +Description | +
|---|---|---|
| data | +Real | +The user-specified data to be stored within the System object. | +
Returns:
+++N/A
+
++FMOD Function: System::getUserData
+
This function retrieves the user value associated with the currently selected System object.
+Note
+While FMOD allows arbitrary User Data, this function only allows you to get a real value (a double-precision floating-point value).
+Note
+If you've created multiple systems, use fmod_system_select to select the FMOD system of which you want to get the user data and then call this function. After that, you can switch back using another call to fmod_system_select.
+Syntax:
++++fmod_system_get_user_data()
Returns:
++ ++