<button bit="0x08" name="PLAY" />
<slider word="2" name="VOLUME" />
Your firmware writes in a small block of memory (usually located in the chipset HID) Corresponding bits and bytes to the state of your device (positions of sliders, state-of-buttons, etc.).When something changes in this memory block, the HID chipset will signal the computer to read it.Then, as soon as the software on the computer is ready, it will read the memory block and react to the changes found within.(It Means That a slider can change Several times while the computer is busy, the computer will read only the current position When It has time to do so).The whole memory block is Transmitted to the computer every times, even if only one bit changed.But the memory blocks are small enough (usually 32 or 16 bytes), That the bandwidth used is not much more than sending MIDI message to 4 bytes.In real-life situations, the extra 12 or 28 bytes per message are ridiculously small Compared to the bandwidth of USB 1.0.