System info & network
This commit is contained in:
47
code/audio.h
Normal file
47
code/audio.h
Normal file
@@ -0,0 +1,47 @@
|
||||
#ifndef _PIUMA_AUDIO_H_
|
||||
#define _PIUMA_AUDIO_H_
|
||||
|
||||
#include "lib/types.h"
|
||||
#include "platform.h"
|
||||
|
||||
typedef u64 track_id;
|
||||
|
||||
struct audio_track
|
||||
{
|
||||
track_id id;
|
||||
p_audio_buffer data;
|
||||
u64 progress;
|
||||
bool playing;
|
||||
bool loop;
|
||||
bool free_on_finish;
|
||||
|
||||
f32 volume;
|
||||
};
|
||||
|
||||
struct audio_player
|
||||
{
|
||||
audio_track *tracks;
|
||||
u32 track_count;
|
||||
u32 track_capacity;
|
||||
track_id next_id;
|
||||
|
||||
u32 sample_rate;
|
||||
};
|
||||
|
||||
enum audio_flags
|
||||
{
|
||||
AUDIO_NONE = 0,
|
||||
AUDIO_LOOP = 1,
|
||||
AUDIO_PAUSED = 2,
|
||||
AUDIO_FREE_ON_FINISH = 4
|
||||
};
|
||||
|
||||
void audio_init();
|
||||
track_id audio_add_track(p_audio_buffer *data, u32 flags);
|
||||
void audio_remove_track(track_id id);
|
||||
void audio_pause_track(track_id id);
|
||||
void audio_play_track(track_id id);
|
||||
void audio_change_track_volume(track_id id, f32 volume);
|
||||
audio_track *audio_track_from_id(track_id id);
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user