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
|
||
|
);
|