Limitless Audio Format

All values are little endian.

9 bytes LIMITLESS
Anything Empty space of unknown length reserved for later specification.
4 bytes HEAD
1 byte Quality (all qualities are little-endian):
0: 8-bit integer
1: 16-bit integer
2: 32-bit floating point
3: 24-bit integer
1 byte Mode:
0: Channel mode: individual spatial channels are exported, playback requires the same specific setup, but no processing is needed.
1: Object mode: individual objects are exported to be mixed later to any speaker setup.
4 bytes Channel/object count.
9 bytes for each channel/object 4 bytes - rotation on X axis (32-bit float), 4 bytes - rotation on Y axis (32-bit float), 1 byte - low frequency (8-bit boolean, 0 if false).
4 bytes Sample rate.
8 bytes Total samples.
The rest Blocks for each second. Each block begins with channels/objects / 8 (rounded up) bytes: each bit in this byte array shows if a channel has samples or not in the current block. Bits are high-ordered and right-aligned, while bytes are low-ordered (for 12 channels: 8-7-6-5-4-3-2-1, ----12-11-10-9). After these, the samples follow for each channel which was declared active in the previous byte array, frame by frame, each frame containing a sample for each active channel, in ascending channel order.