Developer API
I have done my best to document all classes, structs, enums and interfaces. I used the help of an A.I. but manually correctly those there were blatantly incorrect. I am updating ambiguous briefs as I go along.
I have not documented the editor module as it only provides some cool editor tricks that should not affect your project. For example, add a ShaderTech details panel category.
As I continue to work inside of VJ Master, class names and functions may change in the future. This can be due to bug fixes, new features or updating to new engine versions.
Intro To The Audio IO Buffer
The buffer consists of 12 integers for each IO.
Why? I wanted reactive elements to be able to sample multiple IOs. This is done through keeping indexes for the IOs that are registered/deregistered.
Working With The Audio IO Buffer
24 = 2 * 12
Index 0 – 11 represents IO 1.
Index 12 – 23 represents IO 2
Index 3 represents NumFrequencyBands of IO 1
Index 14 represents NumFrequencyBands of IO 2
Audio IO Buffer Formula
Total Buffer Length = Number of IOs * Number of items,
Audio IO Buffer Items
AudioIO_Items_Active 0
AudioIO_Items_Order 1
AudioIO_Items_NumChannels 2
AudioIO_Items_NumFrequencyBands 3
AudioIO_Items_FrequencyBandHistorySize 4
AudioIO_Items_FrequencyBandsStartIndex 5
AudioIO_Items_AmpltitudeHistorySize 6
AudioIO_Items_AmplitudesStartIndex 7
AudioIO_Items_PitchHistorySize 8
AudioIO_Items_PitchesStartIndex 9
AudioIO_Items_BeatHistorySize 10
AudioIO_Items_BeatsStartIndex 11