* Renamed lmms_basics.h to LmmsTypes.h and scoped it down for that purpose.
* Shifted the LMMS_STRINGIFY macro to it's own header.
* Removed the debug.h header file and use cmake to handle the macro logic.
* Remove some unused headers and include directives
* Profiler rework
* Workaround for GCC bug
* Rollback QFile removal
* Use enum instead of a plain index to describe detailed stats
* Use the GCC workaround code for all compilers to avoid redundancy
* Update and fix comments
* Implement suggestions from review
* Split AudioEngine::renderNextBuffer() into separate functions, fix old formatting
* Remove QFile include
* Revert formatting changes
* Apply suggestion from review (remove unnecessary template parameter)
* Revert more formatting changes
* Convert DetailType to enum class
* DetailType enum class improvements suggested in review
* Use std::atomic for m_detailLoad
* RAII-style profiler probes
* Apply suggestions from code review
Co-authored-by: Dominic Clark <mrdomclark@gmail.com>
* Fix namespace comment
* Improve CPU load widget precision and use floats for load computations
* Atomic m_cpuLoad
* Add custom step size support for CPULoadWidget
* Apply suggestions from review (convert the profiler probe into a nested class, other small changes)
* Do not limit stored load averages to 100%
---------
Co-authored-by: sakertooth <sakertooth@gmail.com>
Co-authored-by: Dominic Clark <mrdomclark@gmail.com>
This PR places all LMMS symbols into namespaces to eliminate any potential future name collisions between LMMS and third-party modules.
Also, this PR changes back `LmmsCore` to `Engine`, reverting c519921306 .
Co-authored-by: allejok96 <allejok96@gmail.com>