endpoint AudioServer = 85
{
    // Basic protocol
    Greet() => (i32 client_id)

    // Mixer functions
    SetMuted(bool muted) => ()
    GetMuted() => (bool muted)
    GetMainMixVolume() => (i32 volume)
    SetMainMixVolume(i32 volume) => ()

    // Buffer playback
    EnqueueBuffer(i32 buffer_id, int sample_count) => (bool success)
    SetPaused(bool paused) => ()
    ClearBuffer(bool paused) => ()

    //Buffer information
    GetRemainingSamples() => (int remaining_samples)
    GetPlayedSamples() => (int played_samples)
    GetPlayingBuffer() => (i32 buffer_id)
}
