43 lines
617 B
C
43 lines
617 B
C
#pragma once
|
|
|
|
#include <stdatomic.h>
|
|
|
|
#include "./effect.h"
|
|
#include "./format.h"
|
|
|
|
typedef struct {
|
|
jukebox_effect_t super;
|
|
jukebox_format_t format;
|
|
|
|
atomic_bool playing;
|
|
|
|
float hz;
|
|
float amp;
|
|
float phase;
|
|
} jukebox_beep_t;
|
|
|
|
void
|
|
jukebox_beep_initialize(
|
|
jukebox_beep_t* beep,
|
|
const jukebox_format_t* format
|
|
);
|
|
|
|
void
|
|
jukebox_beep_deinitialize(
|
|
jukebox_beep_t* beep
|
|
);
|
|
|
|
/* not thread-safe function */
|
|
void
|
|
jukebox_beep_play(
|
|
jukebox_beep_t* beep,
|
|
float hz,
|
|
float amp
|
|
);
|
|
|
|
/* not thread-safe function */
|
|
void
|
|
jukebox_beep_stop(
|
|
jukebox_beep_t* beep
|
|
);
|