aboutsummaryrefslogtreecommitdiffhomepage
path: root/examples
AgeCommit message (Collapse)AuthorFilesLines
2024-05-01format tables in LDoc via HTML instead of MarkdownRobin Haberkorn1-1/+1
* this is unreliable but should be tested on the build server as well * drops the lua-discount dependency * updated TODO
2023-12-19added example for pitch tracking via FFTRobin Haberkorn3-2/+77
2023-12-19added a free sample to be used with the FFT examplesRobin Haberkorn3-9/+26
* license of the project is GPLv3 now
2023-12-19added FFT Jupyter notebookRobin Haberkorn2-1/+2155
* This still refers to a wave file that shouldn't be checked in.
2023-12-19fft.lua: added support for Fourier analysis (FFT/IFFT)Robin Haberkorn1-0/+38
* Allows one-time analysis of arrays or short streams. * Transformation on real-time streams * Magnitude and phase extraction * Windowing (only Hamming for the time being).
2023-11-16improved interruption (SIGINT, CTRL+C) supportRobin Haberkorn1-35/+80
* Just like the original LuaJIT interpreter, this will use a hook to automatically raise an error from Lua code. * Unfortunately, as long as Jit compilation is enabled, this cannot reliably work. Therefore we still set an `interrupted` flag that must be polled from tight loops. * Instead of polling via applause_push_sample() which gave interruption-support only to Stream:play(), we now have a separate checkint() function. * checkint() should be manually added to all tight loops. * Stream:foreach() and everthing based on it is now also supporting interruptions (via checkint()). * This internally works via applause_is_interrupted(). A C function was exposed only because LuaJIT does not support volatile-qualifiers and would optimize away reads to the interrupted-flag. As a side effect, we can also reset the hook. * Flags set in signal handlers should be `volatile`. * Added likely() and unlikely() macros to C code. * Updated sample.ipynb Jupyter notebook: Everything important is now supported, albeit requiring custom ILua patches.
2023-11-15Added Jupyter notebook exampleRobin Haberkorn1-0/+421
2023-09-05Added HID support via EvdevRobin Haberkorn1-0/+12
* This works for relative, absolute and keyboard devices * devices can be grabbed, so they do not interfere with the rest of the system