From 8cdcf6f747cd85ebc1425acfd9d8a9ebfa84e752 Mon Sep 17 00:00:00 2001 From: Robin Haberkorn Date: Tue, 5 Sep 2023 03:41:01 +0300 Subject: moved common definitions into applause.h --- applause.c | 8 +------- applause.h | 11 +++++++++++ applause.lua | 25 +++++-------------------- 3 files changed, 17 insertions(+), 27 deletions(-) create mode 100644 applause.h diff --git a/applause.c b/applause.c index f0a901e..e7e69cd 100644 --- a/applause.c +++ b/applause.c @@ -33,6 +33,7 @@ #include #include +#include "applause.h" #include "midi.h" #define LUA_MODULE "applause.lua" @@ -391,13 +392,6 @@ init_audio(int buffer_size) return 0; } -enum applause_audio_state { - APPLAUSE_AUDIO_OK = 0, - APPLAUSE_AUDIO_INTERRUPTED, - APPLAUSE_AUDIO_XRUN, - APPLAUSE_AUDIO_INVALID_PORT -}; - /** * Push one Jack sample into the ring buffer. * diff --git a/applause.h b/applause.h new file mode 100644 index 0000000..c4d9d87 --- /dev/null +++ b/applause.h @@ -0,0 +1,11 @@ +/* This header is included from C and LuaJIT. */ + +enum applause_audio_state { + APPLAUSE_AUDIO_OK = 0, + APPLAUSE_AUDIO_INTERRUPTED, + APPLAUSE_AUDIO_XRUN, + APPLAUSE_AUDIO_INVALID_PORT +}; + +enum applause_audio_state applause_push_sample(int output_port_id, + double sample_double); diff --git a/applause.lua b/applause.lua index 342264c..e80f6c0 100644 --- a/applause.lua +++ b/applause.lua @@ -24,6 +24,8 @@ function cdef_include(file) hnd:close() end +cdef_include "applause.h" + -- -- Define C functions for benchmarking (POSIX libc) -- @@ -47,6 +49,9 @@ typedef enum { } clockid_t; int clock_gettime(clockid_t clk_id, struct timespec *tp); + +// Useful in various situations +void free(void *ptr); ]] -- Measure time required to execute fnc() @@ -73,26 +78,6 @@ function benchmark(fnc) print("Elapsed CPU time: "..tonumber(t2_ms - t1_ms).."ms") end --- --- Define the Lua FFI part of Applause's C core. --- These functions and types are defined in applause.c --- FIXME: Could be read from a common file. --- -cdef_safe[[ -enum applause_audio_state { - APPLAUSE_AUDIO_OK = 0, - APPLAUSE_AUDIO_INTERRUPTED, - APPLAUSE_AUDIO_XRUN, - APPLAUSE_AUDIO_INVALID_PORT -}; - -enum applause_audio_state applause_push_sample(int output_port_id, - double sample_double); - -// Useful in various situations -void free(void *ptr); -]] - -- Sample rate -- This is overwritten by the C core samplerate = 44100 -- cgit v1.2.3