// Autogenerated C header file for Sound player
#ifndef _JACDAC_SPEC_SOUND_PLAYER_H
#define _JACDAC_SPEC_SOUND_PLAYER_H 1

#define JD_SERVICE_CLASS_SOUND_PLAYER  0x1403d338

/**
 * Read-write ratio u0.16 (uint16_t). Global volume of the output. ``0`` means completely off. This volume is mixed with each play volumes.
 */
#define JD_SOUND_PLAYER_REG_VOLUME JD_REG_INTENSITY

/**
 * Argument: name string (bytes). Starts playing a sound.
 */
#define JD_SOUND_PLAYER_CMD_PLAY 0x80

/**
 * No args. Cancel any sound playing.
 */
#define JD_SOUND_PLAYER_CMD_CANCEL 0x81

/**
 * Argument: sounds_port pipe (bytes). Returns the list of sounds available to play.
 */
#define JD_SOUND_PLAYER_CMD_LIST_SOUNDS 0x82

/**
 * Returns the list of sounds available to play.
 */
typedef struct jd_sound_player_list_sounds_pipe {
    uint32_t duration; // ms
    char name[0];  // string
} jd_sound_player_list_sounds_pipe_t;


#endif
