[
    uuid(2d4dc2f9-ce90-4080-8a00-1cb819086970),
    version(1.0),
    implicit_handle(handle_t hMidiRPCBinding)
]

interface MidiRPC
{
    void MidiRPC_PrepareNewSong(void);
    void MidiRPC_AddChunk([in] unsigned int count, [in, size_is(count)] byte *pBuf);
    void MidiRPC_PlaySong([in] boolean looping);
    void MidiRPC_StopSong(void);
    void MidiRPC_ChangeVolume([in] int volume);
    void MidiRPC_PauseSong(void);
    void MidiRPC_ResumeSong(void);
    void MidiRPC_StopServer(void);
}
