Commit Graph

8 Commits

Author SHA1 Message Date
Martin Pavelek
da73ddd242 Spectrum analyzer update (#5160)
* advanced config: expose hidden constants to user screen
* advanced config: add support for FFT window overlapping
* waterfall: display at native resolution on high-DPI screens
* waterfall: add cursor and improve label density
* FFT: fix normalization so that 0 dBFS matches full-scale sinewave
* FFT: decouple data acquisition from processing and display
* FFT: separate lock for reallocation (to avoid some needless waiting)
* moved ranges and other constants to a separate file
* debug: better performance measurements
* minor fixes
* build the ringbuffer library as part of LMMS core
2019-11-21 14:44:18 +01:00
Lukas W
966bf1c6de Use CMake GenerateExportHeader 2018-07-07 11:20:54 +02:00
grejppi
9e85d7c66e update all copyright headers to the proper url (#3326) 2017-02-06 02:41:15 +02:00
Vesa
7410174c8b Multitap 2014-11-28 03:19:21 +02:00
Vesa
13393900d2 Multitap initial 2014-11-28 00:35:14 +02:00
Vesa
cc4cf1c233 Pick ringbuffer updates from 2.0 2014-11-27 21:15:26 +02:00
Vesa
75770b4d2e Fix 64 bit, increase mm usage 2014-11-18 13:58:36 +02:00
Vesa
6e2d73721c RingBuffer: initial commit
Implements a ring buffer class for LMMS, which is designed to be flexible, efficient and thread-safe.
Due to flexible design, it supports various methods of operation:
- set delays/sizes in absolute frame values, ignoring samplerate
- set delays/sizes in milliseconds with samplerate-awareness
- multiple inputs -> single output
- single input -> multiple outputs
Efficiency is achieved by working in buffers and using memcpy/memset for audio operations, except when additive mixing is needed: then MixHelpers are used
Thread-safety is guaranteed with QMutex
2014-06-05 20:26:48 +03:00