#ifndef SOUND_H
#define SOUND_H

#define SOUND_FLAG_NONE         0x0
#define SOUND_FLAG_STEREO       0x1

struct asset;
struct work_startup_receipt;
struct asset_cache_startup_receipt;
struct resource_startup_receipt;

struct sound {
    u32 flags;
    struct pcm pcm;
};

struct sound_startup_receipt { i32 _; };
struct sound_startup_receipt sound_startup(struct work_startup_receipt *work_sr,
                                           struct asset_cache_startup_receipt *asset_cache_sr,
                                           struct resource_startup_receipt *resource_sr);

struct asset *sound_load_asset(struct string path, u32 flags, b32 wait);
struct sound *sound_load_async(struct string path, u32 flags);
struct sound *sound_load(struct string path, u32 flags);

#endif
