Hmm the Visionaire Studio is built with C++, however it contains a object model which is stored inside of what we call the data structure. Most things can be accessed / manipulated via Lua script.
I believe C is also allowed - well at least it is in regards to creating openGL shader effects.
Now... Visionaire Studio was never intended to be fully scriptable, hence not everything can be scripted, accessed or manipulated via Lua script. There are no classes, like c# / java style code of unity or certain other engines, there are the data structure tables & fields & there are exclusive functions that have been implemented by the VS studio team & then there are scripts & workflow functions that I & other people have written.
Currently the Lua sound functions are separate from the in-editor sounds. It is entirely possible to create, control & manipulate all of your audio via Lua script though, using the Lua functions created for the openAL sound engine that was implemented for cross-platform purposes into Visionaire Studio 4.x.
Please see the scripting section of the wiki
, in particular, these pages:
- scripting: introduction to scripting in Visionaire Studio.
- player functions: exclusive Lua functions for accessing / manipulating certain features of Visionaire Studio.
- data structure: a list of data structure fields & tables, with explanations of what they are for.
- script index: a compiled list of scripts, functions, visionaire functions & workflow functions, etc. written by myself & other members.
P.S: all of the Lua audio functions can be found in the player functions page. I believe nearly all of the function pages contain working examples.
P.P.S: in regards to the script snippets I provided in my last message: you could add them into an execute a script action part, or maybe include them into a function inside of a definition script or maybe into a executed (non-definition) script - non-definition scripts will only be executed when you call them with the call script action part. Definition scripts will be executed on game launch & are useful for defining functions & variables at game launch, which can then be accessed & manipulated from anywhere in the project via execute a script action parts providing the variables, tables & functions are not defined as local