Commit Graph

22 Commits

Author SHA1 Message Date
Dalton Messmer
121d608c3a Reintroduce fast math functions (#7495)
* Add fast fma functions

* Use fast fma functions

* Add fast pow function

* Use fast pow function

* Fix build

* Remove fastFma

* Avoid UB in fastPow

On GCC with -O1 or -O2 optimizations, this new implementation generates
identical assembly to the old union-based implementation
2024-10-01 14:35:15 -04:00
Rossmaxx
a992019626 Cleanup lmms_math.h (#7382)
* simplified fraction and absfraction functions

* removed unused fastSqrt() and fastPow()  
functions

* unused absMin() and absMax()

* move roundAt to math header

* Code review from saker

Co-authored-by: saker <sakertooth@gmail.com>

* use std::trunc()

* fixup after fixing merge conflicts

* remove unused fastFma and fastFmal functions.

* remove lmms_basics include, not needed

* use signedPowf from lmms_math in NES

* removed fastRand function, unused

* remove unused sinc function

* cleanup signedPowf

* code review

* further simplify random number math

* removed static from lmms_math file

---------

Co-authored-by: saker <sakertooth@gmail.com>
2024-08-28 12:48:56 +05:30
Dalton Messmer
2c6d88f799 Add GUARD_H closing comments 2023-01-05 17:58:49 -05:00
Dalton Messmer
fe6df8dbaf Add namespace prefix to include guards 2023-01-02 19:51:32 -05:00
Levin Oehlmann
7227c89847 Namespace lmms (#6174)
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>
2022-06-19 20:08:46 +02:00
Johannes Lorenz
7db3fa94a1 Improve includes (#6320)
* Update ringbuffer submodule to fix includes

* Remove cyclic includes

* Remove Qt include prefixes

* Include C++ versions of C headers

E.g.: assert.h -> cassert

* Move CLIP_BORDER_WIDTH into ClipView

This allows to remove includes to TrackView.h in ClipView cpp files.

* Elliminate useless includes

This improves the include structure by elliminating includes that are
not used. Most of this was done by using `include-what-you-use` with
`CMAKE_C_INCLUDE_WHAT_YOU_USE` and `CMAKE_CXX_INCLUDE_WHAT_YOU_USE`
set to (broken down here):

```
include-what-you-use;
    -Xiwyu;--mapping_file=/usr/share/include-what-you-use/qt5_11.imp;
    -Xiwyu;--keep=*/xmmintrin.h;
    -Xiwyu;--keep=*/lmmsconfig.h;
    -Xiwyu;--keep=*/weak_libjack.h;
    -Xiwyu;--keep=*/sys/*;
    -Xiwyu;--keep=*/debug.h;
    -Xiwyu;--keep=*/SDL/*;
    -Xiwyu;--keep=*/alsa/*;
    -Xiwyu;--keep=*/FL/x.h;
    -Xiwyu;--keep=*/MidiApple.h;
    -Xiwyu;--keep=*/MidiWinMM.h;
    -Xiwyu;--keep=*/AudioSoundIo.h
```

* Fixup: Remove empty #if-#ifdef pairs

* Remove LMMS_HAVE_STD(LIB|INT)_H
2022-03-02 13:30:43 +01:00
grejppi
9e85d7c66e update all copyright headers to the proper url (#3326) 2017-02-06 02:41:15 +02:00
Vesa
c0415ce3b3 Changes to interpolation (explicitly use fma more), some new DSP building blocks
New file: Delay.h - contains some simple delay effects for use in DSP - perhaps for designing reverbs or similar. All are in double precision because why not.
2014-12-18 22:36:39 +02:00
Tres Finocchiaro
56d0910533 Cleanup fmaf() usage, move to lmms_math.h 2014-12-08 12:20:47 -05:00
Tres Finocchiaro
4e5d4b95a0 Typo, add missing "else" 2014-11-07 12:39:00 -08:00
Tres Finocchiaro
2a6d6c2a7e Fix Apple/Clang compilation for fmaf() 2014-11-07 12:23:39 -08:00
Umcaruje
6fb923cba2 Correct the program name and site in the descriptions. 2014-11-04 22:56:50 +01:00
Vesa
ff3e94bd75 Fix a typo in interpolation.h 2014-04-26 16:16:38 +03:00
Vesa
b150ea2a0d Add some fancy new interpolation algorithms 2014-04-13 10:34:38 +03:00
Vesa
7b0d829cc4 More fixes 2014-04-08 23:07:16 +03:00
Vesa
9bef55c7f5 Add usage of linearInterpolate() to several places (mostly my plugins for now but i'll add more if i find them) 2014-04-05 02:23:17 +03:00
Vesa
5ced0c083f Optimize linear interpolation function 2014-04-05 01:18:15 +03:00
Javier Serrano Polo
474cb5f6cc updated FSF address
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@380 0778d3d1-df1d-0410-868b-ea421aaaa00d
2006-08-27 23:24:31 +00:00
Danny McRae
cd1109be8b Changed the preset location for the audiofileprocessors.
Corrected seg fault in vibed deconstructor.
Add harmonic to vibed save and restore presets.

Corrected load and save seg fault when using gimp like
windows.

Corrected big endian alsa driver.

Changed parameters in single precision trig functions to
use single precision PI.

Modified Files:
  ChangeLog
  Makefile.am
  data/presets/AudioFileProcessor/Bass-Mania.cs.xml
  data/presets/AudioFileProcessor/Fat-Reversed-Kick.cs.xml
  data/presets/AudioFileProcessor/Kick-4-your-Subwoofer.cs.xml
  data/projects/cool_songs/Djeezus-BeatRolls.mmp
  data/projects/cool_songs/Djeezus-Oscilisous.mmp
  data/projects/cool_songs/Marfil-MarfilDrum01.mmp
  data/projects/cool_songs/Mart-Concave_flow.mmp
  data/projects/cool_songs/Mart-Dirt_Track.mmp
  data/projects/cool_songs/MaxFellner-Ease.mmp
  data/projects/cool_songs/SharkyX-DeadManDancing.mmp
  data/projects/cool_songs/SharkyX-Experiments.mmp
  data/projects/cool_songs/Siegel-DreamWave.mmp
  data/projects/cool_songs/TobyDox-Confused.mmp
  data/projects/cool_songs/TobyDox-Psycho.mmp
  data/projects/cool_songs/TobyDox-TheFourthDimension.mmp
  data/projects/covers/J.S.Bach-Preludium_and_Fugue_A-Minor.mmp
  data/projects/demos/basses-demo.mmp
  data/projects/demos/beat_collection.mmp
  data/projects/demos/demo1.mmp data/projects/demos/demo3.mmp
  data/projects/demos/demo5.mmp data/projects/demos/demo6.mmp
  data/projects/demos/loop_collection.mmp
  data/projects/demos/some_basslines.mmp
  data/projects/misc/1st.mmp data/projects/misc/time_machine.mmp
  data/projects/templates/AcousticDrumset.mpt
  data/projects/templates/ClubMix.mpt include/basic_filters.h
  include/interpolation.h include/oscillator.h
  plugins/vibed/nine_button_selector.cpp
  plugins/vibed/nine_button_selector.h plugins/vibed/vibed.cpp
  plugins/vibed/vibed.h src/audio/audio_alsa.cpp
  src/audio/audio_device.cpp src/audio/audio_file_wave.cpp
  src/core/main_window.cpp
  include/lmms_constants.h


git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@126 0778d3d1-df1d-0410-868b-ea421aaaa00d
2006-04-10 18:57:14 +00:00
Tobias Doerffel
ab719618f7 new audio-mixing system and new VST-support-framework
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@25 0778d3d1-df1d-0410-868b-ea421aaaa00d
2005-11-30 10:19:11 +00:00
Tobias Doerffel
22de18909a added ALSA-sequencer support
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@23 0778d3d1-df1d-0410-868b-ea421aaaa00d
2005-11-07 13:44:52 +00:00
Tobias Doerffel
4c7832a975 Initial revision
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@3 0778d3d1-df1d-0410-868b-ea421aaaa00d
2005-09-22 13:49:52 +00:00